:root{--bg:#f4f6f8;--surface:#fff;--subtle:#fafbfc;--border:#e2e6ea;--text:#1c2733;--muted:#6b7885;--primary:#1f6feb;--primary-dark:#1858c4;--success:#1a7f4b;--success-bg:#e6f4ec;--warn:#b26a00;--warn-bg:#fdf1df;--danger:#c0392b;--hover:#f0f2f5;--input-bg:#fff;--active-bg:#e8f0fe;--auth-grad-a:#eef3fb;--auth-grad-b:#f4f6f8;--shadow:0 1px 3px #141e2d14, 0 1px 2px #141e2d0f;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}:root[data-theme=dark]{--bg:#0f141a;--surface:#181f27;--subtle:#1f2831;--border:#2b343e;--text:#e6ebf1;--muted:#93a1b0;--primary:#4d90f2;--primary-dark:#3b7de0;--success:#4ac585;--success-bg:#163826;--warn:#e0a458;--warn-bg:#3a2c14;--danger:#e5705f;--hover:#222c36;--input-bg:#10161c;--active-bg:#17304f;--auth-grad-a:#131a22;--auth-grad-b:#0f141a;--shadow:0 1px 3px #0006, 0 1px 2px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 .25rem;font-size:1.5rem}h2{margin:0 0 .75rem;font-size:1.1rem}h3{margin:0;font-size:.95rem}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:7px;padding:.5rem .85rem;transition:background .12s,border-color .12s}button:hover{background:var(--hover)}button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.primary:hover{background:var(--primary-dark)}button.danger{color:var(--danger);border-color:#eec6c1}button.danger:hover{background:#fbecea}button:disabled{opacity:.55;cursor:not-allowed}button.small{padding:.3rem .55rem;font-size:.82rem}input,textarea,select{font:inherit;border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);border-radius:7px;padding:.5rem .6rem}input:focus,textarea:focus,select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #1f6feb1f}label{color:var(--muted);margin-bottom:.3rem;font-size:.82rem;display:block}.field{margin-bottom:.85rem}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;padding:1rem 1.15rem}.row{gap:.75rem;display:flex}.row>*{flex:1;min-width:0}input[type=datetime-local]{max-width:100%}.spread{justify-content:space-between;align-items:center;gap:1rem;display:flex}.muted{color:var(--muted)}.stack{flex-direction:column;gap:1rem;display:flex}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .5rem;font-size:.9rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:600}tr:last-child td{border-bottom:none}.badge{background:var(--hover);color:var(--muted);border-radius:100px;padding:.18rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.badge.scheduled{background:var(--active-bg);color:var(--primary)}.badge.inprogress{background:var(--warn-bg);color:var(--warn)}.badge.completed{background:var(--success-bg);color:var(--success)}.badge.invoiced{color:#5b3fb0;background:#ede7fb}.badge.draft{background:var(--hover);color:var(--muted)}.badge.sent{background:var(--warn-bg);color:var(--warn)}.badge.paid{background:var(--success-bg);color:var(--success)}:root[data-theme=dark] .badge.invoiced{color:#b6a4ef;background:#2a2340}.error{color:var(--danger);background:#fbecea;border:1px solid #eec6c1;border-radius:7px;margin-bottom:.85rem;padding:.6rem .75rem;font-size:.88rem}:root[data-theme=dark] .error{background:#3a1f1c;border-color:#5c3029}:root[data-theme=dark] button.danger{border-color:#5c3029}:root[data-theme=dark] button.danger:hover{background:#2c1a17}.modal-backdrop{z-index:50;background:#141e2d73;justify-content:center;align-items:flex-start;padding:5vh 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border-radius:12px;width:100%;max-width:520px;padding:1.4rem 1.5rem;box-shadow:0 12px 40px #141e2d40}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;align-items:center;gap:1.5rem;height:58px;padding:0 1.5rem;display:flex;position:sticky;top:0}.brand{color:var(--text);font-size:1.05rem;font-weight:700}.brand span{color:var(--primary)}.nav{gap:.35rem;margin-left:.5rem;display:flex}.nav a{color:var(--muted);border-radius:7px;padding:.45rem .7rem;font-size:.92rem;font-weight:500}.nav a:hover{background:var(--hover);text-decoration:none}.nav a.active{color:var(--primary);background:var(--active-bg)}.topbar-right{align-items:center;gap:.85rem;margin-left:auto;display:flex}.topbar-right .biz{font-size:.9rem;font-weight:600}.topbar-right .who{color:var(--muted);font-size:.78rem}.trial-banner{background:var(--active-bg);color:var(--primary);border-bottom:1px solid var(--border);justify-content:center;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.88rem;display:flex}.trial-banner a{font-weight:600}.verify-banner{background:var(--warn-bg);color:var(--warn);border-bottom:1px solid var(--border);justify-content:center;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.88rem;display:flex}.verify-banner button{border-color:var(--warn);color:var(--warn);background:0 0}.content{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:1.5rem}.page-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.auth-wrap{background:linear-gradient(160deg, var(--auth-grad-a), var(--auth-grad-b));justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{width:100%;max-width:400px}.auth-card .brand{margin-bottom:.25rem;font-size:1.4rem;display:block}.auth-toggle{text-align:center;margin-top:1rem;font-size:.88rem}.demo-hint{color:var(--muted);background:var(--subtle);border:1px dashed var(--border);border-radius:7px;margin-top:1rem;padding:.55rem .7rem;font-size:.8rem}.stat-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.stat .num{font-size:1.9rem;font-weight:700;line-height:1.1}.stat .lbl{color:var(--muted);margin-top:.15rem;font-size:.85rem}.dash-cols{grid-template-columns:1fr 1fr;align-items:start;gap:1rem;display:grid}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem 0;display:flex}.list-row:last-child{border-bottom:none}.list-row .t{font-size:.92rem;font-weight:600}.list-row .s{color:var(--muted);font-size:.8rem}.cal-head{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.week-grid{grid-template-columns:repeat(7,1fr);gap:.6rem;display:grid}.day-col{background:var(--surface);border:1px solid var(--border);border-radius:9px;flex-direction:column;min-height:220px;display:flex}.day-col.today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.day-head{border-bottom:1px solid var(--border);padding:.5rem .55rem}.day-head .dow{text-transform:uppercase;color:var(--muted);letter-spacing:.04em;font-size:.72rem}.day-head .dnum{font-size:1.1rem;font-weight:700}.day-body{flex-direction:column;flex:1;gap:.4rem;padding:.4rem;display:flex}.job-chip{text-align:left;border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--surface);border-radius:6px;width:100%;padding:.35rem .45rem}.job-chip:hover{background:var(--hover)}.job-chip.completed{border-left-color:var(--success)}.job-chip.invoiced{border-left-color:#5b3fb0}.job-chip.inprogress{border-left-color:var(--warn)}.job-chip .jt{font-size:.8rem;font-weight:600;line-height:1.2}.job-chip .jm{color:var(--muted);font-size:.72rem}.li-row{grid-template-columns:1fr 80px 100px 90px 34px;align-items:center;gap:.5rem;margin-bottom:.5rem;display:grid}.li-row .lt{text-align:right;font-variant-numeric:tabular-nums;padding-right:.3rem}.li-head{text-transform:uppercase;color:var(--muted);letter-spacing:.03em;font-size:.74rem}.empty{text-align:center;color:var(--muted);padding:2rem 1rem;font-size:.9rem}@media (width<=800px){.stat-grid,.dash-cols,.week-grid{grid-template-columns:1fr}.nav a{padding:.45rem .5rem}}
