*{box-sizing:border-box} :root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#182b48;background:#f5f8fc;font-synthesis:none}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:11px;min-height:44px;padding:11px 17px;font-weight:600;transition:background .15s}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #91baff;outline-offset:3px}input{width:100%;border:1px solid #d7e1ef;border-radius:10px;padding:13px 14px;background:white;color:#182b48;min-width:0}input:focus{outline:2px solid #81b2ff;border-color:transparent}label{display:block;font-size:14px;font-weight:600;margin:19px 0}label input{margin-top:8px}h1,h2,h3,p{margin-top:0}h1{font-size:36px;line-height:1.2;letter-spacing:-1px;margin-bottom:13px}h2{font-size:21px;letter-spacing:-.35px}h3{font-size:15px}p{line-height:1.6}header{height:90px;background:white;border-bottom:1px solid #e4ebf3;padding:0 max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#182b48;font-size:23px;font-weight:750;letter-spacing:-.7px}.brand-mark{display:grid;place-items:center;width:43px;height:45px;color:white;background:#1477ed;border-radius:13px;font-size:29px}.brand small{display:block;font-size:11px;letter-spacing:.2px;color:#7a8aa0;font-weight:500;margin-top:2px}main{max-width:1250px;margin:auto;padding:42px 25px 32px}.card{background:white;border:1px solid #e2eaf4;border-radius:18px}.login{max-width:470px;margin:25px auto;padding:38px}.login h1{margin-top:17px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:1.5px;color:#2974cb}.muted{color:#6d7d93}.fine{font-size:12px;color:#75849a;line-height:1.7;margin-top:18px}.primary{background:#1579ee;color:white;box-shadow:0 3px 8px #1579ee18}.primary:hover{background:#0968d4}.quiet{background:#f0f5fb;color:#35577d}.quiet:hover{background:#e4edf8}.danger{color:#ba3544;background:#fff0f1}.wide{width:100%}.error{color:#c23547;font-size:13px;margin-top:12px;margin-bottom:0}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.heading h1{margin-top:9px}.heading p{margin-bottom:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:25px}.stats .card{padding:22px 25px;display:flex;align-items:center;justify-content:space-between}.stats span{font-size:14px;color:#718199}.stats strong{font-size:32px;font-weight:650;color:#176dc9}.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}aside{padding:22px 16px;min-height:380px}.list-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.list-title h2{font-size:17px;margin:0 0 0 5px}.list-title button{font-size:12px;padding:8px}.search{margin:12px 0 18px}.family-item{width:100%;background:transparent;text-align:left;display:flex;align-items:center;gap:12px;margin:6px 0;padding:15px 12px}.family-item.selected{background:#edf5ff;color:#1269c5}.family-item:hover{background:#f3f7fc}.family-icon{width:38px;height:38px;border-radius:12px;background:#e8f1fd;color:#2670c5;display:grid;place-items:center;flex-shrink:0}.family-item small{display:block;font-size:11px;font-weight:400;color:#7a899c;margin-top:5px}.family-item span:last-child{overflow-wrap:anywhere}.detail{padding:29px;min-height:400px}.empty{text-align:center;padding:35px 10px;color:#7a899d}.empty h2{color:#29405f;margin-top:18px}.empty-icon{margin:auto;background:#eff6ff;color:#3186e7;border-radius:22px;width:76px;height:76px;display:grid;place-items:center;font-size:45px}.detail-top{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:20px}.detail-top h2{font-size:25px;margin-bottom:8px;overflow-wrap:anywhere}.badge{display:inline-block;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:600;background:#e8f7ef;color:#278451}.badge.off{background:#fff1df;color:#9a671f}.address{background:#f5f9ff;border:1px solid #dfebfc;border-radius:13px;padding:17px;margin-bottom:20px}.address label{margin:0;color:#6d809a;font-size:12px}.copy-row{display:flex;align-items:center;gap:8px;margin-top:8px}.copy-row code{flex:1;overflow-wrap:anywhere;word-break:break-all;font-family:Consolas,monospace;font-size:13px;line-height:1.6}.copy-row button{flex-shrink:0;font-size:12px;padding:9px 12px}.codes{display:grid;grid-template-columns:1fr 1fr;gap:14px}.code-card{padding:18px;border:1px solid #e4eaf2;border-radius:13px}.code-card h3{margin-bottom:3px}.code-card .copy-row{flex-wrap:wrap}.code-card .copy-row code{flex-basis:100%}.section-title{margin-top:28px;display:flex;justify-content:space-between;align-items:center}.member{display:flex;gap:12px;align-items:center;border-top:1px solid #eef2f7;padding:14px 0}.member .family-icon{background:#f3f5fa}.member strong{font-size:14px;display:block}.member small{font-size:12px;color:#7d8da3;display:block;margin-top:4px}.actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:20px;border-top:1px solid #edf1f7;margin-top:18px}.actions button{font-size:12px}dialog{border:1px solid #e3eaf3;border-radius:20px;max-width:480px;width:calc(100% - 32px);padding:28px;color:#243a57;box-shadow:0 25px 100px #11284530}dialog::backdrop{background:#19345166;backdrop-filter:blur(3px)}dialog h2{margin-top:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.url-preview{font-size:12px;color:#2877d5;word-break:break-all}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#203d61;color:white;border-radius:12px;padding:14px 22px;max-width:90vw;box-shadow:0 6px 25px #203d6133;z-index:10}[hidden]{display:none!important}@media(max-width:800px){.workspace{grid-template-columns:1fr}aside{min-height:0}#family-list{display:flex;overflow:auto}.family-item{min-width:180px}.heading{align-items:start}.stats .card{padding:16px}.stats strong{font-size:24px}.detail{padding:21px}.codes{grid-template-columns:1fr}}@media(max-width:480px){header{padding:12px 16px;height:auto;min-height:80px}.brand{font-size:20px}#session-actions button{font-size:11px;padding:8px}main{padding:26px 15px}.heading{display:block}.heading button{margin-top:16px}h1{font-size:29px}.stats{gap:8px}.stats .card{display:block;padding:13px}.stats strong{display:block;margin-top:8px}.stats span{font-size:11px}.login{padding:26px}.detail-top{flex-wrap:wrap}.copy-row{flex-wrap:wrap}.copy-row code{flex-basis:100%}}
