:root{--ink:#172033;--muted:#667085;--line:#e5e9f0;--surface:#fff;--bg:#f5f6fa;--purple:#673ab7;--purple-dark:#512da8}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}.topbar{height:72px;padding:0 max(24px,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}
.brand{font-size:23px;font-weight:850;letter-spacing:-1px}.brand span,.hero h1 span{color:var(--purple)}.tagline,.muted{color:var(--muted)}
.container{max-width:1120px;margin:0 auto;padding:56px 24px}.hero{background:#fff;border:1px solid var(--line);border-radius:22px;padding:64px;box-shadow:0 16px 45px #1d2a4408}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.8px;color:var(--purple);margin-bottom:12px}.hero h1{font-size:clamp(38px,6vw,64px);line-height:1.06;letter-spacing:-2.8px;margin:0 0 18px}.hero p{max-width:560px;color:var(--muted);font-size:17px}
.actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--purple);color:#fff;padding:11px 18px;border-radius:9px;font-weight:700;border:1px solid var(--purple)}.button:hover{background:var(--purple-dark)}.button.secondary{background:#fff;color:var(--ink);border-color:var(--line)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.feature-grid article,.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px}.feature-grid p{color:var(--muted);margin-bottom:0}
.narrow{max-width:560px;margin:0 auto}.panel h1{font-size:30px;letter-spacing:-1px;margin:0 0 8px}.footer{text-align:center;color:var(--muted);font-size:12px;padding:24px}
@media(max-width:700px){.topbar{padding:0 18px}.tagline{font-size:12px}.container{padding:28px 16px}.hero{padding:32px 24px}.feature-grid{grid-template-columns:1fr}.hero h1{letter-spacing:-1.5px}}


/* Phase 2 — authentication and workspace UI */
.auth-card{max-width:520px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 16px 45px #1d2a4408}
.auth-card.wide{max-width:680px}.auth-card h1{font-size:30px;line-height:1.15;letter-spacing:-1.1px;margin:0 0 10px}
.form-stack{display:flex;flex-direction:column;gap:15px;margin-top:22px}
.form-stack label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}
input,select,textarea{width:100%;font:inherit;font-size:14px;padding:12px 13px;border:1px solid #d9deea;border-radius:9px;background:#fff;color:var(--ink);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #673ab71a}
.form-stack small,.small{font-size:12px;color:var(--muted);font-weight:400}
.form-stack button{font:inherit;cursor:pointer}
.alert{padding:12px 14px;border-radius:9px;background:#eef2ff;color:#344b85;font-size:13px;margin:14px 0}
.alert.error{background:#fff0ef;color:#a3261d}
.auth-foot{font-size:13px;color:var(--muted);margin-top:20px}.auth-foot a,.auth-links a,.text-link{color:var(--purple);font-weight:700}
.auth-links{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:13px}
.secret-box{background:#f6f3fc;border:1px solid #e3d8f7;border-radius:10px;padding:14px;margin:18px 0;display:flex;flex-direction:column;gap:8px}
.secret-box span{font-size:12px;color:var(--muted);font-weight:700}.secret-box code{font-size:18px;letter-spacing:2px;overflow-wrap:anywhere}
.recovery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:20px 0}
.recovery-grid code{padding:11px;background:#f5f6fa;border:1px solid var(--line);border-radius:8px;font-weight:700;text-align:center}
.workspace-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.workspace-head h1{margin:0;font-size:32px;letter-spacing:-1.2px}.workspace-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.panel h2{margin:0 0 8px;font-size:19px}.panel p{color:var(--muted)}
.panel .form-stack{margin-top:12px}.status-chip{display:inline-flex;padding:6px 10px;background:#f0ebfa;color:#57359a;border-radius:20px;font-size:12px;font-weight:700}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:8px}
.metric span{font-size:13px;color:var(--muted)}.metric strong{font-size:30px;letter-spacing:-1px}
.admin-eyebrow{color:#16804b}.admin-button{background:#16804b;border-color:#16804b}.admin-button:hover{background:#11683d}.admin-status{background:#eaf7ef;color:#176b3b}
@media(max-width:700px){.auth-card{padding:24px 20px}.workspace-head{align-items:flex-start;flex-direction:column}.workspace-grid,.metric-grid{grid-template-columns:1fr}.recovery-grid{grid-template-columns:1fr}.auth-links{flex-direction:column}}

/* Phase 3 management workspace */
.topnav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:13px;font-weight:700;color:#475467}
.topnav a:hover{color:var(--purple)}
.table-wrap{width:100%;overflow-x:auto}
.data-table{width:100%;border-collapse:collapse;font-size:13px;min-width:620px}
.data-table th,.data-table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);background:#fafbfc}
.data-table tr:last-child td{border-bottom:0}
.inline-form{display:flex;align-items:center;gap:7px;min-width:170px}
.inline-form select{padding:7px 8px;min-width:90px}
.small-button{padding:7px 10px;font-size:12px;white-space:nowrap}
.check-label{display:flex!important;flex-direction:row!important;align-items:center;gap:9px!important}
.check-label input{width:auto}
@media(max-width:900px){.topnav{gap:10px;font-size:12px}}
@media(max-width:700px){.topbar{height:auto;min-height:66px;align-items:flex-start;flex-direction:column;padding-top:12px;padding-bottom:12px}.topnav{padding:6px 0;overflow-x:auto;max-width:100%;flex-wrap:nowrap}.data-table{min-width:580px}}

/* Phase 4 invoicing workspace */
.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin:18px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-stack{display:flex;flex-direction:column;gap:13px}.form-stack label,.form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px}.form-stack input,.form-stack select,.form-stack textarea,.form-grid input,.form-grid select,.form-grid textarea,.invoice-editor input,.invoice-editor select{width:100%;min-width:0;border:1px solid #d7deeb;border-radius:7px;padding:10px 11px;font:inherit;background:#fff;color:#14213a}.invoice-editor input{min-width:85px}.invoice-editor select{margin-bottom:7px}.invoice-editor td{vertical-align:top}.invoice-editor th{white-space:nowrap}.button-row{display:flex;gap:9px;flex-wrap:wrap}.detail-list{display:grid;grid-template-columns:120px 1fr;gap:9px;margin:0 0 22px}.detail-list dt{color:#6b7690}.detail-list dd{margin:0;font-weight:600}.totals{max-width:340px;margin:18px 0 0 auto}.totals>div{display:flex;justify-content:space-between;padding:7px 2px;border-bottom:1px solid #edf0f5}.totals .grand-total{font-size:17px;font-weight:800;border-top:2px solid #6840bd}.status-pill{display:inline-block;border-radius:20px;background:#f0ebfc;color:#5732a5;padding:4px 9px;font-size:11px;font-weight:700}.block{display:block}.small-button{padding:7px 9px;font-size:12px}.alert{padding:11px 13px;border-radius:8px;background:#f1edfb;color:#44326e;font-size:13px}.alert.error{background:#fff0f0;color:#9c2525}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
@media(max-width:760px){.two-column,.form-grid{grid-template-columns:1fr}.invoice-editor{min-width:650px}.workspace-head{gap:12px;align-items:flex-start}.button-row{justify-content:flex-start}}

/* Phase 5 sales workspace */
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.stat-card{background:#fff;border:1px solid var(--border,#dfe3ee);border-radius:14px;padding:18px;min-width:0}.stat-card span{display:block;color:var(--muted,#64748b);font-size:13px;margin-bottom:8px}.stat-card strong{display:block;font-size:clamp(19px,2vw,26px);overflow-wrap:anywhere}.form-stack{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label,.form-stack label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px}.form-grid input,.form-grid select,.form-stack input,.form-stack select,.form-stack textarea,.data-table input,.data-table select{width:100%;padding:10px 11px;border:1px solid var(--border,#dfe3ee);border-radius:8px;background:#fff;font:inherit}.form-actions{display:flex;align-items:end}.alert.error{background:#fff1f1;border:1px solid #f3c5c5;color:#8b1d1d;padding:12px 14px;border-radius:10px;margin:12px 0}.button-row{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:800px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.form-grid{grid-template-columns:1fr}.workspace-head{gap:12px;align-items:flex-start;flex-direction:column}}
