:root{--blue:#007AFF;--blue-ink:#0066D6;--green:#34C759;--green-ink:#248A3D;--orange:#FF9500;--orange-ink:#C93400;--red:#FF3B30;--red-ink:#D70015;--gray:#8E8E93;--tc0:#5856D6;--tc1:#0A9DB5;--tc2:#AF52DE;--tc3:#FF2D55;--tc4:#0071A4;--tc5:#B07A3B;--bg:#FFFFFF;--surface:#FFFFFF;--surface-2:#FBFBFD;--fill:#F2F2F7;--fill-2:#E5E5EA;--fg:#1D1D1F;--fg-2:#3C3C43;--fg-3:#6E6E73;--line:#E5E5EA;--shadow:0 1px 2px rgba(0,0,0,.03),0 4px 16px rgba(0,0,0,.05);--glass:rgba(255,255,255,.8);--font:"Bahij TheSans Arabic","Tajawal",-apple-system,BlinkMacSystemFont,"SF Arabic","Segoe UI",Tahoma,sans-serif;--r-xl:22px;--r-lg:18px;--r:14px;--r-sm:10px;color-scheme:light}:root[data-theme=dark]{--blue:#0A84FF;--blue-ink:#409CFF;--green:#30D158;--green-ink:#30D158;--orange:#FF9F0A;--orange-ink:#FFB340;--red:#FF453A;--red-ink:#FF6961;--gray:#98989D;--tc0:#6E6CF0;--tc1:#1FA3BA;--tc2:#BF5AF2;--tc3:#FF375F;--tc4:#3A8FE8;--tc5:#B98245;--bg:#000000;--surface:#1C1C1E;--surface-2:#111113;--fill:#2C2C2E;--fill-2:#3A3A3C;--fg:#F5F5F7;--fg-2:#D1D1D6;--fg-3:#98989D;--line:#38383A;--shadow:none;--glass:rgba(22,22,24,.8);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;direction:rtl;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}:focus-visible{outline:3px solid color-mix(in srgb,var(--blue) 55%,transparent);outline-offset:2px;border-radius:10px}.num{font-variant-numeric:tabular-nums}h1,h2,h3{margin:0;text-wrap:balance;letter-spacing:-.01em}.app{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100%}.side{position:sticky;top:0;height:100vh;overflow:auto;padding:22px 14px;border-inline-start:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;gap:16px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px}.logo-icon{width:36px;height:36px;flex:none;display:block}.logo-full{display:block;width:150px;height:auto;margin:0 auto;color:var(--fg)}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.brand b{display:block;font-size:16px}.brand small{color:var(--fg-3);font-size:12px}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;align-items:center;gap:11px;min-height:42px;padding:0 10px;border-radius:10px;color:var(--fg);text-decoration:none;font-weight:500;font-size:15px}.nav a:hover{background:var(--fill)}.nav a.on{background:color-mix(in srgb,var(--blue) 12%,transparent);color:var(--blue-ink)}.nav svg{width:21px;height:21px;flex:none}.nav-sep{height:1px;background:var(--line);margin:6px 10px}.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:0 6px}.side-foot label,.demo-tag{font-size:12px;color:var(--fg-3)}.main{min-width:0;padding-block:28px 64px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.wrap{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:22px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}.page-head h1{font-size:32px;font-weight:800;line-height:1.15}.eyebrow{margin:0 0 4px;color:var(--fg-3);font-size:14px;font-weight:500}.head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.back{display:inline-flex;align-items:center;gap:4px;min-height:44px;color:var(--blue-ink);font-weight:500;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 18px;border-radius:999px;font-weight:700;font-size:15px;background:var(--fill);color:var(--fg);white-space:nowrap;transition:transform .12s,background .15s;text-decoration:none}.btn:active{transform:scale(.97)}button,a,[data-act],[data-go]{touch-action:manipulation}[data-act],[data-go]{cursor:pointer}.btn:hover{background:var(--fill-2)}.btn.primary{background:var(--blue);color:#fff}.btn.primary:hover{background:color-mix(in srgb,var(--blue) 88%,#000)}.btn.tint{background:color-mix(in srgb,var(--blue) 11%,transparent);color:var(--blue-ink)}.btn.ok{background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green-ink)}.btn.danger{background:color-mix(in srgb,var(--red) 11%,transparent);color:var(--red-ink)}.btn.sm{min-height:36px;padding:0 14px;font-size:14px}.btn.icon{width:44px;padding:0}.btn[disabled]{opacity:.4;pointer-events:none}.btn svg{width:19px;height:19px;flex:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:18px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 4px 10px}.section-title h2{font-size:20px;font-weight:800}.section-title .sub{color:var(--fg-3);font-size:14px}.muted{color:var(--fg-2)}.faint{color:var(--fg-3);font-size:14px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:14px 16px;display:flex;flex-direction:column;gap:2px}.stat b{font-size:28px;font-weight:800;line-height:1.15}.stat span{color:var(--fg-2);font-size:14px}.stat small{color:var(--fg-3);font-size:12px}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}.row{display:flex;align-items:center;gap:12px;padding:10px 16px;min-height:60px;position:relative;width:100%;text-align:start}.row+.row:before{content:"";position:absolute;top:0;inset-inline:16px 0;border-top:1px solid var(--line)}button.row:hover,a.row:hover{background:var(--surface-2)}a.row{color:inherit;text-decoration:none}.row .grow{flex:1;min-width:0}.row .t1{font-weight:700}.row .t2{color:var(--fg-3);font-size:14px}.chev{color:var(--fg-3);width:18px;height:18px;flex:none}.dot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--c)}.avatar{width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 13%,var(--surface))}.avatar svg{width:48%;height:48%}.avatar.lg{width:64px;height:64px}.avatar.sm{width:34px;height:34px}.avatar.md{width:38px;height:38px}.tmark{display:inline-flex;flex:none;line-height:0;vertical-align:middle}.tmark .mark{display:block}.empty-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;margin:0 auto 12px;background:var(--fill);color:var(--fg-3)}.empty-ic svg{width:26px;height:26px}.next{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--r-lg);background:var(--blue);color:#fff;text-align:start;width:100%}.next .time{font-size:28px;font-weight:800;line-height:1}.next .lbl{font-size:13px;opacity:.85}.next .who2{font-size:17px;font-weight:700}.chip.slot svg{width:15px;height:15px}.next .chev{color:#fff;opacity:.8}.stats.three{grid-template-columns:repeat(3,minmax(0,1fr))!important}.lead{margin:6px 0 0;color:var(--fg-3);font-size:15px;max-width:640px;line-height:1.55}.topbar{display:none}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--blue-ink)}.icon-btn:hover{background:var(--fill)}.icon-btn svg{width:22px;height:22px}.quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quick button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:84px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font-weight:700;font-size:14px;color:var(--fg)}.quick button:hover{background:var(--surface-2)}.quick .qi{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--c)}.quick .qi svg{width:20px;height:20px}.say{font-size:17px;line-height:1.7;margin:0}.say b{font-weight:800}.ttable{width:100%;border-collapse:collapse}.ttable th{font-size:13px;font-weight:600;color:var(--fg-3);text-align:start;padding:0 12px 8px}.ttable td{padding:12px;border-top:1px solid var(--line);vertical-align:middle}.ttable tr.now td{background:color-mix(in srgb,var(--blue) 6%,transparent)}.ttable tr.past td{opacity:.55}.ttable tbody tr{cursor:pointer}.ttable tbody tr:hover td{background:var(--surface-2)}.who{display:flex;align-items:center;gap:10px;min-width:0}.who .t1{font-weight:700}.who .t2{color:var(--fg-3);font-size:14px}.pill{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:0 10px;border-radius:999px;font-size:13px;font-weight:700;background:var(--fill);color:var(--fg-2);white-space:nowrap}.pill svg{width:14px;height:14px}.pill.ok{background:color-mix(in srgb,var(--green) 14%,transparent);color:var(--green-ink)}.pill.warn{background:color-mix(in srgb,var(--orange) 15%,transparent);color:var(--orange-ink)}.pill.danger{background:color-mix(in srgb,var(--red) 12%,transparent);color:var(--red-ink)}.pill.info{background:color-mix(in srgb,var(--blue) 11%,transparent);color:var(--blue-ink)}.tags{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 15px;border-radius:999px;background:var(--fill);font-weight:600;font-size:15px;white-space:nowrap;transition:background .15s}.chip:hover{background:var(--fill-2)}.chip.on{background:var(--blue);color:#fff}.chip.slot{background:color-mix(in srgb,var(--green) 13%,transparent);color:var(--green-ink);font-weight:700}.chip.slot:hover{background:color-mix(in srgb,var(--green) 22%,transparent)}.chip.slot.on{background:var(--green);color:#fff}.chips{display:flex;flex-wrap:wrap;gap:8px}.scroller{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scroller::-webkit-scrollbar{display:none}.daychip{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;height:64px;border-radius:16px;background:var(--fill);font-size:12px;color:var(--fg-2);flex:none}.daychip b{font-size:19px;color:var(--fg)}.daychip.on{background:var(--blue);color:#ffffffd0}.daychip.on b{color:#fff}.seg{display:inline-flex;background:var(--fill);border-radius:12px;padding:3px;gap:2px;flex-wrap:wrap}.seg button{min-height:36px;padding:0 14px;border-radius:9px;font-size:14px;font-weight:600;color:var(--fg-2)}.seg button.on{background:var(--surface);color:var(--fg);box-shadow:0 1px 3px #00000024}.field{display:flex;flex-direction:column;gap:6px;min-width:0;position:relative}.field>label{font-size:14px;font-weight:700;color:var(--fg-2);padding-inline-start:4px}.remember-option{display:flex;align-items:center;gap:10px;min-height:40px;margin:8px 0;font-size:14px;color:var(--fg-2);cursor:pointer;text-align:start}.remember-option input{width:19px;height:19px;accent-color:var(--blue);flex:none;cursor:pointer}.input,select.input{min-height:48px;border-radius:12px;border:1.5px solid transparent;background:var(--fill);padding:0 14px;width:100%;outline:none;font-size:16px;transition:border .15s,background .15s}textarea.input{min-height:76px;padding:10px 14px;resize:vertical}.input:focus{border-color:var(--blue);background:var(--surface)}.input.ltr{direction:ltr;text-align:right}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sug{position:absolute;top:100%;inset-inline:0;z-index:5;margin-top:4px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px #00000024;overflow:hidden}.sug button{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:6px 14px;text-align:start}.sug button+button{border-top:1px solid var(--line)}.sug button:hover{background:var(--surface-2)}.tl{display:flex;flex-direction:column}.tl-row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid var(--line)}.tl-row:first-child{border-top:0}.tl-h{font-weight:700;color:var(--fg-2);font-size:15px;padding-top:10px}.tl-items{display:flex;flex-direction:column;gap:8px;min-width:0}.lesson{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--line);text-align:start;width:100%}.lesson:hover{background:var(--surface-2)}.lesson .grow{flex:1;min-width:0}.lesson .t1{font-weight:700}.lesson .t2{font-size:14px;color:var(--fg-3)}.lesson.cancelled .t1{text-decoration:line-through;color:var(--fg-3)}.lesson.done{background:var(--surface-2)}.empty-slot{display:flex;align-items:center;gap:8px;min-height:52px;padding:10px 12px;border-radius:14px;border:1.5px dashed color-mix(in srgb,var(--green) 45%,transparent);color:var(--green-ink);font-size:15px;font-weight:600;text-align:start;width:100%}.empty-slot:hover{background:color-mix(in srgb,var(--green) 8%,transparent)}.now-tag{color:var(--blue-ink)}.av-wrap{overflow-x:auto}.av{border-collapse:separate;border-spacing:6px;min-width:100%}.av th{font-size:13px;font-weight:700;color:var(--fg-3);padding:0 2px;white-space:nowrap}.av td.dname{font-weight:700;font-size:15px;white-space:nowrap;padding-inline-end:6px}.av .cell{width:100%;min-width:46px;height:44px;border-radius:11px;background:var(--fill);transition:background .12s;font-weight:800}.av .cell.on{background:var(--green);color:#fff}.av .cell.on:after{content:"✓"}.av .cell.warn{box-shadow:inset 0 0 0 2.5px var(--orange)}.av.ro .cell{cursor:default}.cal-wrap{overflow-x:auto}.cal{display:grid;grid-template-columns:64px repeat(7,minmax(112px,1fr));gap:6px;min-width:860px}.cal .ch{font-size:14px;font-weight:700;color:var(--fg-2);text-align:center;padding:6px 0}.cal .ch.today{color:var(--blue-ink)}.cal .ch b{display:block;font-size:21px;color:var(--fg)}.cal .ch.today b{color:#fff;background:var(--blue);width:36px;height:36px;border-radius:50%;margin:2px auto 0;display:grid;place-items:center;font-size:17px}.cal .hh{font-size:13px;color:var(--fg-3);text-align:center;padding-top:8px}.cal .cc{min-height:76px;border-radius:12px;background:var(--surface);border:1px solid var(--line);padding:5px;display:flex;flex-direction:column;gap:4px;text-align:start}.cal .cc.past{background:var(--surface-2)}.cal .cc.addable:hover{border-color:color-mix(in srgb,var(--green) 60%,transparent)}.cal .ev{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;padding:5px 7px;border-radius:8px;background:color-mix(in srgb,var(--c) 13%,var(--surface));color:var(--fg);text-align:start;width:100%;min-width:0}.cal .ev span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal .ev.x{opacity:.55;text-decoration:line-through}.legend{display:flex;flex-wrap:wrap;gap:8px}.legend button{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border-radius:999px;background:var(--fill);font-size:14px;font-weight:600}.legend button.off{opacity:.4}.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.tcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit;transition:transform .15s}.tcard:hover{transform:translateY(-2px)}.tcard .top{display:flex;align-items:center;gap:12px}.tcard .top b{display:block;font-size:17px}.meter{height:7px;border-radius:99px;background:var(--fill);overflow:hidden}.meter i{display:block;height:100%;border-radius:99px;background:var(--green)}.meter i.warn{background:var(--orange)}.meter i.danger{background:var(--red)}.meter i.blue{background:var(--blue)}.alert{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r-lg);background:color-mix(in srgb,var(--orange) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--orange) 30%,transparent)}.alert.danger{background:color-mix(in srgb,var(--red) 8%,var(--surface));border-color:color-mix(in srgb,var(--red) 28%,transparent)}.alert.ok{background:color-mix(in srgb,var(--green) 9%,var(--surface));border-color:color-mix(in srgb,var(--green) 30%,transparent)}.alert.info{background:color-mix(in srgb,var(--blue) 7%,var(--surface));border-color:color-mix(in srgb,var(--blue) 25%,transparent)}.alert>svg{width:22px;height:22px;flex:none;color:var(--orange-ink);margin-top:1px}.alert.danger>svg{color:var(--red-ink)}.alert.ok>svg{color:var(--green-ink)}.alert.info>svg{color:var(--blue-ink)}.alert .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.alert b{font-weight:800}.alert .line{font-size:15px}.empty{padding:34px 16px;text-align:center;color:var(--fg-3)}.empty b{display:block;color:var(--fg);font-size:17px;margin-bottom:4px}.chart svg{display:block;width:100%;height:auto}.chart .ax{fill:var(--fg-3);font-size:11px;font-family:var(--font)}.chart .grid{stroke:var(--line);stroke-width:1}.chart .bar{fill:var(--blue)}.chart .bar:hover{fill:var(--blue-ink)}.hbar{display:grid;grid-template-columns:minmax(90px,140px) minmax(0,1fr) 44px;gap:10px;align-items:center;min-height:36px}.hbar .track{height:12px;border-radius:6px;background:var(--fill);overflow:hidden}.hbar .track i{display:block;height:100%;background:var(--blue);border-radius:6px}.heat{display:grid;gap:4px;min-width:420px}.heat .hc{height:38px;border-radius:8px;display:grid;place-items:center;font-size:13px;font-weight:700}.heat .hl{font-size:13px;color:var(--fg-3);display:flex;align-items:center;justify-content:center}.tbl-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:15px}.tbl th{font-size:13px;color:var(--fg-3);font-weight:700;text-align:start;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.tbl td{padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}.tbl tr:last-child td{border-bottom:0}.scrim{position:fixed;inset:0;background:#00000059;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .18s}.sheet{background:var(--surface);border-radius:var(--r-xl);width:min(580px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 30px 80px #00000047;animation:pop .22s cubic-bezier(.2,.9,.3,1.1);overscroll-behavior:contain}.grabber{display:none;width:38px;height:5px;border-radius:3px;background:var(--fill-2);margin:8px auto 0}.sheet-head{position:sticky;top:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px 12px;background:var(--glass);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px)}.sheet-head h3{font-size:19px;font-weight:800}.sheet-body{padding:6px 18px 18px;display:flex;flex-direction:column;gap:14px}.sheet-foot{position:sticky;bottom:0;z-index:6;display:flex;gap:10px;padding:12px 18px calc(14px + env(safe-area-inset-bottom,0px));background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line)}.sheet-foot .btn{flex:1;min-height:50px;font-size:16px}.install-steps{margin:0;padding-inline-start:24px;display:grid;gap:12px;line-height:1.65}.install-steps li{padding-inline-start:3px}.discard-warning{margin:4px 18px 12px;padding:14px;border:1px solid color-mix(in srgb,var(--orange) 45%,transparent);border-radius:14px;background:var(--surface-2)}.discard-warning p{color:var(--fg-2);margin:5px 0 12px}.discard-warning .chips .btn{flex:1}.write-pending #sheet button,.write-pending #sheet input,.write-pending #sheet select,.write-pending #sheet textarea{pointer-events:none;opacity:.6}.write-pending #sheet .sheet-foot:after{content:"جارٍ الحفظ…";position:absolute;inset:0;display:grid;place-items:center;background:var(--glass);color:var(--blue-ink);font-weight:700;pointer-events:auto}.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;font-size:15px;margin:0}.kv dt{color:var(--fg-3)}.kv dd{margin:0;font-weight:600}.msg-box{white-space:pre-wrap;background:var(--surface-2);border-radius:14px;padding:12px 14px;font-size:15px;line-height:1.7;border:1px solid var(--line);overflow-wrap:anywhere}.sub-h{font-size:13px;font-weight:800;color:var(--fg-3);margin:4px 4px -4px}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(16px) scale(.985)}}.toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--fg);color:var(--bg);padding:12px 18px;border-radius:999px;font-weight:700;font-size:15px;z-index:80;box-shadow:0 12px 30px #00000040;animation:pop .2s;max-width:calc(100vw - 32px)}.savebar{position:sticky;bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:5;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:20px;background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 10px 30px #00000024;border:1px solid var(--line)}.savebar span{font-weight:700;padding-inline-start:6px}.banner{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 14px;border-radius:var(--r);background:color-mix(in srgb,var(--blue) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--blue) 22%,transparent)}.tabbar{display:none}.login{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:28px 16px calc(28px + env(safe-area-inset-bottom,0px));background:var(--surface-2)}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow);padding:30px 22px 22px;display:flex;flex-direction:column;gap:16px}.login-card .head{text-align:center;display:flex;flex-direction:column;gap:4px}.login-card h1{font-size:24px}.login-card form{display:flex;flex-direction:column;gap:12px}.login-card .alert{text-align:start}.pw{position:relative}.pw .input{padding-inline-end:54px}.pw .input.big{text-align:center;font-size:20px;letter-spacing:.12em;min-height:54px;padding-inline-start:54px}.pw .btn{position:absolute;inset-inline-end:5px;top:50%;transform:translateY(-50%);background:none;color:var(--fg-3)}.btn.lg{min-height:52px;font-size:17px}.linkbtn{align-self:center;color:var(--blue-ink);font-weight:700;padding:10px 12px;min-height:44px;border-radius:10px}.demo-pass{border-top:1px solid var(--line);padding-top:12px;font-size:14px;color:var(--fg-3)}.demo-pass summary{cursor:pointer;min-height:36px;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:600}.demo-pass ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}.demo-pass li{display:flex;justify-content:space-between;gap:12px;padding:6px 10px;border-radius:10px;background:var(--fill)}.demo-pass li b{color:var(--fg);direction:ltr}.code-hint{font-size:28px;font-weight:800;letter-spacing:.2em;direction:ltr;display:block;text-align:center;color:var(--fg)}.solo-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.solo-top .brand{padding:0}.pass-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pass-val{font-size:20px;font-weight:800;letter-spacing:.14em;direction:ltr;min-width:96px}@media(min-width:821px){.savebar{bottom:16px}.toast{bottom:28px}}@media(max-width:820px){.app{grid-template-columns:minmax(0,1fr)}.side{display:none}.main{padding-block:8px calc(104px + env(safe-area-inset-bottom,0px))}.topbar{display:flex;position:sticky;top:0;z-index:30;align-items:center;justify-content:space-between;gap:8px;padding:calc(6px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 6px max(8px,env(safe-area-inset-left,0px));background:var(--glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}.topbar .brand{padding:0;gap:8px}.topbar .logo-icon{width:30px;height:30px}.topbar .brand b{font-size:16px}.ttable .hide-s{display:none}.ttable td{padding:10px 6px}.ttable th{padding:0 6px 8px}.ttable .who .avatar{display:none}.ttable .who{gap:6px}.page-head h1{font-size:30px}.page-head{align-items:center}.tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;justify-content:space-around;align-items:flex-end;padding:6px max(6px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(6px,env(safe-area-inset-left,0px));background:var(--glass);backdrop-filter:saturate(1.6) blur(20px);-webkit-backdrop-filter:saturate(1.6) blur(20px);border-top:1px solid var(--line)}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;font-size:11px;font-weight:600;color:var(--fg-3);text-decoration:none;min-width:60px;min-height:50px;padding:2px 0}.tabbar a svg{width:25px;height:25px}.tabbar a.on{color:var(--blue-ink)}.tabbar a.cta span.ic{width:52px;height:52px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;margin-top:-22px;box-shadow:0 6px 16px color-mix(in srgb,var(--blue) 45%,transparent)}.tabbar a.cta svg{width:26px;height:26px}.tabbar a.cta.on{color:var(--blue-ink)}.filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.scrim{align-items:flex-end;padding:0}.sheet{width:100%;max-height:94vh;border-radius:22px 22px 0 0}.grabber{display:block}.hide-m{display:none!important}}@media(max-width:480px){.grid2{grid-template-columns:minmax(0,1fr)}.tl-row{grid-template-columns:62px minmax(0,1fr);gap:8px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hbar{grid-template-columns:90px minmax(0,1fr) 40px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
