:root { color-scheme: light; --ink:#18202c; --muted:#6b7280; --line:#e4e8ef; --paper:#fbfaf8; --blue:#315efb; --blue-dark:#2146c7; --mint:#d9f6ec; --rose:#ffe4e8; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:linear-gradient(145deg,#f7f9ff 0%,var(--paper) 55%,#f4f8f4 100%); color:var(--ink); font:16px/1.55 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
button,input { font:inherit; }
button { cursor:pointer; }
.shell { width:min(1080px,calc(100% - 40px)); margin:0 auto; min-height:100vh; display:flex; flex-direction:column; }
.topbar { display:flex; align-items:center; justify-content:space-between; padding:28px 0; }
.brand { color:var(--ink); font-weight:800; letter-spacing:-.04em; text-decoration:none; font-size:20px; }
.brand span { color:var(--blue); }
.account-nav { color:var(--muted); font-size:14px; }
.hero { padding:clamp(70px,14vh,150px) 0 70px; max-width:790px; }
.eyebrow { color:var(--blue); font-size:11px; letter-spacing:.16em; font-weight:800; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(43px,7vw,78px); line-height:1.03; letter-spacing:-.065em; max-width:800px; margin:18px 0 24px; }
h2 { font-size:36px; line-height:1.1; letter-spacing:-.05em; margin:8px 0 0; }
h3 { margin-bottom:4px; font-size:19px; }
.lede { max-width:610px; color:var(--muted); font-size:19px; }
.hero-actions { display:flex; gap:12px; margin:32px 0 82px; }
.activation-form { width:min(620px,100%); margin:-42px 0 70px; padding:18px; background:#ffffffb8; border:1px solid var(--line); border-radius:16px; }
.activation-form > div:first-child { display:flex; flex-direction:column; gap:3px; }
.activation-form > div:first-child span { color:var(--muted); font-size:13px; }
.activation-entry { display:flex; gap:8px; margin-top:12px; }
.activation-entry input { min-width:0; }
.activation-form .error { margin-top:7px; }
.button { border:0; border-radius:12px; padding:12px 20px; font-weight:700; transition:transform .15s,background .15s; }
.button:hover { transform:translateY(-1px); }
.button.primary { background:var(--blue); color:#fff; box-shadow:0 8px 20px #315efb2b; }
.button.primary:hover { background:var(--blue-dark); }
.button.ghost { background:#fff; color:var(--ink); border:1px solid var(--line); }
.button.small { padding:8px 13px; font-size:14px; }
.feature-row { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); padding-top:20px; gap:20px; }
.feature-row div { display:flex; flex-direction:column; gap:5px; }
.feature-row strong { font-size:14px; }
.feature-row span,.hint { color:var(--muted); font-size:13px; }
.panel { width:min(500px,100%); background:#fff; border:1px solid var(--line); border-radius:22px; padding:28px; box-shadow:0 20px 60px #223c7910; }
.panel-heading { margin:40px 0 25px; }
.back-link { background:none; border:0; color:var(--muted); padding:0; }
.stack { display:flex; flex-direction:column; gap:16px; }
label { display:flex; flex-direction:column; gap:6px; color:#394150; font-size:14px; font-weight:700; }
input { width:100%; border:1px solid var(--line); background:#fcfcfd; border-radius:10px; padding:12px 13px; color:var(--ink); outline:none; }
input:focus { border-color:var(--blue); box-shadow:0 0 0 3px #315efb1a; }
.switch { margin:0; color:var(--muted); font-size:14px; }
.switch button { border:0; background:none; color:var(--blue); padding:0; font-weight:700; }
.error { color:#b42318; min-height:1.4em; margin:0; font-size:13px; }
.hidden { display:none !important; }
.dashboard { padding:44px 0 80px; flex:1; }
.dashboard-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:24px; }
.site-list { display:grid; gap:14px; }
.site-card { background:#fff; border:1px solid var(--line); border-radius:18px; padding:20px; display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center; }
.site-card h3 { margin:0; }
.site-url { color:var(--blue); text-decoration:none; font-size:13px; overflow-wrap:anywhere; }
.site-meta { color:var(--muted); font-size:13px; margin-top:8px; }
.site-actions { display:flex; gap:8px; align-items:center; }
.upload-label { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--line); border-radius:10px; padding:9px 12px; font-weight:700; font-size:13px; cursor:pointer; white-space:nowrap; }
.upload-label input { display:none; }
.create-panel { margin-top:24px; width:100%; display:grid; grid-template-columns:1fr minmax(260px,360px); gap:8px 22px; align-items:center; }
.create-panel .error { grid-column:1 / -1; }
.inline-form { display:flex; gap:8px; }
.inline-form input { min-width:0; }
.empty { color:var(--muted); background:#ffffffaa; border:1px dashed #cfd5df; border-radius:18px; padding:28px; }
footer { border-top:1px solid var(--line); color:var(--muted); font-size:12px; padding:18px 0 25px; display:flex; justify-content:space-between; gap:20px; }
@media (max-width:700px) { .shell { width:min(100% - 28px,1080px); } .feature-row { grid-template-columns:1fr; gap:13px; } .hero-actions { margin-bottom:55px; } .activation-form { margin-top:-20px; margin-bottom:55px; } .activation-entry { flex-direction:column; } .site-card,.create-panel { grid-template-columns:1fr; } .site-actions { justify-content:flex-start; } footer { flex-direction:column; gap:2px; } }
