@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;700&family=Space+Grotesk:wght@500;700&display=swap";:root{--bg: #d7d7d7;--bg-deep: #c1c1c1;--panel: #efefef;--line: #080808;--ink: #050505;--muted: #4f4f4f;--accent: #111111;--danger: #2a2a2a}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:IBM Plex Mono,monospace;background:repeating-linear-gradient(-45deg,var(--bg),var(--bg) 20px,var(--bg-deep) 20px,var(--bg-deep) 40px)}h1,h2,h3,h4,h5,h6{margin:0;font-family:Space Grotesk,sans-serif;letter-spacing:.03em}.app-shell{max-width:1400px;margin:0 auto;padding:1.2rem}.hero{border:4px solid var(--line);background:linear-gradient(145deg,#f2f2f2,#d8d8d8);padding:1rem 1.2rem;box-shadow:10px 10px #111;display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;flex-wrap:wrap}.hero h1{font-size:clamp(1.4rem,3vw,2.2rem)}.hero p{margin:.35rem 0 0;color:var(--muted);font-size:.92rem}.hero-controls{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.hero-stats{border:2px solid var(--line);background:#e5e5e5;color:var(--muted);padding:.48rem .56rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}.error-banner{margin-top:1rem;border:3px solid var(--line);background:#f2f2f2;padding:.7rem .85rem;font-weight:700}.notice-banner{margin-top:1rem;border:3px solid var(--line);background:#e0e0e0;padding:.7rem .85rem;font-weight:700}.layout-grid{margin-top:1rem;display:grid;grid-template-columns:340px 1fr;gap:1rem}.layout-grid.single-panel{grid-template-columns:1fr}.panel{border:4px solid var(--line);background:var(--panel);box-shadow:10px 10px #111;padding:1rem}.section-title{margin-bottom:.7rem;text-transform:uppercase;font-size:.94rem}.stack{display:grid;gap:.55rem;margin-bottom:.8rem}.inline-grid{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:.55rem;margin-bottom:.7rem}label{display:grid;gap:.28rem;font-size:.74rem;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}label>input,label>select,label>textarea{width:100%;min-width:0}input,select,textarea,button{font:inherit;border:2px solid var(--line);background:#f7f7f7;color:var(--ink);border-radius:0;padding:.52rem .56rem}input:focus,select:focus,textarea:focus,button:focus{outline:3px solid #3a3a3a;outline-offset:1px}button{cursor:pointer;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#e1e1e1;transition:transform .12s ease,box-shadow .12s ease}button:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:3px 3px #111}button:disabled{opacity:.55;cursor:not-allowed}button.danger{background:#dfdfdf}.project-list{display:grid;gap:.55rem;max-height:55vh;overflow:auto;padding-right:.2rem}.bucket-view{padding:.9rem}.bucket-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:.9rem;align-items:start}.bucket-layout>*{min-width:0}.bucket-tiles-section,.bucket-form-section{border:3px solid var(--line);background:#f6f6f6;padding:.8rem}.bucket-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:.7rem;flex-wrap:wrap;margin-bottom:.7rem}.project-list.mosaic-tiles{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-height:none;overflow:visible;padding-right:0}.project-list.mosaic-tiles .project-button{min-height:88px;align-content:space-between}.project-button,.invoice-button{width:100%;text-align:left;display:grid;gap:.18rem;border-width:3px;background:#ececec}.project-button.is-selected{background:#1a1a1a;color:#fff}.small-muted{color:var(--muted);font-size:.75rem}.project-button.is-selected .small-muted{color:#c8c8c8}.project-headline{display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:.75rem}.pill{display:inline-block;margin-right:.35rem;margin-bottom:.25rem;padding:.22rem .45rem;border:2px solid var(--line);font-size:.73rem;text-transform:uppercase;background:#ddd}.subpanel{border:3px solid var(--line);padding:.8rem;margin-bottom:.85rem;background:#f6f6f6}.table-wrap{overflow-x:auto;border:2px solid var(--line)}table{width:100%;border-collapse:collapse;min-width:830px}th,td{border:1px solid var(--line);padding:.42rem;font-size:.82rem;vertical-align:top}th{text-transform:uppercase;background:#1c1c1c;color:#fff;letter-spacing:.04em}td input{width:100%;padding:.35rem .4rem}.table-actions{white-space:nowrap;display:flex;gap:.35rem}.empty-cell{text-align:center;color:var(--muted);font-style:italic;padding:1.1rem 0}.invoice-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.55rem}.final-stage{border-width:4px;background:linear-gradient(130deg,#f2f2f2,#ddd)}.invoice-meta{margin-bottom:.8rem}.approval-note{border:2px solid var(--line);padding:.55rem;margin:0 0 .8rem;font-weight:600;background:#e8e8e8}.totals{margin-top:.8rem;margin-left:auto;width:min(390px,100%);border:3px solid var(--line);background:#eee}.totals div{display:flex;justify-content:space-between;padding:.45rem .55rem;border-top:1px solid var(--line)}.totals div:first-child{border-top:none}.actions-row{margin-top:.8rem;display:flex;gap:.55rem;flex-wrap:wrap}.compact-actions{margin-top:0;margin-bottom:.8rem;align-items:center}.pdf-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.55rem;margin-bottom:.7rem}.pdf-checkbox{display:flex;align-items:center;gap:.45rem;margin-bottom:.7rem;text-transform:none;letter-spacing:normal}.pdf-checkbox input{width:18px;height:18px;margin:0}.logo-preview{border:2px solid var(--line);background:#ececec;padding:.55rem;max-width:360px}.logo-preview img{display:block;max-width:100%;max-height:120px;margin-top:.4rem;border:1px solid var(--line);background:#fff;object-fit:contain}.empty-state{min-height:360px;display:grid;place-content:center;text-align:center;gap:.35rem}.empty-state p{color:var(--muted);margin:0}.mono{font-variant-numeric:tabular-nums}@media (max-width: 980px){.layout-grid,.bucket-layout{grid-template-columns:1fr}.inline-grid{grid-template-columns:repeat(2,minmax(110px,1fr))}.panel,.hero{box-shadow:7px 7px #111}}@media (max-width: 640px){.app-shell{padding:.75rem}.hero-controls{margin-left:0;width:100%;justify-content:flex-start}.inline-grid{grid-template-columns:1fr}table{min-width:720px}}
