:root{--paper:#f8f7f4;--surface:#fff;--ink:#1c2733;--muted:#5a6673;--line:#e3e1da;--sea:#0e5e6f;--sea-ink:#fff;--sea-soft:#e3edef;--brass:#8a6620;--alert:#b0452c;--alert-soft:#f6e7e1;--ok:#2e6b45;--radius:6px;--font-body:system-ui, "Segoe UI", -apple-system, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", Consolas, monospace}@media (prefers-color-scheme:dark){:root{--paper:#131a21;--surface:#1b242d;--ink:#e8e6e0;--muted:#9aa5af;--line:#2c3742;--sea:#5fb3c4;--sea-ink:#0c1418;--sea-soft:#17313a;--brass:#d3ac55;--alert:#e08a6f;--alert-soft:#3a241c;--ok:#7cbb94}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.55}a{color:var(--sea)}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}.auth-shell{place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.9rem;width:100%;max-width:24rem;padding:1.6rem 1.7rem 1.8rem;display:flex}.brand{align-items:baseline;gap:.5rem;display:flex}.brand strong{letter-spacing:-.01em;font-size:1.15rem}.brand span{color:var(--muted);font-size:.85rem}.field{flex-direction:column;gap:.3rem;display:flex}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:600}input[type=email],input[type=password],input[type=text]{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .7rem}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--sea);outline-offset:2px}.btn{font:inherit;border-radius:var(--radius);background:var(--sea);color:var(--sea-ink);cursor:pointer;border:0;padding:.6rem 1rem;font-weight:600}.btn.secondary{color:var(--sea);border:1px solid var(--line);background:0 0}.error{background:var(--alert-soft);color:var(--alert);border-radius:var(--radius);padding:.55rem .75rem;font-size:.92rem}.hint{color:var(--muted);margin:0;font-size:.88rem}.app-shell{max-width:60rem;margin:0 auto;padding:1.5rem 1.2rem 3rem}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.topbar .who{color:var(--muted);align-items:center;gap:.7rem;font-size:.9rem;display:flex}.role-chip{font-family:var(--font-mono);letter-spacing:.08em;background:var(--sea-soft);color:var(--sea);border-radius:99px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.3rem}.qr{border-radius:var(--radius);border:1px solid var(--line);background:#fff;width:180px;height:180px;margin:.4rem auto;display:block}code{font-family:var(--font-mono);background:var(--sea-soft);border-radius:3px;padding:.1em .35em;font-size:.88em}.mainnav{flex-wrap:wrap;gap:.2rem;display:flex}.mainnav a{color:var(--muted);border-radius:var(--radius);padding:.35rem .7rem;font-size:.92rem;font-weight:600;text-decoration:none}.mainnav a:hover{color:var(--sea);background:var(--sea-soft)}.tiles{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.8rem;margin-bottom:1.4rem;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);padding:.9rem 1rem;text-decoration:none}.tile:hover{border-color:var(--sea)}.tile b{font-variant-numeric:tabular-nums;font-size:1.6rem;display:block}.tile span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;font-weight:600}.pagehead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.1rem;display:flex}.pagehead h1{margin:0;font-size:1.4rem}.tablewrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.94rem}table.data th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:.6rem .85rem;font-size:.72rem}table.data td{border-bottom:1px solid var(--line);vertical-align:top;padding:.55rem .85rem}table.data tr:last-child td{border-bottom:0}table.data td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.data a{font-weight:600;text-decoration:none}table.data a:hover{text-decoration:underline}.empty{text-align:center;color:var(--muted);padding:1.6rem}.badge{font-family:var(--font-mono);letter-spacing:.07em;background:var(--sea-soft);color:var(--sea);white-space:nowrap;border-radius:99px;padding:.14rem .5rem;font-size:.68rem;font-weight:600;display:inline-block}.badge.s-NEW{background:var(--brass);color:var(--paper)}.badge.s-CONTACTED{background:var(--sea-soft);color:var(--sea)}.badge.s-QUOTING{background:var(--sea);color:var(--sea-ink)}.badge.s-WON{background:var(--ok);color:var(--paper)}.badge.s-LOST,.badge.s-ARCHIVED,.badge.muted{background:var(--line);color:var(--muted)}.formgrid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.9rem 1.1rem;display:grid}.formgrid .wide{grid-column:1/-1}select,textarea,input[type=number],input[type=date],input[type=tel]{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);width:100%;padding:.55rem .7rem}input[type=email],input[type=password],input[type=text]{width:100%}textarea{resize:vertical;min-height:5.5rem}.formfoot{align-items:center;gap:.7rem;margin-top:1.1rem;display:flex}.stack-v{flex-direction:column;gap:1.1rem;display:flex}.split{grid-template-columns:1.4fr 1fr;align-items:start;gap:1.1rem;display:grid}@media (max-width:860px){.split{grid-template-columns:1fr}}.kv{grid-template-columns:auto 1fr;gap:.25rem 1rem;font-size:.95rem;display:grid}.kv dt{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding-top:.12rem;font-size:.8rem;font-weight:600}.kv dd{margin:0}.inline-form{display:inline}.btn.small{padding:.3rem .65rem;font-size:.85rem}.btn.danger{color:var(--alert);border:1px solid var(--line);background:0 0}.filterbar{flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;display:flex}.filterbar a{color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:.25rem .65rem;font-size:.85rem;font-weight:600;text-decoration:none}.filterbar a.on{background:var(--sea);color:var(--sea-ink);border-color:var(--sea)}.notice{background:var(--sea-soft);color:var(--sea);border-radius:var(--radius);padding:.55rem .75rem;font-size:.92rem}
