@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";:root{--bg: #f3f6f8;--bg-soft: #f8fafb;--surface: #ffffff;--ink: #14252f;--muted: #5f7280;--line: #e6edf2;--line-strong: #d3dee6;--brand: #0c5d68;--brand-deep: #084850;--brand-soft: #e7f4f5;--accent: #12848a;--sidebar: #0b2430;--sidebar-hover: #143746;--sidebar-text: #c5d6e0;--success: #0d7a55;--success-bg: #e7f7f0;--danger: #b42318;--danger-bg: #fdecea;--warn: #9a6700;--warn-bg: #fff8e6;--brand-2: #14a0a6;--info: #1d5fa8;--info-bg: #e8f1fb;--ring: 0 0 0 3px rgba(18, 132, 138, .22);--shadow: 0 12px 32px rgba(12, 36, 48, .1);--shadow-sm: 0 1px 2px rgba(12, 36, 48, .05), 0 6px 18px rgba(12, 36, 48, .05);--shadow-lg: 0 24px 60px rgba(8, 28, 38, .22);--radius: 14px;--radius-sm: 8px;--sidebar-w: 248px;--sidebar-w-collapsed: 72px;--header-h: 68px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);color-scheme:light;line-height:1.55;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg)}body{overflow-x:hidden;background:radial-gradient(900px 420px at 88% -6%,rgba(20,160,166,.1),transparent 62%),radial-gradient(760px 420px at 8% 4%,rgba(47,111,179,.07),transparent 60%),linear-gradient(180deg,#f6f9fb,#edf2f5) fixed}::selection{background:#12848a38}h1,h2,h3,h4{font-family:Plus Jakarta Sans,Inter,sans-serif;letter-spacing:-.025em;text-wrap:balance;color:var(--ink)}h1{line-height:1.1}h2{line-height:1.15}h3{line-height:1.2}button,input,select,textarea{font:inherit}button,.button{border:1px solid transparent;border-radius:9px;padding:9px 15px;background:#eef3f6;color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:13.5px;line-height:1.2;transition:background .15s ease,color .15s ease,box-shadow .15s ease,border-color .15s ease,transform .15s ease}button:hover,.button:hover{background:#e1eaf0}button:active,.button:active{transform:translateY(1px)}button:focus-visible,.button:focus-visible,a:focus-visible{outline:none;box-shadow:var(--ring)}button:disabled,.button[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.button.primary,button.primary{background:linear-gradient(135deg,var(--brand) 0%,var(--accent) 100%);color:#fff;box-shadow:0 1px 2px #08485059,0 6px 14px #0c5d6838}.button.primary:hover,button.primary:hover{background:linear-gradient(135deg,var(--brand-deep) 0%,var(--brand) 100%);color:#fff;box-shadow:0 2px 4px #08485059,0 10px 20px #0c5d6847;transform:translateY(-1px)}button.primary:disabled:hover{transform:none}button.ghost,.button.ghost{background:transparent;border-color:var(--line-strong);color:var(--ink)}button.ghost:hover,.button.ghost:hover{background:var(--brand-soft);color:var(--brand-deep)}.full{width:100%}.danger-btn{background:#fff;color:var(--danger);border-color:#f2c2bd}.danger-btn:hover{background:var(--danger-bg);border-color:#e9a59d}.logout-button{background:#fff;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-weight:600}.logout-button:hover{background:#fff5f4;color:var(--danger);border-color:#f4c7c2}.app{min-height:100vh;display:block}.nav-backdrop{display:none}aside{width:var(--sidebar-w);background:linear-gradient(180deg,#0d2a37,#0a1e29);color:var(--sidebar-text);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;height:100vh;max-height:100vh;overflow:hidden;padding:16px 12px 12px;z-index:120;box-sizing:border-box;box-shadow:none;border-right:1px solid rgba(255,255,255,.04)}.side-brand{display:flex;gap:10px;align-items:center;padding:6px 40px 20px 8px;position:relative}.side-brand b{display:block;color:#fff;font-size:15px;letter-spacing:-.01em}.side-brand span{display:block;color:#8eabb9;font-size:12px}.logo,.side-brand .logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#13a3a1,#2dd4bf);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px;box-shadow:0 4px 12px #13a3a159}.side-nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:2px}.side-nav::-webkit-scrollbar{width:6px}.side-nav::-webkit-scrollbar-thumb{background:#284655;border-radius:4px}.nav{width:100%;justify-content:flex-start;background:transparent;color:var(--sidebar-text);margin:2px 0;padding:10px 12px;border-radius:8px;font-weight:500;font-size:13.5px}.nav:hover{background:var(--sidebar-hover);color:#fff}.nav.active{background:linear-gradient(90deg,#14a0a64d,#14a0a614);color:#fff;box-shadow:inset 3px 0 #3ec4c8}.nav span{margin-left:8px}.side-bottom{margin-top:auto;flex-shrink:0;border-top:1px solid #284655;padding-top:14px}.side-bottom small{display:block;color:#9eb2bd;font-size:12px;line-height:1.4}.side-bottom .nav{margin-top:10px}.logout-nav{color:#ffb8b8}.logout-nav:hover{color:#fff;background:#4d2730}main{margin-left:var(--sidebar-w);min-width:0;width:calc(100% - var(--sidebar-w));min-height:100vh;display:flex;flex-direction:column}header{height:var(--header-h);background:#ffffffe0;-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);box-shadow:0 1px #fffc,0 8px 24px #0c24300a;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:50;flex-shrink:0}.eyebrow{font-size:11px;letter-spacing:.1em;font-weight:700;color:var(--brand);text-transform:uppercase}header h2{margin:1px 0 0;font-size:20px;font-weight:700;letter-spacing:-.03em;color:var(--ink)}.header-left{display:flex;align-items:center;gap:6px;min-width:0}.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.user-pill{display:flex;align-items:center;gap:8px;background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:5px 14px 5px 6px;font-size:13px;font-weight:600;max-width:260px}.user-pill>span:not(.avatar){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-pill .avatar{flex-shrink:0}.avatar,.user-pill .avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.content{padding:26px 32px 56px;max-width:1480px;margin:0 auto;width:100%;flex:1;min-height:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--shadow-sm);margin-bottom:18px}.card h3{margin:0 0 8px;font-size:16.5px;font-weight:700}.card h4{margin:0 0 8px;font-size:14px;color:var(--ink)}.card>p{margin:0 0 14px;color:var(--muted);font-size:13.5px}.toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}.toolbar h3{margin:0;font-size:18px;font-weight:700}.page-lead,.toolbar p{margin:4px 0 0;color:var(--muted);font-size:14px;max-width:62ch}.toolbar .actions{display:flex;gap:8px;flex-wrap:wrap}.welcome{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#0a3447,#0e5d68 60%,#14868c);color:#fff;border-radius:16px;padding:26px 28px;margin-bottom:20px;box-shadow:0 14px 34px #0a344740;position:relative;overflow:hidden}.welcome:after{content:"";position:absolute;right:-60px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(158,226,220,.3),transparent 70%);pointer-events:none}.welcome .eyebrow{color:#9ee2dc}.welcome h3{font-size:24px;margin:4px 0;font-weight:700;color:#fff}.welcome p{margin:0;color:#d4e9ed}.date{font-size:13px;color:#d9eff1}.grid{display:grid;gap:16px}.stats{grid-template-columns:1.35fr 1.35fr .9fr .9fr;margin-bottom:18px}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.stat,.card-stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:6px;margin-bottom:0}.stat>span,.card-stat>span{display:block;color:var(--muted);font-size:13px;font-weight:650;letter-spacing:.02em;order:1}.stat>strong,.stat>b,.card-stat>strong,.card-stat>b{display:block;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:28px;font-weight:800;color:var(--brand);letter-spacing:-.03em;line-height:1.15;order:2}.stat>small,.card-stat>small{display:block;color:#8a9ba8;font-size:12px;font-weight:500;order:3}.split{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:18px;align-items:start}.split>.card{margin-bottom:0}.tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.tab{background:#eaf0f4;text-transform:capitalize;border-radius:999px;padding:8px 14px}.tab.active{background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff}label{display:block;margin:14px 0 0;font-size:13px;color:#3c4f5b;font-weight:600}input,select,textarea{width:100%;height:42px;border:1px solid var(--line-strong);border-radius:10px;padding:8px 13px;background:#fff;color:var(--ink);margin-top:6px;transition:border-color .15s,box-shadow .15s,background .15s}input:hover,select:hover,textarea:hover{border-color:#b9c9d4}textarea{height:auto;min-height:90px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}input::placeholder,textarea::placeholder{color:#93a4af}input:disabled,select:disabled,textarea:disabled{background:#f2f5f7;color:#8798a4;cursor:not-allowed}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235f7280' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}input[type=checkbox],input[type=radio]{width:18px;height:18px;margin:0 8px 0 0;accent-color:var(--brand);vertical-align:middle}input[type=file]{height:auto;padding:7px 9px;cursor:pointer;background:var(--bg-soft);border-style:dashed;border-color:#bccbd5;color:var(--muted);font-size:13px}input[type=file]:hover{background:var(--brand-soft);border-color:var(--accent)}input[type=file]::file-selector-button{margin-right:12px;border:0;border-radius:8px;padding:8px 14px;background:var(--brand);color:#fff;font-weight:600;font-size:13px;cursor:pointer;transition:background .15s}input[type=file]::file-selector-button:hover{background:var(--brand-deep)}fieldset{border:0;padding:0;margin:0;min-width:0}form .primary{margin-top:16px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:4px 18px}.form-grid .actions{grid-column:1 / -1;margin-top:8px}.inline{display:flex;gap:12px;align-items:flex-end;margin-bottom:14px;flex-wrap:wrap}.inline label{min-width:180px}.hint{color:var(--muted);font-size:13px;margin:8px 0}.alert{padding:12px 14px;border-radius:10px;margin:12px 0;background:var(--brand-soft);color:var(--brand-deep);border:1px solid #c5e8ea;border-left:4px solid var(--accent);font-size:13.5px}.alert.warn{background:var(--warn-bg);color:var(--warn);border-color:#f1dca0;border-left-color:#e0a800}.danger{background:var(--danger-bg);color:var(--danger);border-color:#f5c6c2;border-left-color:var(--danger)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--success-bg);color:var(--success);font-size:11.5px;font-weight:700;letter-spacing:.02em;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-muted{background:#eef2f5;color:#5b6b75}.badge-role{background:var(--brand-soft);color:var(--brand-deep)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.badge-info{background:var(--info-bg);color:var(--info)}.small{width:88px}.assess-form{max-width:480px;box-shadow:var(--shadow)}.assess-form label{display:block;margin:12px 0 4px;font-size:13px;color:#5b6b75;font-weight:650}.assess-form label input,.assess-form label select{display:block;width:100%;margin-top:5px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:10px;background:#fff}.assess-form .primary.full{width:100%;margin-top:18px;padding:13px;border-radius:11px}.table-wrap{overflow-x:auto}.card.table-wrap>:not(table){position:sticky;left:0;max-width:calc(100vw - 120px)}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.table-toolbar input{max-width:260px;height:38px;margin:0}table{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}th{text-align:left;padding:11px 14px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#4d6270;background:#f1f6f9;border-top:1px solid var(--line);border-bottom:1px solid var(--line-strong);font-weight:700;white-space:nowrap}th:first-child{border-left:1px solid var(--line);border-top-left-radius:10px}th:last-child{border-right:1px solid var(--line);border-top-right-radius:10px}td{padding:12px 14px;border-bottom:1px solid #edf1f5;vertical-align:middle;overflow-wrap:break-word}tbody tr:nth-child(2n) td{background:#fafcfd}tbody tr{transition:background .12s}tbody tr:hover td{background:#eff7f8}tbody tr:last-child td{border-bottom:0}td button,td .inline-file{padding:6px 11px;font-size:12.5px;font-weight:600}td:has(>button),td:has(>.inline-file){min-width:250px}td>button,td>.inline-file{margin:0 6px 6px 0}td>.hint{margin:4px 0 0;font-size:12px;max-width:250px}.row-actions{display:flex;flex-wrap:wrap;gap:6px}.empty{text-align:center;color:var(--muted);padding:32px 12px}.marks input{min-width:90px;margin-top:0;height:38px}.marks td{padding:8px 10px}.marks button{padding:7px 10px}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 20%,#d4eef0 0%,transparent 45%),radial-gradient(circle at 80% 10%,#dce8f5 0%,transparent 40%),var(--bg)}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:var(--shadow)}.brand{display:flex;gap:12px;align-items:center;margin-bottom:26px}.brand h1{margin:0;font-size:24px;font-weight:800;letter-spacing:-.02em}.brand p{margin:2px 0;color:var(--muted);font-size:13px}.login-card small{display:block;margin-top:18px;color:#83919a}.file-btn,.inline-file{display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;margin:0;background:#eef3f6;border:1px solid transparent;border-radius:9px;padding:9px 15px;color:#253640;cursor:pointer;font-weight:600;font-size:13.5px;line-height:1.2;transition:background .15s,border-color .15s}.file-btn:hover,.inline-file:hover{background:var(--brand-soft);border-color:#bfe3e6;color:var(--brand-deep)}.file-btn input,.inline-file input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;border:0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#07162085;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:20px;z-index:200}.modal-card{background:#fff;border-radius:18px;width:min(650px,100%);max-height:90vh;overflow:auto;padding:24px;box-shadow:var(--shadow-lg)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0}.import-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}.notification-wrap{position:relative}.notification-button{position:relative;border:1px solid var(--line-strong);background:#fff;border-radius:10px;padding:8px 11px;cursor:pointer;font-size:16px}.notification-count{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#d33;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center}.notification-panel{position:absolute;right:0;top:44px;width:360px;max-height:430px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:100}.notification-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #eee}.notification-head button{border:0;background:none;cursor:pointer}.notification-item{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;border:0;border-bottom:1px solid #f0f1f3;background:#fff;padding:12px 14px;cursor:pointer}.notification-item.unread{background:#f5f8ff}.notification-item span{font-size:13px;line-height:1.4}.notification-item small{font-size:11px;opacity:.65}.event-card{background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.event-image{aspect-ratio:16 / 10;background:#e8eef3;overflow:hidden}.back-home-btn{position:fixed;top:16px;left:16px;z-index:20;background:#fff;border:1px solid var(--line-strong);border-radius:9px;padding:8px 14px;cursor:pointer}.session-row small{display:block;color:#73838d;margin-top:3px}.session-row button{background:#fff0f0;color:#a52222}.session-actions{justify-content:flex-end;margin-top:16px}.sidebar-toggle{border:0;background:transparent;cursor:pointer;padding:8px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:inherit}.sidebar-toggle:hover{background:#ffffff14}aside .sidebar-toggle{position:absolute;right:4px;top:8px;color:#dce8ef}.header-toggle{color:var(--ink);margin-right:10px}.header-toggle:hover{background:#eef3f8}.hamburger{display:flex;flex-direction:column;justify-content:center;gap:4px;width:20px;height:16px}.hamburger i{display:block;height:2px;width:100%;background:currentColor;border-radius:1px;transition:transform .2s ease,opacity .2s ease}.app.sidebar-collapsed aside{width:var(--sidebar-w-collapsed);padding:12px 6px}.app.sidebar-collapsed main{margin-left:var(--sidebar-w-collapsed);width:calc(100% - var(--sidebar-w-collapsed))}.app.sidebar-collapsed .side-brand-text,.app.sidebar-collapsed .nav-label,.app.sidebar-collapsed .side-user-name,.app.sidebar-collapsed .side-user-role{display:none}.app.sidebar-collapsed .side-brand{justify-content:center;padding-right:0;flex-direction:column;gap:8px}.app.sidebar-collapsed aside .sidebar-toggle{position:static;margin:0 auto}.app.sidebar-collapsed .nav{justify-content:center;padding:12px 8px}.app.sidebar-collapsed .nav span{margin-left:0}.app.sidebar-collapsed .side-bottom{text-align:center}.app.sidebar-collapsed .logout-nav{justify-content:center}@media(min-width:961px){aside{transform:none!important}.nav-backdrop{display:none!important}}@media(max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}}@media(max-width:960px){aside{transform:translate(-105%);transition:transform .2s ease;width:min(280px,86vw);box-shadow:8px 0 32px #0003}.app.nav-open aside{transform:translate(0)}.app.nav-open .nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a182073;z-index:110}main,.app.sidebar-collapsed main{margin-left:0;width:100%}.app.sidebar-collapsed aside{width:min(280px,86vw);padding:16px 12px 12px}.app.sidebar-collapsed .side-brand-text,.app.sidebar-collapsed .nav-label,.app.sidebar-collapsed .side-user-name,.app.sidebar-collapsed .side-user-role{display:block}.app.sidebar-collapsed .side-brand{flex-direction:row;justify-content:flex-start;padding-right:40px}.app.sidebar-collapsed .nav{justify-content:flex-start;padding:10px 12px}.app.sidebar-collapsed .nav span{margin-left:8px}.app.sidebar-collapsed aside .sidebar-toggle{display:none}}@media(max-width:720px){header{padding:0 14px}.content{padding:16px 14px 32px}.stats,.cards,.form-grid{grid-template-columns:1fr}.welcome,.inline{display:block}.inline label{min-width:0}.header-actions .session-button span,.user-pill>span:not(.avatar){display:none}.logout-button span{display:none}.header-actions{gap:6px}}.nav svg{flex-shrink:0}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:500;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100vw - 24px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:12px;background:#fff;color:var(--ink);padding:12px 10px 12px 14px;border:1px solid var(--line);border-left:4px solid var(--success);border-radius:12px;font-size:13.5px;font-weight:600;box-shadow:0 14px 34px #081c262e}.toast-ico{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:800;background:var(--success-bg);color:var(--success)}.toast-msg{flex:1;line-height:1.35;overflow-wrap:anywhere}.toast-x{flex-shrink:0;background:transparent;border:0;padding:2px 8px;font-size:20px;line-height:1;color:var(--muted)}.toast-x:hover{background:#eef3f6;color:var(--ink)}.toast-error{border-left-color:var(--danger)}.toast-error .toast-ico{background:var(--danger-bg);color:var(--danger)}.toast-delete{border-left-color:#8a6a2f}.toast-delete .toast-ico{background:#f5ecda;color:#8a6a2f}.toast-info{border-left-color:var(--info)}.toast-info .toast-ico{background:var(--info-bg);color:var(--info)}@media(prefers-reduced-motion:no-preference){@keyframes toast-in{0%{opacity:0;transform:translate(24px) scale(.98)}to{opacity:1;transform:none}}.toast{animation:toast-in .28s cubic-bezier(.2,.8,.2,1) both}}@media(max-width:600px){.toast-stack{right:12px;left:12px;bottom:12px;width:auto}}.public-page{min-height:100dvh;background:var(--bg);color:var(--ink)}.public-nav{height:72px;display:flex;align-items:center;padding:0 28px;background:#fff;border-bottom:1px solid var(--line)}.public-brand{display:flex;gap:12px;align-items:center}.public-brand b{display:block;font-family:Plus Jakarta Sans,Inter,sans-serif}.public-brand span{display:block;color:var(--muted);font-size:12px}.public-hero{max-width:1120px;margin:0 auto;padding:36px 24px 48px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:36px;align-items:center}.public-hero h1{font-size:clamp(2rem,4vw,3.1rem);margin:8px 0 12px}.public-lead{max-width:46ch;color:var(--muted);margin:0 0 22px;font-size:1.05rem}.public-photos{display:grid;gap:12px}.public-photos figure{margin:0;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line)}.public-photos img{width:100%;height:210px;object-fit:cover;object-position:center 35%;display:block}.public-photos figcaption{padding:10px 14px;font-size:13px;font-weight:700}.public-feature{margin:0;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line)}.public-feature img{width:100%;aspect-ratio:16 / 11;object-fit:cover;display:block}.public-feature figcaption,.public-feature-empty{padding:12px 14px}.public-feature figcaption{display:flex;justify-content:space-between;gap:8px}.public-feature-empty{min-height:220px;display:grid;place-items:center;color:var(--muted)}.public-events{max-width:1120px;margin:0 auto;padding:0 24px 64px}.event-list{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:16px}.event-body{padding:12px 14px}.event-body h3{margin:0 0 4px;font-size:16px}.event-body p{margin:8px 0 0;color:var(--muted);font-size:13.5px}.public-foot{border-top:1px solid var(--line);padding:18px 24px;text-align:center;color:var(--muted);font-size:13px;background:#fff}@media(max-width:800px){.public-hero,.event-list{grid-template-columns:1fr}.public-nav{padding:0 16px}}.split:has(>.card:first-child fieldset){grid-template-columns:minmax(0,1fr)}.split:has(>.card:first-child fieldset)>.card:first-child fieldset{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 18px;align-items:end}.split:has(>.card:first-child fieldset)>.card:first-child fieldset>.alert{grid-column:1 / -1}.split:has(>.card:first-child fieldset)>.card:first-child fieldset>button.primary{margin:16px 0 0;height:42px;justify-self:start;min-width:140px}.stat,.card-stat{transition:transform .18s ease,box-shadow .18s ease}.stat:hover,.card-stat:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.stats>:nth-child(1){box-shadow:inset 0 3px #12848a,var(--shadow-sm)}.stats>:nth-child(2){box-shadow:inset 0 3px #2f6fb3,var(--shadow-sm)}.stats>:nth-child(3){box-shadow:inset 0 3px #d99a1b,var(--shadow-sm)}.stats>:nth-child(4){box-shadow:inset 0 3px #7a5ac8,var(--shadow-sm)}.stats>:nth-child(1):hover{box-shadow:inset 0 3px #12848a,var(--shadow)}.stats>:nth-child(2):hover{box-shadow:inset 0 3px #2f6fb3,var(--shadow)}.stats>:nth-child(3):hover{box-shadow:inset 0 3px #d99a1b,var(--shadow)}.stats>:nth-child(4):hover{box-shadow:inset 0 3px #7a5ac8,var(--shadow)}.toolbar{padding-bottom:14px;border-bottom:1px solid var(--line)}.toolbar h3{font-size:21px}.tab{background:#e9f0f4;font-weight:600;transition:background .15s,color .15s}.tab:hover{background:#dbe8ee}.tab.active{box-shadow:0 6px 14px #0c5d6840}.login-card{border-top:4px solid var(--accent);box-shadow:var(--shadow)}.notification-button:hover{background:var(--brand-soft);border-color:#bfe3e6}.notification-panel{box-shadow:var(--shadow-lg);border-radius:16px}.notification-item:hover{background:#f1f7f8}.event-card{transition:transform .18s ease,box-shadow .18s ease}.event-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}*{scrollbar-width:thin;scrollbar-color:#bccbd5 transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c3d1da;border-radius:10px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#9db3c0;background-clip:content-box}@media(prefers-reduced-motion:no-preference){@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:none}}.content>*{animation:rise .35s ease both}.modal-card{animation:pop .2s ease both}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media(max-width:720px){.card{padding:16px}th,td{padding:10px}.toolbar h3{font-size:19px}.split:has(>.card:first-child fieldset)>.card:first-child fieldset{grid-template-columns:1fr}}.nav{gap:12px;transition:background .15s,color .15s,transform .15s}.nav .nav-ico{width:18px;height:18px;flex-shrink:0;opacity:.8;transition:opacity .15s,color .15s}.nav:hover .nav-ico{opacity:1;color:#8fe9eb}.nav:hover{transform:translate(2px)}.nav.active .nav-ico{opacity:1;color:#7fe3e6}.nav span{margin-left:0}.app.sidebar-collapsed .nav:hover{transform:none}.logo,.side-brand .logo{box-shadow:0 6px 16px #13a3a166,inset 0 1px #ffffff59}.side-user-name{color:#fff;font-weight:700;font-size:13px}.side-user-role{color:#8eabb9;font-size:12px;margin-bottom:4px}.logout-nav .nav-ico{color:#ffb8b8;opacity:1}.logout-nav:hover .nav-ico{color:#fff}header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--accent) 0%,rgba(20,160,166,0) 38%);pointer-events:none}.logout-button{gap:7px}.logout-button svg{color:currentColor}.user-pill{box-shadow:var(--shadow-sm)}.card>h3:first-child{display:flex;align-items:center;gap:10px}.card>h3:first-child:before{content:"";flex-shrink:0;width:4px;height:18px;border-radius:4px;background:linear-gradient(180deg,var(--brand-2),var(--brand))}.card{transition:box-shadow .2s ease,border-color .2s ease}.card:hover{border-color:#d6e3ea}.card.table-wrap:has(>table.marks){overflow:auto;max-height:calc(100vh - var(--header-h) - 40px)}.marks thead th{position:sticky;top:-22px;z-index:6;box-shadow:0 2px 6px #0c24300f}.marks td{padding:7px 10px}.marks td:nth-child(1){color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.marks td:nth-child(2){font-weight:600;min-width:170px}.marks th:nth-child(n+3):nth-child(-n+6),.marks td:nth-child(n+3):nth-child(-n+6){text-align:center}.marks td:nth-child(4),.marks td:nth-child(5){font-variant-numeric:tabular-nums;color:#3c4f5b}.marks td:nth-child(6){font-weight:800;color:var(--brand);font-size:15px}.marks td:nth-child(7) input{min-width:140px}.marks td:nth-child(8){white-space:nowrap;font-size:13px;font-weight:600}.marks input{height:38px;border-radius:9px}.marks input.small,.marks input[type=number]{width:88px;min-width:0;text-align:center;font-weight:700;font-size:15px;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.marks input[type=number]::-webkit-outer-spin-button,.marks input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.marks tbody tr:focus-within td{background:#e8f5f6!important}.marks tbody tr:focus-within td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.marks .danger-btn{padding:6px 12px}.login{position:relative;overflow:hidden}.login:before,.login:after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px)}.login:before{width:520px;height:520px;left:-160px;bottom:-200px;background:radial-gradient(circle,rgba(20,160,166,.22),transparent 68%)}.login:after{width:460px;height:460px;right:-140px;top:-160px;background:radial-gradient(circle,rgba(47,111,179,.2),transparent 68%)}.login-card{position:relative;z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}td:has(>.badge){white-space:nowrap}.table-wrap td b,.table-wrap td strong{color:var(--ink)}@media(max-width:900px){.card.table-wrap:has(>table.marks){max-height:none;overflow-x:auto}.marks thead th{position:static;box-shadow:none}}.doc-table td{vertical-align:top;padding:16px 14px}.doc-table tbody tr:nth-child(2n) td{background:#fff}.doc-table tbody tr:hover td{background:#f6fafb}.doc-table tbody tr td{border-bottom:1px solid #e8eef2}.doc-table td:nth-child(1){min-width:210px;max-width:300px}.doc-table td:nth-child(3){min-width:170px}.doc-table td:nth-child(4){min-width:130px;white-space:nowrap}.doc-table td:nth-child(6){min-width:180px;max-width:260px}.doc-table td.actions-cell{min-width:280px;width:300px}.doc-title{font-weight:700;font-size:14.5px;color:var(--ink);line-height:1.3;margin-bottom:8px}.doc-tags{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand-deep);font-size:11.5px;font-weight:700;letter-spacing:.01em}.chip-week{background:var(--info-bg);color:var(--info)}.person{display:flex;align-items:center;gap:10px;font-weight:600}.mini-avatar{flex-shrink:0;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--brand-2),var(--brand));box-shadow:0 2px 6px #0c5d6840}.cc-main{font-weight:600;line-height:1.3}.cc-sub{color:var(--muted);font-size:12px;margin-top:3px}.muted-dash{color:#9fb0bb;font-size:12.5px}.when{display:flex;flex-direction:column;gap:2px}.when strong{font-size:13.5px}.when span{color:var(--muted);font-size:12.5px}.when em{margin-top:4px;font-style:normal;font-size:11.5px;color:#8a6a2f;background:#f9f1de;border-radius:6px;padding:2px 7px;align-self:flex-start;white-space:normal}.feedback-note{background:#f4f9fa;border:1px solid #dcebee;border-left:3px solid var(--accent);border-radius:10px;padding:9px 12px;font-size:12.5px;line-height:1.45;color:#2c3f4b}.feedback-note b{display:block;margin-bottom:2px;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}.doc-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.doc-actions>.span-2{grid-column:1 / -1}.doc-actions button,.doc-actions .inline-file{width:100%;margin:0;padding:8px 10px;gap:7px;font-size:12.5px;font-weight:600;white-space:nowrap;background:#fff;border:1px solid var(--line-strong);color:#2a3d49;border-radius:9px}.doc-actions button:hover,.doc-actions .inline-file:hover{background:var(--brand-soft);border-color:#aedde0;color:var(--brand-deep)}.doc-actions .btn-ok{background:#e7f6ee;border-color:#bfe5cf;color:#0b6b3a}.doc-actions .btn-ok:hover{background:#d7f0e2;border-color:#98d3b2;color:#08532d}.doc-actions .btn-amber{background:#fdf3dc;border-color:#f1dca0;color:#8a5a00}.doc-actions .btn-amber:hover{background:#fbe9bd;border-color:#e8c76d;color:#6e4700}.doc-actions .danger-btn{background:#fff;border-color:#f2c2bd;color:var(--danger)}.doc-actions .danger-btn:hover{background:var(--danger-bg);border-color:#e9a59d;color:var(--danger)}.btn-ico{flex-shrink:0}.doc-note{display:flex;align-items:flex-start;gap:7px;font-size:11.5px;line-height:1.4;color:var(--muted);background:#f4f7f9;border-radius:8px;padding:7px 10px}.doc-note .btn-ico{margin-top:1px}.build-id{display:block;margin-top:6px;font-size:10.5px;letter-spacing:.04em;color:#5f7f90}.app.sidebar-collapsed .build-id{display:none}td:has(>button,>.inline-file){min-width:300px;width:320px;vertical-align:top;padding-top:16px}td:has(>button,>.inline-file)>button,td:has(>button,>.inline-file)>.inline-file{width:calc(50% - 4px);min-height:34px;margin:0 0 8px;padding:7px 9px;font-size:12.5px;font-weight:600;line-height:1.2;white-space:normal;text-align:center;background:#fff;border:1px solid var(--line-strong);color:#2a3d49;border-radius:9px}td:has(>button,>.inline-file)>:nth-child(odd){margin-right:8px}td:has(>button,>.inline-file)>button:hover,td:has(>button,>.inline-file)>.inline-file:hover{background:var(--brand-soft);border-color:#aedde0;color:var(--brand-deep)}td:has(>button,>.inline-file)>.danger-btn{color:var(--danger);border-color:#f2c2bd}td:has(>button,>.inline-file)>.danger-btn:hover{background:var(--danger-bg);border-color:#e9a59d;color:var(--danger)}td:has(>button,>.inline-file)>.hint,td:has(>button,>.inline-file)>.doc-note{width:100%;max-width:none;margin:2px 0 0}.marks td:has(>button){min-width:0;width:auto}.marks td:has(>button)>button{width:auto;min-height:0;margin:0}.content:has(.doc-table) .split,main:has(.doc-table) .split{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;min-width:0;align-items:start}.content:has(.doc-table) .split>*,main:has(.doc-table) .split>*{width:100%;max-width:100%;min-width:0;grid-column:1 / -1}.content:has(.doc-table) .card,main:has(.doc-table) .card{width:100%;max-width:100%;min-width:0}.content:has(.doc-table) .table-wrap,main:has(.doc-table) .table-wrap{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.content:has(.doc-table) .doc-table,main:has(.doc-table) .doc-table{width:100%;min-width:1050px;table-layout:auto}.content:has(.doc-table) .card.table-wrap>:not(table),main:has(.doc-table) .card.table-wrap>:not(table){position:static;left:auto;max-width:none}.doc-table th,.doc-table td{overflow-wrap:anywhere}.doc-table td.actions-cell{min-width:260px;width:280px}.doc-table .doc-actions{min-width:0}@media(max-width:900px){.content:has(.doc-table) .split,main:has(.doc-table) .split{grid-template-columns:minmax(0,1fr)}.content:has(.doc-table) .card,main:has(.doc-table) .card{padding:16px}.content:has(.doc-table) .doc-table,main:has(.doc-table) .doc-table{min-width:950px}}@media(max-width:600px){.content:has(.doc-table) .table-wrap,main:has(.doc-table) .table-wrap{margin-left:-4px;width:calc(100% + 8px)}}.content:has(.doc-table) .table-wrap,main:has(.doc-table) .table-wrap{overflow-x:auto;overflow-y:visible}.doc-table{width:100%;min-width:1400px;table-layout:fixed}.doc-table th:nth-child(1),.doc-table td:nth-child(1){width:18%}.doc-table th:nth-child(2),.doc-table td:nth-child(2){width:17%;min-width:230px;white-space:normal;overflow-wrap:normal;word-break:normal}.doc-table th:nth-child(3),.doc-table td:nth-child(3){width:14%}.doc-table th:nth-child(4),.doc-table td:nth-child(4){width:12%;min-width:165px;white-space:normal}.doc-table th:nth-child(5),.doc-table td:nth-child(5){width:20%;min-width:280px;white-space:normal;overflow-wrap:normal;word-break:normal}.doc-table th:nth-child(6),.doc-table td:nth-child(6){width:19%;min-width:320px}.doc-table .person{display:flex;align-items:center;flex-wrap:nowrap;gap:10px;min-width:0;white-space:normal;overflow-wrap:normal;word-break:normal}.doc-table .person .mini-avatar{flex:0 0 38px}.doc-table .person>span:not(.mini-avatar){display:block;min-width:0;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.4}.doc-table .feedback-note{box-sizing:border-box;width:100%;max-width:100%;min-width:0;white-space:normal;overflow-wrap:break-word;word-break:normal;line-height:1.45}.doc-table .feedback-note b{display:block;margin-bottom:4px;white-space:normal;overflow-wrap:normal;word-break:normal}.doc-table td:nth-child(4) .badge{display:inline-flex;max-width:100%;white-space:normal;line-height:1.3}.doc-table td.actions-cell{min-width:320px;width:19%}.doc-table .doc-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.doc-table .doc-actions>*{min-width:0;max-width:100%}.doc-table .doc-actions .span-2{grid-column:1 / -1}@media(max-width:900px){.doc-table{min-width:1400px}}.split>.card textarea{display:block;width:50%;max-width:50%;min-width:280px;resize:vertical}@media(max-width:760px){.split>.card textarea{width:100%;max-width:100%;min-width:0}}.split:has(>.card.table-wrap):not(:has(input[type=password])){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start;width:100%;min-width:0}.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card{min-width:0;max-width:100%;box-sizing:border-box}.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap{overflow-x:hidden}.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap>table{width:100%;min-width:0;table-layout:fixed;font-size:12px}.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap th,.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap td{padding:9px 7px;white-space:normal;overflow-wrap:anywhere;word-break:normal;vertical-align:middle}.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap th{font-size:10px;letter-spacing:.035em}.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap th:nth-child(1),.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap td:nth-child(1){width:13%}.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap th:nth-child(2),.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap td:nth-child(2){width:22%}.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap th:nth-child(3),.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap td:nth-child(3){width:12%}.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap th:nth-child(4),.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap td:nth-child(4){width:14%}.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap th:nth-child(5),.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap td:nth-child(5){width:13%}.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap th:nth-child(6),.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap td:nth-child(6){width:26%}.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap td button{max-width:100%;min-width:0;padding:8px 6px;font-size:11px;white-space:normal;line-height:1.25}.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card:not(.table-wrap) textarea{width:100%;max-width:100%;min-width:0;box-sizing:border-box}@media(max-width:1050px){.split:has(>.card.table-wrap):not(:has(input[type=password])){grid-template-columns:minmax(0,1fr)}.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap{overflow-x:auto}.split:has(>.card.table-wrap):not(:has(input[type=password]))>.card.table-wrap>table{min-width:650px}}body:has(.welcome) .content>.card:last-child{display:flex;align-items:center;justify-content:center;text-align:center;min-height:108px}body:has(.welcome) .content>.card:last-child>h3{display:block;width:100%;margin:0;text-align:center}body:has(.welcome) .content>.card:last-child>h3:before{display:none}main .split:has(>.card input[type=password]){display:grid;grid-template-columns:minmax(250px,1fr) minmax(0,3fr);gap:22px;align-items:start;width:100%;min-width:0}main .split:has(>.card input[type=password])>.card{min-width:0;max-width:100%;margin-bottom:0;padding:22px 22px 24px}main .split:has(>.card input[type=password])>.card>h3:first-child{margin:0 0 6px;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:17px}main .split:has(>.card input[type=password])>.card:first-child{position:sticky;top:calc(var(--header-h) + 18px);max-height:calc(100vh - var(--header-h) - 36px);overflow-y:auto;border-top:4px solid var(--accent);background:linear-gradient(180deg,#e7f4f5bf 0,#fff0 120px),var(--surface);box-shadow:var(--shadow)}main .split:has(>.card input[type=password])>.card:first-child fieldset{display:block}main .split:has(>.card input[type=password])>.card:first-child label{margin-top:14px;font-size:12.5px;letter-spacing:.02em;color:#3c4f5b;transition:color .15s}main .split:has(>.card input[type=password])>.card:first-child label:focus-within{color:var(--brand-deep)}main .split:has(>.card input[type=password])>.card:first-child input,main .split:has(>.card input[type=password])>.card:first-child select{height:42px;margin-top:6px;border-radius:10px;background-color:#fff;box-shadow:0 1px #0c243008}main .split:has(>.card input[type=password])>.card:first-child input:focus,main .split:has(>.card input[type=password])>.card:first-child select:focus{background-color:#fff}main .split:has(>.card input[type=password]) input:-webkit-autofill,main .split:has(>.card input[type=password]) input:-webkit-autofill:hover,main .split:has(>.card input[type=password]) input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);-webkit-box-shadow:0 0 0 1000px #f3f9fa inset;box-shadow:0 0 0 1000px #f3f9fa inset;border-color:#bfe3e6;transition:background-color 9999s ease-out 0s}main .split:has(>.card input[type=password])>.card:first-child input[type=password]{letter-spacing:.12em}main .split:has(>.card input[type=password])>.card:first-child form .primary,main .split:has(>.card input[type=password])>.card:first-child .primary{width:100%;height:44px;margin-top:22px;border-radius:11px;font-size:14px}main .split:has(>.card input[type=password])>.card:first-child .hint{margin-top:14px;padding:10px 12px;border-radius:10px;background:var(--bg-soft);border:1px dashed var(--line-strong)}main .split:has(>.card input[type=password])>.card.table-wrap,main .split:has(>.card input[type=password])>.card:last-child{overflow:auto;max-height:calc(100vh - var(--header-h) - 36px);overflow-x:auto}main .split:has(>.card input[type=password])>.card.table-wrap>table,main .split:has(>.card input[type=password])>.card:last-child>table,main .split:has(>.card input[type=password])>.card:last-child table{width:100%;min-width:0;table-layout:auto;font-size:13.5px}main .split:has(>.card input[type=password])>.card:last-child thead th{position:sticky;top:-22px;z-index:6;padding:12px;font-size:11px;letter-spacing:.07em;white-space:nowrap;box-shadow:0 2px 6px #0c24300f}main .split:has(>.card input[type=password])>.card:last-child td{padding:12px;vertical-align:middle;white-space:normal;overflow-wrap:normal;word-break:normal}main .split:has(>.card input[type=password])>.card:last-child tbody tr:hover td{background:#eaf6f7}main .split:has(>.card input[type=password])>.card:last-child td:nth-child(1){min-width:140px;font-weight:650;color:var(--ink);line-height:1.35}main .split:has(>.card input[type=password])>.card:last-child td:nth-child(2){min-width:120px;color:var(--muted);font-size:13px;overflow-wrap:anywhere}main .split:has(>.card input[type=password])>.card:last-child td:nth-child(3){white-space:nowrap;font-size:11.5px;font-weight:700;letter-spacing:.06em;color:var(--brand-deep)}main .split:has(>.card input[type=password])>.card:last-child td:nth-child(4){white-space:nowrap;font-variant-numeric:tabular-nums;color:#3c4f5b}main .split:has(>.card input[type=password])>.card:last-child td:nth-child(5){white-space:nowrap}main .split:has(>.card input[type=password])>.card:last-child td:has(>button){min-width:172px;width:auto;padding-top:10px;padding-bottom:6px;vertical-align:middle}main .split:has(>.card input[type=password])>.card:last-child td:has(>button)>button{width:auto;min-width:0;min-height:0;margin:0 5px 6px 0;padding:6px 11px;font-size:12.5px;font-weight:600;white-space:nowrap;border-radius:8px;background:#fff;border:1px solid var(--line-strong);color:#2a3d49}main .split:has(>.card input[type=password])>.card:last-child td:has(>button)>button:nth-child(odd){margin-right:5px}main .split:has(>.card input[type=password])>.card:last-child td:has(>button)>button:hover{background:var(--brand-soft);border-color:#aedde0;color:var(--brand-deep)}main .split:has(>.card input[type=password])>.card:last-child td:has(>button)>button:nth-child(2){background:#fdf3dc;border-color:#f1dca0;color:#8a5a00}main .split:has(>.card input[type=password])>.card:last-child td:has(>button)>button:nth-child(2):hover{background:#fbe9bd;border-color:#e8c76d;color:#6e4700}main .split:has(>.card input[type=password])>.card:last-child td:has(>button)>.danger-btn{background:#fff;border-color:#f2c2bd;color:var(--danger)}main .split:has(>.card input[type=password])>.card:last-child td:has(>button)>.danger-btn:hover{background:var(--danger-bg);border-color:#e9a59d;color:var(--danger)}@media(max-width:1100px){main .split:has(>.card input[type=password]){grid-template-columns:minmax(0,1fr)}main .split:has(>.card input[type=password])>.card:first-child{position:static;max-height:none;overflow:visible}main .split:has(>.card input[type=password])>.card.table-wrap,main .split:has(>.card input[type=password])>.card:last-child{max-height:none}main .split:has(>.card input[type=password])>.card:last-child thead th{position:static;box-shadow:none}main .split:has(>.card input[type=password])>.card:last-child table{min-width:720px}}@media(max-width:720px){main .split:has(>.card input[type=password])>.card{padding:16px}}.card:has(input[type=file])>h3:first-child+:is(button,a,.button):not(.primary),.card:has(input[type=file]) fieldset>:is(button,a,.button):first-child:not(.primary){position:relative;display:inline-flex;align-items:center;gap:12px;margin:6px 0 20px;padding:9px 20px 9px 10px;border:1.5px solid #a9d9dc;border-radius:999px;background:linear-gradient(135deg,#f1fafa,#dcf1f2);color:var(--brand-deep);font-size:14px;font-weight:700;letter-spacing:.005em;text-decoration:none;box-shadow:0 1px 2px #0c24300f,0 8px 20px #0c5d681f;overflow:hidden;isolation:isolate;transition:color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.card:has(input[type=file])>h3:first-child+:is(button,a,.button):not(.primary):before,.card:has(input[type=file]) fieldset>:is(button,a,.button):first-child:not(.primary):before{content:"";flex-shrink:0;width:34px;height:34px;border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11m0 0 4.5-4.5M12 15l-4.5-4.5M5 19.5h14'/%3E%3C/svg%3E") center / 18px no-repeat,linear-gradient(135deg,var(--brand) 0%,var(--brand-2) 100%);box-shadow:0 4px 10px #0c5d6859,inset 0 1px #ffffff59;transition:transform .25s ease}.card:has(input[type=file])>h3:first-child+:is(button,a,.button):not(.primary):after,.card:has(input[type=file]) fieldset>:is(button,a,.button):first-child:not(.primary):after{content:".XLSX";margin-left:2px;padding:3px 8px;border-radius:999px;background:#0c5d681f;color:var(--brand-deep);font-size:10.5px;font-weight:800;letter-spacing:.08em;transition:background .2s ease,color .2s ease}.card:has(input[type=file])>h3:first-child+:is(button,a,.button):not(.primary):hover,.card:has(input[type=file]) fieldset>:is(button,a,.button):first-child:not(.primary):hover{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--brand-deep) 0%,var(--brand) 55%,var(--accent) 100%);transform:translateY(-2px);box-shadow:0 12px 26px #0c5d6852}.card:has(input[type=file])>h3:first-child+:is(button,a,.button):not(.primary):hover:before,.card:has(input[type=file]) fieldset>:is(button,a,.button):first-child:not(.primary):hover:before{transform:translateY(2px) scale(1.06);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11m0 0 4.5-4.5M12 15l-4.5-4.5M5 19.5h14'/%3E%3C/svg%3E") center / 18px no-repeat,linear-gradient(135deg,#ffffff47,#ffffff24);box-shadow:inset 0 0 0 1.5px #ffffff8c}.card:has(input[type=file])>h3:first-child+:is(button,a,.button):not(.primary):hover:after,.card:has(input[type=file]) fieldset>:is(button,a,.button):first-child:not(.primary):hover:after{background:#fff3;color:#fff}.card:has(input[type=file])>h3:first-child+:is(button,a,.button):not(.primary):active,.card:has(input[type=file]) fieldset>:is(button,a,.button):first-child:not(.primary):active{transform:translateY(0);box-shadow:0 4px 10px #0c5d6840}.card:has(input[type=file])>h3:first-child+:is(button,a,.button):not(.primary):focus-visible,.card:has(input[type=file]) fieldset>:is(button,a,.button):first-child:not(.primary):focus-visible{outline:none;box-shadow:var(--ring),0 8px 20px #0c5d681f}@media(max-width:520px){.card:has(input[type=file])>h3:first-child+:is(button,a,.button):not(.primary),.card:has(input[type=file]) fieldset>:is(button,a,.button):first-child:not(.primary){width:100%;justify-content:flex-start}}@media(prefers-reduced-motion:reduce){.card:has(input[type=file])>h3:first-child+:is(button,a,.button):not(.primary),.card:has(input[type=file]) fieldset>:is(button,a,.button):first-child:not(.primary),.card:has(input[type=file])>h3:first-child+:is(button,a,.button):not(.primary):before,.card:has(input[type=file]) fieldset>:is(button,a,.button):first-child:not(.primary):before{transition:none;transform:none}}.school-site{--school-ink: #0a2530;--school-teal: #0c5d68;--school-teal-deep: #073f48;--school-accent: #14a0a6;--school-gold: #f2b84b;--school-gold-deep: #c98a12;--school-soft: #e8f4f4;--school-muted: #4d6572;--school-border: #dce8ea;--school-bg: #f4f9fa;--school-radius: 20px;--school-frame: 1200px;--school-content: 1000px;--school-shadow: 0 1px 2px rgba(10, 37, 48, .05), 0 8px 24px rgba(10, 37, 48, .07);--school-shadow-hover: 0 4px 8px rgba(10, 37, 48, .06), 0 22px 44px rgba(10, 37, 48, .15);max-width:var(--school-frame);margin:0 auto;min-height:100vh;background:var(--school-bg);color:var(--school-ink);font-family:Inter,system-ui,sans-serif;font-size:17px;line-height:1.65;overflow-x:clip;box-shadow:0 0 0 1px #0a25300d,0 30px 90px #0a253024}.school-site h1,.school-site h2,.school-site h3,.school-site h4{font-family:Plus Jakarta Sans,Inter,sans-serif;color:inherit;margin-top:0}.school-site p{margin-top:0}.school-site a{text-decoration:none}.school-site section[id]{scroll-margin-top:84px}.school-site :focus-visible{outline:3px solid var(--school-gold);outline-offset:2px;box-shadow:none}.school-nav{position:sticky;top:0;z-index:50;background:#ffffffeb;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);box-shadow:0 6px 24px #0a25300f}.school-nav:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--school-teal-deep),var(--school-accent) 55%,var(--school-gold))}.school-nav-inner{padding:12px 24px 14px;display:flex;align-items:center;justify-content:space-between;gap:20px}.school-brand{display:flex;align-items:center;gap:12px;cursor:pointer;border-radius:14px}.school-brand b{display:block;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--school-ink)}.school-brand span{display:block;margin-top:2px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--school-teal)}.school-logo{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:14px;font-family:Plus Jakarta Sans,Inter,sans-serif;font-weight:800;font-size:16px;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,var(--school-teal-deep),var(--school-accent));box-shadow:0 6px 16px #0c5d684d}.school-menu-toggle{display:none;width:44px;height:44px;padding:0;align-items:center;justify-content:center;font-size:20px;border-radius:12px;border:1px solid var(--school-border);background:#fff;color:var(--school-ink)}.school-menu-toggle:hover{background:var(--school-soft)}.school-links{display:flex;align-items:center;gap:2px}.school-links button{position:relative;padding:10px 14px;border:none;border-radius:10px;background:transparent;color:var(--school-ink);font-size:14.5px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.school-links button:after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:2px;background:var(--school-gold);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.school-links button:hover{background:var(--school-soft);color:var(--school-teal)}.school-links button:hover:after{transform:scaleX(1)}.school-links .school-cta{margin-left:10px;padding:11px 20px;border-radius:999px;color:#fff;font-weight:700;background:linear-gradient(135deg,var(--school-teal-deep),var(--school-teal) 55%,#0e9a96);box-shadow:0 8px 20px #0c5d6847;transition:transform .18s ease,box-shadow .18s ease}.school-links .school-cta:after{display:none}.school-links .school-cta:hover{color:#fff;background:linear-gradient(135deg,#052f36,var(--school-teal-deep) 55%,var(--school-teal));transform:translateY(-1px);box-shadow:0 12px 26px #0c5d6861}.school-hero{position:relative;isolation:isolate;margin:14px 14px 0;border-radius:28px;padding:72px 52px 120px;min-height:min(640px,calc(100vh - 110px));display:flex;align-items:center;overflow:hidden;color:#fff}.school-hero-slider{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:#073f48;overflow:hidden}.school-hero-slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transform:translate(4%) scale(1.04);transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.7,.2,1);pointer-events:none}.school-hero-slide.active{opacity:1;transform:none;z-index:1}.school-hero-slide.prev{opacity:0;transform:translate(-4%) scale(1.04)}.school-hero-fallback{background-image:url(/school/assembly.jpg);background-position:center 35%;opacity:1!important;transform:none!important}.school-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(95deg,#041e26e6,#041e26bd 38%,#041e264d 68%,#041e261a),linear-gradient(180deg,#041e2640,#041e2600 25%,#041e2600 55%,#041e2699)}.school-hero-controls{position:absolute;z-index:4;bottom:24px;right:28px;display:flex;align-items:center;gap:12px;padding:7px 10px;border-radius:999px;background:#05242c73;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.school-slide-btn{width:36px;height:36px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:#ffffff1f;color:#fff;font-size:22px;line-height:1;cursor:pointer;transition:background .15s ease,transform .15s ease}.school-slide-btn:hover{background:var(--school-gold);color:#3b2a00;transform:scale(1.08)}.school-slide-dots{display:flex;align-items:center;gap:7px}.school-slide-dot{width:9px;height:9px;padding:0;border-radius:999px;border:none;background:#ffffff73;cursor:pointer;transition:width .25s ease,background .2s ease}.school-slide-dot:hover{background:#ffffffd9}.school-slide-dot.active{width:26px;background:var(--school-gold)}.school-hero-content{position:relative;z-index:3;width:100%;max-width:940px;text-align:left}.school-hero-content>*{animation:school-rise .7s cubic-bezier(.2,.7,.2,1) both}.school-hero-content>:nth-child(2){animation-delay:.08s}.school-hero-content>:nth-child(3){animation-delay:.16s}.school-hero-content>:nth-child(4){animation-delay:.24s}.school-hero-content>:nth-child(5){animation-delay:.34s}.school-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--school-accent);margin:0 0 14px}.school-eyebrow:before{content:"";width:24px;height:2px;border-radius:2px;background:currentColor}.school-hero .school-eyebrow{color:var(--school-gold);padding:7px 14px 7px 12px;border-radius:999px;background:#041e2680;border:1px solid rgba(255,255,255,.22);margin-bottom:20px}.school-hero h1{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;line-height:1.07;letter-spacing:-.03em;margin:0 0 18px;color:#fff;max-width:16ch;text-shadow:0 2px 4px rgba(0,0,0,.35),0 6px 30px rgba(0,0,0,.4)}.school-lead{font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.7;color:#fff;margin:0 0 28px;max-width:580px;text-shadow:0 1px 3px rgba(0,0,0,.5),0 2px 18px rgba(0,0,0,.4)}.school-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:40px}.btn-primary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:999px;font-weight:700;font-size:15.5px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.btn-primary{background:linear-gradient(135deg,var(--school-gold),#f7d27f);color:#3b2a00;border:none;box-shadow:0 10px 26px #f2b84b61}.btn-primary:after{content:"→";transition:transform .18s ease}.btn-primary:hover{background:linear-gradient(135deg,#f6c25c,#fbd98f);color:#3b2a00;transform:translateY(-2px);box-shadow:0 16px 34px #f2b84b80}.btn-primary:hover:after{transform:translate(4px)}.btn-ghost{background:#041e2673;color:#fff;border:1.5px solid rgba(255,255,255,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.btn-ghost:hover{background:#ffffff38;color:#fff;border-color:#fff;transform:translateY(-2px)}.btn-large{padding:16px 32px;font-size:16.5px}.school-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:760px}.school-stat{position:relative;background:#041e2680;border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:16px 16px 14px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .2s ease,background .2s ease}.school-stat:hover{transform:translateY(-3px);background:#041e26a8}.school-stat:before{content:"";position:absolute;top:0;left:16px;width:26px;height:3px;border-radius:0 0 3px 3px;background:var(--school-gold)}.school-stat strong{display:block;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:#fff;line-height:1.2}.school-stat span{display:block;margin-top:2px;font-size:12.5px;color:#ffffffd1}.school-section{padding:76px 24px}.school-section-alt{background:#fff;border-top:1px solid var(--school-border);border-bottom:1px solid var(--school-border)}.school-container{max-width:var(--school-content);margin:0 auto}.school-section-head{max-width:640px;margin:0 auto 44px;text-align:center}.school-section-head .school-eyebrow:after{content:"";width:24px;height:2px;border-radius:2px;background:currentColor}.school-section-head h2{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800;line-height:1.15;letter-spacing:-.03em;margin:0 0 12px;white-space:normal;word-spacing:normal}.school-section-lead{color:var(--school-muted);font-size:1.02rem;margin:0}.school-about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:start}.school-about-text p{color:var(--school-muted);font-size:1.03rem;line-height:1.85;margin-bottom:22px}.school-checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.school-checklist li{display:flex;align-items:flex-start;gap:10px;padding:14px;background:#fff;border:1px solid var(--school-border);border-radius:14px;box-shadow:var(--school-shadow);font-size:.93rem;font-weight:600;line-height:1.4}.school-checklist li:before{content:"✓";flex:none;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--school-teal),var(--school-accent))}.school-about-cards{display:grid;gap:14px}.school-info-card{display:grid;grid-template-columns:48px 1fr;column-gap:16px;align-items:start;padding:18px 20px;background:#fff;border:1px solid var(--school-border);border-left:4px solid var(--school-accent);border-radius:16px;box-shadow:var(--school-shadow);transition:transform .2s ease,box-shadow .2s ease}.school-info-card:hover{transform:translateY(-3px);box-shadow:var(--school-shadow-hover)}.school-info-icon{grid-row:1 / span 2;width:48px;height:48px;display:grid;place-items:center;font-size:22px;border-radius:14px;background:var(--school-soft)}.school-info-card h3{font-size:1.08rem;font-weight:800;margin:0 0 4px}.school-info-card p{margin:0;font-size:.95rem;line-height:1.6;color:var(--school-muted)}.school-course-grid{display:grid;gap:20px;counter-reset:course}.school-course-grid-4{grid-template-columns:repeat(4,1fr)}.school-course-card{position:relative;counter-increment:course;padding:28px 22px 24px;background:#fff;border:1px solid var(--school-border);border-radius:var(--school-radius);box-shadow:var(--school-shadow);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}.school-course-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--school-teal),var(--school-accent),var(--school-gold))}.school-course-card:after{content:counter(course,decimal-leading-zero);position:absolute;top:16px;right:18px;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:2.2rem;font-weight:800;line-height:1;color:#0c5d6817}.school-course-card:hover{transform:translateY(-6px);box-shadow:var(--school-shadow-hover)}.school-course-icon{width:54px;height:54px;display:grid;place-items:center;font-size:26px;border-radius:16px;background:linear-gradient(135deg,var(--school-soft),#d3ecec);margin-bottom:16px}.school-course-level{display:inline-block;padding:4px 11px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--school-teal);background:var(--school-soft);margin-bottom:10px}.school-course-card h3{font-size:1.15rem;font-weight:800;line-height:1.25;margin:0 0 10px}.school-course-card p{margin:0;font-size:.94rem;line-height:1.7;color:var(--school-muted)}.school-course-card:nth-child(2) .school-course-icon{background:linear-gradient(135deg,#e6efff,#cfdfff)}.school-course-card:nth-child(3) .school-course-icon{background:linear-gradient(135deg,#fff3d9,#fde3a6)}.school-course-card:nth-child(4) .school-course-icon{background:linear-gradient(135deg,#efe7ff,#dccdff)}.school-event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}.school-event-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--school-border);border-radius:var(--school-radius);box-shadow:var(--school-shadow);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}.school-event-card:hover{transform:translateY(-6px);box-shadow:var(--school-shadow-hover)}.school-event-img{aspect-ratio:16 / 10;overflow:hidden;background:var(--school-soft)}.school-event-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.school-event-card:hover .school-event-img img{transform:scale(1.06)}.school-event-body{padding:16px 18px 20px}.school-event-body time{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.03em;color:var(--school-teal);background:var(--school-soft);margin-bottom:8px}.school-event-body h3{font-size:1.1rem;font-weight:800;line-height:1.3;margin:0 0 6px}.school-event-body p{margin:0;font-size:.93rem;line-height:1.6;color:var(--school-muted);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.school-ann-list{display:grid;gap:16px;max-width:800px;margin:0 auto}.school-ann-card{padding:22px 24px;background:#fff;border:1px solid var(--school-border);border-left:5px solid var(--school-accent);border-radius:16px;box-shadow:var(--school-shadow);transition:transform .2s ease,box-shadow .2s ease}.school-ann-card:hover{transform:translateY(-3px);box-shadow:var(--school-shadow-hover)}.school-ann-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px}.school-ann-meta time{font-size:13px;font-weight:600;color:var(--school-muted)}.school-badge{padding:3px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.05em;background:#fde8e6;color:#b42318}.school-badge.muted{background:var(--school-soft);color:var(--school-teal)}.school-ann-card h3{font-size:1.15rem;font-weight:800;line-height:1.3;margin:0 0 6px}.school-ann-body{margin:0 0 12px;font-size:.97rem;line-height:1.7;color:var(--school-muted)}.school-download{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:999px;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--school-teal),var(--school-accent));box-shadow:0 6px 16px #0c5d6840;transition:transform .18s ease,box-shadow .18s ease}.school-download:hover{color:#fff;transform:translateY(-2px);box-shadow:0 10px 22px #0c5d6859}.school-staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}.school-staff-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--school-border);border-radius:var(--school-radius);box-shadow:var(--school-shadow);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}.school-staff-card:hover{transform:translateY(-6px);box-shadow:var(--school-shadow-hover)}.school-staff-photo{position:relative;aspect-ratio:1 / 1.05;overflow:hidden;background:var(--school-soft)}.school-staff-photo:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--school-teal),var(--school-accent),var(--school-gold))}.school-staff-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:transform .5s ease}.school-staff-card:hover .school-staff-photo img{transform:scale(1.05)}.school-staff-placeholder{width:100%;height:100%;display:grid;place-items:center;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:3.2rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--school-teal-deep),var(--school-accent))}.school-staff-body{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 16px 18px;flex:1}.school-staff-role{display:inline-block;padding:3px 11px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--school-teal);background:var(--school-soft)}.school-staff-dept{font-size:12.5px;font-weight:600;color:var(--school-muted)}.school-staff-body h3{font-size:1.08rem;font-weight:800;line-height:1.25;margin:4px 0 8px}.school-staff-contacts{display:grid;gap:7px;width:100%;margin-top:auto}.school-staff-contacts a{display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:10px;background:#f1f7f8;color:var(--school-ink);font-size:13px;font-weight:500;overflow-wrap:anywhere;transition:background .15s ease,color .15s ease}.school-staff-contacts a:hover{background:var(--school-teal);color:#fff}.school-staff-ico{flex:none;font-size:14px}.school-cta-box{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:36px;padding:32px 36px;border-radius:var(--school-radius);color:#fff;background:linear-gradient(135deg,var(--school-teal-deep),var(--school-teal))}.school-cta-box .school-eyebrow{color:var(--school-gold)}.school-cta-box h2{color:#fff;margin:0 0 6px}.school-cta-box p{margin:0;color:#ffffffd9}.school-cta-box .btn-primary{flex-shrink:0;white-space:nowrap}.school-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.school-contact-grid>div{padding:20px;background:#fff;border:1px solid var(--school-border);border-radius:16px;box-shadow:var(--school-shadow)}.school-contact-grid h4{margin:0 0 8px;padding-bottom:8px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--school-teal);border-bottom:2px solid var(--school-soft)}.school-contact-grid p{margin:0;font-size:.95rem;color:var(--school-muted)}.school-footer{margin-top:0;padding:30px 24px;background:linear-gradient(180deg,var(--school-teal-deep),#052a31);color:#fff}.school-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.school-footer p{margin:0;font-size:13.5px;color:#ffffffb8}.school-brand-footer{cursor:default}.school-brand-footer b{color:#fff}.school-brand-footer span{color:#ffffffa6}.school-alert{max-width:640px;margin:0 auto 20px;padding:14px 18px;border-radius:12px;background:#fdecea;border:1px solid #f5c2bd;color:#b42318;text-align:center;font-size:.95rem}.school-empty{max-width:640px;margin:0 auto;padding:28px 24px;text-align:center;color:var(--school-muted);background:#fff;border:1.5px dashed var(--school-border);border-radius:16px}.school-empty:empty{display:none}@keyframes school-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(max-width:1100px){.school-course-grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:960px){.school-about-grid,.school-contact-grid{grid-template-columns:1fr}.school-about-grid{gap:30px}.school-section{padding:60px 20px}.school-hero{padding:60px 32px 110px}.school-cta-box{flex-direction:column;align-items:flex-start}}@media(max-width:800px){.school-nav-inner{padding:10px 16px 12px}.school-menu-toggle{display:inline-flex}.school-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:4px;padding:12px 16px 18px;background:#fff;border-bottom:1px solid var(--school-border);box-shadow:0 18px 30px #0a25301f}.school-links.open{display:flex;animation:school-rise .25s ease both}.school-links button{text-align:left;padding:13px 14px;font-size:15.5px}.school-links button:after{display:none}.school-links .school-cta{margin:8px 0 0;text-align:center}.school-brand b{font-size:16.5px}.school-logo{width:42px;height:42px}.school-hero{margin:10px 10px 0;border-radius:22px;padding:44px 22px 100px;min-height:0}.school-hero-overlay{background:linear-gradient(180deg,#041e26d1,#041e26b3 55%,#041e26d1)}.school-hero-controls{right:50%;transform:translate(50%);bottom:18px}.school-hero h1{max-width:none}.school-hero-actions{margin-bottom:28px}.school-hero-actions .btn-primary,.school-hero-actions .btn-ghost{flex:1 1 100%}.school-stats{grid-template-columns:repeat(2,1fr)}.school-checklist{grid-template-columns:1fr}.school-section-head{margin-bottom:32px}.school-ann-card{padding:18px 18px 18px 20px}.school-cta-box .btn-primary{width:100%}.school-footer-inner{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.school-course-grid-4{grid-template-columns:1fr}.school-staff-grid{grid-template-columns:1fr 1fr;gap:14px}.school-staff-body{padding:13px 13px 15px}.school-staff-body h3{font-size:1rem}.school-staff-contacts a{font-size:12px;padding:7px 9px}}@media(max-width:420px){.school-staff-grid{grid-template-columns:1fr}.school-stat{padding:13px 13px 11px}.school-stat strong{font-size:1.2rem}}@media(prefers-reduced-motion:reduce){.school-hero-slide,.school-hero-content>*,.school-links.open{animation:none;transition:none}.school-site *,.school-site *:before,.school-site *:after{transition-duration:.01ms!important}}
