.sd-draw{--l:#3a3a40;--p:#1b1b1f;--bg:#121214;--t:#f2f2f2;--m:#a7a7b0;--a:#e3a857;color:var(--t);font-family:system-ui,sans-serif}.sd-draw button{font-family:inherit}.sd-draw .btn-secondary{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--l);background:var(--bg);color:var(--t);cursor:pointer;border-radius:4px;padding:10px 12px;font:700 .72rem Space Mono,monospace}.sd-dev{border:1px solid var(--l);border-left:3px solid var(--c,var(--a));background:var(--p);margin:8px 0;padding:8px 10px 10px}.sd-draw{z-index:9999;background:#0b0b0c;flex-direction:column;display:flex;position:fixed;inset:0}.sd-dt{border-bottom:1px solid var(--l);background:var(--p);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:8px;display:flex}.sd-dgrp{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.sd-dgrp button{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--l);background:var(--bg);color:var(--t);cursor:pointer;border-radius:4px;padding:9px;font:700 .64rem Space Mono,monospace}.sd-dgrp button.on{border-color:var(--a);color:var(--a);background:#e3a85726}.sd-dgrp button.sd-sw{border:2px solid #555;border-radius:50%;width:28px;height:28px;padding:0}.sd-dgrp button.sd-sw.on{box-shadow:0 0 0 2px var(--a);border-color:#fff}.sd-draw.sd-narrow{-webkit-overflow-scrolling:touch;overflow-y:auto}.sd-draw.sd-narrow>*{flex-shrink:0}.sd-draw.sd-narrow .sd-dbar{z-index:6;flex-wrap:wrap;position:sticky;top:0}.sd-draw.sd-narrow .sd-dhelp{flex:100%;order:3}.sd-draw.sd-narrow .sd-dbar button{flex:auto}.sd-draw.sd-narrow .sd-dstage{flex:none;padding:4px}.sd-draw.sd-hidetools .sd-dt,.sd-draw.sd-hidetools .sd-dpal,.sd-draw.sd-hidetools .sd-dcap{display:none}.sd-dstage{background:#1a1a1d;flex:1;justify-content:center;align-items:flex-start;min-height:0;padding:8px;display:flex}.sd-dwrap{touch-action:none;background:#fff;position:relative;box-shadow:0 0 0 1px #000}.sd-dwrap canvas{width:100%;height:100%;position:absolute;inset:0}.sd-dink{touch-action:none;cursor:crosshair}.sd-dtext{z-index:2;color:#000;box-sizing:border-box;background:#ffffffe6;border:1px dashed #555;outline:none;min-width:80px;margin:0;padding:0 3px;font-family:Arial,sans-serif;font-weight:700;position:absolute}.sd-dbar{border-bottom:1px solid var(--l);background:var(--p);align-items:center;gap:8px;padding:8px;display:flex}.sd-dhelp{color:var(--m);flex:1;font-size:.74rem}.sd-dsave{letter-spacing:.08em;text-transform:uppercase;background:var(--a);color:#141416;border:1px solid var(--a);cursor:pointer;border-radius:4px;padding:10px 14px;font:700 .72rem Space Mono,monospace}.sd-dpal{background:var(--p);border-bottom:1px solid var(--l);flex-wrap:wrap;align-content:flex-start;gap:6px;max-height:220px;padding:6px 8px;display:none;overflow-y:auto}.sd-dpal.show{display:flex}.sd-dcap{background:var(--bg);border-bottom:1px solid var(--l);color:var(--t);padding:8px 10px;font-size:.8rem;line-height:1.4;display:none}.sd-dcap.show{display:block}.sd-dcap b{color:var(--a);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;font:700 .72rem Space Mono,monospace;display:block}.sd-dcap span{color:var(--m)}.sd-dpal button.sd-dsym{border:1px solid var(--l);background:var(--bg);width:64px;height:auto;min-height:0;color:var(--t);cursor:pointer;text-align:center;border-radius:4px;flex-direction:column;flex:none;align-items:center;gap:2px;padding:4px 2px;font:600 .56rem/1.15 Space Mono,monospace;display:flex;overflow:visible}.sd-dpal button.sd-dsym canvas{border:1px solid #8a8f98;border-radius:3px;width:38px;height:38px}.sd-dpal button.sd-dsym[data-alt="1"]{background:#2b2b30}.sd-dpal button.sd-dsym.on{border-color:var(--a);color:var(--a);background:#e3a85726}:root{--bg:#0b0b0c;--panel:#141416;--panel2:#1b1b1e;--line:#27272b;--ink:#d9d5cd;--white:#fff;--muted:#8c8983;--accent:#e3a857;--accent-ink:#0b0b0c;--bad:#f08a80;--bad-bg:#3a1c19;--ok:#7fcf9c;--ok-bg:#16301f;--warn-bg:#35290f;--head:"Archivo Black",Impact,sans-serif;--body:"Space Grotesk",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--mono:"Space Mono",ui-monospace,Menlo,Consolas,monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{font:16px/1.5 var(--body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2{font-family:var(--head);text-transform:uppercase;color:var(--white);letter-spacing:-.01em;font-weight:400;line-height:1.1}h1{margin:0 0 6px;font-size:28px}h2{margin:0 0 12px;font-size:16px}.muted{color:var(--muted)}.small{font-size:13px}.right{text-align:right}.mono{font-family:var(--mono)}.shell{min-height:100%;display:flex}.side{border-right:1px solid var(--line);background:#050506;flex-direction:column;gap:2px;width:236px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.side .logo{align-items:center;gap:10px;padding:2px 8px 18px;display:flex}.side .logo img{width:auto;height:38px}.side .logo b{font-family:var(--head);color:var(--white);letter-spacing:.02em;font-size:15px;font-weight:400;line-height:1}.side .logo small{font-family:var(--mono);letter-spacing:.18em;color:var(--muted);margin-top:4px;font-size:9px;display:block}.side a{color:var(--ink);border-left:3px solid #0000;padding:10px 12px;font-size:15px;display:block}.side a:hover{background:var(--panel);text-decoration:none}.side a.active{background:var(--panel);color:var(--accent);border-left-color:var(--accent);font-weight:700}.side .spacer{flex:1}.side .who{color:var(--muted);padding:8px 12px;font-size:13px}.side button{border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;background:0 0;padding:9px}.side button:hover{border-color:var(--accent);color:var(--accent)}.main{flex:1;min-width:0;max-width:1240px;padding:28px 32px}.top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.card{background:var(--panel);border:1px solid var(--line);padding:18px}.grid{gap:14px;display:grid}.g4{grid-template-columns:repeat(4,1fr)}.g2{grid-template-columns:2fr 1fr}.g2e{grid-template-columns:1fr 1fr}.stat .n{font-family:var(--head);color:var(--white);font-size:34px;line-height:1}.stat .l{color:var(--muted);margin-top:6px;font-size:13px}table{border-collapse:collapse;width:100%}th{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:8px;font-size:11px;font-weight:400}td{border-bottom:1px solid var(--line);vertical-align:top;padding:11px 8px}tr:last-child td{border-bottom:0}tr.click{cursor:pointer}tr.click:hover{background:var(--panel2)}.badge{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);white-space:nowrap;background:#2a2a2e;padding:2px 9px;font-size:11px;display:inline-block}.b-enquiry{color:#9fb8ff;background:#1c2a4a}.b-quote{color:var(--accent);background:#3a2d0f}.b-work_order{color:#c0b0ff;background:#2b2350}.b-scheduled{background:var(--ok-bg);color:var(--ok)}.b-in_progress{color:#7cc8ec;background:#10334a}.b-completed{color:#bdb9b0;background:#2a2a2e}.b-unsuccessful,.b-cancelled{background:var(--bad-bg);color:var(--bad)}.warn{background:var(--warn-bg);color:var(--accent);border:1px solid #5a4416;padding:9px 12px;font-size:13px}.err{background:var(--bad-bg);color:var(--bad);border:1px solid #6b2f29;margin-bottom:10px;padding:9px 12px;font-size:13px}.ok{background:var(--ok-bg);color:var(--ok);border:1px solid #2b5a3a;margin-bottom:10px;padding:9px 12px;font-size:13px}input,select,textarea{font:inherit;border:1px solid var(--line);color:var(--white);background:#0f0f11;border-radius:0;width:100%;padding:10px 11px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);padding:0}label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:12px 0 5px;font-size:11px;display:block}button.btn,a.btn{font:inherit;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);cursor:pointer;border-radius:0;padding:11px 16px;font-size:13px;font-weight:700;text-decoration:none;display:inline-block}button.btn:hover,a.btn:hover{filter:brightness(1.08);text-decoration:none}button.btn.ghost,a.btn.ghost{color:var(--accent);background:0 0}button.btn.danger{border-color:var(--bad);color:var(--bad);background:0 0}button.btn:disabled{opacity:.45;cursor:default}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row>*{flex:none}.row .grow{flex:200px}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.tabs button{border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;background:0 0;padding:6px 12px;font-size:13px}.tabs button:hover{border-color:var(--accent)}.tabs button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}.login{max-width:400px;margin:10vh auto;padding:0 16px}.login img{height:64px;margin-bottom:18px}.kv{grid-template-columns:120px 1fr;gap:6px 12px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.sched li{border-bottom:1px solid var(--line);padding:10px 0;list-style:none}.sched{margin:0;padding:0}.sched li:last-child{border:0}.time{font-family:var(--mono);color:var(--accent);white-space:nowrap;width:78px;font-weight:700;display:inline-block}.eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:11px}.check{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.check:last-child{border:0}.check.done span.t{color:var(--muted);text-decoration:line-through}.bignav{gap:8px;display:flex;overflow-x:auto}.b-inv-draft{color:#bdb9b0;background:#2a2a2e}.b-inv-issued{color:var(--accent);background:#3a2d0f}.b-inv-paid{background:var(--ok-bg);color:var(--ok)}.b-inv-overdue{background:var(--bad-bg);color:var(--bad)}.b-inv-void{color:var(--muted);background:#2a2a2e;text-decoration:line-through}.b-q-draft{color:#bdb9b0;background:#2a2a2e}.b-q-sent,.b-q-viewed{color:var(--accent);background:#3a2d0f}.b-q-accepted{background:var(--ok-bg);color:var(--ok)}.b-q-declined,.b-q-expired{background:var(--bad-bg);color:var(--bad)}.b-q-superseded{color:var(--muted);background:#2a2a2e}.cal{border:1px solid var(--line);background:var(--panel);display:grid;overflow:auto}.cal .h{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);border-left:1px solid var(--line);z-index:2;background:#101012;padding:8px;font-size:11px;position:sticky;top:0}.cal .hr{font-family:var(--mono);color:var(--muted);border-top:1px solid var(--line);height:48px;padding:2px 6px;font-size:11px}.cal .col{border-left:1px solid var(--line);position:relative}.cal .slot{border-top:1px solid var(--line);cursor:pointer;height:48px}.cal .slot:hover{background:#1c1a14}.cal .ev{border-left:3px solid var(--accent);color:var(--white);cursor:pointer;z-index:1;background:#3a2d0f;padding:3px 6px;font-size:12px;position:absolute;left:3px;right:3px;overflow:hidden}.cal .ev.done{color:var(--muted);background:#222;border-left-color:#666}.cal .ev .s{color:var(--accent);font-family:var(--mono)}.modal{z-index:50;background:#000000b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal .card{background:var(--panel2);width:100%;max-width:480px;max-height:90vh;overflow:auto}.topbar{display:none}@media (width<=820px){.shell{flex-direction:column}.side{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center;width:100%;height:auto;padding:8px;position:static}.side .logo{padding:2px 8px}.side .logo small,.side .spacer,.side .who{display:none}.side a{border-bottom:2px solid #0000;border-left:0;padding:8px 10px}.side a.active{border-bottom-color:var(--accent)}.main{padding:16px}.g4{grid-template-columns:1fr 1fr}.g2,.g2e{grid-template-columns:1fr}h1{font-size:23px}table.stack thead{display:none}table.stack tr{border-bottom:1px solid var(--line);padding:8px 0;display:block}table.stack td{border:0;padding:2px 8px;display:block}}
