:root{color:#18181b;background:#f4f4f5;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.45}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh}h1,h2,p{margin:0 0 .75rem}h1{font-size:1.35rem;font-weight:650}h2{font-size:1.05rem;font-weight:650}.brand{margin:0;font-weight:700;letter-spacing:.02em}.muted{color:#52525b}.error{color:#991b1b}.ok{color:#166534}.auth-page{min-height:100vh;display:grid;place-items:center;padding:1.25rem}.card{width:min(100%,28rem);background:#fff;border:1px solid #d4d4d8;border-radius:12px;padding:1.25rem}.card.inner{width:100%;margin-bottom:1rem}label{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem;font-size:.92rem}input,select,textarea,button{font:inherit}input,select,textarea{padding:.55rem .7rem;border:1px solid #d4d4d8;border-radius:8px;background:#fff}textarea{min-height:4.2rem;resize:vertical}button{padding:.55rem .9rem;border:1px solid #3f3f46;border-radius:8px;background:#18181b;color:#fff;cursor:pointer}button.secondary,button.linkish{background:#fff;color:#18181b;border-color:#d4d4d8}button.linkish{padding:.3rem .55rem;font-size:.9rem}button.active{background:#18181b;color:#fff}button:disabled{opacity:.65;cursor:not-allowed}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar,.nav,.content{padding:.9rem 1rem}.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:#fff;border-bottom:1px solid #e4e4e7}.topbar-user{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.nav{display:flex;gap:.5rem;flex-wrap:wrap;background:#fafafa;border-bottom:1px solid #e4e4e7}.nav button{background:#fff;color:#18181b;border-color:#d4d4d8}.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem}.tabs button{background:#fff;color:#18181b;border-color:#d4d4d8}.content{flex:1}.panel.wide{max-width:1200px}.warn,.warn-box{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:.65rem .8rem;margin:0 0 .85rem}.check{flex-direction:row;align-items:center;gap:.5rem}.pos-grid{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}.pay-list{list-style:none;padding:0;margin:0 0 .85rem}.pay-list li{display:flex;justify-content:space-between;gap:.5rem;align-items:center;padding:.25rem 0}.table-wrap.compact table{min-width:16rem}@media(min-width:900px){.pos-grid{grid-template-columns:minmax(0,1.4fr) minmax(16rem,.8fr)}}.stack{max-width:28rem}.stack.wide{max-width:42rem}.csr-box{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;min-height:12rem;white-space:pre}.grid-form{display:grid;grid-template-columns:1fr;gap:0 1rem}.span-2{grid-column:1 / -1}.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:flex-end;margin:0 0 1rem}.toolbar label{flex:1 1 16rem;margin-bottom:0}.hint{margin:0 0 .75rem;font-size:.88rem;color:#71717a}.table-wrap{overflow-x:auto;background:#fff;border:1px solid #e4e4e7;border-radius:10px;margin:.75rem 0 1rem}table{width:100%;border-collapse:collapse;min-width:36rem}th,td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid #f4f4f5;vertical-align:middle}table.matrix th,table.matrix td{text-align:center}table.matrix th:first-child,table.matrix td:first-child,table.matrix .group th{text-align:left}.group th{background:#f4f4f5;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.row{display:flex;gap:.5rem;flex-wrap:wrap}.modal{position:fixed;inset:0;background:#18181b59;display:grid;place-items:center;padding:1rem}.banner{margin:0;padding:.6rem 1rem;text-align:center}td.num,th.num{text-align:right;white-space:nowrap}.lookup-actions{display:flex;align-items:flex-end;margin-bottom:.85rem}.suggest-wrap{position:relative}.suggest-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% - .6rem);margin:0;padding:.25rem 0;list-style:none;background:#fff;border:1px solid #d4d4d8;border-radius:8px;box-shadow:0 8px 24px #18181b1f;max-height:16rem;overflow:auto}.suggest-list button{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;background:transparent;border:0;border-radius:0;padding:.45rem .7rem;text-align:left;font:inherit;color:inherit}.suggest-list button:hover,.suggest-list button:focus{background:#f4f4f5}.suggest-meta{font-size:.8rem;color:#71717a}@media(min-width:720px){.grid-form{grid-template-columns:1fr 1fr}.topbar,.nav,.content{padding-left:1.5rem;padding-right:1.5rem}}
