@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand:#c2410c;--brand-dark:#9a3412;--brand-tint:#fff4ec;--brand-soft:#fed7aa;--brand-ring:#ffe9da;--accent-on-dark:#fdba74;--ink:#1c1917;--ink-2:#292524;--ink-line:#3a3532;--ground:#faf8f5;--surface:#fff;--text:#1c1917;--text-2:#57534e;--text-3:#78716c;--faint:#a8a29e;--line:#eae5e0;--line-soft:#f2ede8;--control-line:#e7e2dd;--success:#166534;--success-bg:#e9f6ee;--warn:#854d0e;--warn-bg:#fef3d6;--info:#3730a3;--info-bg:#eef2ff;--danger:#b91c1c;--danger-bg:#fdecec;--hover:#fcfaf8;--thead:#fbfaf8;--disabled:#ede8e3;--surface-2:#f3efe9;--track:#f3efe9;--placeholder:#f4f1ec;--placeholder-2:#ece7df;--skeleton-a:#f2ede8;--skeleton-b:#faf8f5;--topbar-bg:#ffffffeb;--bar-bg:#fffffff5;--control-line-hover:#d6cfc8;--chart-grid:#ece7e0;--chart-guide:#b9afa4;--muted:#7a6f64;--strong:#1c1917;--strong-hover:#000;--on-strong:#fff;--link-hover:#7c2d12;--danger-line:#f8c9c9;--info-line:#c7d2fe;--success-line:#bbe5c8;--warn-soft:#fff7ed;--success-soft:#ecfdf5;--danger-soft:#fef2f2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--r-sm:6px;--r-control:8px;--r-card:10px;--r-hero:14px;--control-h:34px;--sidebar-w:216px;color:var(--text);background:var(--ground);-webkit-font-smoothing:antialiased;font-family:Plus Jakarta Sans Variable,system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,Noto Sans Devanagari,sans-serif;font-size:13px;line-height:1.45}@media (width<=699px),(pointer:coarse){:root{--control-h:44px;font-size:14px}}*{box-sizing:border-box}body,h1,h2,h3,p{margin:0}a{color:var(--brand-dark)}a:hover{color:var(--link-hover)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:12px}.num{font-variant-numeric:tabular-nums}.strong{font-weight:600}.stack{flex-direction:column;gap:12px;display:flex}.stack-sm{flex-direction:column;gap:6px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spread{justify-content:space-between}.grow{flex:1;min-width:0}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.btn{height:var(--control-h);border-radius:var(--r-control);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;text-decoration:none;transition:background-color .12s,border-color .12s;display:inline-flex}.btn:disabled{cursor:default;background:var(--disabled)!important;border-color:var(--disabled)!important;color:var(--text-2)!important}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--brand) 80%, #000);color:#fff}.btn-secondary{background:var(--surface);border-color:var(--control-line);color:var(--text)}.btn-secondary:hover:not(:disabled){border-color:var(--brand);background:var(--brand-tint);color:var(--text)}.btn-dark{background:var(--strong);color:var(--on-strong)}.btn-dark:hover:not(:disabled){background:var(--strong-hover);color:var(--on-strong)}.btn-danger{background:var(--surface);border-color:var(--danger-line);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-bg)}.btn-ghost{color:var(--brand-dark);background:0 0;padding:0 6px}.btn-ghost:hover:not(:disabled){background:var(--brand-tint)}.btn-sm{border-radius:var(--r-sm);height:28px;padding:0 10px;font-size:12px}.btn-icon{width:var(--control-h);padding:0}.btn-block{width:100%}@media (width<=699px),(pointer:coarse){.btn{font-size:14px}.btn-sm{height:36px;font-size:13px}}.field{color:var(--text);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.field .hint{color:var(--text-3);font-weight:500}.input,.select,.textarea{height:var(--control-h);border:1px solid var(--control-line);border-radius:var(--r-control);background:var(--surface);color:var(--text);width:100%;min-width:0;padding:0 10px;font-size:13px;font-weight:500}.textarea{resize:vertical;height:auto;padding:8px 10px}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}.input-group{height:var(--control-h);border:1px solid var(--control-line);border-radius:var(--r-control);background:var(--surface);align-items:center;display:flex;overflow:hidden}.input-group:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.input-group .addon{border-right:1px solid var(--line);color:var(--text);align-items:center;height:100%;padding:0 10px;font-size:13px;font-weight:600;display:flex}.input-group input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:100%;padding:0 10px;font-size:14px;font-weight:500}.search{height:var(--control-h);border:1px solid var(--control-line);border-radius:var(--r-control);background:var(--surface);color:var(--text-3);align-items:center;gap:8px;padding:0 10px;display:flex}.search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.search input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:13px}.check{cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.check input{width:16px;height:16px;accent-color:var(--brand);margin:0}.form-grid{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:10px;display:grid}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width<=699px),(pointer:coarse){.input,.select,.search input{font-size:16px}.check{min-height:44px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}.card-pad{padding:14px}.card-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:8px;padding:11px 14px;display:flex}.card-head h2,.card-head h3{font-size:14px;font-weight:700}.card-foot{border-top:1px solid var(--line-soft);color:var(--text-2);justify-content:space-between;align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex}.section-label{letter-spacing:.06em;color:var(--text-2);text-transform:uppercase;font-size:11px;font-weight:700}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;letter-spacing:.04em;color:var(--text-2);text-transform:uppercase;white-space:nowrap;background:var(--surface);padding:8px;font-size:11px;font-weight:700}.table td{border-top:1px solid var(--line-soft);vertical-align:middle;padding:7px 8px}.table th:first-child,.table td:first-child{padding-left:14px}.table th:last-child,.table td:last-child{padding-right:14px}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover{background:var(--hover)}.table tbody tr.selected{background:var(--brand-tint)}.table .right{text-align:right}.table-wide{min-width:720px}@media (width<=699px){.table-wide{min-width:0}.hide-sm{display:none}}.list{margin:0;padding:0;list-style:none}.list-row{border-top:1px solid var(--line-soft);color:var(--text);align-items:center;gap:10px;padding:9px 14px;text-decoration:none;display:flex}.list>li:first-child>.list-row,.list>.list-row:first-child{border-top:0}a.list-row:hover,button.list-row:hover{background:var(--hover);color:var(--text)}button.list-row{text-align:left;cursor:pointer;background:0 0;border-bottom:0;border-left:0;border-right:0;width:100%}.list-row .title{font-weight:600}.list-row .sub{color:var(--text-2);font-size:12px}.icon-tile{border-radius:7px;flex:none;place-items:center;width:28px;height:28px;display:grid}@media (width<=699px),(pointer:coarse){.list-row{min-height:52px}.icon-tile{border-radius:8px;width:32px;height:32px}}.dl{flex-direction:column;margin:0;font-size:12px;display:flex}.dl>div{border-top:1px solid var(--line-soft);justify-content:space-between;gap:12px;padding:6px 0;display:flex}.dl dt{color:var(--text-2)}.dl dd{text-align:right;margin:0;font-weight:600}.badge{white-space:nowrap;background:var(--line-soft);color:var(--text-2);border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success)}.badge-brand{background:var(--brand-tint);color:var(--brand-dark)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-info{background:var(--info-bg);color:var(--info)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-solid{background:var(--brand);color:#fff}.badge-outline{border:1.5px solid var(--brand);color:var(--brand-dark);background:0 0}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--control-line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;height:30px;padding:0 10px;font-size:12px;font-weight:500}.chip[aria-pressed=true]{background:var(--strong);border-color:var(--strong);color:var(--on-strong);font-weight:600}.chip .count{opacity:.75;font-variant-numeric:tabular-nums;margin-left:3px}@media (width<=699px),(pointer:coarse){.chip{height:36px}}.avatar{width:var(--size,28px);height:var(--size,28px);font-weight:700;font-size:calc(var(--size,28px) * .38);border-radius:999px;flex:none;place-items:center;display:grid}.notice{border-radius:var(--r-card);background:var(--brand-tint);border:1px solid var(--brand-soft);align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;display:flex}.notice-info{background:var(--info-bg);border-color:var(--info-line)}.notice-success{background:var(--success-bg);border-color:var(--success-line)}.error-text{color:var(--danger);font-size:12px;font-weight:500}.empty{text-align:center;color:var(--text-2);flex-direction:column;align-items:center;gap:8px;padding:28px 16px;display:flex}.empty .icon-tile{background:var(--line-soft);width:40px;height:40px;color:var(--text-2);border-radius:10px}.skeleton{background:linear-gradient(90deg, var(--skeleton-a), var(--skeleton-b), var(--skeleton-a));background-size:200% 100%;border-radius:6px;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.shell{min-height:100dvh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--ink);color:#e7e5e4;scrollbar-width:thin;scrollbar-color:var(--ink-line) transparent;flex-direction:column;flex:none;gap:14px;height:100dvh;padding:12px 10px 10px;transition:width .16s;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar-top{align-items:center;min-height:32px;display:flex}.brand-lockup{letter-spacing:.04em;color:#fff;white-space:nowrap;align-items:center;gap:8px;padding:2px 6px;font-size:14px;font-weight:800;text-decoration:none;display:flex}.brand-lockup img{flex:none;width:26px;height:26px}.brand-lockup span span{color:var(--accent-on-dark)}.brand-lockup:hover{color:#fff}.school-switch{background:var(--ink-2);border:1px solid var(--ink-line);border-radius:var(--r-control);color:var(--faint);align-items:center;gap:8px;padding:7px 8px;display:flex;position:relative}.school-switch:hover{border-color:#57504b}.school-switch .text{flex-direction:column;line-height:1.3;display:flex}.school-switch .mark-logo{object-fit:contain;background:#fff;padding:2px}.school-switch .mark{background:var(--brand);color:#fff;border-radius:6px;flex:none;place-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:grid}.school-switch .name{color:#fafaf9;font-size:12px;font-weight:600}.school-switch .meta{color:var(--faint);font-size:11px}.school-switch select{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.nav{flex-direction:column;gap:14px;display:flex}.nav-group{flex-direction:column;gap:1px;display:flex}.nav-label{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);white-space:nowrap;padding:0 10px 4px;font-size:10px;font-weight:700}.nav-link{border-radius:var(--r-sm);color:#d6d3d1;white-space:nowrap;align-items:center;gap:10px;height:32px;padding:0 10px;font-size:13px;text-decoration:none;display:flex;position:relative}.nav-link svg{flex:none}.nav-link:hover{color:#fff;background:#24201e}.nav-link[aria-current=page]{color:#fff;background:#2e2825;font-weight:600}.nav-link[aria-current=page]:before{content:"";background:var(--accent-on-dark);border-radius:0 3px 3px 0;width:3px;position:absolute;top:7px;bottom:7px;left:-10px}.nav-link[aria-current=page] svg{color:var(--accent-on-dark)}.collapse-btn{border-radius:var(--r-sm);height:32px;color:var(--faint);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:10px;margin-top:auto;padding:0 10px;font-size:12px;font-weight:600;display:flex}.collapse-btn:hover{color:#fff;background:#24201e}.shell[data-collapsed]{--sidebar-w:60px}.shell[data-collapsed] .sidebar{padding-left:8px;padding-right:8px}.shell[data-collapsed] .sidebar .label,.shell[data-collapsed] .nav-label,.shell[data-collapsed] .sidebar .school-switch .text{display:none}.shell[data-collapsed] .brand-lockup{padding:2px 9px}.shell[data-collapsed] .nav-group+.nav-group{border-top:1px solid var(--ink-line);padding-top:12px}.shell[data-collapsed] .nav{gap:12px}.shell[data-collapsed] .nav-link,.shell[data-collapsed] .collapse-btn{justify-content:center;height:36px;padding:0}.shell[data-collapsed] .nav-link[aria-current=page]:before{left:-8px}.shell[data-collapsed] .sidebar .school-switch{justify-content:center;padding:6px 0}.rail-tip{z-index:45;background:var(--ink);color:#fff;white-space:nowrap;pointer-events:none;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:600;position:fixed;left:68px;transform:translateY(-50%);box-shadow:0 4px 14px #00000040}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--topbar-bg);-webkit-backdrop-filter:saturate(1.4)blur(8px);backdrop-filter:saturate(1.4)blur(8px);border-bottom:1px solid var(--line);z-index:20;flex:none;align-items:center;gap:12px;height:54px;padding:0 20px;display:flex;position:sticky;top:0}.crumbs{color:var(--text-3);flex:auto;align-items:center;gap:6px;min-width:0;font-weight:500;display:flex}.crumbs a{color:var(--text-3);max-width:220px;text-decoration:none}.crumbs a:hover{color:var(--text)}.crumbs [aria-current]{color:var(--text);font-weight:700}.global-search{border:1px solid var(--control-line);border-radius:var(--r-control);background:var(--ground);width:clamp(200px,26vw,380px);height:34px;color:var(--text-3);cursor:pointer;text-align:left;flex:none;align-items:center;gap:8px;padding:0 6px 0 10px;font-size:13px;display:flex}.global-search:hover{border-color:var(--control-line-hover);background:var(--surface)}kbd{border:1px solid var(--line);background:var(--surface);height:20px;color:var(--text-3);border-bottom-width:2px;border-radius:5px;align-items:center;gap:2px;padding:0 5px;font:600 11px/1 inherit;display:inline-flex}.topbar-actions{flex:none;align-items:center;gap:6px;margin-left:auto;display:flex}.icon-btn{border-radius:var(--r-control);width:34px;height:34px;color:var(--text-2);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:relative}.icon-btn:hover,.icon-btn[aria-expanded=true]{background:var(--line-soft);color:var(--text)}.theme-toggle svg{transition:transform .25s}.theme-toggle:hover svg{transform:rotate(-18deg)}@media (prefers-reduced-motion:reduce){.theme-toggle svg{transition:none}.theme-toggle:hover svg{transform:none}}.dot-count{background:var(--brand);color:#fff;border:2px solid var(--surface);box-sizing:content-box;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:3px;right:2px}.user-btn{border-radius:var(--r-control);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;height:38px;padding:0 8px 0 4px;display:flex}.user-btn:hover,.user-btn[aria-expanded=true]{background:var(--line-soft)}.user-btn .who{flex-direction:column;min-width:0;max-width:160px;line-height:1.25;display:flex}.user-btn .who strong{font-size:12px}.user-btn .who span{color:var(--text-3);font-size:11px}.pop-anchor{position:relative}.popover{z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);width:240px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 12px 32px #1c191724}.popover-wide{width:360px}.popover-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.popover-foot{border-top:1px solid var(--line-soft);padding:8px 14px;font-size:12px;font-weight:600}.popover-empty{color:var(--text-3);text-align:center;padding:18px 14px}.popover-list{max-height:380px;margin:0;padding:4px;list-style:none;overflow-y:auto}.popover-list button{border-radius:var(--r-sm);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.popover-list button:hover{background:var(--ground)}.menu{flex-direction:column;padding:4px;display:flex}.menu a,.menu button{border-radius:var(--r-sm);height:34px;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0 10px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.menu a:hover,.menu button:hover{background:var(--ground);color:var(--text)}.menu svg{color:var(--text-3)}.appearance{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:8px 12px 10px}.appearance-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.appearance-options{border-radius:var(--r-control);background:var(--surface-2);grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;display:grid}.appearance-options button{height:28px;color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.appearance-options button:hover{color:var(--text)}.appearance-options button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #1c19171f}@media (width<=699px),(pointer:coarse){.appearance-options button{height:36px}}.palette-backdrop{z-index:60;background:#1c191766;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.palette{background:var(--surface);border-radius:12px;flex-direction:column;width:min(600px,100%);max-height:70vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #1c19174d}.palette-input{border-bottom:1px solid var(--line);height:50px;color:var(--text-3);align-items:center;gap:10px;padding:0 14px;display:flex}.palette-input input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:15px}.palette-results{margin:0;padding:6px;list-style:none;overflow-y:auto}.palette-results li[role=option]{border-radius:var(--r-sm);cursor:pointer;color:var(--text-2);align-items:center;gap:10px;padding:8px 10px;display:flex}.palette-results li[aria-selected=true]{background:var(--brand-tint);color:var(--brand-dark)}.palette-results li .strong{color:var(--text)}.palette-foot{border-top:1px solid var(--line-soft);background:var(--ground);gap:14px;padding:8px 14px;display:flex}.phone-only{display:none!important}.mobile-only{display:none}.page{flex-direction:column;gap:14px;width:100%;padding:18px 24px 32px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.page-head .titles{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.page-head h1{letter-spacing:-.01em;font-size:20px;font-weight:700;line-height:1.3}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grid-cards{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));align-items:start;gap:12px;display:grid}.kpis{grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:12px;display:grid}.kpi{flex-direction:column;gap:2px;padding:12px 14px;display:flex}.kpi .label{color:var(--text-2);font-size:12px;font-weight:600}.kpi .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1.25}.kpi .sub{color:var(--text-2);font-size:12px;font-weight:500}.split{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.split>.primary{flex:999 560px;min-width:0}.split>.side{flex:300px;max-width:380px;position:sticky;top:66px}.progress{background:var(--line-soft);border-radius:999px;height:6px;overflow:hidden}.progress>span{background:var(--brand);border-radius:999px;height:100%;display:block}@media (width>=1600px){.page{gap:16px;padding:22px 32px 40px}.topbar{padding:0 28px}.split>.side{max-width:420px}}@media (width<=1199px){.page{padding:16px 18px 28px}.topbar{padding:0 16px}.user-btn .who{display:none!important}}@media (width<=899px){.global-search{justify-content:center;width:38px;padding:0}.global-search .grow,.global-search kbd{display:none}.split>.side{max-width:none;position:static}}.tabbar,.sheet-backdrop{display:none}@media (width<=699px){.sidebar,.not-phone{display:none!important}.phone-only{display:flex!important}.mobile-only{display:flex}.desktop-only{display:none!important}.topbar{height:auto;min-height:56px;padding:0 8px 0 12px;padding-top:env(safe-area-inset-top);gap:4px}.icon-btn{width:40px;height:40px}.user-btn{padding:0 4px}.page{gap:12px;padding:12px 12px 96px}.page-head h1{font-size:18px}.card{border-radius:12px}.popover{left:8px;right:8px;top:calc(56px + env(safe-area-inset-top));width:auto;position:fixed}.palette-backdrop{padding:calc(8px + env(safe-area-inset-top)) 8px 8px}.palette{max-height:80vh}.palette-foot{display:none}.tabbar{z-index:30;background:var(--bar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:4px 6px max(8px, env(safe-area-inset-bottom));grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a,.tabbar button{min-height:50px;color:var(--text-2);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:10.5px;font-weight:600;text-decoration:none;display:flex}.tabbar [aria-current=page]{color:var(--brand);font-weight:700}.phone-brand{flex:1;align-items:center;gap:10px;min-width:0}.phone-brand img{flex:none;width:30px;height:30px}.sheet-backdrop{z-index:50;background:#1c191773;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-height:85dvh;padding:8px 14px max(16px, env(safe-area-inset-bottom));border-radius:18px 18px 0 0;flex-direction:column;gap:14px;animation:.18s ease-out sheet-up;display:flex;overflow-y:auto}.sheet .school-switch{background:var(--ink)}.sheet-grip{background:var(--line);border-radius:99px;align-self:center;width:40px;height:4px}.sheet-group{flex-direction:column;gap:8px;display:flex}.sheet-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.sheet-grid a{background:var(--ground);color:var(--text);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:10px 2px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.sheet-grid a svg{color:var(--brand)}.sheet-grid a[aria-current=page]{background:var(--brand-tint);color:var(--brand-dark);outline:1.5px solid var(--brand-soft)}}@keyframes sheet-up{0%{opacity:.6;transform:translateY(24px)}}.auth{flex-wrap:wrap;min-height:100dvh;display:flex}.auth-brand{background:var(--ink);color:#fff;flex-direction:column;flex:420px;gap:28px;padding:32px 40px;display:flex;position:relative;overflow:hidden}.auth-brand:after{content:"";background:var(--brand);opacity:.16;border-radius:999px;width:420px;height:420px;position:absolute;bottom:-120px;right:-100px}.auth-brand>*{z-index:1;position:relative}.auth-brand h1{letter-spacing:-.02em;text-wrap:balance;max-width:440px;font-size:30px;font-weight:800;line-height:1.2}.auth-brand p{color:#d6d3d1;max-width:440px;font-size:14px}.auth-brand ul{color:#e7e5e4;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.auth-brand li{align-items:center;gap:10px;display:flex}.auth-brand li .icon-tile{background:var(--ink-2);width:26px;height:26px;color:var(--accent-on-dark)}.auth-form-wrap{flex:440px;justify-content:center;align-items:center;padding:32px 24px;display:flex}.auth-form{flex-direction:column;gap:16px;width:100%;max-width:340px;display:flex}.auth-form h2{letter-spacing:-.01em;font-size:20px;font-weight:700}.otp-input{letter-spacing:.5em;text-align:center;height:44px!important;font-size:20px!important;font-weight:700!important}.divider{color:var(--text-3);align-items:center;gap:10px;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.dev-code{border-radius:var(--r-control);background:var(--success-bg);color:var(--success);padding:8px 10px;font-size:12px;font-weight:600}@media (width<=699px){.auth-brand{display:none}.auth-form-wrap{align-items:flex-start;padding:48px 20px 24px}}.splash{min-height:100dvh;color:var(--text-2);place-items:center;display:grid}.marks{flex:none;gap:4px;display:flex}.mark-btn{border-radius:var(--r-control);border:1px solid var(--control-line);background:var(--surface);width:40px;height:36px;color:var(--text-2);cursor:pointer;font-size:13px;font-weight:800}.mark-btn[aria-pressed=true][data-code=P]{color:#fff;background:#15803d;border-color:#15803d}.mark-btn[aria-pressed=true][data-code=A]{background:var(--brand);border-color:var(--brand);color:#fff}.mark-btn[aria-pressed=true][data-code=L]{background:var(--warn-bg);border:1.5px solid var(--warn);color:var(--warn)}.mark-btn:disabled{cursor:default;opacity:.6}.status-pill{border-radius:6px;justify-content:center;min-width:28px;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex}.status-P{background:var(--success-bg);color:var(--success)}.status-A{background:var(--brand-tint);color:var(--brand-dark)}.status-L{background:var(--warn-bg);color:var(--warn)}.status-E{border:1.5px solid var(--brand);color:var(--brand-dark)}.register-counts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.register-counts>div{border-radius:var(--r-control);align-items:baseline;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;display:flex}.register-counts strong{font-variant-numeric:tabular-nums;font-size:18px}.submit-bar{z-index:4;background:var(--surface);border-top:1px solid var(--line);align-items:center;gap:12px;padding:10px 14px;display:flex;position:sticky;bottom:0}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.calendar .head{text-align:center;color:var(--text-3);padding-bottom:2px;font-size:11px;font-weight:700}.calendar .day{font-variant-numeric:tabular-nums;height:34px;color:var(--text-3);border-radius:6px;place-items:center;font-size:12px;display:grid}.calendar .day.P{background:var(--success-bg);color:var(--success);font-weight:600}.calendar .day.A{background:var(--brand);color:#fff;font-weight:700}.calendar .day.L{background:var(--warn-bg);color:var(--warn);font-weight:700}.calendar .day.E{border:1.5px solid var(--brand);color:var(--brand-dark);font-weight:700}.calendar .day.today{outline:2px solid var(--text);outline-offset:-2px}.unread-dot{background:var(--brand);border-radius:999px;flex:none;width:8px;height:8px}@media (width<=699px),(pointer:coarse){.mark-btn{width:44px;height:44px}}@media (width<=699px){.submit-bar{bottom:calc(62px + env(safe-area-inset-bottom));margin:0 -14px}}.tabs{border-bottom:1px solid var(--line);gap:4px;display:flex;overflow-x:auto}.tab{color:var(--text-2);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:8px 10px;font-size:13px;font-weight:600}.tab:hover{color:var(--text)}.tab.active{color:var(--brand-dark);border-bottom-color:var(--brand)}@media (width<=699px),(pointer:coarse){.tab{min-height:44px}}.receipt-grid{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;font-size:13px;display:grid}.receipt-grid dt{color:var(--text-2);font-weight:600}.receipt-grid dd{margin:0}@media print{.sidebar,.topbar,.tabbar,.no-print{display:none!important}.shell,.main{margin:0!important;padding:0!important;display:block!important}.page{max-width:none!important;padding:0!important}html,body,.shell,.main{background:#fff!important}.receipt{box-shadow:none!important;border:1px solid #999!important}}.dialog{width:min(440px,100vw - 32px);color:var(--text);background:var(--surface);border:0;border-radius:14px;padding:20px;box-shadow:0 20px 60px #1c191740}.dialog::backdrop{background:#1c191773}.attach-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.attach-item{border:1px solid var(--line-soft);background:var(--surface);border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.attach-thumb{object-fit:cover;border-radius:6px;flex:none;width:36px;height:36px}.attach-icon{background:var(--line-soft);width:36px;height:36px;color:var(--text-2);border-radius:6px;flex:none;place-items:center;display:grid}.hw-work{border-left:3px solid var(--line);background:var(--ground);border-radius:0 8px 8px 0;margin-top:8px;padding:8px 10px;display:block}.attach-gallery{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;max-width:460px;display:grid}.attach-gallery img{aspect-ratio:1;object-fit:cover;border:1px solid var(--line-soft);border-radius:8px;width:100%;display:block}.attach-chip{color:var(--text);align-items:center;gap:6px;max-width:100%;text-decoration:none;display:inline-flex}.attach-chip .faint{font-size:11px}.date-tile{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;flex:none;align-items:center;width:44px;line-height:1.1;display:flex;overflow:hidden}.date-tile span{text-align:center;background:var(--brand);color:#fff;text-transform:uppercase;width:100%;padding:2px 0;font-size:10px;font-weight:700}.date-tile strong{font-variant-numeric:tabular-nums;padding:3px 0 4px;font-size:17px}.report-sheets{flex-direction:column;align-items:center;gap:18px;display:flex}.report-sheet{border:1px solid var(--line);border-radius:var(--r-card);color:#111;background:#fff;flex-direction:column;gap:14px;width:100%;max-width:794px;padding:28px 32px;font-size:12px;display:flex}.report-head{border-bottom:2px solid var(--brand);align-items:center;gap:14px;padding-bottom:12px;display:flex}.report-head img{width:48px;height:48px}.report-head h2{letter-spacing:-.01em;font-size:20px;font-weight:800}.report-head span{color:#444;font-weight:600;display:block}.report-head small{color:#555;font-size:11px;display:block}.report-head img{object-fit:contain}.report-meta{grid-template-columns:repeat(3,1fr);gap:6px 16px;margin:0;display:grid}.report-meta dt{color:#666;text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}.report-meta dd{margin:0;font-weight:600}.report-table{border-collapse:collapse;width:100%}.report-table th,.report-table td{text-align:center;border:1px solid #cfc8c2;padding:5px 8px}.report-table th{text-transform:uppercase;letter-spacing:.04em;background:#f6f1ec;font-size:10px}.report-table td:first-child,.report-table th:first-child{text-align:left}.report-total td{background:#fbf8f5;font-weight:700}.report-grid{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.report-remarks{border:1px solid #cfc8c2;border-radius:6px;min-height:64px;padding:8px 10px}.report-remarks p{white-space:pre-line;margin-top:4px}.report-promotion{font-size:13px}.report-foot{justify-content:space-between;margin-top:28px;display:flex}.report-foot span{text-align:center;color:#444;border-top:1px solid #777;width:28%;padding-top:4px}.report-scale{color:#666;font-size:9.5px}@media (width<=699px){.report-sheet{padding:16px}.report-meta{grid-template-columns:1fr 1fr}.report-grid{grid-template-columns:1fr}}@media print{@page{size:A4;margin:12mm}.report-sheets{gap:0;display:block}.report-sheet{break-after:page;border:0;border-radius:0;max-width:none;padding:0 1px}.report-sheet:last-child{break-after:auto}.report-table th,.report-total td{-webkit-print-color-adjust:exact;print-color-adjust:exact}body.printing-sheet *{visibility:hidden}body.printing-sheet .print-only-this,body.printing-sheet .print-only-this *{visibility:visible}body.printing-sheet .print-only-this{width:100%;position:absolute;top:0;left:0}}.brand-logo-box{border:1px dashed var(--control-line);background:#fff;border-radius:12px;flex:none;place-items:center;width:88px;height:88px;display:grid;overflow:hidden}.brand-logo-box img{object-fit:contain;width:100%;height:100%;padding:6px}.swatch{width:28px;height:28px;box-shadow:0 0 0 1px var(--control-line);cursor:pointer;border:2px solid #fff;border-radius:8px;padding:0}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--text)}.swatch-input{border:1px solid var(--control-line);cursor:pointer;background:#fff;border-radius:8px;width:34px;height:34px;padding:2px}.brand-preview{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);overflow:hidden}.brand-preview-bar{background:var(--ink);color:#fff;border-bottom:3px solid var(--brand);align-items:center;gap:10px;padding:10px 12px;display:flex}.brand-preview-bar img,.brand-preview-bar .mark{object-fit:contain;width:32px;height:32px;color:var(--brand);background:#fff;border-radius:6px;place-items:center;font-size:12px;font-weight:800;display:grid}.brand-preview-bar span{flex-direction:column;line-height:1.25;display:flex}.brand-preview-bar small{color:var(--accent-on-dark)}.tt-grid th,.tt-grid td{border-left:1px solid var(--line-soft);vertical-align:top}.tt-grid th:first-child,.tt-grid td:first-child{border-left:0}.tt-grid td{min-width:110px;padding:5px}.tt-grid .tt-break td{background:var(--ground);padding-top:3px;padding-bottom:3px}.tt-grid th.tt-today{color:var(--brand-dark);box-shadow:inset 0 -2px 0 var(--brand)}.tt-cell{background:var(--brand-tint);text-align:left;border:1px solid #0000;border-radius:7px;flex-direction:column;gap:1px;width:100%;min-height:44px;padding:6px 8px;font-size:12px;line-height:1.3;display:flex}.tt-cell+.tt-cell{margin-top:4px}.tt-cell strong{color:var(--text);font-size:12.5px}.tt-cell span{color:var(--text-2)}.tt-cell em{color:var(--info);font-size:11px;font-style:normal;font-weight:700}.tt-cover{background:var(--info-bg)}.tt-changed{border-color:var(--warn)}button.tt-edit{cursor:pointer;font:inherit}button.tt-edit:hover:not(:disabled){border-color:var(--brand)}.tt-empty{border:1px dashed var(--control-line);color:var(--faint);background:0 0;justify-content:center;align-items:center}.tt-active{box-shadow:0 0 0 3px var(--brand-ring);border-color:var(--brand)!important}.wrab-map{background:var(--placeholder);width:100%;position:relative;overflow:hidden}.wrab-map-loading{background:linear-gradient(90deg, var(--placeholder) 0%, var(--placeholder-2) 50%, var(--placeholder) 100%);background-size:200% 100%;animation:1.4s linear infinite map-shimmer}@keyframes map-shimmer{to{background-position:-200% 0}}.wrab-map .maplibregl-ctrl-group{border:1px solid var(--line-soft);border-radius:10px;box-shadow:0 2px 10px #281e141f}.wrab-map .maplibregl-ctrl-attrib{background:#fbfaf7d9;font-size:10px}.map-bus{cursor:pointer;background:0 0;border:0;width:34px;height:34px;padding:0;position:relative}.map-bus-dot{background:var(--brand);border:3px solid #fff;border-radius:50%;place-items:center;display:grid;position:absolute;inset:3px;box-shadow:0 3px 10px #281e1459}.map-bus-dot svg{transition:transform .6s}.map-bus-pulse{background:var(--brand);opacity:.35;border-radius:50%;animation:2s ease-out infinite map-pulse;position:absolute;inset:0}@keyframes map-pulse{0%{opacity:.45;transform:scale(.7)}to{opacity:0;transform:scale(1.9)}}.map-bus-label{white-space:nowrap;font:600 11px/1 var(--font,inherit);color:#2c241e;background:#fff;border-radius:999px;padding:3px 7px;position:absolute;top:100%;left:50%;transform:translate(-50%,4px);box-shadow:0 1px 6px #281e142e}.map-bus.stale .map-bus-dot{background:#9b9188}.map-bus.stale .map-bus-pulse{display:none}.map-bus.selected .map-bus-dot{outline:3px solid color-mix(in srgb, var(--brand) 35%, transparent)}.map-pin{cursor:pointer;filter:drop-shadow(0 2px 3px #281e1459);background:50%/contain no-repeat;width:22px;height:30px}.map-pin-brand,.map-pin-edit{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 30'%3E%3Cpath d='M11 29s9-9.6 9-17A9 9 0 0 0 2 12c0 7.4 9 17 9 17z' fill='%233f3730' stroke='%23fff' stroke-width='2'/%3E%3Ccircle cx='11' cy='12' r='3.5' fill='%23fff'/%3E%3C/svg%3E")}.map-pin-edit{cursor:grab;width:28px;height:38px}.map-pin-muted{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 30'%3E%3Cpath d='M11 29s9-9.6 9-17A9 9 0 0 0 2 12c0 7.4 9 17 9 17z' fill='%23a59a8f' stroke='%23fff' stroke-width='2'/%3E%3Ccircle cx='11' cy='12' r='3.5' fill='%23fff'/%3E%3C/svg%3E")}.map-pin-warn{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 30'%3E%3Cpath d='M11 29s9-9.6 9-17A9 9 0 0 0 2 12c0 7.4 9 17 9 17z' fill='%23b7791f' stroke='%23fff' stroke-width='2'/%3E%3Ccircle cx='11' cy='12' r='3.5' fill='%23fff'/%3E%3C/svg%3E")}.map-legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.map-legend i{vertical-align:-1px;background:#fff;border:2px solid #3f3730;border-radius:50%;width:10px;height:10px;margin-right:5px;display:inline-block}.live-layout{grid-template-columns:minmax(0,1fr) 300px;gap:0;display:grid}.live-layout .live-list{border-left:1px solid var(--line-soft);max-height:560px;overflow:auto}@media (width<=899px){.live-layout{grid-template-columns:1fr}.live-layout .live-list{border-left:0;border-top:1px solid var(--line-soft);max-height:none}}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.stat-tile{background:var(--surface,#fff);border:1px solid var(--line-soft);border-radius:14px;flex-direction:column;gap:4px;min-width:0;padding:14px 16px;display:flex}.stat-label{color:var(--muted);font-size:12.5px}.stat-value{letter-spacing:-.01em;color:var(--text);font-size:26px;font-weight:650;line-height:1.15}.stat-sub{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.status-dot{color:var(--text-2);white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:inline-flex}.status-dot i{border-radius:50%;width:8px;height:8px;display:inline-block}.chart-grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px;display:grid}.chart-wrap{position:relative}.chart-svg{outline:none;width:100%;height:auto;display:block;overflow:visible}.chart-svg:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:6px}.chart-grid{stroke:var(--chart-grid);stroke-width:1px}.chart-target,.chart-crosshair{stroke:var(--chart-guide);stroke-width:1px}.chart-tick{fill:var(--muted,#7a6f64);font-variant-numeric:tabular-nums;font-size:10.5px}.chart-line{fill:none;stroke:var(--brand);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--brand);stroke:var(--surface);stroke-width:2px}.chart-bar{fill:var(--brand);opacity:.9}.chart-bar.active{opacity:1}.chart-tip{background:var(--surface);border:1px solid var(--line-soft);pointer-events:none;white-space:nowrap;color:var(--muted);z-index:2;border-radius:8px;flex-direction:column;padding:6px 9px;font-size:12px;display:flex;position:absolute;top:0;transform:translate(-50%,-100%);box-shadow:0 4px 16px #281e141f}.chart-tip strong{color:var(--text);font-size:13px}.barlist{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.barlist li{grid-template-columns:minmax(90px,30%) 1fr auto 74px;align-items:center;gap:10px;font-size:13px;display:grid}.barlist-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.barlist-track{background:var(--track);border-radius:0 4px 4px 0;height:10px;position:relative}.barlist-fill{background:var(--brand);border-radius:0 4px 4px 0;position:absolute;inset:0 auto 0 0}.barlist-value{text-align:right;min-width:58px;font-weight:600}@media (width<=599px){.barlist li{grid-template-columns:minmax(80px,34%) 1fr auto}.barlist li>.status-dot,.barlist li>span:last-child:empty{display:none}}.section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:8px 0 0;font-size:13px;font-weight:650}.info{color:var(--muted);cursor:help;margin-left:2px;font-size:12px;display:inline-block}.template-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.template-card{text-align:left;border:1px solid var(--line-soft);background:var(--surface,#fff);cursor:pointer;font:inherit;color:inherit;border-radius:14px;flex-direction:column;padding:0;transition:box-shadow .15s,border-color .15s;display:flex;overflow:hidden}.template-card:hover{box-shadow:0 8px 24px #281e141a}.template-card.chosen{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand)}.template-thumb{background:var(--placeholder);pointer-events:none;height:170px;position:relative;overflow:hidden}.template-thumb iframe{transform-origin:0 0;border:0;width:1280px;height:800px;position:absolute;top:0;left:0;transform:scale(.21)}.template-meta{flex-direction:column;gap:4px;padding:12px 14px;display:flex}.swatches{gap:5px;margin-top:4px;display:flex}.swatches i{border-radius:50%;width:16px;height:16px;display:inline-block}.design-layout{grid-template-columns:minmax(280px,380px) 1fr;align-items:start;gap:16px;display:grid}.design-preview{height:640px;overflow:hidden}.design-preview iframe{border:0;width:100%;height:100%}@media (width<=899px){.design-layout{grid-template-columns:1fr}.design-preview{height:480px}}.color-input{height:40px;padding:4px}.select-sm{width:auto;height:auto;padding:4px 8px;font-size:12.5px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.photo-tile{margin:0}.photo-tile img{aspect-ratio:4/3;object-fit:cover;background:var(--placeholder);border-radius:10px;width:100%}.photo-tile figcaption{margin-top:6px}.panel-backdrop{z-index:60;background:#1c191766;justify-content:flex-end;display:flex;position:fixed;inset:0}.panel{border-radius:0;width:min(860px,100%);height:100%;animation:.18s ease-out panel-in;overflow-y:auto}@keyframes panel-in{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:none}}.ai-panel{border:1px dashed color-mix(in srgb, var(--brand) 40%, var(--line-soft));background:color-mix(in srgb, var(--brand) 4%, var(--surface,#fff));border-radius:12px;padding:12px}section.card.ai-panel{padding:0}.ai-result{background:var(--surface,#fff);border:1px solid var(--line-soft);border-radius:10px;padding:10px 12px}.segmented{background:var(--surface-2,#f3efe9);border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.segmented button{color:var(--text-2,#5b5148);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:9px 10px;font:600 13.5px/1 inherit;display:flex}.segmented button[aria-selected=true]{background:var(--surface,#fff);color:var(--text,#1f1a16);box-shadow:0 1px 4px #281e141f}.link-button{color:var(--brand);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.input-group .addon-button{border:0;border-left:1px solid var(--line);cursor:pointer;color:var(--text-2,#5b5148);background:0 0;border-right:0;font-size:12.5px;font-weight:600}.card{box-shadow:0 1px 2px #1c19170a}a.card,.card.is-link{transition:border-color .12s,box-shadow .12s,transform .12s}.page-head .subtitle{color:var(--text-3);font-weight:500}.hello{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.hello h1{letter-spacing:-.015em;font-size:20px;font-weight:750;line-height:1.25}.hello p{color:var(--text-3);margin-top:1px;font-size:12.5px;font-weight:500}.dash{grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;display:grid}.dash>*{min-width:0}.s2{grid-column:span 2}.s3{grid-column:span 3}.s4{grid-column:span 4}.s5{grid-column:span 5}.s6{grid-column:span 6}.s7{grid-column:span 7}.s8{grid-column:span 8}.s9{grid-column:span 9}.s12{grid-column:span 12}.metrics{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}@media (width<=1199px){.s2,.s3,.s4,.s5,.s6{grid-column:span 6}.s7,.s8,.s9{grid-column:span 12}}@media (width<=799px){.dash>*{grid-column:span 12!important}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1200px) and (height>=700px){.page.page-fit{height:calc(100dvh - 54px);padding-bottom:18px;overflow:hidden}.page-fit>.dash{flex:1;min-height:0}.page-fit .dash-fill{grid-auto-rows:minmax(0,1fr)}.page-fit .dash-panel{height:100%}.page-fit .panel-body{overflow-y:auto}}@media not ((width>=1200px) and (height>=700px)){.panel-body{max-height:420px;overflow-y:auto}.panel-body.chart-body,.panel-body.no-cap{max-height:none;overflow:visible}.dash-panel .trend{height:220px}}.dash-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel-head{border-bottom:1px solid var(--line-soft);flex:none;align-items:center;gap:10px;padding:11px 14px;display:flex}.panel-head h2{letter-spacing:-.005em;font-size:13.5px;font-weight:700;line-height:1.3}.panel-sub{color:var(--text-3);margin-top:1px;font-size:11.5px;font-weight:500}.panel-icon{background:var(--brand-tint);width:26px;height:26px;color:var(--brand-dark);border-radius:7px;flex:none;place-items:center;display:grid}.panel-body{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;flex:1;min-height:0;display:flex}.panel-body:not(.flush){padding:12px 14px}.panel-body>.list,.panel-body>ul,.panel-body>.empty{flex:none}.panel-body .list-row{padding-left:14px;padding-right:14px}.panel-body.chart-body{flex-direction:column;padding:8px 12px 6px;display:flex}.panel-foot{border-top:1px solid var(--line-soft);color:var(--text-2);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex}.panel-link{color:var(--brand-dark);white-space:nowrap;align-items:center;gap:4px;font-size:12px;font-weight:650;text-decoration:none;display:inline-flex}.panel-link:hover{color:var(--brand)}.panel-link svg{transition:transform .12s}.panel-link:hover svg{transform:translate(2px)}.row-meta{color:var(--text-3);white-space:nowrap;flex:none;align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.metric{color:var(--text);flex-direction:column;gap:4px;min-height:104px;padding:12px 14px 11px;text-decoration:none;display:flex;position:relative;overflow:hidden}.metric.is-link:hover{border-color:var(--control-line-hover);color:var(--text);box-shadow:0 6px 18px #1c191712}.metric-top{align-items:center;gap:8px;display:flex}.metric-icon{border-radius:7px;flex:none;place-items:center;width:26px;height:26px;display:grid}.metric-label{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.metric-go{color:var(--faint);transition:transform .12s,color .12s}.metric.is-link:hover .metric-go{color:var(--brand);transform:translate(2px)}.metric-value{letter-spacing:-.025em;margin-top:4px;font-size:24px;font-weight:750;line-height:1.15}.metric-value small{color:var(--text-3);letter-spacing:0;margin-left:3px;font-size:13px;font-weight:600}.metric-foot{color:var(--text-3);align-items:center;gap:6px;min-width:0;font-size:11.5px;font-weight:500;display:flex}.metric.has-spark .metric-foot{padding-right:70px}.metric-spark{width:64px;height:24px;position:absolute;bottom:12px;right:12px}.metric-progress{background:var(--line-soft);border-radius:99px;height:4px;margin-top:4px;overflow:hidden}.metric-progress span{background:var(--brand);border-radius:99px;height:100%;display:block}.delta{border-radius:99px;flex:none;align-items:center;height:18px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.delta.up{background:var(--success-bg);color:var(--success)}.delta.down{background:var(--danger-bg);color:var(--danger)}.tone-brand{background:var(--brand-tint);color:var(--brand-dark)}.tone-success{background:var(--success-bg);color:var(--success)}.tone-warn{background:var(--warn-bg);color:var(--warn)}.tone-danger{background:var(--danger-bg);color:var(--danger)}.tone-info{background:var(--info-bg);color:var(--info)}.tone-neutral{background:var(--line-soft);color:var(--text-2)}.sparkline path{fill:none;stroke:var(--brand);stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.sparkline circle{fill:var(--brand)}.ring{flex:none;place-items:center;display:grid;position:relative;background:0 0!important}.ring svg{width:100%;height:100%;position:absolute;inset:0}.ring-track{fill:none;stroke:var(--line-soft);stroke-width:7px}.ring-value{fill:none;stroke:var(--brand);stroke-width:7px;stroke-linecap:round;transition:stroke-dasharray .5s}.ring.tone-success .ring-value{stroke:#16a34a}.ring.tone-warn .ring-value{stroke:#d97706}.ring.tone-danger .ring-value{stroke:var(--danger)}.ring-label{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:15px;font-weight:750;position:relative;color:var(--text)!important}.trend{flex:1;width:100%;min-height:140px;margin:-4px -2px -6px;position:relative}.trend svg{display:block;position:absolute;inset:0}.bars{margin:0;padding:4px 0;list-style:none}.bars-row{color:var(--text);grid-template-columns:minmax(80px,38%) 1fr 56px;align-items:center;gap:10px;padding:6px 14px;font-size:12.5px;text-decoration:none;display:grid}a.bars-row:hover{background:var(--hover);color:var(--text)}.bars-label{font-weight:600}.bars-track{background:var(--line-soft);border-radius:99px;height:8px;overflow:hidden}.bars-fill{border-radius:99px;height:100%;display:block}.bars-fill.tone-brand{background:var(--brand)}.bars-fill.tone-success{background:#16a34a}.bars-fill.tone-warn{background:#d97706}.bars-fill.tone-danger{background:var(--danger)}.bars-fill.tone-info{background:#4f46e5}.bars-fill.tone-neutral{background:#a8a29e}.bars-value{text-align:right;font-weight:650}.quick{flex-wrap:wrap;gap:6px;display:flex}.quick-btn{border:1px solid var(--control-line);background:var(--surface);height:32px;color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:600;text-decoration:none;transition:border-color .12s,background .12s;display:inline-flex}.quick-btn svg{color:var(--brand)}.quick-btn:hover{border-color:var(--brand);background:var(--brand-tint);color:var(--text)}@media (width<=699px),(pointer:coarse){.quick-btn{height:38px}}@media (width<=699px){.quick{scrollbar-width:none;flex-wrap:nowrap;margin:0 -12px;padding:0 12px 2px;overflow-x:auto}}.timeline{margin:0;padding:4px 0;list-style:none}.timeline li{grid-template-columns:62px 1fr auto;align-items:center;gap:10px;padding:7px 14px;display:grid;position:relative}.timeline .t-time{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:650;line-height:1.25}.timeline .t-time small{color:var(--faint);font-weight:500;display:block}.timeline .t-body{border-left:3px solid var(--line);min-width:0;padding:2px 0 2px 10px}.timeline .t-body strong{font-size:13px;display:block}.timeline .t-body span{color:var(--text-3);font-size:11.5px}.timeline li.now .t-body{border-left-color:var(--brand)}.timeline li.now{background:var(--brand-tint)}.timeline li.past{opacity:.55}.timeline li.brk .t-body{border-left-style:dashed}.checklist{margin:0;padding:6px 0;list-style:none}.checklist a{color:var(--text-2);align-items:center;gap:10px;padding:7px 14px;font-size:12.5px;font-weight:500;text-decoration:none;display:flex}.checklist a:hover{background:var(--hover);color:var(--text)}.checklist .done{color:var(--success);font-weight:600}.nav{gap:12px}.nav-link{height:30px}.sidebar{gap:12px}@media (height>=900px){.nav-link{height:32px}.nav{gap:14px}}.row-2{grid-row:span 2}@media (width<=1199px){.row-2{grid-row:auto}}.setup-progress{border-radius:var(--r-control);background:var(--ground);border:1px solid var(--line-soft);color:var(--text);flex-direction:column;gap:8px;margin:10px 14px 4px;padding:10px 12px;font-size:12.5px;text-decoration:none;display:flex}.setup-progress:hover{border-color:var(--brand-soft);color:var(--text)}.setup-steps{grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;display:grid}.setup-steps span{background:var(--line);border-radius:99px;height:5px}.setup-steps span.done{background:#16a34a}.shortcut-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.shortcut{border-radius:var(--r-card);background:var(--ground);border:1px solid var(--line-soft);color:var(--text);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:14px 6px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.shortcut svg{color:var(--brand)}.shortcut:hover{border-color:var(--brand-soft);background:var(--brand-tint);color:var(--text)}@media (width<=699px){.metric{gap:2px;min-height:0;padding:10px 12px}.metric-value{margin-top:2px;font-size:20px}.metric-label{white-space:normal;line-height:1.25}.metric-foot{white-space:normal}.metric-foot .ellipsis{white-space:normal;overflow:visible}.metric.has-spark .metric-foot{padding-right:0}.metric-spark,.metric-go{display:none}.hello h1{font-size:18px}.hello p{display:none}}.child-hero{background:linear-gradient(120deg, var(--surface) 55%, var(--brand-tint));flex-wrap:wrap;align-items:center;gap:14px;padding:14px 16px;display:flex}.child-id{flex:220px;min-width:0}.child-id h1{letter-spacing:-.015em;font-size:20px;font-weight:750;line-height:1.2}.child-id p{color:var(--text-3);margin-top:2px;font-size:12.5px;font-weight:500}.hero-stats{flex-wrap:wrap;gap:8px;display:flex}.hero-stat{border-radius:var(--r-card);border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;flex-direction:column;align-items:flex-start;gap:1px;min-width:112px;padding:8px 12px;transition:border-color .12s,box-shadow .12s;display:flex}.hero-stat:hover{border-color:var(--brand-soft);box-shadow:0 4px 14px #1c19170f}.hero-stat span{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:650}.hero-stat strong{letter-spacing:-.02em;font-size:18px;font-weight:750;line-height:1.25}.hero-stat small{color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:11px;font-weight:500;overflow:hidden}.narrow{width:100%;max-width:820px}.link-reset{cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.dash>.stack{align-content:start;min-width:0}@media (width<=699px){.child-hero{gap:10px;padding:12px}.child-id h1{font-size:17px}.hero-stats{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));width:100%;display:grid}.hero-stat{min-width:0}.tabs{scrollbar-width:none;margin:0 -12px;padding:0 8px}}.child-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.child-card{color:var(--text);flex-direction:column;gap:10px;padding:14px;text-decoration:none;transition:border-color .12s,box-shadow .12s;display:flex}.child-card:hover{border-color:var(--brand-soft);color:var(--text);box-shadow:0 8px 22px #1c191712}.child-card-latest{color:var(--text-2);border-radius:var(--r-control);background:var(--ground);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:36px;padding:8px 10px;font-size:12.5px;display:-webkit-box;overflow:hidden}.child-card-go{color:var(--brand-dark);align-items:center;gap:5px;font-size:12px;font-weight:650;display:inline-flex}.child-card:hover .child-card-go svg{transform:translate(2px)}.update-row{align-items:flex-start!important}.update-row.unread{background:linear-gradient(90deg, var(--brand-tint), transparent 40%)}.console-card{color:var(--text);align-items:center;gap:10px;padding:12px 14px;text-decoration:none;display:flex}.console-card:hover{border-color:var(--brand-soft);color:var(--text)}@media (width>=1200px) and (height>=700px){.updates-panel .panel-body{max-height:calc(100dvh - 300px);overflow-y:auto}}.table th{background:var(--thead);border-bottom:1px solid var(--line-soft);padding-top:9px;padding-bottom:9px}.table tbody tr:hover>td{background:var(--hover)}.kpi{justify-content:center;min-height:88px;position:relative}.kpi .value{letter-spacing:-.025em;font-size:22px;font-weight:750}.kpi .label{font-size:12px}.card-head h2{font-size:13.5px}.page-head .titles .muted.strong{color:var(--text-3);font-weight:500}.settings-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:16px;display:grid}.settings-nav{flex-direction:column;gap:2px;display:flex;position:sticky;top:66px}.settings-nav button{border-radius:var(--r-control);text-align:left;cursor:pointer;color:var(--text-2);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:9px 10px;display:flex}.settings-nav button svg{color:var(--text-3);flex:none}.settings-nav button strong{color:var(--text);font-size:13px;font-weight:600;display:block}.settings-nav button small{color:var(--text-3);font-size:11.5px;display:block}.settings-nav button:hover{background:var(--surface);border-color:var(--line)}.settings-nav button[aria-current=page]{background:var(--surface);border-color:var(--line);box-shadow:0 1px 2px #1c19170d}.settings-nav button[aria-current=page] svg{color:var(--brand)}@media (width<=899px){.settings-layout{grid-template-columns:1fr}.settings-nav{scrollbar-width:none;flex-direction:row;gap:6px;position:static;overflow-x:auto}.settings-nav button{border-color:var(--control-line);background:var(--surface);border-radius:999px;flex:none;padding:7px 12px}.settings-nav button small{display:none}}.stat-tile{border-radius:var(--r-card);border-color:var(--line);min-height:96px;box-shadow:0 1px 2px #1c19170a}.stat-label{color:var(--text-2);font-size:12px;font-weight:600}.stat-value{letter-spacing:-.025em;font-size:24px;font-weight:750}.page-head{flex-wrap:nowrap}.page-head .titles{flex:1;min-width:0}.page-icon{background:var(--brand-tint);width:36px;height:36px;color:var(--brand-dark);border-radius:10px;flex:none;align-self:flex-start;place-items:center;display:grid}.page-desc{color:var(--text-3);flex-basis:100%;max-width:760px;margin-top:-2px;font-size:12.5px;font-weight:500}@media (width<=699px){.page-head{flex-wrap:wrap}.page-icon{display:none}}.empty{gap:6px;padding:36px 20px}.empty .icon-tile{background:var(--brand-tint);width:48px;height:48px;color:var(--brand-dark);box-shadow:0 0 0 6px color-mix(in srgb, var(--brand-tint) 50%, transparent);border-radius:14px;margin-bottom:4px}.empty-title{color:var(--text);font-size:14px}.empty-text{max-width:420px;line-height:1.5}.empty-action{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.dash-panel .empty{padding:24px 16px}.dash-panel .empty .icon-tile{width:40px;height:40px;box-shadow:none;border-radius:11px}.report-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:16px;display:grid}.report-index{max-height:calc(100dvh - 86px);position:sticky;top:66px;overflow-y:auto}.report-index .list-row{gap:8px;padding:7px 12px}.sheet-anchor{justify-content:center;width:100%;scroll-margin-top:70px;display:flex}@media (width<=1099px){.report-layout{grid-template-columns:1fr}.report-index{display:none}}@media print{.report-layout,.sheet-anchor{display:block}.sheet-anchor{break-after:page}.sheet-anchor:last-child,.sheet-anchor .report-sheet{break-after:auto}}.scaled-frame{background:var(--placeholder);width:100%;height:100%;position:relative;overflow:hidden}.scaled-frame iframe{transform-origin:0 0;background:#fff;border:0;position:absolute;top:0;left:0}.site-preview{border-top:0;height:520px}@media (width>=1200px) and (height>=700px){.site-preview{height:calc(100dvh - 290px);min-height:420px}}@media (width<=699px){.site-preview{height:420px}}.list-row.site-page.selected{background:var(--brand-tint)}.register-ring{align-items:center;gap:14px;display:flex}.register-split>.side{max-width:360px}.tips{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}@media (width<=699px){.page-head .titles a{word-break:break-all}.page-head>.toolbar,.page-head>.row{flex-wrap:wrap}.site-page .badge{display:none}}.idc{color:#111827;-webkit-print-color-adjust:exact;print-color-adjust:exact;box-sizing:border-box;background:#fff;width:54mm;height:85.6mm;font-family:Plus Jakarta Sans Variable,system-ui,sans-serif;line-height:1.2;position:relative;overflow:hidden}.idc *,.idc :before,.idc :after{box-sizing:border-box}.idc-band{height:30mm;color:var(--idc-on);background:linear-gradient(150deg, var(--idc-brand) 0%, var(--idc-deep) 100%);clip-path:polygon(0 0,100% 0,100% 78%,0 100%);padding:3.2mm 3.2mm 0;position:absolute;inset:0 0 auto}.idc-pattern{fill:currentColor;opacity:.08;width:100%;height:100%;position:absolute;inset:0}.idc-school{align-items:center;gap:2mm;display:flex;position:relative}.idc-logo{background:#fff;border-radius:50%;flex:none;place-items:center;width:8.4mm;height:8.4mm;display:grid;overflow:hidden;box-shadow:0 0 0 .35mm #ffffff8c}.idc-logo img{object-fit:contain;width:86%;height:86%}.idc-logo b{color:var(--idc-brand);letter-spacing:.02em;font-size:7pt}.idc-school strong{letter-spacing:-.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:7.4pt;font-weight:800;line-height:1.12;display:-webkit-box;overflow:hidden}.idc-school small{opacity:.85;white-space:nowrap;text-overflow:ellipsis;max-width:37mm;margin-top:.4mm;font-size:4.4pt;display:block;overflow:hidden}.idc-tag{letter-spacing:.16em;text-transform:uppercase;opacity:.92;margin-top:2.2mm;font-size:4.6pt;font-weight:700;position:relative}.idc-photo{width:22mm;height:27.5mm;box-shadow:0 0 0 .25mm var(--idc-brand);background:#e5e7eb;border:.8mm solid #fff;border-radius:2.2mm;place-items:center;display:grid;position:absolute;top:19.5mm;left:50%;overflow:hidden;transform:translate(-50%)}.idc-photo img{object-fit:cover;width:100%;height:100%}.idc-photo span{color:#6b7280;text-transform:uppercase;letter-spacing:.1em;font-size:5pt}.idc-name{text-align:center;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:9.2pt;font-weight:800;position:absolute;top:48.6mm;left:2.5mm;right:2.5mm;overflow:hidden}.idc-class{text-align:center;color:var(--idc-brand);font-size:6pt;font-weight:700;position:absolute;top:53.4mm;left:0;right:0}.idc-facts{border-top:.2mm solid #e5e7eb;grid-template-columns:1fr 1fr;gap:1.5mm 2mm;margin:0;padding-top:1.8mm;display:grid;position:absolute;top:57.6mm;left:3.6mm;right:3.6mm}.idc-facts div{min-width:0}.idc-facts dt{color:#6b7280;text-transform:uppercase;letter-spacing:.08em;font-size:4.2pt;font-weight:700}.idc-facts dd{white-space:nowrap;text-overflow:ellipsis;margin:.3mm 0 0;font-size:6.2pt;font-weight:700;overflow:hidden}.idc-blood{color:#b91c1c}.idc-sign{flex-direction:column;align-items:flex-end;display:flex;position:absolute;top:72mm;left:3.6mm;right:3.6mm}.idc-sign span{border-bottom:.2mm solid #9ca3af;width:17mm;height:3mm}.idc-sign small{color:#374151;margin-top:.4mm;font-size:4pt}.idc-sign em{color:#6b7280;text-transform:uppercase;letter-spacing:.1em;margin-top:.3mm;font-size:4.2pt;font-style:normal}.idc-foot{background:linear-gradient(90deg, var(--idc-deep), var(--idc-brand));height:5.4mm;color:var(--idc-on);letter-spacing:.06em;justify-content:space-between;align-items:center;padding:0 3.2mm;font-size:4.8pt;font-weight:700;display:flex;position:absolute;inset:auto 0 0}.idc-foot-back{text-transform:uppercase;letter-spacing:.14em;justify-content:center;font-size:4.2pt}.idc-back-head{height:13mm;color:var(--idc-on);background:linear-gradient(150deg, var(--idc-brand), var(--idc-deep));align-items:center;gap:2mm;padding:0 3.2mm;display:flex}.idc-back-head .idc-logo{width:7mm;height:7mm}.idc-back-head strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:6.6pt;font-weight:800;line-height:1.15;display:-webkit-box;overflow:hidden}.idc-list{flex-direction:column;gap:1.5mm;margin:0;padding:2.6mm 3.6mm 0;display:flex}.idc-list dt{color:#6b7280;text-transform:uppercase;letter-spacing:.08em;font-size:4.2pt;font-weight:700}.idc-list dd{margin:.2mm 0 0;font-size:6pt;font-weight:700}.idc-address{-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.25;display:-webkit-box;overflow:hidden;font-weight:600!important}.idc-verify{background:#f6f7f9;border:.2mm solid #e5e7eb;border-radius:1.6mm;align-items:center;gap:2.4mm;padding:1.6mm;display:flex;position:absolute;top:51mm;left:3.6mm;right:3.6mm}.idc-qr{background:#fff;border-radius:.8mm;flex:none;width:15mm;height:15mm;padding:.8mm}.idc-qr svg{width:100%;height:100%;display:block}.idc-verify strong{color:var(--idc-brand);font-size:5.6pt;font-weight:800;display:block}.idc-verify small{color:#4b5563;margin-top:.4mm;font-size:4.2pt;line-height:1.25;display:block}.idc-verify code{color:#111827;margin-top:.8mm;font-family:ui-monospace,monospace;font-size:4.8pt;font-weight:700;display:inline-block}.idc-return{color:#374151;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:4.2pt;line-height:1.3;display:-webkit-box;position:absolute;top:69.5mm;left:3.6mm;right:3.6mm;overflow:hidden}.idc-return b{color:#6b7280;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.3mm;font-size:4pt;display:block}.idc-pair{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.idc-shadow{width:calc(54mm * var(--idc-scale,1));height:calc(85.6mm * var(--idc-scale,1));flex:none}.idc-shadow>.idc{transform:scale(var(--idc-scale,1));transform-origin:0 0;border-radius:3.2mm;box-shadow:0 1px 2px #11182714,0 8px 24px #11182724}.card-sheet{background:#fff;position:relative;overflow:hidden}.sheet-cell{position:absolute}.bleed-box{transform-origin:0 0;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;position:absolute;top:0;left:0;overflow:hidden}.with-bleed .idc{overflow:visible}.with-bleed .idc-band{inset:calc(var(--bleed) * -1) calc(var(--bleed) * -1) auto calc(var(--bleed) * -1);height:calc(30mm + var(--bleed));padding:calc(3.2mm + var(--bleed)) calc(3.2mm + var(--bleed)) 0}.with-bleed .idc-foot{left:calc(var(--bleed) * -1);right:calc(var(--bleed) * -1);bottom:calc(var(--bleed) * -1);height:calc(5.4mm + var(--bleed));padding:0 calc(3.2mm + var(--bleed)) var(--bleed)}.with-bleed .idc-back-head{margin:calc(var(--bleed) * -1) calc(var(--bleed) * -1) 0;height:calc(13mm + var(--bleed));padding:var(--bleed) calc(3.2mm + var(--bleed)) 0}.crop-mark{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#000;position:absolute}.crop-mark.v{width:.15mm;margin-left:-.075mm}.crop-mark.h{height:.15mm;margin-top:-.075mm}.sheet-label{color:#6b7280;white-space:nowrap;font:600 2.4mm/1 Plus Jakarta Sans Variable,system-ui,sans-serif;position:absolute}.sheet-frame{box-shadow:0 0 0 1px var(--line), 0 6px 20px #1c19171f;background:#fff;border-radius:4px;flex:none;overflow:hidden}.cards-print-root{display:none}@media print{body.printing-cards>:not(.cards-print-root){display:none!important}body.printing-cards .cards-print-root{display:block}body.printing-cards{margin:0;background:#fff!important}.cards-print-root .card-sheet{break-after:page;page-break-after:always}.cards-print-root .card-sheet:last-child{break-after:auto;page-break-after:auto}}.photo-dialog{width:min(320px,100vw - 32px)}.crop-view{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background:#111;border-radius:10px;margin:0 auto;position:relative;overflow:hidden}.crop-view img{transform-origin:0 0;pointer-events:none;max-width:none;position:absolute;top:0;left:0}.crop-guide{pointer-events:none;border:2px dashed #ffffffb3;border-radius:50% 50% 46% 46%;position:absolute;inset:12% 22% 30%}.crop-empty{border:1.5px dashed var(--control-line);background:var(--ground);height:200px;color:var(--text-2);cursor:pointer;border-radius:12px;align-content:center;place-items:center;gap:8px;font-weight:600;display:grid}.idc-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);align-items:start;gap:22px;display:grid}@media (width<=899px){.idc-layout{grid-template-columns:1fr}}.idc-stage{border-radius:var(--r-card);background:radial-gradient(120% 90% at 50% 0%, var(--surface) 0%, var(--ground) 100%);border:1px solid var(--line);padding:22px 14px;overflow-x:auto}.idc-status{background:var(--warn-soft,#fff7ed);color:var(--text);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;display:flex}.idc-status.ok{background:var(--success-soft,#ecfdf5)}.idc-status strong{font-size:14px;display:block}.idc-status .grow span{color:var(--text-2);font-size:12px;display:block}.idc-check{grid-template-columns:1fr 1fr;gap:6px 14px;margin:0;padding:0;list-style:none;display:grid}.idc-check li{align-items:center;gap:7px;font-size:13px;display:flex}.idc-check li.done{color:var(--text-2)}.idc-check li.done svg{color:var(--success)}.idc-check li.todo{font-weight:650}.idc-check li.todo svg{color:var(--warn)}.idc-thumb{object-fit:cover;width:30px;height:40px;box-shadow:0 0 0 1px var(--line);border-radius:5px;flex:none}.selection-bar{background:var(--brand-soft,#fff1e6);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 14px;display:flex}.selection-bar strong{margin-right:6px;font-size:13px}.input-sm{height:32px;padding:4px 10px;font-size:13px}.nowrap{white-space:nowrap}.ws-group{flex-direction:column;gap:6px;display:flex}.form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.num-field{font-size:12px}.input-unit{display:block;position:relative}.input-unit .input{padding-right:34px}.input-unit span{color:var(--text-3,#9ca3af);pointer-events:none;font-size:11px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.ws-summary{background:var(--ground);border:1px solid var(--line);border-radius:10px;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 10px;padding:10px 12px;display:grid}.ws-summary strong{font-size:18px}.ws-summary span{color:var(--text-2);font-size:12px}.ws-summary.bad{border-color:var(--danger)}.verify-page{background:var(--ground);place-items:center;min-height:100dvh;padding:20px;display:grid}.verify-card{flex-direction:column;gap:18px;width:min(420px,100%);padding:24px;display:flex}.verify-school{align-items:center;gap:10px;display:flex}.verify-school img{object-fit:contain;border-radius:8px;width:40px;height:40px}.verify-school strong{font-size:15px}.verify-result{text-align:center;border-radius:14px;padding:18px}.verify-result.ok{background:var(--success-soft,#ecfdf5)}.verify-result.bad{background:var(--danger-soft,#fef2f2)}.verify-result h1{margin:8px 0 4px;font-size:20px}.verify-result p{color:var(--text-2);margin:0;font-size:13px}.verify-icon{color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;display:inline-grid}.verify-result.ok .verify-icon{background:var(--success)}.verify-result.bad .verify-icon{background:var(--danger)}.verify-facts{margin:0}.verify-foot{color:var(--text-3,#9ca3af);justify-content:center;align-items:center;gap:6px;margin:0;font-size:11px;display:flex}.layout-admin summary{cursor:pointer;color:var(--text-2)}@media (width>=1200px){.ws-sticky{align-self:start;max-height:calc(100dvh - 82px);position:sticky;top:66px;overflow-y:auto}}.sheet-preview{align-items:center}.crop-choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.crop-choices .crop-empty{height:150px}.id-photo-row{align-items:center;gap:14px;display:flex}.id-photo-frame{background:var(--ground);border:1px solid var(--line);width:72px;height:96px;color:var(--text-3,#9ca3af);border-radius:8px;flex:none;place-items:center;display:grid;overflow:hidden}.id-photo-frame img{object-fit:cover;width:100%;height:100%}.capture-dialog{width:min(560px,100vw - 20px);max-height:calc(100dvh - 24px);overflow-y:auto}.idc-compact>.idc-stage{order:2}.exp-row{align-items:center}.exp-receipt{background:var(--ground);border:1px solid var(--line);width:40px;height:52px;color:var(--text-3,#9ca3af);border-radius:6px;flex:none;place-items:center;display:grid;overflow:hidden}.exp-receipt img{object-fit:cover;width:100%;height:100%;display:block}.exp-receipt a{width:100%;height:100%;display:block}.row-muted td{color:var(--text-3,#9ca3af)}.row-muted td .strong,.row-muted td.strong{text-decoration:line-through}.seg{background:var(--ground);border:1px solid var(--line);border-radius:10px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.seg button{height:36px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;font-weight:600;display:inline-flex}.seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #1c19171f}.btn-lg{height:48px;padding:0 20px;font-size:15px}.fuel-cta{justify-content:center;width:100%}@media (width>=700px){.fuel-cta{align-self:flex-start;width:auto}}.finance-layout{grid-template-columns:250px minmax(0,1fr)}@media (width<=999px){.finance-layout{grid-template-columns:1fr}.finance-layout .settings-nav{flex-direction:row;position:static;overflow-x:auto}.finance-layout .settings-nav small{display:none}.finance-layout .settings-nav button{white-space:nowrap}}.num.pos,.pos{color:var(--success)}.num.neg,.neg{color:var(--danger)}.fin-dl>div{padding:7px 0}.fin-dues{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.fin-dues div{flex-direction:column;gap:2px;display:flex}.fin-dues span{color:var(--text-2);font-size:12px}.fin-dues strong{font-size:18px}.dual{flex-direction:column;gap:8px;height:100%;min-height:220px;display:flex}.dual-legend{color:var(--text-2);gap:14px;font-size:12px;display:flex}.dual-legend span{align-items:center;gap:6px;display:inline-flex}.sw{border-radius:3px;width:10px;height:10px;display:inline-block}.sw.a,.dual-bars .a{background:#0f766e}.sw.b,.dual-bars .b{background:#f59e0b}.dual-plot{flex:1;grid-template-columns:auto minmax(0,1fr);gap:8px;min-height:180px;display:grid}.dual-axis{color:var(--text-3,#9ca3af);text-align:right;flex-direction:column;justify-content:space-between;padding-bottom:18px;font-size:11px;display:flex}.dual-cols{border-bottom:1px solid var(--line);background:linear-gradient(var(--line-soft) 1px, transparent 1px) 0 0 / 100% 50%;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;display:grid}.dual-col{flex-direction:column;align-items:stretch;min-width:0;display:flex}.dual-bars{flex:1;justify-content:center;align-items:flex-end;gap:2px;display:flex}.dual-bars i{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:3px 3px 0 0;width:min(14px,40%);min-height:1px}.dual-col>span{color:var(--text-3,#9ca3af);text-align:center;height:18px;margin-top:-18px;font-size:11px;line-height:18px;transform:translateY(18px)}.statement{overflow:hidden}.statement-title{border-bottom:1px solid var(--line);text-align:center;flex-direction:column;align-items:center;gap:2px;padding:18px 16px 12px;display:flex}.statement-title strong{font-size:16px}.stmt td,.stmt th{padding:8px 16px}.stmt .stmt-head th{background:var(--ground);text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);text-align:left;font-size:11px}.stmt .stmt-total td{border-top:1px solid var(--line);font-weight:700}.stmt .stmt-result td{border-top:2px solid var(--text);font-size:15px;font-weight:800}.stmt .stmt-result.pos td{color:var(--success)}.stmt .stmt-result.neg td{color:var(--danger)}.ageing-bar{background:var(--line-soft);border-radius:7px;gap:2px;height:14px;margin:12px 0 10px;display:flex;overflow:hidden}.ageing-bar span{min-width:4px}.ageing-legend{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.ageing-legend div{color:var(--text-2);flex-direction:column;gap:2px;font-size:12px;display:flex}.ageing-legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.ageing-legend strong{color:var(--text);font-size:14px}@media (width<=699px){.ageing-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.fin-dues{grid-template-columns:1fr}}.ageing-bar .tone-neutral,.ageing-legend .tone-neutral{background:#94a3b8}.ageing-bar .tone-warn,.ageing-legend .tone-warn{background:#f59e0b}.ageing-bar .tone-danger,.ageing-legend .tone-danger{background:#dc2626}.row-sub td{background:var(--ground)}.table tfoot td{border-top:2px solid var(--line);background:var(--ground)}.print-only{display:none}@media print{.print-only{display:block}.no-print,.finance-layout .settings-nav,.page-head .row{display:none!important}.finance-layout{display:block}.finance-print-head{margin-bottom:10px;font-size:14px}.card{break-inside:avoid;box-shadow:none!important}}.bill-row{align-items:center}.bill-due{background:var(--ground);border:1px solid var(--line);border-radius:8px;flex-direction:column;flex:none;width:92px;padding:6px 8px;display:flex}.bill-due small{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3,#9ca3af);font-size:10.5px}.bill-due strong{font-size:12.5px}.bill-due.late{background:var(--danger-bg,#fdecec);border-color:#0000}.bill-due.late small,.bill-due.late strong{color:var(--danger)}.pay-form{background:var(--ground);border-top:1px solid var(--line-soft)}.budget-bar{background:var(--line-soft);border-radius:4px;height:8px;position:relative;overflow:visible}.budget-bar span{background:#0f766e;border-radius:4px;height:100%;display:block}.budget-bar.ahead span{background:#f59e0b}.budget-bar.over span{background:var(--danger)}.budget-bar i{background:var(--text-2);border-radius:1px;width:2px;height:14px;position:absolute;top:-3px}.invoice-doc{border-top:4px solid var(--inv-accent);-webkit-print-color-adjust:exact;print-color-adjust:exact;overflow:hidden}.inv-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:22px 24px 16px;display:flex}.inv-school{align-items:flex-start;gap:12px;display:flex}.inv-school img{object-fit:contain;border-radius:8px;width:56px;height:56px}.inv-school h1{margin:0 0 2px;font-size:19px}.inv-school .small{color:var(--text-2);line-height:1.45}.inv-title{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.inv-title>span:first-child{letter-spacing:.14em;text-transform:uppercase;color:var(--inv-accent);font-size:12px;font-weight:800}.inv-title strong{font-size:17px}.inv-stamp{letter-spacing:.1em;text-transform:uppercase;border:2px solid;border-radius:6px;margin-top:4px;padding:3px 10px;font-size:12px;font-weight:800;transform:rotate(-3deg)}.inv-stamp.paid{color:var(--success)}.inv-stamp.overdue{color:var(--danger)}.inv-stamp.due,.inv-stamp.partial{color:var(--warn)}.inv-meta{background:var(--ground);grid-template-columns:1.4fr 1fr;gap:18px;padding:16px 24px;display:grid}.inv-meta>div{flex-direction:column;gap:2px;display:flex}.inv-meta strong{font-size:15px}.inv-meta dl{grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:13px;display:grid}.inv-meta dl div{display:contents}.inv-meta dt{color:var(--text-2)}.inv-meta dd{text-align:right;margin:0}.inv-table th,.inv-table td{padding-left:24px;padding-right:24px}.inv-table .inv-sub td{border-top:1px solid var(--line);color:var(--text-2)}.inv-table .inv-total td{border-top:2px solid var(--text);font-size:15px;font-weight:800}.inv-balance{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.inv-balance div{border-right:1px solid var(--line-soft);flex-direction:column;gap:2px;padding:14px 24px;display:flex}.inv-balance div:last-child{border-right:0}.inv-balance span{color:var(--text-2);font-size:12px}.inv-balance strong{font-size:18px}.inv-balance .due{background:var(--danger-bg,#fdecec)}.inv-balance .due strong{color:var(--danger)}.inv-balance .clear{background:var(--success-bg,#e9f6ee)}.inv-balance .clear strong{color:var(--success)}.inv-foot{color:var(--text-3,#9ca3af);border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:12px 24px 16px;font-size:11.5px;display:flex}@media (width<=699px){.inv-head,.inv-meta{flex-direction:column;grid-template-columns:1fr}.inv-title{text-align:left;align-items:flex-start}.inv-balance{grid-template-columns:1fr}}.settings-nav .nav-sep{margin-top:14px;position:relative}.settings-nav .nav-sep:before{content:"Accounts";letter-spacing:.08em;text-transform:uppercase;color:var(--text-3,#9ca3af);font-size:10.5px;font-weight:700;position:absolute;top:-14px;left:10px}.bs-grid{grid-template-columns:1fr 1fr;display:grid}.bs-side{flex-direction:column;display:flex}.bs-side+.bs-side{border-left:1px solid var(--line)}.bs-side-head{background:var(--ground);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);border-bottom:1px solid var(--line);padding:10px 16px;font-size:11px;font-weight:700}.bs-group{border-bottom:1px solid var(--line-soft);padding:10px 16px 6px}.bs-group-head{justify-content:space-between;margin-bottom:4px;font-size:13px;font-weight:700;display:flex}.bs-line{color:var(--text-2);justify-content:space-between;gap:10px;padding:3px 0 3px 12px;font-size:13px;display:flex}.bs-link{color:var(--text);text-align:left;cursor:pointer}.bs-link:hover{color:var(--brand-dark);text-decoration:underline}.bs-total{border-top:2px solid var(--text);justify-content:space-between;margin-top:auto;padding:12px 16px;font-size:15px;font-weight:800;display:flex}@media (width<=799px){.bs-grid{grid-template-columns:1fr}.bs-side+.bs-side{border-left:0;border-top:1px solid var(--line)}}.jv-list{flex-direction:column;display:flex}.jv{border-bottom:1px solid var(--line-soft);padding:10px 16px}.jv-head{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.jv-table{border-collapse:collapse;width:100%;margin-top:6px;font-size:13px}.jv-table td{padding:2px 0}.jv-table td:not(:first-child){width:130px}.jv-cr{color:var(--text-2);padding-left:28px!important}.jv-form td{vertical-align:middle}.export-steps{flex-direction:column;gap:12px;margin:0 0 10px;padding-left:18px;font-size:13px;display:flex}.export-steps li{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.bank-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;padding:14px;display:grid}.bank-card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface,#fff);flex-direction:column;gap:12px;padding:14px;display:flex}.bank-card.closed{opacity:.6}.bank-card-top{align-items:flex-start;gap:10px;display:flex}.bank-icon{background:var(--brand-tint);width:36px;height:36px;color:var(--brand);border-radius:10px;flex:none;place-items:center;display:grid}.bank-facts{grid-template-columns:1fr 1fr;gap:8px 14px;margin:0;font-size:13px;display:grid}.bank-facts dt{color:var(--text-2);font-size:11.5px}.bank-facts dd{overflow-wrap:anywhere;margin:0}.inv-payto{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 24px;padding:14px 24px;font-size:12.5px;display:grid}.inv-payto h3{letter-spacing:.12em;text-transform:uppercase;color:var(--inv-accent,var(--text-2));grid-column:1/-1;margin:0;font-size:11px;font-weight:800}.inv-payto dl{grid-template-columns:auto 1fr;gap:2px 10px;margin:0;display:grid}.inv-payto dl div{display:contents}.inv-payto dt{color:var(--text-2)}.inv-payto dd{margin:0}.auth-legal{text-align:center;margin:18px 0 0;line-height:1.5}.auth-legal a,.legal-accept a{color:inherit;text-underline-offset:2px;text-decoration:underline}.legal-accept{align-items:flex-start;font-size:13.5px;line-height:1.5}.legal-accept input{margin-top:3px}.export-icon{background:var(--brand-tint);width:42px;height:42px;color:var(--brand);border-radius:12px;flex:none;place-items:center;display:grid}.export-stats{border:1px solid var(--line);border-radius:var(--r-card);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.export-stats div{border-right:1px solid var(--line-soft);flex-direction:column;gap:2px;padding:12px 14px;display:flex}.export-stats div:last-child{border-right:0}.export-stats strong{font-variant-numeric:tabular-nums;font-size:20px}.export-stats span{color:var(--text-2);font-size:12px}.export-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.export-list li{align-items:flex-start;gap:8px;display:flex}.export-list li>svg{color:var(--success);flex:none;margin-top:3px}.export-list li.muted>svg{color:var(--text-3,#9ca3af)}@media (width<=699px){.export-stats{grid-template-columns:1fr 1fr}.export-stats div:nth-child(2){border-right:0}.export-stats div:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}}.import-steps{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.import-step{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface,#fff);flex-direction:column;gap:14px;min-height:150px;padding:16px;display:flex}.import-step h2{align-items:center;gap:6px;margin:0;font-size:15px;display:flex}.import-step-no{background:var(--brand-tint);width:28px;height:28px;color:var(--brand);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:800;display:inline-grid}.import-step-no.sm{width:22px;height:22px;margin-right:8px;font-size:12px}.card-head h2 .import-step-no{vertical-align:1px}.import-guide td{vertical-align:top}.import-map tr.unmapped td:first-child strong{color:var(--text-2);font-weight:600}.import-map .select{min-width:200px;max-width:280px}.import-sample{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.import-options{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:12px 18px;display:grid}.import-summary{color:var(--text-2);flex-wrap:wrap;gap:16px;font-size:13.5px;display:flex}.import-summary strong{color:var(--text);font-variant-numeric:tabular-nums;margin-right:3px;font-size:18px}.import-summary .bad strong{color:var(--danger)}.import-summary .warn strong{color:var(--warn)}.import-results td{vertical-align:top}.import-results tr.is-error{background:color-mix(in srgb, var(--danger-bg,#fdecec) 45%, transparent)}.import-msg{align-items:flex-start;gap:5px;line-height:1.4;display:flex}.import-msg+.import-msg{margin-top:3px}.import-msg svg{flex:none;margin-top:3px}.import-msg.err{color:var(--danger)}.import-msg.warn{color:var(--warn)}.import-cleaned{color:var(--text-2);margin-top:4px}.import-cleaned summary{cursor:pointer;color:var(--text-3,#9ca3af)}.import-cleaned div{padding-left:10px}.import-done{background:var(--success-bg,#e9f6ee);width:44px;height:44px;color:var(--success);border-radius:50%;flex:none;place-items:center;display:grid}.import-counts{border:1px solid var(--line);border-radius:var(--r-card);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid;overflow:hidden}.import-counts div{border-right:1px solid var(--line-soft);flex-direction:column;gap:2px;padding:10px 14px;display:flex}.import-counts strong{font-variant-numeric:tabular-nums;font-size:20px}.import-counts span{color:var(--text-2);text-transform:capitalize;font-size:12px}.support-banner{border-radius:var(--r-card);background:var(--info-bg);color:var(--info);border:1px solid color-mix(in srgb, var(--info) 25%, transparent);align-items:center;gap:10px;margin:12px 24px 0;padding:10px 14px;font-size:13px;display:flex}.support-banner.as-wrab{background:var(--ink);color:#fff;border-color:var(--ink-line)}.support-banner .grow{color:inherit}@media (width<=699px){.support-banner{flex-wrap:wrap;margin:8px 12px 0}}.import-school-pick{border:1px solid var(--line);border-radius:var(--r-card);margin:0;padding:0;list-style:none;overflow:hidden}.import-school-pick button{text-align:left;cursor:pointer;background:0 0;border:0;width:100%}.import-school-pick button:hover{background:var(--ground)}.opening-notice{border-left:4px solid var(--info);align-items:flex-start;gap:12px;display:flex}.opening-notice>svg{color:var(--info);flex:none;margin-top:2px}.opening-notice.needs{border-left-color:var(--warn);background:var(--warn-bg)}.opening-notice.needs>svg{color:var(--warn)}@media (width<=699px){.opening-notice{flex-wrap:wrap}}.nav-link{position:relative}.nav-badge{background:var(--brand);color:#fff;border-radius:99px;place-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10.5px;font-weight:700;display:inline-grid}.shell[data-collapsed] .nav-badge{min-width:15px;height:15px;padding:0 3px;font-size:9px;position:absolute;top:4px;right:6px}.tab-link{position:relative}.tab-badge{background:var(--brand);color:#fff;border-radius:99px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9.5px;font-weight:700;display:grid;position:absolute;top:2px;left:calc(50% + 6px)}.modal-backdrop{z-index:70;background:#1c19176b;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;display:flex;position:fixed;inset:0}.modal{flex-direction:column;width:100%;max-width:480px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 24px 60px -20px #1c191773}.chat-page{background:var(--surface);grid-template-columns:340px minmax(0,1fr);height:calc(100dvh - 54px);min-height:0;display:grid}.chat-list{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;min-height:0;display:flex}.chat-list-head{justify-content:space-between;align-items:center;padding:12px 12px 6px 16px;display:flex}.chat-list-head h1{letter-spacing:-.01em;margin:0;font-size:18px}.chat-new{color:var(--brand)}.chat-seg{margin:4px 12px 6px}.chat-seg button{height:30px;font-size:12.5px}.chat-search{background:var(--ground);border:1px solid var(--line-soft);height:34px;color:var(--text-3);border-radius:8px;align-items:center;gap:6px;margin:4px 12px 6px;padding:0 10px;display:flex}.chat-search input{font:inherit;color:var(--text);background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:13.5px}.chat-search:focus-within{border-color:var(--brand-soft);background:var(--surface)}.chat-filters{border-bottom:1px solid var(--line-soft);gap:4px;padding:2px 12px 8px;display:flex;overflow-x:auto}.chat-filters button{border:1px solid var(--line);background:var(--surface);height:26px;color:var(--text-2);cursor:pointer;border-radius:99px;flex:none;padding:0 10px;font-size:12px;font-weight:600}.chat-filters button.on{background:var(--strong);border-color:var(--strong);color:var(--on-strong)}.chat-rows{flex:1;padding:4px 6px 8px;overflow-y:auto}.chat-row{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;border-radius:10px;align-items:flex-start;gap:10px;padding:9px 10px;display:flex}.chat-row:hover{background:var(--ground)}.chat-row.active{background:var(--brand-tint)}.chat-avatar{color:#fff;letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.chat-row-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.chat-row-top{align-items:baseline;gap:8px;display:flex}.chat-row-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.chat-row-top time{color:var(--text-3);flex:none;font-size:11.5px}.chat-row-sub{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.chat-row-bottom{color:var(--text-3);align-items:center;gap:6px;display:flex}.chat-row-preview{min-width:0;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.chat-row.unread .chat-row-title{font-weight:800}.chat-row.unread .chat-row-preview{color:var(--text);font-weight:600}.chat-row.unread time{color:var(--brand);font-weight:700}.chat-badge{background:var(--brand);color:#fff;border-radius:99px;flex:none;place-items:center;min-width:19px;height:19px;padding:0 6px;font-size:11px;font-weight:700;display:grid}.chat-empty-list{color:var(--text-3);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 16px;display:flex}.skeleton-row{cursor:default}.chat-avatar.sk,.sk-line,.sk-bubble{background:linear-gradient(90deg, var(--line-soft), var(--ground), var(--line-soft));background-size:200% 100%;animation:1.2s ease-in-out infinite sk}.chat-avatar.sk{width:40px;height:40px}.sk-line{border-radius:4px;width:70%;height:10px;margin:6px 0;display:block}.sk-line.short{width:45%}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.chat-thread-pane{background:var(--ground);min-width:0;min-height:0;display:flex}.chat-placeholder{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:300px;margin:auto;padding:20px;display:flex}.chat-placeholder-icon{background:var(--brand-tint);width:56px;height:56px;color:var(--brand);border-radius:50%;place-items:center;display:grid}.chat-thread{flex-direction:column;width:100%;min-height:0;display:flex;position:relative}.chat-thread-head{background:var(--surface);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;height:58px;padding:0 10px 0 14px;display:flex}.chat-back{display:none}.chat-thread-title{text-align:left;cursor:pointer;min-width:0;color:inherit;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;padding:0;display:flex}.chat-thread-title strong{max-width:100%;font-size:14.5px}.chat-thread-title span{color:var(--text-3);max-width:100%;font-size:12px}.chat-thread-head .icon-btn{color:var(--text-2);position:relative}.chat-muted-slash{background:currentColor;border-radius:2px;width:20px;height:2px;position:absolute;transform:rotate(-45deg)}.chat-banner{color:var(--text-2);background:var(--surface);border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:8px;padding:7px 16px;font-size:12.5px;display:flex}.chat-banner svg{flex:none;margin-top:2px}.chat-banner.oversight{background:var(--info-bg);color:var(--info)}.chat-info{z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;width:300px;max-width:calc(100% - 20px);padding:12px;display:flex;position:absolute;top:58px;right:10px;box-shadow:0 16px 40px -18px #1c191759}.chat-info ul{flex-direction:column;gap:6px;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.chat-info li{align-items:center;gap:8px;font-size:13px;display:flex}.chat-scroll{flex-direction:column;flex:1;min-height:0;padding:12px 16px 8px;display:flex;overflow-y:auto}.chat-scroll>:first-child{margin-top:auto}.chat-earlier{justify-content:center;padding:4px 0 8px;display:flex}.chat-first{text-align:center;flex-direction:column;align-self:center;gap:4px;max-width:360px;margin:auto 0;padding:18px;display:flex}.chat-day{justify-content:center;margin:12px 0 8px;display:flex}.chat-day span{color:var(--text-3);background:var(--surface);border:1px solid var(--line-soft);border-radius:99px;padding:2px 10px;font-size:11.5px;font-weight:600}.chat-msg{align-items:flex-end;gap:4px;max-width:100%;margin-top:8px;display:flex}.chat-msg.joined{margin-top:2px}.chat-msg.mine{flex-direction:row-reverse}.chat-bubble-wrap{flex-direction:column;min-width:0;max-width:min(560px,76%);display:flex}.chat-msg.mine .chat-bubble-wrap{align-items:flex-end}.chat-sender{margin:0 0 2px 10px;font-size:11.5px;font-weight:700}.chat-bubble{background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;min-width:64px;padding:6px 10px 5px;font-size:14px;line-height:1.42;position:relative;box-shadow:0 1px 1px #1c19170a}.chat-msg:not(.mine).cont .chat-bubble{border-bottom-left-radius:5px}.chat-msg:not(.mine).joined .chat-bubble{border-top-left-radius:5px}.chat-msg.mine .chat-bubble{background:var(--brand);border-color:var(--brand);color:#fff}.chat-msg.mine.cont .chat-bubble{border-bottom-right-radius:5px}.chat-msg.mine.joined .chat-bubble{border-top-right-radius:5px}.chat-text{white-space:pre-wrap;overflow-wrap:anywhere}.chat-meta{float:right;color:var(--text-3);white-space:nowrap;align-items:center;gap:3px;margin:6px 0 -2px 10px;font-size:10.5px;line-height:1;display:inline-flex}.chat-msg.mine .chat-meta{color:#ffffffc7}.chat-ticks{letter-spacing:-2px;margin-left:2px;font-size:11px}.chat-ticks.seen{color:#bae6fd}.chat-msg:not(.mine) .chat-ticks.seen{color:var(--info)}.chat-bubble.deleted{border-style:dashed;border-color:var(--line);box-shadow:none;background:0 0}.chat-msg.mine .chat-bubble.deleted{color:var(--text-3);border-color:var(--line);background:0 0}.chat-msg.mine .chat-bubble.deleted .chat-meta{color:var(--text-3)}.chat-removed{color:var(--text-3);align-items:center;gap:5px;font-size:13px;display:inline-flex}.chat-original{opacity:.8;margin-top:4px;font-size:12px;font-style:italic;display:block}.chat-quote{border-left:3px solid var(--brand);background:color-mix(in srgb, var(--text) 5%, transparent);border-radius:6px;flex-direction:column;gap:1px;margin:1px 0 5px;padding:4px 8px;font-size:12.5px;display:flex}.chat-quote span{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.chat-msg.mine .chat-quote{background:#ffffff29;border-left-color:#fff}.chat-translation{color:var(--text-2);background:var(--info-bg);border-radius:8px;margin:3px 4px 0;padding:4px 8px;font-size:12.5px}.chat-files{flex-wrap:wrap;gap:4px;margin:2px 0 4px;display:flex}.chat-img{border-radius:10px;max-width:260px;display:block;overflow:hidden}.chat-img img{object-fit:cover;width:100%;max-height:240px;display:block}.chat-file{background:color-mix(in srgb, var(--text) 6%, transparent);max-width:260px;color:inherit;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;text-decoration:none;display:inline-flex}.chat-msg.mine .chat-file{background:#ffffff29}.chat-actions{opacity:0;align-self:center;gap:0;transition:opacity .12s;display:flex;position:relative}.chat-msg:hover .chat-actions,.chat-actions:focus-within{opacity:1}.chat-actions .icon-btn{width:28px;height:28px;color:var(--text-3)}.chat-menu{z-index:10;background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;min-width:180px;padding:4px;display:flex;position:absolute;bottom:100%;right:0;box-shadow:0 14px 34px -14px #1c191759}.chat-msg:not(.mine) .chat-menu{left:0;right:auto}.chat-menu button{text-align:left;font:inherit;cursor:pointer;color:var(--text);background:0 0;border:0;border-radius:6px;padding:7px 10px;font-size:13px}.chat-menu button:hover{background:var(--ground)}.chat-menu button.danger{color:var(--danger)}.chat-menu .phone-only-item{display:none}@media (width<=699px){.chat-menu .phone-only-item{display:block}}.chat-menu-sub{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:2px;margin-top:2px;padding:4px 6px;display:flex}.chat-menu-sub span{width:100%;color:var(--text-3);padding:2px 4px;font-size:11px}.chat-menu-sub button{border:1px solid var(--line-soft);padding:4px 8px;font-size:12px}.chat-status{gap:8px;width:260px;padding:12px;top:100%;bottom:auto;right:0}.chat-away-on{background:var(--warn-bg);color:var(--warn)!important}.chat-loading{flex-direction:column;gap:10px;padding:16px 0;display:flex}.sk-bubble{border-radius:14px;width:46%;height:34px;display:block}.sk-bubble.right{align-self:flex-end;width:34%}.chat-composer{background:var(--surface);border-top:1px solid var(--line);flex-direction:column;flex:none;gap:6px;padding:8px 12px 10px;display:flex}.chat-replying{border-left:3px solid var(--brand);background:var(--ground);color:var(--text-2);border-radius:6px;align-items:center;gap:8px;padding:4px 6px 4px 10px;font-size:12.5px;display:flex}.chat-replying .icon-btn{width:26px;height:26px}.chat-pending{flex-wrap:wrap;gap:6px;display:flex}.chat-chip{background:var(--ground);border:1px solid var(--line);border-radius:99px;align-items:center;gap:5px;max-width:220px;height:26px;padding:0 4px 0 8px;font-size:12px;display:inline-flex}.chat-chip button{cursor:pointer;color:var(--text-3);background:0 0;border:0;place-items:center;display:grid}.chat-input-row{align-items:flex-end;gap:6px;display:flex}.chat-input-row textarea{resize:none;border:1px solid var(--control-line);background:var(--ground);min-height:38px;max-height:140px;font:inherit;border-radius:19px;outline:none;flex:1;padding:9px 12px;font-size:14px;line-height:1.35}.chat-input-row textarea:focus{border-color:var(--brand-soft);background:var(--surface);box-shadow:0 0 0 3px var(--brand-ring)}.chat-attach{cursor:pointer;color:var(--text-2);width:38px;height:38px}.chat-send{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;transition:transform .1s,opacity .1s;display:grid}.chat-send:disabled{opacity:.35;cursor:default}.chat-send:not(:disabled):active{transform:scale(.94)}.chat-closed{text-align:center;color:var(--text-3);background:var(--surface);border-top:1px solid var(--line);padding:12px;font-size:13px}.chat-new-dialog{padding:0}.chat-new-head{border-bottom:1px solid var(--line-soft);padding:12px 14px}.chat-new-dialog .chat-seg{margin:10px 12px 0}.chat-new-body{flex-direction:column;padding:6px 4px 12px;display:flex;overflow-y:auto}.chat-new-child{flex-direction:column;gap:2px;padding:4px 6px;display:flex}.chat-new-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:8px 8px 4px;font-size:11px;font-weight:700}.chat-pick{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.chat-pick:hover:not(:disabled){background:var(--ground)}.chat-pick:disabled{opacity:.55;cursor:not-allowed}.chat-pick .grow{flex-direction:column;gap:1px;min-width:0;font-size:13.5px;display:flex}.chat-member-pick{border:1px solid var(--line-soft);border-radius:8px;flex-direction:column;gap:2px;max-height:240px;padding:6px 8px;display:flex;overflow-y:auto}@media (width>=1400px){.chat-page{grid-template-columns:380px minmax(0,1fr)}}@media (width<=899px) and (width>=700px){.chat-page{grid-template-columns:290px minmax(0,1fr)}}@media (width<=699px){.chat-page{height:calc(100dvh - 56px - env(safe-area-inset-top) - 62px - env(safe-area-inset-bottom));display:block}body.chat-thread-open .chat-page{height:calc(100dvh - 56px - env(safe-area-inset-top))}body.chat-thread-open .tabbar{display:none}.chat-list,.chat-thread-pane{height:100%}.chat-page.has-thread .chat-list,.chat-page:not(.has-thread) .chat-thread-pane{display:none}.chat-back{display:inline-grid}.chat-thread-head{gap:6px;height:54px;padding:0 6px}.chat-scroll{padding:10px 10px 6px}.chat-bubble-wrap{max-width:84%}.chat-actions{opacity:1;width:0}.chat-actions .icon-btn{display:none}.chat-msg .chat-menu:not(.chat-status),.chat-msg:not(.mine) .chat-menu{left:10px;right:10px;bottom:calc(70px + env(safe-area-inset-bottom));border-radius:14px;min-width:0;padding:6px;position:fixed;top:auto;box-shadow:0 18px 50px -12px #1c191773}.chat-msg .chat-menu button{padding:11px 12px;font-size:14.5px}.chat-bubble.picked{filter:brightness(.94)}.chat-composer{padding:6px 8px max(8px, env(safe-area-inset-bottom))}.modal-backdrop{align-items:flex-end;padding:0}.modal{border-radius:16px 16px 0 0;max-width:none;max-height:88dvh}}.app-splash{background:var(--ground);flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100dvh;display:flex}.app-splash img{animation:.5s ease-out both splash-in}.app-splash-name{letter-spacing:.04em;color:var(--text);font-size:15px;font-weight:800;animation:.5s ease-out 80ms both splash-in}.app-splash-name span{color:var(--brand)}.app-splash-bar{background:var(--line);border-radius:99px;width:120px;height:3px;margin-top:6px;overflow:hidden}.app-splash-bar span{background:var(--brand);border-radius:99px;width:40%;height:100%;animation:1.1s ease-in-out infinite splash-bar;display:block}@keyframes splash-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes splash-bar{0%{transform:translate(-110%)}to{transform:translate(260%)}}.page-skeleton{flex-direction:column;gap:14px;padding:18px 24px;display:flex}.page-skeleton-tiles{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:6px;display:grid}.page-skeleton-tile{border-radius:var(--r-card);height:82px}.page-skeleton-card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);flex-direction:column;gap:12px;padding:18px;display:flex}@media (width<=699px){.page-skeleton{padding:12px}.page-skeleton-tiles{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){.app-splash-bar span,.app-splash img,.app-splash-name{animation:none}}.register-page{padding-bottom:24px}.register-head{align-items:center;gap:10px;display:flex}.register-head h1{letter-spacing:-.01em;margin:0;font-size:20px}.register-done{border-left:4px solid var(--success);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.register-done .grow{flex-direction:column;gap:2px;min-width:200px;display:flex}.register-done-icon{background:var(--success-bg);width:38px;height:38px;color:var(--success);border-radius:50%;flex:none;place-items:center;display:grid}.register-start{background:linear-gradient(135deg, var(--success-bg), var(--surface));border-color:color-mix(in srgb, var(--success) 25%, var(--line));flex-wrap:wrap;align-items:center;gap:14px;padding:14px 16px;display:flex}.register-start .grow{flex-direction:column;gap:2px;min-width:200px;display:flex}.register-start .btn{height:44px;padding:0 18px;font-size:15px}.register-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.register-search{border:1px solid var(--control-line);background:var(--surface);height:38px;color:var(--text-3);border-radius:10px;flex:200px;align-items:center;gap:6px;padding:0 10px;display:flex}.register-search input{font:inherit;color:var(--text);background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:14px}.register-filters{gap:4px;display:flex;overflow-x:auto}.register-filters button{border:1px solid var(--line);background:var(--surface);height:32px;color:var(--text-2);cursor:pointer;border-radius:99px;flex:none;padding:0 12px;font-size:12.5px;font-weight:600}.register-filters button.on{background:var(--strong);border-color:var(--strong);color:var(--on-strong)}.register-view{flex:none}.register-view button{width:38px;height:30px}.register-grid{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:10px;display:grid}.reg-tile{border:2px solid var(--line);background:var(--surface);cursor:pointer;font:inherit;color:var(--text);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:12px 6px 9px;transition:transform 80ms,border-color .12s,background .12s;display:flex;position:relative}.reg-tile:active:not(:disabled){transform:scale(.96)}.reg-tile:focus-visible{outline:3px solid var(--brand-ring);outline-offset:1px}.reg-tile:disabled{cursor:default}.reg-photo{width:56px;height:56px;position:relative}.reg-photo img{object-fit:cover;border-radius:50%;width:56px;height:56px;display:block}.reg-photo .avatar{width:56px;height:56px;font-size:19px;--size:56px!important}.reg-mark{color:#fff;border:2px solid var(--surface);border-radius:99px;place-items:center;min-width:24px;height:24px;padding:0 5px;font-size:11.5px;font-weight:800;display:grid;position:absolute;bottom:-4px;right:-4px}.reg-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13.5px;font-weight:700;overflow:hidden}.reg-roll{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:11px}.reg-tile.is-P{background:color-mix(in srgb, var(--success-bg) 55%, var(--surface));border-color:#86c99a}.reg-tile.is-P .reg-mark{background:#15803d}.reg-tile.is-A{border-color:var(--danger);background:color-mix(in srgb, var(--danger-bg) 75%, var(--surface))}.reg-tile.is-A .reg-mark{background:var(--danger)}.reg-tile.is-A .reg-photo img,.reg-tile.is-A .reg-photo .avatar{opacity:.55;filter:grayscale(.6)}.reg-tile.is-L{background:color-mix(in srgb, var(--warn-bg) 50%, var(--surface));border-color:#e2b13c}.reg-tile.is-L .reg-mark{background:#b7791f}.reg-tile.is-leave{background:var(--ground);border-style:dashed}.reg-tile.is-leave .reg-mark,.reg-tile.is-E .reg-mark{background:#78716c}.reg-row-photo{object-fit:cover;border-radius:50%;flex:none;width:34px;height:34px}.reg-row.is-A{background:color-mix(in srgb, var(--danger-bg) 45%, var(--surface))}.reg-row .mark-btn{width:44px;height:40px;font-size:14px}.register-bar{z-index:6;background:var(--bar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;margin:4px -4px 0;padding:10px 14px;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 24px -16px #1c191759}.register-tally{flex:1;align-items:center;gap:8px;display:flex}.register-tally b{font-variant-numeric:tabular-nums;border-radius:8px;place-items:center;min-width:34px;height:28px;padding:0 8px;font-size:14px;display:inline-grid}.register-tally b:before{opacity:.85;margin-right:4px;font-size:11px;font-weight:700}.t-P{background:var(--success-bg);color:var(--success)}.t-P:before{content:"P"}.t-A{background:var(--danger-bg,#fdecec);color:var(--danger)}.t-A:before{content:"A"}.t-L{background:var(--warn-bg);color:var(--warn)}.t-L:before{content:"L"}.t-E{background:var(--line-soft);color:var(--text-2)}.t-E:before{content:"LV"}.register-undo{flex:1;align-items:center;gap:10px;font-size:13.5px;font-weight:600;display:flex}.register-undo button{color:var(--brand);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 4px;font-weight:800}.register-submit{height:44px;padding:0 22px;font-size:15px}.register-confirm-counts{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:6px;display:grid}.register-confirm-counts span{background:var(--success-bg);color:var(--success);border-radius:10px;flex-direction:column;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.register-confirm-counts span.a{background:var(--danger-bg,#fdecec);color:var(--danger)}.register-confirm-counts span.l{background:var(--warn-bg);color:var(--warn)}.register-confirm-counts b{font-size:20px}@media (width<=699px){.register-page{padding-bottom:12px}.register-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.register-bar{bottom:calc(66px + env(safe-area-inset-bottom));margin:4px 0 0}.register-start .btn{width:100%}}@media (prefers-reduced-motion:reduce){.reg-tile{transition:none}}.my-registers{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.my-register{border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:var(--text);border-radius:14px;align-items:center;gap:12px;padding:14px;transition:transform 80ms;display:flex;box-shadow:0 1px 2px #1c19170a}.my-register:active{transform:scale(.98)}.my-register .grow{flex-direction:column;gap:2px;min-width:0;display:flex}.my-register .grow strong{font-size:16px}.my-register .grow .small{color:var(--text-2)}.my-register-icon{background:var(--brand-tint);width:42px;height:42px;color:var(--brand);border-radius:12px;flex:none;place-items:center;display:grid}.my-register.done .my-register-icon{background:var(--success-bg);color:var(--success)}.pager{border-top:1px solid var(--line-soft);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 14px;font-size:13px;display:flex}.pager-info{flex:1;min-width:180px}.pager-info b{color:var(--text);font-variant-numeric:tabular-nums}.pager-size{align-items:center;gap:6px;display:flex}.pager-size .select{width:auto}.pager-buttons{align-items:center;gap:4px;display:flex}.pager-buttons .icon-btn{width:32px;height:32px}.pager-buttons .icon-btn:disabled{opacity:.35}.pager-pages{gap:2px;display:flex}.pager-pages button{min-width:32px;height:32px;font:inherit;color:var(--text-2);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:8px;padding:0 6px;font-size:13px;font-weight:600}.pager-pages button:hover{background:var(--ground)}.pager-pages button.on{background:var(--strong);color:var(--on-strong)}.pager-gap{text-align:center;min-width:20px;color:var(--text-3);align-self:center}.pager-of{color:var(--text);font-weight:600;display:none}.table-loading{opacity:.55;pointer-events:none;transition:opacity .15s}@media (width<=699px){.pager{gap:8px}.pager-info{min-width:0;font-size:12px}.pager-pages,.pager-size{display:none}.pager-of{padding:0 6px;display:inline}}.th-sort{font:inherit;font-weight:inherit;color:inherit;cursor:pointer;text-transform:inherit;letter-spacing:inherit;background:0 0;border:0;padding:0}.parent-children{flex-wrap:wrap;gap:6px;display:flex}.parent-child{background:var(--ground);border:1px solid var(--line-soft);color:var(--text);border-radius:8px;flex-direction:column;padding:4px 9px;line-height:1.25;text-decoration:none;display:inline-flex}.parent-child:hover{border-color:var(--line)}.parent-child strong{font-size:12.5px}.parent-child span{color:var(--text-3);font-size:11px}.phone-only-inline{display:none}@media (width<=699px){.phone-only-inline{display:block}}@media screen{[data-theme=dark]{--brand-dark:#fdba74;--brand-tint:#2b1a10;--brand-soft:#6b2f12;--brand-ring:#4a2410;--accent-on-dark:#fdba74;--ink:#0b0a09;--ink-2:#181614;--ink-line:#2b2724;--ground:#121110;--surface:#1b1917;--text:#f5f5f4;--text-2:#d6d3d1;--text-3:#a8a29e;--faint:#78716c;--line:#2f2b28;--line-soft:#262321;--control-line:#3d3834;--success:#4ade80;--success-bg:#12291b;--warn:#fbbf24;--warn-bg:#2e2410;--info:#a5b4fc;--info-bg:#1e1d3a;--danger:#f87171;--danger-bg:#331616;--hover:#221f1d;--thead:#1f1c1a;--disabled:#2a2623;--surface-2:#24211e;--track:#2a2623;--placeholder:#24211e;--placeholder-2:#2d2926;--skeleton-a:#24211e;--skeleton-b:#2d2926;--topbar-bg:#1b1917e6;--bar-bg:#1b1917f5;--control-line-hover:#57504b;--chart-grid:#2f2b28;--chart-guide:#5b534c;--muted:#a8a29e;--strong:#f5f5f4;--strong-hover:#fff;--on-strong:#1c1917;--link-hover:#fed7aa;--danger-line:#5c2626;--info-line:#3b3a6b;--success-line:#1f4d30;--warn-soft:#2e2410;--success-soft:#12291b;--danger-soft:#331616;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] .sidebar{border-right:1px solid var(--ink-line)}[data-theme=dark] .tabbar [aria-current=page],[data-theme=dark] .sheet-grid a svg,[data-theme=dark] .link-button,[data-theme=dark] .panel-link:hover,[data-theme=dark] .metric.is-link:hover .metric-go,[data-theme=dark] .quick-btn svg,[data-theme=dark] .shortcut svg,[data-theme=dark] .settings-nav button[aria-current=page] svg,[data-theme=dark] .chat-new,[data-theme=dark] .chat-row.unread time,[data-theme=dark] .app-splash-name span,[data-theme=dark] .register-undo button,[data-theme=dark] .bank-icon,[data-theme=dark] .export-icon,[data-theme=dark] .import-step-no,[data-theme=dark] .chat-placeholder-icon,[data-theme=dark] .my-register-icon{color:var(--brand-dark)}[data-theme=dark] .card,[data-theme=dark] .stat-tile{box-shadow:none}[data-theme=dark] .btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--brand) 85%, #fff)}[data-theme=dark] .wrab-map .maplibregl-canvas{filter:brightness(.82)contrast(1.05)}}
