:root{--bg:#f5f2eb;--bg-strong:#efe7d6;--surface:#ffffffd1;--surface-strong:#fffffff0;--surface-dark:#17201f;--border:#17201f1a;--text:#17201f;--muted:#556160;--accent:#0f766e;--accent-soft:#0f766e1f;--warning:#b45309;--danger:#b42318;--shadow:0 24px 80px #17201f14;--radius-lg:28px;--radius-md:18px;--radius-sm:12px}*{box-sizing:border-box}html{min-height:100%}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 0 0,#0f766e2e,#0000 28%),radial-gradient(circle at 100% 0,#d977061f,#0000 22%),linear-gradient(#f8f5ef 0%,#f4efe4 55%,#eee5d6 100%);margin:0;font-family:Avenir Next,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.site-shell{grid-template-columns:290px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-right:1px solid var(--border);background:#ffffff73;flex-direction:column;gap:1.5rem;min-height:100vh;padding:2rem 1.4rem;display:flex;position:sticky;top:0}.brand{border-radius:var(--radius-lg);background:linear-gradient(135deg,#0f766e29,#d977061f);border:1px solid #0f766e14;padding:1.2rem}.brand h1,.page-title{letter-spacing:-.03em;margin:0;font-family:Iowan Old Style,Palatino Linotype,serif}.brand-copy{color:var(--muted);margin:.5rem 0 0;line-height:1.5}.sidebar-section{flex-direction:column;gap:.65rem;display:flex}.sidebar-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.76rem;font-weight:700}.nav-link,.ghost-link{border-radius:var(--radius-md);align-items:center;gap:.6rem;padding:.9rem 1rem;transition:transform .16s,background-color .16s;display:inline-flex}.nav-link{background:#ffffff8a;border:1px solid #17201f14}.nav-link:hover,.ghost-link:hover{transform:translateY(-1px)}.ghost-link{color:var(--muted)}.pill-row{flex-wrap:wrap;gap:.5rem;display:flex}.pill,.tag-chip,.status-badge,.severity-badge{border-radius:999px;align-items:center;gap:.4rem;padding:.38rem .7rem;font-size:.84rem;font-weight:600;display:inline-flex}.pill{color:var(--muted);background:#17201f0f}.main-panel{padding:2rem}.page{flex-direction:column;gap:1.4rem;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-subtitle{color:var(--muted);max-width:70ch;margin:.35rem 0 0;line-height:1.55}.actions{flex-wrap:wrap;gap:.8rem;display:flex}.button,.button-approve,.button-danger,.button-request,.button-secondary,.button-subtle,.logout-button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.86rem 1.2rem;transition:transform .16s,box-shadow .16s;display:inline-flex}.button{color:#fff;background:linear-gradient(135deg,#0f766e,#115e59);box-shadow:0 14px 32px #0f766e38}.button-approve{color:#fff;background:linear-gradient(135deg,#0f766e,#15803d);box-shadow:0 14px 32px #15803d33}.button-danger{color:#fff;background:linear-gradient(135deg,#b42318,#7f1d1d);box-shadow:0 14px 32px #b4231833}.button-request{color:#fff7ed;background:linear-gradient(135deg,#c2410c,#ea580c);box-shadow:0 14px 32px #c2410c33}.button-secondary{background:#ffffffe0;border-color:#17201f14}.button-subtle,.logout-button{background:#17201f0d;border-color:#17201f14}.button:hover,.button-approve:hover,.button-danger:hover,.button-request:hover,.button-secondary:hover,.button-subtle:hover,.logout-button:hover{transform:translateY(-1px)}.grid{gap:1rem;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card,.hero-card,.stat-card,.auth-card{border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.card,.hero-card,.auth-card{border-radius:var(--radius-lg);padding:1.4rem}.stat-card{border-radius:24px;padding:1.2rem}.stat-card-link{color:inherit;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:block}.stat-card-link:hover{border-color:#0f766e38;transform:translateY(-2px)}.hero-card{background:radial-gradient(circle at 100% 0,#0f766e2e,#0000 30%),linear-gradient(140deg,#fffffff5,#ffffffc7)}.danger-zone{background:#ffffffe6;border-color:#b4231833}.card-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.card-title{margin:0;font-size:1.05rem}.card-subtitle{color:var(--muted);margin:.2rem 0 0;line-height:1.5}.label{margin-bottom:.4rem;font-size:.86rem;font-weight:700;display:block}.field-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.field-header .label{margin-bottom:0}.field,.textarea,.select,.file-input{background:var(--surface-strong);width:100%;color:var(--text);border:1px solid #17201f1f;border-radius:16px;padding:.92rem 1rem}.textarea{resize:vertical;min-height:180px}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.stack{flex-direction:column;gap:1rem;display:flex}.compact-stack{flex-direction:column;gap:.75rem;display:flex}.checkbox-list{gap:.75rem;max-height:340px;padding-right:.25rem;display:grid;overflow:auto}.checkbox-card{background:#ffffffb3;border:1px solid #17201f14;border-radius:18px;align-items:flex-start;gap:.8rem;padding:.9rem 1rem;display:flex}.checkbox-card input{margin-top:.2rem}.staff-account-list{flex-direction:column;display:flex}.staff-account-row{border-bottom:1px solid #17201f14;flex-direction:column;gap:1rem;padding:1.15rem 0;display:flex}.staff-account-row:first-child{padding-top:.1rem}.staff-account-row:last-child{border-bottom:0;padding-bottom:0}.staff-account-main{grid-template-columns:minmax(220px,1.3fr) repeat(3,minmax(120px,.6fr));align-items:start;gap:1rem;display:grid}.staff-account-controls{grid-template-columns:repeat(3,minmax(180px,1fr)) auto;align-items:end;gap:.9rem;display:grid}.staff-account-controls .button{min-width:120px}.access-scope-box{background:#ffffff94;border:1px solid #17201f1a;border-radius:16px;grid-column:1/-1;padding:.95rem}.access-scope-box .label{padding:0 .25rem}.scope-checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.65rem;max-height:230px;margin-top:.8rem;padding-right:.25rem;display:grid;overflow:auto}.scope-checkbox{background:#ffffffb8;border:1px solid #17201f14;border-radius:14px;align-items:flex-start;gap:.65rem;min-width:0;padding:.75rem .85rem;display:flex}.scope-checkbox input{margin-top:.2rem}.scope-checkbox span{min-width:0}.scope-checkbox .meta{margin-top:.15rem;display:block}.scope-empty{margin-top:.75rem}.meta{color:var(--muted);font-size:.92rem;line-height:1.45}.table-wrap{overflow:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;vertical-align:top;border-bottom:1px solid #17201f14;padding:.9rem .7rem}.table th{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.82rem}.note,.flash{border-radius:18px;padding:.95rem 1rem}.note{background:#17201f0d}.flash{background:#0f766e1f;border:1px solid #0f766e1f}.flash.error{background:#b423181a;border-color:#b4231829}.status-badge{color:#115e59;background:#0f766e1f}.severity-badge{color:#0f4c5c;background:#0891b224}.severity-badge.medium{color:#92400e;background:#d9770624}.severity-badge.high{color:#991b1b;background:#ef444424}.severity-badge.critical{color:#fff;background:#7f1d1d}.tag-chip{color:var(--text);background:#17201f0f}.attachment-chip{cursor:pointer;border:0}.lightbox-backdrop{z-index:1000;background:#17201fb3;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.lightbox-panel{max-width:min(96vw,1100px);max-height:90vh;box-shadow:var(--shadow);background:#fffffff5;border-radius:24px;padding:3.2rem 1rem 1rem;position:relative}.lightbox-close{background:#17201f14;border:0;border-radius:999px;padding:.55rem .9rem;position:absolute;top:.9rem;right:.9rem}.lightbox-image{border-radius:18px;max-width:min(92vw,1000px);max-height:calc(90vh - 4.5rem);display:block}.tag-selector{flex-wrap:wrap;gap:.75rem;display:flex}.tag-option{--tag-color:var(--accent);border:1px solid color-mix(in srgb, var(--tag-color) 22%, white);background:color-mix(in srgb, var(--tag-color) 12%, white);color:var(--text);border-radius:999px;align-items:center;gap:.55rem;padding:.72rem .95rem;transition:transform .16s,box-shadow .16s,border-color .16s;display:inline-flex;box-shadow:inset 0 0 0 1px #0000}.tag-option:hover:not(:disabled){transform:translateY(-1px)}.tag-option.selected{border-color:var(--tag-color);background:color-mix(in srgb, var(--tag-color) 20%, white);box-shadow:inset 0 0 0 1px var(--tag-color)}.tag-option:disabled{cursor:not-allowed;opacity:.45}.tag-option-swatch{background:var(--tag-color);border-radius:999px;width:.8rem;height:.8rem}.split-layout{grid-template-columns:minmax(0,1.5fr) minmax(320px,.85fr);gap:1rem;display:grid}.student-selection-list{gap:.9rem;margin-bottom:1rem;display:grid}.student-selection-card{background:#ffffffb8;border:1px solid #17201f14;border-radius:20px;padding:1rem}.student-selection-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;display:flex}.student-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.auth-layout{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:1.6rem;width:100%;max-width:1100px;display:grid}.auth-panel{color:#f8f5ef;background:radial-gradient(circle at 100% 0,#0f766e33,#0000 30%),linear-gradient(#183330 0%,#17201f 100%);border-radius:24px;flex-direction:column;justify-content:space-between;gap:1.4rem;padding:1.6rem;display:flex}.auth-panel .meta,.auth-panel .brand-copy{color:#f8f5efc7}.auth-form{flex-direction:column;justify-content:center;gap:1rem;padding:.25rem 0;display:flex}.stat-value{letter-spacing:-.04em;margin:.35rem 0 0;font-size:2rem;font-weight:800}.muted{color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:2rem}.incident-meta{flex-wrap:wrap;gap:.65rem;display:flex}@media (max-width:1080px){.site-shell,.split-layout,.auth-card{grid-template-columns:1fr}.sidebar{min-height:auto;position:static}}@media (max-width:720px){.main-panel,.sidebar{padding:1.1rem}.staff-account-main,.staff-account-controls,.field-row,.student-selection-grid,.grid.two,.grid.three{grid-template-columns:1fr}.page-header{flex-direction:column}}
