:root{--bg:#f4f7f6;--surface:#fff;--ink:#172321;--muted:#64716e;--line:#dfe7e4;--brand:#176b5b;--brand-dark:#0f5145;--accent:#e8f3ef;--danger:#b64b55;--shadow:0 16px 45px rgba(23,54,48,.08)}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;min-height:100vh;font-family:Inter,"SF Pro Text",system-ui,sans-serif;color:var(--ink);background:linear-gradient(180deg,#edf5f2 0,#f6f8f7 360px,#f4f7f6 100%);letter-spacing:-.01em}
a{color:var(--brand);font-weight:700;text-decoration:none}
.top{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;min-height:72px;padding:0 max(24px,calc((100vw - 1180px)/2));background:rgba(255,255,255,.9);border-bottom:1px solid rgba(210,222,218,.9);backdrop-filter:blur(16px)}
.brand{font-size:19px;font-weight:700;letter-spacing:-.03em}.brand::first-letter{font-size:20px}.top a{padding:10px 15px;border-radius:10px;color:#42504d;font-size:14px}.top a:hover{background:#eef3f1}
.hero{width:min(1120px,calc(100% - 40px));min-height:calc(100vh - 110px);margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}
.copy .pill,.pill{display:inline-flex;align-items:center;background:rgba(255,255,255,.74);border:1px solid #d5e2de;padding:7px 12px;border-radius:999px;color:#52635f;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.copy h1{font-size:clamp(44px,5.5vw,70px);line-height:1.02;letter-spacing:-.06em;margin:22px 0 20px;max-width:780px}.copy h1 span{color:var(--brand)}.copy p{font-size:18px;line-height:1.7;color:var(--muted);max-width:610px}
.login{background:rgba(255,255,255,.94);border:1px solid #dce6e3;border-radius:20px;padding:34px;box-shadow:0 28px 80px rgba(28,67,59,.12)}.login h2{font-size:25px;margin:0 0 8px;letter-spacing:-.04em}.login p{margin:0 0 24px;color:var(--muted)}
label{display:grid;gap:7px;margin:13px 0;color:#34423f;font-size:13px;font-weight:600}
input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d4dfdc;border-radius:10px;background:#fff;color:var(--ink);font:inherit;outline:none;transition:.18s border,.18s box-shadow}input:focus,select:focus,textarea:focus{border-color:#61a596;box-shadow:0 0 0 4px rgba(45,132,113,.12)}
button,.button{border:0;padding:12px 16px;border-radius:10px;background:var(--brand);color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:.18s transform,.18s background,.18s box-shadow}button:hover,.button:hover{background:var(--brand-dark);box-shadow:0 8px 20px rgba(23,107,91,.18);transform:translateY(-1px)}.login button{width:100%;margin-top:7px}
.notice{padding:12px 14px;border:1px solid #d5e5df;border-radius:10px;background:#edf7f3;color:#215e51;margin:15px 0;font-size:14px}.notice.error,.error{border-color:#efd4d6;background:#fff0f1;color:#8f3640}
.dashboard{width:min(1180px,calc(100% - 40px))!important;max-width:none!important;margin:0 auto!important;padding:48px 0 72px!important}.dashboard>h1{font-size:clamp(32px,4vw,48px);letter-spacing:-.055em;margin:14px 0 30px}.dashboard>.pill{background:#fff}
.grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:14px!important}
.card{background:var(--surface)!important;border:1px solid var(--line);border-radius:16px!important;padding:22px!important;box-shadow:0 4px 18px rgba(23,54,48,.045)!important}.card h2{font-size:15px;margin:0 0 18px;color:#50605c;font-weight:600}.card strong{font-size:38px!important;line-height:1;letter-spacing:-.06em}.card>span{display:block;margin-top:6px;color:var(--muted);font-size:13px}
.tools{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin-top:14px!important}.tools form{position:relative;background:var(--surface)!important;border:1px solid var(--line);padding:22px!important;border-radius:16px!important;display:grid!important;gap:5px!important;box-shadow:0 4px 18px rgba(23,54,48,.04)}.tools form h2{font-size:18px;letter-spacing:-.03em;margin:0 0 10px}.tools form button{margin-top:8px;justify-self:start}.tools form:nth-child(1),.tools form:nth-child(2){border-top:3px solid var(--brand)}
.items{display:flex!important;gap:8px!important;flex-wrap:wrap!important}.items span{background:#eef4f2!important;border:1px solid #dce8e4;padding:8px 11px!important;border-radius:9px!important;color:#42534f;font-size:13px}.dashboard>section.card{margin-top:14px!important}.dashboard>section.card h2{font-size:16px;color:var(--ink);margin:2px 0 12px}.dashboard>section.card h2:not(:first-child){margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.family-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.fact{background:#f3f7f5;padding:14px;border-radius:11px}.fact small{color:var(--muted)}.secure{padding:13px;background:var(--accent);color:var(--brand-dark);border-radius:10px;font-weight:700}
@media(max-width:760px){.top{min-height:64px;padding:0 18px}.hero{grid-template-columns:1fr;gap:28px;padding:44px 0;min-height:0}.copy h1{font-size:43px}.copy p{font-size:16px}.login{padding:25px}.dashboard{width:min(100% - 28px,1180px)!important;padding-top:32px!important}.tools{grid-template-columns:1fr!important}.card{padding:18px!important}}
