:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}*{box-sizing:border-box}#root{box-sizing:border-box;text-align:left;flex-direction:column;width:100%;min-height:100svh;display:flex}h1,h2,h3,h4,p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.rich-content img{border-radius:8px;max-width:100%;margin:6px 0}.rich-content ul,.rich-content ol{margin:6px 0;padding-left:20px}.rich-content li{margin-bottom:3px}.rich-content b,.rich-content strong{font-weight:700}.rich-content i,.rich-content em{font-style:italic}.gallery-rich img{-o-object-fit:cover;object-fit:cover;border-radius:10px;width:200px;height:150px;margin:5px;display:inline-block}@media (width<=600px){.gallery-rich img{width:100%;height:auto;margin:6px 0;display:block}}@media (width<=640px){*{box-sizing:border-box}html,body,#root{max-width:100%;overflow-x:hidden}input,select,textarea,button,[role=button],[role=tab]{min-height:34px}button,[role=button],[role=tab]{touch-action:manipulation}input,select,textarea{max-width:100%}div:has(>table){-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto!important}table{max-width:none}th,td{overflow-wrap:normal}div[style*=grid-template-columns]{min-width:0}}.app-main-shell,.app-page-scroll,.app-page-scroll>*{min-width:0}.app-page-scroll{width:100%}@media (width<=760px){.app-page-scroll{padding:10px!important}.app-page-scroll h1,.app-page-scroll h2,.app-page-scroll h3{overflow-wrap:anywhere;max-width:100%}.app-page-scroll input,.app-page-scroll select,.app-page-scroll textarea{min-width:0!important}.app-page-scroll button,.app-page-scroll a[role=button]{max-width:100%}.app-page-scroll div[style*="grid-template-columns: 1fr 1fr"],.app-page-scroll div[style*="grid-template-columns: repeat(2"],.app-page-scroll div[style*="grid-template-columns: repeat(3"],.app-page-scroll div[style*="grid-template-columns: repeat(4"],.app-page-scroll div[style*="grid-template-columns: 220px 1fr"],.app-page-scroll div[style*="grid-template-columns: 1fr 280px"],.app-page-scroll div[style*="grid-template-columns: 1fr auto"],.app-page-scroll div[style*=minmax\(320px],.app-page-scroll div[style*=minmax\(280px],.app-page-scroll div[style*=minmax\(260px]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.app-page-scroll div[style*="justify-content: space-between"]{flex-wrap:wrap}:is(.app-page-scroll div:has(>table),.app-page-scroll section:has(>table),.app-page-scroll article:has(>table)){-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto!important}.app-page-scroll table{width:max-content!important;min-width:100%!important}.app-page-scroll th,.app-page-scroll td{white-space:nowrap}.app-page-scroll td [style*="display: flex"]{flex-wrap:wrap}}@media (width<=420px){.app-page-scroll{padding:8px!important}.app-page-scroll div[style*="padding: 40px"],.app-page-scroll div[style*="padding: 28px"],.app-page-scroll div[style*="padding: 24px"]{padding:16px!important}.app-page-scroll div[style*=minmax\(220px],.app-page-scroll div[style*=minmax\(230px],.app-page-scroll div[style*=minmax\(240px],.app-page-scroll div[style*=minmax\(250px]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}}@media (width<=640px){body div[style*="grid-template-columns: 1fr 1fr"],body div[style*="grid-template-columns: repeat(3"],body div[style*="grid-template-columns: repeat(4"]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}body div[style*="width: 400px"],body div[style*="width: 430px"],body div[style*="width: 460px"],body div[style*="width: 500px"]{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important}}@media (width<=760px){.app-page-scroll .student-mobile-detail-grid{grid-template-columns:1fr 1fr!important}.app-page-scroll [style*="display: flex"],.app-page-scroll [style*="display: grid"],.app-page-scroll [style*="display: grid"]>*{min-width:0}.app-page-scroll [style*="overflow: auto"],.app-page-scroll [style*="overflowX: auto"],.app-page-scroll [style*="overflow-x: auto"]{-webkit-overflow-scrolling:touch;max-width:100%}.app-page-scroll button,.app-page-scroll label,.app-page-scroll span,.app-page-scroll p,.app-page-scroll td,.app-page-scroll th{max-width:100%}.app-page-scroll button{white-space:normal;overflow-wrap:anywhere}.app-page-scroll input,.app-page-scroll select,.app-page-scroll textarea{width:auto;max-width:100%}.app-page-scroll input[style*="width: 100%"],.app-page-scroll textarea[style*="width: 100%"],.app-page-scroll select[style*="width: 100%"]{width:100%!important}.app-page-scroll [style*="maxWidth: 560"],.app-page-scroll [style*="max-width: 560"],.app-page-scroll [style*="maxWidth: 500"],.app-page-scroll [style*="max-width: 500"]{max-width:100%!important}table.responsive-data-table{display:block;border-collapse:separate!important;border-spacing:0 10px!important;background:0 0!important;width:100%!important;min-width:0!important}table.responsive-data-table thead{display:none!important}table.responsive-data-table tbody{width:100%;display:block}table.responsive-data-table tr{background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;margin-bottom:10px;display:block;overflow:hidden;box-shadow:0 1px 3px #0f172a0f}table.responsive-data-table td{overflow-wrap:anywhere;color:#0f172a;grid-template-columns:minmax(96px,38%) minmax(0,1fr);align-items:start;gap:10px;white-space:normal!important;text-align:left!important;border:0!important;border-bottom:1px solid #f1f5f9!important;width:100%!important;min-width:0!important;padding:9px 11px!important;display:grid!important}table.responsive-data-table td:last-child{border-bottom:0!important}table.responsive-data-table td:before{content:attr(data-label);color:#64748b;text-transform:uppercase;letter-spacing:0;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;min-width:0;font-size:10px;font-weight:800;line-height:1.35}table.responsive-data-table td[data-row-select=true]{background:#f8fafc;grid-template-columns:minmax(0,1fr) auto}table.responsive-data-table td[data-row-select=true]:before{content:"Select"}table.responsive-data-table td[data-actions=true]{background:#f8fafc}table.responsive-data-table td[data-label=""]:before,table.responsive-data-table td:not([data-label]):before{content:"Details"}table.responsive-data-table td[data-full-row=true],table.responsive-data-table td[colspan]{grid-template-columns:none;display:block!important}table.responsive-data-table td[data-full-row=true]:before,table.responsive-data-table td[colspan]:before{content:none}table.responsive-data-table td>[style*="display: flex"]{flex-wrap:wrap;justify-content:flex-start!important}table.responsive-data-table td button,table.responsive-data-table td a{white-space:normal}.app-page-scroll table.responsive-data-table,.app-page-scroll table.responsive-data-table th,.app-page-scroll table.responsive-data-table td{white-space:normal!important}:is(.app-page-scroll div:has(>table.responsive-data-table),.app-page-scroll section:has(>table.responsive-data-table),.app-page-scroll article:has(>table.responsive-data-table)),:is(div:has(>table.responsive-data-table),section:has(>table.responsive-data-table),article:has(>table.responsive-data-table)){overflow-x:visible!important}.app-page-scroll select,.app-page-scroll input,.app-page-scroll textarea{min-width:0;max-width:100%}.mobile-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (width<=520px){.app-page-scroll div[style*=minmax\(320px],.app-page-scroll div[style*=minmax\(280px],.app-page-scroll div[style*=minmax\(260px],.app-page-scroll div[style*=minmax\(250px],.app-page-scroll div[style*=minmax\(240px],.app-page-scroll div[style*=minmax\(230px],.app-page-scroll div[style*=minmax\(220px],.mobile-control-grid{grid-template-columns:minmax(0,1fr)!important}}:focus-visible{outline-offset:2px;outline:3px solid #2563eb!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.transport-route-list{gap:10px;display:grid}.transport-route-empty{color:#0f172a;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:28px;font-size:13px;font-weight:800}.transport-route-empty span{color:#94a3b8;margin-top:4px;font-size:11px;font-weight:500;display:block}.transport-route-row{background:#fff;border:1px solid #dbe3ef;border-left:4px solid #2563eb;border-radius:12px;grid-template-columns:minmax(180px,220px) minmax(0,1fr) minmax(170px,205px);min-width:0;display:grid;overflow:hidden;box-shadow:0 2px 7px #0f172a0f}.transport-route-row--status-only{grid-template-columns:minmax(180px,220px) minmax(0,1fr)}.transport-route-meta,.transport-route-operations{padding:14px}.transport-route-meta{background:linear-gradient(145deg,#f8fbff,#fff);border-right:1px solid #e2e8f0}.transport-route-title-line{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.transport-route-title{color:#0f172a;font-size:14px;font-weight:900;line-height:1.3}.transport-route-direction{color:#1d4ed8;letter-spacing:.04em;background:#dbeafe;border-radius:999px;flex:none;padding:3px 7px;font-size:9px;font-weight:900}.transport-route-detail{color:#64748b;margin-top:8px;font-size:11px}.transport-route-detail strong{color:#334155}.transport-route-live-note{color:#94a3b8;margin-top:10px;font-size:9px;font-weight:700}.transport-route-tracking{min-width:0;padding:12px 14px}.transport-route-operations{background:#fbfdff;border-left:1px solid #e2e8f0;flex-direction:column;justify-content:center;gap:8px;display:flex;position:relative}.transport-track-panel{min-width:0}.transport-track-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.transport-track-status{color:#1e3a8a;text-transform:capitalize;font-size:12px;font-weight:900}.transport-track-meta,.transport-track-confirmed{color:#64748b;margin-top:2px;font-size:10px}.transport-track-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.transport-track-actions button{white-space:nowrap;cursor:pointer;border-radius:7px;padding:6px 9px;font-size:10px;font-weight:800}.transport-track-actions button:disabled{cursor:wait;opacity:.58}.transport-track-correct{color:#7c3aed;background:#f5f3ff;border:1px solid #ddd6fe}.transport-track-primary{color:#fff;border:0}.transport-track-primary.is-reach{background:#16a34a}.transport-track-primary.is-depart{background:#f97316}.transport-track-skip{color:#475569;background:#fff;border:1px solid #cbd5e1}.transport-track-scroll{scrollbar-width:thin;width:100%;margin-top:10px;padding:17px 2px 4px;overflow:auto hidden}.transport-track-line{align-items:flex-start;display:flex}.transport-track-stop{text-align:center;flex:1 0 130px;min-width:130px;position:relative}.transport-track-connector{z-index:0;background:#dbe3ef;border-radius:999px;height:5px;position:absolute;top:14px;left:calc(14px - 50%);right:calc(50% + 14px)}.transport-track-connector.is-done{background:#22c55e}.transport-track-connector.is-skipped{background:#f59e0b}.transport-track-marker-wrap{z-index:1;justify-content:center;display:flex;position:relative}.transport-track-marker{color:#64748b;background:#fff;border:3px solid #cbd5e1;border-radius:50%;place-items:center;width:30px;height:30px;font-size:10px;font-weight:900;display:grid}.transport-track-marker.is-done{color:#fff;background:#16a34a;border-color:#16a34a}.transport-track-marker.is-current{color:#15803d;background:#fff;border:4px solid #16a34a;box-shadow:0 0 0 5px #dcfce7}.transport-track-marker.is-skipped{color:#fff;box-shadow:none;background:#f59e0b;border-color:#f59e0b}.transport-track-bus{color:#fff;letter-spacing:.04em;white-space:nowrap;background:#15803d;border-radius:5px;padding:2px 5px;font-size:7px;font-weight:900;position:absolute;bottom:35px}.transport-track-bus:after{content:"";border:4px solid #0000;border-top-color:#15803d;width:0;height:0;position:absolute;top:100%;left:50%;transform:translate(-50%)}.transport-track-name{color:#475569;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:10px;font-weight:800;line-height:1.25;overflow:hidden}.transport-track-name.is-current{color:#15803d}.transport-track-evidence{color:#94a3b8;margin-top:2px;font-size:9px}.transport-track-next{color:#475569;margin-top:8px;font-size:10px}.transport-track-next strong{color:#0f172a}.transport-route-attendance{color:#1e40af;text-align:left;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9px;gap:1px;width:100%;padding:9px 10px;display:grid}.transport-route-attendance strong{font-size:17px}.transport-route-attendance span{font-size:9px}.transport-route-attendance small{margin-top:3px;font-size:9px;font-weight:800}.transport-route-attendance small.has-missing{color:#b45309}.transport-route-attendance small.all-present{color:#15803d}.transport-route-operations.has-menu{padding-top:43px}.transport-route-menu-wrap{z-index:8;position:absolute;top:10px;right:10px}.transport-route-menu-trigger{color:#334155;letter-spacing:1px;cursor:pointer;background:#fff;border:1px solid #dbe3ef;border-radius:8px;place-items:center;width:32px;height:28px;font-size:14px;font-weight:900;display:grid}.transport-route-menu-trigger:hover,.transport-route-menu-trigger[aria-expanded=true]{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.transport-route-menu{background:#fff;border:1px solid #dbe3ef;border-radius:9px;width:145px;display:grid;position:absolute;top:34px;right:0;overflow:hidden;box-shadow:0 10px 28px #0f172a29}.transport-route-menu button{color:#334155;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #eef2f7;padding:9px 11px;font-size:10px;font-weight:800}.transport-route-menu button:last-child{border-bottom:0}.transport-route-menu button:hover{background:#f8fafc}.transport-route-menu button.is-danger{color:#dc2626}.transport-route-setup,.transport-route-setup-inline{color:#c2410c;background:#fff7ed;border:1px solid #fdba74;border-radius:8px;padding:8px 9px;font-size:10px;font-weight:800}.transport-route-loading{color:#64748b;font-size:10px}@media (width<=900px){.transport-route-row,.transport-route-row--status-only{grid-template-columns:minmax(0,1fr)}.transport-route-meta{border-bottom:1px solid #e2e8f0;border-right:0}.transport-route-operations{border-top:1px solid #e2e8f0;border-left:0}}@media (width<=560px){.transport-route-meta,.transport-route-tracking,.transport-route-operations{padding:11px}.transport-track-header{flex-direction:column}.transport-track-actions{justify-content:flex-start}.transport-track-scroll{padding-top:18px}}.transport-exception-alert{background:#fffaf5;border:1px solid #fed7aa;border-left:4px solid #f97316;border-radius:12px;grid-template-columns:minmax(210px,.75fr) minmax(300px,2fr) auto;align-items:center;gap:14px;margin-bottom:12px;padding:13px 14px;display:grid;position:relative;box-shadow:0 1px 4px #0f172a0f}.transport-exception-heading{align-items:center;gap:9px;min-width:0;display:flex}.transport-exception-heading h3{color:#9a3412;margin:0;font-size:14px}.transport-exception-heading p{color:#78716c;margin:2px 0 0;font-size:10px;line-height:1.35}.transport-exception-icon{color:#c2410c;background:#ffedd5;border-radius:10px;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.transport-exception-count{color:#fff;background:#ea580c;border-radius:20px;justify-content:center;align-items:center;min-width:23px;height:23px;padding:0 6px;font-size:11px;font-weight:900;display:inline-flex}.transport-exception-refresh{color:#9a3412;cursor:pointer;background:#fff;border:1px solid #fed7aa;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.transport-exception-list{grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:7px;display:grid}.transport-exception-item{color:#c2410c;background:#fff;border:1px solid #fed7aa;border-radius:9px;align-items:flex-start;gap:8px;padding:8px 9px;display:flex}.transport-exception-item.is-critical{color:#b91c1c;background:snow;border-color:#fecaca}.transport-exception-item svg{flex:none;margin-top:1px}.transport-exception-item strong{color:#0f172a;font-size:11px;display:block}.transport-exception-item span{color:#64748b;margin-top:2px;font-size:10px;line-height:1.35;display:block}.transport-exception-open{color:#fff;white-space:nowrap;cursor:pointer;background:#1d4ed8;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 11px;font-size:11px;font-weight:800;display:inline-flex}@media (width<=900px){.transport-exception-alert{grid-template-columns:1fr auto}.transport-exception-list{grid-area:2/1/auto/-1}}@media (width<=560px){.transport-exception-alert{grid-template-columns:1fr;gap:10px;padding:12px}.transport-exception-heading{padding-right:34px}.transport-exception-refresh{position:absolute;top:12px;right:12px}.transport-exception-list{grid-area:auto;grid-template-columns:1fr}.transport-exception-open{width:100%}}
