:root{--b:#1F4E79;--b2:#2d6aa3;--bg:#eef3f8;--card:#fff;--tx:#1f2937;--mu:#6b7280;--ok:#059669;--bad:#dc2626;--warn:#d97706;--line:#e5e7eb}
*{box-sizing:border-box}html,body{margin:0;height:100%}
body{font-family:Arial,"Noto Sans Devanagari","Nirmala UI",sans-serif;background:var(--bg);color:var(--tx);-webkit-tap-highlight-color:transparent}
button,input,select{font-family:inherit;font-size:16px}
.boot{display:grid;place-items:center;height:100vh;font-size:28px;font-weight:700;color:var(--b);letter-spacing:2px}
.top{background:linear-gradient(135deg,var(--b),var(--b2));color:#fff;padding:calc(env(safe-area-inset-top) + 10px) 14px 12px;display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:5;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.top .logo{width:44px;height:44px;border-radius:10px;background:#fff;object-fit:contain;flex:none}
.top .nm{flex:1;min-width:0}.top .nm b{display:block;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top .nm small{opacity:.85;font-size:12px}
.clock{text-align:right;flex:none;font-variant-numeric:tabular-nums}.clock .t{font-size:20px;font-weight:700;letter-spacing:1px;font-family:"Courier New",monospace}.clock .d{font-size:11px;opacity:.9}
main{padding:14px;max-width:720px;margin:0 auto;padding-bottom:calc(env(safe-area-inset-bottom) + 84px)}
.card{background:var(--card);border-radius:14px;box-shadow:0 1px 4px rgba(0,0,0,.07);padding:16px;margin-bottom:12px}
h1{font-size:21px;margin:4px 0 12px;color:var(--b)}h2{font-size:17px;margin:0 0 10px}h3{font-size:15px;margin:14px 0 6px}
.muted{color:var(--mu)}.small{font-size:13px}.c{text-align:center}
.sw{display:flex;background:#dfe8f2;border-radius:12px;padding:4px;margin-bottom:14px}
.sw button{flex:1;border:0;background:none;padding:12px;border-radius:9px;font-weight:700;color:var(--b);cursor:pointer}.sw button.on{background:var(--b);color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2)}
label.f{display:block;margin:10px 0}label.f span{display:block;font-weight:600;font-size:14px;margin-bottom:5px}
.i{width:100%;padding:13px;border:1.5px solid #cbd5e1;border-radius:10px;background:#fff;color:var(--tx)}.i:focus{outline:none;border-color:var(--b)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:13px 18px;font-weight:700;background:var(--b);color:#fff;cursor:pointer;text-decoration:none}
.btn.block{width:100%}.btn.ghost{background:#e5edf5;color:var(--b)}.btn.bad{background:#fee2e2;color:var(--bad)}.btn:disabled{opacity:.6}
.link{background:none;border:0;color:var(--b);font-weight:600;cursor:pointer;padding:8px;text-decoration:underline}
.err{background:#fef2f2;color:#991b1b;border-radius:10px;padding:10px 12px;margin:10px 0;font-size:14px}.okm{background:#ecfdf3;color:#065f46;border-radius:10px;padding:10px 12px;margin:10px 0;font-size:14px}
.pin{display:flex;gap:12px;justify-content:center;margin:16px 0}.pin input{width:56px;height:62px;text-align:center;font-size:28px;font-weight:700;border:2px solid #cbd5e1;border-radius:12px;-webkit-text-security:disc}
.pin input:focus{border-color:var(--b);outline:none}
.kid{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.07);margin-bottom:10px;text-decoration:none;color:inherit}
.av{width:52px;height:52px;border-radius:50%;background:#dbe7f3;color:var(--b);display:grid;place-items:center;font-weight:700;font-size:20px;flex:none;overflow:hidden}.av img{width:100%;height:100%;object-fit:cover}
.kid .g{flex:1;min-width:0}.kid b{display:block;font-size:16px}.kid .ar{color:var(--mu);font-size:22px}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.tile{background:#fff;border-radius:14px;padding:16px 10px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.07);text-decoration:none;color:var(--tx);border:0;cursor:pointer;position:relative}
.tile .e{font-size:28px;display:block;margin-bottom:6px}.tile b{font-size:14px}.tile.soon{opacity:.55}.tile .bd{position:absolute;top:8px;right:10px;background:var(--bad);color:#fff;border-radius:10px;padding:1px 7px;font-size:12px}
.tabs{display:flex;gap:6px;overflow-x:auto;margin:0 0 12px;padding-bottom:2px}.tabs button{border:0;background:#dfe8f2;color:var(--b);padding:9px 14px;border-radius:20px;font-weight:700;white-space:nowrap;cursor:pointer}.tabs button.on{background:var(--b);color:#fff}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center;font-size:13px}.cal .h{font-weight:700;color:var(--mu);font-size:11px}
.cal .d{padding:9px 0;border-radius:8px;background:#f3f4f6}.cal .P{background:#d1fae5;color:#065f46;font-weight:700}.cal .A{background:#fee2e2;color:#991b1b;font-weight:700}.cal .L{background:#fef3c7;color:#92400e;font-weight:700}.cal .H{background:#e5e7eb;color:#6b7280}.cal .x{background:none}
.sum{display:flex;gap:8px;margin:10px 0}.sum div{flex:1;background:#f8fafc;border-radius:10px;padding:10px;text-align:center}.sum b{display:block;font-size:20px}
.row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}
.bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-top:4px}.bar i{display:block;height:100%;background:var(--ok)}
.nt{display:block;padding:12px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.nt.un b::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--bad);margin-right:7px;vertical-align:middle}
.pill{display:inline-block;padding:2px 9px;border-radius:10px;background:#e5edf5;color:var(--b);font-size:12px;font-weight:700}
.nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);display:flex;padding-bottom:env(safe-area-inset-bottom);z-index:5}
.nav a{flex:1;text-align:center;padding:9px 0 8px;font-size:12px;color:var(--mu);text-decoration:none;font-weight:700;position:relative}.nav a .e{display:block;font-size:22px}.nav a.on{color:var(--b)}
.nav a .bd{position:absolute;top:4px;left:55%;background:var(--bad);color:#fff;border-radius:10px;padding:0 6px;font-size:11px}
.body{white-space:pre-wrap;line-height:1.55;font-size:15px}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#111827;color:#fff;padding:11px 16px;border-radius:10px;font-size:14px;z-index:20;max-width:90vw}
.back{background:none;border:0;color:#fff;font-size:26px;padding:0 6px 0 0;cursor:pointer}
