:root{--bg0: #04050d;--bg1: #080b1c;--panel: rgba(16, 20, 42, .72);--panel-solid: #10142a;--border: rgba(120, 150, 255, .18);--border-strong: rgba(120, 150, 255, .38);--txt: #e8ecff;--muted: #98a2cf;--accent: #8fb4ff;--accent-2: #6b3fd8;--gold: #ffd27a;--green: #7ff0c0;--pink: #ff9ecb;--red: #ff9a9a;--radius: 14px;--radius-sm: 9px;--shadow: 0 18px 40px rgba(0, 0, 0, .45);--font: "Segoe UI", system-ui, Roboto, Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% -10%,#0b1030,var(--bg0) 60%);color:var(--txt);font-family:var(--font);font-size:15px;line-height:1.55}body.is-fullscreen{height:100%;overflow:hidden}a{color:var(--accent)}h1,h2,h3,h4{line-height:1.25;margin:0 0 .5em}h1{font-size:26px}h2{font-size:20px}h3{font-size:17px}small{font-size:12.5px}code{font-family:ui-monospace,Consolas,monospace;font-size:.92em}.shell{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}.page{padding:28px 0 64px;flex:1}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}.page-head p{color:var(--muted);margin:4px 0 0}.stack{display:flex;flex-direction:column;gap:18px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.row.between{justify-content:space-between}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.topbar{position:sticky;top:0;z-index:40;background:#060816d1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.topbar .inner{display:flex;align-items:center;gap:14px;height:60px}.brand{font-weight:700;font-size:17px;text-decoration:none;color:var(--txt);white-space:nowrap}.brand span{color:var(--muted);font-weight:400;font-size:12.5px;margin-left:6px}.mainnav{display:flex;gap:2px;margin-left:8px;flex-wrap:wrap}.mainnav a{font-size:13.5px;padding:7px 12px;border-radius:var(--radius-sm);color:var(--muted);text-decoration:none;white-space:nowrap;transition:.15s}.mainnav a:hover{background:#7896ff24;color:var(--txt)}.mainnav a.active{background:linear-gradient(120deg,#3557d8,var(--accent-2));color:#fff}.topbar .spacer{flex:1}.usermenu{position:relative}.usermenu>button{display:flex;align-items:center;gap:8px}.usermenu .menu{position:absolute;right:0;top:46px;min-width:210px;display:none;background:var(--panel-solid);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;z-index:50}.usermenu.open .menu{display:block}.usermenu .menu a,.usermenu .menu button{display:block;width:100%;text-align:left;background:none;border:0;color:var(--txt);font:inherit;padding:10px 14px;cursor:pointer;text-decoration:none}.usermenu .menu a:hover,.usermenu .menu button:hover{background:#7896ff29}.usermenu .menu .sep{border-top:1px solid var(--border)}.usermenu .who{padding:10px 14px;color:var(--muted);font-size:12.5px;border-bottom:1px solid var(--border)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card.tight{padding:14px 16px}.card h2,.card h3{margin-top:0}.card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-label{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:8px}.stat{text-align:center}.stat .num{font-size:30px;font-weight:700;line-height:1.1}.stat .lab{color:var(--muted);font-size:12.5px}.btn{display:inline-flex;align-items:center;gap:7px;justify-content:center;background:var(--panel);border:1px solid var(--border);color:var(--txt);border-radius:11px;padding:9px 14px;font-size:13.5px;font-family:inherit;cursor:pointer;text-decoration:none;transition:.15s;white-space:nowrap}.btn:hover{border-color:var(--accent);background:#7896ff29}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(120deg,#3557d8,var(--accent-2));border-color:transparent;color:#fff}.btn.primary:hover{filter:brightness(1.12)}.btn.danger{color:var(--red);border-color:#ff787859}.btn.danger:hover{background:#ff505029;border-color:#ff8a8a}.btn.sm{padding:6px 10px;font-size:12.5px;border-radius:9px}.btn.block{width:100%}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field label{font-size:12.5px;color:var(--muted)}.field .hint{font-size:12px;color:var(--muted)}input[type=text],input[type=email],input[type=password],input[type=date],input[type=url],input[type=number],input[type=search],select,textarea{background:#0a0d22;border:1px solid var(--border);color:var(--txt);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;font-family:inherit;outline:none;width:100%;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:90px}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--accent)}.check{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0a0d2280}.check:hover{border-color:var(--border-strong)}.check input{margin-top:2px;flex:none;width:auto}.check .t{font-size:13.5px}.check .s{color:var(--muted);font-size:12px;display:block}.check.on{border-color:var(--accent);background:#7896ff1f}fieldset{border:0;padding:0;margin:0}.err{color:var(--red);font-size:12.5px;margin-top:4px}.alert{border-radius:var(--radius-sm);padding:11px 14px;font-size:13.5px;border:1px solid;margin-bottom:16px}.alert.ok{color:var(--green);border-color:#7ff0c04d;background:#7ff0c014}.alert.bad{color:var(--red);border-color:#ff8c8c4d;background:#ff787814}.alert.info{color:var(--accent);border-color:var(--border);background:#7896ff14}table{width:100%;border-collapse:collapse;font-size:13.5px}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06);vertical-align:middle}th{color:var(--muted);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.8px}tbody tr:hover{background:#7896ff12}.table-wrap{overflow-x:auto}.pill{display:inline-block;font-size:11px;padding:2px 9px;border-radius:20px;border:1px solid var(--border)}.pill.M{color:#bcd4ff;background:#5078ff24}.pill.F{color:var(--pink);background:#ff78be24}.pill.U{color:var(--muted)}.pill.ok{color:var(--green);border-color:#7ff0c04d}.pill.warn{color:var(--gold);border-color:#ffd27a4d}.pill.off{color:var(--muted);opacity:.7}.muted{color:var(--muted)}.avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#0b0e22;flex:none}.avatar.ph{display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{background:#7896ff1f;border:1px solid var(--border);border-radius:9px;padding:6px 10px;font-size:13px;cursor:pointer;transition:.15s;text-decoration:none;color:var(--txt);display:inline-block}.chip:hover{background:#7896ff47;border-color:var(--accent)}.chip small{color:var(--muted);margin-left:5px}.chip.father{background:#78b4ff1f}.chip.mother{background:#ff96c81a}.note-box{font-size:13.5px;line-height:1.55;color:#cdd5ff;background:#ffffff0a;border-left:2px solid var(--gold);padding:10px 13px;border-radius:0 8px 8px 0;white-space:pre-wrap}.empty{text-align:center;color:var(--muted);padding:34px 20px}.spin{width:34px;height:34px;border:3px solid rgba(143,180,255,.25);border-top-color:var(--accent);border-radius:50%;animation:sp 1s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}.event{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}.event:last-child{border-bottom:0}.event .when{flex:none;width:74px;text-align:center}.event .when .d{font-size:17px;font-weight:700;line-height:1.1}.event .when .m{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.event .who{flex:1;min-width:0}.event .who .n{font-weight:600}.event .who .s{color:var(--muted);font-size:12.5px}.event .kind{flex:none;font-size:18px}.event.soon .when .d{color:var(--gold)}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px 20px}.auth-card{width:420px;max-width:100%}.auth-card .logo{text-align:center;font-size:40px;margin-bottom:8px}.auth-card h1{text-align:center;font-size:22px}.auth-card .sub{text-align:center;color:var(--muted);font-size:13.5px;margin:0 0 22px}.auth-foot{text-align:center;margin-top:18px;font-size:13px}@media(max-width:760px){.topbar .inner{height:auto;padding:10px 0;flex-wrap:wrap}.mainnav{order:3;width:100%}h1{font-size:22px}.page{padding:20px 0 48px}}*{scrollbar-width:thin;scrollbar-color:rgba(120,150,255,.32) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#7896ff52;border:2px solid transparent;background-clip:content-box;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#8fb4ff99;background-clip:content-box}::-webkit-scrollbar-corner{background:transparent}
