:root{--background:#f7f8fb;--surface:#fff;--surface-muted:#eef2f6;--text:#111827;--muted:#5d6676;--border:#dbe1ea;--primary:#111827;--accent:#b88a2a;--success:#216e4e;--danger:#b42318;--radius:8px}*{box-sizing:border-box}body{background:var(--background);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.page{min-height:100vh}.auth-page{place-items:center;min-height:100vh;padding:24px;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(100%,440px);padding:28px;box-shadow:0 18px 45px #11182714}.brand{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:13px;font-weight:700}h1{letter-spacing:0;margin:12px 0;font-size:clamp(28px,4vw,44px);line-height:1.05}h2{margin:0 0 8px;font-size:20px;line-height:1.2}p{color:var(--muted);line-height:1.6}.field{gap:7px;margin-top:16px;display:grid}.field label{font-size:13px;font-weight:650}.field input,.tenant-select{border:1px solid var(--border);width:100%;height:42px;color:var(--text);background:#fff;border-radius:6px;padding:0 12px}.button{background:var(--primary);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-size:14px;font-weight:700;display:inline-flex}.button.secondary{color:var(--text);border-color:var(--border);background:#fff}.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #b88a2a4d}.error{border-left:3px solid var(--danger);color:var(--danger);background:#fff5f4;border-radius:6px;padding:10px 12px;font-size:14px}.success{border-left:3px solid var(--success);color:var(--success);background:#f0fbf6;border-radius:6px;padding:10px 12px;font-size:14px}.auth-links{color:var(--muted);justify-content:space-between;gap:12px;margin-top:18px;font-size:14px;display:flex}.marketing-page{background:linear-gradient(#fff 0%,#eef2f6 100%);min-height:100vh}.public-nav{justify-content:space-between;align-items:center;min-height:72px;padding:0 clamp(20px,5vw,72px);display:flex}.public-nav-actions,.public-actions,.button-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.public-hero{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:center;gap:36px;min-height:calc(100vh - 96px);padding:28px clamp(20px,5vw,72px) 72px;display:grid}.public-hero h1{max-width:720px;font-size:clamp(42px,6vw,76px)}.public-hero p{max-width:620px;font-size:18px}.public-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:14px;padding:22px;display:grid;box-shadow:0 18px 45px #11182714}.public-proof{border:1px solid var(--border);border-radius:6px;align-items:flex-start;gap:12px;padding:14px;display:flex}.public-proof span{color:var(--muted);margin-top:4px;display:block}.onboarding-page{background:var(--background);min-height:100vh;padding:28px}.onboarding-shell{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(100%,980px);margin:0 auto;padding:28px}.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0;padding:0;list-style:none;display:grid}.steps li{border:1px solid var(--border);min-height:38px;color:var(--muted);text-transform:capitalize;border-radius:6px;place-items:center;display:grid}.steps li.active{border-color:var(--accent);color:var(--text);background:#fff8ea}.onboarding-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;display:grid}.onboarding-form p,.ready-panel h2,.ready-panel .button{grid-column:1/-1}.ready-panel{gap:12px;display:grid}.checklist-row{border:1px solid var(--border);text-transform:capitalize;border-radius:6px;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.action-card{display:block}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);color:#fff;background:#111827;padding:22px}.nav{gap:6px;margin-top:30px;display:grid}.nav a{color:#d7dce5;border-radius:6px;align-items:center;gap:10px;min-height:38px;padding:0 10px;font-size:14px;display:flex}.nav a.active{color:#fff;background:#ffffff1a}.main{min-width:0}.topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;min-height:68px;padding:0 24px;display:flex}.content{padding:28px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.page-heading{margin-bottom:24px}.admin-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;margin-bottom:18px;display:grid}.admin-form.vertical,.role-editor{grid-template-columns:1fr;align-items:stretch}.admin-form label,.role-editor label{color:var(--text);gap:7px;font-size:13px;font-weight:650;display:grid}.admin-form input,.admin-form select,.role-editor input,.text-area{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;min-height:42px;padding:0 12px}.text-area{resize:vertical;min-height:116px;padding:10px 12px}.toolbar{grid-template-columns:1fr minmax(160px,220px);gap:10px;margin-bottom:14px;display:grid}.toolbar label{align-items:center;gap:8px;display:flex}.toolbar input,.toolbar select{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;min-height:40px;padding:0 10px}.code-block{border:1px solid var(--border);border-radius:var(--radius);color:#e5e7eb;white-space:pre;background:#0f172a;max-height:220px;padding:12px;overflow:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.stack{gap:12px;display:grid}.row-card,.list-row{align-items:flex-start;gap:12px;display:flex}.list-row{border-top:1px solid var(--border);padding:14px 0}.list-row:first-of-type{border-top:0}.list-row p,.row-card p{margin:4px 0 0}.detail-list{gap:14px;display:grid}.detail-list div{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding-bottom:10px;display:flex}.detail-list span{color:var(--muted)}.notice{border-left:3px solid var(--success);color:var(--success);background:#effaf5;border-radius:6px;margin-bottom:16px;padding:10px 12px;font-size:14px}.empty{color:var(--muted)}.role-editor{gap:14px;margin-bottom:18px;display:grid}.role-editor fieldset{border:1px solid var(--border);border-radius:var(--radius);gap:8px;margin:0;padding:14px;display:grid}.role-editor legend{color:var(--accent);padding:0 6px;font-weight:800}.check-row{grid-template-columns:18px 1fr;align-items:flex-start}.check-row input{min-height:auto;margin-top:3px}.check-row span{color:var(--muted);gap:3px;font-weight:500;display:grid}.check-row strong{color:var(--text)}.status{color:var(--success);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.muted{color:var(--muted)}.skeleton{background:linear-gradient(90deg,#eef2f6,#f8fafc,#eef2f6) 0 0/200% 100%;border-radius:4px;min-height:18px;animation:1.4s infinite shimmer}.workflow-preview{gap:10px;margin-top:16px;display:grid}.workflow-node{border:1px solid var(--border);border-radius:8px;gap:4px;padding:12px;display:grid;position:relative}.workflow-node:not(:last-child):after{color:var(--muted);content:"↓";font-weight:700;position:absolute;bottom:-11px;left:18px}.workflow-node span{color:var(--muted);font-size:12px;font-weight:700}@keyframes shimmer{to{background-position:-200% 0}}@media (max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0}.grid,.admin-form,.admin-grid,.toolbar,.public-hero,.onboarding-form{grid-template-columns:1fr}.public-nav{flex-direction:column;align-items:flex-start;gap:14px;padding-top:18px}.public-hero{min-height:auto}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.content{padding:18px}}
