*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{font-family:Inter,-apple-system,system-ui,sans-serif;background:var(--c-bg);color:var(--c-text);font-size:15px;line-height:1.45}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,select{font:inherit}.landing{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:24px;background:radial-gradient(1200px 600px at 20% -10%,color-mix(in srgb,var(--c-primary) 14%,transparent),transparent 60%),radial-gradient(900px 500px at 110% 110%,color-mix(in srgb,var(--c-primary) 10%,transparent),transparent 60%),var(--c-bg)}.landingBrand{text-align:center}.landingBrand .mark{font-size:34px;font-weight:700;letter-spacing:-.5px}.landingBrand .mark span{color:var(--c-primary)}.landingBrand p{color:var(--c-textMedium);margin-top:6px;max-width:420px}.authCard{width:min(400px,92vw);background:var(--c-bg);border:1px solid var(--c-borderLow);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:12px;box-shadow:0 18px 50px #0000001a}.authCard h2{font-size:18px}.authCard .hint{color:var(--c-textMedium);font-size:13px}.field{width:100%;padding:11px 13px;border-radius:11px;border:1px solid var(--c-borderMedium);background:var(--c-bg25);color:var(--c-text);outline:none}.field:focus{border-color:var(--c-primary)}.btn{padding:11px 16px;border-radius:999px;background:var(--c-primary);color:#fff;font-weight:600;text-align:center}.btn:disabled{opacity:.5;cursor:default}.btnGhost{padding:9px 14px;border-radius:999px;border:1px solid var(--c-borderMedium);font-weight:500;color:var(--c-textMedium)}.err{color:var(--c-negative);font-size:13px}.portal{display:grid;grid-template-columns:248px 1fr;min-height:100%}.side{border-right:1px solid var(--c-borderLow);background:var(--c-bg25);padding:18px 12px;display:flex;flex-direction:column;gap:4px}.side .mark{font-size:19px;font-weight:700;padding:4px 10px 14px}.side .mark span{color:var(--c-primary)}.schoolPick{margin:0 6px 12px;padding:10px 12px;border-radius:12px;background:var(--c-bg);border:1px solid var(--c-borderLow)}.schoolPick .nm{font-weight:600;font-size:14px}.navBtn{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border-radius:10px;color:var(--c-textMedium);font-weight:500}.navBtn.on{background:color-mix(in srgb,var(--c-primary) 12%,transparent);color:var(--c-primary)}.navBtn:hover:not(.on){background:var(--c-bg50)}.side .spacer{flex:1}.me{padding:10px 12px;font-size:13px;color:var(--c-textLow)}.main{padding:26px 30px;max-width:980px;width:100%}.main h1{font-size:22px;margin-bottom:4px}.sub{color:var(--c-textMedium);margin-bottom:20px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:22px}.card{border:1px solid var(--c-borderLow);background:var(--c-bg);border-radius:14px;padding:16px}.card .big{font-size:26px;font-weight:700}.card .lbl{color:var(--c-textMedium);font-size:13px;margin-top:2px}.panel{border:1px solid var(--c-borderLow);border-radius:14px;background:var(--c-bg);overflow:hidden;margin-bottom:18px}.panelHead{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--c-borderLow)}.panelHead h3{font-size:15px;flex:1}.rowLine{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--c-borderLow)}.rowLine:last-child{border-bottom:none}.rowLine .grow{flex:1;min-width:0}.rowLine .nm{font-weight:600;font-size:14px}.rowLine .sb{color:var(--c-textMedium);font-size:13px}.rowBtn{width:100%;text-align:left}.rowBtn:hover{background:var(--c-bg25)}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--c-bg100);color:var(--c-textMedium);white-space:nowrap}.pill.ok{background:color-mix(in srgb,var(--c-positive) 15%,transparent);color:var(--c-positive)}.pill.warn{background:color-mix(in srgb,var(--pending, #b8860b) 18%,transparent);color:var(--pending, #b8860b)}.pill.brand{background:color-mix(in srgb,var(--c-primary) 13%,transparent);color:var(--c-primary)}.pill.neg{background:color-mix(in srgb,var(--c-negative) 13%,transparent);color:var(--c-negative)}.formRow{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--c-borderLow);flex-wrap:wrap}.formRow .field{flex:1;min-width:160px}.formRow .field.sm{flex:0 0 110px;min-width:0}.disc{width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--c-primary) 18%,transparent);color:var(--c-primary);font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}.copyable{-webkit-user-select:all;user-select:all;font-size:12px;color:var(--c-textLow);word-break:break-all}@media(max-width:760px){.portal{grid-template-columns:1fr}.side{flex-direction:row;align-items:center;overflow-x:auto;border-right:none;border-bottom:1px solid var(--c-borderLow)}.side .mark{padding:0 8px}.schoolPick,.me{display:none}.main{padding:18px}}.schoolHead{display:flex;align-items:center;gap:16px;margin-bottom:8px}.schoolHead .grow{flex:1;min-width:0}.schoolHead h1{margin-bottom:2px}.schoolLogo{width:64px;height:64px;border-radius:16px;object-fit:cover;border:1px solid var(--c-borderLow);background:var(--c-bg25);flex:none}.schoolLogoPh{width:64px;height:64px;border-radius:16px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--c-primaryMuted);color:var(--c-primary);font-weight:700;font-size:26px}
