:root{color:#f4efe6;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#f4efe6;--muted:#b9ad9a;--line:#3c342b;--panel:#211c17;--panel-2:#2a241d;--accent:#d9783a;--accent-ink:#1b140e;--danger:#c24b3a;background:#16130f;font-family:IBM Plex Sans,Avenir Next,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 0 0,#d9783a1f,#0000 28%),linear-gradient(#1b1712 0%,#12100d 100%)}h1,h2{letter-spacing:-.03em;margin:0;font-family:Fraunces,Georgia,serif;font-weight:560}h1{font-size:2rem}p{margin:0}.eyebrow{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .25rem;font-size:.72rem;font-weight:700}.lede,.muted{color:var(--muted);line-height:1.5}.auth-shell,.boot{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card,.empty-state,.form-layout,.asset-card{background:var(--panel);border:1px solid var(--line)}.auth-card{gap:16px;width:min(440px,100%);padding:32px;display:grid}.app-shell{width:min(1120px,100% - 40px);margin:0 auto;padding:32px 0 64px}.app-shell.wide{width:min(1280px,100% - 40px)}.app-shell.workspace{flex-direction:column;gap:16px;width:calc(100% - 24px);max-width:none;height:100vh;min-height:100vh;padding:12px 0 16px;display:flex;overflow:hidden}.app-shell.workspace .app-nav{margin-bottom:4px}.app-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.nav-tabs{gap:8px;display:flex}.nav-tab{border:1px solid var(--line);background:var(--panel-2);cursor:pointer;border-radius:999px;align-items:center;min-height:36px;padding:0 14px;font-weight:600;display:inline-flex}.nav-tab.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.topbar{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.topbar-actions,.form-actions,.field-row,.cost-row{flex-wrap:wrap;gap:12px;display:flex}.user-chip{color:var(--muted);align-self:center;font-size:.9rem}label{color:var(--muted);gap:6px;font-size:.82rem;display:grid}input,textarea,select{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#16130f;border-radius:8px;padding:10px 12px}textarea{resize:vertical}.action,.file-label{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-weight:600;display:inline-flex}.action[aria-disabled=true],.file-label[aria-disabled=true]{opacity:.55;cursor:default}.action.primary{background:var(--accent);color:var(--accent-ink)}.action.ghost{border:1px solid var(--line);background:var(--panel-2)}.action.danger{background:var(--danger)}.text-link{color:var(--accent);cursor:pointer;font-size:.92rem}.error{color:#f0a194}.empty-state{justify-items:start;gap:12px;padding:48px;display:grid}.asset-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.asset-card{cursor:pointer;overflow:hidden}.asset-photo,.photo-frame{aspect-ratio:4/3;background:#2f2922;overflow:hidden}.asset-photo img,.photo-frame img{object-fit:cover;width:100%;height:100%}.photo-fallback{width:100%;height:100%;color:var(--muted);place-items:center;font-family:Fraunces,Georgia,serif;font-size:2rem;display:grid}.asset-body{gap:8px;padding:14px 16px 16px;display:grid}.qty,.cost-row span,.rate-list span{color:var(--muted);font-size:.8rem}.rate-list{flex-wrap:wrap;gap:8px 12px;display:flex}.rate-list strong,.cost-row strong{margin-top:2px;display:block}.rate-block{gap:8px;display:grid}.asset-body .rate-block .eyebrow{margin:0}.cost-row{justify-content:space-between}.form-layout{grid-template-columns:280px 1fr;gap:24px;padding:24px;display:grid}.modal-backdrop{z-index:40;background:#0c0a08b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{background:var(--panel);border:1px solid var(--line);gap:16px;width:min(880px,100%);max-height:calc(100vh - 48px);padding:24px;display:grid;overflow:auto}.modal-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.modal-card .form-layout{background:0 0;border:0;padding:0}.rail-action{width:100%}.photo-panel,.form-fields{align-content:start;gap:14px;display:grid}.file-label{border:1px solid var(--line);position:relative;overflow:hidden}.file-label input{clip:rect(0, 0, 0, 0);white-space:nowrap;clip:auto;opacity:0;cursor:pointer;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0;overflow:hidden}.quote-list{gap:12px;display:grid}.quote-row,.summary-card{background:var(--panel);border:1px solid var(--line)}.quote-row{cursor:pointer;justify-content:space-between;gap:16px;padding:18px 20px;display:flex}.quote-row-meta{color:var(--muted);justify-items:end;gap:4px;display:grid}.workspace-head{flex-shrink:0;grid-template-columns:1.4fr 1fr 140px 140px auto;align-items:end;gap:10px;display:grid}.workspace-head-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.quote-workspace{flex:1;grid-template-columns:260px minmax(0,1fr) 300px;gap:12px;min-height:0;margin-top:8px;display:grid}.workspace-rail,.quote-column{background:var(--panel);border:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.workspace-rail{gap:12px;padding:14px}.rail-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.inventory-rail.drop-remove{border-color:var(--danger)}.drop-remove-hint{color:#f0a194;font-size:.88rem}.inventory-list{align-content:start;gap:8px;min-height:0;display:grid;overflow:auto}.inventory-item{border:1px solid var(--line);background:var(--panel-2);cursor:grab;-webkit-user-select:none;user-select:none;grid-template-columns:40px 1fr;gap:8px;padding:8px;display:grid}.inventory-item.no-photo{grid-template-columns:1fr}.inventory-item.dragging,.quote-tile.dragging{opacity:.45}.inventory-item-copy{min-width:0}.inventory-item-head{justify-content:space-between;align-items:start;gap:8px;display:flex}.inventory-item-head .text-link{flex:none;font-size:.78rem}.inventory-item strong,.quote-tile-head strong{display:block}.inventory-item .muted,.quote-tile-meta{margin-top:2px;font-size:.78rem;display:block}.inventory-thumb{background:#2f2922;width:40px;height:40px;overflow:hidden}.inventory-thumb img{object-fit:cover;width:100%;height:100%}.quote-board{align-items:stretch;gap:12px;min-width:0;min-height:0;padding-bottom:4px;display:flex;overflow:auto}.quote-column{flex:0 0 280px;width:280px}.quote-column.active{border-color:#6a5c4d}.quote-column.drop-before{box-shadow:inset 3px 0 0 var(--accent)}.quote-column.drop-target,.quote-tile.selected{border-color:var(--accent)}.quote-column-head,.quote-column-foot{justify-content:space-between;align-items:center;gap:8px;padding:12px 12px 8px;display:flex}.quote-column-foot{color:var(--muted);border-top:1px solid var(--line);padding:8px 12px 12px;font-size:.82rem}.quote-column-foot strong{color:var(--ink)}.column-handle{cursor:grab;background:radial-gradient(circle, var(--muted) 1.2px, transparent 1.4px);background-position:50%;background-size:6px 6px;flex:0 0 14px;width:14px;height:22px}.quote-column-head .group-title,.quote-column-head h2{flex:1;min-width:0}.group-title{letter-spacing:-.03em;border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:4px 0;font-family:Fraunces,Georgia,serif;font-size:1.15rem;font-weight:560}.quote-column-head h2{font-size:1.15rem}.quote-column-body{flex-direction:column;flex:1;gap:8px;min-height:80px;padding:0 12px 8px;display:flex;overflow:auto}.column-empty{color:var(--muted);padding:12px 4px;font-size:.88rem}.column-tail{flex:1;min-height:28px}.drop-line{background:var(--accent);border-radius:99px;height:3px}.quote-tile{border:1px solid var(--line);background:var(--panel-2);cursor:grab;-webkit-user-select:none;user-select:none;gap:6px;padding:10px 12px;display:grid}.quote-tile-head{justify-content:space-between;align-items:start;gap:8px;display:flex}.quote-tile-meta{color:var(--muted);justify-content:space-between;gap:8px;display:flex}.gap-chip{color:#f0a194}.add-column{background:0 0;border-style:dashed}.inspector-rail{overflow:auto}.inspector-line,.inspector-fields,.inspector-totals{gap:12px;display:grid}.inspector-totals{background:var(--panel);margin-top:auto;padding-top:8px;position:sticky;bottom:0}.quote-line-head,.internal-line{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.internal-line,.internal-line.stacked{color:var(--muted);font-size:.88rem}.internal-line.stacked{gap:8px;display:grid}.gap-plan{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.mode-toggle span,.line-stat span{color:var(--muted);margin-bottom:6px;font-size:.82rem;display:block}.summary-card{gap:10px;padding:20px;display:grid}.summary-card.compact{gap:6px;padding:12px}.big-total{font-size:1.8rem}.client-sheet{width:min(800px,100% - 40px);margin:0 auto;padding:32px 0 64px}.client-toolbar{justify-content:flex-end;gap:12px;margin-bottom:24px;display:flex}.client-header{gap:8px;margin-bottom:24px;display:grid}.client-notes{color:var(--muted);margin-bottom:24px;line-height:1.5}.client-table{border:1px solid var(--line);gap:0;display:grid}.client-table-head,.client-table-row,.client-table-total{grid-template-columns:1fr 80px 120px;gap:12px;padding:12px 16px;display:grid}.client-table-head,.client-table-total{background:var(--panel);font-weight:700}.client-table-group,.client-table-subtotal{border-top:1px solid var(--line);background:var(--panel-2);grid-template-columns:1fr 120px;gap:12px;padding:12px 16px;font-weight:700;display:grid}.client-table-group{grid-template-columns:1fr}.client-table-row{border-top:1px solid var(--line)}.client-table-row small{margin-top:4px;font-weight:400;display:block}.client-table-total{border-top:1px solid var(--line);grid-template-columns:1fr 120px}@media (width<=1100px){.quote-workspace{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:220px minmax(0,1fr)}.inspector-rail{grid-column:1/-1;max-height:280px}}@media (width<=800px){.topbar,.form-layout,.field-row,.workspace-head,.quote-row,.client-table-head,.client-table-row{grid-template-columns:1fr;display:grid}.form-layout{grid-template-columns:1fr}.app-shell.workspace{height:auto;min-height:100vh;overflow:visible}.quote-workspace{grid-template-rows:none;grid-template-columns:1fr}.inventory-rail,.inspector-rail{max-height:240px}.quote-board{min-height:420px}}@media print{body{color:#111;background:#fff}.no-print,.app-nav{display:none!important}.client-sheet{width:100%;padding:0}.client-table,.client-table-head,.client-table-total,.client-table-group,.client-table-subtotal{background:#fff;border-color:#ccc}}
