:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172c46;background:#f3f6fb;font-synthesis:none;--ink:#172c46;--blue:#173f79;--muted:#56667d;--line:#dfe6ef}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:#eaf0f9;color:var(--blue);border:0;border-radius:12px;padding:12px 17px;font-weight:650;min-height:44px}button:hover{filter:brightness(.96)}button:disabled{cursor:wait;opacity:.6}button.primary{background:var(--blue);color:#fff}button.danger{background:#fff0f0;color:#9a2333}button.text-button{background:transparent;padding:7px 0;font-weight:550}a{color:var(--blue)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #df9b13;outline-offset:3px}button:focus:not(:focus-visible){outline:none}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:18px max(20px,calc((100vw - 1080px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;font-size:30px;font-weight:800;letter-spacing:-1px}.badge{font-size:12px;background:#edf1f8;color:#3d5678;padding:5px 9px;border-radius:20px;font-weight:650;letter-spacing:0}.topbar #identity{display:flex;align-items:center;gap:15px;font-size:14px}.connection{padding:8px 20px;text-align:center;font-size:13px;background:#e7edf7;color:#334f75}.connection.offline{background:#fff0d6;color:#6e4810}main{max-width:1080px;margin:30px auto;padding:0 20px;min-height:65vh}h1{font-size:clamp(27px,4vw,36px);letter-spacing:-1px;line-height:1.18;margin:0 0 12px}h2{font-size:21px;margin:0 0 16px;letter-spacing:-.3px}h3{font-size:17px;margin:0 0 12px}p{line-height:1.6;margin:12px 0}.muted{color:var(--muted)}.small{font-size:14px}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;color:#4d688c;font-size:12px;font-weight:750;margin-bottom:12px}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px}.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;max-width:940px;margin:50px auto}.intro{max-width:390px}.intro h1{font-size:44px;line-height:1.13}.intro p{font-size:18px}.intro .steps{border-left:3px solid #d5dfef;padding-left:20px;margin:30px 0}.steps div{margin:18px 0}.steps b{margin-right:10px}.tabs{display:flex;gap:5px;margin-bottom:22px;background:#f0f3f8;padding:5px;border-radius:12px}.tabs button{flex:1;background:transparent;padding:10px 8px}.tabs button.active{background:white;box-shadow:0 2px 5px #173f7912}.field{display:block;margin:15px 0}.field>span{display:block;font-size:14px;font-weight:650;margin-bottom:7px}input,select,textarea{display:block;width:100%;border:1px solid #b9c7d9;border-radius:10px;padding:12px;background:#fff;color:var(--ink);min-width:0}textarea{resize:vertical}.check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;margin:18px 0}.check input{width:20px;height:20px;flex-shrink:0;margin-top:2px}.wide{width:100%}.form-error{color:#a62136;font-size:14px;min-height:20px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;flex-wrap:wrap}.heading p{margin:0}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.stack{display:grid;gap:20px;align-content:start}.empty{padding:30px 15px;text-align:center;color:var(--muted);line-height:1.6}.row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row p{margin:4px 0}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions button{font-size:14px;padding:10px 12px}.avatar{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;background:#e7eef9;color:var(--blue);font-weight:750;font-size:22px;border-radius:16px}.person{display:flex;align-items:center;gap:12px}.pill{font-size:12px;border-radius:20px;padding:4px 9px;background:#edf2f8;color:#425775;display:inline-block}.pill.approved{background:#e5f3ed;color:#1c6049}.pill.blocked,.pill.revoked{background:#fff0e8;color:#8e4121}.activity{list-style:none;margin:0;padding:0}.activity li{border-bottom:1px solid var(--line);padding:12px 0}.activity time{display:block;font-size:12px;color:var(--muted);margin-top:4px}.metric{font-size:34px;letter-spacing:-1px;font-weight:750}.note{border-radius:12px;padding:14px;background:#edf3fb;font-size:14px;line-height:1.55}.child-home{max-width:570px;margin:45px auto}.child-home h1{font-size:38px}.contact-button{width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:20px;display:flex;align-items:center;gap:18px;padding:22px;margin:14px 0}.contact-button .avatar{width:62px;height:62px;font-size:30px;background:#dce9fb}.contact-button strong{font-size:24px}.contact-button small{display:block;color:var(--muted);font-size:14px;font-weight:400;margin-top:4px}.chat{max-width:720px;margin:auto}.chat .card{padding:0;overflow:hidden}.chat-head{padding:18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:12px}.chat-head h1{font-size:22px;margin:0}.messages{height:45vh;min-height:220px;max-height:550px;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px;background:#f8faff}.bubble{padding:12px 16px;background:#e7edf7;border-radius:16px 16px 16px 3px;max-width:86%;align-self:flex-start;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.bubble.mine{background:var(--blue);color:white;align-self:flex-end;border-radius:16px 16px 3px 16px}.bubble small{display:block;font-size:11px;margin-top:6px;opacity:.85}.compose{padding:16px;display:flex;align-items:flex-end;gap:10px;border-top:1px solid var(--line)}.compose label{flex:1}.compose textarea{max-height:150px;min-height:48px}.compose button{min-height:48px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:min(90vw,550px);padding:16px 22px;border-radius:14px;background:#172c46;color:#fff;box-shadow:0 5px 30px #0002;z-index:20;font-size:14px}dialog{border:0;border-radius:22px;padding:28px;max-width:min(560px,94vw);max-height:90vh;color:var(--ink);box-shadow:0 15px 70px #0003}dialog::backdrop{background:#14234088}dialog h2{padding-right:10px}dialog .actions{justify-content:flex-end;margin-top:22px}code{display:block;overflow-wrap:anywhere;white-space:pre-wrap;background:#edf3fb;padding:15px;border-radius:10px;font-size:15px;line-height:1.6}.secret-link{font-family:monospace;font-size:13px}footer{max-width:1080px;margin:35px auto 15px;padding:0 20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:12px;align-items:center}[hidden]{display:none!important}@media(max-width:760px){.auth-grid{grid-template-columns:1fr;gap:25px;margin:20px auto}.intro h1{font-size:32px}.intro .steps{display:none}.intro{max-width:none}.intro p{font-size:16px}.grid{grid-template-columns:1fr}.topbar{padding:14px 16px}.topbar #identity>span{display:none}main{padding:0 16px;margin-top:22px}.card{padding:20px}.brand{font-size:26px}.row{flex-wrap:wrap}.heading{gap:12px}.chat-head{flex-wrap:wrap}.chat-head button{font-size:14px}.bubble{max-width:94%}.child-home{margin-top:25px}.compose{padding:12px}.compose button{padding:10px 12px}.messages{height:47vh}footer span{display:none}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,filter .15s}}
#alerts{max-width:1080px;margin:0 auto;padding:0 20px}.panic-box{margin-top:20px;background:#fff0ed;border:2px solid #ba293c;border-radius:18px;padding:20px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;color:#701b2a}.panic-box strong{font-size:20px}.panic-box p{margin:6px 0}.panic-box>.small{flex-basis:100%}.panic-button{background:#b41e37;color:white;font-size:20px;min-height:58px;padding:15px 24px}.push-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}.push-bar span{max-width:600px}.panic-box button:disabled{opacity:.8}@media(max-width:600px){.panic-button{width:100%}#alerts{padding:0 16px}.panic-box{padding:16px}}
