:root{
  --bg:#f6f2ed; --card:#fffaf4; --text:#26221f; --muted:#7a6f66; --line:#eadfd3;
  --accent:#9b5de5; --accent2:#00bbf9; --good:#1a936f; --bad:#d1495b; --shadow:0 22px 60px rgba(67,45,25,.12);
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at top left,#fff 0,#f6f2ed 42%,#efe7de 100%);color:var(--text)}
a{color:inherit;text-decoration:none}.app-shell{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:22px 0 60px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:6px 0 24px}.topbar h1{margin:0;font-size:clamp(26px,4vw,42px);letter-spacing:-.04em}.topbar nav{display:flex;gap:10px;flex-wrap:wrap}.topbar nav a{padding:11px 15px;border:1px solid var(--line);background:rgba(255,250,244,.75);border-radius:999px;box-shadow:0 8px 24px rgba(60,40,20,.06)}
.eyebrow{margin:0 0 8px;color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.13em;font-size:12px}.muted{color:var(--muted)}
.hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#2d2438,#5f3dc4 55%,#00bbf9);color:white;border-radius:34px;padding:32px;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;background:rgba(255,255,255,.14);border-radius:50%}.hero h2,.hero h1{font-size:clamp(38px,7vw,76px);line-height:.94;margin:0 0 8px;letter-spacing:-.06em}.hero p{margin:0;color:rgba(255,255,255,.78)}.hero .eyebrow{color:#fff}.hero.compact h1{font-size:clamp(34px,5vw,58px)}
.hero-ring{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;text-align:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(12px);z-index:1}.hero-ring span,.hero-ring small{display:block;color:rgba(255,255,255,.76)}.hero-ring strong{display:block;font-size:46px;letter-spacing:-.06em}.hero-ring>*{grid-area:1/1}.hero-ring span{transform:translateY(-48px)}.hero-ring small{transform:translateY(50px);font-size:12px;width:130px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stat,.card,.login-card{background:rgba(255,250,244,.84);border:1px solid rgba(234,223,211,.9);border-radius:28px;box-shadow:var(--shadow);backdrop-filter:blur(10px)}.stat{padding:22px}.stat span{display:block;color:var(--muted);font-size:14px;margin-bottom:8px}.stat strong{font-size:28px;letter-spacing:-.04em}.good{color:var(--good)}.bad{color:var(--bad)}
.grid{display:grid;gap:16px}.main-grid{grid-template-columns:.8fr 1.2fr}.two{grid-template-columns:1fr 1fr}.full{grid-column:1/-1}.card{padding:24px}.card h2{margin:0 0 18px;font-size:22px;letter-spacing:-.03em}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.card-head h2{margin:0}.card-head span{color:var(--muted);font-size:13px}
label{display:block;color:var(--muted);font-weight:700;font-size:13px;margin-bottom:12px}input,select{width:100%;border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px 14px;color:var(--text);font-size:16px;outline:none;margin-top:6px}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(155,93,229,.12)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn{border:0;border-radius:16px;padding:14px 18px;background:#ede4da;color:var(--text);font-weight:900;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--accent),#6c5ce7);color:white;box-shadow:0 14px 30px rgba(108,92,231,.25)}.full-btn{width:100%;margin-top:8px}.mini{border:0;border-radius:10px;padding:8px 10px;cursor:pointer}.danger{background:#ffe7ea;color:var(--bad)}
.alert{border-radius:18px;padding:13px 16px;margin:12px 0;font-weight:700}.success{background:#e9f8f1;color:var(--good);border:1px solid #cdeedd}.error{background:#fff0f2;color:var(--bad);border:1px solid #ffd2d9}
.login-wrap{min-height:calc(100vh - 80px);display:grid;place-items:center}.login-card{width:min(460px,100%);padding:34px}.login-card h1{font-size:54px;margin:0 0 10px;letter-spacing:-.07em}.setup-form{margin-top:18px}.actions{text-align:right}
.chart{width:100%;height:340px;margin-top:8px}.chart svg{width:100%;height:100%;display:block;overflow:visible}.chart-grid{stroke:rgba(38,34,31,.08);stroke-width:1}.chart-y,.chart-x{fill:rgba(38,34,31,.48);font-size:12px;font-weight:700}.chart-line{fill:none;stroke:#7c4dff;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:#fff;stroke:#7c4dff;stroke-width:3}.chart-dot-last{fill:#7c4dff;stroke:#fff;stroke-width:3.2}.chart-area{opacity:1}.chart-badge rect{fill:#fff;stroke:rgba(124,77,255,.18);stroke-width:1;filter:drop-shadow(0 10px 18px rgba(124,77,255,.18))}.chart-badge text{fill:#3f2a7a;font-size:13px;font-weight:800}.chart-start-end{fill:rgba(38,34,31,.46);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.empty{display:grid;place-items:center;height:260px;border:1px dashed var(--line);border-radius:24px;color:var(--muted);text-align:center;padding:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 8px;font-size:14px}th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.people-list{display:grid;gap:12px}.person-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff}.person-row span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.tip{margin-top:18px;padding:16px;border-radius:18px;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:14px}code{background:#f2ebe3;padding:2px 6px;border-radius:7px}
@media (max-width:860px){.topbar,.hero{align-items:flex-start;flex-direction:column}.hero-ring{width:150px;height:150px}.stats-grid,.main-grid,.two{grid-template-columns:1fr}.card,.stat,.hero{border-radius:24px}.form-row{grid-template-columns:1fr}.login-card h1{font-size:42px}.actions{text-align:left}.app-shell{width:min(100% - 18px,1180px)}.chart{height:260px}.chart-y{font-size:11px}.chart-x{font-size:11px}}
.login-card.wide{width:min(680px,100%)}.full-link{display:block;text-align:center;margin-top:12px}.btn.ghost{background:#fff;border:1px solid var(--line)}.center-small{text-align:center;font-size:13px;margin:14px 0 0}.small-empty{height:auto;min-height:86px}.one{grid-template-columns:1fr}

.profile-login-form{margin-top:20px}.profile-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.profile-card{border:1px solid var(--line);background:#fff;border-radius:22px;padding:18px 14px;text-align:left;cursor:pointer;transition:.18s ease;box-shadow:0 10px 28px rgba(60,40,20,.05)}.profile-card:hover{transform:translateY(-2px);border-color:rgba(155,93,229,.45);box-shadow:0 16px 34px rgba(108,92,231,.12)}.profile-card.active{border-color:var(--accent);background:linear-gradient(135deg,rgba(155,93,229,.11),rgba(0,187,249,.08));box-shadow:0 18px 38px rgba(108,92,231,.16)}.profile-card .avatar{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#6c5ce7);color:#fff;font-weight:900;font-size:22px;margin-bottom:12px}.profile-card strong{display:block;font-size:20px;letter-spacing:-.03em}.profile-card small{display:block;color:var(--muted);font-weight:800;margin-top:4px}.pin-box{opacity:.55;transition:.18s ease}.pin-box.ready{opacity:1}.pin-box button:disabled,.pin-box input:disabled{cursor:not-allowed;opacity:.58}
@media (max-width:560px){.profile-choice{grid-template-columns:1fr}.profile-card{display:flex;align-items:center;gap:12px}.profile-card .avatar{margin-bottom:0;flex:0 0 46px}.profile-card strong{font-size:18px}}
