:root{--bg:#eef4f2;--bg-strong:#deebe8;--surface:rgba(255,255,255,0.82);--surface-strong:rgba(255,255,255,0.94);--surface-dark:#223438;--border:rgba(34,52,56,0.12);--text:#223438;--muted:#5e7275;--accent:#5c8d89;--accent-soft:rgba(92,141,137,0.12);--warning:#a77a4b;--danger:#b75d55;--shadow:0 24px 80px rgba(34,52,56,0.08);--radius-lg:28px;--radius-md:18px;--radius-sm:12px}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at top left,rgba(92,141,137,.18),transparent 28%),radial-gradient(circle at top right,rgba(147,197,192,.18),transparent 22%),linear-gradient(180deg,#f4f8f7,#edf4f2 55%,#e6efed);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{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;gap:1.5rem;min-height:100vh;padding:2rem 1.4rem;background:rgba(255,255,255,.45);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);border-right:1px solid var(--border)}.brand{padding:1.2rem;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(92,141,137,.16),rgba(147,197,192,.18));border:1px solid rgba(92,141,137,.12)}.brand h1,.page-title{margin:0;font-family:Iowan Old Style,Palatino Linotype,serif;letter-spacing:-.03em}.brand-copy{margin:.5rem 0 0;color:var(--muted);line-height:1.5}.sidebar-section{display:flex;flex-direction:column;gap:.65rem}.sidebar-label{font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.ghost-link,.nav-link{display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 1rem;border-radius:var(--radius-md);transition:transform .16s ease,background-color .16s ease}.nav-link{background:rgba(255,255,255,.54);border:1px solid rgba(23,32,31,.08)}.ghost-link:hover,.nav-link:hover{transform:translateY(-1px)}.ghost-link{color:var(--muted)}.pill-row{display:flex;flex-wrap:wrap;gap:.5rem}.pill,.severity-badge,.status-badge,.tag-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .7rem;border-radius:999px;font-size:.84rem;font-weight:600}.pill{background:rgba(23,32,31,.06);color:var(--muted)}.main-panel{padding:2rem}.page{display:flex;flex-direction:column;gap:1.4rem}.page-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.page-subtitle{margin:.35rem 0 0;color:var(--muted);line-height:1.55;max-width:70ch}.actions{display:flex;flex-wrap:wrap;gap:.8rem}.button,.button-secondary,.button-subtle,.logout-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.86rem 1.2rem;border:1px solid transparent;transition:transform .16s ease,box-shadow .16s ease}.button{color:white;background:linear-gradient(135deg,#5c8d89,#4e7673);box-shadow:0 14px 32px rgba(92,141,137,.22)}.button-secondary{background:rgba(255,255,255,.88);border-color:rgba(23,32,31,.08)}.button-subtle,.logout-button{background:rgba(23,32,31,.05);border-color:rgba(23,32,31,.08)}.button-secondary:hover,.button-subtle:hover,.button:hover,.logout-button:hover{transform:translateY(-1px)}.grid{display:grid;grid-gap:1rem;gap:1rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-card,.card,.hero-card,.stat-card{border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.auth-card,.card,.hero-card{border-radius:var(--radius-lg);padding:1.4rem}.stat-card{border-radius:24px;padding:1.2rem}.stat-card-link{display:block;color:inherit;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.stat-card-link:hover{transform:translateY(-2px);border-color:rgba(15,118,110,.22)}.hero-card{background:radial-gradient(circle at top right,rgba(15,118,110,.18),transparent 30%),linear-gradient(140deg,rgba(255,255,255,.96),rgba(255,255,255,.78))}.card-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.card-title{margin:0;font-size:1.05rem}.card-subtitle{margin:.2rem 0 0;color:var(--muted);line-height:1.5}.label{display:block;margin-bottom:.4rem;font-size:.86rem;font-weight:700}.field-header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.field-header .label{margin-bottom:0}.field,.file-input,.select,.textarea{width:100%;border:1px solid rgba(23,32,31,.12);background:var(--surface-strong);border-radius:16px;padding:.92rem 1rem;color:var(--text)}.textarea{min-height:180px;resize:vertical}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.stack{gap:1rem}.compact-stack,.stack{display:flex;flex-direction:column}.compact-stack{gap:.75rem}.checkbox-list{display:grid;grid-gap:.75rem;gap:.75rem;max-height:340px;overflow:auto;padding-right:.25rem}.checkbox-card{display:flex;gap:.8rem;align-items:flex-start;padding:.9rem 1rem;border-radius:18px;border:1px solid rgba(23,32,31,.08);background:rgba(255,255,255,.7)}.checkbox-card input{margin-top:.2rem}.meta{color:var(--muted);font-size:.92rem;line-height:1.45}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:.9rem .7rem;border-bottom:1px solid rgba(23,32,31,.08);text-align:left;vertical-align:top}.table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.flash,.note{border-radius:18px;padding:.95rem 1rem}.note{background:rgba(23,32,31,.05)}.flash{background:rgba(15,118,110,.12);border:1px solid rgba(15,118,110,.12)}.flash.error{background:rgba(180,35,24,.1);border-color:rgba(180,35,24,.16)}.status-badge{color:#115e59;background:rgba(15,118,110,.12)}.severity-badge{color:#0f4c5c;background:rgba(8,145,178,.14)}.severity-badge.medium{color:#92400e;background:rgba(217,119,6,.14)}.severity-badge.high{color:#991b1b;background:rgba(239,68,68,.14)}.severity-badge.critical{color:#ffffff;background:#7f1d1d}.tag-chip{background:rgba(23,32,31,.06);color:var(--text)}.tag-selector{display:flex;flex-wrap:wrap;gap:.75rem}.tag-option{--tag-color:var(--accent);display:inline-flex;align-items:center;gap:.55rem;padding:.72rem .95rem;border-radius:999px;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);box-shadow:inset 0 0 0 1px transparent;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.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{width:.8rem;height:.8rem;border-radius:999px;background:var(--tag-color)}.split-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.85fr);grid-gap:1rem;gap:1rem}.student-selection-list{display:grid;grid-gap:.9rem;gap:.9rem;margin-bottom:1rem}.student-selection-card{border:1px solid rgba(23,32,31,.08);background:rgba(255,255,255,.72);border-radius:20px;padding:1rem}.student-selection-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.9rem}.student-selection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.auth-layout{display:grid;place-items:center;min-height:100vh;padding:1.5rem}.auth-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);grid-gap:1.6rem;gap:1.6rem;max-width:1100px;width:100%}.auth-panel{display:flex;flex-direction:column;justify-content:space-between;gap:1.4rem;padding:1.6rem;border-radius:24px;background:radial-gradient(circle at top right,rgba(15,118,110,.2),transparent 30%),linear-gradient(180deg,#183330,#17201f);color:#f8f5ef}.auth-panel .brand-copy,.auth-panel .meta{color:rgba(248,245,239,.78)}.auth-form{display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:.25rem 0}.stat-value{margin:.35rem 0 0;font-size:2rem;font-weight:800;letter-spacing:-.04em}.empty,.muted{color:var(--muted)}.empty{padding:2rem;text-align:center}.incident-meta{display:flex;flex-wrap:wrap;gap:.65rem}@media (max-width:1080px){.auth-card,.site-shell,.split-layout{grid-template-columns:1fr}.sidebar{position:static;min-height:auto}}@media (max-width:720px){.main-panel,.sidebar{padding:1.1rem}.field-row,.grid.three,.grid.two,.student-selection-grid{grid-template-columns:1fr}.page-header{flex-direction:column}}