:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:Avenir Next,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#fff;min-width:320px}button,input,select,textarea{font:inherit}a{color:inherit}.login-page,.app-shell,.splash-screen{min-height:100vh}.splash-screen{background:radial-gradient(circle at 0 0,#155e752e,#0000 32%),radial-gradient(circle at 100% 100%,#92400e29,#0000 28%),linear-gradient(140deg,#faf7f2 0%,#f5efe5 100%);place-items:center;display:grid}.login-page{background:#0f172a;grid-template-columns:minmax(2rem,1fr) minmax(26rem,31rem);align-items:center;padding:clamp(1.25rem,4vw,4rem) clamp(1.25rem,6vw,7rem);display:grid;position:relative;overflow:hidden}.login-background-layer,.login-background,.login-background-overlay{position:absolute;inset:0}.login-background-layer{z-index:0;background:#0f172a}.login-background{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .9s,transform 6.5s;transform:scale(1.035)}.login-background.active{opacity:1;transform:scale(1)}.login-background-overlay{background:linear-gradient(90deg,#0f172a6b 0%,#0f172a14 45%,#0f172a47 100%),linear-gradient(#0f172a14 0%,#0f172a70 100%)}.login-brand{z-index:1;color:#fff;text-shadow:0 2px 12px #0f172a6b;align-items:center;gap:.7rem;font-size:1.22rem;font-weight:900;display:inline-flex;position:absolute;top:clamp(1.2rem,3vw,2.1rem);left:clamp(1.25rem,6vw,7rem)}.brand-logo{object-fit:cover;background:#fff;border-radius:50%;flex:none;width:2.55rem;height:2.55rem;box-shadow:0 8px 22px #0f172a2e}.topbar-brand .brand-logo{width:2rem;height:2rem;box-shadow:0 8px 18px #2563eb2e}.splash-card,.login-card,.panel.card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd6;border:1px solid #0f172a14;box-shadow:0 18px 50px #0f172a14}.login-panel{z-index:1;grid-column:2;justify-content:center;align-items:center;display:flex;position:relative}.resource-list strong,.about-box strong{font-size:1.05rem;display:block}.resource-list span,.topbar-user span{color:#5b6475}.login-card,.splash-card{border-radius:1rem;width:min(100%,31rem);padding:2rem}.login-card{background:#ffffffe0;box-shadow:0 22px 58px #0f172a38}.login-head{text-align:center;margin-bottom:1.15rem}.login-head h2{color:#1f2937;font-size:1.75rem}.login-head h2,.splash-card h1,.brand h1,.workspace-header h2,.section-head h3{margin:.3rem 0 .5rem}.login-card .primary-button{background:#0891b2;width:100%;min-height:3.05rem;box-shadow:0 12px 22px #0891b238}.login-hint{text-align:center;color:#94a3b8;margin:0;font-size:.9rem}.captcha-row,.captcha-input-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.captcha-input-row input{flex:9rem;min-width:0}.captcha-box{background:#fffdf8;border:1px solid #0f172a14;border-radius:.95rem;flex:0 0 9.5rem;place-items:center;width:9.5rem;height:3.2rem;display:grid;overflow:hidden}.captcha-button{cursor:pointer;padding:0;transition:transform .12s,border-color .12s}.captcha-button:hover{border-color:#0891b273;transform:translateY(-1px)}.captcha-button svg{width:100%;height:100%;display:block}.app-shell{background:radial-gradient(circle at 8% 12%,#3b82f614,#0000 26rem),linear-gradient(#f7fbff 0%,#fff 18rem);flex-direction:column;display:flex}.topbar{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7fbffdb;padding:0;position:sticky;top:0}.topbar-inner{background:#fff;border:1px solid #94a3b82e;border-left:none;border-right:none;border-radius:0;justify-content:space-between;align-items:center;gap:1rem;width:100%;margin:0;padding:.85rem .95rem;display:flex;box-shadow:0 18px 45px #1e40af17}.topbar-main{flex:1;align-items:center;gap:2.2rem;min-width:0;display:flex}.brand{min-width:14rem}.topbar-brand{border-right:1px solid #94a3b838;align-items:center;gap:.7rem;padding:0 1.35rem 0 .55rem;display:flex}.brand-mark{background:linear-gradient(90deg,#ffffffbf 1px,#0000 1px) 0 0/.55rem .55rem,linear-gradient(#ffffffbf 1px,#0000 1px) 0 0/.55rem .55rem,linear-gradient(135deg,#38bdf8,#2563eb) 0 0/100% 100%;border-radius:.38rem;width:1.45rem;height:1.45rem;box-shadow:0 8px 18px #2563eb3d}.topbar-brand h1,.topbar-user p{white-space:nowrap;color:#1f5f83;margin:0;font-size:1.05rem;line-height:1.1}.topbar-actions{align-items:center;gap:.75rem;display:flex}.topbar-user{text-align:right;gap:.1rem;min-width:6.5rem;display:grid}.topbar-user span{font-size:.78rem}.eyebrow{color:#64748b;text-transform:uppercase;letter-spacing:.18em;margin:0;font-size:.75rem}.top-nav{background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:1.85rem;width:100%;min-width:0;max-width:100%;padding:0;display:flex;overflow:visible}.nav-item,.ghost-button,.primary-button,.danger-link,.ghost-link{cursor:pointer;border:none;transition:transform .12s,background .12s,color .12s,border-color .12s}.nav-item{text-align:center;color:#1f2937;white-space:nowrap;background:0 0;border-radius:999px;padding:.72rem .25rem;font-weight:700}.nav-item:hover,.ghost-button:hover,.primary-button:hover{transform:translateY(-1px)}.nav-item.active{color:#2563eb;box-shadow:none;background:0 0}.nav-item.active:after{content:"";background:#2563eb;border-radius:999px;width:1.4rem;height:.16rem;margin:.34rem auto -.5rem;display:block}.icon-button{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #94a3b847;border-radius:.82rem;width:2.8rem;height:2.8rem;font-size:.78rem;font-weight:800}.nav-action{background:#2f8df4;border-radius:.82rem;min-width:5.8rem;box-shadow:0 10px 20px #2f8df42e}.workspace{background:0 0;width:100%;max-width:none;margin:0;padding:1rem 0 2rem}.workspace-notice{width:fit-content;margin:0 0 1rem .25rem}.workspace-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;padding:0 .25rem;display:flex}.workspace-meta{color:#5b6475;gap:.8rem;display:flex}.notice,.tag{border-radius:999px;align-items:center;padding:.45rem .7rem;font-size:.88rem;font-weight:700;display:inline-flex}.notice.success,.tag.success{color:#166534;background:#15803d1f}.notice.error,.tag.error,.danger-link{color:#b42318}.tag.neutral{color:#334155;background:#4755691a}.panel-stack,.dashboard-hero,.dashboard-actions,.profile-layout{gap:1rem;display:grid}.dashboard-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center}.dashboard-copy{color:#64748b;max-width:42rem;margin:.35rem 0 0}.dashboard-focus{background:#f8fafc;border:1px solid #94a3b833;border-radius:.8rem;gap:.18rem;min-width:12rem;padding:.75rem .9rem;display:grid}.dashboard-focus span,.dashboard-focus small{color:#64748b;font-size:.82rem}.dashboard-focus strong{color:#0f172a;font-size:1.05rem}.dashboard-actions{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr))}.dashboard-action{text-align:left;cursor:pointer;background:#fff;border:1px solid #94a3b82e;border-radius:.8rem;min-height:4.6rem;padding:.85rem .95rem}.dashboard-action span{color:#0f172a;font-weight:800;display:block}.dashboard-action small{color:#64748b;margin-top:.28rem;display:block}.dashboard-toolbar,.student-home-head,.module-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.dashboard-scope-toolbar{min-height:2.65rem}.dashboard-module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.dashboard-module,.leave-trend-module{min-height:20rem}.module-head>div{gap:.2rem;display:grid}.module-head span{color:#0f172a;font-weight:800}.module-head small,.student-salary-primary span,.student-salary-primary small,.salary-breakdown span,.metric-strip span,.rank-student small{color:#64748b}.module-head>strong{color:#0f766e;font-size:1.4rem}.line-chart{min-height:12rem;margin-top:.6rem}.line-chart svg{width:100%;height:10.5rem;display:block}.chart-axis{stroke:#dbe4ea;stroke-width:1px}.chart-grid-line{stroke:#edf2f7;stroke-width:1px;stroke-dasharray:4 5}.chart-line{fill:none;stroke:#0f766e;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#fff;stroke:#0f766e;stroke-width:3px}.chart-value-label{fill:#334155;font-size:11px;font-weight:700}.chart-labels{color:#64748b;text-align:center;grid-template-columns:repeat(12,minmax(0,1fr));font-size:.72rem;display:grid}.salary-ranking{gap:0;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.salary-ranking li{border-bottom:1px solid #edf1f5;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:3rem;display:grid}.rank-index{color:#0f766e;background:#eef7f5;border-radius:50%;place-items:center;width:1.55rem;height:1.55rem;font-size:.78rem;font-weight:800;display:grid}.rank-student{min-width:0;display:grid}.rank-student strong,.rank-student small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rank-amount{color:#0f172a;font-variant-numeric:tabular-nums}.metric-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.metrics-module{grid-column:1/-1;min-height:12rem}.metric-strip>div{background:#f8fafc;border:1px solid #e4eaf0;border-radius:.5rem;align-content:center;gap:.35rem;min-height:6.5rem;padding:.85rem;display:grid}.metric-strip strong{color:#0f172a;font-size:1.7rem}.metric-strip strong small{color:#64748b;margin-left:.2rem;font-size:.75rem}.student-home-actions{flex-wrap:wrap;gap:.65rem;display:flex}.student-salary-overview{grid-template-columns:minmax(15rem,.8fr) minmax(0,1.2fr);gap:1rem;display:grid}.student-salary-primary{align-content:center;gap:.35rem;min-height:11rem;display:grid}.student-salary-primary strong{color:#0f766e;font-size:2.25rem}.salary-breakdown{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.salary-breakdown>div{border-right:1px solid #e4eaf0;align-content:center;gap:.45rem;padding:1rem;display:grid}.salary-breakdown>div:last-child{border-right:0}.salary-breakdown strong{color:#0f172a;font-size:1.2rem}.compact-empty{min-height:11rem}.panel.card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:1px solid #94a3b82e;border-radius:1.15rem;min-width:0;padding:1.15rem 1.2rem;box-shadow:0 12px 30px #1e40af0d}.toolbar,.dual-column,.form-grid.two-columns,.form-grid.three-columns,.form-grid.four-columns,.settings-grid{gap:1rem;display:grid}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:.85rem;display:flex}.query-toolbar{align-items:center}.page-control-bar{justify-content:flex-end;margin-bottom:.85rem}.page-summary{justify-content:flex-end;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.query-toolbar .field{flex-direction:row;align-items:center;gap:.45rem;display:inline-flex}.query-toolbar .field span{white-space:nowrap;flex:none}.query-toolbar .field input,.query-toolbar .field select{min-width:8.8rem}.toolbar .field{flex:0 12rem}.toolbar>button,.toolbar>input[type=file]{flex:none}.account-sync-toolbar{justify-content:flex-end}.account-sync-toolbar .field{min-width:15rem}.form-grid{gap:1rem;display:grid}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four-columns{grid-template-columns:repeat(4,minmax(0,1fr))}.dual-column{grid-template-columns:1fr .6fr}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.about-copyright-box{grid-column:1/-1}.copyright-notice{color:#334155;white-space:pre-wrap;font-weight:700;line-height:1.8}.about-editor{gap:.85rem;margin-top:1rem;display:grid}.about-editor textarea{min-height:12rem}.settings-layout,.settings-content{gap:1rem;min-width:0;display:grid}.subnav{background:#fff;border:1px solid #0f172a14;border-radius:1.2rem;flex-wrap:wrap;gap:.45rem;width:100%;min-width:0;padding:.5rem;display:flex;overflow:visible}.subnav-item{cursor:pointer;color:#334155;white-space:nowrap;background:#f8fafc;border:none;border-radius:.8rem;min-height:2.45rem;padding:.55rem .9rem;font-weight:800;transition:transform .12s,background .12s,color .12s}.subnav-item:hover{transform:translateY(-1px)}.subnav-item.active{color:#fff;background:#155e75}.panel-tabs{background:#f1f5f9;border-radius:.85rem;gap:.35rem;margin-bottom:1rem;padding:.3rem;display:inline-flex}.panel-tab{cursor:pointer;color:#475569;white-space:nowrap;background:0 0;border:none;border-radius:.65rem;flex:none;min-height:2.3rem;padding:.52rem .9rem;font-weight:800}.panel-tab.active{color:#155e75;background:#fff;box-shadow:0 8px 18px #0f172a14}.full-width{grid-column:1/-1}.field{gap:.45rem;min-width:0;display:grid}.field span{color:#46505f;font-size:.9rem;font-weight:700}.field-hint{color:#64748b;font-size:.8rem;font-weight:700}.field input,.field select,.field textarea,.data-table input,.data-table select{width:100%;font:inherit;color:#0f172a;background:#fff;border:1px solid #94a3b847;border-radius:.78rem;padding:.7rem .85rem}.field input,.field select,.field textarea{min-width:0;max-width:100%}.data-table input,.data-table select{border-radius:.7rem;min-width:5.5rem;padding:.45rem .5rem}.field textarea{resize:vertical;min-height:6.2rem}.compact input,.compact select{min-width:11rem}.compact-controls .primary-button,.compact-controls .ghost-button{min-height:2.35rem;padding:.52rem .85rem}.salary-summary,.query-count{color:#475569;align-items:center;gap:.55rem;font-weight:700;display:inline-flex}.salary-summary{flex-wrap:wrap;justify-content:flex-end}.salary-summary strong{color:#0f172a}.profile-layout{grid-template-columns:minmax(0,1fr) minmax(20rem,.75fr);align-items:start}.profile-list{gap:.7rem;margin:0;display:grid}.profile-list div{border-bottom:1px solid #94a3b829;grid-template-columns:6rem minmax(0,1fr);align-items:center;gap:.8rem;padding:.55rem 0;display:grid}.profile-list dt{color:#64748b;font-weight:700}.profile-list dd{color:#0f172a;margin:0;font-weight:800}.account-role-groups{gap:1rem;display:grid}.account-role-section{gap:.65rem;display:grid}.account-role-heading{justify-content:space-between;align-items:center;gap:.8rem;padding:.35rem .1rem;display:flex}.account-role-heading span{color:#64748b;font-weight:700}.full-span{grid-column:1/-1}.double-span{grid-column:span 2}.triple-span{grid-column:span 3}.primary-button,.ghost-button{white-space:nowrap;border-radius:.82rem;justify-content:center;align-items:center;gap:.35rem;min-height:2.55rem;padding:.62rem 1rem;font-weight:700;line-height:1;display:inline-flex}.primary-button{color:#fff;background:#2f8df4;box-shadow:0 10px 20px #2f8df429}.ghost-button{color:#1f2937;background:#fff;border:1px solid #94a3b847}.file-button{cursor:pointer;max-width:14rem;position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-button span{text-overflow:ellipsis;overflow:hidden}.ghost-link,.danger-link{border-radius:999px;justify-content:center;align-items:center;min-height:2rem;padding:.32rem .62rem;font-weight:700;line-height:1;display:inline-flex}.ghost-link{color:#155e75;background:#ecfeff}.danger-link{background:#fff1f2}.primary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.58;transform:none}.full-width,.full-span,.table-wrap{width:100%}.table-wrap{min-width:0;overflow:auto}.business-table-wrap{scrollbar-gutter:stable;max-height:calc(100vh - 13.5rem)}.data-table{border-collapse:separate;border-spacing:0;width:100%;min-width:max-content}.data-table th,.data-table td{box-sizing:border-box;white-space:nowrap;background:0 0;border-bottom:1px solid #94a3b829;padding:.78rem .8rem}.wide-table th:first-child,.wide-table td:first-child{width:6.6rem;min-width:6.6rem;max-width:6.6rem}.wide-table th:nth-child(2),.wide-table td:nth-child(2){width:5.9rem;min-width:5.9rem;max-width:5.9rem}.wide-table tbody td{text-align:center;font-variant-numeric:tabular-nums;padding:.42rem .34rem}.wide-table tbody td.sticky-col{text-align:left;padding:.78rem .8rem}.data-table th{z-index:6;color:#475569;background:#f8fafc;position:sticky;top:0}.attendance-day-heading{text-align:center;width:3.15rem;min-width:3.15rem;padding:.48rem .38rem}.attendance-day-heading .day-number,.attendance-day-heading .weekday-label{line-height:1.1;display:block}.attendance-day-heading .day-number{color:#0f172a;font-size:.92rem;font-weight:800}.attendance-day-heading .weekday-label{color:#64748b;margin-top:.22rem;font-size:.76rem;font-weight:700}.attendance-cell{width:3.15rem;min-width:3.15rem;max-width:3.15rem}.data-table select.attendance-select{appearance:none;text-align:center;text-align-last:center;font-variant-numeric:tabular-nums;border-radius:.55rem;width:2.75rem;min-width:2.75rem;max-width:2.75rem;height:2.2rem;padding:0 .2rem;font-family:Microsoft YaHei,Segoe UI Symbol,Noto Sans CJK SC,system-ui,sans-serif;font-size:1rem;line-height:1}.attendance-hours{color:#64748b;text-align:center;margin-top:.18rem;font-size:.72rem;font-weight:800;line-height:1;display:block}.mobile-attendance-list{display:none}.mobile-attendance-card{background:#fff;border:1px solid #94a3b838;border-radius:1rem;padding:.85rem;box-shadow:0 .75rem 1.6rem #0f172a0f}.mobile-attendance-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.mobile-attendance-head strong,.mobile-attendance-head span,.mobile-attendance-summary span{display:block}.mobile-attendance-head strong{color:#0f172a;font-size:1rem}.mobile-attendance-head span,.mobile-attendance-summary span{color:#64748b;font-size:.78rem;font-weight:700}.mobile-attendance-summary{text-align:right}.mobile-attendance-days{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;display:grid}.mobile-attendance-day{gap:.35rem;min-width:0;display:grid}.mobile-day-label{color:#334155;justify-content:space-between;align-items:center;gap:.2rem;font-size:.78rem;font-weight:800;display:flex}.mobile-day-label small,.mobile-attendance-hours{color:#64748b;font-size:.68rem;font-weight:800}.mobile-attendance-select{color:#0f172a;text-align:center;text-align-last:center;background:#f8fafc;border:1px solid #94a3b85c;border-radius:.75rem;width:100%;min-width:0;height:2.75rem;font-family:Microsoft YaHei,Segoe UI Symbol,Noto Sans CJK SC,system-ui,sans-serif;font-size:1.1rem;font-weight:800}.assessment-field-heading{white-space:normal;line-height:1.28}.assessment-field-cell{white-space:normal}.data-table input.assessment-input{width:100%;min-width:100%}.explanation-button{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #d8e1e8;border-radius:.35rem;width:100%;margin-top:.35rem;padding:.28rem .35rem;font-size:.72rem}.explanation-button.filled{color:#0f766e;background:#eef9f6;border-color:#99d5ca}.explanation-modal textarea{min-height:9rem}.wide-table .sticky-col{z-index:4;background:#fffffff7;position:sticky;left:0;box-shadow:10px 0 16px #0f172a0a}.wide-table .sticky-col.second{z-index:4;left:calc(6.6rem - 1px)}.wide-table thead .sticky-col{z-index:8;background:#f8fafc}.compact-table-wrap{max-height:20rem}.inline-actions{flex-wrap:wrap;gap:.45rem;display:inline-flex}.semester-check-list{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.55rem;display:grid}.check-option{color:#334155;background:#f8fafc;border:1px solid #94a3b838;border-radius:.8rem;align-items:center;gap:.45rem;min-height:2.55rem;padding:.55rem .7rem;font-weight:700;display:flex}.check-option input{accent-color:#155e75;width:1rem;height:1rem}.section-head{justify-content:space-between;gap:1rem;margin-bottom:1rem;display:flex}.hint{color:#64748b;margin:.8rem 0 0;font-size:.92rem}.chip-list{flex-wrap:wrap;gap:.7rem;margin-top:1rem;display:flex}.chip{color:#2563eb;background:#eef6ff;border-radius:999px;align-items:center;padding:.55rem .85rem;font-weight:700;display:inline-flex}.resource-list{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.resource-list li{background:#f8fafc;border:1px solid #94a3b82e;border-radius:.95rem;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem .95rem;display:flex}.about-box,.upload-block,.empty-state{background:#f8fafc;border:1px dashed #94a3b852;border-radius:1rem;padding:1rem}.empty-state{text-align:center;color:#64748b}.upload-block{align-content:start;gap:.85rem;display:grid}.student-form-grid textarea{min-height:7.4rem}.tight-toolbar{gap:.55rem}.modal-backdrop{z-index:80;background:#0f172a57;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-panel{background:#fff;border:1px solid #94a3b838;border-radius:1rem;width:min(100%,42rem);max-height:min(90vh,44rem);padding:1.25rem;overflow:auto;box-shadow:0 24px 70px #0f172a3d}.modal-actions{grid-column:1/-1;justify-content:flex-end;gap:.65rem;display:flex}.background-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem;margin-top:1rem;display:grid}.background-card{background:#f8fafc;border:1px solid #94a3b838;border-radius:.9rem;overflow:hidden}.background-card img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.background-card-actions{color:#64748b;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;font-size:.88rem;display:flex}.leave-workspace .panel-tabs{width:100%;max-width:100%;margin-bottom:0;display:flex;overflow-x:auto}.leave-layout,.leave-split{align-items:start;gap:1rem;display:grid}.leave-layout{grid-template-columns:minmax(0,1fr) minmax(24rem,.72fr)}.leave-split{grid-template-columns:minmax(18rem,.32fr) minmax(0,1fr)}.leave-list-panel{align-content:start;gap:.65rem;max-height:calc(100vh - 15rem);display:grid;overflow:auto}.leave-list-item{color:#0f172a;text-align:left;cursor:pointer;background:#fff;border:1px solid #94a3b838;border-radius:.8rem;gap:.45rem;width:100%;padding:.8rem;display:grid}.leave-list-row{justify-content:flex-start;align-items:center;display:flex}.leave-list-meta{color:#0f172a;flex-wrap:wrap;align-items:center;gap:.25rem .55rem;font-size:.95rem;font-weight:800;display:flex}.leave-list-meta strong{font-size:.95rem}.leave-list-meta span{color:#64748b;font-size:.9rem;font-weight:700}.leave-list-item.active{background:#eff6ff;border-color:#2f8df48c;box-shadow:inset 3px 0 #2f8df4}.leave-list-item strong,.leave-list-item small{display:block}.leave-list-item small{color:#64748b;font-weight:700}.leave-detail-grid{background:#f8fafc;border:1px solid #94a3b833;border-radius:.85rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:.85rem;display:grid}.leave-detail-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.leave-detail-grid.four-columns{grid-template-columns:repeat(4,minmax(0,1fr))}.leave-detail-grid div{gap:.22rem;display:grid}.leave-detail-grid span{color:#64748b;font-size:.78rem;font-weight:800}.leave-detail-grid strong{color:#0f172a;font-size:.95rem}.approval-toolbar{justify-content:space-between}.approval-meta{flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.attachment-list{gap:.25rem;min-width:10rem;display:grid}.attachment-list a{color:#155e75;font-weight:700;text-decoration:none}.leave-record-table td{white-space:normal;vertical-align:top;max-width:18rem}.discipline-workspace .panel-tabs{margin-bottom:0}.discipline-form-grid textarea{min-height:5.4rem}.discipline-form-section{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.55rem;display:flex}.discipline-form-section span{color:#0f172a;font-size:.92rem;font-weight:800}.discipline-form-section small{color:#64748b;font-size:.78rem}.discipline-instruction{color:#9a3412;background:#fff7ed;border:1px solid #b4530938;border-radius:.8rem;padding:.8rem .9rem;font-weight:700;line-height:1.65}.discipline-summary-table td{white-space:normal;vertical-align:top;max-width:18rem}.discipline-list-panel{max-height:calc(100vh - 14rem)}.full-width{width:100%}@media (width<=1100px){.login-page{grid-template-columns:1fr;padding:5.25rem 1rem 1.25rem}.login-panel{grid-column:1;padding:0}.login-brand{left:1.25rem}.login-card{width:min(100%,28rem)}.settings-grid,.about-grid,.dashboard-hero,.profile-layout,.dual-column,.leave-layout,.leave-split,.form-grid.two-columns,.form-grid.three-columns,.form-grid.four-columns,.leave-detail-grid.three-columns,.leave-detail-grid.four-columns{grid-template-columns:minmax(0,1fr)}.dashboard-module-grid,.student-salary-overview,.salary-breakdown{grid-template-columns:1fr}.leave-trend-module,.metrics-module{grid-column:auto}.metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-toolbar,.student-home-head{flex-direction:column;align-items:stretch}.salary-breakdown>div{border-bottom:1px solid #e4eaf0;border-right:0;min-height:5rem}.salary-breakdown>div:last-child{border-bottom:0}.chart-labels span:nth-child(2n){visibility:hidden}.dashboard-focus{min-width:0}.double-span,.triple-span{grid-column:1/-1}.section-head{flex-direction:column;align-items:stretch}.query-toolbar .field{justify-content:space-between;width:100%}.query-toolbar .field input,.query-toolbar .field select{min-width:0;max-width:13rem}.topbar{padding:0}.topbar-inner,.topbar-main{flex-direction:column;align-items:stretch}.topbar-inner{gap:.85rem;padding:.85rem}.topbar-main{gap:.85rem}.brand,.topbar-brand{min-width:0}.topbar-brand{border-right:none;padding:0}.topbar-actions{justify-content:space-between}.topbar-user{text-align:left;justify-content:space-between;min-width:0}.top-nav{flex-wrap:nowrap;gap:1.35rem;padding:.15rem 0 .45rem;overflow-x:auto}.nav-item{flex:none}.attendance-table-wrap{display:none}.mobile-attendance-list{gap:.85rem;display:grid}}@media (width<=420px){.captcha-input-row{flex-direction:column;align-items:stretch}.captcha-box{flex-basis:3.2rem;width:100%}.mobile-attendance-days{grid-template-columns:repeat(3,minmax(0,1fr))}}
