:root {
    --bg: #f5f7fb;
    --surface: #ffffff;
    --text: #162033;
    --muted: #61708a;
    --line: #dfe5ef;
    --primary: #3157d5;
    --primary-dark: #203fa9;
    --shadow: 0 18px 55px rgba(31, 45, 80, .12);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); line-height: 1.6; }
a { color: inherit; }
.container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.narrow { max-width: 720px; }
.site-header { background: rgba(255,255,255,.92); border-bottom: 1px solid var(--line); position: sticky; top: 0; backdrop-filter: blur(16px); }
.header-inner { min-height: 72px; display: flex; align-items: center; justify-content: space-between; }
.brand { text-decoration: none; display: inline-flex; align-items: center; gap: 12px; font-weight: 800; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: white; background: var(--primary); }
.environment-badge, .eyebrow { font-size: .76rem; font-weight: 800; letter-spacing: .12em; color: var(--primary); }
.environment-badge { padding: 7px 10px; background: #edf1ff; border-radius: 999px; }
.hero { padding: 88px 0 72px; background: linear-gradient(180deg, #fff 0%, #f5f7fb 100%); }
.hero-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 64px; align-items: center; }
h1 { max-width: 760px; margin: 14px 0 20px; font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1.02; letter-spacing: -.045em; }
h2 { font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.03em; margin: 0 0 32px; }
h3 { margin-top: 0; }
.lead { max-width: 720px; color: var(--muted); font-size: 1.15rem; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 0 20px; border-radius: 12px; font-weight: 750; text-decoration: none; border: 1px solid transparent; }
.button.primary { color: white; background: var(--primary); box-shadow: 0 10px 24px rgba(49,87,213,.23); }
.button.primary:hover { background: var(--primary-dark); }
.button.secondary { background: white; border-color: var(--line); }
.status-card { background: var(--surface); border: 1px solid var(--line); border-radius: 22px; padding: 18px 24px; box-shadow: var(--shadow); }
.status-line { display: flex; justify-content: space-between; gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.status-line:last-child { border-bottom: 0; }
.status-line span { color: var(--muted); }
.section { padding: 80px 0; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.feature { background: var(--surface); border: 1px solid var(--line); padding: 26px; border-radius: 18px; }
.feature p { color: var(--muted); margin-bottom: 0; }
.site-footer { border-top: 1px solid var(--line); padding: 28px 0; color: var(--muted); background: white; }
.error-page { min-height: 75vh; display: grid; place-items: center; text-align: center; padding: 60px 0; }
.error-code { font-size: 5rem; line-height: 1; font-weight: 900; color: var(--primary); }
.request-id { display: inline-block; padding: 10px 14px; background: white; border: 1px solid var(--line); border-radius: 8px; margin: 10px 0 24px; }
.debug-box { text-align: left; overflow: auto; padding: 16px; background: #101828; color: white; border-radius: 10px; }
@media (max-width: 820px) {
    .hero { padding-top: 56px; }
    .hero-grid, .feature-grid { grid-template-columns: 1fr; }
    .hero-grid { gap: 36px; }
}

/* Customer-facing homepage */
.home-hero{position:relative;overflow:hidden;padding:88px 0 80px;background:radial-gradient(circle at 82% 15%,rgba(91,115,225,.17),transparent 32%),linear-gradient(150deg,#fff 0%,#f2f5ff 52%,#eef8f5 100%)}
.home-hero:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-155px;bottom:-205px;border:55px solid rgba(49,87,213,.07)}
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.65fr);gap:72px;align-items:center;position:relative;z-index:1}
.home-hero-copy h1{font-size:clamp(3rem,6.5vw,5.7rem);max-width:850px}.home-hero-copy .lead{font-size:1.22rem;max-width:680px}.home-trust-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;color:#53627b;font-size:.84rem;font-weight:750}.home-trust-row span:before{content:"✓";color:#13815b;margin-right:7px;font-weight:900}
.home-learning-card{background:#fff;border:1px solid rgba(209,218,234,.9);border-radius:28px;padding:25px;box-shadow:0 30px 75px rgba(31,45,80,.17);transform:rotate(1.2deg)}.home-card-label{text-transform:uppercase;letter-spacing:.11em;color:#748197;font-size:.7rem;font-weight:900;margin-bottom:18px}.home-session-preview{display:flex;align-items:center;gap:14px;padding:18px;background:#f4f6ff;border-radius:18px}.home-session-preview>div:last-child{display:grid}.home-session-preview span{font-size:.8rem;color:#68768c}.home-subject-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#3157d5;color:#fff;font-size:1.1rem;font-weight:900}.home-progress{margin:22px 0}.home-progress>div:first-child{display:flex;justify-content:space-between;font-size:.8rem}.home-progress-bar{height:9px;border-radius:999px;background:#e7ebf2;margin-top:10px;overflow:hidden}.home-progress-bar i{display:block;width:78%;height:100%;background:linear-gradient(90deg,#3157d5,#21a177);border-radius:inherit}.home-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.home-mini-grid div{display:grid;text-align:center;padding:13px 7px;border:1px solid #e2e7f0;border-radius:14px}.home-mini-grid strong{font-size:.9rem}.home-mini-grid span{font-size:.7rem;color:#718096}
.home-section-heading{max-width:760px;margin-bottom:35px}.home-section-heading h2{margin:8px 0 12px}.home-section-heading p{color:var(--muted);font-size:1.04rem}.home-feature{position:relative;overflow:hidden;padding:30px}.home-feature-number{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#edf1ff;color:#3157d5;font-size:.72rem;font-weight:900;margin-bottom:25px}.home-feature h3{font-size:1.25rem;margin-bottom:8px}.home-steps{background:#152038;color:#fff}.home-steps .home-section-heading p{color:#bdc8da}.home-steps .eyebrow{color:#9fb3ff}.home-steps-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:80px;align-items:start}.home-steps .button.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.22);margin-top:14px}.home-step-list{list-style:none;padding:0;margin:0;display:grid}.home-step-list li{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.12)}.home-step-list li:first-child{padding-top:0}.home-step-list>li>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#3157d5;font-weight:900}.home-step-list strong{font-size:1.08rem}.home-step-list p{color:#bdc8da;margin:4px 0 0}.home-audiences{background:#fff}.home-audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.home-audience-grid article{min-height:260px;display:flex;flex-direction:column;padding:28px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#fff,#f7f9fd)}.home-audience-grid article:nth-child(2){background:linear-gradient(145deg,#f1f5ff,#fff)}.home-audience-grid article:nth-child(3){background:linear-gradient(145deg,#eef9f5,#fff)}.home-audience-grid span{color:#3157d5;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.home-audience-grid h3{font-size:1.35rem;line-height:1.35;margin:18px 0}.home-audience-grid a{margin-top:auto;color:#3157d5;font-weight:800;text-decoration:none}.home-cta{padding:72px 0;background:#eef2ff}.home-cta-inner{display:flex;justify-content:space-between;gap:50px;align-items:center}.home-cta h2{margin:8px 0 5px}.home-cta p{margin:0;color:var(--muted)}.home-cta .actions{margin:0;flex-shrink:0}
@media(max-width:940px){.home-hero-grid,.home-steps-grid{grid-template-columns:1fr;gap:42px}.home-learning-card{transform:none;max-width:620px}.home-audience-grid{grid-template-columns:1fr 1fr}.home-cta-inner{align-items:flex-start;flex-direction:column}.home-cta .actions{margin-top:0}}
@media(max-width:650px){.home-hero{padding:58px 0}.home-audience-grid{grid-template-columns:1fr}.home-steps-grid{gap:36px}.home-mini-grid{grid-template-columns:1fr}.home-cta .actions{display:grid;width:100%}.home-cta .button{width:100%}}

/* Section 2 financial architecture */
.header-inner { gap: 22px; }
.header-nav { margin-left: auto; display: flex; gap: 8px; }
.header-nav a { text-decoration: none; color: var(--muted); font-weight: 700; font-size: .9rem; padding: 8px 10px; border-radius: 9px; }
.header-nav a:hover { color: var(--primary); background: #edf1ff; }
.finance-shell { padding-top: 58px; }
.section-heading { margin-bottom: 34px; }
.split-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.page-title { font-size: clamp(2.4rem, 5vw, 4.6rem); margin-bottom: 18px; }
.architecture-badge { white-space: nowrap; background: #101828; color: #fff; padding: 12px 15px; border-radius: 999px; font-weight: 800; font-size: .82rem; }
.finance-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: 24px; align-items: start; }
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: 22px; padding: 24px; box-shadow: 0 12px 34px rgba(31,45,80,.07); }
.panel-header { display: flex; justify-content: space-between; gap: 18px; align-items: start; margin-bottom: 22px; }
.panel-header h2 { font-size: 1.35rem; margin: 3px 0 0; letter-spacing: -.02em; }
.step-label { color: var(--primary); font-weight: 900; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
.status-pill, .verified-dot { display: inline-flex; align-items: center; white-space: nowrap; border-radius: 999px; background: #e8fbf0; color: #167647; padding: 7px 10px; font-size: .76rem; font-weight: 850; }
.form-panel fieldset { border: 0; padding: 0 0 23px; margin: 0 0 23px; border-bottom: 1px solid var(--line); }
.form-panel legend { font-size: .92rem; font-weight: 850; margin-bottom: 14px; }
.form-grid { display: grid; gap: 14px; }
.form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-panel label { display: grid; gap: 7px; color: var(--muted); font-size: .84rem; font-weight: 700; }
.form-panel input, .form-panel select { width: 100%; min-height: 45px; border: 1px solid #ccd5e3; border-radius: 11px; background: #fff; color: var(--text); padding: 9px 11px; font: inherit; }
.form-panel input:focus, .form-panel select:focus { outline: 3px solid rgba(49,87,213,.15); border-color: var(--primary); }
.button.full { width: 100%; border: 0; cursor: pointer; font: inherit; }
.results-column { display: grid; gap: 18px; }
.guardrail-panel { background: #101828; color: #fff; border-color: #101828; }
.guardrail-panel .step-label { color: #9fb3ff; }
.guardrail-list { display: grid; gap: 0; }
.guardrail-list > div { display: grid; gap: 3px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.12); }
.guardrail-list strong { font-size: .9rem; }
.guardrail-list span { color: #b8c3d6; font-size: .84rem; }
.metric-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.metric-card { background: #fff; border: 1px solid var(--line); border-radius: 17px; padding: 18px; }
.metric-card span, .metric-card small { display: block; color: var(--muted); }
.metric-card span { font-size: .78rem; font-weight: 750; }
.metric-card strong { display: block; font-size: 1.3rem; margin: 7px 0 3px; letter-spacing: -.02em; }
.metric-card small { font-size: .74rem; }
.json-preview { margin: 0; max-height: 390px; overflow: auto; background: #0f172a; color: #d6e4ff; border-radius: 13px; padding: 16px; font-size: .78rem; line-height: 1.55; }
.snapshot-details { display: grid; gap: 12px; margin: 0; }
.snapshot-details > div { display: grid; gap: 3px; }
.snapshot-details dt { color: var(--muted); font-size: .76rem; font-weight: 750; }
.snapshot-details dd { margin: 0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .77rem; overflow-wrap: anywhere; }
.hash-value { padding: 10px; background: #f5f7fb; border-radius: 9px; }
.alert { border-radius: 15px; padding: 15px 18px; margin-bottom: 22px; }
.alert.danger { background: #fff1f1; border: 1px solid #f3b8b8; color: #8e2424; }
.alert ul { margin-bottom: 0; }
.empty-state { text-align: center; padding: 52px 28px; }
.empty-icon { width: 48px; height: 48px; display: grid; place-items: center; background: #edf1ff; color: var(--primary); border-radius: 15px; margin: 0 auto 15px; font-size: 1.4rem; }
.empty-state h2 { font-size: 1.4rem; margin-bottom: 9px; }
.empty-state p { color: var(--muted); }
.architecture-section { padding-bottom: 0; }
.feature-grid.four { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 980px) {
    .finance-layout { grid-template-columns: 1fr; }
    .feature-grid.four { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
    .header-nav { display: none; }
    .split-heading { display: block; }
    .architecture-badge { display: inline-flex; margin-top: 18px; }
    .form-grid.two, .form-grid.three, .metric-grid, .feature-grid.four { grid-template-columns: 1fr; }
}

/* Section 3 role and permission architecture */
.access-hero { padding-bottom: 52px; }
.access-shell { padding-top: 46px; }
.access-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(330px, .9fr); gap: 24px; align-items: start; }
.decision-card { margin-top: 18px; border-radius: 15px; padding: 18px; display: grid; gap: 3px; border: 1px solid; }
.decision-card.allow { background: #eafaf1; border-color: #a6dec0; color: #12623b; }
.decision-card.deny { background: #fff1f1; border-color: #f0b4b4; color: #8d2424; }
.decision-card span { font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.decision-card strong { font-size: 1.05rem; }
.decision-card small { opacity: .8; }
.role-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.role-card { background: var(--surface); border: 1px solid var(--line); border-radius: 19px; padding: 22px; }
.role-card-top { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 15px; }
.role-code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .74rem; color: var(--primary); font-weight: 800; }
.rank { font-size: .72rem; color: var(--muted); }
.role-card h3 { margin-bottom: 8px; }
.role-card p { color: var(--muted); min-height: 76px; }
.role-meta { display: flex; flex-wrap: wrap; gap: 7px; }
.role-meta span { background: #f2f5fa; border: 1px solid var(--line); border-radius: 999px; padding: 5px 8px; font-size: .7rem; font-weight: 750; color: #4f5d72; }
.permission-groups { display: grid; gap: 12px; }
.permission-group { background: #fff; border: 1px solid var(--line); border-radius: 15px; overflow: hidden; }
.permission-group summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 20px; padding: 17px 19px; font-weight: 800; }
.permission-group summary strong { color: var(--muted); font-size: .82rem; }
.permission-list { border-top: 1px solid var(--line); }
.permission-list > div { display: grid; grid-template-columns: minmax(210px, .65fr) minmax(280px, 1.35fr) 90px; gap: 18px; align-items: center; padding: 13px 18px; border-bottom: 1px solid #edf0f5; }
.permission-list > div:last-child { border-bottom: 0; }
.permission-list code { font-size: .76rem; color: #243d9c; overflow-wrap: anywhere; }
.permission-list span { color: var(--muted); font-size: .84rem; }
.sensitivity { justify-self: end; font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; border-radius: 999px; padding: 5px 8px; }
.sensitivity.low { background: #edf7ff; color: #17628e; }
.sensitivity.medium { background: #f3f0ff; color: #5c42a2; }
.sensitivity.high { background: #fff7e6; color: #956112; }
.sensitivity.critical { background: #fff0f0; color: #9a2828; }
.conflict-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.conflict-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 16px; display: flex; justify-content: space-between; gap: 12px; }
.conflict-card span { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; }
.conflict-card strong { color: #a12828; font-size: .75rem; }
@media (max-width: 980px) {
    .access-grid, .role-grid { grid-template-columns: 1fr 1fr; }
    .access-grid .form-panel { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
    .access-grid, .role-grid, .conflict-grid { grid-template-columns: 1fr; }
    .permission-list > div { grid-template-columns: 1fr; gap: 5px; }
    .sensitivity { justify-self: start; }
}

/* Section 4: authentication, account security and application workflows */
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:1rem;top:1rem;z-index:1000;background:#fff;padding:.75rem 1rem;border-radius:.5rem;box-shadow:0 4px 16px rgba(0,0,0,.2)}
.nav-cta{background:#111827;color:#fff!important;padding:.55rem .9rem;border-radius:.6rem}
.auth-shell{width:min(1120px,calc(100% - 2rem));margin:3rem auto;display:grid;grid-template-columns:1fr 1fr;border:1px solid #e5e7eb;border-radius:1.2rem;overflow:hidden;background:#fff;box-shadow:0 18px 55px rgba(15,23,42,.08)}
.single-auth{max-width:650px;grid-template-columns:1fr}.auth-panel{padding:clamp(1.5rem,4vw,3.5rem)}.auth-copy{background:linear-gradient(145deg,#0f172a,#1e293b);color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-copy p,.auth-copy li{color:#dbeafe}.auth-form-panel h1,.auth-form-panel h2{margin-top:.25rem}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:#2563eb;margin-bottom:.65rem}.auth-copy .eyebrow{color:#93c5fd}.feature-list{padding-left:1.2rem;display:grid;gap:.6rem}
.form-stack{display:grid;gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem;padding:1.5rem}.inner-grid{padding-top:.5rem}.span-2{grid-column:1/-1}.form-grid label,.form-stack label{display:grid;gap:.42rem;font-weight:650;color:#273449}.form-grid small,.form-stack small{font-weight:400;color:#64748b}
input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:.65rem;padding:.76rem .85rem;font:inherit;color:#0f172a;background:#fff;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:0;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15)}textarea{resize:vertical}fieldset{border:1px solid #dbe3ee;border-radius:.75rem;padding:1rem}legend{font-weight:750;padding:0 .4rem}.check-row{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:.65rem!important;font-weight:500!important}.check-row input{width:auto;margin-top:.2rem}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;border-radius:.65rem;padding:.75rem 1rem;font-weight:750;cursor:pointer;text-decoration:none}.button-primary{background:#2563eb;color:#fff}.button-primary:hover{background:#1d4ed8}.button-secondary{background:#eef2f7;color:#182235;border:1px solid #d6deea}.text-button{border:0;background:transparent;color:#b42318;font-weight:700;cursor:pointer}.form-links{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;font-size:.92rem}.form-links a{color:#2563eb}
.alert{padding:.85rem 1rem;border-radius:.65rem;margin:1rem 0}.alert-error{background:#fff1f0;border:1px solid #fecdca;color:#912018}.alert-success{background:#ecfdf3;border:1px solid #abefc6;color:#067647}.field-error{color:#b42318!important}.narrow-section{max-width:900px}.form-section-title{font-size:1.05rem;border-bottom:1px solid #e5e7eb;padding-bottom:.6rem;margin-top:1rem}.reference-box{font-size:1.35rem;font-weight:800;letter-spacing:.08em;padding:1rem;background:#eff6ff;border-radius:.7rem;margin:1rem 0;color:#1d4ed8}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:.85rem;padding:1.2rem;display:grid;gap:.3rem}.metric-card span,.metric-card small{color:#64748b}.metric-card strong{font-size:1.05rem;overflow-wrap:anywhere}.action-row{display:flex;gap:.8rem;margin-top:1.5rem;align-items:center}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.card-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center}.table-card{margin-top:1rem}.responsive-table{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.8rem;border-bottom:1px solid #e5e7eb;vertical-align:top}.status-badge{display:inline-flex;padding:.25rem .55rem;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.78rem;font-weight:750;text-transform:capitalize}.setup-list{display:grid;gap:.7rem;padding-left:1.25rem}.secret-code,.wrap-code{display:block;padding:.8rem;background:#0f172a;color:#e2e8f0;border-radius:.5rem;margin:.5rem 0;overflow-wrap:anywhere}.recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:1.2rem 0}.recovery-grid code{background:#f1f5f9;padding:.65rem;border-radius:.45rem;text-align:center;font-size:1rem}.application-list{display:grid;gap:1rem}.application-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1fr);gap:1.25rem;align-items:start}.admin-actions{display:grid;gap:.75rem}.inline-form{display:grid;grid-template-columns:1fr 1.5fr auto;gap:.5rem}.empty-state{text-align:center;padding:2rem}.footer-grid{display:flex;justify-content:space-between;gap:2rem;align-items:center}
@media(max-width:850px){.auth-shell,.application-card,.two-column{grid-template-columns:1fr}.auth-copy{display:none}.form-grid,.metric-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.inline-form{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}.header-nav{flex-wrap:wrap}.environment-badge{display:none}.footer-grid{display:grid}.recovery-grid{grid-template-columns:1fr}}

/* Core shared-hosting account and dashboard layout */
.page-section{width:min(1160px,calc(100% - 40px));margin-inline:auto;padding:clamp(2.5rem,6vw,5rem) 0}
.page-section.narrow-section{width:min(900px,calc(100% - 40px))}
.auth-onboarding .section-heading{max-width:760px;margin-bottom:1.5rem}
.auth-onboarding .section-heading h1,.basic-dashboard .section-heading h1{font-size:clamp(2.25rem,5vw,4.25rem);margin:.35rem 0 .85rem;line-height:1.04}
.auth-onboarding .section-heading p,.basic-dashboard .section-heading p{max-width:760px;color:var(--muted);font-size:1.05rem}
.auth-onboarding>.card{box-shadow:0 16px 45px rgba(31,45,80,.08)}
.basic-dashboard .dashboard-shortcut-grid{margin:1.25rem 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.dashboard-shortcut{display:grid;gap:.3rem;text-decoration:none;transition:transform .15s ease,border-color .15s ease}
.dashboard-shortcut:hover{transform:translateY(-2px);border-color:#9fb3ff}
.dashboard-shortcut span,.dashboard-shortcut small{color:var(--muted)}
.dashboard-shortcut strong{font-size:1.1rem}
@media(max-width:850px){.basic-dashboard .dashboard-shortcut-grid{grid-template-columns:1fr}.page-section{width:min(100% - 28px,1160px);padding-top:2rem}.auth-onboarding .section-heading h1,.basic-dashboard .section-heading h1{font-size:clamp(2rem,11vw,3.25rem)}}

.cookie-banner{position:fixed;z-index:1000;left:1rem;right:1rem;bottom:1rem;max-width:1100px;margin:auto;background:#fff;border:1px solid #dbe3ee;border-radius:1rem;box-shadow:0 16px 50px rgba(15,23,42,.22);padding:1rem 1.15rem;display:flex;justify-content:space-between;gap:1.5rem;align-items:center}.cookie-banner p{margin:.25rem 0 0;color:#526176;max-width:760px}.cookie-actions{display:flex;gap:.65rem;flex-shrink:0}.cookie-actions form{margin:0}@media(max-width:760px){.cookie-banner{display:grid}.cookie-actions{flex-wrap:wrap}}
.teacher-review-card{display:grid;gap:1.25rem;padding:1.25rem}.review-summary{display:grid;text-align:right;color:#526176}.review-summary span{font-size:.8rem}.document-review-list{display:grid;gap:.65rem}.document-review-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(160px,.6fr) minmax(420px,1.3fr);gap:1rem;align-items:center;border:1px solid #e2e8f0;border-radius:.8rem;padding:.85rem}.document-review-row>div:first-child{display:grid;gap:.2rem}.document-review-row span,.document-review-row code{font-size:.78rem;color:#64748b}.document-states{display:flex;gap:.35rem;flex-wrap:wrap}.document-review-form{display:grid;grid-template-columns:120px 1fr auto;gap:.5rem}.two-admin-actions{grid-template-columns:1fr 1fr}.muted{color:#64748b}@media(max-width:1050px){.document-review-row{grid-template-columns:1fr}.document-review-form{grid-template-columns:1fr}.two-admin-actions{grid-template-columns:1fr}}

/* Section 05: Student management */
.student-shell{background:linear-gradient(180deg,#f7f9fc 0,#fff 26rem);min-height:70vh}.student-page-heading{align-items:flex-end}.narrow-admin-container{max-width:1040px}.student-editor{padding:1.5rem}.student-form-grid{gap:1rem}.form-section-title{display:flex;flex-direction:column;gap:.25rem;padding:.9rem 1rem;border:1px solid #dce3ee;border-radius:.8rem;background:#f8fafc;margin-top:.35rem}.form-section-title strong{font-size:1rem}.form-section-title span{font-size:.83rem;color:#64748b}.student-filter-grid{display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:.8rem;padding:1rem;margin:1.25rem 0}.student-filter-grid label{display:flex;flex-direction:column;gap:.38rem;font-size:.82rem;font-weight:700;color:#344054}.filter-actions{display:flex;align-items:flex-end;gap:.5rem}.responsive-table table{width:100%;border-collapse:collapse}.responsive-table th,.responsive-table td{padding:1rem .85rem;border-bottom:1px solid #e6eaf0;text-align:left;vertical-align:top}.responsive-table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:#667085;background:#f8fafc}.responsive-table td small{display:block;margin-top:.28rem;color:#667085;line-height:1.45}.student-profile-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.15rem;padding:1.35rem;margin-bottom:1rem}.student-avatar{width:4.2rem;height:4.2rem;border-radius:1.15rem;display:grid;place-items:center;background:#101828;color:#fff;font-weight:800;font-size:1.15rem;letter-spacing:.05em}.student-hero-copy h1{margin:.15rem 0 .25rem}.student-hero-copy p{margin:0;color:#667085}.student-badge-row{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.75rem}.student-hero-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.student-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0}.student-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:1rem;margin:1rem 0}.student-detail-card{padding:1.25rem;min-width:0}.student-definition-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.15rem 1rem;margin:0}.student-definition-list>div{padding:.8rem 0;border-bottom:1px solid #e7ebf0}.student-definition-list dt{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em;color:#667085;margin-bottom:.3rem}.student-definition-list dd{margin:0;line-height:1.5;overflow-wrap:anywhere}.status-control-form{display:grid;grid-template-columns:1fr;gap:.65rem;padding:.85rem 0;border-bottom:1px solid #e7ebf0}.status-control-form:last-child{border-bottom:0}.compact-form{margin-top:1rem;padding-top:1rem;border-top:1px solid #e7ebf0}.student-record-list{display:grid;gap:.65rem}.student-record-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.8rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff}.student-record-row div{display:flex;flex-direction:column;gap:.2rem}.student-record-row span,.student-record-row small{font-size:.83rem;color:#667085}.student-note-row{padding:1rem;border:1px solid #e2e8f0;border-radius:.8rem;background:#fff}.student-note-row.is-pinned{border-color:#f2c94c;background:#fffcf0}.student-note-row p{margin:.55rem 0 0;line-height:1.55}.student-note-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.45rem;font-size:.76rem;color:#667085}.audit-timeline{display:grid;gap:.85rem}.audit-timeline>div{position:relative;padding-left:1.25rem;border-left:2px solid #dfe5ec}.audit-dot{position:absolute;left:-.38rem;top:.2rem;width:.65rem;height:.65rem;border-radius:50%;background:#344054;border:2px solid #fff}.audit-timeline p{margin:.3rem 0;color:#475467}.audit-timeline time{font-size:.75rem;color:#98a2b3}.billing-summary{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border:1px solid #b7d9ca;border-radius:.8rem;background:#f0faf5;margin-bottom:1rem}.billing-summary span{color:#475467}.rate-rule-list{display:grid;gap:.75rem;margin-top:1rem}.rate-rule-card{border:1px solid #dfe5ec;border-radius:.8rem;padding:1rem}.rate-rule-card>div{display:flex;justify-content:space-between;gap:.75rem}.rate-rule-card>div span{font-size:.8rem;color:#667085}.rate-rule-card dl{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem;margin:.8rem 0 0}.rate-rule-card dl div{min-width:0}.rate-rule-card dt{font-size:.7rem;text-transform:uppercase;color:#98a2b3}.rate-rule-card dd{margin:.15rem 0 0;font-size:.82rem;overflow-wrap:anywhere}.privacy-notice{padding:1rem 1.15rem;border-left:4px solid #344054}.privacy-notice p{margin:.3rem 0 0;color:#667085}.status-lead{background:#eef4ff}.status-trial{background:#fff6ed}.status-active{background:#ecfdf3}.status-on_hold,.status-suspended{background:#fff4e5}.status-completed{background:#eef2ff}.status-cancelled,.status-archived{background:#f2f4f7}.student-self-hero{margin-bottom:1rem}
@media (max-width:1100px){.student-filter-grid{grid-template-columns:repeat(3,1fr)}.student-filter-grid label:first-child{grid-column:span 2}.filter-actions{grid-column:span 3}.student-metric-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){.student-profile-hero{grid-template-columns:auto 1fr}.student-hero-actions{grid-column:1/-1;justify-content:flex-start}.student-detail-grid{grid-template-columns:1fr}.student-definition-list{grid-template-columns:1fr}.student-filter-grid{grid-template-columns:1fr 1fr}.student-filter-grid label:first-child,.filter-actions{grid-column:1/-1}.responsive-table table,.responsive-table thead,.responsive-table tbody,.responsive-table tr,.responsive-table th,.responsive-table td{display:block}.responsive-table thead{display:none}.responsive-table tr{padding:.75rem;border-bottom:1px solid #dfe5ec}.responsive-table td{border:0;padding:.4rem}.responsive-table td:last-child{padding-top:.8rem}}
@media (max-width:560px){.student-profile-hero{grid-template-columns:1fr}.student-avatar{width:3.5rem;height:3.5rem}.student-metric-grid,.student-filter-grid{grid-template-columns:1fr}.student-filter-grid label:first-child,.filter-actions{grid-column:auto}.filter-actions{flex-direction:column;align-items:stretch}.student-hero-actions{grid-column:auto}.student-hero-actions .button{width:100%;text-align:center}.rate-rule-card dl{grid-template-columns:1fr}}

/* Section 05 completion: protected record actions, tags and exports */
.student-record-row-actions { align-items: flex-start; gap: 1rem; }
.student-record-row-actions > div:last-child { display: flex; flex-direction: column; align-items: flex-end; gap: .35rem; min-width: min(100%, 15rem); }
.inline-action-form { display: flex; align-items: center; gap: .45rem; margin-top: .35rem; }
.inline-action-form input { min-width: 10rem; padding: .45rem .6rem; font-size: .8rem; }
.danger-text { color: #a61b1b; }
.tag-cloud { align-items: center; margin-bottom: 1.25rem; }
.tag-pill { display: inline-flex; align-items: center; gap: .35rem; }
.tag-remove-form { display: inline-flex; margin: 0; }
.tag-remove-form button { appearance: none; border: 0; background: transparent; color: inherit; cursor: pointer; font-size: 1rem; line-height: 1; padding: 0 .05rem; }
.muted-text { color: var(--muted, #667085); }
.feature-list { margin: 0; padding-left: 1.2rem; display: grid; gap: .75rem; color: var(--muted, #667085); }

@media (max-width: 720px) {
  .student-record-row-actions { flex-direction: column; }
  .student-record-row-actions > div:last-child { width: 100%; align-items: flex-start; }
  .inline-action-form { width: 100%; flex-wrap: wrap; }
  .inline-action-form input { flex: 1 1 12rem; }
}

/* Section 6: complete teacher management */
.teacher-hero{padding:2.2rem 0 1.2rem}.teacher-shell{padding:1.2rem 0 4rem}.teacher-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;margin-bottom:1.5rem}.teacher-heading h1{margin:.25rem 0 .45rem}.teacher-heading p{margin:0;color:#64748b;max-width:760px}.teacher-actions{display:flex;flex-wrap:wrap;gap:.7rem}.teacher-filter-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.1rem;margin-bottom:1rem;box-shadow:0 10px 35px rgba(15,23,42,.04)}.teacher-filter-grid{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(135px,1fr)) auto;gap:.8rem;align-items:end}.teacher-filter-grid label{display:grid;gap:.38rem;font-size:.8rem;font-weight:750;color:#334155}.teacher-directory{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;overflow:hidden}.teacher-name{display:flex;align-items:center;gap:.75rem}.teacher-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e0e7ff;color:#3730a3;font-weight:850;flex:0 0 auto}.teacher-name strong,.teacher-name small{display:block}.teacher-name small{color:#64748b;margin-top:.15rem}.teacher-number{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;color:#475569}.teacher-status{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .58rem;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:capitalize;background:#eef2ff;color:#3730a3}.teacher-status.active,.teacher-status.clear,.teacher-status.approved{background:#ecfdf3;color:#067647}.teacher-status.suspended,.teacher-status.rejected,.teacher-status.action_required,.teacher-status.expired{background:#fff1f0;color:#b42318}.teacher-status.on_leave,.teacher-status.pending,.teacher-status.onboarding{background:#fffaeb;color:#b54708}.teacher-progress{height:7px;background:#e2e8f0;border-radius:999px;overflow:hidden;min-width:100px}.teacher-progress span{display:block;height:100%;background:#2563eb;border-radius:inherit}.teacher-profile-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:1rem;align-items:start}.teacher-stack{display:grid;gap:1rem}.teacher-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.25rem;box-shadow:0 8px 30px rgba(15,23,42,.035)}.teacher-card h2,.teacher-card h3{margin-top:0}.teacher-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.teacher-card-header p{margin:.25rem 0 0;color:#64748b}.teacher-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem}.teacher-detail{padding:.75rem;background:#f8fafc;border-radius:.7rem}.teacher-detail dt{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.teacher-detail dd{margin:.25rem 0 0;overflow-wrap:anywhere}.teacher-section-nav{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1rem}.teacher-section-nav a{padding:.45rem .72rem;border-radius:999px;background:#f1f5f9;color:#334155;text-decoration:none;font-size:.8rem;font-weight:750}.teacher-section-nav a:hover{background:#e0e7ff;color:#3730a3}.teacher-list{display:grid;gap:.75rem}.teacher-list-item{border:1px solid #e2e8f0;border-radius:.8rem;padding:.9rem}.teacher-list-item-top{display:flex;justify-content:space-between;gap:1rem}.teacher-list-item p{margin:.35rem 0 0;color:#64748b}.teacher-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.65rem}.teacher-meta span{background:#f1f5f9;color:#475569;border-radius:999px;padding:.25rem .5rem;font-size:.7rem;font-weight:700}.teacher-form-section{scroll-margin-top:1rem}.teacher-inline-form{display:grid;gap:.85rem;padding-top:.8rem;border-top:1px solid #e2e8f0}.teacher-side-actions{position:sticky;top:1rem}.teacher-sensitive{border-left:4px solid #dc2626}.teacher-finance{border-left:4px solid #2563eb}.teacher-warning{padding:.8rem;border-radius:.7rem;background:#fffaeb;border:1px solid #fedf89;color:#93370d;font-size:.86rem}.teacher-payout-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.teacher-rate-row{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr auto;gap:.7rem;align-items:center;padding:.8rem 0;border-bottom:1px solid #e2e8f0}.teacher-rate-row:last-child{border-bottom:0}.teacher-self-hero{background:linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff;border-radius:1.1rem;padding:1.6rem;margin-bottom:1rem}.teacher-self-hero p{color:#dbeafe}.teacher-self-hero .teacher-status{background:rgba(255,255,255,.15);color:#fff}.teacher-empty{padding:1rem;border:1px dashed #cbd5e1;border-radius:.75rem;color:#64748b;text-align:center}.pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem}.pagination-links{display:flex;gap:.5rem}.pagination a{padding:.45rem .7rem;border:1px solid #cbd5e1;border-radius:.55rem;text-decoration:none;color:#334155}.compact-form{display:grid;gap:.75rem}.compact-form label{display:grid;gap:.35rem;font-size:.82rem;font-weight:700}.danger-zone{border-color:#fda29b;background:#fffafa}.danger-zone h3{color:#b42318}
@media(max-width:1100px){.teacher-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-filter-grid .teacher-search{grid-column:1/-1}.teacher-profile-grid{grid-template-columns:1fr}.teacher-side-actions{position:static}.teacher-payout-summary{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.teacher-heading,.teacher-card-header,.teacher-list-item-top{display:block}.teacher-actions{margin-top:1rem}.teacher-filter-grid,.teacher-detail-grid,.teacher-payout-summary{grid-template-columns:1fr}.teacher-rate-row{grid-template-columns:1fr}.teacher-directory table thead{display:none}.teacher-directory table,.teacher-directory tbody,.teacher-directory tr,.teacher-directory td{display:block;width:100%}.teacher-directory tr{border-bottom:1px solid #e2e8f0;padding:.8rem}.teacher-directory td{border:0;padding:.35rem}.pagination{display:block}.pagination-links{margin-top:.8rem}}
.teacher-page-heading{margin-bottom:1.15rem}.teacher-hero-actions{display:flex;flex-wrap:wrap;gap:.65rem}.teacher-profile-hero{display:flex;align-items:center;gap:1rem;padding:1.35rem;margin-bottom:1rem}.teacher-profile-hero .teacher-avatar{width:64px;height:64px;font-size:1.15rem}.teacher-hero-copy{flex:1}.teacher-hero-copy h1{margin:.05rem 0 .25rem}.teacher-hero-copy p{margin:0;color:#64748b}.teacher-badge-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.65rem}.teacher-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.teacher-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.teacher-detail-card{padding:1.25rem;margin-bottom:1rem}.teacher-definition-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.teacher-definition-list>div{padding:.75rem;background:#f8fafc;border-radius:.7rem}.teacher-definition-list .wide-definition{grid-column:1/-1}.teacher-definition-list dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:#64748b;font-weight:800}.teacher-definition-list dd{margin:.25rem 0 0;overflow-wrap:anywhere}.teacher-record-list,.teacher-note-grid{display:grid;gap:.7rem}.teacher-record-row,.teacher-note-row{border:1px solid #e2e8f0;border-radius:.75rem;padding:.85rem}.teacher-record-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.teacher-record-row strong,.teacher-record-row span{display:block}.teacher-record-row span{color:#64748b;margin-top:.15rem}.teacher-note-row p{margin:.35rem 0;color:#475569}.teacher-note-row small{color:#64748b}.empty-inline{padding:.85rem;border:1px dashed #cbd5e1;border-radius:.7rem;color:#64748b}.status-pill{display:inline-flex;align-items:center;padding:.25rem .55rem;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.72rem;font-weight:800;text-transform:capitalize}.status-pill.status-active,.status-pill.compliance-clear{background:#ecfdf3;color:#067647}.status-pill.status-suspended,.status-pill.status-terminated,.status-pill.compliance-rejected,.status-pill.compliance-action_required,.status-pill.compliance-expired{background:#fff1f0;color:#b42318}.status-pill.status-onboarding,.status-pill.status-on_leave,.status-pill.compliance-pending{background:#fffaeb;color:#b54708}.privacy-notice{margin-top:1rem;padding:.85rem;border-radius:.75rem;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.privacy-notice p{margin:.3rem 0 0}.rate-rule-list{display:grid;gap:.75rem}.rate-rule-card{border:1px solid #e2e8f0;border-radius:.8rem;padding:.9rem}.rate-rule-card>div{display:flex;align-items:center;justify-content:space-between;gap:1rem}.rate-rule-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:.75rem 0 0}.rate-rule-card dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:800}.rate-rule-card dd{margin:.2rem 0 0}.teacher-filter-grid.card{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(130px,1fr)) auto;gap:.8rem;align-items:end;padding:1rem}.teacher-filter-grid.card label{display:grid;gap:.35rem;font-size:.78rem;font-weight:750}.teacher-filter-grid.card .filter-actions{display:flex;gap:.45rem}.teacher-directory small,.responsive-table td small{display:block;color:#64748b;margin-top:.25rem}.teacher-profile-hero+.teacher-metric-grid .metric-card{min-height:115px}
@media(max-width:1050px){.teacher-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-filter-grid.card{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-filter-grid.card label:first-child{grid-column:1/-1}}
@media(max-width:720px){.teacher-profile-hero{align-items:flex-start;flex-wrap:wrap}.teacher-profile-hero .button{width:100%}.teacher-metric-grid,.teacher-section-grid,.teacher-definition-list,.rate-rule-card dl,.teacher-filter-grid.card{grid-template-columns:1fr}.teacher-definition-list .wide-definition,.teacher-filter-grid.card label:first-child{grid-column:auto}.teacher-hero-actions{width:100%}.teacher-hero-actions .button{flex:1}.teacher-record-row{display:block}}
.teacher-document-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;padding:.9rem;border:1px solid #e2e8f0;border-radius:.8rem}.teacher-document-row>div:first-child strong,.teacher-document-row>div:first-child span,.teacher-document-row>div:first-child small{display:block}.teacher-document-row>div:first-child span,.teacher-document-row>div:first-child small,.teacher-document-status small{color:#64748b;margin-top:.2rem}.teacher-document-status{text-align:right}.teacher-document-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.6rem;padding-top:.7rem;border-top:1px solid #e2e8f0}.inline-reason-form{display:flex;gap:.45rem;align-items:center;flex:1;min-width:240px}.inline-reason-form input{padding:.55rem .65rem}.teacher-document-actions button[disabled]{opacity:.48;cursor:not-allowed}.performance-form{grid-template-columns:repeat(4,minmax(0,1fr))}.performance-form button{align-self:end}.teacher-mini-form{margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.teacher-chip-list{display:flex;flex-wrap:wrap;gap:.5rem}.teacher-chip{padding:.4rem .62rem;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.78rem}.teacher-note-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;color:#64748b;font-size:.75rem}.teacher-note-row.is-pinned{border-color:#fbbf24;background:#fffbeb}.audit-timeline{display:grid;gap:.9rem}.audit-timeline>div{position:relative;padding-left:1.3rem}.audit-dot{position:absolute;left:0;top:.3rem;width:.55rem;height:.55rem;background:#2563eb;border-radius:50%}.audit-timeline p{margin:.25rem 0;color:#475569}.audit-timeline time{font-size:.72rem;color:#64748b}
@media(max-width:1000px){.performance-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.teacher-document-row,.performance-form{grid-template-columns:1fr}.teacher-document-status{text-align:left}.teacher-document-actions{grid-column:auto}.inline-reason-form{min-width:0;display:grid;grid-template-columns:1fr auto}}

/* Section 7: academic catalog */
.academic-shell,.public-academic-shell{background:#f7f9fc}.academic-page-heading,.public-academic-hero{margin-bottom:1.5rem}.academic-hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}.academic-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.metric-card{background:#fff;border:1px solid #dfe5ef;border-radius:14px;padding:1rem 1.15rem;box-shadow:0 8px 24px rgba(22,34,55,.05)}.metric-card span{display:block;color:#657083;font-size:.84rem}.metric-card strong{display:block;font-size:1.65rem;margin-top:.35rem}.academic-section-nav{display:flex;gap:.5rem;flex-wrap:wrap;position:sticky;top:72px;z-index:5;background:rgba(247,249,252,.94);backdrop-filter:blur(8px);padding:.75rem 0;margin-bottom:1rem}.academic-section-nav a{background:#fff;border:1px solid #dfe5ef;border-radius:999px;padding:.55rem .85rem;text-decoration:none;color:#27364a;font-weight:700}.academic-panel-stack{display:grid;gap:1rem;margin:2rem 0;scroll-margin-top:130px}.academic-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.academic-three-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.academic-filter-grid{display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:.8rem;align-items:end}.compact-form{gap:.8rem}.field-span-2{grid-column:span 2}.checkbox-field{display:flex!important;gap:.55rem;align-items:center;align-self:center}.checkbox-field input{width:auto!important}.stacked-form{display:grid;gap:.75rem}.tag-list{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.tag-list span{background:#eef3fb;border:1px solid #d8e2f1;border-radius:999px;padding:.4rem .65rem;font-size:.82rem}.outcome-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.outcome-list article p{margin-bottom:.25rem}.public-academic-hero{max-width:760px;padding:2.5rem 0}.public-subject-grid,.public-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.public-subject-card,.public-course-card{display:flex;flex-direction:column;gap:.75rem}.public-subject-card h2,.public-course-card h2{margin:0}.public-subject-card>span,.public-course-card>span{color:#64748b;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.public-course-card dl,.public-course-detail-hero dl{display:grid;gap:.5rem}.public-course-card dl div,.public-course-detail-hero dl div{display:flex;justify-content:space-between;gap:1rem}.public-course-card dt,.public-course-detail-hero dt{color:#64748b}.public-course-filter{display:flex;gap:1rem;align-items:end;margin-bottom:1.5rem}.public-course-detail-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:1.5rem;align-items:start;margin-bottom:1.5rem}.public-course-description{margin-bottom:2rem}.public-module-list{display:grid;gap:1rem}.public-module-list ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.public-module-list li{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #e6eaf0;padding-top:.6rem}.public-module-list li span{color:#64748b}.status-review{background:#fff7d6!important;color:#7a5a00!important}.status-published{background:#dcfce7!important;color:#166534!important}.status-archived{background:#eef2f7!important;color:#475569!important}
@media (max-width:1100px){.academic-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.academic-three-column,.public-subject-grid,.public-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.academic-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-actions{grid-column:span 2}}
@media (max-width:760px){.academic-two-column,.academic-three-column,.outcome-list,.public-subject-grid,.public-course-grid,.public-course-detail-hero{grid-template-columns:1fr}.academic-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.academic-filter-grid{grid-template-columns:1fr}.filter-actions,.field-span-2{grid-column:auto}.academic-section-nav{position:static}.public-course-filter{align-items:stretch;flex-direction:column}.public-module-list li{flex-direction:column}.academic-hero-actions{width:100%}.academic-hero-actions .button{flex:1;text-align:center}}

/* Section 8: teacher and student assignment management */
.assignment-shell{background:#f6f8fc;min-height:70vh}.assignment-heading,.assignment-profile-hero{margin-bottom:1.5rem}.assignment-actions{display:flex;gap:.7rem;flex-wrap:wrap}.assignment-metric-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.8rem;margin:1.25rem 0}.assignment-metric-grid .metric-card strong{font-size:1.35rem}.assignment-filter-grid{display:grid;grid-template-columns:2fr repeat(5,minmax(125px,1fr)) auto;gap:.75rem;align-items:end;padding:1rem}.assignment-filter-grid label{display:grid;gap:.35rem;font-size:.78rem;font-weight:750}.assignment-filter-grid .filter-actions{display:flex;gap:.45rem}.assignment-directory small{display:block;color:#64748b;margin-top:.28rem}.blocking-text{color:#b42318!important;font-weight:750}.pagination{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:1rem}.pagination a{padding:.45rem .7rem;border:1px solid #dbe3ee;background:#fff;border-radius:.55rem;text-decoration:none}.pagination a.active{background:#2563eb;color:#fff;border-color:#2563eb}.assignment-create-form{padding:1.4rem}.assignment-form-actions{display:flex;justify-content:flex-end;gap:.65rem}.assignment-profile-hero{display:flex;justify-content:space-between;gap:1.25rem;align-items:flex-start;background:#fff;border:1px solid #dfe5ef;border-radius:16px;padding:1.4rem}.assignment-profile-hero h1{margin:.1rem 0 .35rem}.assignment-profile-hero p{margin:0;color:#64748b}.assignment-badge-row{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.7rem}.assignment-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.assignment-three-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.assignment-detail-card{padding:1.2rem}.assignment-definition-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.assignment-definition-list>div{background:#f8fafc;border-radius:.7rem;padding:.75rem}.assignment-definition-list .wide-definition{grid-column:1/-1}.assignment-definition-list dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#64748b}.assignment-definition-list dd{margin:.25rem 0 0;overflow-wrap:anywhere}.assignment-checklist{list-style:none;padding:0;margin:0;display:grid;gap:.65rem}.assignment-checklist li{position:relative;padding:.7rem .8rem .7rem 2.25rem;border:1px solid #dbe3ee;border-radius:.7rem;background:#fff}.assignment-checklist li:before{position:absolute;left:.8rem;top:.66rem;width:1rem;height:1rem;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:900}.assignment-checklist li.pass:before{content:'✓';background:#dcfce7;color:#166534}.assignment-checklist li.fail:before{content:'!';background:#fee2e2;color:#991b1b}.assignment-note-grid,.assignment-conflict-list{display:grid;gap:.75rem}.assignment-note-row p{margin:.45rem 0;color:#475569}.assignment-note-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.assignment-form-button{display:flex;align-items:end}.assignment-conflict{border:1px solid #dbe3ee;border-left-width:5px;border-radius:.7rem;padding:.8rem;background:#fff}.assignment-conflict.blocking{border-left-color:#dc2626}.assignment-conflict.warning{border-left-color:#d97706}.assignment-conflict.info{border-left-color:#2563eb}.assignment-conflict>div{display:flex;justify-content:space-between;gap:1rem}.assignment-conflict span,.assignment-conflict small{color:#64748b}.public-assignment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.public-assignment-card{display:grid;gap:.75rem}.public-assignment-card>div{display:flex;gap:.45rem;flex-wrap:wrap}.public-assignment-card h2{margin:0}.public-assignment-card p{margin:0;color:#64748b}.public-assignment-card dl{display:grid;gap:.5rem;margin:0}.public-assignment-card dl div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #edf0f5;padding-top:.5rem}.public-assignment-card dt{color:#64748b}.public-assignment-card dd{margin:0;text-align:right}.status-paused{background:#fff7d6!important;color:#7a5a00!important}.status-completed{background:#e0f2fe!important;color:#075985!important}.status-cancelled,.status-removed,.status-withdrawn{background:#fee2e2!important;color:#991b1b!important}.status-draft,.status-pending{background:#eef2ff!important;color:#3730a3!important}
@media(max-width:1250px){.assignment-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.assignment-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.assignment-filter-grid label:first-child{grid-column:1/-1}.assignment-filter-grid .filter-actions{grid-column:1/-1}}
@media(max-width:900px){.assignment-two-column,.assignment-three-column,.public-assignment-grid{grid-template-columns:1fr}.assignment-profile-hero{display:grid}.assignment-actions{width:100%}.assignment-actions .button{flex:1}.assignment-definition-list{grid-template-columns:1fr}.assignment-definition-list .wide-definition{grid-column:auto}}
@media(max-width:650px){.assignment-metric-grid,.assignment-filter-grid{grid-template-columns:1fr}.assignment-filter-grid label:first-child,.assignment-filter-grid .filter-actions{grid-column:auto}.assignment-form-actions{display:grid}.assignment-section-nav{position:static}.public-assignment-card dl div{display:grid}.public-assignment-card dd{text-align:left}.inline-reason-form{display:grid;min-width:260px}}

/* Section 9: teacher availability, leave, holidays and conflict controls */
.availability-shell{background:#f6f8fc;min-height:70vh}.availability-heading,.availability-profile-hero{margin-bottom:1.5rem}.availability-actions{display:flex;gap:.7rem;flex-wrap:wrap}.availability-metric-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.8rem;margin:1.25rem 0}.availability-metric-grid .metric-card strong{font-size:1.28rem}.availability-filter-grid{display:grid;grid-template-columns:2fr repeat(3,minmax(150px,1fr)) auto;gap:.75rem;align-items:end;padding:1rem}.availability-filter-grid label{display:grid;gap:.35rem;font-size:.78rem;font-weight:750}.availability-filter-grid .filter-actions{display:flex;gap:.45rem}.availability-directory small{display:block;color:#64748b;margin-top:.28rem}.warning-text{color:#9a6700!important;font-weight:750}.availability-admin-tools{margin-top:1rem}.availability-admin-tools h2{font-size:1.35rem;margin:.35rem 0}.availability-profile-hero{display:flex;justify-content:space-between;gap:1.25rem;align-items:flex-start;background:#fff;border:1px solid #dfe5ef;border-radius:16px;padding:1.4rem}.availability-profile-hero h1{margin:.1rem 0 .35rem}.availability-profile-hero p{margin:0;color:#64748b;max-width:850px}.availability-badge-row{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.75rem}.availability-section-nav{top:73px}.availability-detail-card{padding:1.2rem}.availability-table-actions{min-width:280px;display:grid;gap:.45rem}.availability-table-actions form{display:grid;grid-template-columns:1fr auto;gap:.4rem}.availability-table-actions input,.availability-review-actions input,.inline-reason-form input,.availability-resolution-form input,.availability-resolution-form select{min-height:40px;border:1px solid #ccd5e3;border-radius:.55rem;padding:.45rem .6rem}.danger-link{color:#b42318!important}.availability-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.availability-row{display:grid;gap:.5rem}.availability-row>div{display:flex;gap:.45rem;flex-wrap:wrap}.availability-row h3{font-size:1.05rem;margin:0}.availability-row p{margin:0;color:#475569}.availability-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.5rem}.availability-review-actions form{display:grid;gap:.45rem}.availability-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.availability-form-button{display:flex;align-items:end}.availability-conflict-list{display:grid;gap:.75rem}.availability-conflict{border:1px solid #dbe3ee;border-left-width:5px;border-radius:.75rem;padding:1rem;background:#fff}.availability-conflict.blocking{border-left-color:#dc2626}.availability-conflict.warning{border-left-color:#d97706}.availability-conflict.info{border-left-color:#2563eb}.availability-conflict>div{display:flex;justify-content:space-between;gap:1rem}.availability-conflict p{color:#64748b;overflow-wrap:anywhere}.availability-resolution-form{display:grid;grid-template-columns:minmax(140px,.5fr) 2fr auto;gap:.55rem}.public-availability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.public-availability-card{display:grid;gap:.65rem}.public-availability-card>div{display:flex;gap:.4rem;flex-wrap:wrap}.public-availability-card h3{margin:0}.public-availability-card p,.public-availability-card small{margin:0;color:#64748b}.teacher-availability-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.status-approved,.status-active{background:#dcfce7!important;color:#166534!important}.status-rejected,.status-cancelled,.status-expired{background:#fee2e2!important;color:#991b1b!important}.status-submitted,.status-pending{background:#fff7d6!important;color:#7a5a00!important}.status-archived{background:#eef2f7!important;color:#475569!important}
@media(max-width:1250px){.availability-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.availability-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-filter-grid label:first-child,.availability-filter-grid .filter-actions{grid-column:1/-1}.teacher-availability-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.availability-profile-hero{display:grid}.availability-card-list,.availability-two-column,.public-availability-grid{grid-template-columns:1fr}.availability-actions{width:100%}.availability-actions .button{flex:1}.availability-resolution-form{grid-template-columns:1fr}.availability-section-nav{position:static}}
@media(max-width:650px){.availability-metric-grid,.teacher-availability-metrics,.availability-filter-grid{grid-template-columns:1fr}.availability-filter-grid label:first-child,.availability-filter-grid .filter-actions{grid-column:auto}.availability-table-actions{min-width:240px}.availability-review-actions{grid-template-columns:1fr}}

/* Section 10: class scheduling and calendar */
.schedule-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.schedule-metrics{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));margin:1.5rem 0}.schedule-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;align-items:end;margin-bottom:1.25rem}.class-series-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.span-2{grid-column:span 2}.choice-row{display:flex;gap:1rem;flex-wrap:wrap}.check-label{display:flex!important;align-items:center;gap:.55rem}.check-label input{width:auto}.subtle-card{background:#f8fafc;border-style:dashed}.danger-card{border-color:#fecaca;background:#fffafa}.operation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.participant-row,.audit-row{display:flex;flex-direction:column;gap:.2rem;padding:.75rem 0;border-bottom:1px solid #e5e7eb}.participant-row:last-child,.audit-row:last-child{border-bottom:0}.conflict-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,1fr);gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid #e5e7eb}.conflict-row form{display:grid;grid-template-columns:150px 1fr auto;gap:.5rem}.calendar-toolbar{display:flex;gap:1rem;align-items:end;flex-wrap:wrap;margin-bottom:1rem}.calendar-agenda{display:grid;gap:1rem}.calendar-day h2{margin-top:0}.calendar-event{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.9rem 0;border-top:1px solid #e5e7eb;text-decoration:none;color:inherit}.calendar-event:first-of-type{border-top:0}.calendar-event div{display:flex;flex-direction:column}.calendar-event time{font-weight:700;font-variant-numeric:tabular-nums}.status-border-draft{border-left:4px solid #f59e0b;padding-left:.75rem}.status-border-confirmed,.status-border-scheduled{border-left:4px solid #2563eb;padding-left:.75rem}.status-border-cancelled_by_student,.status-border-cancelled_by_teacher,.status-border-cancelled_by_admin{border-left:4px solid #dc2626;padding-left:.75rem}
@media(max-width:1050px){.schedule-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.operation-grid{grid-template-columns:1fr}.conflict-row{grid-template-columns:1fr}}
@media(max-width:700px){.schedule-filter-grid,.class-series-form{grid-template-columns:1fr}.span-2{grid-column:auto}.calendar-event{grid-template-columns:75px 1fr}.calendar-event>.status-pill{grid-column:2}.conflict-row form{grid-template-columns:1fr}.schedule-actions{justify-content:flex-start}}

/* Section 11: secure meeting-link management */
.meeting-shell{background:#f6f8fc;min-height:70vh}.meeting-heading{margin-bottom:1rem}.meeting-actions,.meeting-card-actions,.meeting-link-actions{display:flex;gap:.65rem;flex-wrap:wrap}.meeting-metrics{grid-template-columns:repeat(8,minmax(0,1fr));margin:1.25rem 0}.meeting-filter-grid{display:grid;grid-template-columns:2fr repeat(5,minmax(140px,1fr));gap:.8rem;align-items:end;margin-bottom:1.25rem}.meeting-filter-grid label{display:grid;gap:.35rem;font-size:.8rem;font-weight:750}.meeting-filter-grid .check-label{align-self:center}.meeting-filter-grid .filter-actions{display:flex;gap:.45rem}.table-subtitle,.table-card td small{display:block;color:#64748b;margin-top:.25rem}.status-missing{background:#fee2e2!important;color:#991b1b!important}.status-pending_review,.status-pending{background:#fff7d6!important;color:#7a5a00!important}.status-revoked,.status-rejected,.status-replaced,.status-expired{background:#fee2e2!important;color:#991b1b!important}.status-not_required,.status-approved,.status-active{background:#dcfce7!important;color:#166534!important}.meeting-form-card{margin:1.25rem 0}.meeting-form-card h2{margin-bottom:.3rem}.form-help{color:#64748b;margin-top:0}.meeting-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.meeting-form-grid label{display:grid;gap:.4rem;font-weight:700}.meeting-form-grid input,.meeting-form-grid select,.meeting-form-grid textarea,.inline-review-form input,.inline-review-form select,.inline-revoke-form input{width:100%;border:1px solid #ccd5e3;border-radius:.65rem;padding:.72rem .8rem;background:#fff}.meeting-form-grid textarea{min-height:105px;resize:vertical}.meeting-submit{display:flex;justify-content:flex-start}.meeting-link-list{display:grid;gap:1rem;margin:1.5rem 0}.meeting-link-list>h2{margin-bottom:0}.meeting-link-card{display:grid;gap:1rem}.meeting-link-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.meeting-link-head h3{margin:.4rem 0 .15rem}.meeting-link-head p{margin:0;color:#64748b;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.meeting-link-head>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.provider-chip{display:inline-flex;align-items:center;border-radius:999px;background:#e0e7ff;color:#3730a3;padding:.25rem .6rem;font-size:.75rem;font-weight:800}.meeting-definition-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:0}.meeting-definition-list div{border-top:1px solid #e5e7eb;padding-top:.6rem}.meeting-definition-list dt{color:#64748b;font-size:.78rem}.meeting-definition-list dd{margin:.25rem 0 0;font-weight:700;overflow-wrap:anywhere}.inline-review-form{display:grid;grid-template-columns:140px minmax(180px,1fr) auto;gap:.45rem;flex:1}.inline-revoke-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:.45rem}.secure-reveal-page{background:#fff7ed;min-height:70vh}.secure-reveal-warning{background:#7c2d12;color:#fff;border-radius:1rem;padding:1.25rem;margin-bottom:1rem}.secure-reveal-warning h1{margin:.25rem 0}.secure-reveal-warning p{margin:0;color:#ffedd5}.secure-secret-list{display:grid;gap:.9rem;margin:0}.secure-secret-list div{display:grid;grid-template-columns:180px 1fr;gap:1rem;border-bottom:1px solid #e5e7eb;padding-bottom:.8rem}.secure-secret-list dt{font-weight:800}.secure-secret-list dd{margin:0;overflow-wrap:anywhere}.meeting-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.meeting-class-card{display:grid;gap:1rem}.meeting-class-card h2{margin:.4rem 0 .2rem}.meeting-class-card p{margin:0;color:#64748b}.meeting-class-card dl{display:grid;gap:.55rem;margin:0}.meeting-class-card dl div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #e5e7eb;padding-top:.5rem}.meeting-class-card dt{color:#64748b}.meeting-class-card dd{margin:0;text-align:right}.meeting-status-row{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #e5e7eb;padding:.8rem 0}.meeting-status-row>div{display:flex;flex-direction:column}.meeting-status-row span,.meeting-status-row small{color:#64748b}.live-class-shell{background:linear-gradient(180deg,#eef2ff 0,#f8fafc 340px);min-height:75vh}.live-class-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);gap:1rem;align-items:stretch;margin-bottom:1.25rem}.live-class-hero>div{background:#fff;border:1px solid #dbe3ee;border-radius:1rem;padding:1.4rem}.live-class-hero h1{margin:.2rem 0 .4rem}.live-class-badges{display:flex;gap:.5rem;flex-wrap:wrap}.countdown-card{display:flex;flex-direction:column;justify-content:center}.countdown-card span,.countdown-card small{color:#64748b}.countdown-card strong{font-size:1.25rem;margin:.25rem 0}.live-join-card{display:grid;align-content:start;gap:.8rem}.live-join-card form{margin:0}.button-large{font-size:1.05rem;padding:.9rem 1.2rem;width:100%}.countdown-panel{border:1px dashed #c7d2fe;background:#eef2ff;border-radius:.8rem;padding:1rem}.countdown-panel p{margin:.35rem 0 0;color:#475569}.security-note{border-left:5px solid #4f46e5;margin-top:1rem}.meeting-template-card{margin:1rem 0;border-color:#c7d2fe;background:#f8faff}.narrow-wide{max-width:1050px!important}
@media(max-width:1250px){.meeting-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.meeting-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.meeting-filter-grid label:first-child,.meeting-filter-grid .filter-actions{grid-column:1/-1}.meeting-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.meeting-definition-list{grid-template-columns:repeat(2,minmax(0,1fr))}.meeting-link-head,.live-class-hero{grid-template-columns:1fr;display:grid}.meeting-link-head>div:last-child{align-items:flex-start}.meeting-link-actions,.inline-review-form,.inline-revoke-form{display:grid;grid-template-columns:1fr;width:100%}.meeting-class-grid{grid-template-columns:1fr}.secure-secret-list div{grid-template-columns:1fr}}
@media(max-width:650px){.meeting-metrics,.meeting-filter-grid,.meeting-form-grid,.meeting-definition-list{grid-template-columns:1fr}.meeting-filter-grid label:first-child,.meeting-filter-grid .filter-actions,.span-2{grid-column:auto}.meeting-actions,.meeting-card-actions{width:100%}.meeting-actions .button,.meeting-card-actions .button{flex:1}.meeting-class-card dl div{display:grid}.meeting-class-card dd{text-align:left}}

.dashboard-shortcut-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin:1.5rem 0}.dashboard-shortcut{display:flex;flex-direction:column;gap:.35rem;text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease}.dashboard-shortcut:hover,.dashboard-shortcut:focus-visible{transform:translateY(-2px);box-shadow:0 14px 32px rgba(15,23,42,.12)}.dashboard-shortcut span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.dashboard-shortcut strong{font-size:1.08rem}.dashboard-shortcut small{line-height:1.5;color:var(--muted)}

/* Section 12: time-zone management */
.timezone-shell .metric-grid{margin:1.5rem 0}.timezone-shell .grid-two{align-items:start}.timeline-list{display:grid;gap:.75rem}.timeline-list article,.issue-card{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--border,#dce3ea)}.timeline-list article:last-child,.issue-card:last-child{border-bottom:0}.timeline-list article span,.issue-card span{display:block;color:var(--muted,#667085);font-size:.9rem}.issue-card form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.detail-list{display:grid;gap:.65rem}.detail-list>div{display:grid;grid-template-columns:minmax(8rem,.4fr) 1fr;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--border,#dce3ea)}.detail-list dt{font-weight:700;color:var(--muted,#667085)}.detail-list dd{margin:0;overflow-wrap:anywhere}.feature-list{display:grid;gap:.65rem;padding-left:1.25rem}.status-warning{background:#fff7e6;color:#9a6700}.timezone-shell select{max-width:100%}@media(max-width:720px){.timeline-list article,.issue-card{align-items:flex-start;flex-direction:column}.detail-list>div{grid-template-columns:1fr}.issue-card form{width:100%}}

/* Section 13: attendance, class delivery and approval */
.attendance-shell{background:#f7f9fc;min-height:72vh}.attendance-metrics{grid-template-columns:repeat(7,minmax(0,1fr));margin:1.25rem 0}.attendance-summary{grid-template-columns:repeat(6,minmax(0,1fr));margin:1.25rem 0}.attendance-filter-grid{display:grid;grid-template-columns:2fr repeat(4,minmax(130px,1fr)) auto;gap:.8rem;padding:1rem;align-items:end}.attendance-filter-grid label{display:grid;gap:.35rem;font-size:.8rem;font-weight:750}.attendance-detail-card{padding:1.25rem;margin:1rem 0}.attendance-detail-card h2{margin-top:0}.attendance-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.attendance-class-card{display:grid;gap:1rem}.attendance-class-card h2{margin:.4rem 0 .2rem}.attendance-class-card p{margin:0;color:#64748b}.attendance-class-card dl{display:grid;gap:.55rem;margin:0}.attendance-class-card dl div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #e5e7eb;padding-top:.5rem}.attendance-class-card dt{color:#64748b}.attendance-class-card dd{margin:0;text-align:right}.attendance-current-status{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:1rem 0}.attendance-current-status div{display:grid}.attendance-current-status span{color:#64748b}.attendance-entry-list{display:grid;gap:1rem}.attendance-entry{background:#fbfcfe}.attendance-entry legend{color:#1d4ed8}.attendance-report-form textarea{min-height:100px}.review-form{padding:1rem 0;border-bottom:1px solid #e5e7eb}.review-form:last-child{border-bottom:0}.button-danger{background:#b42318;color:#fff}.button-danger:hover{background:#912018}.dispute-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1fr);gap:1rem;align-items:start;padding:1rem 0;border-bottom:1px solid #e5e7eb}.dispute-row>div{display:grid;gap:.25rem}.dispute-row span{color:#64748b;font-size:.85rem}.dispute-row p{margin:.25rem 0}.timeline-row{display:grid;gap:.25rem;padding:.8rem 0;border-bottom:1px solid #e5e7eb}.timeline-row span{color:#64748b;font-size:.82rem}.timeline-row code{font-size:.72rem;overflow-wrap:anywhere;color:#475569}.pagination-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:1rem}.status-present,.status-approved{background:#dcfce7!important;color:#166534!important}.status-late,.status-partially_attended,.status-clarification_requested,.status-submitted,.status-resubmitted{background:#fff7d6!important;color:#7a5a00!important}.status-absent,.status-teacher_absent,.status-rejected{background:#fee2e2!important;color:#991b1b!important}.status-technical_issue,.status-makeup_required,.status-disputed{background:#ffedd5!important;color:#9a3412!important}@media(max-width:1250px){.attendance-metrics,.attendance-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-filter-grid label:first-child,.attendance-filter-grid .filter-actions{grid-column:1/-1}.attendance-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:850px){.attendance-class-grid,.attendance-filter-grid,.attendance-metrics,.attendance-summary{grid-template-columns:1fr}.attendance-filter-grid label:first-child,.attendance-filter-grid .filter-actions{grid-column:auto}.attendance-current-status,.pagination-row{align-items:flex-start;flex-direction:column}.dispute-row{grid-template-columns:1fr}.attendance-class-card dl div{display:grid}.attendance-class-card dd{text-align:left}}

/* Section 15: secure recording upload, review and private library */
.recording-shell{background:linear-gradient(180deg,#f5f7ff 0,#f8fafc 28rem);min-height:72vh}.recording-metrics{grid-template-columns:repeat(7,minmax(0,1fr));margin:1.25rem 0}.recording-filter-grid,.recording-library-filter{display:grid;grid-template-columns:2fr repeat(4,minmax(125px,1fr)) auto;gap:.8rem;padding:1rem;margin:1.1rem 0;align-items:end}.recording-filter-grid label,.recording-library-filter label{display:grid;gap:.35rem;font-size:.8rem;font-weight:750}.recording-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.recording-library-card{padding:0;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto}.recording-thumb{min-height:145px;background:linear-gradient(145deg,#172554,#3730a3);color:#fff;display:flex;justify-content:space-between;align-items:flex-start;padding:1rem}.recording-thumb>span{font-size:2rem;font-weight:900;letter-spacing:.08em}.recording-thumb>strong{background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.32rem .62rem;font-size:.75rem}.recording-card-body{display:grid;gap:.55rem;padding:1rem}.recording-card-body h2{margin:0;font-size:1.1rem}.recording-card-body p{margin:0;color:#64748b}.recording-card-body small{color:#475569}.recording-card-footer{display:flex;justify-content:space-between;gap:.75rem;align-items:center;border-top:1px solid #e5e7eb;padding:.85rem 1rem}.recording-progress{width:100%;height:.55rem;accent-color:#4f46e5}.recording-player-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.32fr);gap:1rem;align-items:start}.recording-player-card,.recording-side-card{padding:1rem}.secure-video-player{display:block;width:100%;max-height:72vh;background:#020617;border-radius:.8rem}.recording-player-meta{display:grid;gap:.75rem;margin-top:1rem}.recording-meta-row{display:flex;flex-wrap:wrap;gap:.75rem}.recording-meta-row span{border-radius:999px;background:#eef2ff;color:#3730a3;padding:.32rem .62rem;font-size:.78rem;font-weight:700}.external-recording-panel{display:grid;place-items:center;text-align:center;min-height:360px;padding:2rem;background:radial-gradient(circle at top,#eef2ff,#f8fafc);border-radius:.8rem}.external-recording-panel .brand-mark{font-size:3rem}.privacy-note{margin-top:1rem;border-left:4px solid #4f46e5;background:#eef2ff;border-radius:.5rem;padding:.85rem}.privacy-note p{margin:.25rem 0 0;color:#475569}.recording-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.recording-review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.4fr);gap:1rem}.recording-status-stack{display:flex;gap:.4rem;flex-wrap:wrap}.recording-audit-list{display:grid;gap:.55rem}.recording-audit-list>article{padding:.75rem 0;border-bottom:1px solid #e5e7eb}.recording-audit-list article:last-child{border-bottom:0}.recording-audit-list span,.recording-audit-list small{color:#64748b}.recording-file-note{background:#fff7ed;border:1px solid #fed7aa;border-radius:.75rem;padding:.85rem;color:#9a3412}.recording-form-card{padding:1.1rem}.recording-form-card form{display:grid;gap:.9rem}.recording-form-card .form-grid{padding:0}.status-clean,.status-ready,.status-published{background:#dcfce7!important;color:#166534!important}.status-infected,.status-failed,.status-rejected,.status-purged{background:#fee2e2!important;color:#991b1b!important}.status-pending,.status-processing,.status-draft{background:#fff7d6!important;color:#7a5a00!important}.status-archived,.status-expired{background:#e2e8f0!important;color:#334155!important}
@media(max-width:1250px){.recording-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.recording-filter-grid,.recording-library-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.recording-filter-grid label:first-child,.recording-filter-grid .filter-actions,.recording-library-filter .filter-actions{grid-column:1/-1}.recording-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.recording-metrics,.recording-filter-grid,.recording-library-filter,.recording-library-grid,.recording-player-layout,.recording-upload-grid,.recording-review-grid{grid-template-columns:1fr}.recording-filter-grid label:first-child,.recording-filter-grid .filter-actions,.recording-library-filter .filter-actions{grid-column:auto}.recording-card-footer{align-items:flex-start;flex-direction:column}.recording-meta-row{display:grid}}

/* Section 16 homework */
.feedback-block{border-left:4px solid currentColor;padding:1rem;margin:1rem 0}.table-card{overflow:auto}.table-card table{width:100%;border-collapse:collapse}.table-card th,.table-card td{padding:.8rem;border-bottom:1px solid #ddd;text-align:left}

/* Section 23: professional teacher payout control center */
.payout-shell{background:linear-gradient(180deg,#f4f7ff 0,#f8fafc 31rem);min-height:75vh}.button-row{display:flex;gap:.65rem;flex-wrap:wrap}.button-small{padding:.46rem .7rem;font-size:.8rem}.button[disabled]{opacity:.5;cursor:not-allowed}.security-callout{display:grid;grid-template-columns:minmax(180px,.28fr) 1fr;gap:1rem;background:linear-gradient(135deg,#0f172a,#172554);color:#fff;border-radius:1rem;padding:1rem 1.2rem;margin:1rem 0 1.25rem;box-shadow:0 14px 34px rgba(15,23,42,.13)}.security-callout span{color:#dbeafe;line-height:1.55}.dashboard-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem}.panel-heading h2{margin:.1rem 0}.subtle-card{background:#f8fafc;border:1px solid #dbe3ee;border-radius:.8rem;padding:1rem;margin-top:1rem}.subtle-card p,.muted{color:#64748b}.form-span{grid-column:1/-1}.checkbox{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:.55rem!important}.checkbox input{width:auto}.status-pill{display:inline-flex;border-radius:999px;padding:.3rem .65rem;font-size:.75rem;font-weight:800;text-transform:capitalize;background:#e2e8f0;color:#334155}.status-requested,.status-under_review{background:#fff7d6!important;color:#7a5a00!important}.status-approved,.status-paid,.status-active{background:#dcfce7!important;color:#166534!important}.status-processing,.status-cooling_off{background:#dbeafe!important;color:#1e40af!important}.status-failed,.status-rejected,.status-reversed,.status-suspended{background:#fee2e2!important;color:#991b1b!important}.payout-hero{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.5rem 1.5rem;background:linear-gradient(135deg,#172554,#312e81);color:#fff;border-radius:1rem;padding:1.35rem 1.5rem;margin:1rem 0}.payout-hero>strong{font-size:1.8rem}.payout-hero>small{grid-column:1/-1;color:#c7d2fe}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem}.detail-grid>div,.amount-ledger>div,.hash-list>div{border-bottom:1px solid #e5e7eb;padding:.65rem 0}.detail-grid dt,.amount-ledger dt,.hash-list dt{color:#64748b;font-size:.8rem;font-weight:750}.detail-grid dd,.amount-ledger dd,.hash-list dd{margin:.2rem 0 0;overflow-wrap:anywhere}.amount-ledger{display:grid}.amount-ledger>div{display:flex;justify-content:space-between;gap:1rem}.amount-total{font-size:1.12rem;border-bottom:0!important}.action-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.action-card{border:1px solid #dbe3ee;border-radius:.9rem;background:#fbfdff;padding:1rem;display:grid;gap:.7rem}.action-card h3,.action-card p{margin:0}.action-card p{color:#64748b;font-size:.88rem}.action-danger{background:#fff8f7;border-color:#fecaca}.audit-timeline{list-style:none;padding:0;margin:0;display:grid}.audit-timeline li{display:grid;grid-template-columns:18px 1fr;gap:.65rem;padding:.7rem 0;border-bottom:1px solid #e5e7eb}.timeline-dot{width:10px;height:10px;background:#4f46e5;border-radius:50%;margin-top:.35rem;box-shadow:0 0 0 4px #eef2ff}.audit-timeline p{margin:.2rem 0;color:#475569}.audit-timeline small{color:#64748b}.hash-list code{font-size:.7rem;overflow-wrap:anywhere}.earning-selector{border:1px solid #dbe3ee;border-radius:.85rem;padding:1rem;display:grid;gap:.65rem}.earning-option{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:.75rem!important;border-top:1px solid #edf0f5;padding-top:.65rem}.earning-option input{width:auto}.earning-option span{display:grid}.earning-option small{color:#64748b}.method-list{display:grid;gap:.7rem;margin-top:1.2rem}.method-card{display:flex;justify-content:space-between;gap:1rem;border:1px solid #e2e8f0;border-radius:.75rem;padding:.8rem}.method-card>div{display:grid;gap:.25rem}.method-card span,.method-card small{color:#64748b}.pagination-summary{color:#64748b}.payout-shell code{overflow-wrap:anywhere}
@media(max-width:1100px){.action-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid-wide{grid-template-columns:1fr}.security-callout{grid-template-columns:1fr}.payout-hero{grid-template-columns:1fr}}
@media(max-width:720px){.action-card-grid,.detail-grid{grid-template-columns:1fr}.method-card,.earning-option,.amount-ledger>div{display:grid!important;grid-template-columns:1fr!important}.form-span{grid-column:auto}.button-row{width:100%}.button-row .button{flex:1}}


/* Section 24: platform revenue and profit intelligence */
.revenue-shell{background:linear-gradient(180deg,#f2f6ff 0,#f8fafc 34rem);min-height:78vh}.revenue-heading{align-items:flex-start}.revenue-filter-panel{border-top:4px solid #4f46e5}.revenue-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem;align-items:end}.revenue-filter-grid label{display:grid;gap:.36rem;font-size:.78rem;font-weight:780}.revenue-filter-grid input,.revenue-filter-grid select{min-height:42px}.revenue-search{grid-column:span 2}.currency-report-block{margin:1.2rem 0}.currency-report-heading{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;background:linear-gradient(135deg,#172554,#312e81);color:#fff;border-radius:1rem 1rem 0 0;padding:1rem 1.2rem}.currency-report-heading div{display:grid;gap:.15rem}.currency-report-heading span{font-size:.72rem;color:#c7d2fe;text-transform:uppercase;letter-spacing:.08em}.revenue-metric-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.7rem;background:#fff;border:1px solid #dbe3ee;border-top:0;border-radius:0 0 1rem 1rem;padding:1rem}.revenue-metric-grid .metric-card{min-height:105px}.metric-emphasis{background:linear-gradient(145deg,#eef2ff,#fff);border-color:#c7d2fe!important}.metric-emphasis strong{color:#312e81}.revenue-trend-list{display:grid;gap:.75rem}.trend-row{display:grid;grid-template-columns:90px minmax(120px,1fr) 170px;gap:.8rem;align-items:center}.trend-row>div{display:grid}.trend-row small{color:#64748b}.trend-track{height:.75rem;background:#e2e8f0;border-radius:999px;overflow:hidden}.trend-track span{display:block;height:100%;background:linear-gradient(90deg,#4f46e5,#0ea5e9);border-radius:inherit}.formula-card{background:linear-gradient(145deg,#0f172a,#172554);color:#fff}.formula-card .muted{color:#cbd5e1}.formula-list{display:grid}.formula-list>div{padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.13)}.formula-list dt{font-weight:850}.formula-list dd{margin:.25rem 0 0;color:#dbeafe}.breakdown-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.breakdown-card{min-width:0}.breakdown-card small,.snapshot-hero small{display:block;color:#64748b}.saved-view-list{display:grid;gap:.55rem;margin-top:1rem}.saved-view-list article{display:flex;justify-content:space-between;gap:1rem;align-items:center;border:1px solid #e2e8f0;border-radius:.7rem;padding:.7rem}.saved-view-list article>div{display:grid}.finance-alert{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:.8rem;align-items:center;border:1px solid #e2e8f0;border-left-width:5px;border-radius:.75rem;padding:.8rem;margin:.65rem 0}.finance-alert>div{display:grid;gap:.2rem}.finance-alert small{color:#64748b}.severity-critical{border-left-color:#b91c1c;background:#fff8f7}.severity-high{border-left-color:#ea580c}.severity-medium{border-left-color:#d97706}.severity-low{border-left-color:#2563eb}.snapshot-hero{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem;background:#fff;border:1px solid #dbe3ee;border-radius:1rem;padding:1rem;margin:1rem 0}.snapshot-hero>div{display:grid;gap:.25rem}.snapshot-hero span{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.status-generated{background:#dbeafe!important;color:#1e40af!important}.status-approved{background:#dcfce7!important;color:#166534!important}.status-revoked{background:#fee2e2!important;color:#991b1b!important}
@media(max-width:1350px){.revenue-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.revenue-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.snapshot-hero{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:950px){.revenue-filter-grid,.breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.revenue-search{grid-column:auto}.currency-report-heading{grid-template-columns:1fr}.revenue-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-row{grid-template-columns:80px 1fr}.trend-row>div:last-child{grid-column:2}.finance-alert{grid-template-columns:1fr}}
@media(max-width:620px){.revenue-filter-grid,.revenue-metric-grid,.breakdown-grid,.snapshot-hero{grid-template-columns:1fr}.trend-row{grid-template-columns:1fr}.trend-row>div:last-child{grid-column:auto}.saved-view-list article{display:grid}.finance-alert .inline-form{display:grid}}

/* Section 25: premium student learning dashboard */
.icon{width:1.15rem;height:1.15rem;flex:0 0 auto}.button-quiet{background:#fff;color:#334155;border:1px solid #dbe3ee}.button-quiet:hover{background:#f8fafc;border-color:#c5d0df}.button-block{width:100%}.site-header{z-index:80}.student-dashboard-shell{--student-ink:#172033;--student-muted:#667085;--student-line:#e4e9f1;--student-primary:#4f46e5;--student-primary-dark:#3730a3;--student-soft:#f5f7ff;display:grid;grid-template-columns:272px minmax(0,1fr);min-height:calc(100vh - 72px);background:linear-gradient(145deg,#f7f9fd 0,#f1f5ff 52%,#f8fafc 100%);position:relative}.student-sidebar{position:sticky;top:72px;height:calc(100vh - 72px);overflow-y:auto;background:#fff;border-right:1px solid var(--student-line);padding:1.35rem 1rem;display:flex;flex-direction:column;gap:1.15rem;z-index:55}.student-profile-card{display:flex;align-items:center;gap:.75rem;padding:.78rem;border:1px solid #e7eaf2;border-radius:1rem;background:linear-gradient(145deg,#fff,#f8f9ff)}.student-profile-card>div:last-child{display:grid;min-width:0}.student-profile-card strong{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-profile-card span{font-size:.73rem;color:var(--student-muted)}.student-avatar{width:2.75rem;height:2.75rem;display:grid;place-items:center;border-radius:.85rem;background:linear-gradient(145deg,#4f46e5,#7c3aed);color:#fff;font-size:1.1rem;font-weight:900;box-shadow:0 9px 22px rgba(79,70,229,.24)}.student-switcher{display:grid;gap:.38rem}.student-switcher label{font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:var(--student-muted)}.student-switcher select,.dashboard-preferences select{width:100%;min-height:44px;border:1px solid #d2d9e5;border-radius:.7rem;padding:.55rem .7rem;background:#fff;color:var(--student-ink);font:inherit}.student-nav-list{display:grid;gap:.18rem}.student-nav-list a,.student-nav-logout{min-height:44px;display:flex;align-items:center;gap:.72rem;border-radius:.72rem;padding:.58rem .72rem;color:#475467;text-decoration:none;font-size:.86rem;font-weight:720;border:1px solid transparent;background:transparent;width:100%;cursor:pointer;font-family:inherit}.student-nav-list a:hover,.student-nav-list a:focus-visible,.student-nav-logout:hover,.student-nav-logout:focus-visible{background:#f4f5ff;color:#3730a3}.student-nav-list a.is-active{background:linear-gradient(135deg,#eef2ff,#f5f3ff);border-color:#dcdcff;color:#3730a3}.student-nav-list a b{margin-left:auto;display:grid;place-items:center;min-width:1.3rem;height:1.3rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.65rem}.student-nav-list form{margin:0}.student-nav-logout{color:#b42318}.student-sidebar-security{margin-top:auto;display:flex;gap:.62rem;border:1px solid #dce3ef;border-radius:.85rem;padding:.8rem;background:#f8fafc}.student-sidebar-security>.icon{color:#4f46e5;margin-top:.12rem}.student-sidebar-security div{display:grid;gap:.18rem}.student-sidebar-security strong{font-size:.76rem}.student-sidebar-security span{font-size:.68rem;color:#667085;line-height:1.45}.student-mobile-nav-toggle{display:none}.student-dashboard-main{min-width:0;padding:1.6rem clamp(1rem,3vw,2.6rem) 2rem;max-width:1680px;width:100%;margin-inline:auto}.student-dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.5rem 1.7rem;border-radius:1.25rem;background:linear-gradient(130deg,#111827 0,#312e81 52%,#4f46e5 100%);color:#fff;box-shadow:0 24px 55px rgba(30,41,59,.18);position:relative;overflow:hidden}.student-dashboard-hero:after{content:"";position:absolute;width:20rem;height:20rem;border-radius:50%;right:-7rem;top:-11rem;background:rgba(255,255,255,.09)}.student-dashboard-hero>div{position:relative;z-index:1}.student-dashboard-hero .eyebrow{color:#c7d2fe}.student-dashboard-hero h1{font-size:clamp(1.8rem,3.5vw,3rem);margin:.28rem 0 .45rem;letter-spacing:-.035em;max-width:none}.student-dashboard-hero p{margin:0;color:#dbe3ff;max-width:680px}.student-hero-meta{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:1rem}.student-hero-meta>span{display:inline-flex;align-items:center;gap:.4rem;font-size:.76rem;color:#e0e7ff;background:rgba(255,255,255,.09);padding:.38rem .58rem;border:1px solid rgba(255,255,255,.12);border-radius:999px}.student-hero-meta .icon{width:.88rem;height:.88rem}.status-dot i{width:.42rem;height:.42rem;border-radius:50%;background:#4ade80}.student-hero-actions{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.student-hero-actions .button-quiet{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}.student-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem;margin:1rem 0}.student-summary-card{position:relative;display:flex;flex-direction:column;min-height:132px;padding:1rem;border:1px solid var(--student-line);border-radius:1rem;background:#fff;text-decoration:none;box-shadow:0 7px 22px rgba(31,41,55,.045);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.student-summary-card:hover{transform:translateY(-2px);border-color:#c8c9ff;box-shadow:0 13px 30px rgba(31,41,55,.09)}.student-summary-card.is-featured{grid-column:span 2;background:linear-gradient(145deg,#eef2ff,#fff);border-color:#d4d7ff}.summary-icon{width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:.68rem;background:#eef2ff;color:#4f46e5;margin-bottom:.65rem}.summary-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:#667085}.student-summary-card strong{font-size:1.12rem;line-height:1.22;margin:.23rem 0;overflow-wrap:anywhere}.student-summary-card:not(.is-featured) strong{font-size:1.55rem}.student-summary-card small{margin-top:auto;color:#7a8699;font-size:.7rem}.student-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.student-dashboard-primary-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.65fr)}.student-panel{background:#fff;border:1px solid var(--student-line);border-radius:1.1rem;padding:1.15rem;box-shadow:0 8px 25px rgba(31,41,55,.045);scroll-margin-top:92px;min-width:0}.student-panel-wide{min-width:0}.student-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.student-panel-header>div{min-width:0}.panel-kicker{display:block;color:#4f46e5;font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.student-panel-header h2{font-size:1.25rem;margin:.1rem 0 .12rem;letter-spacing:-.025em}.student-panel-header p{margin:0;color:var(--student-muted);font-size:.79rem}.text-link{font-size:.78rem;color:#4338ca;font-weight:800;text-decoration:none;white-space:nowrap}.student-class-list{display:grid;gap:.68rem}.student-class-card{display:grid;grid-template-columns:125px minmax(0,1fr) 150px;gap:.9rem;align-items:center;border:1px solid #e4e8f0;border-radius:.9rem;padding:.85rem;background:#fff}.student-class-card.is-next{border-color:#c7d2fe;background:linear-gradient(100deg,#f7f8ff,#fff)}.student-class-date{display:grid;gap:.08rem;padding-right:.8rem;border-right:1px solid #e5e7eb}.student-class-date strong{font-size:.82rem}.student-class-date span{font-size:1.1rem;font-weight:850;color:#4338ca}.student-class-main{min-width:0}.class-title-line{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.class-title-line h3{font-size:.96rem;margin:0}.student-class-main>p{margin:.13rem 0;color:#667085;font-size:.76rem}.class-meta{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:.45rem}.class-meta span{display:inline-flex;align-items:center;gap:.25rem;color:#667085;font-size:.68rem}.class-meta .icon{width:.78rem;height:.78rem}.student-class-action{display:grid;gap:.45rem}.class-countdown{font-size:.67rem;color:#667085;text-align:center;font-weight:730}.student-class-action .button{min-height:42px;padding:.55rem .72rem;font-size:.78rem}.status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eef2f7;color:#475467;padding:.27rem .53rem;font-size:.64rem;font-weight:850;white-space:nowrap;text-transform:capitalize}.status-confirmed,.status-approved,.status-succeeded,.status-reviewed,.status-submitted{background:#dcfce7;color:#166534}.status-scheduled,.status-sent,.status-viewed,.status-in-progress{background:#dbeafe;color:#1d4ed8}.status-overdue,.status-disputed,.status-failed,.status-cancelled{background:#fee2e2;color:#991b1b}.student-quick-actions{height:max-content}.quick-action-list{display:grid;gap:.55rem}.quick-action-list>a{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.65rem;text-decoration:none;border:1px solid #e5e9f1;border-radius:.8rem;padding:.72rem}.quick-action-list>a:hover{background:#f8f9ff;border-color:#d3d5ff}.quick-action-list>a>.icon{width:2rem;height:2rem;padding:.48rem;border-radius:.62rem;background:#eef2ff;color:#4f46e5}.quick-action-list span{display:grid}.quick-action-list strong{font-size:.78rem}.quick-action-list small{font-size:.65rem;color:#667085}.quick-action-list b{color:#4f46e5}.student-recording-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.student-recording-card{border:1px solid #e5e9f1;border-radius:.9rem;overflow:hidden;background:#fff}.recording-thumbnail{height:132px;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 25% 25%,#818cf8,#312e81 57%,#111827);color:#fff}.recording-thumbnail:after{content:"";position:absolute;inset:0;background:linear-gradient(20deg,rgba(15,23,42,.55),transparent)}.recording-play{width:2.8rem;height:2.8rem;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px);z-index:1}.recording-duration{position:absolute;right:.6rem;bottom:.55rem;background:rgba(15,23,42,.76);padding:.2rem .42rem;border-radius:.35rem;font-size:.64rem;z-index:1}.recording-content{padding:.85rem}.recording-subject{font-size:.65rem;color:#4f46e5;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.recording-content h3{font-size:.9rem;margin:.15rem 0}.recording-content p{font-size:.68rem;color:#667085;margin:.1rem 0 .6rem}.recording-progress{height:.4rem;border-radius:999px;background:#e9edf4;overflow:hidden}.recording-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4f46e5,#7c3aed)}.recording-content>small{display:block;text-align:right;color:#667085;font-size:.62rem;margin:.18rem 0 .55rem}.recording-content .button{min-height:40px;font-size:.74rem}.student-empty-state{text-align:center;padding:2.8rem 1.2rem;border:1px dashed #d8deea;border-radius:.9rem;background:#fbfcfe}.student-empty-state>.icon{width:2.4rem;height:2.4rem;padding:.55rem;border-radius:.75rem;background:#eef2ff;color:#4f46e5}.student-empty-state h3{font-size:.94rem;margin:.7rem 0 .2rem}.student-empty-state p{font-size:.76rem;color:#667085;max-width:450px;margin:.2rem auto}.student-empty-state.is-small{padding:1.5rem .9rem}.student-empty-state .button{margin-top:.8rem}.student-homework-list{display:grid}.student-homework-row{display:grid;grid-template-columns:2.4rem minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.8rem 0;border-bottom:1px solid #edf0f5}.student-homework-row:last-child{border-bottom:0}.homework-state{width:2.3rem;height:2.3rem;display:grid;place-items:center;border-radius:.7rem;background:#eef2ff;color:#4f46e5}.student-homework-row.is-overdue .homework-state{background:#fff1f2;color:#be123c}.student-homework-row h3{font-size:.84rem;margin:0}.student-homework-row p,.student-homework-row small{display:block;margin:.08rem 0;color:#667085;font-size:.66rem}.homework-action{display:grid;justify-items:end;gap:.35rem}.homework-action .button{min-height:38px;padding:.42rem .68rem;font-size:.68rem}.attendance-visual{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:1.1rem;padding:.5rem}.attendance-ring{--attendance:0;width:138px;height:138px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#4f46e5 calc(var(--attendance)*1%),#e8ebf2 0);position:relative}.attendance-ring:before{content:"";position:absolute;inset:12px;background:#fff;border-radius:50%}.attendance-ring>span{position:relative;display:grid;text-align:center}.attendance-ring strong{font-size:1.5rem}.attendance-ring small{color:#667085;font-size:.65rem}.attendance-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.attendance-stats>div{display:grid;padding:.7rem;border-radius:.7rem;background:#f8fafc}.attendance-stats strong{font-size:.95rem}.attendance-stats span{font-size:.65rem;color:#667085}.student-academic-grid{display:grid;grid-template-columns:1fr 1fr minmax(230px,.7fr);gap:1rem}.student-academic-grid h3{font-size:.85rem;margin-bottom:.65rem}.academic-chip-list{display:flex;flex-wrap:wrap;gap:.5rem}.academic-chip-list>span{display:grid;border:1px solid #e4e8f0;border-radius:.7rem;padding:.55rem .7rem;min-width:130px}.academic-chip-list b{font-size:.75rem}.academic-chip-list small{font-size:.62rem;color:#667085}.academic-course-list{display:grid;gap:.45rem}.academic-course-list>a{display:grid;text-decoration:none;border:1px solid #e4e8f0;border-radius:.7rem;padding:.55rem .7rem}.academic-course-list strong{font-size:.75rem}.academic-course-list span{font-size:.62rem;color:#667085;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.progress-score-card{border-radius:.9rem;background:linear-gradient(145deg,#111827,#312e81);color:#fff;padding:1rem;display:flex;flex-direction:column;justify-content:center}.progress-score-card>span{font-size:.68rem;color:#c7d2fe;text-transform:uppercase;letter-spacing:.05em}.progress-score-card>strong{font-size:2rem;margin:.3rem 0}.progress-score-card .recording-progress{background:rgba(255,255,255,.18)}.progress-score-card .recording-progress span{background:#a5b4fc}.progress-score-card small{color:#dbe3ff;font-size:.63rem;margin-top:.45rem}.inline-empty{padding:.8rem;border:1px dashed #d8deea;border-radius:.7rem;color:#667085;font-size:.72rem}.billing-balance{display:grid;gap:.15rem;padding:1rem;border-radius:.9rem;background:linear-gradient(145deg,#eef2ff,#f8fafc);border:1px solid #dce0ff}.billing-balance span{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#667085;font-weight:820}.billing-balance strong{font-size:2rem;color:#312e81}.billing-balance small{color:#667085;font-size:.68rem}.latest-invoice{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid #edf0f5}.latest-invoice>div{display:grid;gap:.12rem}.latest-invoice>div:last-child{justify-items:end}.latest-invoice span,.latest-invoice small{font-size:.66rem;color:#667085}.latest-invoice strong{font-size:.86rem}.billing-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:.8rem}.student-payment-list{display:grid}.student-payment-list>a{display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:center;gap:.65rem;text-decoration:none;padding:.7rem 0;border-bottom:1px solid #edf0f5}.payment-icon{width:2.1rem;height:2.1rem;display:grid;place-items:center;border-radius:.62rem;background:#eef2ff;color:#4f46e5}.student-payment-list a>span:nth-child(2){display:grid}.student-payment-list strong{font-size:.8rem}.student-payment-list small{font-size:.64rem;color:#667085}.student-notification-list{display:grid}.student-notification{display:grid;grid-template-columns:2.4rem minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.8rem;border-bottom:1px solid #edf0f5}.student-notification.is-unread{background:#f8f8ff;border-radius:.75rem;border-bottom-color:transparent;margin:.15rem 0}.notification-icon{width:2.3rem;height:2.3rem;display:grid;place-items:center;border-radius:.7rem;background:#eef2ff;color:#4f46e5}.notification-title{display:flex;align-items:center;gap:.45rem}.notification-title h3{font-size:.82rem;margin:0}.notification-title i{font-style:normal;background:#ef4444;color:#fff;border-radius:999px;padding:.08rem .32rem;font-size:.55rem;font-weight:850}.student-notification p{font-size:.7rem;color:#667085;margin:.08rem 0}.student-notification small{font-size:.61rem;color:#98a2b3}.student-notification form{margin:0}.student-notification .button{min-height:38px;font-size:.68rem;padding:.4rem .6rem}.student-support-grid{grid-template-columns:1fr 1fr}.support-content{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:.9rem;background:linear-gradient(145deg,#eef2ff,#fff)}.support-content>.icon{width:3rem;height:3rem;padding:.7rem;border-radius:.85rem;background:#fff;color:#4f46e5;box-shadow:0 8px 20px rgba(79,70,229,.12)}.support-content h3{font-size:.9rem;margin:0}.support-content p{font-size:.72rem;color:#667085;margin:.25rem 0 .7rem}.dashboard-preferences{position:fixed;inset:0;background:rgba(15,23,42,.56);display:grid;place-items:center;padding:1rem;z-index:120;backdrop-filter:blur(6px)}.dashboard-preferences[hidden]{display:none}.preferences-dialog{width:min(760px,100%);max-height:min(88vh,820px);overflow:auto;background:#fff;border-radius:1.1rem;box-shadow:0 30px 80px rgba(15,23,42,.3)}.preferences-dialog>header{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;gap:1rem;padding:1.2rem 1.3rem;border-bottom:1px solid #e5e9f1;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.preferences-dialog h2{font-size:1.25rem;margin:.1rem 0}.preferences-dialog p{font-size:.72rem;color:#667085;margin:0}.icon-button{width:2.6rem;height:2.6rem;border-radius:.7rem;border:1px solid #dce3ed;background:#fff;font-size:1.45rem;cursor:pointer}.preferences-dialog form{padding:1.2rem}.preferences-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.preferences-form-grid label{display:grid;gap:.35rem;font-size:.72rem;font-weight:760;color:#475467}.preferences-dialog fieldset{border:1px solid #e3e8ef;border-radius:.85rem;padding:1rem;margin:1rem 0}.preferences-dialog legend{font-size:.78rem;font-weight:850;padding:0 .35rem}.toggle-row{display:flex!important;align-items:center;gap:.55rem;min-height:42px;font-size:.76rem;font-weight:720}.toggle-row input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:#4f46e5}.widget-preference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem .8rem}.preferences-actions{display:flex;justify-content:flex-end;gap:.6rem}.student-dashboard-footer{display:flex;justify-content:flex-end;gap:1rem;align-items:center;color:#7a8699;font-size:.62rem;padding:.5rem}.student-dashboard-footer a{color:#4338ca;font-weight:760}.student-dashboard-shell.is-compact .student-panel{padding:.85rem}.student-dashboard-shell.is-compact .student-class-card{padding:.65rem}.student-dashboard-shell.high-contrast{--student-line:#aab2c0}.student-dashboard-shell.high-contrast .student-panel,.student-dashboard-shell.high-contrast .student-summary-card{border-width:2px}.student-dashboard-shell.reduce-motion *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.student-mobile-nav-toggle:focus-visible,.student-dashboard-shell a:focus-visible,.student-dashboard-shell button:focus-visible,.student-dashboard-shell select:focus-visible,.student-dashboard-shell input:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}.student-dashboard-shell .alert.success{background:#ecfdf3;border:1px solid #abefc6;color:#067647}.student-dashboard-shell .alert.error{background:#fff1f3;border:1px solid #fecdd3;color:#9f1239}
@media(max-width:1450px){.student-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.student-summary-card.is-featured{grid-column:span 2}.student-recording-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-academic-grid{grid-template-columns:1fr 1fr}.progress-score-card{grid-column:1/-1}}
@media(max-width:1120px){.student-dashboard-shell{grid-template-columns:230px minmax(0,1fr)}.student-dashboard-primary-grid,.student-dashboard-grid{grid-template-columns:1fr}.student-class-card{grid-template-columns:115px minmax(0,1fr) 145px}.student-support-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.student-dashboard-shell{display:block}.student-sidebar{position:fixed;top:0;left:0;height:100vh;width:min(310px,88vw);transform:translateX(-105%);transition:transform .22s ease;box-shadow:0 20px 55px rgba(15,23,42,.25);z-index:110}.student-sidebar.is-open{transform:translateX(0)}.student-sidebar-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:105}.student-sidebar-backdrop[hidden]{display:none}.student-mobile-nav-toggle{position:fixed;left:.8rem;bottom:.8rem;z-index:100;display:inline-flex;align-items:center;gap:.45rem;min-height:48px;border:0;border-radius:999px;padding:.65rem 1rem;background:#312e81;color:#fff;font:inherit;font-weight:800;box-shadow:0 12px 30px rgba(49,46,129,.28)}.student-dashboard-main{padding:1rem}.student-dashboard-hero{padding:1.25rem}.student-hero-actions{justify-content:flex-start}.student-support-grid{grid-template-columns:1fr}.student-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.student-summary-card.is-featured{grid-column:span 3}}
@media(max-width:700px){.student-dashboard-hero{display:grid}.student-hero-actions{display:grid;grid-template-columns:1fr 1fr}.student-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-summary-card.is-featured{grid-column:span 2}.student-class-card{grid-template-columns:1fr}.student-class-date{border-right:0;border-bottom:1px solid #e5e7eb;padding:0 0 .55rem;display:flex;justify-content:space-between}.student-class-action{grid-template-columns:1fr}.student-recording-grid,.student-academic-grid,.preferences-form-grid,.widget-preference-grid{grid-template-columns:1fr}.progress-score-card{grid-column:auto}.student-notification{grid-template-columns:2.4rem minmax(0,1fr)}.student-notification form{grid-column:2}.attendance-visual{grid-template-columns:1fr;justify-items:center}.attendance-stats{width:100%}.latest-invoice{align-items:flex-start}.billing-actions{display:grid}.student-dashboard-footer{display:grid;justify-content:start}.student-panel-header{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:430px){.student-summary-grid{grid-template-columns:1fr}.student-summary-card.is-featured{grid-column:auto}.student-hero-actions{grid-template-columns:1fr}.student-homework-row{grid-template-columns:2.4rem minmax(0,1fr)}.homework-action{grid-column:2;justify-items:start}.attendance-stats{grid-template-columns:1fr}.student-payment-list>a{grid-template-columns:2.2rem minmax(0,1fr)}.student-payment-list .status-badge{grid-column:2;justify-self:start}.support-content{align-items:flex-start}.preferences-actions{display:grid}.student-dashboard-main{padding:.75rem}}
@media(prefers-reduced-motion:reduce){.student-dashboard-shell *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Section 26: professional teacher dashboard */
.teacher-dashboard-shell{--td-bg:#f5f7fb;--td-panel:#fff;--td-text:#172033;--td-muted:#687386;--td-border:#e4e8f0;--td-accent:#3056d3;--td-accent-soft:#eef2ff;--td-success:#147d64;--td-warning:#a36108;--td-danger:#b42318;min-height:100vh;background:var(--td-bg);color:var(--td-text);display:grid;grid-template-columns:280px minmax(0,1fr)}
.teacher-dashboard-shell *{box-sizing:border-box}.teacher-dashboard-shell .icon{width:20px;height:20px;flex:0 0 auto}.teacher-dashboard-shell a{text-decoration:none}.teacher-sidebar{position:sticky;top:0;height:100vh;background:#11192c;color:#dfe7f5;padding:22px 16px;overflow-y:auto;z-index:35;display:flex;flex-direction:column;gap:18px}.teacher-brand{display:flex;align-items:center;gap:10px;color:#fff;padding:0 8px}.teacher-brand>span{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#6788ff,#8dd9d0);font-weight:900;color:#0e1730}.teacher-brand strong{font-size:1.08rem;letter-spacing:.02em}.teacher-profile-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);border-radius:16px}.teacher-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#4c67df,#45a9a0);font-weight:800;color:#fff}.teacher-profile-card div:last-child{min-width:0;display:flex;flex-direction:column}.teacher-profile-card strong,.teacher-profile-card span,.teacher-profile-card small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-profile-card span,.teacher-profile-card small{color:#9faac0;font-size:.78rem}.teacher-nav-list{display:flex;flex-direction:column;gap:3px}.teacher-nav-list>a,.teacher-nav-logout{width:100%;min-height:44px;display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:#c8d1e2;background:transparent;border:0;font:inherit;text-align:left;cursor:pointer}.teacher-nav-list>a:hover,.teacher-nav-list>a:focus-visible,.teacher-nav-logout:hover,.teacher-nav-logout:focus-visible{background:rgba(255,255,255,.08);color:#fff;outline:2px solid transparent}.teacher-nav-list>a.is-active{background:#2e4fc6;color:#fff;box-shadow:0 8px 24px rgba(25,56,165,.34)}.teacher-nav-list>a b{margin-left:auto;min-width:23px;height:23px;border-radius:999px;background:#ff6b6b;color:#fff;font-size:.72rem;display:grid;place-items:center}.teacher-nav-list form{margin:0}.teacher-sidebar-security{margin-top:auto;display:flex;gap:10px;padding:13px;border-radius:13px;background:rgba(77,209,177,.1);color:#bce8df}.teacher-sidebar-security div{display:flex;flex-direction:column}.teacher-sidebar-security span{font-size:.72rem;line-height:1.45;color:#9dc5bd}.teacher-dashboard-main{min-width:0;padding:30px clamp(18px,3vw,44px) 48px;max-width:1660px;width:100%;margin:0 auto}.teacher-dashboard-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:28px;align-items:center;padding:30px;border-radius:24px;background:linear-gradient(125deg,#17285a 0%,#3157d4 56%,#3d9f9a 125%);color:#fff;box-shadow:0 22px 45px rgba(28,48,105,.18)}.teacher-dashboard-hero:after{content:"";position:absolute;right:-80px;top:-100px;width:300px;height:300px;border-radius:50%;border:50px solid rgba(255,255,255,.07)}.teacher-dashboard-hero>*{position:relative;z-index:1}.teacher-dashboard-hero .eyebrow{color:#bed0ff}.teacher-dashboard-hero h1{font-size:clamp(1.75rem,3vw,2.65rem);margin:5px 0 8px;line-height:1.08}.teacher-dashboard-hero p{max-width:760px;margin:0;color:#d9e3ff;line-height:1.6}.teacher-hero-meta,.teacher-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.teacher-hero-meta{margin-top:18px}.teacher-hero-meta>span{display:flex;align-items:center;gap:7px;font-size:.86rem;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1)}.status-dot i{width:8px;height:8px;border-radius:50%;background:#65e0b8}.teacher-hero-actions{justify-content:flex-end}.teacher-dashboard-hero .button{white-space:nowrap}.teacher-dashboard-hero .button-primary{background:#fff;color:#1c3cae;border-color:#fff}.teacher-dashboard-hero .button-quiet{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08)}.teacher-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin:20px 0}.teacher-summary-card{min-height:142px;padding:17px;border-radius:18px;background:var(--td-panel);border:1px solid var(--td-border);color:var(--td-text);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.teacher-summary-card:hover,.teacher-summary-card:focus-visible{transform:translateY(-2px);box-shadow:0 15px 32px rgba(32,49,83,.09);border-color:#b8c5ed;outline:none}.teacher-summary-card.is-featured{background:linear-gradient(145deg,#294dc1,#4272e6);color:#fff;border-color:transparent}.teacher-summary-card .summary-icon{width:38px;height:38px;border-radius:12px;background:var(--td-accent-soft);color:var(--td-accent);display:grid;place-items:center;margin-bottom:15px}.teacher-summary-card.is-featured .summary-icon{background:rgba(255,255,255,.15);color:#fff}.teacher-summary-card .summary-label{font-size:.79rem;color:var(--td-muted);font-weight:700}.teacher-summary-card.is-featured .summary-label,.teacher-summary-card.is-featured small{color:#dbe4ff}.teacher-summary-card strong{font-size:1.3rem;margin-top:5px;line-height:1.2}.teacher-summary-card small{color:#8993a5;margin-top:auto;padding-top:8px}.teacher-dashboard-grid{display:grid;gap:18px}.teacher-dashboard-primary-grid{grid-template-columns:minmax(0,2.2fr) minmax(260px,.8fr)}.teacher-dashboard-work-grid{grid-template-columns:minmax(0,2.2fr) minmax(260px,.8fr);margin-top:18px}.teacher-dashboard-secondary-grid{grid-template-columns:1fr 1fr;margin-top:18px}.teacher-panel{background:var(--td-panel);border:1px solid var(--td-border);border-radius:20px;padding:22px;margin-top:18px;box-shadow:0 7px 22px rgba(31,47,79,.035)}.teacher-dashboard-grid>.teacher-panel{margin-top:0}.teacher-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.teacher-panel-header h2{margin:2px 0 4px;font-size:1.24rem}.teacher-panel-header p{margin:0;color:var(--td-muted);font-size:.87rem;line-height:1.5}.panel-kicker{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:.69rem;font-weight:800;color:var(--td-accent)}.text-link,.text-button{color:var(--td-accent);font-weight:700;font-size:.85rem;background:none;border:0;padding:4px;cursor:pointer}.text-link:hover,.text-link:focus-visible,.text-button:hover,.text-button:focus-visible{text-decoration:underline;outline:none}.teacher-count-pill{padding:7px 11px;background:var(--td-accent-soft);color:var(--td-accent);font-size:.78rem;font-weight:800;border-radius:999px}.teacher-class-list,.teacher-task-list,.teacher-student-list,.teacher-review-list,.teacher-notification-list{display:flex;flex-direction:column;gap:11px}.teacher-class-card{display:grid;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:18px;padding:17px;border:1px solid var(--td-border);border-radius:16px;background:#fbfcff}.teacher-class-time{display:flex;flex-direction:column;padding-right:16px;border-right:1px solid var(--td-border)}.teacher-class-time strong{font-size:1.12rem}.teacher-class-time span,.teacher-class-time small{font-size:.75rem;color:var(--td-muted)}.teacher-class-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.teacher-class-title h3{margin:0;font-size:1rem}.teacher-class-content>p{margin:5px 0;color:var(--td-muted);font-size:.86rem}.teacher-class-students,.teacher-class-meta{display:flex;align-items:center;gap:7px;color:#4f5b70;font-size:.8rem;flex-wrap:wrap}.teacher-class-students .icon,.teacher-class-meta .icon{width:16px;height:16px}.teacher-class-meta{gap:16px;margin-top:8px}.teacher-class-meta>span{display:flex;gap:5px;align-items:center}.class-countdown{font-weight:700;color:var(--td-accent)}.teacher-class-actions{min-width:156px;display:flex;flex-direction:column;gap:7px}.teacher-class-actions form,.teacher-task-actions form,.teacher-notification-actions form{margin:0}.teacher-class-actions .button{justify-content:center}.status-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:.7rem;font-weight:800;background:#eef1f5;color:#59657a}.status-approved,.status-confirmed,.status-completed,.status-active{background:#e8f8f2;color:#147d64}.status-pending,.status-scheduled,.status-pending-teacher-submission{background:#fff4dc;color:#8f5808}.status-cancelled-by-student,.status-cancelled-by-teacher,.status-cancelled-by-admin,.status-rejected,.status-failed{background:#feeceb;color:#b42318}.teacher-quick-action-list{display:flex;flex-direction:column;gap:8px}.teacher-quick-action-list>a{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:11px;border-radius:12px;color:var(--td-text);border:1px solid transparent}.teacher-quick-action-list>a:hover,.teacher-quick-action-list>a:focus-visible{background:#f5f7ff;border-color:#dbe2f5;outline:none}.teacher-quick-action-list>a>.icon{width:36px;height:36px;padding:8px;border-radius:11px;background:var(--td-accent-soft);color:var(--td-accent)}.teacher-quick-action-list span{display:flex;flex-direction:column}.teacher-quick-action-list small{color:var(--td-muted);font-size:.72rem}.teacher-task-card{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:15px;align-items:center;padding:15px;border:1px solid var(--td-border);border-left:4px solid #90a0bb;border-radius:14px}.teacher-task-card.priority-critical{border-left-color:var(--td-danger)}.teacher-task-card.priority-high{border-left-color:#e58c17}.teacher-task-card.priority-medium{border-left-color:#5c77d8}.teacher-task-priority{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.teacher-task-card h3{margin:0 0 4px;font-size:.95rem}.teacher-task-card p{margin:0;color:var(--td-muted);font-size:.82rem}.teacher-task-card small{display:block;color:#8b6470;margin-top:5px}.teacher-task-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.profile-health-score{text-align:center;padding:10px 0}.profile-health-score strong{display:block;font-size:2.5rem;color:var(--td-accent)}.profile-health-score span{color:var(--td-muted);font-size:.8rem}.teacher-progress{height:9px;border-radius:999px;background:#e9edf5;overflow:hidden;margin:7px 0 18px}.teacher-progress span{display:block;height:100%;background:linear-gradient(90deg,#3157d4,#3eafa2);border-radius:inherit}.teacher-health-list{margin:0 0 18px}.teacher-health-list>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--td-border)}.teacher-health-list dt{color:var(--td-muted)}.teacher-health-list dd{font-weight:700;margin:0;text-transform:capitalize}.button-block{width:100%;justify-content:center}.teacher-earnings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:13px}.teacher-earning-card{padding:17px;border-radius:16px;background:#f8faff;border:1px solid #dfe5f3}.teacher-earning-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px}.teacher-earning-card header span{font-weight:900;color:var(--td-accent)}.teacher-earning-card header small,.teacher-earning-card>small{color:var(--td-muted)}.teacher-earning-card dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 12px}.teacher-earning-card dl>div{padding:10px;border-radius:10px;background:#fff}.teacher-earning-card dt{font-size:.69rem;color:var(--td-muted)}.teacher-earning-card dd{font-weight:800;margin:3px 0 0}.teacher-earnings-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:15px}.teacher-inline-warning{font-size:.8rem;color:var(--td-warning);font-weight:700}.teacher-upcoming-table{overflow:auto;border:1px solid var(--td-border);border-radius:14px}.teacher-upcoming-table table{width:100%;border-collapse:collapse;min-width:850px}.teacher-upcoming-table th,.teacher-upcoming-table td{text-align:left;padding:13px;border-bottom:1px solid var(--td-border);vertical-align:middle}.teacher-upcoming-table th{background:#f7f8fc;font-size:.72rem;color:var(--td-muted);text-transform:uppercase;letter-spacing:.05em}.teacher-upcoming-table td{font-size:.84rem}.teacher-upcoming-table td strong,.teacher-upcoming-table td small{display:block}.teacher-upcoming-table td small{color:var(--td-muted)}.teacher-student-list>a,.teacher-review-list>a{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border-radius:12px;color:var(--td-text);border:1px solid transparent}.teacher-student-list>a:hover,.teacher-review-list>a:hover,.teacher-student-list>a:focus-visible,.teacher-review-list>a:focus-visible{background:#f8faff;border-color:#dfe6f6;outline:none}.teacher-student-avatar,.teacher-review-list>a>span:first-child{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--td-accent-soft);color:var(--td-accent);font-weight:800}.teacher-student-list>a>span:nth-child(2),.teacher-review-list>a>span:nth-child(2){display:flex;flex-direction:column}.teacher-student-list small,.teacher-review-list small{color:var(--td-muted);font-size:.74rem}.teacher-student-list b,.teacher-review-list b{font-size:.74rem;color:var(--td-accent)}.teacher-availability-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:11px}.teacher-availability-grid>div{padding:15px;border-radius:14px;background:#f7f9fd;border:1px solid var(--td-border);display:flex;flex-direction:column}.teacher-availability-grid span{color:var(--td-muted);font-size:.74rem}.teacher-availability-grid strong{font-size:1.2rem;margin-top:5px}.teacher-notification-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border-radius:13px;border:1px solid var(--td-border)}.teacher-notification-item.is-unread{background:#f5f8ff;border-color:#cad5f8}.teacher-notification-item>span:first-child{width:40px;height:40px;border-radius:12px;background:var(--td-accent-soft);color:var(--td-accent);display:grid;place-items:center}.teacher-notification-item p{margin:3px 0;color:var(--td-muted);font-size:.8rem}.teacher-notification-item small{color:#8d98aa}.teacher-notification-actions{display:flex;align-items:center;gap:3px}.teacher-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:34px 20px;color:var(--td-muted)}.teacher-empty-state>.icon{width:42px;height:42px;padding:9px;border-radius:14px;background:var(--td-accent-soft);color:var(--td-accent)}.teacher-empty-state h3{color:var(--td-text);margin:12px 0 5px}.teacher-empty-state p{max-width:500px;margin:0 0 13px}.teacher-empty-state.compact{padding:22px}.teacher-dashboard-footer{display:flex;justify-content:space-between;gap:15px;color:#8b95a7;font-size:.72rem;margin-top:24px;padding:0 3px}.teacher-mobile-nav-toggle{display:none;position:fixed;left:14px;bottom:14px;z-index:60;min-height:46px;border:0;border-radius:999px;background:#203fae;color:#fff;padding:10px 16px;box-shadow:0 10px 30px rgba(20,39,108,.35);align-items:center;gap:8px}.teacher-sidebar-backdrop{position:fixed;inset:0;background:rgba(9,14,26,.55);z-index:30}.teacher-preferences-drawer{position:fixed;inset:0;z-index:90}.teacher-preferences-drawer[hidden]{display:none}.teacher-preferences-backdrop{position:absolute;inset:0;background:rgba(13,19,32,.55)}.teacher-preferences-panel{position:absolute;right:0;top:0;height:100%;width:min(560px,100%);overflow-y:auto;background:#fff;padding:26px;box-shadow:-18px 0 50px rgba(20,29,50,.18)}.teacher-preferences-panel>header{display:flex;justify-content:space-between;gap:15px}.teacher-preferences-panel h2{margin:4px 0}.teacher-preferences-panel p{margin:0;color:var(--td-muted)}.icon-button{width:44px;height:44px;border:1px solid var(--td-border);border-radius:12px;background:#fff;font-size:1.5rem;cursor:pointer}.teacher-preferences-form{margin-top:24px}.teacher-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.teacher-preferences-form label{font-weight:700;font-size:.82rem}.teacher-preferences-form select{width:100%;min-height:44px;margin-top:6px;border:1px solid var(--td-border);border-radius:10px;padding:0 11px;background:#fff}.teacher-preferences-form fieldset{border:1px solid var(--td-border);border-radius:14px;padding:14px;margin:17px 0}.teacher-preferences-form legend{font-weight:800;padding:0 6px}.teacher-switch,.teacher-widget-preferences label{display:flex!important;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:8px 0;border-bottom:1px solid #edf0f5}.teacher-switch:last-child,.teacher-widget-preferences label:last-child{border-bottom:0}.teacher-switch input,.teacher-widget-preferences input{width:20px;height:20px}.teacher-preferences-actions{display:flex;gap:10px;justify-content:flex-end}.teacher-dashboard-shell.is-compact .teacher-panel{padding:16px}.teacher-dashboard-shell.is-compact .teacher-class-card,.teacher-dashboard-shell.is-compact .teacher-task-card{padding:11px}.teacher-dashboard-shell.high-contrast{--td-bg:#fff;--td-text:#000;--td-muted:#333;--td-border:#000;--td-accent:#0026a8;--td-accent-soft:#e7ecff}.teacher-dashboard-shell.reduce-motion *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.teacher-dashboard-shell :focus-visible{outline:3px solid #f6b94c;outline-offset:2px}.teacher-dashboard-shell .button,.teacher-dashboard-shell button,.teacher-dashboard-shell select,.teacher-dashboard-shell input{min-height:44px}.teacher-panel.is-collapsed>*:not(.teacher-panel-header){display:none}.teacher-panel.is-collapsed .teacher-panel-header{margin-bottom:0}
@media(max-width:1320px){.teacher-summary-grid{grid-template-columns:repeat(3,1fr)}.teacher-availability-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.teacher-dashboard-shell{grid-template-columns:1fr}.teacher-sidebar{position:fixed;left:0;top:0;transform:translateX(-105%);width:min(330px,88vw);transition:transform .24s ease}.teacher-sidebar.is-open{transform:translateX(0)}.teacher-mobile-nav-toggle{display:flex}.teacher-dashboard-main{padding:20px 16px 80px}.teacher-dashboard-primary-grid,.teacher-dashboard-work-grid{grid-template-columns:1fr}.teacher-quick-actions,.teacher-profile-health{order:-1}.teacher-dashboard-secondary-grid{grid-template-columns:1fr}.teacher-dashboard-hero{padding:24px}.teacher-summary-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:730px){.teacher-dashboard-hero{align-items:flex-start;flex-direction:column}.teacher-hero-actions{justify-content:flex-start}.teacher-summary-grid{grid-template-columns:repeat(2,1fr)}.teacher-summary-card{min-height:128px}.teacher-class-card{grid-template-columns:1fr}.teacher-class-time{border:0;border-bottom:1px solid var(--td-border);padding:0 0 10px;display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center}.teacher-class-actions{min-width:0;display:grid;grid-template-columns:1fr 1fr}.teacher-task-card{grid-template-columns:1fr}.teacher-task-actions{justify-content:flex-start}.teacher-availability-grid{grid-template-columns:repeat(2,1fr)}.teacher-notification-item{grid-template-columns:40px 1fr}.teacher-notification-actions{grid-column:2}.teacher-form-grid{grid-template-columns:1fr}.teacher-dashboard-footer{flex-direction:column}.teacher-panel{padding:17px}.teacher-panel-header{flex-direction:column}.teacher-earning-card dl{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.teacher-summary-grid{grid-template-columns:1fr 1fr;gap:9px}.teacher-summary-card{padding:13px;min-height:118px}.teacher-summary-card strong{font-size:1.05rem}.teacher-dashboard-hero h1{font-size:1.7rem}.teacher-class-actions{grid-template-columns:1fr}.teacher-availability-grid{grid-template-columns:1fr 1fr}.teacher-preferences-panel{padding:20px}.teacher-earnings-grid{grid-template-columns:1fr}}

/* Section 27 — premium administrator dashboard */
.admin-dashboard-shell{--ad-bg:#f4f7fb;--ad-panel:#fff;--ad-text:#172033;--ad-muted:#647087;--ad-border:#dfe5ef;--ad-accent:#3157d5;--ad-accent-soft:#edf2ff;--ad-positive:#16856d;--ad-warning:#c27a15;--ad-danger:#c44545;min-height:100vh;background:var(--ad-bg);color:var(--ad-text);display:grid;grid-template-columns:292px minmax(0,1fr);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.admin-dashboard-shell *{box-sizing:border-box}.admin-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:linear-gradient(180deg,#17213f 0%,#11182d 100%);color:#f8faff;padding:24px 18px;z-index:40;box-shadow:18px 0 40px rgba(23,33,63,.08)}.admin-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;padding:0 8px 20px}.admin-brand>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#6f89ff,#4d61c7);font-size:1.25rem;font-weight:900;box-shadow:0 10px 28px rgba(88,111,218,.35)}.admin-brand div{display:grid}.admin-brand strong{font-size:1.08rem;letter-spacing:.01em}.admin-brand small{color:#aeb9d4;font-size:.72rem;margin-top:1px}.admin-identity-card{display:flex;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);border-radius:16px;padding:13px;margin-bottom:18px}.admin-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#273d96;font-weight:900}.admin-identity-card div{display:grid;min-width:0}.admin-identity-card strong{font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-identity-card span{font-size:.68rem;color:#aeb9d4;margin-top:3px;line-height:1.4}.admin-nav section{margin:18px 0}.admin-nav h2{font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;color:#8998bb;margin:0 10px 8px}.admin-nav a,.admin-nav form button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;border:0;border-radius:10px;padding:9px 11px;color:#d9e0f1;text-decoration:none;background:transparent;font:inherit;font-size:.79rem;cursor:pointer;text-align:left}.admin-nav a:hover,.admin-nav a:focus-visible,.admin-nav form button:hover,.admin-nav a.is-active{background:rgba(106,132,255,.16);color:#fff}.admin-nav a.is-active{box-shadow:inset 3px 0 0 #7e97ff}.admin-nav b{font-size:1rem;color:#8392b5}.admin-sidebar-note{border-top:1px solid rgba(255,255,255,.1);padding:18px 9px 0;display:grid;gap:4px}.admin-sidebar-note strong{font-size:.75rem}.admin-sidebar-note span{font-size:.68rem;line-height:1.55;color:#9eabc9}.admin-dashboard-main{min-width:0;padding:28px clamp(18px,3vw,46px) 42px}.admin-dashboard-hero{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(120deg,#fff 0%,#f4f7ff 58%,#e8efff 100%);border:1px solid #d9e2f5;padding:32px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 20px 60px rgba(42,60,110,.08)}.admin-dashboard-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-80px;top:-120px;background:radial-gradient(circle,rgba(81,111,225,.18),rgba(81,111,225,0) 70%)}.admin-dashboard-hero>div{position:relative;z-index:1}.admin-eyebrow{display:block;color:#4b62b7;font-weight:800;font-size:.69rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}.admin-dashboard-hero h1{font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.05;margin:0 0 12px}.admin-dashboard-hero p{max-width:760px;color:var(--ad-muted);font-size:.96rem;line-height:1.65;margin:0}.admin-hero-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.admin-hero-meta span{border:1px solid #d8e0f1;background:rgba(255,255,255,.72);border-radius:999px;padding:7px 10px;font-size:.72rem;color:#58647b}.admin-hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;min-width:min(340px,100%)}.admin-dashboard-shell .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:11px;padding:10px 15px;font-weight:800;font-size:.78rem;text-decoration:none;border:1px solid transparent;cursor:pointer}.admin-dashboard-shell .button-primary{background:var(--ad-accent);color:#fff}.admin-dashboard-shell .button-secondary{background:#fff;color:#294194;border-color:#ccd6ec}.admin-dashboard-shell .button-quiet{background:#eef2f8;color:#35415a;border-color:#dce3ef}.admin-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0 30px}.admin-metric-card{position:relative;min-height:128px;background:var(--ad-panel);border:1px solid var(--ad-border);border-radius:17px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px 30px rgba(37,50,85,.045);overflow:hidden}.admin-metric-card:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:#8d9ab4}.admin-metric-card.tone-positive:before{background:var(--ad-positive)}.admin-metric-card.tone-warning:before{background:var(--ad-warning)}.admin-metric-card.tone-danger:before{background:var(--ad-danger)}.admin-metric-card.tone-finance:before{background:#6b4bc4}.admin-metric-card.tone-schedule:before{background:#247ab8}.admin-metric-card.tone-support:before{background:#c55a8f}.admin-metric-card span{color:var(--ad-muted);font-size:.76rem;font-weight:700}.admin-metric-card strong{font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.1;margin:8px 0}.admin-metric-card small{font-size:.68rem;color:#8b95a8}.admin-dashboard-section{margin-top:30px}.admin-section-header,.admin-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.admin-section-header h2,.admin-panel-header h2,.admin-quick-actions h2{margin:0 0 6px;font-size:1.25rem}.admin-section-header p{margin:0;color:var(--ad-muted);font-size:.82rem;line-height:1.5;max-width:760px}.admin-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.admin-chart-card{background:var(--ad-panel);border:1px solid var(--ad-border);border-radius:18px;padding:18px;min-height:290px;box-shadow:0 12px 34px rgba(41,54,92,.045)}.admin-chart-card>header{display:flex;justify-content:space-between;gap:10px}.admin-chart-card h3{font-size:.95rem;margin:0 0 5px}.admin-chart-card header p{font-size:.7rem;color:var(--ad-muted);margin:0}.admin-chart-card header>span{font-size:.66rem;font-weight:800;color:#536177;background:#eef2f8;padding:6px 8px;border-radius:999px;height:max-content}.admin-bar-chart{height:142px;display:flex;align-items:flex-end;gap:5px;border-bottom:1px solid #dfe5ef;padding:16px 0 0;margin-top:9px}.admin-bar-column{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0}.admin-bar-column>span{height:var(--bar-size);min-height:3px;width:min(18px,72%);background:linear-gradient(180deg,#5d76dc,#3454c3);border-radius:6px 6px 2px 2px;transition:height .25s ease}.admin-bar-column small{font-size:.51rem;color:#7f899b;writing-mode:vertical-rl;transform:rotate(180deg);height:35px;margin-top:4px;overflow:hidden}.admin-chart-summary{display:flex;justify-content:space-between;align-items:end;margin-top:12px}.admin-chart-summary strong{font-size:1.15rem}.admin-chart-summary span{font-size:.64rem;color:var(--ad-muted)}.admin-chart-table{max-height:210px;overflow:auto;margin-top:12px;border-top:1px solid var(--ad-border);padding-top:10px}.admin-chart-table table{width:100%;border-collapse:collapse;font-size:.68rem}.admin-chart-table caption{text-align:left;font-weight:800;margin-bottom:7px}.admin-chart-table th,.admin-chart-table td{padding:6px;border-bottom:1px solid #edf0f5;text-align:left}.admin-empty-state{display:grid;place-items:center;text-align:center;gap:7px;min-height:180px;color:var(--ad-muted)}.admin-empty-state strong{color:var(--ad-text)}.admin-queue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.admin-queue-card{background:#fff;border:1px solid var(--ad-border);border-radius:17px;padding:16px;min-height:250px}.admin-queue-card>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ebeff5;padding-bottom:11px;margin-bottom:5px}.admin-queue-card h3{margin:0;font-size:.9rem}.admin-queue-card header a{font-size:.67rem;color:#3556c7;font-weight:800;text-decoration:none}.admin-queue-item{display:grid;gap:3px;padding:11px 2px;border-bottom:1px solid #eef1f5;text-decoration:none;color:inherit}.admin-queue-item:last-child{border-bottom:0}.admin-queue-item:hover strong{color:#3157d5}.admin-queue-item strong{font-size:.76rem}.admin-queue-item span{font-size:.68rem;color:var(--ad-muted);line-height:1.4}.admin-queue-item time,.admin-queue-item small{font-size:.61rem;color:#8d97aa}.admin-empty-compact{padding:28px 5px;text-align:center;color:#8b95a8;font-size:.72rem}.admin-dashboard-lower-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;margin-top:28px}.admin-panel{background:#fff;border:1px solid var(--ad-border);border-radius:18px;padding:19px;min-width:0}.admin-panel:nth-child(3){grid-column:1/-1}.admin-count-badge,.admin-health-pill{border-radius:999px;background:#eef2ff;color:#3754bd;font-size:.68rem;font-weight:900;padding:7px 10px}.admin-health-pill{background:#e8f7f2;color:#14745f}.admin-alert-list{display:grid;gap:10px}.admin-alert-item{display:grid;grid-template-columns:1fr 220px;gap:14px;border:1px solid #e5e9f1;border-left:4px solid #d18a24;border-radius:13px;padding:13px}.admin-alert-item.severity-critical{border-left-color:#a92d3c}.admin-alert-item.severity-high{border-left-color:#c6533b}.admin-alert-item.severity-low{border-left-color:#4b8b72}.admin-alert-item>div>span{font-size:.57rem;font-weight:900;letter-spacing:.08em;color:#a64a3e}.admin-alert-item h3{font-size:.78rem;margin:4px 0}.admin-alert-item p{font-size:.67rem;color:var(--ad-muted);margin:0 0 5px;line-height:1.45}.admin-alert-item time{font-size:.58rem;color:#8c96a8}.admin-alert-item form{display:grid;gap:7px}.admin-alert-item select,.admin-alert-item textarea,.admin-preferences-form select{width:100%;border:1px solid #d9e0ec;border-radius:9px;padding:8px;background:#fff;font:inherit;font-size:.68rem}.admin-alert-item textarea{resize:vertical;min-height:58px}.admin-activity-list{list-style:none;padding:0;margin:0;display:grid}.admin-activity-list li{display:grid;grid-template-columns:16px 1fr;gap:9px;padding:10px 0;border-bottom:1px solid #edf0f5}.activity-dot{width:9px;height:9px;border-radius:50%;background:#6e7f9d;margin-top:4px}.activity-dot.type-invoice{background:#7654c5}.activity-dot.type-class{background:#247ab8}.activity-dot.type-teacher{background:#1c9474}.activity-dot.type-security{background:#c44747}.admin-activity-list div{display:grid;gap:2px}.admin-activity-list strong{font-size:.72rem}.admin-activity-list span{font-size:.65rem;color:var(--ad-muted)}.admin-activity-list time{font-size:.57rem;color:#919aac}.admin-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-health-grid div{border:1px solid #e4e9f1;border-radius:12px;padding:13px;display:grid;gap:4px}.admin-health-grid span{font-size:.63rem;color:var(--ad-muted)}.admin-health-grid strong{font-size:.76rem}.admin-health-note{font-size:.66rem;color:var(--ad-muted);margin:13px 0 0}.admin-quick-actions{margin-top:26px;background:linear-gradient(130deg,#1d2a51,#293b72);color:#fff;border-radius:18px;padding:20px}.admin-quick-actions .admin-eyebrow{color:#aebeff}.admin-quick-actions header{margin-bottom:13px}.admin-quick-actions>div{display:flex;flex-wrap:wrap;gap:9px}.admin-quick-actions a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);border-radius:10px;padding:10px 13px;font-size:.72rem;font-weight:800}.admin-quick-actions a:hover{background:rgba(255,255,255,.16)}.admin-dashboard-footer{display:flex;justify-content:space-between;gap:15px;color:#8b95a7;font-size:.62rem;margin-top:20px}.admin-mobile-nav-toggle{display:none;position:fixed;left:14px;bottom:14px;z-index:65;border:0;border-radius:999px;background:#233a91;color:#fff;padding:11px 16px;box-shadow:0 10px 32px rgba(27,44,103,.35)}.admin-sidebar-backdrop{position:fixed;inset:0;background:rgba(8,13,28,.58);z-index:35}.admin-preferences-drawer{position:fixed;inset:0;z-index:95}.admin-preferences-drawer[hidden]{display:none}.admin-preferences-backdrop{position:absolute;inset:0;border:0;background:rgba(9,15,29,.58)}.admin-preferences-panel{position:absolute;right:0;top:0;height:100%;width:min(590px,100%);overflow:auto;background:#fff;padding:26px;box-shadow:-20px 0 60px rgba(23,35,71,.2)}.admin-preferences-panel>header{display:flex;justify-content:space-between;gap:15px}.admin-preferences-panel h2{margin:0}.admin-preferences-panel p{font-size:.75rem;color:var(--ad-muted)}.admin-icon-button{width:44px;height:44px;border-radius:11px;border:1px solid var(--ad-border);background:#fff;font-size:1.5rem}.admin-preferences-form{margin-top:20px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-preferences-form label{font-size:.72rem;font-weight:800}.admin-preferences-form select{margin-top:6px;min-height:44px}.admin-preferences-form fieldset{border:1px solid var(--ad-border);border-radius:13px;margin:16px 0;padding:13px}.admin-preferences-form legend{font-size:.77rem;font-weight:900;padding:0 6px}.admin-switch{display:flex!important;align-items:center;justify-content:space-between;gap:12px;min-height:41px;border-bottom:1px solid #edf0f5;padding:7px 0}.admin-switch:last-child{border-bottom:0}.admin-switch input{width:20px;height:20px}.admin-preferences-actions{display:flex;justify-content:flex-end}.admin-dashboard-shell.is-compact .admin-metric-card{min-height:105px;padding:14px}.admin-dashboard-shell.is-compact .admin-chart-card,.admin-dashboard-shell.is-compact .admin-panel{padding:14px}.admin-dashboard-shell.high-contrast{--ad-bg:#fff;--ad-panel:#fff;--ad-text:#000;--ad-muted:#222;--ad-border:#000;--ad-accent:#001fa8}.admin-dashboard-shell.reduce-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.admin-dashboard-shell :focus-visible{outline:3px solid #f5b842;outline-offset:2px}.admin-dashboard-shell button,.admin-dashboard-shell a,.admin-dashboard-shell select,.admin-dashboard-shell textarea,.admin-dashboard-shell input{min-height:44px}.admin-chart-card.is-collapsed>*:not(header){display:none}
@media(max-width:1360px){.admin-metric-grid{grid-template-columns:repeat(3,1fr)}.admin-chart-grid{grid-template-columns:repeat(2,1fr)}.admin-queue-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1050px){.admin-dashboard-shell{grid-template-columns:1fr}.admin-sidebar{position:fixed;left:0;top:0;width:min(330px,88vw);transform:translateX(-105%);transition:transform .24s ease}.admin-sidebar.is-open{transform:translateX(0)}.admin-mobile-nav-toggle{display:flex}.admin-dashboard-main{padding:20px 16px 80px}.admin-dashboard-hero{align-items:flex-start;flex-direction:column}.admin-hero-actions{justify-content:flex-start}.admin-dashboard-lower-grid{grid-template-columns:1fr}.admin-panel:nth-child(3){grid-column:auto}.admin-health-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:740px){.admin-metric-grid{grid-template-columns:repeat(2,1fr)}.admin-chart-grid,.admin-queue-grid{grid-template-columns:1fr}.admin-alert-item{grid-template-columns:1fr}.admin-section-header{flex-direction:column}.admin-hero-actions{display:grid;width:100%;grid-template-columns:1fr}.admin-hero-meta{display:grid}.admin-form-grid{grid-template-columns:1fr}.admin-dashboard-footer{flex-direction:column}.admin-dashboard-hero{padding:23px}.admin-health-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.admin-metric-grid{grid-template-columns:1fr 1fr;gap:9px}.admin-metric-card{min-height:112px;padding:13px}.admin-metric-card strong{font-size:1.05rem}.admin-chart-card{padding:14px}.admin-preferences-panel{padding:20px}.admin-health-grid{grid-template-columns:1fr}.admin-quick-actions>div{display:grid}.admin-quick-actions a{text-align:center}}

.admin-nav-unavailable{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;border-radius:10px;padding:9px 11px;color:#8794b3;font-size:.79rem;cursor:not-allowed}.admin-nav-unavailable em{font-style:normal;font-size:.55rem;text-transform:uppercase;letter-spacing:.06em;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:4px 6px;color:#9ba8c5}
.admin-planned-label{font-size:.56rem;text-transform:uppercase;letter-spacing:.06em;color:#66738a;background:#eef2f8;border-radius:999px;padding:5px 7px;font-weight:800}

/* Section 28 unified professional calendar */
.calendar-shell { padding: 46px 0 86px; --cal-scheduled:#3157d5; --cal-completed:#15845a; --cal-cancelled:#a33a49; --cal-pending:#b86b0a; --cal-student-absent:#7b4bc2; --cal-teacher-absent:#bc3d74; --cal-recording:#087a8c; }
.calendar-container { width: min(1480px, calc(100% - 40px)); }
.calendar-page-header { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:24px; }
.calendar-page-header h1 { font-size:clamp(2.4rem,5vw,4.5rem); margin:8px 0 13px; }
.calendar-page-header p { max-width:820px; margin:0; color:var(--muted); }
.calendar-header-actions,.calendar-export-menu,.calendar-filter-actions,.calendar-settings-actions,.calendar-detail-actions { display:flex; flex-wrap:wrap; gap:10px; }
.button-primary { color:#fff; background:var(--primary); border-color:var(--primary); }
.button-secondary { background:#fff; border-color:var(--line); color:var(--text); }
.button-small { min-height:38px; padding:0 13px; border-radius:10px; font-size:.82rem; cursor:pointer; }
.icon-button { width:44px; height:44px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--text); font:700 1.35rem/1 inherit; cursor:pointer; display:grid; place-items:center; }
.icon-button:hover,.button-secondary:hover { border-color:#aebad0; background:#f8faff; }
.calendar-stat-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.calendar-stat-strip article { background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px 18px; box-shadow:0 8px 24px rgba(31,45,80,.05); }
.calendar-stat-strip span { display:block; color:var(--muted); font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.calendar-stat-strip strong { display:block; margin-top:5px; font-size:1rem; overflow-wrap:anywhere; }
.calendar-command-bar { padding:14px; display:grid; grid-template-columns:minmax(300px,1fr) auto auto; gap:14px; align-items:center; margin-bottom:14px; }
.calendar-nav-group { display:flex; align-items:center; gap:9px; min-width:0; }
.calendar-range-title { font-weight:850; font-size:1rem; margin-left:5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.calendar-view-switcher { display:inline-flex; padding:4px; border:1px solid var(--line); border-radius:13px; background:#f4f7fc; }
.calendar-view-button { min-height:38px; padding:0 13px; border:0; border-radius:9px; background:transparent; color:var(--muted); font:750 .82rem/1 inherit; cursor:pointer; }
.calendar-view-button.is-active { color:var(--primary); background:#fff; box-shadow:0 3px 10px rgba(31,45,80,.11); }
.calendar-filter-panel { margin-bottom:14px; padding:0; overflow:hidden; }
.calendar-filter-panel summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px; padding:16px 20px; font-weight:850; }
.calendar-filter-panel summary::-webkit-details-marker { display:none; }
.filter-summary-count { color:var(--primary); font-size:.8rem; background:#edf1ff; border-radius:999px; padding:4px 9px; }
.calendar-filter-grid { padding:18px 20px 20px; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:13px; align-items:end; }
.calendar-filter-grid .field { display:grid; gap:6px; }
.calendar-filter-grid .field span,.calendar-settings-form .field span { color:var(--muted); font-size:.76rem; font-weight:800; }
.calendar-filter-grid input,.calendar-filter-grid select,.calendar-settings-form select { width:100%; min-height:44px; border:1px solid #cad3e2; border-radius:11px; padding:8px 11px; background:#fff; color:var(--text); font:inherit; }
.calendar-filter-grid input:focus,.calendar-filter-grid select:focus,.calendar-settings-form select:focus { outline:3px solid rgba(49,87,213,.15); border-color:var(--primary); }
.calendar-filter-grid .field-wide { grid-column:span 2; }
.calendar-main-grid { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:14px; align-items:start; }
.calendar-board { min-height:680px; position:relative; padding:0; overflow:hidden; }
.calendar-sidebar { padding:20px; position:sticky; top:88px; }
.calendar-sidebar-section + .calendar-sidebar-section { border-top:1px solid var(--line); margin-top:20px; padding-top:20px; }
.calendar-sidebar h2 { font-size:1rem; margin:0 0 13px; letter-spacing:-.01em; }
.calendar-legend { list-style:none; padding:0; margin:0; display:grid; gap:9px; }
.calendar-legend li { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:.83rem; }
.calendar-legend-dot { width:11px; height:11px; border-radius:50%; box-shadow:0 0 0 3px rgba(0,0,0,.04); }
.status-group-scheduled { --status-color:var(--cal-scheduled); }
.status-group-completed { --status-color:var(--cal-completed); }
.status-group-cancelled { --status-color:var(--cal-cancelled); }
.status-group-pending_approval { --status-color:var(--cal-pending); }
.status-group-student_absent { --status-color:var(--cal-student-absent); }
.status-group-teacher_absent { --status-color:var(--cal-teacher-absent); }
.status-group-recording_available { --status-color:var(--cal-recording); }
.calendar-legend-dot.status-group-scheduled,.calendar-legend-dot.status-group-completed,.calendar-legend-dot.status-group-cancelled,.calendar-legend-dot.status-group-pending_approval,.calendar-legend-dot.status-group-student_absent,.calendar-legend-dot.status-group-teacher_absent,.calendar-legend-dot.status-group-recording_available { background:var(--status-color); }
.calendar-privacy-note { background:#f7f9fd; border-radius:13px; padding:14px; }
.calendar-privacy-note p { color:var(--muted); font-size:.8rem; margin:6px 0 0; }
.calendar-upcoming { display:grid; gap:8px; }
.calendar-upcoming-item { width:100%; display:grid; grid-template-columns:47px 1fr; gap:10px; text-align:left; border:1px solid var(--line); border-radius:12px; background:#fff; padding:10px; cursor:pointer; }
.calendar-upcoming-item:hover { border-color:#aebbd2; background:#f9fbff; }
.calendar-upcoming-date { display:grid; place-items:center; background:#edf1ff; color:var(--primary); border-radius:9px; font-size:.74rem; font-weight:900; }
.calendar-upcoming-copy { display:grid; min-width:0; }
.calendar-upcoming-copy strong,.calendar-upcoming-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.calendar-upcoming-copy strong { font-size:.83rem; }
.calendar-upcoming-copy small,.calendar-sidebar-empty { color:var(--muted); font-size:.74rem; }
.calendar-loading { position:absolute; inset:0; z-index:10; background:rgba(255,255,255,.88); backdrop-filter:blur(3px); display:flex; align-items:center; justify-content:center; gap:12px; font-weight:800; }
.calendar-loading[hidden],.calendar-error[hidden] { display:none; }
.loading-spinner { width:24px; height:24px; border:3px solid #dce3f1; border-top-color:var(--primary); border-radius:50%; animation:calendar-spin .75s linear infinite; }
@keyframes calendar-spin { to { transform:rotate(360deg); } }
.calendar-error { margin:16px; padding:13px 15px; border:1px solid #efb9bf; background:#fff3f4; color:#8d2936; border-radius:12px; }
.calendar-canvas { min-height:680px; }
.calendar-month-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); min-height:680px; }
.calendar-month-weekday { padding:12px 10px; border-bottom:1px solid var(--line); border-right:1px solid var(--line); color:var(--muted); text-align:center; font-size:.75rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; background:#f8fafd; }
.calendar-month-day { min-height:108px; padding:8px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; overflow:hidden; }
.calendar-month-day:nth-child(7n),.calendar-month-weekday:nth-child(7n) { border-right:0; }
.calendar-month-day.is-outside-month { background:#f8f9fc; }
.calendar-month-day.is-outside-month .calendar-day-number { color:#a8b2c3; }
.calendar-month-day.is-today { box-shadow:inset 0 0 0 2px rgba(49,87,213,.4); background:#fbfcff; }
.calendar-month-date { display:flex; justify-content:flex-end; margin-bottom:5px; }
.calendar-day-number { width:30px; height:30px; border:0; background:transparent; border-radius:50%; font:850 .8rem/1 inherit; color:var(--text); cursor:pointer; }
.is-today .calendar-day-number { background:var(--primary); color:#fff; }
.calendar-event-card { --status-color:var(--cal-scheduled); width:100%; position:relative; display:grid; gap:1px; text-align:left; margin:4px 0; padding:7px 8px 7px 11px; border:0; border-left:4px solid var(--status-color); border-radius:8px; background:color-mix(in srgb,var(--status-color) 9%,white); color:var(--text); cursor:pointer; overflow:hidden; }
.calendar-event-card:hover { box-shadow:0 5px 15px rgba(31,45,80,.12); transform:translateY(-1px); }
.calendar-event-time { color:var(--status-color); font-size:.68rem; font-weight:900; }
.calendar-event-title,.calendar-event-subject { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.calendar-event-title { font-size:.75rem; }
.calendar-event-subject { color:var(--muted); font-size:.67rem; }
.calendar-event-recording-dot { position:absolute; right:6px; top:5px; color:var(--cal-recording); font-size:.65rem; }
.calendar-more-button { width:100%; border:0; background:transparent; color:var(--primary); text-align:left; padding:4px 6px; font:800 .7rem/1 inherit; cursor:pointer; }
.calendar-week-grid { display:grid; grid-template-columns:repeat(7,minmax(130px,1fr)); min-height:680px; overflow:auto; }
.calendar-week-day { border-right:1px solid var(--line); min-width:130px; background:#fff; }
.calendar-week-day:last-child { border-right:0; }
.calendar-week-day.is-today { background:#fbfcff; box-shadow:inset 0 4px 0 var(--primary); }
.calendar-week-day-header { width:100%; min-height:72px; border:0; border-bottom:1px solid var(--line); background:#f8fafd; display:grid; place-items:center; gap:2px; cursor:pointer; }
.calendar-week-day-header span { color:var(--muted); font-size:.72rem; font-weight:800; text-transform:uppercase; }
.calendar-week-day-header strong { font-size:1.25rem; }
.calendar-week-events { padding:8px; }
.calendar-day-empty { color:var(--muted); text-align:center; font-size:.75rem; padding:20px 5px; }
.calendar-day-view-header { padding:24px; border-bottom:1px solid var(--line); }
.calendar-day-view-header h2 { font-size:1.7rem; margin:4px 0 0; }
.calendar-day-timeline { padding:22px; display:grid; gap:12px; }
.calendar-timeline-event { --status-color:var(--cal-scheduled); display:grid; grid-template-columns:100px 1fr auto; gap:18px; align-items:center; padding:18px; border:1px solid var(--line); border-left:5px solid var(--status-color); border-radius:15px; }
.calendar-timeline-time { display:grid; }
.calendar-timeline-time strong { font-size:1.05rem; }
.calendar-timeline-time span { color:var(--muted); font-size:.78rem; }
.calendar-timeline-content h3 { margin:3px 0; }
.calendar-timeline-content p { color:var(--muted); margin:0 0 8px; }
.calendar-status-badge { --status-color:var(--cal-scheduled); display:inline-flex; align-items:center; border:1px solid color-mix(in srgb,var(--status-color) 35%,white); color:var(--status-color); background:color-mix(in srgb,var(--status-color) 8%,white); border-radius:999px; padding:4px 9px; font-size:.7rem; line-height:1.2; font-weight:900; }
.calendar-recording-chip { display:inline-flex; margin-left:6px; border-radius:999px; padding:4px 9px; background:#e8f8fa; color:#087a8c; font-size:.7rem; font-weight:900; }
.calendar-agenda-view { padding:0 22px 22px; }
.calendar-agenda-day { padding:24px 0 10px; }
.calendar-agenda-day + .calendar-agenda-day { border-top:1px solid var(--line); }
.calendar-agenda-date { display:grid; grid-template-columns:1fr auto; gap:3px 20px; align-items:end; margin-bottom:12px; }
.calendar-agenda-date .eyebrow { grid-column:1; }
.calendar-agenda-date h2 { grid-column:1; margin:0; font-size:1.35rem; }
.calendar-agenda-count { grid-column:2; grid-row:1 / span 2; color:var(--muted); font-size:.78rem; }
.calendar-agenda-event { display:grid; grid-template-columns:140px 1fr auto; gap:18px; align-items:center; padding:14px 0; border-top:1px solid #edf0f5; }
.calendar-agenda-time { color:var(--muted); font-size:.82rem; font-weight:800; }
.calendar-agenda-main h3 { margin:0 0 2px; font-size:1rem; }
.calendar-agenda-main p { margin:0 0 6px; color:var(--muted); font-size:.8rem; }
.calendar-list-view { padding:12px 22px 24px; }
.calendar-list-event { display:grid; grid-template-columns:76px minmax(0,1fr) auto auto; gap:18px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line); }
.calendar-list-date { display:grid; place-items:center; border:1px solid var(--line); border-radius:12px; padding:7px; }
.calendar-list-date span,.calendar-list-date small { color:var(--muted); font-size:.68rem; font-weight:850; text-transform:uppercase; }
.calendar-list-date strong { font-size:1.4rem; line-height:1.1; }
.calendar-list-time { color:var(--primary); font-size:.76rem; font-weight:900; }
.calendar-list-main h3 { margin:2px 0; font-size:1rem; }
.calendar-list-main p { color:var(--muted); margin:0; font-size:.78rem; }
.calendar-list-meta { display:flex; gap:6px; align-items:center; }
.calendar-empty-state { min-height:250px; display:grid; place-content:center; text-align:center; padding:30px; }
.calendar-empty-state strong { font-size:1.15rem; }
.calendar-empty-state p { margin:5px 0 0; color:var(--muted); }
.calendar-accessible-list { margin-top:14px; padding:22px; }
.calendar-accessible-list .split-heading { align-items:start; }
.calendar-accessible-list h2 { font-size:1.35rem; margin:3px 0 0; }
.calendar-accessible-list .split-heading p { color:var(--muted); margin:4px 0 0; }
.calendar-accessible-list table { width:100%; border-collapse:collapse; font-size:.84rem; }
.calendar-accessible-list th,.calendar-accessible-list td { text-align:left; padding:12px 10px; border-bottom:1px solid var(--line); vertical-align:middle; }
.calendar-accessible-list th { color:var(--muted); font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; }
.calendar-drawer-backdrop,.calendar-modal-backdrop { position:fixed; inset:0; z-index:90; background:rgba(12,20,38,.48); backdrop-filter:blur(2px); }
.calendar-detail-drawer { position:fixed; z-index:100; right:0; top:0; bottom:0; width:min(520px,100%); background:#fff; box-shadow:-25px 0 70px rgba(14,23,43,.24); transform:translateX(102%); transition:transform .2s ease; overflow:auto; }
.calendar-detail-drawer.is-open { transform:translateX(0); }
.calendar-drawer-header,.calendar-settings-modal > header { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; gap:20px; align-items:start; background:rgba(255,255,255,.96); backdrop-filter:blur(15px); border-bottom:1px solid var(--line); padding:22px; }
.calendar-drawer-header h2,.calendar-settings-modal h2 { font-size:1.45rem; margin:4px 0 0; }
.calendar-drawer-body { padding:22px; }
.calendar-detail-hero { --status-color:var(--cal-scheduled); padding:18px; border:1px solid color-mix(in srgb,var(--status-color) 25%,white); border-left:5px solid var(--status-color); background:color-mix(in srgb,var(--status-color) 6%,white); border-radius:15px; }
.calendar-detail-hero p { margin:10px 0 0; font-weight:750; }
.calendar-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:16px 0; }
.calendar-detail-item { border:1px solid var(--line); border-radius:12px; padding:11px; }
.calendar-detail-item dt { color:var(--muted); font-size:.7rem; font-weight:800; text-transform:uppercase; }
.calendar-detail-item dd { margin:4px 0 0; font-weight:800; overflow-wrap:anywhere; }
.calendar-detail-section { border-top:1px solid var(--line); padding:16px 0; }
.calendar-detail-section h3 { font-size:.95rem; margin:0 0 5px; }
.calendar-detail-section p { color:var(--muted); margin:0; white-space:pre-wrap; }
.calendar-detail-actions { border-top:1px solid var(--line); padding-top:18px; }
.calendar-detail-security-note { margin:18px 0 0; padding:12px; background:#f7f9fd; color:var(--muted); border-radius:11px; font-size:.76rem; }
.calendar-detail-skeleton { height:420px; border-radius:15px; background:linear-gradient(90deg,#f1f3f7 25%,#fafbfc 37%,#f1f3f7 63%); background-size:400% 100%; animation:calendar-shimmer 1.2s infinite; }
@keyframes calendar-shimmer { 0%{background-position:100% 0}100%{background-position:0 0} }
.calendar-settings-modal { position:fixed; z-index:110; left:50%; top:50%; width:min(620px,calc(100% - 30px)); max-height:90vh; overflow:auto; background:#fff; border-radius:20px; box-shadow:0 30px 100px rgba(14,23,43,.3); transform:translate(-50%,-46%) scale(.98); opacity:0; transition:.16s ease; }
.calendar-settings-modal.is-open { transform:translate(-50%,-50%) scale(1); opacity:1; }
.calendar-settings-form { padding:22px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.calendar-settings-form .field { display:grid; gap:6px; }
.calendar-toggle { grid-column:span 2; display:flex; align-items:center; gap:10px; min-height:42px; border:1px solid var(--line); border-radius:11px; padding:9px 12px; font-weight:750; cursor:pointer; }
.calendar-toggle input { width:18px; height:18px; accent-color:var(--primary); }
.calendar-settings-actions { grid-column:span 2; justify-content:flex-end; border-top:1px solid var(--line); padding-top:16px; margin-top:3px; }
.calendar-overlay-open { overflow:hidden; }
.calendar-compact .calendar-month-day { min-height:88px; padding:5px; }
.calendar-compact .calendar-event-card { padding:5px 6px 5px 9px; }
.calendar-high-contrast { --line:#79849a; --muted:#38455c; }
.calendar-high-contrast .calendar-event-card,.calendar-high-contrast .calendar-status-badge { border-width:2px; }
.calendar-reduced-motion * { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
@media (prefers-reduced-motion: reduce) { .calendar-shell * { scroll-behavior:auto; animation-duration:.001ms !important; transition-duration:.001ms !important; } }
@media (max-width:1180px) {
    .calendar-command-bar { grid-template-columns:1fr; }
    .calendar-view-switcher { width:max-content; max-width:100%; overflow:auto; }
    .calendar-filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .calendar-main-grid { grid-template-columns:1fr; }
    .calendar-sidebar { position:static; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
    .calendar-sidebar-section + .calendar-sidebar-section { border-top:0; border-left:1px solid var(--line); margin:0; padding:0 0 0 18px; }
}
@media (max-width:820px) {
    .calendar-container { width:min(100% - 24px,1480px); }
    .calendar-page-header { display:block; }
    .calendar-header-actions { margin-top:18px; }
    .calendar-stat-strip { grid-template-columns:1fr 1fr; }
    .calendar-filter-grid { grid-template-columns:1fr 1fr; }
    .calendar-filter-grid .field-wide { grid-column:span 2; }
    .calendar-sidebar { grid-template-columns:1fr; }
    .calendar-sidebar-section + .calendar-sidebar-section { border-left:0; border-top:1px solid var(--line); padding:18px 0 0; }
    .calendar-month-grid { min-width:760px; }
    .calendar-view-month { overflow:auto; }
    .calendar-timeline-event { grid-template-columns:80px 1fr; }
    .calendar-timeline-event > .button { grid-column:2; justify-self:start; }
    .calendar-agenda-event { grid-template-columns:105px 1fr; }
    .calendar-agenda-event > .button { grid-column:2; justify-self:start; }
    .calendar-list-event { grid-template-columns:65px 1fr; }
    .calendar-list-meta,.calendar-list-event > .button { grid-column:2; justify-self:start; }
    .calendar-accessible-list .split-heading { display:block; }
}
@media (max-width:560px) {
    .calendar-shell { padding-top:28px; }
    .calendar-page-header h1 { font-size:2.45rem; }
    .calendar-header-actions .button,.calendar-export-menu .button { flex:1 1 100%; }
    .calendar-stat-strip { grid-template-columns:1fr; }
    .calendar-command-bar { padding:10px; }
    .calendar-nav-group { flex-wrap:wrap; }
    .calendar-range-title { width:100%; margin:5px 0 0; }
    .calendar-view-switcher { width:100%; display:grid; grid-template-columns:repeat(5,minmax(70px,1fr)); overflow:auto; }
    .calendar-view-button { padding:0 8px; }
    .calendar-export-menu { display:grid; grid-template-columns:1fr 1fr; }
    .calendar-filter-grid { grid-template-columns:1fr; }
    .calendar-filter-grid .field-wide { grid-column:span 1; }
    .calendar-filter-actions { display:grid; grid-template-columns:1fr 1fr; }
    .calendar-board,.calendar-canvas { min-height:560px; }
    .calendar-day-timeline,.calendar-agenda-view,.calendar-list-view { padding-left:12px; padding-right:12px; }
    .calendar-timeline-event { grid-template-columns:1fr; gap:10px; }
    .calendar-timeline-event > .button { grid-column:1; }
    .calendar-agenda-event { grid-template-columns:1fr; gap:7px; }
    .calendar-agenda-event > .button { grid-column:1; }
    .calendar-detail-grid { grid-template-columns:1fr; }
    .calendar-settings-form { grid-template-columns:1fr; }
    .calendar-toggle,.calendar-settings-actions { grid-column:span 1; }
    .calendar-accessible-list { padding:14px; }
}

/* Section 29: Notification centre */
.notification-container{max-width:1440px}.notification-page,.notification-admin-page{padding:38px 0 72px;background:linear-gradient(180deg,#f5f8ff 0,#fff 360px)}.notification-hero{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;padding:30px;border:1px solid #dbe6fb;border-radius:24px;background:radial-gradient(circle at 90% 10%,rgba(67,97,238,.18),transparent 40%),linear-gradient(135deg,#fff,#f4f7ff);box-shadow:0 16px 45px rgba(30,64,175,.09);margin-bottom:22px}.notification-hero h1{font-size:clamp(2rem,4vw,3.3rem);margin:.25rem 0}.notification-hero p{max-width:760px;color:#526078}.notification-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.notification-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.notification-stats article{padding:18px 20px;border:1px solid #e1e8f5;background:#fff;border-radius:18px;box-shadow:0 8px 28px rgba(15,23,42,.05)}.notification-stats span{display:block;color:#65728a;font-size:.86rem}.notification-stats strong{font-size:1.8rem;color:#172554}.notification-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}.notification-filter-card{position:sticky;top:18px;padding:22px}.notification-filter-actions{display:flex;gap:8px}.notification-channel-note{margin-top:22px;padding:16px;border-radius:14px;background:#eef4ff;color:#31466f}.notification-channel-note p{font-size:.86rem;margin:.35rem 0 0}.notification-feed{display:grid;gap:13px}.notification-item{display:grid;grid-template-columns:6px 1fr;overflow:hidden;padding:0}.notification-item-marker{background:#94a3b8}.notification-item.severity-success .notification-item-marker{background:#16a34a}.notification-item.severity-warning .notification-item-marker{background:#f59e0b}.notification-item.severity-critical .notification-item-marker{background:#dc2626}.notification-item.is-unread{border-color:#9bb7f5;box-shadow:0 10px 35px rgba(37,99,235,.11)}.notification-item-content{padding:20px 22px}.notification-item-content h2{font-size:1.1rem;margin:.55rem 0}.notification-item-content p{color:#4a5870;margin:.35rem 0 1rem}.notification-item-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#6a768a;font-size:.78rem}.notification-item-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.notification-item-actions form{margin:0}.notification-empty{text-align:center;padding:60px 20px}.notification-empty-icon{margin:auto;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#dcfce7;color:#15803d;font-size:1.5rem}.notification-preferences-modal{max-width:860px;max-height:90vh;overflow:auto}.notification-preferences-modal>header{display:flex;justify-content:space-between;align-items:flex-start}.notification-channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.notification-channel-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.toggle-card{display:flex!important;gap:11px;align-items:flex-start;padding:14px;border:1px solid #dce5f3;border-radius:14px;background:#f9fbff}.toggle-card small{display:block;color:#6b7280;margin-top:3px}.push-device-panel{margin-top:22px;border-top:1px solid #e2e8f0;padding-top:18px}.push-device-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #edf2f7}.push-device-row small{display:block;color:#6b7280}.notification-admin-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.notification-admin-tabs a{padding:9px 14px;border-radius:999px;background:#eaf0ff;color:#29477d;font-weight:700}.notification-admin-section{padding:24px;margin:18px 0;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.table-wrap table small{display:block;color:#718096}.table-actions{display:flex;gap:6px}.status-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2f7;font-size:.75rem;font-weight:700}.status-failed,.status-cancelled{background:#fee2e2;color:#991b1b}.status-sent,.status-dispatched,.status-active{background:#dcfce7;color:#166534}.status-queued,.status-processing{background:#dbeafe;color:#1e40af}.reminder-rule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.reminder-rule-card{border:1px solid #dfe7f3;border-radius:16px;padding:16px;background:#fafcff}.rule-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.reminder-rule-card fieldset,.notification-admin-section fieldset{display:flex;flex-wrap:wrap;gap:10px;border:0;padding:8px 0;margin:0}.reminder-rule-card fieldset label,.notification-admin-section fieldset label{display:flex;align-items:center;gap:5px}.template-accordion{display:grid;gap:10px}.template-card{border:1px solid #dfe7f3;border-radius:14px;background:#fff;padding:0 16px}.template-card summary{cursor:pointer;display:flex;justify-content:space-between;gap:15px;padding:16px 0}.template-card summary small{display:block;color:#64748b;margin-top:3px}.template-card form{padding:0 0 18px}.notification-admin-two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.text-danger{color:#b91c1c!important}@media(max-width:900px){.notification-layout,.notification-admin-two-column{grid-template-columns:1fr}.notification-filter-card{position:static}.notification-stats{grid-template-columns:repeat(2,1fr)}.notification-channel-grid{grid-template-columns:1fr}.notification-hero{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.notification-page,.notification-admin-page{padding-top:18px}.notification-hero{padding:20px;border-radius:18px}.notification-stats{grid-template-columns:1fr 1fr}.notification-item-content{padding:16px}.notification-admin-section{padding:17px}.table-wrap{overflow-x:auto}}

/* Section 30: Internal messaging */
.messaging-page,.admin-messaging-page{padding:38px 0 72px;background:linear-gradient(180deg,#f4f7ff 0,#fff 420px)}.messaging-container{max-width:1500px}.messaging-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:30px;border:1px solid #dbe6fb;border-radius:24px;background:radial-gradient(circle at 92% 8%,rgba(14,165,233,.17),transparent 38%),linear-gradient(135deg,#fff,#f3f8ff);box-shadow:0 18px 48px rgba(30,64,175,.09);margin-bottom:20px}.messaging-hero h1{font-size:clamp(2rem,4vw,3.3rem);margin:.25rem 0}.messaging-hero p{max-width:780px;color:#526078}.messaging-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.messaging-stats article{padding:18px 20px;background:#fff;border:1px solid #e1e8f5;border-radius:18px;box-shadow:0 8px 28px rgba(15,23,42,.05)}.messaging-stats span{display:block;color:#65728a;font-size:.86rem}.messaging-stats strong{font-size:1.8rem;color:#172554}.messaging-shell{display:grid;grid-template-columns:minmax(300px,370px) minmax(0,1fr);gap:18px;min-height:720px}.messaging-sidebar{padding:0;overflow:hidden;display:flex;flex-direction:column}.messaging-search-form{padding:16px;border-bottom:1px solid #e5ebf5}.messaging-search-form>input{width:100%;margin-bottom:10px}.messaging-filter-row{display:grid;grid-template-columns:1fr 1fr auto;gap:7px}.conversation-list{overflow:auto;max-height:670px}.conversation-card{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:15px;border-bottom:1px solid #edf2f7;color:inherit;text-decoration:none;transition:.16s ease}.conversation-card:hover,.conversation-card.is-active{background:#eef5ff}.conversation-card.is-active{box-shadow:inset 4px 0 #2563eb}.conversation-avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#dbeafe,#e0e7ff);color:#1e40af;font-weight:800}.conversation-card-body{min-width:0}.conversation-card-title{display:flex;justify-content:space-between;gap:8px}.conversation-card-title strong,.conversation-card-body>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-card-body>span{font-size:.86rem;color:#66758c;margin:3px 0}.conversation-card-body small{color:#7a8798}.unread-pill{min-width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:#2563eb;color:#fff;font-size:.72rem;font-weight:800}.messaging-empty-list,.messaging-thread-empty{padding:45px 22px;text-align:center;color:#64748b}.messaging-thread{padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:720px}.messaging-thread-header{display:flex;justify-content:space-between;gap:18px;padding:18px 22px;border-bottom:1px solid #e4eaf3;background:#fff}.messaging-thread-header h2{margin:.35rem 0 .1rem}.messaging-thread-header p{margin:0;color:#6b7280}.thread-header-actions{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap}.minor-copy-notice{display:flex;gap:10px;align-items:center;padding:12px 20px;background:#fff7ed;border-bottom:1px solid #fed7aa;color:#9a3412;font-size:.9rem}.message-timeline{flex:1;overflow:auto;padding:24px;background:linear-gradient(180deg,#f8fafc,#f3f6fb);display:flex;flex-direction:column;gap:14px}.message-bubble{max-width:min(75%,760px);padding:13px 15px;border-radius:18px;box-shadow:0 7px 24px rgba(15,23,42,.06)}.message-bubble.is-mine{align-self:flex-end;background:#dbeafe;border-bottom-right-radius:6px}.message-bubble.is-other{align-self:flex-start;background:#fff;border:1px solid #e4e9f1;border-bottom-left-radius:6px}.message-bubble.is-moderated{background:#f3f4f6;color:#6b7280}.message-bubble-meta,.message-bubble-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.74rem;color:#708096}.message-bubble p{margin:.55rem 0;white-space:normal;overflow-wrap:anywhere}.message-bubble-footer{margin-top:7px}.text-button{border:0;background:none;color:#b91c1c;padding:0;font-weight:700;cursor:pointer}.message-attachments{display:grid;gap:7px;margin:10px 0}.attachment-chip{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.35);font-size:.82rem}.message-composer{padding:16px 20px;border-top:1px solid #e4eaf3;background:#fff}.message-composer textarea{width:100%;resize:vertical}.message-composer-actions{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}.attachment-button{position:relative;display:inline-flex;align-items:center;padding:9px 13px;border:1px solid #cbd5e1;border-radius:10px;font-weight:700;cursor:pointer}.attachment-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.message-file-name{color:#64748b;font-size:.82rem;flex:1}.message-posting-disabled{padding:18px 20px;border-top:1px solid #e4eaf3;background:#f8fafc}.message-posting-disabled span{display:block;color:#64748b;margin-top:3px}.messaging-modal{max-width:720px;max-height:90vh;overflow:auto}.messaging-modal>header{display:flex;justify-content:space-between;align-items:flex-start}.messaging-empty-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:#e0e7ff;color:#3730a3;font-size:1.5rem;margin:0 auto 12px}.admin-message-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.admin-message-tabs a{padding:9px 14px;border-radius:999px;background:#eaf0ff;color:#29477d;font-weight:700}.admin-message-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin:18px 0}.admin-message-panel{padding:22px;scroll-margin-top:18px}.admin-message-panel>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.moderation-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:16px;padding:16px 0;border-top:1px solid #e5eaf2}.moderation-row p{margin:.35rem 0;color:#4b5563}.moderation-row span,.moderation-row small{display:block;color:#64748b}.moderation-row.severity-critical{border-left:4px solid #dc2626;padding-left:12px}.moderation-inline-form{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap}.moderation-inline-form input{min-width:160px;flex:1}.messaging-policy-list{display:grid;gap:0}.messaging-policy-list div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #edf2f7}.messaging-policy-list dt{font-weight:700}.messaging-policy-list dd{margin:0;color:#475569;text-align:right}.checkbox-grid,.toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.professional-empty{text-align:center;padding:35px;color:#64748b}@media(max-width:1050px){.messaging-shell,.admin-message-grid{grid-template-columns:1fr}.messaging-sidebar{max-height:430px}.conversation-list{max-height:340px}.messaging-thread{min-height:650px}.moderation-row{grid-template-columns:1fr}.messaging-hero{align-items:flex-start;flex-direction:column}}@media(max-width:680px){.messaging-page,.admin-messaging-page{padding-top:18px}.messaging-hero{padding:20px;border-radius:18px}.messaging-stats{grid-template-columns:1fr 1fr}.messaging-filter-row{grid-template-columns:1fr 1fr}.messaging-filter-row .button{grid-column:1/-1}.messaging-thread-header{flex-direction:column}.message-timeline{padding:14px}.message-bubble{max-width:92%}.message-composer-actions .button{width:100%}.admin-message-panel{padding:16px}.moderation-inline-form{display:grid;grid-template-columns:1fr;width:100%}.table-responsive{overflow:auto}}

.active-block-list{margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid var(--border-color,#dbe3ee)}
.active-block-list h3{margin:0 0 .85rem;font-size:1rem}
.active-block-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.9rem 0;border-top:1px solid var(--border-color,#e6ebf2)}
.active-block-row:first-of-type{border-top:0}
.active-block-row div{display:grid;gap:.2rem}
.active-block-row span,.active-block-row p{margin:0;color:var(--text-muted,#5c6778);font-size:.875rem}
@media(max-width:720px){.active-block-row{align-items:stretch;flex-direction:column}.active-block-row form,.active-block-row button{width:100%}}

/* Section 31: Professional support ticket system */
.support-page{padding:38px 0 76px;background:linear-gradient(180deg,#f4f8ff 0,#fff 460px)}
.support-container{max-width:1540px}.support-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:30px;border:1px solid #d8e5fb;border-radius:26px;background:radial-gradient(circle at 91% 7%,rgba(37,99,235,.17),transparent 38%),linear-gradient(135deg,#fff,#f1f7ff);box-shadow:0 20px 55px rgba(30,64,175,.09);margin-bottom:20px}.support-hero h1{font-size:clamp(2rem,4vw,3.35rem);margin:.25rem 0}.support-hero p{max-width:840px;color:#53627a;margin:0}.support-hero-actions{display:flex;gap:9px;flex-wrap:wrap}.support-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.admin-support-summary{grid-template-columns:repeat(6,minmax(0,1fr))}.support-summary-grid article{padding:18px 20px;background:#fff;border:1px solid #e0e8f5;border-radius:18px;box-shadow:0 8px 30px rgba(15,23,42,.05)}.support-summary-grid span,.support-summary-grid small{display:block;color:#64748b}.support-summary-grid strong{display:block;font-size:1.85rem;color:#172554;margin:.18rem 0}.support-summary-grid small{font-size:.74rem}.support-summary-grid .summary-warning{background:#fffbeb;border-color:#fde68a}.support-summary-grid .summary-danger{background:#fff1f2;border-color:#fecdd3}.support-shell{display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr);gap:18px;align-items:start}.support-ticket-sidebar{padding:0;overflow:hidden;position:sticky;top:18px}.support-filter-form{padding:17px;border-bottom:1px solid #e7edf6}.support-filter-form>input{width:100%;margin-bottom:10px}.support-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.support-filter-grid label{display:grid;gap:4px}.support-filter-grid label>span{font-size:.72rem;color:#64748b;font-weight:750}.support-filter-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.support-ticket-list{max-height:760px;overflow:auto}.support-ticket-card{display:block;padding:16px;border-bottom:1px solid #edf2f7;color:inherit;text-decoration:none;transition:.16s ease;position:relative}.support-ticket-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#94a3b8;opacity:.45}.support-ticket-card.priority-high:before{background:#f59e0b}.support-ticket-card.priority-urgent:before{background:#dc2626}.support-ticket-card:hover,.support-ticket-card.is-active{background:#eef5ff}.support-ticket-card.is-active{box-shadow:inset 4px 0 #2563eb}.support-ticket-card-top,.support-ticket-card-footer,.support-ticket-card-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}.ticket-number{font-size:.72rem;font-weight:850;color:#1d4ed8;letter-spacing:.04em}.support-ticket-card>strong{display:block;margin:8px 0;font-size:.95rem}.support-ticket-card-meta,.support-ticket-card-footer{color:#64748b;font-size:.75rem}.support-ticket-card-footer{margin-top:10px}.support-status,.support-sla,.support-priority{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:850;line-height:1.1;white-space:nowrap}.status-open{background:#dbeafe;color:#1e40af}.status-assigned{background:#ede9fe;color:#5b21b6}.status-in_progress{background:#cffafe;color:#155e75}.status-waiting_user{background:#fef3c7;color:#92400e}.status-resolved,.status-closed{background:#dcfce7;color:#166534}.sla-on_track,.sla-met{background:#dcfce7;color:#166534}.sla-warning{background:#fef3c7;color:#92400e}.sla-first_response_breached,.sla-resolution_breached{background:#fee2e2;color:#991b1b}.sla-paused{background:#e2e8f0;color:#334155}.priority-low{background:#f1f5f9;color:#475569}.priority-normal{background:#dbeafe;color:#1e40af}.priority-high{background:#fef3c7;color:#92400e}.priority-urgent{background:#fee2e2;color:#991b1b}.support-ticket-workspace{padding:0;overflow:hidden;min-height:680px}.support-workspace-empty{min-height:560px;display:grid;place-content:center;text-align:center;padding:40px}.support-workspace-empty p{max-width:520px;color:#64748b}.support-empty-icon{width:64px;height:64px;border-radius:19px;display:grid;place-items:center;background:#e0e7ff;color:#3730a3;font-weight:900;font-size:1.55rem;margin:0 auto 12px}.support-ticket-header{display:flex;justify-content:space-between;gap:22px;padding:22px;border-bottom:1px solid #e5ebf4;background:#fff}.support-ticket-header h2{margin:.45rem 0 .2rem;font-size:1.55rem}.support-ticket-header p{margin:0;color:#64748b}.support-ticket-header-badges{display:flex;gap:7px;flex-wrap:wrap}.support-ticket-dates{display:grid;align-content:start;gap:4px;color:#64748b;font-size:.76rem;text-align:right}.support-sla-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#dfe7f2;border-bottom:1px solid #dfe7f2}.support-sla-panel>div{padding:14px 18px;background:#f8fafc}.support-sla-panel span{display:block;color:#64748b;font-size:.7rem;text-transform:uppercase;font-weight:800;letter-spacing:.04em}.support-sla-panel strong{display:block;margin-top:4px;font-size:.84rem}.support-message-timeline{padding:24px;background:linear-gradient(180deg,#f8fafc,#f2f6fb);display:flex;flex-direction:column;gap:14px;max-height:650px;overflow:auto}.support-message{max-width:min(82%,820px);padding:15px 17px;border-radius:18px;box-shadow:0 7px 25px rgba(15,23,42,.06)}.support-message.is-requester{align-self:flex-end;background:#dbeafe;border-bottom-right-radius:6px}.support-message.is-support{align-self:flex-start;background:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:6px}.support-message>header{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;color:#64748b;font-size:.74rem}.support-message>header div{display:grid}.support-message>header strong{color:#1e293b}.support-message p{white-space:normal;overflow-wrap:anywhere;margin:.65rem 0 0}.support-attachments{display:grid;gap:7px;margin-top:12px}.support-attachment{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px;border:1px solid rgba(148,163,184,.35);border-radius:11px;background:rgba(255,255,255,.7)}.support-attachment>div{display:flex;gap:8px;align-items:center;min-width:0}.support-attachment strong,.support-attachment small{display:block;overflow-wrap:anywhere}.support-attachment small{color:#64748b;font-size:.7rem}.support-reply-composer{padding:18px 22px;border-top:1px solid #e4eaf3;background:#fff}.support-reply-composer label{display:grid;gap:7px;font-weight:750}.support-reply-composer textarea{width:100%;resize:vertical}.support-composer-actions{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.support-composer-actions>span{color:#64748b;font-size:.8rem;flex:1}.support-posting-disabled{padding:18px 22px;background:#f8fafc;border-top:1px solid #e5ebf4}.support-posting-disabled span{display:block;color:#64748b;margin-top:3px}.support-ticket-actions{padding:18px 22px;display:flex;gap:12px;align-items:end;flex-wrap:wrap;border-top:1px solid #e5ebf4}.support-reopen-form{display:flex;align-items:end;gap:9px;flex:1;min-width:330px}.support-reopen-form label{display:grid;gap:4px;flex:1}.support-survey{display:grid;grid-template-columns:1fr 1.25fr;gap:24px;padding:22px;border-top:1px solid #e5ebf4;background:#f8fbff}.support-survey h3{margin:.3rem 0}.support-survey p{color:#64748b}.support-survey form{display:grid;grid-template-columns:170px 1fr auto;gap:10px;align-items:end}.support-survey label{display:grid;gap:5px}.support-history{margin:0 22px 22px;border:1px solid #e1e8f2;border-radius:13px;padding:13px}.support-history summary{cursor:pointer;font-weight:800}.support-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:15px}.support-history-grid section{display:grid;gap:8px;align-content:start}.support-history-grid h3{margin:0 0 4px;font-size:.9rem}.support-history-grid article{display:grid;gap:2px;padding:10px;border:1px solid #edf1f6;border-radius:10px;background:#fafcff}.support-history-grid article span,.support-history-grid article small{color:#64748b;font-size:.75rem}.support-new-modal{max-width:860px;max-height:92vh;overflow:auto}.support-new-modal>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.support-related-records{border:1px solid #e1e8f2;border-radius:13px;padding:12px}.support-related-records summary{cursor:pointer;font-weight:800}.support-related-records p{color:#64748b;font-size:.82rem}.support-file-field{border:1px dashed #aebdd3;border-radius:13px;padding:14px}.support-file-field small,.support-file-field span{display:block;color:#64748b;margin-top:5px}.support-modal-actions{display:flex;justify-content:flex-end;gap:9px}.support-overlay-open{overflow:hidden}.admin-support-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.admin-support-tabs a{padding:9px 14px;border-radius:999px;background:#eaf0ff;color:#29477d;font-weight:750}.admin-support-queue,.admin-support-config{padding:22px;margin:18px 0;scroll-margin-top:18px}.panel-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.panel-header h2{margin:.25rem 0}.panel-header p{margin:0;color:#64748b}.admin-support-filter-form{display:grid;grid-template-columns:2fr repeat(4,1fr) auto auto;gap:8px;align-items:center;margin-bottom:16px}.admin-support-table table{width:100%;border-collapse:collapse;font-size:.79rem}.admin-support-table th,.admin-support-table td{padding:12px 10px;border-bottom:1px solid #e8edf5;text-align:left;vertical-align:middle}.admin-support-table th{font-size:.67rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.admin-support-table td a{display:grid;gap:3px;color:inherit}.admin-support-table td small{display:block;color:#64748b}.admin-support-table tr.is-selected{background:#eef5ff}.admin-support-workspace{scroll-margin-top:18px}.admin-support-ticket-panel{padding:0;overflow:hidden}.support-identity-list{display:grid;gap:5px;min-width:260px}.support-identity-list div{display:grid;grid-template-columns:110px 1fr;gap:8px}.support-identity-list dt{color:#64748b;font-size:.7rem}.support-identity-list dd{margin:0;font-size:.75rem;overflow-wrap:anywhere}.admin-support-workspace-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,.8fr)}.admin-support-thread{border-right:1px solid #e5ebf4}.admin-support-thread>h3{padding:18px 22px;margin:0;border-bottom:1px solid #e5ebf4}.admin-support-actions{padding:18px;display:grid;gap:14px;align-content:start;background:#f8fafc}.support-action-card{background:#fff;border:1px solid #e1e8f2;border-radius:15px;padding:16px}.support-action-card h3{margin:0 0 10px}.support-action-card p{color:#64748b;font-size:.8rem}.admin-support-evidence-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;margin-top:18px}.admin-support-evidence{padding:20px}.admin-support-evidence>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.support-note{border-left:4px solid #64748b;padding:12px 14px;margin-top:9px;background:#f8fafc;border-radius:0 11px 11px 0}.support-note.note-risk,.support-note.note-safeguarding{border-color:#dc2626;background:#fff1f2}.support-note.note-finance{border-color:#7c3aed}.support-note.note-academic{border-color:#0284c7}.support-note header{display:flex;gap:9px;flex-wrap:wrap;font-size:.74rem;color:#64748b}.support-note p{margin:.5rem 0 0;overflow-wrap:anywhere}.admin-support-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.support-config-card{display:grid;gap:11px;border:1px solid #e1e8f2;border-radius:16px;padding:16px;background:#fafcff}.support-config-card>header{display:flex;justify-content:space-between;gap:12px;align-items:center}.support-config-card label{display:grid;gap:5px;font-size:.8rem;font-weight:750}.support-config-card .inline-check{display:flex;align-items:center;gap:7px}.badge-success{background:#dcfce7;color:#166534}@media(max-width:1240px){.admin-support-summary{grid-template-columns:repeat(3,1fr)}.admin-support-filter-form{grid-template-columns:repeat(3,1fr)}.admin-support-filter-form input[type=search]{grid-column:span 2}.admin-support-workspace-grid{grid-template-columns:1fr}.admin-support-thread{border-right:0;border-bottom:1px solid #e5ebf4}.admin-support-evidence-grid{grid-template-columns:1fr}}
@media(max-width:960px){.support-shell{grid-template-columns:1fr}.support-ticket-sidebar{position:static}.support-ticket-list{max-height:430px}.support-summary-grid{grid-template-columns:repeat(2,1fr)}.support-sla-panel{grid-template-columns:repeat(2,1fr)}.support-hero,.support-ticket-header{align-items:flex-start;flex-direction:column}.support-ticket-dates{text-align:left}.support-survey{grid-template-columns:1fr}.support-survey form{grid-template-columns:1fr 1fr}.support-survey form .button{grid-column:1/-1}.support-message{max-width:92%}}
@media(max-width:680px){.support-page{padding-top:18px}.support-hero{padding:20px;border-radius:18px}.support-summary-grid,.admin-support-summary{grid-template-columns:1fr 1fr}.support-filter-grid,.support-sla-panel,.support-history-grid,.form-grid{grid-template-columns:1fr}.support-message-timeline{padding:14px}.support-reopen-form,.support-composer-actions,.support-survey form{display:grid;grid-template-columns:1fr;min-width:0;width:100%}.support-composer-actions .button,.support-ticket-actions form,.support-ticket-actions button{width:100%}.admin-support-filter-form{grid-template-columns:1fr}.admin-support-filter-form input[type=search]{grid-column:auto}.admin-support-queue,.admin-support-config{padding:16px}.support-ticket-header,.support-reply-composer{padding:16px}.support-identity-list{min-width:0}.admin-support-config-grid{grid-template-columns:1fr}.support-modal-actions{flex-direction:column-reverse}.support-modal-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.support-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Section 32 — Reports control centre */
.report-page{padding:2rem 0 4rem;background:linear-gradient(180deg,#f4f8fb 0,#fff 28rem)}.report-container{max-width:1480px}.report-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem;border-radius:24px;background:linear-gradient(135deg,#112f46,#1c536f);color:#fff;box-shadow:0 24px 50px rgba(17,47,70,.18)}.report-hero h1{margin:.25rem 0;font-size:clamp(2rem,4vw,3.2rem)}.report-hero p{max-width:780px;color:#d7e8f2}.report-hero-security{display:flex;gap:.8rem;align-items:center;padding:1rem 1.2rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:16px;min-width:270px}.report-hero-security span{font-size:1.7rem}.report-hero-security small{display:block;color:#cfe0e9;margin-top:.2rem}.report-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.2rem 0}.report-overview-grid article{background:#fff;border:1px solid #dae4ea;border-radius:18px;padding:1.2rem;box-shadow:0 8px 24px rgba(21,57,78,.06)}.report-overview-grid span,.report-overview-grid small{display:block;color:#627480}.report-overview-grid strong{display:block;font-size:1.75rem;color:#173b57;margin:.3rem 0}.report-layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:1.2rem;align-items:start}.report-catalog{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto;padding:1rem}.report-catalog-head{display:grid;gap:.8rem;position:sticky;top:-1rem;background:#fff;padding:1rem 0;z-index:2}.report-catalog-head h2{margin:.1rem 0}.report-catalog-head input{width:100%}.report-category h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#71828d;margin:1.1rem .4rem .55rem}.report-card-list{display:grid;gap:.55rem}.report-selector{display:grid;grid-template-columns:36px 1fr auto;gap:.7rem;align-items:start;padding:.85rem;border:1px solid #e1e8ed;border-radius:14px;text-decoration:none;color:#223b4a;transition:.18s ease}.report-selector:hover,.report-selector.is-active{border-color:#2d789a;background:#edf7fb;transform:translateY(-1px)}.report-selector-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#173b57;color:#fff;font-weight:800}.report-selector strong,.report-selector small{display:block}.report-selector small{font-size:.77rem;color:#6b7d88;margin-top:.2rem;line-height:1.35}.report-selector em{font-size:.65rem;font-style:normal;background:#f7e8eb;color:#8f3040;padding:.2rem .38rem;border-radius:999px}.report-main{display:grid;gap:1.2rem;min-width:0}.report-workbench,.report-preview,.report-export-panel,.report-history,.report-saved,.report-settings{padding:1.25rem}.report-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.report-filter-grid label{display:grid;gap:.35rem;font-size:.78rem;font-weight:700;color:#425968}.report-filter-grid input,.report-filter-grid select{width:100%}.report-filter-actions{display:flex;gap:.7rem;margin-top:1rem}.report-table{max-height:620px;border:1px solid #dde6eb;border-radius:14px}.report-table table{min-width:900px}.report-table thead th{position:sticky;top:0;background:#173b57;color:#fff;z-index:1}.report-table tbody tr:nth-child(even){background:#f7fafc}.report-preview-note{margin:1rem 0 0;color:#60737f}.report-format-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.report-format-card{display:grid;gap:.55rem;padding:1rem;border:1px solid #dbe5ea;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbfc)}.report-format-card small{color:#647682;min-height:2.4em}.report-format-mark{width:max-content;padding:.25rem .5rem;border-radius:7px;background:#173b57;color:#fff;font-size:.7rem;font-weight:800}.report-save-view{display:flex;align-items:end;gap:.7rem;border-top:1px solid #e1e8ed;margin-top:1rem;padding-top:1rem}.report-save-view label{display:grid;gap:.3rem;flex:1}.report-job-list{display:grid;gap:.8rem}.report-job{border:1px solid #dce5ea;border-radius:15px;padding:1rem}.report-job-main,.report-job-meta,.report-job-actions{display:flex;justify-content:space-between;gap:.8rem;align-items:center}.report-job-main small{display:block;color:#6b7c86;margin-top:.25rem}.report-job-status{padding:.28rem .58rem;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:capitalize}.report-job-status.status-completed{background:#dff4e8;color:#17623a}.report-job-status.status-failed{background:#fde7e8;color:#982b38}.report-job-status.status-processing{background:#e0f0fa;color:#1d607f}.report-job-status.status-queued{background:#fff1d5;color:#805410}.report-progress{height:7px;background:#e5edf1;border-radius:999px;overflow:hidden;margin:.8rem 0}.report-progress span{display:block;height:100%;background:linear-gradient(90deg,#2f7d9e,#38a67e);transition:width .3s ease}.report-job-meta{justify-content:flex-start;flex-wrap:wrap;color:#657681;font-size:.78rem}.report-job-actions{justify-content:flex-end;margin-top:.7rem}.report-saved-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.report-saved-grid a{padding:1rem;border:1px solid #dce5ea;border-radius:13px;text-decoration:none;color:#213b4b}.report-saved-grid small{display:block;color:#71818b;margin-top:.25rem}.report-check{display:flex!important;align-items:center;gap:.7rem;border:1px solid #dbe5ea;border-radius:12px;padding:.75rem}.report-check input{width:auto}.report-check span{display:grid}.report-check small{font-weight:400;color:#6d7d87}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:1100px){.report-layout{grid-template-columns:1fr}.report-catalog{position:static;max-height:none}.report-card-list{grid-template-columns:repeat(2,1fr)}.report-filter-grid{grid-template-columns:repeat(2,1fr)}.report-format-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.report-page{padding-top:1rem}.report-hero{align-items:flex-start;flex-direction:column;padding:1.3rem}.report-hero-security{min-width:0;width:100%}.report-overview-grid{grid-template-columns:repeat(2,1fr)}.report-card-list,.report-filter-grid,.report-format-grid,.report-saved-grid{grid-template-columns:1fr}.report-save-view,.report-job-main,.report-job-actions{align-items:stretch;flex-direction:column}.report-job-actions form,.report-job-actions button,.report-job-actions a{width:100%}.report-catalog{padding:.8rem}}

/* Section 33 — immutable audit logs */
.audit-page{padding:2rem 0 4rem;background:linear-gradient(180deg,#f8fafc 0,#eef2ff 34rem,#f8fafc 100%);min-height:80vh}.audit-container{max-width:1480px}.audit-hero{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start;padding:2.25rem;border-radius:24px;background:#111827;color:#fff;box-shadow:0 24px 60px rgba(15,23,42,.18);margin-bottom:1.5rem}.audit-hero h1{font-size:clamp(2rem,4vw,3.3rem);margin:.25rem 0}.audit-hero p{max-width:760px;color:#cbd5e1;font-size:1.05rem}.audit-trust{display:grid;gap:.35rem;min-width:280px;padding:1rem 1.2rem;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.06)}.audit-trust span{color:#cbd5e1;font-size:.86rem}.audit-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.audit-stats article{padding:1.2rem;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}.audit-stats span,.audit-stats small{display:block;color:#64748b}.audit-stats strong{display:block;font-size:1.8rem;margin:.35rem 0;color:#0f172a}.audit-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:1.25rem;align-items:start}.audit-main,.audit-side{display:grid;gap:1.25rem}.audit-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.audit-filter-grid label,.audit-side label{display:grid;gap:.4rem;font-weight:700;color:#334155}.audit-filter-actions{display:flex;gap:.75rem;margin-top:1rem}.audit-events table small,.audit-events td small{display:block;color:#64748b;margin-top:.2rem}.audit-pill{display:inline-flex;align-items:center;padding:.25rem .58rem;border-radius:999px;font-size:.75rem;font-weight:800;text-transform:capitalize}.outcome-success{background:#dcfce7;color:#166534}.outcome-failure,.outcome-denied{background:#fee2e2;color:#991b1b}.outcome-partial{background:#fef3c7;color:#92400e}.severity-critical{background:#450a0a;color:#fecaca}.severity-high{background:#fee2e2;color:#991b1b}.severity-medium{background:#fef3c7;color:#92400e}.severity-low{background:#dbeafe;color:#1e40af}.severity-info{background:#e2e8f0;color:#334155}.audit-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.audit-alert-list{display:grid;gap:1rem}.audit-alert-list article{padding:1rem;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc}.audit-alert-list strong{display:block;margin:.55rem 0}.audit-alert-list p{color:#475569}.audit-alert-list form{display:grid;gap:.65rem;margin-top:.8rem}.audit-check{display:flex!important;align-items:center;grid-template-columns:auto 1fr!important}.audit-drawer[hidden]{display:none}.audit-drawer{position:fixed;inset:0;z-index:1000;display:grid;grid-template-columns:1fr minmax(360px,720px)}.audit-drawer-backdrop{border:0;background:rgba(15,23,42,.62);cursor:pointer}.audit-drawer>aside{background:#fff;height:100%;overflow:auto;box-shadow:-24px 0 70px rgba(15,23,42,.3)}.audit-drawer>aside>header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:1.3rem 1.5rem;background:#fff;border-bottom:1px solid #e2e8f0;z-index:2}.audit-detail-body{padding:1.5rem}.audit-detail-body dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.audit-detail-body dl div{padding:.8rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.audit-detail-body dt{font-size:.76rem;color:#64748b;text-transform:uppercase;font-weight:800}.audit-detail-body dd{margin:.3rem 0 0;overflow-wrap:anywhere}.audit-detail-body section{margin-top:1.3rem}.audit-detail-body pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#0f172a;color:#e2e8f0;padding:1rem;border-radius:14px;max-height:340px;overflow:auto}.audit-hash{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.audit-drawer-open{overflow:hidden}@media(max-width:1100px){.audit-stats{grid-template-columns:repeat(3,1fr)}.audit-layout{grid-template-columns:1fr}.audit-side{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filter-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.audit-page{padding-top:1rem}.audit-hero{padding:1.4rem;display:grid}.audit-trust{min-width:0}.audit-stats{grid-template-columns:repeat(2,1fr)}.audit-filter-grid,.audit-side,.audit-detail-body dl{grid-template-columns:1fr}.audit-drawer{grid-template-columns:1fr}.audit-drawer-backdrop{display:none}.audit-filter-actions{flex-wrap:wrap}}

/* Section 33 — immutable audit logs */
.audit-page{padding:2rem 0 4rem;background:linear-gradient(180deg,#f8fafc 0,#eef2ff 34rem,#f8fafc 100%);min-height:80vh}.audit-container{max-width:1480px}.audit-hero{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start;padding:2.25rem;border-radius:24px;background:#111827;color:#fff;box-shadow:0 24px 60px rgba(15,23,42,.18);margin-bottom:1.5rem}.audit-hero h1{font-size:clamp(2rem,4vw,3.3rem);margin:.25rem 0}.audit-hero p{max-width:760px;color:#cbd5e1;font-size:1.05rem}.audit-trust{display:grid;gap:.35rem;min-width:280px;padding:1rem 1.2rem;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.06)}.audit-trust span{color:#cbd5e1;font-size:.86rem}.audit-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.audit-stats article{padding:1.2rem;border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}.audit-stats span,.audit-stats small{display:block;color:#64748b}.audit-stats strong{display:block;font-size:1.8rem;margin:.35rem 0;color:#0f172a}.audit-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:1.25rem;align-items:start}.audit-main,.audit-side{display:grid;gap:1.25rem}.audit-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.audit-filter-grid label,.audit-side label{display:grid;gap:.4rem;font-weight:700;color:#334155}.audit-filter-actions{display:flex;gap:.75rem;margin-top:1rem}.audit-events table small,.audit-events td small{display:block;color:#64748b;margin-top:.2rem}.audit-pill{display:inline-flex;align-items:center;padding:.25rem .58rem;border-radius:999px;font-size:.75rem;font-weight:800;text-transform:capitalize}.outcome-success{background:#dcfce7;color:#166534}.outcome-failure,.outcome-denied{background:#fee2e2;color:#991b1b}.outcome-partial{background:#fef3c7;color:#92400e}.severity-critical{background:#450a0a;color:#fecaca}.severity-high{background:#fee2e2;color:#991b1b}.severity-medium{background:#fef3c7;color:#92400e}.severity-low{background:#dbeafe;color:#1e40af}.severity-info{background:#e2e8f0;color:#334155}.audit-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.audit-alert-list{display:grid;gap:1rem}.audit-alert-list article{padding:1rem;border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc}.audit-alert-list strong{display:block;margin:.55rem 0}.audit-alert-list p{color:#475569}.audit-alert-list form{display:grid;gap:.65rem;margin-top:.8rem}.audit-check{display:flex!important;align-items:center;grid-template-columns:auto 1fr!important}.audit-drawer[hidden]{display:none}.audit-drawer{position:fixed;inset:0;z-index:1000;display:grid;grid-template-columns:1fr minmax(360px,720px)}.audit-drawer-backdrop{border:0;background:rgba(15,23,42,.62);cursor:pointer}.audit-drawer>aside{background:#fff;height:100%;overflow:auto;box-shadow:-24px 0 70px rgba(15,23,42,.3)}.audit-drawer>aside>header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:1.3rem 1.5rem;background:#fff;border-bottom:1px solid #e2e8f0;z-index:2}.audit-detail-body{padding:1.5rem}.audit-detail-body dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.audit-detail-body dl div{padding:.8rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.audit-detail-body dt{font-size:.76rem;color:#64748b;text-transform:uppercase;font-weight:800}.audit-detail-body dd{margin:.3rem 0 0;overflow-wrap:anywhere}.audit-detail-body section{margin-top:1.3rem}.audit-detail-body pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#0f172a;color:#e2e8f0;padding:1rem;border-radius:14px;max-height:340px;overflow:auto}.audit-hash{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.audit-drawer-open{overflow:hidden}@media(max-width:1100px){.audit-stats{grid-template-columns:repeat(3,1fr)}.audit-layout{grid-template-columns:1fr}.audit-side{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filter-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.audit-page{padding-top:1rem}.audit-hero{padding:1.4rem;display:grid}.audit-trust{min-width:0}.audit-stats{grid-template-columns:repeat(2,1fr)}.audit-filter-grid,.audit-side,.audit-detail-body dl{grid-template-columns:1fr}.audit-drawer{grid-template-columns:1fr}.audit-drawer-backdrop{display:none}.audit-filter-actions{flex-wrap:wrap}}

/* Section 34: governed administrator settings */
.settings-control{padding-block:2.25rem 4rem}.settings-hero{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start;margin-bottom:1.5rem;padding:2rem;border:1px solid var(--border,#dfe5ee);border-radius:1.25rem;background:linear-gradient(135deg,#fff 0%,#f7f9fc 100%);box-shadow:0 14px 40px rgba(15,23,42,.06)}.settings-hero h1{font-size:clamp(1.75rem,3vw,2.65rem);margin:.2rem 0 .6rem}.settings-hero .lead{max-width:72ch;color:#526076;margin:0}.settings-hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}.eyebrow{margin:0;color:#3b5ccc;font-size:.76rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.settings-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem}.settings-stat{border:1px solid #e0e6ef;background:#fff;border-radius:1rem;padding:1rem 1.1rem;box-shadow:0 8px 22px rgba(15,23,42,.04)}.settings-stat span,.settings-stat small{display:block;color:#68758a}.settings-stat strong{display:block;font-size:1.55rem;margin:.3rem 0}.settings-tabs{display:flex;gap:.35rem;overflow-x:auto;padding:.45rem;background:#eef2f8;border-radius:1rem;position:sticky;top:.5rem;z-index:10;margin-bottom:1.25rem;scrollbar-width:thin}.settings-tabs a{white-space:nowrap;text-decoration:none;color:#3f4d63;padding:.7rem .9rem;border-radius:.7rem;font-weight:700}.settings-tabs a:hover,.settings-tabs a:focus-visible{background:#fff}.settings-tabs a.is-active{background:#17233c;color:#fff;box-shadow:0 5px 15px rgba(15,23,42,.16)}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:1.25rem;align-items:start}.settings-panel{border:1px solid #dfe5ee;background:#fff;border-radius:1.2rem;padding:1.4rem;box-shadow:0 12px 32px rgba(15,23,42,.05);scroll-margin-top:5rem}.settings-panel[hidden]{display:none}.settings-panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding-bottom:1rem;border-bottom:1px solid #e7ebf2;margin-bottom:1.2rem}.settings-panel-heading h2{margin:.2rem 0 0;font-size:1.35rem}.settings-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.settings-form label,.settings-card label{display:flex;flex-direction:column;gap:.4rem;font-weight:700;color:#24324a}.settings-form label small,.settings-card label small{font-weight:400;color:#66758d}.settings-form input,.settings-form select,.settings-form textarea,.settings-card input,.settings-card select,.stack-actions input,.stack-actions select,.inline-actions input,.inline-actions select{width:100%;border:1px solid #cdd6e4;border-radius:.7rem;padding:.72rem .8rem;background:#fff;color:#17233c;font:inherit}.settings-form input:focus,.settings-form select:focus,.settings-form textarea:focus,.settings-card input:focus,.settings-card select:focus{outline:3px solid rgba(59,92,204,.18);border-color:#3b5ccc}.settings-form .span-2{grid-column:1/-1}.settings-form fieldset{border:1px solid #dfe5ee;border-radius:.8rem;padding:1rem}.settings-form legend{font-weight:800;padding-inline:.35rem}.check-row{display:flex!important;flex-direction:row!important;align-items:center;gap:.55rem!important;font-weight:600!important}.check-row input{width:auto!important;min-width:1.1rem;min-height:1.1rem}.checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.form-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1.1rem;padding-top:1rem;border-top:1px solid #e7ebf2}.unsaved-indicator{color:#9b5b00;font-weight:700}.settings-sidebar{display:grid;gap:1rem}.settings-card{border:1px solid #dfe5ee;background:#fff;border-radius:1rem;padding:1.1rem;box-shadow:0 8px 24px rgba(15,23,42,.04)}.settings-card h2,.settings-card h3{margin-top:0}.sticky-card{position:sticky;top:4.7rem}.settings-note{padding:.8rem;border-radius:.7rem;background:#fff7e8;color:#694414;font-size:.9rem}.settings-checklist{padding-left:1.25rem;color:#4e5c72}.settings-checklist li+li{margin-top:.55rem}.settings-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.settings-table{width:100%;border-collapse:collapse;font-size:.9rem}.settings-table th{background:#f4f6fa;text-align:left;color:#43516a;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.settings-table th,.settings-table td{padding:.8rem;border-bottom:1px solid #e3e8f0;vertical-align:top}.settings-table code{font-size:.78rem}.responsive-table{overflow-x:auto}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.3rem .6rem;font-size:.75rem;font-weight:800;text-transform:capitalize}.status-success{background:#e8f7ef;color:#17613b}.status-warning{background:#fff4d8;color:#765000}.status-danger{background:#fdebea;color:#8b2923}.inline-actions,.stack-actions{display:flex;gap:.4rem;align-items:center}.stack-actions{flex-direction:column;align-items:stretch}.button-small{padding:.48rem .68rem;font-size:.82rem}.empty-cell{text-align:center;color:#718096;padding:2rem!important}.field-muted{opacity:.52}.alert{margin-bottom:1rem;padding:1rem;border-radius:.8rem}.alert-success{background:#e8f7ef;color:#17613b}.alert-error{background:#fdebea;color:#8b2923}.brand-logo{display:block;object-fit:contain;border-radius:.5rem}.maintenance-page{min-height:100vh;display:grid;place-items:center;padding:2rem;background:#f4f6fa}.maintenance-card{max-width:44rem;background:#fff;border:1px solid #dfe5ee;border-radius:1.3rem;padding:2rem;box-shadow:0 20px 55px rgba(15,23,42,.1)}
@media(max-width:1100px){.settings-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-layout{grid-template-columns:1fr}.settings-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-card{position:static}}
@media(max-width:720px){.settings-control{padding-top:1rem}.settings-hero{padding:1.25rem;flex-direction:column}.settings-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-form-grid,.settings-split{grid-template-columns:1fr}.settings-form .span-2{grid-column:auto}.checkbox-grid{grid-template-columns:1fr}.settings-sidebar{grid-template-columns:1fr}.settings-panel{padding:1rem}.settings-panel-heading{flex-direction:column}.inline-actions{min-width:17rem}.settings-tabs{top:0}}
@media(max-width:440px){.settings-stats{grid-template-columns:1fr}.settings-hero-actions,.form-actions{flex-direction:column;align-items:stretch}.settings-hero-actions .button,.form-actions .button{width:100%}}

/* Homepage implementation based on the supplied code.html concept. */
body.mp-homepage{--mpt-navy:#0d1b4b;--mpt-blue:#094ae6;--mpt-blue-dark:#0638af;--mpt-amber:#f59e0b;--mpt-ink:#17173d;--mpt-muted:#5f6577;--mpt-surface:#fcf8ff;--mpt-surface-low:#f5f2ff;--mpt-line:#d9d8e7;margin:0;color:var(--mpt-ink);background:var(--mpt-surface-low);font-family:"Avenir Next","Trebuchet MS",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.mp-homepage .container{width:min(1180px,calc(100% - 40px))}.mp-homepage .site-header{z-index:80;background:var(--mpt-navy);border-color:rgba(255,255,255,.1);backdrop-filter:none;box-shadow:0 8px 30px rgba(3,10,36,.15)}.mp-homepage .header-inner{min-height:80px;gap:22px;position:relative}.mp-homepage .brand{color:#fff;gap:10px}.mp-homepage .brand-mark{width:40px;height:40px;border-radius:12px;background:var(--mpt-amber);color:var(--mpt-navy);box-shadow:0 7px 18px rgba(245,158,11,.22)}.mp-homepage .brand-logo{max-width:44px;max-height:44px;object-fit:contain}.mpt-brand-copy{display:grid;line-height:1.05}.mpt-brand-copy strong{font-family:ui-rounded,"Avenir Next",system-ui,sans-serif;font-size:1.05rem}.mpt-brand-copy small{margin-top:5px;color:#aebbd8;font-size:.59rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.mp-homepage .mpt-header-nav{align-items:center;gap:3px;margin-left:auto}.mp-homepage .mpt-header-nav>a{color:#d6dced;font-size:.76rem;padding:9px 10px;border-radius:7px}.mp-homepage .mpt-header-nav>a:hover{color:#fff;background:rgba(255,255,255,.09)}.mp-homepage .mpt-header-nav>a.is-current{color:var(--mpt-amber);background:transparent;box-shadow:inset 0 -2px var(--mpt-amber);border-radius:0}.mpt-header-actions{display:flex;align-items:center;gap:7px;margin-left:9px}.mpt-header-actions form{margin:0}.mpt-header-actions a,.mpt-header-actions button{min-height:39px;display:inline-flex;align-items:center;justify-content:center;padding:7px 15px;border-radius:7px;font:inherit;font-size:.74rem;font-weight:800;text-decoration:none;cursor:pointer}.mpt-login-link{color:#fff;border:1px solid rgba(255,255,255,.24);background:transparent}.mpt-register-link{border:1px solid var(--mpt-amber);background:var(--mpt-amber);color:var(--mpt-navy)}.mpt-nav-toggle{display:none;width:44px;height:42px;padding:9px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:transparent}.mpt-nav-toggle>span{display:block;height:2px;background:#fff;border-radius:2px;margin:4px 0}.mp-homepage #main-content{overflow:hidden}
.mpt-grid-pattern{position:absolute;inset:0;pointer-events:none;opacity:.14;background-image:linear-gradient(to right,rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.18) 1px,transparent 1px);background-size:40px 40px}.mpt-hero{position:relative;overflow:hidden;padding:76px 0 80px;color:#fff;background:radial-gradient(circle at 76% 22%,rgba(56,102,255,.24),transparent 29%),linear-gradient(128deg,#081337 0%,var(--mpt-navy) 56%,#15366f 125%)}.mpt-hero:after{content:"";position:absolute;width:450px;height:450px;right:-250px;bottom:-340px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 75px rgba(255,255,255,.025),0 0 0 150px rgba(255,255,255,.016)}.mpt-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(350px,.65fr);align-items:center;gap:70px}.mpt-hero-copy{max-width:700px}.mpt-badge,.mpt-kicker,.mpt-section-heading>span{display:inline-flex;color:var(--mpt-blue);font-size:.69rem;font-weight:900;letter-spacing:.115em;text-transform:uppercase}.mpt-hero .mpt-badge{padding:7px 12px;color:var(--mpt-amber);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.17);border-radius:999px}.mp-homepage .mpt-hero h1{max-width:730px;margin:18px 0 19px;color:#fff;font-family:ui-rounded,"Avenir Next",system-ui,sans-serif;font-size:clamp(3.15rem,6.5vw,5.65rem);font-weight:800;line-height:.99;letter-spacing:-.052em}.mpt-hero h1 em{color:var(--mpt-amber);font-family:Georgia,"Times New Roman",serif;font-weight:700}.mpt-hero-copy>p{max-width:650px;margin:0;color:#d4dcf0;font-size:1.03rem;line-height:1.75}.mpt-check-list{list-style:none;display:grid;gap:8px;margin:26px 0 0;padding:0;color:#e4e9f5;font-size:.79rem}.mpt-check-list li{display:flex;align-items:center;gap:9px}.mpt-check-list li:before{content:"✓";width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:rgba(245,158,11,.16);color:var(--mpt-amber);font-size:.7rem;font-weight:900}
.mpt-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:31px}.mpt-button{min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:7px;padding:10px 20px;font:inherit;font-size:.78rem;font-weight:850;text-decoration:none;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.mpt-button:hover{transform:translateY(-1px)}.mpt-button-amber{color:var(--mpt-navy);background:var(--mpt-amber);box-shadow:0 11px 25px rgba(245,158,11,.22)}.mpt-button-amber:hover{background:#ffb01c}.mpt-button-outline{color:#fff;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.32)}.mpt-button-outline:hover{background:rgba(255,255,255,.1)}.mpt-button-blue{color:#fff;background:var(--mpt-blue);box-shadow:0 10px 24px rgba(9,74,230,.2)}.mpt-button-blue:hover{background:var(--mpt-blue-dark)}
.mpt-search-card{padding:28px;color:var(--mpt-ink);background:var(--mpt-surface);border:1px solid rgba(255,255,255,.65);border-radius:16px;box-shadow:0 30px 85px rgba(1,8,31,.36)}.mpt-search-card .mpt-kicker{color:#9b6500}.mp-homepage .mpt-search-card h2{margin:5px 0 6px;color:var(--mpt-navy);font-family:ui-rounded,"Avenir Next",system-ui,sans-serif;font-size:1.82rem;letter-spacing:-.03em}.mpt-search-card>p{margin:0 0 19px;color:var(--mpt-muted);font-size:.79rem}.mpt-search-form{display:grid;gap:7px}.mpt-search-form label{margin-top:4px;color:var(--mpt-navy);font-size:.7rem;font-weight:850}.mpt-search-form select,.mpt-search-form input{width:100%;min-height:45px;margin-bottom:4px;padding:9px 12px;color:#20233e;background:#fff;border:1px solid #cfd0de;border-radius:7px;font:inherit;font-size:.8rem}.mpt-search-form select:focus,.mpt-search-form input:focus{outline:0;border-color:var(--mpt-blue);box-shadow:0 0 0 3px rgba(9,74,230,.13)}.mpt-search-form .mpt-button{width:100%;margin-top:7px}.mpt-search-card>small{display:block;margin-top:13px;color:#74798b;font-size:.64rem;line-height:1.5;text-align:center}
.mpt-trust-strip{background:#fff;border-bottom:1px solid var(--mpt-line);box-shadow:0 5px 22px rgba(18,28,73,.035)}.mpt-trust-strip>.container{min-height:74px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}.mpt-trust-strip span{min-height:42px;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 15px;color:var(--mpt-navy);border-right:1px solid #ecebf2;font-size:.72rem;font-weight:800;text-align:center}.mpt-trust-strip span:last-child{border:0}.mpt-trust-strip b{color:var(--mpt-blue);font-size:.95rem}.mpt-section{padding:88px 0}.mpt-section-heading{max-width:760px;margin-bottom:40px}.mpt-section-heading.mpt-centered{margin-inline:auto;text-align:center}.mp-homepage .mpt-section-heading h2,.mp-homepage .mpt-learning-copy h2{margin:8px 0 11px;color:var(--mpt-navy);font-family:ui-rounded,"Avenir Next",system-ui,sans-serif;font-size:clamp(2.25rem,4.5vw,3.45rem);line-height:1.08;letter-spacing:-.045em}.mpt-section-heading p,.mpt-learning-copy>p{margin:0;color:var(--mpt-muted);font-size:.93rem;line-height:1.72}
.mpt-tutors{background:#fff}.mpt-tutor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.mpt-tutor-card{position:relative;min-width:0;display:flex;flex-direction:column;padding:21px;background:#fff;border:1px solid #dedee9;border-radius:14px;box-shadow:0 10px 32px rgba(20,27,66,.06);transition:transform .16s ease,box-shadow .16s ease}.mpt-tutor-card:hover{transform:translateY(-3px);box-shadow:0 17px 42px rgba(20,27,66,.11)}.mpt-avatar{width:72px;height:72px;display:grid;place-items:center;margin-bottom:14px;color:var(--mpt-blue);background:linear-gradient(145deg,#e2e8ff,#cbd7ff);border:5px solid #f2f4ff;border-radius:50%;font-family:ui-rounded,system-ui,sans-serif;font-size:1.55rem;font-weight:900}.mpt-approved{position:absolute;right:17px;top:21px;padding:5px 8px;color:#0b6d5e;background:#e3f7f2;border-radius:999px;font-size:.59rem;font-weight:900;text-transform:uppercase}.mp-homepage .mpt-tutor-card h3{margin:0 0 3px;color:var(--mpt-navy);font-family:ui-rounded,system-ui,sans-serif;font-size:1.12rem}.mpt-tutor-headline{min-height:41px;margin:0 0 11px;color:var(--mpt-muted);font-size:.72rem;line-height:1.5}.mpt-tag-list{min-height:29px;display:flex;flex-wrap:wrap;gap:5px}.mpt-tag-list span{padding:4px 7px;color:#3e4b70;background:#f0f2fa;border-radius:999px;font-size:.59rem;font-weight:750}.mpt-tutor-card dl{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:15px 0}.mpt-tutor-card dl>div{padding:9px;background:#fafafe;border-radius:8px}.mpt-tutor-card dt{color:#7b7f91;font-size:.54rem;font-weight:900;text-transform:uppercase}.mpt-tutor-card dd{margin:3px 0 0;color:#2a3053;font-size:.68rem;font-weight:800}.mpt-profile-link{min-height:40px;display:grid;place-items:center;margin-top:auto;color:var(--mpt-blue);border:1px solid var(--mpt-blue);border-radius:7px;font-size:.72rem;font-weight:850;text-decoration:none}.mpt-profile-link:hover{color:#fff;background:var(--mpt-blue)}.mpt-section-action{margin-top:30px;text-align:center}.mpt-text-link{display:inline-flex;align-items:center;gap:7px;color:var(--mpt-blue);font-size:.78rem;font-weight:850;text-decoration:none}.mpt-text-link:hover{color:var(--mpt-navy);text-decoration:underline}.mpt-empty-state{max-width:850px;margin-inline:auto;padding:39px 28px;text-align:center;background:var(--mpt-surface-low);border:1px dashed #bfc2d8;border-radius:14px}.mpt-empty-state>span{width:54px;height:54px;display:grid;place-items:center;margin:0 auto 14px;color:#fff;background:var(--mpt-blue);border-radius:50%;font-size:.72rem;font-weight:900}.mp-homepage .mpt-empty-state h3{margin:0 0 7px;color:var(--mpt-navy);font-family:ui-rounded,system-ui,sans-serif}.mpt-empty-state p{max-width:620px;margin:0 auto 18px;color:var(--mpt-muted);font-size:.8rem}.mpt-empty-actions{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.mpt-learning{position:relative;overflow:hidden;padding:92px 0;color:#fff;background:linear-gradient(130deg,#081337,var(--mpt-navy) 55%,#173c77)}.mpt-learning-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}.mpt-platform-preview{padding:23px;color:var(--mpt-ink);background:#fbfbff;border:1px solid rgba(255,255,255,.19);border-radius:17px;box-shadow:0 27px 75px rgba(0,5,25,.34);transform:rotate(-1deg)}.mpt-preview-top{display:flex;justify-content:space-between;gap:20px;padding-bottom:15px;border-bottom:1px solid #e3e3ed;color:var(--mpt-navy);font-size:.75rem;font-weight:850}.mpt-preview-top b{color:#077462}.mpt-preview-class{display:grid;grid-template-columns:50px 1fr;gap:14px;align-items:center;padding:18px 0}.mpt-preview-icon{width:50px;height:50px;display:grid;place-items:center;color:#fff;background:var(--mpt-blue);border-radius:12px;font-family:Georgia,serif;font-size:1.25rem}.mpt-preview-class div{display:grid}.mpt-preview-class small{color:#777c8d;font-size:.58rem;text-transform:uppercase;font-weight:850}.mpt-preview-class strong{color:var(--mpt-navy);font-size:.87rem}.mpt-preview-class div>span{color:#72788a;font-size:.67rem}.mpt-preview-progress{padding:15px;background:#f1f2fa;border-radius:10px}.mpt-preview-progress>div{display:flex;justify-content:space-between;gap:15px;color:#41465d;font-size:.68rem}.mpt-preview-progress strong{color:#0b6d5e}.mpt-preview-progress progress{display:block;width:100%;height:8px;margin-top:9px;accent-color:var(--mpt-blue)}.mpt-preview-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.mpt-preview-tools div{display:grid;gap:4px;padding:11px 5px;text-align:center;background:#fff;border:1px solid #e4e4ed;border-radius:8px}.mpt-preview-tools b{color:var(--mpt-blue)}.mpt-preview-tools span{color:#5e6374;font-size:.61rem;font-weight:750}.mpt-learning-copy .mpt-kicker{color:var(--mpt-amber)}.mp-homepage .mpt-learning-copy h2{color:#fff}.mpt-learning-copy>p{color:#d3dcef}.mpt-learning-copy>ul{list-style:none;display:grid;gap:16px;margin:26px 0;padding:0}.mpt-learning-copy li{display:grid;grid-template-columns:40px 1fr;gap:12px}.mpt-learning-copy li>span{width:38px;height:38px;display:grid;place-items:center;color:var(--mpt-amber);background:rgba(255,255,255,.09);border-radius:10px}.mpt-learning-copy li div{display:grid}.mpt-learning-copy li strong{font-size:.84rem}.mpt-learning-copy li small{margin-top:2px;color:#bfcbe2;font-size:.71rem;line-height:1.5}
.mpt-process{background:var(--mpt-surface-low)}.mpt-step-grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:19px;margin:0;padding:0}.mpt-step-grid li{position:relative;min-height:285px;display:flex;flex-direction:column;padding:28px;background:#fff;border:1px solid #dcdeea;border-radius:14px;box-shadow:0 8px 29px rgba(18,25,63,.05)}.mpt-step-grid li>b{position:absolute;right:22px;top:18px;color:#e0e2ec;font-family:ui-rounded,system-ui,sans-serif;font-size:2rem}.mpt-step-grid li>span{width:48px;height:48px;display:grid;place-items:center;margin-bottom:24px;color:#fff;background:var(--mpt-blue);border-radius:50%;font-size:1.35rem}.mp-homepage .mpt-step-grid h3{margin:0 0 8px;color:var(--mpt-navy);font-family:ui-rounded,system-ui,sans-serif;font-size:1.18rem}.mpt-step-grid p{margin:0;color:var(--mpt-muted);font-size:.78rem;line-height:1.65}.mpt-step-grid a{margin-top:auto;color:var(--mpt-blue);font-size:.71rem;font-weight:850;text-decoration:none}
.mpt-portals{color:#fff;background:linear-gradient(138deg,#0a163d,#172b61)}.mpt-portals .mpt-section-heading>span{color:var(--mpt-amber)}.mp-homepage .mpt-portals .mpt-section-heading h2{color:#fff}.mpt-portals .mpt-section-heading p{color:#c5cfe5}.mpt-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mpt-role-grid article{min-height:250px;display:flex;flex-direction:column;padding:27px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);border-radius:14px}.mpt-role-grid article>span{color:var(--mpt-amber);font-size:.65rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.mp-homepage .mpt-role-grid h3{margin:18px 0 8px;color:#fff;font-family:ui-rounded,system-ui,sans-serif;font-size:1.34rem}.mpt-role-grid p{margin:0;color:#c7d0e5;font-size:.76rem;line-height:1.65}.mpt-role-grid a{margin-top:auto;color:#9eb8ff;font-size:.74rem;font-weight:850;text-decoration:none}
.mpt-subjects{background:#fff}.mpt-split-heading{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:35px}.mpt-split-heading>div{max-width:760px}.mpt-subject-list{display:flex;flex-wrap:wrap;gap:12px}.mpt-subject-list>a{min-width:215px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 14px;color:var(--mpt-navy);background:#fff;border:1px solid #d8dae6;border-radius:999px;text-decoration:none;box-shadow:0 4px 16px rgba(20,27,66,.035);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.mpt-subject-list>a:hover{transform:translateY(-2px);border-color:#93a9ee;box-shadow:0 9px 25px rgba(20,27,66,.08)}.mpt-subject-list a>span{width:34px;height:34px;display:grid;place-items:center;color:#fff;background:var(--mpt-navy);border-radius:50%;font-size:.68rem;font-weight:900}.mpt-subject-list a>strong{font-size:.73rem}.mpt-subject-list a>b{color:var(--mpt-blue)}.mpt-compact-empty{max-width:none}
.mpt-final-cta{padding:65px 0;color:#fff;background:var(--mpt-blue)}.mpt-final-cta>.container{display:flex;align-items:center;justify-content:space-between;gap:45px}.mpt-final-cta span{color:#d9e2ff;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em}.mp-homepage .mpt-final-cta h2{max-width:750px;margin:7px 0 5px;color:#fff;font-family:ui-rounded,system-ui,sans-serif;font-size:clamp(2rem,4vw,3.1rem);line-height:1.08;letter-spacing:-.04em}.mpt-final-cta p{margin:0;color:#dbe3ff;font-size:.79rem}.mpt-final-cta>.container>div:last-child{display:flex;gap:9px;flex:0 0 auto}.mp-homepage .site-footer{padding:55px 0 19px;color:#bac4da;background:#071334;border:0}.mpt-footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,.85fr);gap:45px}.mp-homepage .site-footer .brand{color:#fff}.mpt-footer-brand p{max-width:340px;margin:17px 0;color:#aeb9d0;font-size:.73rem;line-height:1.7}.mpt-footer-brand>a:last-child{color:#9db6ff;font-size:.72rem}.mpt-footer-grid nav{display:grid;align-content:start;gap:8px}.mpt-footer-grid nav strong{margin-bottom:6px;color:#fff;font-size:.74rem}.mpt-footer-grid nav a{color:#b3bdd1;font-size:.69rem;text-decoration:none}.mpt-footer-grid nav a:hover{color:var(--mpt-amber)}.mpt-footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:35px;padding-top:17px;color:#7f8ba6;border-top:1px solid rgba(255,255,255,.1);font-size:.63rem}
