:root{--bg:#edf3fb;--surface:#fff;--surface-soft:#f7faff;--surface-muted:#eef3fb;--surface-strong:#102847;--text:#162842;--text-soft:#5b6c84;--text-inverse:#f4f8ff;--line:#d7e1ef;--line-strong:#bccbdf;--primary:#1d5fd0;--primary-soft:#e6efff;--primary-strong:#174a9d;--success:#18764c;--success-soft:#def7e8;--danger:#c0353a;--danger-soft:#ffe8ea;--shadow:0 14px 32px #0f223a1a;--shadow-soft:0 8px 18px #0f223a12;--radius-xl:22px;--radius-lg:16px;--radius-md:12px;--radius-sm:8px;--sans:"Pretendard", "Noto Sans KR", Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--mono:"SFMono-Regular", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-family:var(--sans);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#1d5fd014,#0000 24%),linear-gradient(#f7f9fd 0%,#eef3fa 46%,#e8eef8 100%);font-size:15px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}textarea{resize:vertical}#root{min-height:100vh}.skip-links{z-index:40;margin:0;padding:0;list-style:none;position:absolute;top:0;left:0}.skip-links a{background:var(--surface-strong);color:var(--text-inverse);border-radius:0 0 10px;padding:10px 14px;position:absolute;top:0;left:-999px}.skip-links a:focus{left:0}.auth-page,.page-shell{min-height:100vh}.auth-page{background:linear-gradient(135deg,#081222f5,#0e2543f2),radial-gradient(circle at 100% 0,#5c99ff38,#0000 24%);place-items:center;padding:24px 16px;display:grid}.auth-layout{grid-template-columns:minmax(0,1.1fr) minmax(360px,420px);align-items:center;gap:16px;width:min(1120px,100% - 64px);display:grid}.page-inner{width:min(1180px,100% - 88px)}.auth-copy{color:var(--text-inverse);padding:12px 4px}.auth-copy h1{letter-spacing:-.045em;margin:0;font-size:clamp(1.95rem,4vw,3.15rem);line-height:1.08}.auth-description{color:#f4f8ffcc;max-width:560px;margin:14px 0 0;font-size:.95rem;line-height:1.65}.auth-badges,.utility-actions,.utility-brand,.main-nav,.section-head,.result-summary,.entity-actions{align-items:center;gap:12px;display:flex}.auth-badges{flex-wrap:wrap;margin-top:24px}.auth-panels,.main-column,.side-column,.course-main,.course-stack,.helper-list,.quick-actions,.course-list,.entity-list,.admin-grid,.stack{gap:12px;display:grid}.section-card,.utility-bar,.campus-header,.page-lead{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:0 8px 20px #0f223a0f}.section-card{padding:14px}.auth-card{background:linear-gradient(#fff 0%,#f9fbff 100%)}.auth-card--muted{background:linear-gradient(#f6f9ff 0%,#eef4ff 100%)}.utility-bar,.campus-header,.page-lead{padding:16px 18px}.utility-bar{justify-content:space-between;align-items:center;gap:12px;display:flex}.utility-brand{flex-wrap:wrap}.system-name,.eyebrow,.badge,.status-pill,.info-chip{text-transform:uppercase;letter-spacing:.08em}.eyebrow,.caption-text{color:var(--primary);font-size:.72rem;font-weight:700}.caption-text{text-transform:none;letter-spacing:0}.proximity-check-result{margin:0;font-size:.95rem;font-weight:800}.proximity-check-result--ok{color:var(--success)}.proximity-check-result--blocked{color:var(--danger)}.system-name{font-size:.88rem;font-weight:800}.user-meta,.caption-text,.section-card p,.entity-subtitle,.empty-state,.menu-group-title,.helper-row span,.page-lead-copy p,.course-card p,.detail-grid dt,.info-chip,.status-pill,code,pre{color:var(--text-soft)}h1,h2,h3,h4,p{margin:0}h2{letter-spacing:-.03em;font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.25}h3{font-size:.94rem;line-height:1.35}label{color:var(--text-soft);gap:8px;display:grid}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-md);width:100%;color:var(--text);background:#fff;padding:10px 12px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #1d5fd057}button{border-radius:var(--radius-md);background:var(--primary);color:#fff;border:none;padding:10px 14px;font-weight:700;transition:transform .14s,box-shadow .14s,background .14s}button:disabled{opacity:.58;cursor:not-allowed;box-shadow:none;transform:none}.text-button,.main-nav button,.quick-actions button,.menu-button,.course-card,.danger-button{color:inherit;background:0 0}.status-pill,.info-chip,.badge,.action-chip{white-space:nowrap;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:fit-content;padding:5px 9px;font-size:.68rem;font-weight:700;display:inline-flex}.info-chip,.badge,.action-chip{background:var(--primary-soft);color:var(--primary-strong)}.status-pill--online,.status-pill--active,.status-pill--ok{background:var(--success-soft);color:var(--success)}.status-pill--checking{background:var(--primary-soft);color:var(--primary-strong)}.status-pill--draft{color:#475569;background:#94a3b82e}.status-pill--upcoming{color:#1d4ed8;background:#3b82f624}.status-pill--live{color:#166534;background:#16a34a24}.status-pill--completed{color:#0f766e;background:#0d948824}.status-pill--closed{color:#475569;background:#64748b29}.status-pill--offline,.status-pill--blocked,.status-pill--deleted,.banner--error,.danger-button{background:var(--danger-soft);color:var(--danger)}.text-button{border-radius:0;padding:0;font-weight:700}.primary-button{background:var(--primary);color:#fff;border:1px solid #0000;padding:10px 16px;font-weight:700}.primary-button:hover{background:var(--primary-strong)}.campus-header{color:var(--text-inverse);background:linear-gradient(135deg,#0c1d36fa,#164a9df0),radial-gradient(circle at 100% 0,#69a4ff33,#0000 26%);grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.main-nav{flex-wrap:wrap;justify-content:flex-end}.main-nav button{color:#f4f8ffd1;border:1px solid #ffffff2e;border-radius:999px;padding:9px 14px}.page-lead{grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:16px;display:grid}.page-lead-copy p{margin-top:12px;font-size:.92rem;line-height:1.7}.metric-grid,.summary-list,.detail-grid,.field-grid{gap:12px;display:grid}.metric-grid,.summary-list,.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-list--single{grid-template-columns:1fr}.metric-card,.summary-list>div,.helper-row,.entity-row,.course-card,.menu-button,.admin-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(#fff 0%,#f8fbff 100%)}.metric-card,.summary-list>div,.helper-row{padding:13px}.metric-card strong,.summary-list strong{color:var(--text);margin-bottom:6px;font-size:1.08rem;display:block}.metric-card--overview{align-content:start;gap:8px;min-height:92px;padding:16px 14px;display:grid}.metric-card--overview span{color:var(--text-soft);letter-spacing:-.01em;font-size:.8rem;font-weight:600;line-height:1.3}.metric-card--overview strong{color:var(--text);letter-spacing:-.03em;margin-bottom:0;font-size:1.16rem;font-weight:800;line-height:1.2}.content-grid{grid-template-columns:minmax(0,1fr) minmax(320px,340px);gap:18px;display:grid}.section-head{justify-content:space-between;margin-bottom:16px}.section-head-action{align-items:center;display:inline-flex}.helper-list,.entity-list{margin:0;padding:0;list-style:none}.entity-row,.course-card,.helper-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.entity-row,.course-card{padding:14px}.entity-title,.course-card h4{color:var(--text);margin:6px 0 4px;font-size:.94rem}.course-card{text-align:left;width:100%}.course-card:hover,.menu-button:hover{background:linear-gradient(#fff 0%,#eff5ff 100%);border-color:#b7c8e4}.course-code{color:var(--primary);font-size:.78rem;font-weight:700}.action-chip{min-width:74px}.quick-actions button{border:1px solid var(--line-strong);border-radius:var(--radius-md);width:100%;color:var(--primary-strong);background:#fff;padding:10px 13px}.quick-actions button:hover,.menu-button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.content-toolbar,.content-filter-group,.content-summary,.content-preview-meta,.content-snippet-item{align-items:center;gap:10px;display:flex}.content-toolbar{flex-wrap:wrap;justify-content:space-between}.filter-chip{border:1px solid var(--line-strong);color:var(--text-soft);background:#fff;border-radius:999px;padding:8px 12px}.filter-chip.active,.filter-chip:hover{background:var(--primary-soft);color:var(--primary-strong);box-shadow:none;border-color:#cfe0fd;transform:none}.content-summary{color:var(--text-soft);font-size:.82rem}.content-layout{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:16px;display:grid}.content-list,.content-snippet-list{gap:12px;display:grid}.content-row{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(#fff 0%,#f8fbff 100%);grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:13px;display:grid}.content-row-button{width:100%;color:inherit;text-align:left;background:0 0;border:none;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:0;display:grid}.content-row-button:hover{box-shadow:none;transform:none}.content-icon{background:var(--primary-soft);width:36px;height:36px;color:var(--primary-strong);border-radius:12px;place-items:center;font-size:.95rem;font-weight:700;display:grid}.content-main{gap:6px;min-width:0;display:grid}.content-main strong,.content-preview-title{color:var(--text);font-size:.96rem}.content-main p,.content-preview-text{color:var(--text-soft);line-height:1.6}.content-meta{color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:8px;font-size:.78rem;display:flex}.content-actions{align-items:flex-start;gap:10px;display:flex}.content-preview{align-content:start}.content-preview-meta{color:var(--text-soft);flex-wrap:wrap;font-size:.78rem}.content-snippet-item{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(#fff 0%,#f8fbff 100%);padding:12px 14px}.content-snippet-item strong{color:var(--text);margin-bottom:4px;display:block}.danger-text{color:var(--danger)}.helper-row{justify-content:space-between;align-items:center}.helper-row strong{color:var(--text)}.empty-state{border-radius:var(--radius-lg);border:1px dashed var(--line-strong);background:var(--surface-soft);padding:14px}.field-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid{margin:0}.detail-grid dt{margin-bottom:6px;font-size:.78rem}.detail-grid dd{color:var(--text);font-family:var(--mono);margin:0}.detail-grid--profile dd{font-family:var(--sans);font-size:.96rem;font-weight:700}.entity-row--wide{align-items:center}code,pre{font-family:var(--mono)}code{background:var(--surface-muted);border-radius:999px;align-items:center;padding:4px 9px;display:inline-flex}pre{border-radius:var(--radius-lg);background:var(--surface-strong);color:#dfeafe;margin:0;padding:12px 14px;overflow-x:auto}.course-layout{grid-template-columns:276px minmax(0,1fr);gap:20px;display:grid}.course-sidebar{align-content:start;gap:20px;display:grid}.menu-group{gap:10px;display:grid}.menu-group+.menu-group{margin-top:14px}.menu-group-title{font-size:.82rem;font-weight:700}.menu-button{text-align:left;width:100%;padding:12px 14px}.menu-button.active{color:#fff}.result-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(#fff 0%,#f6faff 100%);gap:12px;padding:13px;display:grid}.admin-card{gap:10px;padding:14px;display:grid}.admin-card--selected{border-color:#2563eb6b;box-shadow:0 0 0 3px #2563eb14}.admin-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-card-selector{min-width:0;color:inherit;text-align:left;background:0 0;gap:4px;padding:0;display:grid}.admin-card-selector:hover{box-shadow:none}.admin-card-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-ap-panel{gap:8px;display:grid}.secondary-button{background:var(--surface-soft);color:var(--text);border:1px solid var(--line)}.secondary-button.is-active{color:var(--primary);background:#2563eb1f;border-color:#2563eb47}.banner{border-radius:var(--radius-md);padding:14px 18px}.board-wrap{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.board-head,.board-row-button{grid-template-columns:92px minmax(0,1fr) 96px 96px;align-items:center;gap:12px;display:grid}.board-head{border-bottom:1px solid var(--line);background:var(--surface-muted);color:var(--text-soft);padding:9px 14px;font-size:.72rem;font-weight:700}.board-list{margin:0;padding:0;list-style:none}.board-row{border-bottom:1px solid var(--line)}.board-row:last-child{border-bottom:none}.board-row-button{width:100%;color:inherit;text-align:left;background:0 0;border:none;padding:13px 14px}.board-row-button:hover{box-shadow:none;background:#1d5fd00a;transform:none}.board-col{min-width:0}.board-col--tag,.board-col--author,.board-col--date{color:var(--text-soft);font-size:.78rem}.board-col--date{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.board-title{color:var(--text);margin-bottom:4px;font-size:.92rem;font-weight:700;display:block}.board-preview{color:var(--text-soft);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.48;display:-webkit-box;overflow:hidden}.notice-detail{gap:18px;display:grid}.notice-detail-head{border-bottom:1px solid var(--line);gap:12px;padding-bottom:14px;display:grid}.notice-detail-meta{color:var(--text-soft);flex-wrap:wrap;align-items:center;gap:10px;font-size:.82rem;display:flex}.notice-detail-title{color:var(--text);font-size:1.2rem;line-height:1.45}.notice-detail-body{gap:10px;display:grid}.notice-detail-body p{color:var(--text);line-height:1.7}@media (width<=1100px){.auth-layout,.page-lead,.content-grid,.course-layout,.content-layout{grid-template-columns:1fr}.main-nav{justify-content:flex-start}}@media (width<=820px){.page-shell{padding-top:18px}.utility-bar,.campus-header,.page-lead,.section-card{border-radius:20px;padding:14px}.utility-bar,.campus-header,.utility-actions,.main-nav,.section-head,.entity-row,.helper-row,.course-card,.content-toolbar,.content-actions,.content-snippet-item,.admin-card-head,.auth-badges{flex-direction:column;align-items:flex-start}.metric-grid,.summary-list,.detail-grid,.field-grid--2,.field-grid--3,.board-head,.board-row-button{grid-template-columns:1fr}.board-head{display:none}.board-row-button{gap:5px;padding:11px 0}.main-nav button,.menu-button,.quick-actions button{width:100%}}:root{--bg:#eef2f6;--surface:#fff;--surface-soft:#f7f9fc;--surface-muted:#f3f5f8;--surface-strong:#3b4755;--text:#22313f;--text-soft:#617283;--text-inverse:#f7fafc;--line:#d9dee6;--line-strong:#bfc9d4;--primary:#1580bf;--primary-soft:#e6f2fa;--primary-strong:#0a5c92;--success:#2e7d32;--success-soft:#e7f4e8;--danger:#b54747;--danger-soft:#faecec;--shadow:none;--shadow-soft:none;--radius-xl:8px;--radius-lg:6px;--radius-md:4px;--radius-sm:3px;background:var(--bg)}body,#root,.page-shell,.auth-page{background:var(--bg)}button:hover{box-shadow:none;transform:none}.auth-layout,.page-inner{width:min(1180px,100% - 48px)}.auth-page{background:linear-gradient(#5a6674 0 108px,#0000 108px),linear-gradient(#eef2f6 108px 100%);padding:48px 0;display:block}.auth-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,390px);align-items:stretch;gap:24px;margin:0 auto}.auth-copy{color:var(--text);border:1px solid var(--line);border-top:4px solid var(--primary);background:var(--surface);border-radius:var(--radius-lg);padding:32px 22px}.auth-copy .eyebrow,.page-lead .eyebrow,.branding .eyebrow{color:var(--primary-strong)}.auth-copy h1{color:#1f2b38;letter-spacing:-.03em;font-size:clamp(2rem,3vw,2.7rem)}.auth-description{color:var(--text-soft);max-width:52ch}.auth-card,.auth-card--muted{background:var(--surface)}.auth-panels{gap:16px}.page-shell{padding:0 0 40px}.page-inner{gap:0;margin:0 auto;display:grid}.utility-bar,.campus-header,.page-lead,.section-card,.metric-card,.summary-list>div,.helper-row,.entity-row,.course-card,.menu-button,.admin-card,.content-row,.content-snippet-item,.result-card,.empty-state,pre,.board-wrap{box-shadow:none;border-radius:var(--radius-lg)}.utility-bar{color:#ffffffeb;background:#5a6674;border:1px solid #4e5965;border-radius:0 0 6px 6px;margin-top:0;padding:8px 16px}.utility-bar .caption-text,.utility-bar .user-meta,.utility-bar .system-name{color:#ffffffdb}.utility-brand,.utility-actions{gap:10px}.system-name{font-size:.82rem}.campus-header{background:var(--surface);border:1px solid var(--line);border-top:5px solid var(--primary);color:var(--text);grid-template-columns:minmax(0,1fr);gap:14px;margin-top:14px;padding:20px 22px 0;position:relative}.branding h1{letter-spacing:-.03em;font-size:clamp(1.7rem,2.4vw,2.35rem)}.branding p:last-child{color:var(--text-soft);margin-top:8px}.main-nav{border-top:1px solid var(--line);background:#f8fafc;justify-content:flex-start;gap:0;margin:0 -22px;padding:0 22px}.main-nav button{border:none;border-right:1px solid var(--line);color:#556576;border-radius:0;padding:14px 18px 13px;font-weight:700;position:relative}.main-nav button:first-child{border-left:1px solid var(--line)}.main-nav button.active,.main-nav button:hover{color:var(--primary-strong);background:#fff}.main-nav button.active:after{content:"";background:var(--primary);height:3px;position:absolute;bottom:0;left:0;right:0}.page-lead{background:var(--surface);border:1px solid var(--line);grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;margin-top:14px;padding:18px 20px}.page-lead-copy p{color:var(--text-soft);line-height:1.65}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px}.metric-card,.summary-list>div{border:1px solid var(--line);background:#fbfcfd;padding:12px 14px}.metric-card--accent{background:#f2f8fd;border-color:#c8deec}.metric-card strong,.summary-list strong{color:var(--text);font-size:1.05rem}.content-grid{grid-template-columns:minmax(0,1fr) 286px;gap:16px;margin-top:16px}.section-card{border:1px solid var(--line);background:var(--surface);padding:14px 16px 16px}.section-card--compact{padding:12px 14px 14px}.section-head{border-bottom:1px solid var(--line);background:#f8fafc;margin:-14px -16px 14px;padding:11px 16px 10px}.section-card--compact .section-head{margin:-12px -14px 12px;padding:10px 14px 9px}.section-head h3{padding-left:10px;font-size:.95rem;position:relative}.section-head h3:before{content:"";background:var(--primary);border-radius:999px;width:3px;position:absolute;top:2px;bottom:2px;left:0}.section-head-action{color:var(--text-soft)}.helper-row,.entity-row,.course-card,.admin-card,.content-row,.content-snippet-item,.result-card,.empty-state{border-color:var(--line);background:#fff}.entity-row,.course-card,.content-row,.admin-card,.course-card,.menu-button{border-radius:4px}.course-card:hover,.menu-button:hover,.content-row:hover{background:#f9fbfd;border-color:#afc0d0}.quick-actions{gap:8px}.quick-actions button,.filter-chip,.menu-button{border:1px solid var(--line-strong);color:#425466;background:#fff;border-radius:4px;padding:10px 12px;font-weight:700}.quick-actions button:hover,.menu-button.active,.filter-chip.active,.filter-chip:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong)}.menu-group-title{color:var(--text-soft);letter-spacing:.02em;font-size:.78rem}.board-wrap{border-radius:4px}.board-head{border-bottom:1px solid var(--line);background:#f4f7fa;padding:10px 14px}.board-row-button{padding:12px 14px}.board-row-button:hover{background:#f8fbfd}.board-title{font-size:.91rem}.notice-detail{gap:16px}.notice-detail-head{padding-bottom:12px}.notice-detail-title{font-size:1.18rem}.detail-grid,.summary-list{gap:10px}.detail-grid dd{font-family:var(--sans);font-weight:700}.content-toolbar{border-bottom:1px solid var(--line);padding-bottom:10px}.content-layout{grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);gap:14px}.content-list,.content-snippet-list,.course-stack,.main-column,.side-column,.course-main,.auth-panels,.helper-list,.stack,.course-sidebar{gap:10px}.content-row{grid-template-columns:minmax(0,1fr) auto;padding:10px 12px}.content-row.active{background:#f4f9fd;border-color:#a9cbe0}.content-icon{background:var(--surface-muted);width:32px;height:32px;color:var(--primary-strong);border-radius:4px}.helper-row{border-radius:4px;padding:10px 12px}.result-card pre,.admin-card pre,pre{color:#eaf2fb;background:#263241;border-radius:4px}.banner{border:1px solid var(--line);background:#fff;border-radius:4px}.page-shell .banner--error{background:#fff5f5;border-color:#e2b3b3}.status-pill,.info-chip,.badge,.action-chip,code{border-radius:999px}.badge,.info-chip,.action-chip,code{color:#476176;background:#edf3f8}.text-button{color:var(--primary-strong)}@media (width<=1100px){.auth-layout,.page-lead,.content-grid,.course-layout,.content-layout{grid-template-columns:1fr}.auth-layout,.page-inner{width:min(1180px,100% - 32px)}}@media (width<=820px){.page-shell{padding-top:0}.utility-bar{border-radius:0}.utility-bar,.campus-header,.page-lead,.section-card{border-radius:4px;padding:12px}.section-head{margin:-12px -12px 12px;padding:10px 12px 9px}.main-nav{margin:0 -12px;padding:0 12px}.utility-bar,.campus-header,.utility-actions,.main-nav,.section-head,.entity-row,.helper-row,.course-card,.content-toolbar,.content-actions,.content-snippet-item,.admin-card-head,.auth-badges{flex-direction:column;align-items:flex-start}.metric-grid,.summary-list,.detail-grid,.field-grid--2,.field-grid--3,.board-head,.board-row-button{grid-template-columns:1fr}.main-nav button,.menu-button,.quick-actions button{width:100%}}.auth-panels,.main-column,.side-column,.course-main,.course-sidebar,.course-stack{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:0 16px 16px}.auth-panels,.main-column,.side-column,.course-sidebar{align-content:start}.auth-panels>.section-card,.main-column>.section-card,.side-column>.section-card,.course-sidebar>.section-card,.course-stack>.section-card{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;padding:16px 0 0}.auth-panels>.section-card:first-child,.main-column>.section-card:first-child,.side-column>.section-card:first-child,.course-sidebar>.section-card:first-child,.course-stack>.section-card:first-child{border-top:0;padding-top:0}.auth-panels>.section-card>.section-head,.main-column>.section-card>.section-head,.side-column>.section-card>.section-head,.course-sidebar>.section-card>.section-head,.course-stack>.section-card>.section-head{border-bottom:1px solid var(--line);background:0 0;margin:0 0 12px;padding:0 0 10px}.auth-panels>.section-card>.section-head h3,.main-column>.section-card>.section-head h3,.side-column>.section-card>.section-head h3,.course-sidebar>.section-card>.section-head h3,.course-stack>.section-card>.section-head h3{padding-left:11px}.summary-list,.entity-list,.helper-list,.content-list,.content-snippet-list{gap:0}.summary-list{border:1px solid var(--line);background:#fff;border-radius:4px;overflow:hidden}.summary-list>div{border:0;border-right:1px solid var(--line);background:0 0;border-radius:0}.summary-list>div:last-child{border-right:0}.summary-list--overview>div{align-content:start;gap:8px;min-height:88px;padding:16px 14px;display:grid}.summary-list--overview>div span{color:var(--text-soft);letter-spacing:-.01em;font-size:.8rem;font-weight:600;line-height:1.3}.summary-list--overview>div strong{color:var(--text);letter-spacing:-.03em;margin-bottom:0;font-size:1.14rem;font-weight:800;line-height:1.25}.summary-list--profile>div{align-content:start;gap:8px;min-height:96px;padding:16px 14px;display:grid}.summary-list--profile>div span{color:var(--text-soft);white-space:nowrap;word-break:keep-all;letter-spacing:-.01em;font-size:.8rem;font-weight:600}.summary-list--profile>div strong{color:var(--text);letter-spacing:-.03em;margin-bottom:0;font-size:1.16rem;font-weight:800;line-height:1.2}.helper-row,.entity-row,.content-row,.content-snippet-item{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0}.helper-list>.helper-row:first-child,.entity-list>.entity-row:first-child,.content-list>.content-row:first-child,.content-snippet-list>.content-snippet-item:first-child{border-top:1px solid var(--line)}.content-row.active{background:#f5f9fc}.metric-grid{border:1px solid var(--line);background:#fbfcfd;border-radius:4px;gap:0;overflow:hidden}.metric-card{border:0;border-right:1px solid var(--line);background:0 0;border-radius:0}.metric-card:last-child{border-right:0}.quick-actions{border:1px solid var(--line);border-radius:4px;gap:0;overflow:hidden}.quick-actions button{border:0;border-bottom:1px solid var(--line);text-align:left;border-radius:0}.quick-actions button:last-child{border-bottom:0}.content-preview>.section-card,.course-sidebar .section-card,.side-column .section-card{background:0 0}.empty-state{background:#fafbfd;border-style:solid;border-radius:4px}@media (width<=1100px){.content-grid,.course-layout,.content-layout{gap:12px}}@media (width<=820px){.auth-panels,.main-column,.side-column,.course-main,.course-sidebar,.course-stack{padding:0 12px 12px}.auth-panels>.section-card,.main-column>.section-card,.side-column>.section-card,.course-sidebar>.section-card,.course-stack>.section-card{padding-top:14px}.summary-list,.metric-grid{grid-template-columns:1fr}.summary-list>div,.metric-card{border-right:0;border-bottom:1px solid var(--line)}.summary-list>div:last-child,.metric-card:last-child{border-bottom:0}}.content-grid,.course-layout{border:1px solid var(--line);background:var(--surface);border-radius:4px;align-items:start;margin-top:16px;padding:18px 20px 20px}.content-grid{grid-template-columns:minmax(0,1fr) 280px}.course-layout{grid-template-columns:250px minmax(0,1fr);gap:20px}.main-column,.side-column,.course-main,.course-sidebar,.course-stack{background:0 0;border:0;border-radius:0;padding:0}.main-column,.side-column,.course-main,.course-sidebar{gap:0}.main-column>.section-card,.side-column>.section-card,.course-main>.section-card,.course-sidebar>.section-card,.course-stack>.section-card{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;padding:18px 0 0}.main-column>.section-card:first-child,.side-column>.section-card:first-child,.course-main>.section-card:first-child,.course-sidebar>.section-card:first-child,.course-stack>.section-card:first-child{border-top:0;padding-top:0}.main-column>.section-card>.section-head,.side-column>.section-card>.section-head,.course-main>.section-card>.section-head,.course-sidebar>.section-card>.section-head,.course-stack>.section-card>.section-head{border-bottom:1px solid var(--line);background:0 0;margin:0 0 14px;padding:0 0 10px}.side-column{border-left:1px solid var(--line);padding-left:18px}.course-sidebar{border-right:1px solid var(--line);padding-right:18px}.course-main{padding-left:2px}.summary-list,.metric-grid,.quick-actions{background:#fff}.entity-list,.helper-list,.content-list,.content-snippet-list{background:0 0}.board-wrap,.summary-list,.metric-grid,.quick-actions,.result-card,.empty-state,pre{margin-top:2px}@media (width<=1100px){.content-grid,.course-layout{grid-template-columns:1fr;padding:16px}.side-column,.course-sidebar{border-left:0;border-right:0;border-top:1px solid var(--line);padding:18px 0 0}}@media (width<=820px){.content-grid,.course-layout{padding:12px}.main-column>.section-card,.side-column>.section-card,.course-main>.section-card,.course-sidebar>.section-card,.course-stack>.section-card{padding-top:14px}}.page-shell{background:var(--bg);padding:18px 0 40px}.page-inner{background:var(--surface);border:1px solid var(--line);border-radius:4px;overflow:hidden}.utility-bar,.campus-header,.page-lead,.content-grid,.course-layout,.page-inner>#main-content>.section-card{background:0 0;border:0;border-radius:0;margin-top:0}.utility-bar{border-bottom:1px solid #ffffff1f;border-radius:0}.campus-header{border-top:0;border-bottom:1px solid var(--line);margin-top:0}.page-lead{border-bottom:1px solid var(--line)}#main-content>.section-card{padding:0}#main-content>.section-card>.section-head{background:0 0;margin:0 0 14px;padding:0 0 10px}.content-grid,.course-layout{padding:0}.page-inner:after{content:"";border-top:1px solid var(--line);background:#fafbfd;height:18px;display:block}@media (width<=1100px){#main-content{padding:16px}}@media (width<=820px){.page-shell{padding:0 0 24px}.page-inner{border-radius:0}#main-content{padding:12px}}.page-inner{max-width:min(1180px,100% - 48px)}.utility-bar{padding:9px 18px}.campus-header{padding:22px 24px 0}.page-lead{padding:20px 24px 18px}#main-content{padding:20px 24px 22px}.branding h1,.page-lead h2,.notice-detail-title{letter-spacing:-.035em}.page-lead-copy p,.notice-detail-body p,.content-main p,.auth-description{line-height:1.7}.section-head{align-items:flex-end}.section-head h3{font-size:.98rem;font-weight:800}.section-head-action .caption-text,.section-head-action .info-chip{font-size:.72rem}.status-pill,.info-chip,.badge,.action-chip,code{letter-spacing:.06em;padding:4px 10px;font-size:.67rem}.board-head,.menu-group-title,.detail-grid dt,.board-col--tag,.board-col--author,.board-col--date,.notice-detail-meta,.content-meta,.content-summary{letter-spacing:.01em}.board-row-button,.content-row,.entity-row,.helper-row,.quick-actions button,.menu-button,.course-card{transition:background-color .12s,border-color .12s,color .12s}.board-row-button:hover,.content-row:hover,.entity-row:hover,.course-card:hover,.quick-actions button:hover,.menu-button:hover{background:#f6fafc}.quick-actions button,.menu-button,.filter-chip{font-weight:700}.summary-list>div,.metric-card{padding-top:14px;padding-bottom:14px}.board-wrap,.summary-list,.metric-grid,.quick-actions,.result-card,.empty-state,pre{border-color:#d6dce4}.result-card,.empty-state{background:#fcfdfe}pre{border:1px solid #1f2a37}.content-icon{box-shadow:inset 0 0 0 1px #d6dce4}.main-nav button{min-height:48px}.main-nav button.active{font-weight:800}.page-inner:after{background:linear-gradient(#fbfcfd 0%,#f4f7fa 100%);height:22px}@media (width<=1100px){.page-inner{max-width:min(1180px,100% - 32px)}.page-lead,#main-content,.campus-header{padding-left:18px;padding-right:18px}}@media (width<=820px){.page-inner{max-width:100%}.utility-bar,.campus-header,.page-lead,#main-content{padding-left:12px;padding-right:12px}.page-lead,#main-content{padding-top:14px;padding-bottom:14px}}.main-nav button,.menu-button,.quick-actions button,.filter-chip,.course-card,.board-row-button,.content-row-button,.text-button,.action-chip,.section-head-action button,.section-head-action .text-button{color:var(--text)}.main-nav button.active,.main-nav button:hover,.menu-button.active,.menu-button:hover,.quick-actions button:hover,.filter-chip.active,.filter-chip:hover{color:var(--primary-strong)}.board-row-button:hover,.content-row:hover,.entity-row:hover,.course-card:hover,.quick-actions button,.menu-button,.filter-chip,.course-card,.board-row-button,.content-row,.helper-row,.entity-row,.summary-list>div,.metric-card,.empty-state,.result-card{color:var(--text)}.info-chip,.badge,.action-chip,code,.caption-text,.user-meta,.content-summary,.notice-detail-meta,.board-col--tag,.board-col--author,.board-col--date,.board-preview,.content-main p,.helper-row span,.entity-subtitle,.empty-state,.detail-grid dt{color:var(--text-soft)}.utility-bar,.utility-bar .caption-text,.utility-bar .system-name,.utility-bar .user-meta,.utility-bar .info-chip,.utility-bar .status-pill,.utility-bar .text-button{color:#ffffffeb}.utility-bar .info-chip,.utility-bar .status-pill{border:1px solid #ffffff2e}.utility-bar{background:linear-gradient(#556270 0%,#4b5764 100%);border-bottom:1px solid #ffffff14;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 18px;display:grid}.utility-brand{gap:2px;display:grid}.utility-brand .system-name{color:#fff;letter-spacing:.08em;font-size:.84rem;font-weight:800}.utility-brand .caption-text{color:#ffffffbd;font-size:.73rem;font-weight:600}.utility-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.utility-bar .status-pill,.utility-bar .info-chip{color:#f5f8fb;background:#ffffff1f;border:1px solid #ffffff24;border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:0 11px;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.utility-bar .status-pill--online,.utility-bar .status-pill--active,.utility-bar .status-pill--ok{color:#ecfff0;background:#43a0472e;border-color:#81c78452}.utility-bar .status-pill--offline,.utility-bar .status-pill--blocked,.utility-bar .status-pill--deleted{color:#fff0f0;background:#e573732e;border-color:#ef9a9a52}.utility-bar .status-pill--checking{color:#eef8ff;background:#1580bf2e;border-color:#7dc0e652}.utility-bar .user-meta{color:#fff;border-left:1px solid #ffffff24;align-items:center;min-height:30px;padding:0 10px;font-size:.82rem;font-weight:700;display:inline-flex}.utility-bar .text-button{color:#fff;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;min-height:30px;padding:0 11px;font-size:.74rem;font-weight:700}.utility-bar .text-button:hover{color:#fff;background:#ffffff24}@media (width<=820px){.utility-bar{grid-template-columns:1fr;align-items:start;padding:12px}.utility-actions{justify-content:flex-start}.utility-bar .user-meta{border-left:0;padding-left:0}}.attendance-report-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.attendance-report-card{background:#f8fbff;border:1px solid #d9e8ff;border-radius:14px;flex-direction:column;gap:6px;padding:14px;display:flex}.attendance-report-card strong{color:#123e7c;font-size:1.35rem}.attendance-batch-panel,.attendance-week-head,.attendance-slot-toolbar,.attendance-student-session-head,.attendance-history-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-mode-group,.attendance-slot-metrics,.attendance-row-actions,.attendance-student-session-list,.attendance-history-list{gap:10px;display:flex}.attendance-mode-group,.attendance-row-actions,.attendance-history-list,.attendance-student-session-list{flex-wrap:wrap}.attendance-timeline,.attendance-slot-list,.attendance-student-session-list,.attendance-history-list{gap:12px;display:grid}.attendance-week-block{border-top:3px solid #123e7c;padding-top:10px}.attendance-slot-row,.attendance-student-session-card,.attendance-history-item{background:#fff;border:1px solid #d7e1f0;border-radius:14px;gap:8px;padding:10px 12px;display:grid}.attendance-slot-row{grid-template-columns:auto 1fr auto;align-items:center}.attendance-slot-row.active{border-color:#123e7c;box-shadow:0 0 0 2px #123e7c14}.attendance-dashboard-action-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.attendance-semester-legend{color:#475569;flex-wrap:wrap;gap:12px;margin-bottom:10px;font-size:.92rem;display:flex}.attendance-semester-legend span{align-items:center;gap:6px;display:inline-flex}.attendance-semester-dot{border:1px solid #cbd5e1;border-radius:999px;width:12px;height:12px;display:inline-block}.attendance-semester-dot--present,.attendance-semester-cell--present{background:#22c55e}.attendance-semester-dot--late,.attendance-semester-cell--late{background:#f59e0b}.attendance-semester-dot--absent,.attendance-semester-cell--absent{background:#ef4444}.attendance-semester-dot--official,.attendance-semester-cell--official{background:#3b82f6}.attendance-semester-dot--pending,.attendance-semester-cell--pending,.attendance-semester-cell--empty{background:#fff}.attendance-semester-cell--canceled{background:#cbd5e1}.attendance-semester-table,.attendance-stats-table{border-collapse:collapse;width:100%;min-width:720px}.attendance-semester-table th,.attendance-semester-table td,.attendance-stats-table th,.attendance-stats-table td{text-align:center;border:1px solid #d7e1f0;padding:10px 8px}.attendance-semester-table th:first-child,.attendance-stats-table th:first-child,.attendance-stats-table td:first-child{white-space:nowrap}.attendance-semester-cell{width:48px;min-width:48px;height:32px}.attendance-slot-toggle,.attendance-slot-main{text-align:left;background:0 0;border:0}.attendance-slot-main{gap:6px;display:grid}.attendance-slot-restart{white-space:nowrap;align-self:center}.attendance-eligibility-detail{color:#475569;flex-wrap:wrap;gap:8px;font-size:.9rem;display:flex}.attendance-eligibility-detail span{background:#f8fafc;border:1px solid #d7e1f0;border-radius:999px;padding:4px 8px}.attendance-slot-title{flex-wrap:wrap;align-items:center;gap:8px;font-size:.92rem;display:flex}.attendance-slot-indicator{border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;font-weight:800;display:inline-flex}.attendance-slot-indicator--offline{color:#c62828;background:#ef44441f}.attendance-slot-indicator--online{color:#1d4ed8;background:#3b82f61f}.attendance-slot-indicator--canceled{color:#4b5563;background:#9ca3af2e}.attendance-slot-indicator--unchecked{color:#64748b;background:#94a3b82e}.attendance-metric{font-weight:700}.attendance-metric--present{color:#15803d}.attendance-metric--late{color:#ca8a04}.attendance-metric--absent{color:#dc2626}.attendance-metric--official{color:#2563eb}.attendance-roster-scroll{width:100%;overflow-x:auto}.attendance-live-roster{gap:10px;margin-top:14px;display:grid}.attendance-live-roster-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-live-table{border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #d9e8ff;border-radius:14px;width:100%;min-width:420px;overflow:hidden}.attendance-live-table thead th{color:#43536a;text-align:left;white-space:nowrap;background:#eef5ff;border-bottom:1px solid #d9e8ff;padding:10px 12px;font-size:.8rem;font-weight:700}.attendance-live-table tbody td{vertical-align:middle;background:#fff;border-bottom:1px solid #e5edf8;padding:10px 12px}.attendance-live-table tbody tr:last-child td{border-bottom:0}.attendance-live-table thead th:first-child,.attendance-live-table tbody td:first-child{width:92px;min-width:92px}.attendance-live-table thead th:nth-child(2),.attendance-live-table tbody td:nth-child(2){width:120px;min-width:120px}.attendance-live-table thead th:nth-child(3),.attendance-live-table tbody td:nth-child(3){text-align:center;width:72px}.attendance-live-mark{justify-content:center;align-items:center;min-width:28px;font-weight:800;display:inline-flex}.attendance-live-mark--checked{color:#15803d}.attendance-live-mark--unchecked{color:#dc2626}.attendance-roster-table{border-collapse:separate;border-spacing:0;table-layout:auto;background:#fff;border:1px solid #d9e8ff;border-radius:14px;width:100%;min-width:820px;overflow:hidden}.attendance-roster-table thead th{color:#43536a;text-align:left;white-space:nowrap;background:#eef5ff;border-bottom:1px solid #d9e8ff;padding:12px 10px;font-size:.82rem;font-weight:700}.attendance-roster-table tbody td{vertical-align:middle;background:#fff;border-bottom:1px solid #e5edf8;padding:12px 10px}.attendance-roster-table thead th:first-child,.attendance-roster-table tbody td:first-child{width:92px;min-width:92px}.attendance-roster-table thead th:nth-child(2),.attendance-roster-table tbody td:nth-child(2){width:108px;min-width:108px}.attendance-roster-table thead th:nth-child(3),.attendance-roster-table thead th:nth-child(4),.attendance-roster-table thead th:nth-child(5),.attendance-roster-table thead th:nth-child(6),.attendance-roster-table tbody td:nth-child(3),.attendance-roster-table tbody td:nth-child(4),.attendance-roster-table tbody td:nth-child(5),.attendance-roster-table tbody td:nth-child(6){text-align:center;width:72px}.attendance-roster-table tbody tr:last-child td{border-bottom:0}.attendance-roster-id-cell,.attendance-roster-name-cell{white-space:nowrap}.attendance-roster-name-cell{text-overflow:ellipsis;font-weight:700;overflow:hidden}.attendance-status-option{color:#58708f;cursor:pointer;background:#f7fbff;border:1px solid #c8d8ef;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:.88rem;font-weight:700;transition:transform .12s,border-color .12s,background .12s;display:inline-flex;position:relative}.attendance-status-option input{opacity:0;pointer-events:none;position:absolute}.attendance-status-option:hover{transform:translateY(-1px)}.attendance-status-option.active{box-shadow:inset 0 0 0 1px}.attendance-status-option--present.active{color:#166534;background:#16a34a1f;border-color:#16a34a5c}.attendance-status-option--late.active{color:#a16207;background:#eab30824;border-color:#eab3085c}.attendance-status-option--absent.active{color:#b91c1c;background:#dc26261f;border-color:#dc26265c}.attendance-status-option--official.active{color:#1d4ed8;background:#2563eb1f;border-color:#2563eb5c}.attendance-status-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:72px;padding:6px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.attendance-status-pill--present{color:#166534;background:#16a34a24}.attendance-status-pill--late{color:#a16207;background:#eab30829}.attendance-status-pill--absent{color:#b91c1c;background:#dc262624}.attendance-status-pill--official,.attendance-status-pill--sick{color:#1d4ed8;background:#2563eb24}.attendance-status-pill--unchecked{color:#64748b;background:#94a3b829}.attendance-reason-input{width:100%;min-width:0}.attendance-roster-footer-actions{justify-content:flex-end;margin-top:14px;display:flex}.success-text{color:#15803d;font-weight:700}.attendance-modal-backdrop{z-index:50;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.attendance-modal{background:#fff;border-radius:18px;gap:14px;width:min(720px,100%);max-height:85vh;padding:18px;display:grid;overflow:auto}.attendance-modal-head,.attendance-modal-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-modal-slot-list{gap:8px;display:grid}.attendance-modal-slot-option{background:#f8fbff;border:1px solid #d9e8ff;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.exam-space{gap:22px}.exam-space--student .exam-list-grid{grid-template-columns:1fr}.exam-space--student .exam-list-card{max-width:none}.exam-space--student .exam-detail-actions{justify-content:flex-end}.exam-space--student .exam-fact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.exam-detail-grid,.exam-builder-card-head,.exam-inline-actions,.exam-builder-actions,.exam-list-card-top,.exam-detail-actions,.exam-question-shell-head,.exam-progress-copy{justify-content:space-between;align-items:center;gap:12px;display:flex}.exam-list-card-top{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;display:grid}.exam-list-card-top .status-pill{align-self:start;min-width:max-content}.exam-card-copy{gap:6px;min-width:0;display:grid}.exam-card-copy h4,.exam-card-copy p{margin:0}.exam-card-copy strong,.exam-card-copy h4,.exam-card-copy p,.exam-fact-card strong{overflow-wrap:anywhere;word-break:break-word}.exam-card-copy p{color:var(--text-soft);line-height:1.6}.exam-question-shell-head h2{letter-spacing:-.04em;color:#10233d;margin:0;font-size:clamp(2rem,2.8vw,2.6rem);line-height:1.1}.exam-detail-grid{grid-template-columns:minmax(288px,332px) minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.exam-detail-panel .exam-detail-actions{flex-wrap:wrap;justify-content:flex-start;gap:16px}.exam-action-link--danger{color:#dc2626}.exam-detail-panel,.exam-question-shell,.exam-result-card,.exam-builder-card,.exam-list-card{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #1d5fd01f;border-radius:16px;padding:18px;box-shadow:0 10px 24px #0f223a0d}.exam-question-shell h2{margin-top:6px}.exam-metric-grid,.exam-list-grid,.exam-option-list,.exam-question-preview-list,.exam-builder-list,.exam-nav-grid{gap:16px;display:grid}.exam-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));min-width:320px}.exam-metric-card{text-align:center;background:#f7fbff;border:1px solid #1d5fd01f;border-radius:16px;gap:4px;padding:14px;display:grid}.exam-metric-card strong{color:var(--primary-strong);font-size:1.35rem}.exam-form-shell{gap:16px}.exam-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.exam-form-stack{gap:12px;display:grid}.exam-form-section{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #1d5fd01f;border-radius:16px;gap:14px;padding:16px;display:grid}.exam-form-section--wide{grid-column:1/-1}.exam-form-section-head{gap:4px;display:grid}.exam-form-section-head strong{color:var(--text)}.exam-toggle-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.exam-toggle-card,.exam-note-panel{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #1d5fd01f;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;min-height:92px;padding:14px 16px;display:flex}.exam-toggle-card input{width:auto;margin:0}.exam-toggle-copy,.exam-note-panel{gap:4px;display:grid}.exam-toggle-copy{gap:0}.exam-toggle-copy strong,.exam-note-panel strong{color:var(--text)}.exam-toggle-copy small,.exam-note-panel small{color:var(--text-soft);line-height:1.45}.exam-note-panel{background:#eef4ff;grid-column:1/-1;justify-content:flex-start}.exam-toggle-row .exam-note-panel,.exam-toggle-copy small,.exam-inline-check{display:none}.exam-toggle-card{min-height:68px;padding:12px 16px}.exam-builder-header,.exam-builder-meta,.exam-list-meta{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.exam-builder-list{grid-template-columns:1fr}.exam-builder-card{gap:14px;display:grid}.exam-inline-check{background:#fbfdff;border:1px dashed #1d5fd02e;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.exam-inline-check input{width:auto;margin:0}.inline-check{width:fit-content;color:var(--text);grid-template-columns:none;justify-content:flex-start;align-items:center;gap:10px;font-weight:600;display:flex!important}.inline-check input{width:auto;accent-color:var(--primary);margin:0}.inline-check span{color:var(--text);line-height:1.3}.exam-builder-card>.field-grid:first-of-type{grid-template-columns:minmax(0,220px)}.exam-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-list-card{align-content:start;gap:16px;display:grid}.exam-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.exam-fact-card{background:#ffffffeb;border:1px solid #1d5fd01f;border-radius:14px;align-content:start;gap:8px;min-height:88px;padding:14px 16px;display:grid}.exam-fact-card span{color:var(--text-soft);font-size:.78rem}.exam-fact-card strong{color:var(--text);font-size:.98rem;line-height:1.5}.exam-fact-card--wide{grid-column:1/-1}.exam-list-actions{flex-wrap:wrap;gap:10px;display:flex}.exam-submission-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.exam-submission-item{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #1d5fd01f;border-radius:14px;align-content:start;gap:10px;min-height:126px;padding:16px 18px;display:grid}.exam-submission-item p{margin:0;line-height:1.55}.assignment-form,.assignment-attachment-stack{gap:14px;display:grid}.assignment-form-grid{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:14px;display:grid}.assignment-submission-browser{align-items:start;gap:16px;display:grid}.assignment-submission-roster{flex-wrap:wrap;gap:10px;display:flex}.assignment-submission-row{text-align:left;width:auto;min-width:180px;color:var(--text);background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #1d5fd01f;border-radius:14px;gap:8px;padding:12px 14px;display:grid}.assignment-submission-row strong,.assignment-body-panel p{margin:0}.assignment-submission-row-main{justify-content:space-between;align-items:center;gap:10px;display:flex}.assignment-submission-row-main strong{color:var(--text);font-size:1rem}.assignment-submission-row.is-active{background:linear-gradient(#fff 0%,#eef5ff 100%);border-color:#1d5fd057}.assignment-submission-detail{gap:16px;min-height:100%;padding:20px}.assignment-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.assignment-submission-detail .exam-submission-item-head{align-items:flex-start}.assignment-meta-grid .exam-fact-card span{white-space:nowrap}.assignment-body-panel strong{white-space:normal;overflow-wrap:anywhere;word-break:break-word}.assignment-body-panel{background:#f7faffe6;border:1px solid #1d5fd01f;border-radius:16px;gap:8px;padding:16px 18px;display:grid}.assignment-body-panel p{color:var(--text);line-height:1.7}.assignment-attachment-list,.assignment-pending-files{flex-wrap:wrap;gap:10px;display:flex}.assignment-attachment-chip{background:#1d5fd012;border:1px solid #1d5fd02e;border-radius:999px;align-items:center;gap:10px;padding:10px 12px;display:inline-flex}.assignment-attachment-chip small{color:var(--text-soft)}.assignment-attachment-chip--editable{padding-right:8px}.assignment-form-group{gap:10px;display:grid}.assignment-attachment-remove{width:22px;height:22px;color:var(--primary-strong);cursor:pointer;background:#1d5fd024;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1rem;font-weight:800;line-height:1;display:inline-flex}.assignment-attachment-remove:hover:not(:disabled){background:#1d5fd038}.assignment-attachment-remove:disabled{cursor:default}.exam-submission-item-head,.exam-submission-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.exam-submission-item-head{margin-bottom:10px}.exam-question-preview-list{min-width:0}.exam-question-preview{background:#fbfdff;border:1px solid #1d5fd01f;border-radius:14px;gap:10px;padding:14px;display:grid}.exam-question-preview-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.exam-option-preview-list{flex-wrap:wrap;gap:8px;display:flex}.exam-option-preview{color:var(--primary-strong);background:#eef4ff;border-radius:999px;align-items:center;padding:6px 10px;font-size:.82rem;display:inline-flex}.exam-option-preview.is-correct{color:#18764c;background:#def7e8}.exam-take-layout .main-column>.section-card{padding-right:16px}.exam-take-shell{gap:14px;display:grid}.exam-question-shell{gap:16px;display:grid}.exam-timer{min-width:118px;color:var(--primary-strong);text-align:center;background:#eef4ff;border-radius:14px;gap:2px;padding:12px;display:grid}.exam-timer strong{font-size:1.1rem}.exam-timer.is-warning{color:#b45309;background:#fff1df}.exam-progress-block{gap:8px;display:grid}.exam-progress-track{background:#e8eef8;border-radius:999px;height:10px;overflow:hidden}.exam-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#1d5fd0 0%,#4b89f0 100%);height:100%}.exam-option-list{grid-template-columns:1fr}.exam-option-card{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:12px;padding:14px;transition:border-color .16s,background-color .16s,box-shadow .16s,transform .16s;display:grid}.exam-option-card input{justify-self:center;width:auto;margin:0}.exam-option-card:hover{background:#f8fbff;border-color:#1d5fd03d;transform:translateY(-1px);box-shadow:0 10px 22px #1d5fd00f}.exam-option-card.is-selected{background:#f3f8ff;border-color:#1d5fd06b;box-shadow:inset 0 0 0 1px #1d5fd01f,0 12px 24px #1d5fd014}.exam-option-order{width:30px;height:30px;color:var(--primary-strong);background:#eef4ff;border-radius:999px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.exam-option-card.is-selected .exam-option-order{color:#fff;background:linear-gradient(135deg,#1d5fd0 0%,#3b82f6 100%)}.exam-question-prompt{color:#1c3148;margin:2px 0 4px;font-size:1.18rem;line-height:1.7}.exam-inline-actions{flex-wrap:wrap}.exam-nav-action{min-width:126px}.exam-nav-action--ghost{color:#36506a}.exam-nav-action--primary,.exam-nav-action--submit{box-shadow:0 10px 20px #1d5fd029}.exam-nav-action--submit{background:linear-gradient(135deg,#0f766e 0%,#0d9488 100%);border-color:#0f766e}.exam-nav-action--submit:hover{background:linear-gradient(135deg,#0d6c65 0%,#0f7f77 100%)}.exam-nav-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:12px}.exam-nav-button{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:12px;padding:10px 0;transition:border-color .16s,background-color .16s,box-shadow .16s,transform .16s}.exam-nav-button:hover{background:#f7fbff;border-color:#1d5fd03d;transform:translateY(-1px)}.exam-nav-button.is-answered{color:#166534;background:#effcf4;border-color:#18764c3d}.exam-nav-button.is-active{color:var(--primary-strong);background:#eef4ff;border-color:#1d5fd073;box-shadow:0 10px 20px #1d5fd01a}.exam-mode-page-shell{background:radial-gradient(circle at 0 0,#2e86ff33,#0000 32%),radial-gradient(circle at 100% 0,#115e5929,#0000 26%),linear-gradient(#edf4ff 0%,#f6f9ff 42%,#f7fafc 100%);min-height:100vh;padding:32px 24px 40px;position:relative}.exam-mode-page-backdrop{pointer-events:none;background:linear-gradient(135deg,#ffffff8a,#0000 48%),radial-gradient(circle at 20% 20%,#ffffffbf,#0000 18%);position:fixed;inset:0}.exam-mode-page-inner{z-index:1;gap:20px;width:min(1380px,100%);margin:0 auto;display:grid;position:relative}.exam-mode-masthead{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffc7;border:1px solid #0f172a14;border-radius:24px;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex;box-shadow:0 20px 50px #0f172a14}.exam-mode-count{color:#36506a;font-weight:700}.exam-mode-brand{align-items:center;gap:14px;display:flex}.exam-mode-brand-mark{color:#fff;letter-spacing:.08em;background:linear-gradient(135deg,#1d4ed8 0%,#2563eb 55%,#0f766e 100%);border-radius:18px;justify-content:center;align-items:center;width:50px;height:50px;font-weight:800;display:inline-flex}.exam-mode-brand strong,.exam-mode-brand span{display:block}.exam-mode-brand strong{color:#10233d;font-size:1.08rem}.exam-mode-brand span{color:#52637a;margin-top:4px;font-size:.92rem}.exam-mode-masthead-status{justify-items:end;gap:6px;display:grid}.exam-mode-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,360px);align-items:start;gap:22px;display:grid}.exam-mode-main,.exam-mode-sidebar{gap:18px;display:grid}.exam-mode-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border:1px solid #14253f14;border-radius:28px;box-shadow:0 24px 60px #0f172a14}.exam-mode-panel--hero,.exam-mode-panel--result,.exam-mode-panel--question,.exam-mode-panel--sidebar{padding:24px}.exam-mode-hero{justify-content:space-between;align-items:flex-start;gap:22px;display:flex}.exam-mode-hero-copy{gap:10px;max-width:720px;display:grid}.exam-mode-hero-copy h2{letter-spacing:-.04em;color:#10233d;margin:0;font-size:clamp(2rem,2.6vw,3.1rem);line-height:1.08}.exam-mode-hero-copy .caption-text{color:#52637a;max-width:620px;font-size:1rem;line-height:1.7}.exam-mode-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:min(420px,100%);display:grid}.exam-mode-timer,.exam-mode-stat-card{background:linear-gradient(#f1f7fff5 0%,#fffffff5 100%);border:1px solid #1d5fd01f;border-radius:24px;min-height:120px;padding:18px;box-shadow:inset 0 1px #ffffffb8}.exam-mode-timer{align-content:center;justify-items:center;gap:8px;display:grid}.exam-mode-timer strong{letter-spacing:-.04em;font-size:clamp(1.6rem,2vw,2.1rem)}.exam-mode-stat-card{text-align:center;align-content:center;gap:6px;display:grid}.exam-mode-stat-card strong{color:#10233d;font-size:1.5rem}.exam-mode-banner{color:#0f3f96;background:linear-gradient(90deg,#dbeafeeb 0%,#eff6ffeb 100%);border:1px solid #bfdbfedb;border-radius:18px;font-weight:700;box-shadow:0 16px 36px #2563eb14}.exam-result-card--final{box-shadow:none;background:0 0;border:0;gap:18px;padding:8px 0 0;display:grid}.exam-result-copy{gap:8px;display:grid}.exam-result-copy h3{letter-spacing:-.03em;color:#10233d;margin:0;font-size:2rem}.exam-metric-grid--result{grid-template-columns:repeat(3,minmax(0,1fr))}.exam-mode-hero-actions{justify-content:flex-start;display:flex}.exam-question-shell--focused{box-shadow:none;background:0 0;border:0;gap:20px;padding:0}.exam-question-shell-badges{flex-wrap:wrap;gap:8px;display:flex}.exam-mode-note{background:linear-gradient(#f0fdfaeb 0%,#fffffff5 100%);border:1px solid #0f766e1f;border-radius:20px;gap:8px;padding:18px 20px;display:grid}.exam-mode-note strong{color:#0f766e}.exam-mode-note p{color:#36526a;margin:0;line-height:1.7}.exam-progress-block--hero{background:#f7fafff2;border:1px solid #1d5fd01a;border-radius:20px;padding:18px 20px}.exam-option-card--immersive{background:linear-gradient(#fff 0%,#f8fbff 100%);border-color:#94a3b83d;border-radius:20px;grid-template-columns:auto auto minmax(0,1fr);gap:14px;min-height:90px;padding:18px 20px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;box-shadow:0 10px 24px #0f172a0a}.exam-option-card--immersive:hover{border-color:#1d5fd03d;transform:translateY(-2px);box-shadow:0 18px 36px #1d5fd014}.exam-option-card--immersive.is-selected{background:linear-gradient(#edf4ff 0%,#fff 100%);border-color:#1d5fd061;box-shadow:0 18px 40px #1d5fd01f}.exam-option-copy{gap:5px;display:grid}.exam-option-copy span{color:#23374f;font-size:1.12rem;line-height:1.65}.exam-mode-panel--question>p{color:#23374f;margin:0 0 10px;font-size:1.28rem;line-height:1.7}.exam-inline-actions--primary{padding-top:6px}.exam-mode-sidebar{position:sticky;top:24px}.exam-side-section{gap:14px;display:grid}.exam-side-section+.exam-side-section{border-top:1px solid #94a3b82e;padding-top:18px}.exam-side-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.exam-side-stat-list{gap:10px;display:grid}.exam-submit-warning-backdrop{z-index:70;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.exam-submit-warning-dialog{background:#fff;border:1px solid #1d5fd024;border-radius:24px;gap:14px;width:min(520px,100%);padding:24px;display:grid;box-shadow:0 28px 70px #0f172a2e}.exam-submit-warning-head,.exam-submit-warning-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.exam-submit-warning-head strong{color:#10233d;font-size:1.2rem}.exam-submit-warning-dialog p{color:#22364d;margin:0;font-size:1.05rem;line-height:1.7}.exam-side-stat{background:#f8fbfff5;border:1px solid #94a3b829;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.exam-side-stat span{color:#64748b;font-size:.86rem}.exam-side-stat strong{color:#10233d;text-align:right}.exam-nav-grid--immersive{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:0}.exam-nav-grid--stacked{grid-template-columns:1fr}.exam-nav-grid--immersive .exam-nav-button{border-radius:16px;justify-items:center;gap:4px;min-height:64px;padding:12px 0;display:grid}.exam-nav-grid--stacked .exam-nav-button{text-align:left;justify-items:start;min-height:0;padding:14px 16px}.exam-nav-grid--immersive .exam-nav-button small{color:inherit;font-size:.72rem}.exam-lock-note{background:linear-gradient(#eff6fff5 0%,#fffffff5 100%);border:1px solid #bfdbfedb;border-radius:18px;gap:8px;padding:16px 18px;display:grid}.exam-lock-note strong{color:#1d4ed8}.exam-lock-note p{color:#52637a;margin:0;line-height:1.65}.exam-detail-panel,.exam-builder-card,.exam-list-card,.exam-submission-item,.exam-question-preview{border-color:#0f172a14;box-shadow:0 16px 34px #0f172a0d}.exam-builder-card,.exam-list-card,.exam-detail-panel{border-radius:20px}.exam-list-card--student .exam-detail-actions{margin-top:2px}.exam-detail-panel--summary{align-content:start;gap:18px;display:grid}.exam-detail-panel--summary .exam-detail-actions{margin-top:auto}.exam-detail-panel--submissions{align-content:start;gap:16px;display:grid}.exam-space--student .exam-question-preview-list{display:none}.exam-form-section{border-color:#0f172a14;border-radius:20px;box-shadow:0 14px 30px #0f172a0a}.exam-toggle-card{border-color:#0f172a14;border-radius:18px}@media (width<=1100px){.exam-mode-layout{grid-template-columns:1fr}.exam-mode-sidebar{position:static}.exam-mode-hero{grid-template-columns:1fr;display:grid}.exam-mode-hero-stats{min-width:0}.exam-detail-grid{grid-template-columns:1fr;display:grid}.exam-metric-grid,.exam-list-grid,.exam-submission-list,.exam-fact-grid,.assignment-form-grid,.assignment-meta-grid{grid-template-columns:1fr}.assignment-submission-row{width:100%}.exam-form-grid,.exam-toggle-row{grid-template-columns:1fr}}@media (width<=760px){.exam-mode-page-shell{padding:18px 14px 28px}.exam-mode-masthead{justify-content:stretch;display:grid}.exam-mode-masthead-status{justify-items:start}.exam-mode-panel--hero,.exam-mode-panel--result,.exam-mode-panel--question,.exam-mode-panel--sidebar{padding:18px}.exam-mode-hero-copy h2,.exam-result-copy h3{font-size:1.6rem}.exam-mode-hero-stats,.exam-metric-grid--result{grid-template-columns:1fr}.exam-nav-grid--immersive{grid-template-columns:repeat(3,minmax(0,1fr))}.exam-question-shell-head,.exam-inline-actions,.exam-builder-card-head,.exam-detail-actions{grid-template-columns:1fr;display:grid}.exam-nav-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.exam-option-card,.exam-option-card--immersive{grid-template-columns:auto auto minmax(0,1fr)}}@media (width<=1100px){.attendance-roster-table{min-width:820px}}
