:root{--accent:#15171c;--accent-ink:#fff;--ink:#15171c;--ink-2:#2a2e37;--card:#fff;--page:#f4f5f7;--line:#dfe2e7;--muted:#5c6270;--dim:#858b98;--ok:#1e7a4b;--warn:#b4531a;--bad:#a32c2c;--display:"Oswald", "Arial Narrow", sans-serif;--body:"Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--tap:44px;--gut:16px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--page);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.45}h1,h2,h3,h4{font-family:var(--display);letter-spacing:.01em;text-transform:uppercase;margin:0;font-weight:600}a{color:var(--accent);text-decoration:none}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:16px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.vh{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{min-height:100vh;padding-bottom:84px}.topbar{background:var(--ink);color:#fff;padding:12px var(--gut);z-index:20;align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar .brand{font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:18px;line-height:1.1;overflow:hidden}.topbar .brand small{font-family:var(--body);text-transform:none;letter-spacing:0;color:#a7adb9;font-size:11px;display:block}.topbar img.logo{width:auto;height:30px}.wrap{padding:var(--gut);max-width:780px;margin:0 auto}.nav{z-index:30;background:var(--ink);border-top:1px solid #000;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.nav a{color:#a7adb9;text-transform:uppercase;min-height:60px;font-size:11px;font-family:var(--display);letter-spacing:.04em;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex}.nav a[aria-current=page]{color:#fff;box-shadow:inset 0 3px 0 var(--accent)}.nav svg{stroke:currentColor;fill:none;stroke-width:2px;width:20px;height:20px}.card{background:var(--card);border:1px solid var(--line);margin-bottom:12px;padding:14px}.card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.card-head h2{font-size:15px}.section-title{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:20px 0 8px;font-size:13px}.stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat{background:var(--card);border:1px solid var(--line);padding:12px}.stat .k{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:11px;font-family:var(--display)}.stat .v{font-family:var(--display);margin-top:4px;font-size:26px;line-height:1.1}.stat .n{color:var(--dim);margin-top:2px;font-size:12px}.stat.is-flag{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.stat.is-flag .v{color:var(--accent)}.pill{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border:1px solid var(--line);background:var(--page);color:var(--ink-2);font-size:11px;font-weight:600;font-family:var(--display);padding:4px 9px;display:inline-block}.pill-new{color:#2f3a4a;background:#eef1f5;border-color:#d3dae4}.pill-quote{color:#8a3d12;background:#fdf0e7;border-color:#f0d2bc}.pill-approved{color:#1e5c38;background:#eaf3ec;border-color:#c9e2d2}.pill-scheduled{color:#22456e;background:#e9f0f8;border-color:#c7d8ec}.pill-done{color:#40316e;background:#f0edf8;border-color:#d7cfec}.pill-paid{color:#145a32;background:#e6f3ea;border-color:#c2e2ce}.pill-lost{color:#7a3b3b;background:#f3eded;border-color:#e2cfcf}button.pill{cursor:pointer;min-height:32px}.btn{min-height:var(--tap);cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:14px;font-weight:500;display:inline-flex}.btn:hover{filter:brightness(.93)}.btn:disabled{opacity:.5;cursor:not-allowed;filter:none}.btn-ghost{background:var(--card);color:var(--ink);border-color:var(--line)}.btn-ghost:hover{background:var(--page);filter:none}.btn-dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn-block{width:100%}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn-row>.btn{flex:1;min-width:120px}.btn-danger{background:var(--card);color:var(--bad);border-color:var(--bad)}.btn-danger:hover{filter:none;background:#fbf3f3}.field{margin-bottom:12px}.field label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:11px;font-family:var(--display);margin-bottom:4px;display:block}input,select,textarea{width:100%;min-height:var(--tap);border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:0;padding:10px 12px}textarea{resize:vertical;min-height:92px;line-height:1.45}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);outline:none}.row-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.check{min-height:var(--tap);cursor:pointer;align-items:center;gap:10px;font-size:15px;display:flex}.check input{width:22px;height:22px;min-height:0;accent-color:var(--accent);flex:none}.job{background:var(--card);border:1px solid var(--line);margin-bottom:10px}.job.is-overdue{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.job-top{color:inherit;padding:12px 14px;display:block}.job-name{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.job-name b{font-size:17px;font-family:var(--display);text-transform:uppercase;letter-spacing:.01em}.job-meta{color:var(--muted);margin-top:2px;font-size:13px}.job-desc{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;font-size:14px;display:-webkit-box;overflow:hidden}.job-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:0 14px 12px;display:flex}.job-money{font-family:var(--display);font-size:17px}.job-date{color:var(--muted);font-size:13px}.job-date.is-overdue{color:var(--accent);font-weight:600}.flag{background:var(--accent);color:var(--accent-ink);font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;padding:3px 7px;font-size:10px;display:inline-block}.contact-row{border-top:1px solid var(--line);gap:8px;display:flex}.contact-row a{min-height:var(--tap);font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;color:var(--ink);border-right:1px solid var(--line);flex:1;justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex}.contact-row a:last-child{border-right:0}.contact-row a:hover{background:var(--page)}.filters{gap:6px;margin-bottom:10px;padding-bottom:6px;display:flex;overflow-x:auto}.chip{white-space:nowrap;cursor:pointer;border:1px solid var(--line);background:var(--card);min-height:38px;color:var(--muted);font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;padding:0 13px;font-size:12px}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.li{border:1px solid var(--line);background:var(--card);margin-bottom:8px;padding:10px}.li-grid{grid-template-columns:1fr 64px 88px;align-items:end;gap:8px;display:grid}.li-total{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.li-total b{font-family:var(--display);font-size:16px}.presets{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.preset{min-height:var(--tap);cursor:pointer;text-align:left;border:1px dashed var(--line);background:var(--card);color:var(--ink);font-size:13px;font-family:var(--body);padding:0 12px}.preset:hover{border-color:var(--accent);color:var(--accent)}.total-bar{background:var(--ink);color:#fff;font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;padding:12px 14px;font-size:20px;display:flex;position:sticky;bottom:84px}.fab{z-index:40;cursor:pointer;background:var(--accent);width:58px;height:58px;color:var(--accent-ink);border:0;justify-content:center;align-items:center;font-size:30px;line-height:1;display:flex;position:fixed;bottom:76px;right:16px}.sheet-back{z-index:50;background:#15171c8c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card);border-top:4px solid var(--accent);width:100%;max-width:780px;max-height:92vh;padding:18px 16px 24px;overflow-y:auto}.sheet h2{margin-bottom:14px;font-size:19px}.empty{text-align:center;color:var(--muted);padding:28px 12px}.empty b{font-family:var(--display);text-transform:uppercase;color:var(--ink);margin-bottom:6px;font-size:15px;display:block}.toast{z-index:60;background:var(--ink);color:#fff;text-align:center;max-width:90vw;padding:12px 18px;font-size:14px;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}.toast.is-bad{background:var(--bad)}.back{min-height:var(--tap);color:var(--muted);align-items:center;font-size:14px;display:inline-flex}.kv{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;display:flex}.kv:first-child{border-top:0}.kv span{color:var(--muted)}.linkrow{flex-wrap:wrap;gap:8px;display:flex}.linkrow a{min-height:var(--tap);border:1px solid var(--line);background:var(--card);color:var(--ink);align-items:center;padding:0 14px;font-size:14px;display:inline-flex}.agenda-day{margin-bottom:18px}.agenda-day h3{color:var(--muted);margin-bottom:8px;font-size:14px}.agenda-day.is-today h3{color:var(--accent)}.agenda-time{font-family:var(--display);min-width:74px;font-size:15px}.chart-card{background:var(--card);border:1px solid var(--line);margin-bottom:12px;padding:14px 6px 6px}.chart-card h3{color:var(--muted);letter-spacing:.06em;margin:0 8px 10px;font-size:13px}@media (width>=560px){.stats{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.printdoc{display:none}@media print{@page{margin:14mm}body{color:#000;background:#fff;font-size:12pt}.app,.nav,.fab,.sheet-back,.toast{display:none!important}.printdoc{display:block!important}.printdoc *{color:#000!important;background:0 0!important}.printdoc .doc-head{border-bottom:2px solid #000;justify-content:space-between;gap:24px;padding-bottom:10px;display:flex}.printdoc .doc-biz b{text-transform:uppercase;font-family:Oswald,sans-serif;font-size:17pt;display:block}.printdoc .doc-biz div{font-size:10pt;line-height:1.4}.printdoc .doc-kind{text-align:right}.printdoc .doc-kind b{text-transform:uppercase;font-family:Oswald,sans-serif;font-size:22pt;display:block}.printdoc .doc-kind div{font-size:10pt}.printdoc .doc-to{margin:16pt 0 10pt;font-size:11pt}.printdoc .doc-to b{text-transform:uppercase;margin-bottom:3pt;font-family:Oswald,sans-serif;font-size:10pt;display:block}.printdoc table{border-collapse:collapse;width:100%;margin-top:8pt}.printdoc th{text-align:left;text-transform:uppercase;border-bottom:1px solid #000;padding:5pt 4pt;font-family:Oswald,sans-serif;font-size:9pt}.printdoc td{vertical-align:top;border-bottom:1px solid #ccc;padding:6pt 4pt;font-size:11pt}.printdoc td.n,.printdoc th.n{text-align:right;white-space:nowrap}.printdoc tfoot td{border-top:2px solid #000;border-bottom:0;padding-top:8pt;font-family:Oswald,sans-serif;font-size:14pt}.printdoc .doc-terms{page-break-inside:avoid;margin-top:16pt;font-size:10pt}.printdoc .doc-terms b{text-transform:uppercase;margin-bottom:3pt;font-family:Oswald,sans-serif;font-size:9pt;display:block}.printdoc .doc-foot{border-top:1px solid #000;margin-top:20pt;padding-top:6pt;font-size:9pt}}
