.idle-warning{z-index:2000;background:var(--surface);max-width:min(470px,100vw - 28px);color:var(--text);border:1px solid #d39b3d73;border-radius:14px;align-items:center;gap:13px;padding:15px 17px;display:flex;position:fixed;bottom:22px;right:22px;box-shadow:0 18px 45px #0d233f3d}.idle-warning-icon{color:#af781e;background:#d39b3d29;border-radius:10px;flex:none;place-items:center;width:37px;height:37px;font-size:24px;display:grid}.idle-warning strong{font-size:13px;display:block}.idle-warning p{color:var(--text-soft);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:12px}.idle-warning button{color:#fff;cursor:pointer;background:#245d9c;border:0;border-radius:9px;flex:none;min-height:36px;margin-left:auto;padding:0 12px;font-size:11px;font-weight:750}.idle-warning button:hover{background:#194b85}.idle-warning button:focus-visible{outline:3px solid var(--primary);outline-offset:3px}@media (width<=520px){.idle-warning{flex-wrap:wrap;bottom:14px;left:14px;right:14px}.idle-warning button{width:100%}}.sidebar{scrollbar-width:thin;scrollbar-color:#ffffff40 transparent;background:radial-gradient(circle at 5% 3%,#68a8ee38,#0000 38%),linear-gradient(165deg,#173f70 0%,#102e55 58%,#0b2544 100%);flex-direction:column;height:100vh;padding:22px 13px 16px;display:flex;overflow:hidden auto}[data-theme=dark] .sidebar{background:radial-gradient(circle at 5% 3%,#4f8fd426,#0000 38%),linear-gradient(165deg,#172335 0%,#111b29 62%,#0c1723 100%)}.sidebar .sidebar-brand{border-bottom:1px solid #ffffff21;gap:12px;padding:2px 7px 21px}.sidebar-school-logo{background:#fff;border-radius:13px;flex:none;place-items:center;width:48px;height:48px;padding:4px;display:grid;box-shadow:0 8px 18px #0000002b}.sidebar-school-logo img{object-fit:contain;width:100%;height:100%;display:block}.sidebar .sidebar-brand strong{color:#fff;letter-spacing:-.02em;font-size:15px;line-height:1.2}.sidebar .sidebar-brand small{color:#bfd5ee;opacity:1;margin-top:4px;font-size:10px;line-height:1.2}.sidebar-welcome{background:#ffffff17;border:1px solid #ffffff2b;border-radius:15px;flex-direction:column;align-items:flex-start;gap:7px;margin:22px 3px 25px;padding:17px 16px;display:flex;box-shadow:inset 0 1px #ffffff12}.sidebar-welcome-label{color:#b9d2ef;letter-spacing:.13em;font-size:10px;font-weight:800}.sidebar-welcome strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:19px;line-height:1.2;overflow:hidden}.sidebar-role{color:#dceeff;background:#5199e32e;border:1px solid #b6daff40;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.sidebar .sidebar-nav{gap:5px}.sidebar-section-label{color:#a9c4e3;letter-spacing:.14em;padding:0 12px 7px;font-size:10px;font-weight:800}.sidebar-admin-label{border-top:1px solid #ffffff1f;margin-top:21px;padding-top:19px}.sidebar .nav-item{color:#cfdded;opacity:1;border:1px solid #0000;border-radius:10px;gap:11px;min-height:47px;padding:0 10px;font-size:13px;font-weight:600;transition:background .18s,color .18s,transform .18s}.sidebar .nav-item:hover{color:#fff;background:#ffffff1a;transform:translate(2px)}.sidebar .nav-item.active{color:#fff;background:#ffffff29;border-color:#ffffff38;font-weight:750;box-shadow:inset 3px 0 #a8d4ff}.sidebar .nav-icon{color:#dcecff;background:#ffffff14;border-radius:8px;flex:none;place-items:center;width:31px;height:31px;font-size:17px;line-height:1;display:grid}.sidebar .nav-item.active .nav-icon{color:#fff;background:#ffffff2e}.sidebar-footer{color:#8baacb;letter-spacing:.07em;margin-top:auto;padding:22px 9px 2px;font-size:9px;font-weight:700;line-height:1.5}@media (width<=800px){.sidebar{padding:17px 9px}.sidebar .sidebar-brand{padding:2px 0 20px}.sidebar-school-logo{width:48px;height:48px}.sidebar-welcome,.sidebar-section-label,.sidebar-footer{display:none}.sidebar .sidebar-nav{margin-top:17px}.sidebar .nav-item{justify-content:center;padding:0}.sidebar .nav-item:hover{transform:none}.sidebar .nav-icon{width:38px;height:38px}.sidebar-admin-label+.nav-item{margin-top:14px}}.login-page--welcome{background:radial-gradient(circle at 12% 15%, #1f5aa629, transparent 34%), radial-gradient(circle at 88% 82%, #b6872c21, transparent 31%), var(--bg);min-height:100vh;padding:clamp(18px,4vw,54px);overflow:hidden}.login-page--welcome .login-theme-toggle{z-index:2;border:1px solid var(--border);background:var(--surface);width:42px;height:42px;box-shadow:var(--shadow);border-radius:12px;top:26px;right:30px}.login-shell{border:1px solid var(--border);background:var(--surface);border-radius:28px;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);width:min(1040px,100%);min-height:590px;display:grid;overflow:hidden;box-shadow:0 25px 70px #132e5629}.login-welcome{color:#fff;background:linear-gradient(145deg,#102d52 0%,#1b4b84 64%,#2664a1 100%);flex-direction:column;justify-content:space-between;padding:clamp(28px,5vw,58px);display:flex;position:relative;overflow:hidden}.login-welcome:before,.login-welcome:after{content:"";pointer-events:none;border:1px solid #ffffff1a;border-radius:50%;position:absolute}.login-welcome:before{width:440px;height:440px;top:-140px;right:-220px}.login-welcome:after{width:370px;height:370px;bottom:-220px;left:-170px}.login-welcome-content,.login-welcome-footer{z-index:1;position:relative}.login-emblem{background:#fffffff5;border-radius:26px;place-items:center;width:136px;height:136px;margin-bottom:34px;padding:12px;display:grid;box-shadow:0 16px 30px #0000002b}.login-emblem img{object-fit:contain;width:100%;height:100%}.login-eyebrow{color:#d7e9ff;letter-spacing:.11em;text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:800}.login-welcome h1{letter-spacing:-.035em;max-width:430px;margin:0;font-size:clamp(32px,3.7vw,48px);line-height:1.11}.login-welcome p{color:#dceaff;max-width:390px;margin:20px 0 0;font-size:17px;line-height:1.55}.login-welcome-footer{color:#bcd4ee;letter-spacing:.05em;font-size:12px}.login-page--welcome .login-form-panel{width:auto;max-width:none;box-shadow:none;border:0;border-radius:0;flex-direction:column;justify-content:center;padding:clamp(30px,5vw,64px);display:flex}.login-mobile-brand{display:none}.login-form-heading{margin-bottom:34px}.login-form-kicker{color:var(--primary);letter-spacing:.14em;font-size:11px;font-weight:800}.login-form-heading h2{color:var(--text);letter-spacing:-.025em;margin:10px 0 8px;font-size:34px}.login-form-heading p{color:var(--text-soft);margin:0;line-height:1.5}.login-page--welcome .form-group{margin-bottom:20px}.login-page--welcome .form-group label{color:var(--text);margin-bottom:8px;font-size:13px}.login-page--welcome .form-group input{background:var(--surface);border-radius:10px;height:52px;transition:border-color .18s,box-shadow .18s}.login-page--welcome .form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #1f5aa61f}.login-password-field{position:relative}.login-password-field input{padding-right:68px}.login-password-field button{color:var(--primary);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 8px;font-size:12px;font-weight:800;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.login-page--welcome .login-button{border-radius:10px;height:52px;margin-top:7px;font-size:15px}.login-help{text-align:center;color:var(--text-soft);margin:26px 0 0;font-size:12px}@media (width<=760px){.login-page--welcome{align-items:flex-start;padding:76px 18px 18px}.login-page--welcome .login-theme-toggle{top:18px;right:18px}.login-shell{border-radius:22px;max-width:470px;min-height:0;display:block}.login-welcome{display:none}.login-page--welcome .login-form-panel{padding:32px 25px}.login-mobile-brand{color:var(--text);align-items:center;gap:12px;margin-bottom:26px;font-size:12px;font-weight:800;display:flex}.login-mobile-brand img{object-fit:contain;width:62px;height:62px}.login-form-heading{margin-bottom:28px}.login-form-heading h2{font-size:30px}}.dashboard-page{width:100%;max-width:1600px;margin:0 auto}.dashboard-heading{color:#fff;background:linear-gradient(115deg,#173f72 0%,#215a9a 55%,#336eab 100%);border:1px solid #7aa7d94d;border-radius:20px;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px;padding:28px 30px;display:flex;box-shadow:0 16px 35px #13457a2b}.dashboard-heading h1{letter-spacing:-.04em;margin:0;font-size:clamp(25px,2.5vw,34px);font-weight:800}.dashboard-heading p{color:#d4e6fb;margin:7px 0 0;font-size:13px}.year-selector{flex-direction:column;gap:6px;display:flex}.year-selector label{color:#d5e8fb;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.year-selector select{color:#fff;background:#ffffff29;border:1px solid #ffffff61;border-radius:10px;outline:none;min-width:150px;height:40px;padding:0 12px}.year-selector select option{color:#17314f}.year-selector select:focus-visible{outline-offset:3px;outline:2px solid #fff}.dashboard-section{margin-bottom:34px}.dashboard-section>h2,.dashboard-section-heading h2{color:var(--text);letter-spacing:-.025em;align-items:center;gap:10px;margin:0 0 16px;font-size:17px;font-weight:800;display:flex}.dashboard-section>h2:before,.dashboard-section-heading h2:before{content:"";background:#2b69af;border-radius:4px;width:4px;height:19px}.dashboard-section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.dashboard-section-heading h2{margin-bottom:0}.dashboard-section-heading button{border:1px solid color-mix(in srgb, var(--primary) 55%, var(--border) 45%);background:var(--surface);min-width:76px;color:var(--primary);cursor:pointer;border-radius:9px;padding:8px 15px;font-size:12px;font-weight:800;transition:background .18s,color .18s,transform .18s}.dashboard-section-heading button:hover{background:var(--primary);color:#fff;transform:translateY(-1px)}.dashboard-section-heading button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.stat-grid{grid-template-columns:repeat(6,minmax(120px,1fr));gap:14px;display:grid}.collection-grid{grid-template-columns:repeat(5,minmax(145px,1fr));gap:14px;display:grid}.dashboard-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;transition:transform .2s,box-shadow .2s;box-shadow:0 7px 22px #1439600e}.dashboard-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #1439601c}.stat-card,.money-card{min-height:114px;padding:19px;position:relative;overflow:hidden}.stat-card:before,.money-card:before{content:"";background:#3777bf;width:3px;position:absolute;inset:0 auto 0 0}.stat-card:nth-child(2):before,.money-card:nth-child(2):before{background:#35a684}.stat-card:nth-child(3):before,.money-card:nth-child(3):before{background:#ba7aaf}.stat-card:nth-child(4):before,.money-card:nth-child(4):before{background:#d39b3d}.stat-card:nth-child(5):before,.money-card:nth-child(5):before{background:#8292ae}.stat-card:nth-child(6):before{background:#7a8bc9}.stat-card span,.money-card span{color:var(--text-soft);letter-spacing:.025em;margin-bottom:9px;font-size:11px;font-weight:750;display:block}.stat-card strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:clamp(25px,2.1vw,31px);display:block}.money-card strong{color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(17px,1.55vw,22px);display:block}.collection-grid[data-masked=true] .money-card strong{-webkit-user-select:none;user-select:none;font-size:0}.collection-grid[data-masked=true] .money-card strong:after{content:"****";color:var(--text);letter-spacing:.12em;font-size:clamp(20px,1.7vw,24px)}.dashboard-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.chart-card{padding:23px}.chart-card h3{color:var(--text);margin:0 0 18px;font-size:14px;font-weight:800}.chart-container{width:100%;height:310px;position:relative}.dashboard-strength-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px;display:grid}.strength-table-card{border-color:color-mix(in srgb, var(--border) 68%, var(--text) 32%);overflow:hidden}.strength-table-title{color:#fff;background:linear-gradient(135deg,#245f9f,#194b85);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.strength-table-title h3{letter-spacing:.05em;margin:0;font-size:15px;font-weight:850}.strength-table-title strong{font-variant-numeric:tabular-nums;background:#ffffff2e;border-radius:9px;place-items:center;min-width:36px;height:30px;padding:0 9px;font-size:15px;display:grid}.strength-cbse{background:linear-gradient(135deg,#16845c,#0d6545)}.strength-puc{background:linear-gradient(135deg,#b27420,#8c5310)}.strength-prestigious{background:linear-gradient(135deg,#7550a8,#51317e)}.strength-table-scroll{overflow:auto}.strength-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.strength-table th,.strength-table td{border-right:1px solid color-mix(in srgb, var(--border) 72%, var(--text) 28%);border-bottom:1px solid color-mix(in srgb, var(--border) 72%, var(--text) 28%);text-align:right;padding:10px 13px}.strength-table th:last-child,.strength-table td:last-child{border-right:0}.strength-table th:first-child,.strength-table td:first-child{text-align:left}.strength-table thead th{color:var(--text-soft);background:var(--surface-2);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:850}.strength-table tbody tr:hover{background:var(--surface-2)}.strength-table tbody td{color:var(--text)}.strength-table tfoot th{border-top:2px solid color-mix(in srgb, var(--border) 55%, var(--text) 45%);border-bottom:1px solid color-mix(in srgb, var(--border) 55%, var(--text) 45%);color:var(--text);background:var(--primary-soft);padding-top:12px;padding-bottom:12px;font-size:12px}.prestigious-table-card{border-color:color-mix(in srgb, var(--border) 68%, var(--text) 32%);overflow:hidden}.prestigious-table{min-width:760px}.prestigious-table thead tr:first-child th:nth-child(2),.prestigious-table tbody td:nth-child(2){text-align:left}.prestigious-table thead th[rowspan]{vertical-align:middle}.prestigious-table thead tr:nth-child(2) th{text-align:right}.prestigious-table thead .caste-heading{border-left:2px solid color-mix(in srgb, var(--border) 55%, var(--text) 45%);border-right:2px solid color-mix(in srgb, var(--border) 55%, var(--text) 45%);text-align:center;color:var(--text)}.prestigious-table thead tr:nth-child(2) th:first-child,.prestigious-table thead tr:nth-child(2) th:nth-child(4),.prestigious-table tbody td:nth-child(3),.prestigious-table tbody td:nth-child(6),.prestigious-table tbody td:nth-child(9){border-left:2px solid color-mix(in srgb, var(--border) 55%, var(--text) 45%)}.prestigious-table thead tr:first-child th:last-child,.prestigious-table tbody td:last-child,.prestigious-table tfoot th:last-child{border-left:2px solid color-mix(in srgb, var(--border) 48%, var(--text) 52%)}.strength-empty{color:var(--text-soft)!important;text-align:center!important;padding:28px!important}.dashboard-loading{min-height:400px;color:var(--text-soft);justify-content:center;align-items:center;gap:12px;display:flex}.dashboard-error{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:25px}.dashboard-error h3{color:var(--danger);margin-top:0}.retry-button{border-radius:8px;padding:10px 18px}@media (width<=1200px){.stat-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}.collection-grid{grid-template-columns:repeat(3,minmax(145px,1fr))}.dashboard-strength-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=850px){.dashboard-heading{flex-direction:column;align-items:stretch;padding:22px}.year-selector select{width:100%}.dashboard-chart-grid,.dashboard-strength-grid{grid-template-columns:1fr}.stat-grid,.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-container{height:280px}}@media (width<=520px){.stat-grid,.collection-grid{gap:10px}.stat-card,.money-card{min-height:105px;padding:14px}.money-card strong{font-size:16px}}.students-page{width:100%;max-width:1600px;margin:0 auto}.students-heading{color:#fff;background:linear-gradient(115deg,#173f72,#215a9a 60%,#336eab);border:1px solid #7aa7d94d;border-radius:20px;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;padding:26px 28px;display:flex;box-shadow:0 16px 35px #13457a2b}.students-heading h1{letter-spacing:-.04em;margin:0;font-size:clamp(25px,2.5vw,34px);font-weight:800}.students-heading p{color:#d4e6fb;margin:7px 0 0;font-size:13px}.students-heading-actions{align-items:flex-end;gap:12px;display:flex}.students-year{flex-direction:column;gap:5px;display:flex}.students-year label{color:#d5e8fb;text-transform:uppercase;font-size:10px;font-weight:700}.students-year select,.students-toolbar select{border:1px solid var(--border);background:var(--surface);height:40px;color:var(--text);border-radius:10px;outline:none;padding:0 12px}.students-year select{color:#fff;background:#ffffff29;border-color:#fff6}.students-year select option{color:#17314f}.students-add-button{color:#194b82;cursor:pointer;background:#fff;border:0;border-radius:10px;height:40px;padding:0 18px;font-weight:700;transition:transform .18s,box-shadow .18s;box-shadow:0 6px 18px #00000021}.students-add-button:hover{transform:translateY(-2px);box-shadow:0 9px 22px #0003}.students-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.students-stats>div{background:var(--surface);border:1px solid var(--border);border-radius:15px;min-width:0;padding:17px 19px;box-shadow:0 7px 22px #1439600e}.students-stats>div:nth-child(3){border-left:3px solid #35a684}.students-stats>div:nth-child(4){border-left:3px solid #d39b3d}.students-stats span{color:var(--text-soft);margin-bottom:4px;font-size:11px;display:block}.students-stats strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:25px}.students-toolbar{border:1px solid var(--border);background:var(--surface);border-radius:15px;gap:10px;margin-bottom:16px;padding:15px;display:flex;box-shadow:0 7px 22px #1439600a}.students-search{flex:1}.students-search input{border:1px solid var(--border);background:var(--surface-2);width:100%;height:40px;color:var(--text);border-radius:10px;outline:none;padding:0 13px}.students-search input:focus,.students-toolbar select:focus{border-color:var(--primary)}.students-clear{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:0 15px}.students-table-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 12px 28px #14396012}.students-table-scroll{width:100%;overflow-x:auto}.students-table{border-collapse:collapse;width:100%;min-width:1200px}.students-table th{background:var(--surface-2);color:var(--text-soft);border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;padding:15px 13px;font-size:11px}.students-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:13px;font-size:12px}.students-table tbody tr:hover{background:var(--surface-2)}.students-table tbody tr:last-child td{border-bottom:0}.student-name-cell{color:var(--text);font-weight:700}.student-status{letter-spacing:.04em;border-radius:999px;align-items:center;gap:6px;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.student-status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.student-status.is-active{color:#168653;background:#1686531a}.student-status.is-inactive{color:#a16b22;background:#bf852d21}.sats-cell{font-family:monospace}.student-actions{gap:6px;display:flex}.student-actions button{cursor:pointer;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:700}.student-actions button:hover{filter:brightness(.95)}.student-edit{border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.student-delete{color:var(--danger);background:#dc354514;border:1px solid #dc354540}.student-fees{border:1px solid var(--success);background:var(--success);color:#fff}.students-empty{text-align:center;height:120px;color:var(--text-soft)}.students-loading{justify-content:center;align-items:center;gap:12px;min-height:400px;display:flex}.students-error{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:25px}.students-error h3{color:var(--danger);margin-top:0}.students-retry{border-radius:7px;padding:9px 17px}@media (width<=800px){.students-heading,.students-heading-actions{flex-direction:column;align-items:stretch}.students-toolbar{flex-direction:column}.students-stats{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.student-modal-backdrop{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.student-modal{border:1px solid var(--border);background:var(--surface);width:min(760px,100%);max-height:90vh;color:var(--text);border-radius:19px;padding:27px;overflow:auto;box-shadow:0 24px 70px #00000040}.student-modal-header,.student-modal-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-modal-eyebrow{color:var(--primary);letter-spacing:.13em;font-size:10px;font-weight:800}.student-modal-header{border-bottom:1px solid var(--border);align-items:flex-start;margin-bottom:20px;padding-bottom:17px}.student-modal-header h2{letter-spacing:-.03em;margin:5px 0;font-size:24px}.student-modal-header p{color:var(--text-soft);margin:0;font-size:12px;line-height:1.5}.student-modal-header button{color:var(--text);cursor:pointer;background:0 0;border:0;font-size:28px}.student-modal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 14px;display:grid}.student-modal-grid h3{border-top:1px solid var(--border);grid-column:1/-1;margin:12px 0 0;padding-top:14px}.student-modal-grid label{flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.student-modal-grid input,.student-modal-grid select{box-sizing:border-box;border:1px solid var(--border);background:var(--surface-2);width:100%;height:41px;color:var(--text);border-radius:9px;padding:0 11px}.student-field-hint{color:var(--text-soft);font-size:10px;font-weight:500;line-height:1.35}.student-field-error{color:var(--danger);font-size:10px;font-weight:700;line-height:1.35}.student-field-valid{color:#16834a;font-size:10px;font-weight:700;line-height:1.35}.student-modal-grid input.student-field-invalid,.student-modal-grid select.student-field-invalid{border-color:var(--danger);box-shadow:0 0 0 2px #dc35451a}.student-modal-grid input:focus-visible,.student-modal-grid select:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.student-modal-grid input:disabled,.student-modal-grid select:disabled{opacity:.65}.student-modal-error{color:var(--danger)}.student-modal-actions{justify-content:flex-end;margin-top:20px}.student-modal-actions button{border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:7px;padding:9px 16px}.student-modal-actions button[type=submit]{border-color:var(--primary);background:var(--primary);color:#fff}.student-modal-actions button:disabled{opacity:.6;cursor:wait}@media (width<=650px){.student-modal-grid{grid-template-columns:1fr}}.fees-page{width:100%;max-width:1600px;margin:0 auto}.fees-heading{color:#fff;background:linear-gradient(115deg,#173f72,#215a9a 60%,#336eab);border:1px solid #7aa7d94d;border-radius:20px;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;padding:26px 28px;display:flex;box-shadow:0 16px 35px #13457a2b}.fees-heading h1{letter-spacing:-.04em;margin:0;font-size:clamp(25px,2.5vw,34px);font-weight:800}.fees-heading p{color:#d4e6fb;margin:7px 0 0;font-size:13px}.fees-heading label,.fee-field{flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.fees-heading select,.fee-field input,.fee-field select,.fees-search input{box-sizing:border-box;border:1px solid var(--border);background:var(--surface-2);height:42px;color:var(--text);border-radius:10px;outline:none;padding:0 12px}.fees-heading label{color:#d5e8fb;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.fees-heading select{color:#fff;background:#ffffff29;border-color:#fff6;min-width:145px}.fees-heading select option{color:#17314f}.fee-field input:focus-visible,.fee-field select:focus-visible,.fees-search input:focus-visible,.fees-heading select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.fees-search{border:1px solid var(--border);background:var(--surface);border-radius:15px;margin-bottom:20px;padding:14px;position:relative;box-shadow:0 7px 22px #1439600d}.fees-search>input{background:var(--surface-2);width:100%}.fees-search-results{z-index:5;background:var(--surface);border:1px solid var(--border);max-height:240px;box-shadow:var(--shadow);border-radius:10px;position:absolute;top:62px;left:14px;right:14px;overflow:auto}.fees-search-results button{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;padding:10px 14px;display:block}.fees-search-results button:hover{background:var(--surface-2)}.fees-search-results small{color:var(--text-soft);margin-top:3px;display:block}.fees-search-results p{padding:0 14px}.fees-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;margin:18px 0;padding:24px;box-shadow:0 8px 24px #1439600f}.fees-card h2{color:var(--text);letter-spacing:-.025em;align-items:center;gap:10px;margin:0 0 20px;font-size:18px;font-weight:800;display:flex}.fees-card h2:before{content:"";background:#2b69af;border-radius:4px;width:4px;height:19px}.fees-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.fee-field input[readonly]{opacity:1;background:var(--surface-2);font-weight:700}.fees-actions{justify-content:flex-end;margin-top:16px;display:flex}.fees-actions button,.fee-modal-actions button,.fee-receipt-actions button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2867ab,#194b85);border:0;border-radius:10px;padding:10px 17px;font-weight:700;transition:transform .18s,box-shadow .18s;box-shadow:0 5px 14px #1b4e892b}.fees-actions button:not(:disabled):hover,.fee-modal-actions button:not(:disabled):hover,.fee-receipt-actions button:hover{transform:translateY(-2px);box-shadow:0 9px 18px #1b4e8940}.fees-actions button:disabled,.fee-modal-actions button:disabled{opacity:.6;cursor:wait}.fees-error,.fees-success{border-radius:8px;margin:12px 0;padding:12px 16px}.fees-error{color:var(--danger);background:#dc35451f}.fee-payment-limit{color:var(--danger);background:#dc35451a;border:1px solid #dc35454d;border-radius:10px;margin-top:15px;padding:12px 14px;font-size:12px;font-weight:750}.fees-success{color:var(--success);background:#1ea05a1f}.fees-table-scroll{border:1px solid var(--border);border-radius:11px;overflow-x:auto}.fees-table-scroll table{border-collapse:collapse;width:100%;min-width:1050px}.fees-table-scroll th,.fees-table-scroll td{border-bottom:1px solid var(--border);text-align:left;padding:13px;font-size:12px}.fees-table-scroll th{background:var(--surface-2);color:var(--text-soft);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;font-size:10px}.fees-table-scroll tbody tr:hover{background:var(--surface-2)}.fees-table-scroll button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:6px 10px}.fee-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a182cb3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.fee-modal{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:min(560px,100%);max-height:90vh;color:var(--text);border-radius:18px;padding:27px;overflow:auto;box-shadow:0 24px 70px #00000040}.fee-modal h2{letter-spacing:-.03em;margin:0 0 18px;font-size:23px}.fee-modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.fee-modal-actions button:first-child{border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.fee-notes{border:1px solid var(--border);border-radius:11px;overflow:hidden}.fee-notes label{border-bottom:1px solid var(--border);grid-template-columns:90px 100px 1fr;align-items:center;gap:12px;padding:7px 12px;display:grid}.fee-notes label:last-child{border-bottom:0}.fee-notes label:nth-child(2n){background:var(--surface-2)}.fee-notes input{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:90px;color:var(--text);border-radius:8px;padding:8px}.fee-notes span{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.fee-cash-result{border:1px solid;border-radius:11px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:15px;padding:13px 15px;font-size:12px;font-weight:700;display:flex}.fee-cash-result strong{font-variant-numeric:tabular-nums;font-size:17px}.fee-cash-result-message{font-weight:800}.fee-cash-result.is-matched{color:#168653;background:#1686531f;border-color:#16865359}.fee-cash-result.is-mismatch{color:#ca3547;background:#dc35451c;border-color:#dc354559}[data-theme=dark] .fee-cash-result.is-matched{color:#67dda2}[data-theme=dark] .fee-cash-result.is-mismatch{color:#ff8895}.fee-qr{object-fit:contain;width:min(260px,100%);height:260px;margin:12px auto;display:block}.fee-receipt-layer{z-index:1100;background:var(--bg);color:var(--text);padding:20px;position:fixed;inset:0;overflow:auto}.fee-receipt-actions{justify-content:flex-end;gap:10px;max-width:760px;margin:0 auto 15px;display:flex}.fee-receipt{box-sizing:border-box;color:#000;background:#fff;max-width:720px;min-height:520px;margin:0 auto;padding:28px;font:13px Arial,sans-serif}.fee-receipt header{text-align:center;border-bottom:2px solid #000}.fee-receipt header img{width:60px;margin:0 auto 5px;display:block}.fee-receipt header h2{margin:4px 0;font-size:20px}.fee-receipt header p{margin:5px 0}.fee-receipt-info{grid-template-columns:1fr 1fr;gap:5px 20px;padding:10px 0;display:grid}.fee-receipt table{border-collapse:collapse;width:100%}.fee-receipt th,.fee-receipt td{text-align:left;border:1px solid #000;padding:7px}.fee-receipt th:last-child,.fee-receipt td:last-child{text-align:right}.fee-receipt-words,.fee-receipt-balance{border:1px solid #000;margin-top:8px;padding:7px}.fee-receipt-balance{text-align:right;font-weight:700}.fee-receipt footer{text-align:center;border-top:1px dashed #000;margin-top:12px;padding-top:7px;font-size:11px}@media (width<=700px){.fees-heading{flex-direction:column;align-items:stretch;padding:22px}.fees-grid{grid-template-columns:1fr}.fees-card{padding:19px}}@media print{@page{size:A4 portrait;margin:2mm 8mm 8mm}html,body,#root{height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}body *{visibility:hidden!important}.fee-receipt-layer,.fee-receipt-layer *{visibility:visible!important}.sidebar,.app-header,.fees-page>:not(.fee-receipt-layer){display:none!important}.app-shell,.app-area,.page-content,.fees-page{width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.fee-receipt-layer{background:#fff;width:100%;padding:0;overflow:visible;position:static!important;inset:auto!important}.fee-receipt-actions{display:none!important}.fee-receipt{width:100%;max-width:190mm;min-height:128mm;margin:0 auto;padding:4mm 6mm;font-size:14.5px;line-height:1.25}.fee-receipt header img{width:64px;margin-bottom:4px}.fee-receipt header>div{font-size:16px;font-weight:700}.fee-receipt header h2{margin:3px 0;font-size:22px}.fee-receipt header p{margin:4px 0 6px;font-size:12.5px}.fee-receipt-info{gap:5px 24px;padding:9px 0}.fee-receipt th,.fee-receipt td{padding:7px 9px}.fee-receipt-words,.fee-receipt-balance{margin-top:7px;padding:7px 9px}.fee-receipt>p{margin:8px 0}.fee-receipt footer{margin-top:8px;padding-top:7px;font-size:11.5px;line-height:1.3}}.reports-page{width:100%;max-width:1600px;margin:0 auto}.reports-heading,.reports-title-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.reports-heading{color:#fff;background:linear-gradient(115deg,#173f72,#215a9a 60%,#336eab);border:1px solid #7aa7d94d;border-radius:20px;margin-bottom:24px;padding:27px 29px;box-shadow:0 16px 35px #13457a2b}.reports-heading h1{letter-spacing:-.04em;margin:0;font-size:clamp(25px,2.5vw,34px);font-weight:800}.reports-heading p{color:#d4e6fb;margin:7px 0 0;font-size:13px}.reports-heading select,.reports-filters input,.reports-filters select{border:1px solid var(--border);background:var(--surface-2);min-height:42px;color:var(--text);border-radius:10px;outline:none;padding:0 12px}.reports-heading select{color:#fff;background:#ffffff29;border-color:#fff6;min-width:145px}.reports-heading select option{color:#17314f}.reports-heading select:focus-visible,.reports-filters input:focus-visible,.reports-filters select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.reports-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;margin:20px 0;padding:25px;box-shadow:0 8px 24px #1439600f}.reports-card h2{color:var(--text);letter-spacing:-.025em;align-items:center;gap:8px;margin:0 0 19px;font-size:19px;font-weight:800;display:flex}.reports-card>h2:before,.reports-title-actions h2:before{content:"";background:#2b69af;border-radius:4px;flex:none;width:4px;height:20px;display:inline-block}.reports-card h3{color:var(--primary);margin:0 0 12px;font-size:14px;font-weight:800}.reports-filters{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;padding:15px;display:flex}.reports-filters input,.reports-filters select{background:var(--surface);min-width:150px}.reports-filters select:disabled{opacity:.58;cursor:not-allowed}.reports-filters button,.reports-export,.reports-error button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2867ab,#194b85);border:0;border-radius:10px;min-height:42px;padding:9px 17px;font-weight:750;transition:transform .18s,box-shadow .18s;box-shadow:0 5px 14px #1b4e892b}.reports-filters button:not(:disabled):hover,.reports-export:hover,.reports-error button:hover{transform:translateY(-2px);box-shadow:0 9px 18px #1b4e8940}.reports-filters button:disabled{opacity:.6;cursor:wait}.reports-export{background:linear-gradient(135deg,#20965f,#137343);margin-bottom:14px;box-shadow:0 5px 14px #16865329}.reports-title-actions .reports-export{margin-bottom:17px}.reports-table-wrap{border:1px solid var(--border);border-radius:11px;max-height:600px;overflow:auto}.reports-table-wrap table,.reports-mode table{border-collapse:collapse;width:100%}.reports-table-wrap table{min-width:1050px}.reports-table-wrap th,.reports-table-wrap td,.reports-mode th,.reports-mode td{border:1px solid var(--border);text-align:left;white-space:nowrap;padding:12px 13px;font-size:12px}.reports-table-wrap thead th{z-index:1;color:#fff;letter-spacing:.05em;text-transform:uppercase;background:#1c528b;font-size:10px;position:sticky;top:0}.reports-table-wrap tbody tr:hover,.reports-mode thead th{background:var(--surface-2)}.reports-total{background:var(--primary-soft);font-weight:800}.reports-table-wrap tr.correction td:nth-child(9),.reports-table-wrap tr.correction td:nth-child(10),.reports-red{color:var(--danger)}.reports-table-wrap tr.concession td:nth-child(9),.reports-table-wrap tr.concession td:nth-child(10){color:var(--success)}.reports-mode{border:1px solid var(--border);background:var(--surface-2);border-left:4px solid #2b69af;border-radius:12px;max-width:520px;margin-top:20px;padding:19px}.reports-board{border-top:1px solid var(--border);margin-top:22px;padding-top:18px}.reports-board h3{background:var(--primary-soft);border-radius:8px;padding:7px 11px;display:inline-flex}.reports-empty{border:1px dashed var(--border);text-align:center;color:var(--text-soft);background:var(--surface-2);border-radius:10px;margin:0;padding:28px 20px}.reports-error{color:var(--danger);background:#dc35451f;border-radius:8px;margin-bottom:15px;padding:12px}.reports-error button{margin-left:10px}.reports-print-header{text-align:center;border:1px solid var(--border);background:var(--surface-2);border-radius:12px;margin-bottom:18px;padding:18px}.reports-print-header img{width:80px}.reports-print-header h2{margin:4px 0}@media (width<=650px){.reports-heading{flex-direction:column;align-items:stretch;padding:22px}.reports-title-actions{flex-direction:column;align-items:flex-start}.reports-filters>input,.reports-filters>select,.reports-filters>button{flex:100%}.reports-card{padding:19px}}@media print{.reports-page>:not(.reports-card){display:none!important}.reports-card:not(:has(.reports-print-area)){display:none!important}.reports-print-area button{display:none!important}.reports-table-wrap{max-height:none;overflow:visible}.reports-table-wrap table{min-width:0}.reports-print-header{color:#111;background:#fff}}.promotion-page{width:100%;max-width:1600px;margin:0 auto}.promotion-heading{color:#fff;background:linear-gradient(115deg,#173f72,#215a9a 60%,#336eab);border:1px solid #7aa7d94d;border-radius:20px;align-items:center;gap:16px;margin-bottom:22px;padding:24px 28px;display:flex;box-shadow:0 16px 35px #13457a2b}.promotion-heading img{object-fit:contain;background:#fff;border-radius:50%;width:56px;height:56px;padding:4px}.promotion-heading h1{letter-spacing:-.04em;margin:0;font-size:clamp(25px,2.5vw,34px);font-weight:800}.promotion-heading p{color:#d4e6fb;margin:6px 0 0;font-size:13px}.promotion-box{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);border-radius:16px;width:min(780px,100%);padding:27px;box-shadow:0 8px 24px #1439600f}.promotion-box label{color:var(--text-soft);letter-spacing:.04em;text-transform:uppercase;margin-bottom:15px;font-size:11px;font-weight:800;display:block}.promotion-box select{box-sizing:border-box;border:1px solid var(--border);background:var(--surface-2);width:100%;height:43px;color:var(--text);border-radius:10px;outline:none;margin-top:7px;padding:0 12px;font-size:13px;font-weight:600;display:block}.promotion-box select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.promotion-box button{color:#fff;cursor:pointer;border:0;border-radius:10px;width:100%;margin:14px 0;padding:12px;font-weight:750;transition:transform .18s,box-shadow .18s;display:block}.promotion-box button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 9px 18px #1b4e8940}.promotion-box button:disabled{opacity:.6;cursor:wait}.promotion-preview{background:linear-gradient(135deg,#2867ab,#194b85);box-shadow:0 5px 14px #1b4e892b}.promotion-run{background:linear-gradient(135deg,#c94e66,#a72948);box-shadow:0 5px 14px #a7294829}.promotion-result,.promotion-error,.promotion-success{border-radius:12px;margin:16px 0;padding:18px;line-height:1.5}.promotion-result{background:var(--surface-2);border:1px solid var(--border)}.promotion-result h3{color:var(--text);margin:20px 0 11px;font-size:15px}.promotion-preview-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.promotion-preview-summary>div{border:1px solid var(--border);background:var(--surface);border-radius:11px;padding:15px}.promotion-preview-summary span{color:var(--text-soft);font-size:11px;font-weight:700;display:block}.promotion-preview-summary strong{color:var(--text);font-variant-numeric:tabular-nums;margin-top:4px;font-size:26px;display:block}.promotion-board{border:1px solid var(--border);background:var(--surface);border-radius:11px;margin-top:12px;padding:14px}.promotion-board h4{color:var(--primary);letter-spacing:.06em;margin:0 0 8px;font-size:12px}.promotion-class-row{border-top:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;font-size:13px;display:flex}.promotion-class-row strong{color:var(--primary);font-variant-numeric:tabular-nums;white-space:nowrap}.promotion-error{color:var(--danger);background:#dc35451f}.promotion-success{color:var(--success);background:#28a7451f}@media (width<=650px){.promotion-heading{padding:20px}.promotion-box{padding:19px}.promotion-preview-summary{grid-template-columns:1fr}}.settlement-page{width:100%}.settlement-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;margin:18px 0;padding:20px}.settlement-card h2{margin:0 0 16px;font-size:19px}.settlement-card-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.settlement-card-title strong{color:var(--primary);font-size:20px}.settlement-filters{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.settlement-filters label{gap:5px;font-size:13px;font-weight:600;display:grid}.settlement-filters input,.settlement-filters select{border:1px solid var(--border);background:var(--surface);height:39px;color:var(--text);border-radius:8px;padding:0 10px}.settlement-filters button,.settlement-actions button,.settlement-submit,.settlement-error button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:9px 14px;font-weight:700}.settlement-actions{gap:7px;display:flex}.settlement-actions button:last-child,.settlement-submit{background:var(--success)}.settlement-page button:disabled{opacity:.55;cursor:wait}.settlement-table-wrap{max-height:560px;overflow:auto}.settlement-table-wrap table{border-collapse:collapse;width:100%}.settlement-table-wrap th,.settlement-table-wrap td{border:1px solid var(--border);text-align:left;white-space:nowrap;padding:10px;font-size:13px}.settlement-table-wrap th{z-index:1;background:var(--primary);color:#fff;position:sticky;top:0}.settlement-table-wrap input[type=checkbox]{cursor:pointer;width:17px;height:17px;accent-color:var(--primary)}.settlement-empty{color:var(--text-soft);text-align:center!important}.settlement-error,.settlement-notice{border-radius:8px;margin:12px 0;padding:12px}.settlement-error{color:var(--danger);background:#dc35451f}.settlement-notice{background:var(--primary-soft);color:var(--text)}.settlement-error button{margin-left:10px}.settlement-submit{margin-bottom:22px}@media (width<=650px){.settlement-card{padding:14px}}.settlement-page{max-width:1600px;margin:0 auto}.settlement-page>.page-heading{color:#fff;background:linear-gradient(115deg,#173f72,#215a9a 60%,#336eab);border:1px solid #7aa7d94d;border-radius:20px;margin-bottom:20px;padding:26px 28px;box-shadow:0 16px 35px #13457a2b}.settlement-page>.page-heading h1{letter-spacing:-.04em;margin:0;font-size:clamp(25px,2.5vw,34px);font-weight:800}.settlement-page>.page-heading p{color:#d4e6fb;margin:7px 0 0;font-size:13px}.settlement-card{border-radius:16px;margin:19px 0;padding:24px;box-shadow:0 8px 24px #1439600f}.settlement-card h2{color:var(--text);letter-spacing:-.025em;align-items:center;gap:10px;margin-bottom:18px;font-size:18px;font-weight:800;display:flex}.settlement-card h2:before{content:"";background:#2b69af;border-radius:4px;flex:none;width:4px;height:19px}.settlement-card-title strong{background:var(--primary-soft);font-variant-numeric:tabular-nums;border-radius:9px;margin-bottom:18px;padding:7px 12px}.settlement-filters{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:15px}.settlement-filters label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.04em;gap:6px;font-size:11px;font-weight:800}.settlement-filters input,.settlement-filters select{border-radius:10px;outline:none;min-width:148px;height:42px;padding:0 11px}.settlement-filters input:focus-visible,.settlement-filters select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.settlement-filters button,.settlement-actions button,.settlement-submit,.settlement-error button{background:linear-gradient(135deg,#2867ab,#194b85);border-radius:10px;min-height:42px;padding:9px 16px;transition:transform .18s,box-shadow .18s;box-shadow:0 5px 14px #1b4e892b}.settlement-page button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 9px 18px #1b4e8940}.settlement-actions button:last-child,.settlement-submit{background:linear-gradient(135deg,#20965f,#137343);box-shadow:0 5px 14px #16865329}.settlement-table-wrap{border:1px solid var(--border);border-radius:11px}.settlement-table-wrap th,.settlement-table-wrap td{border-left:0;border-right:0;padding:13px;font-size:12px}.settlement-table-wrap th{letter-spacing:.05em;text-transform:uppercase;background:#1c528b;font-size:10px;font-weight:800}.settlement-table-wrap tbody tr:hover{background:var(--surface-2)}.settlement-table-wrap tbody tr.settlement-row-selected{background:var(--primary-soft)}.settlement-table-wrap th:first-child,.settlement-table-wrap td:first-child{text-align:center;width:54px}.settlement-table-wrap input[type=checkbox]{background:var(--surface);appearance:none;cursor:pointer;vertical-align:middle;border:1.5px solid #a9b8c9;border-radius:6px;place-items:center;width:20px;height:20px;margin:0;transition:background .16s,border-color .16s,box-shadow .16s;display:inline-grid}.settlement-table-wrap input[type=checkbox]:hover{border-color:var(--primary);box-shadow:0 0 0 3px #2d69af1f}.settlement-table-wrap input[type=checkbox]:checked{background:#2566a9;border-color:#2566a9}.settlement-table-wrap input[type=checkbox]:checked:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:9px;height:5px;margin-top:-2px;transform:rotate(-45deg)}.settlement-table-wrap input[type=checkbox]:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.settlement-table-wrap th input[type=checkbox]{background:#ffffff1f;border-color:#fffc}.settlement-empty{padding:28px!important}.settlement-error,.settlement-notice{border-radius:10px;padding:13px 15px}.settlement-notice{color:var(--success);background:#1686531f}.settlement-opened-request{background:var(--primary-soft);color:var(--text);border-radius:9px;margin:14px 0 0;padding:11px 13px;font-size:12px;font-weight:700}@media (width<=650px){.settlement-page>.page-heading{padding:22px}.settlement-card{padding:18px}.settlement-filters>label,.settlement-filters>button{flex:100%}.settlement-filters input,.settlement-filters select{width:100%}}.diesel-page{width:100%}.diesel-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;margin:20px 0;padding:20px}.diesel-card h2{margin:0 0 18px;font-size:20px}.diesel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.diesel-grid label,.diesel-report-filters label{flex-direction:column;gap:6px;font-weight:700;display:flex}.diesel-grid input,.diesel-grid select,.diesel-report-filters input{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:11px}.diesel-grid input[readonly]{background:var(--surface-2)}.diesel-wide{grid-column:1/-1}.diesel-amount{border:2px solid var(--success);background:var(--surface-2);text-align:center;border-radius:10px;gap:8px;margin-top:20px;padding:18px;display:grid}.diesel-amount span{color:var(--text-soft);font-weight:700}.diesel-amount strong{color:var(--success);font-size:32px}.diesel-button-row{text-align:center;margin-top:20px}.diesel-button-row button,.diesel-report-filters button{background:var(--success);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:11px 30px;font-weight:700}.diesel-button-row button:disabled,.diesel-report-filters button:disabled{opacity:.6;cursor:wait}.diesel-report-filters{flex-wrap:wrap;align-items:end;gap:15px;margin-bottom:20px;display:flex}.diesel-table-wrap{overflow:auto}.diesel-table-wrap table{border-collapse:collapse;width:100%}.diesel-table-wrap th,.diesel-table-wrap td{border:1px solid var(--border);text-align:center;white-space:nowrap;padding:10px;font-size:13px}.diesel-table-wrap th{background:var(--primary);color:#fff}.diesel-totals{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:20px;font-size:18px;display:flex}.diesel-empty{color:var(--text-soft)}.diesel-error,.diesel-notice{border-radius:8px;margin:12px 0;padding:12px}.diesel-error{color:var(--danger);background:#dc35451f}@media (width<=650px){.diesel-grid{grid-template-columns:1fr}}.diesel-page{max-width:1600px;margin:0 auto}.diesel-page>.page-heading{color:#fff;background:linear-gradient(115deg,#173f72,#215a9a 60%,#336eab);border:1px solid #7aa7d94d;border-radius:20px;margin-bottom:22px;padding:26px 28px;box-shadow:0 16px 35px #13457a2b}.diesel-page>.page-heading h1{letter-spacing:-.04em;margin:0;font-size:clamp(25px,2.5vw,34px);font-weight:800}.diesel-page>.page-heading p{color:#d4e6fb;margin:7px 0 0;font-size:13px}.diesel-card{border-radius:16px;margin:20px 0;padding:25px;box-shadow:0 8px 24px #1439600f}.diesel-card h2{color:var(--text);letter-spacing:-.025em;align-items:center;gap:10px;margin:0 0 20px;font-size:19px;font-weight:800;display:flex}.diesel-card h2:before{content:"";background:#2b69af;border-radius:4px;width:4px;height:20px}.diesel-grid{gap:18px 16px}.diesel-grid label,.diesel-report-filters label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.04em;gap:7px;font-size:11px;font-weight:800}.diesel-grid input,.diesel-grid select,.diesel-report-filters input{background:var(--surface-2);min-height:43px;color:var(--text);letter-spacing:0;text-transform:none;border-radius:10px;outline:none;padding:0 12px;font-size:13px;font-weight:500}.diesel-grid input:focus-visible,.diesel-grid select:focus-visible,.diesel-report-filters input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.diesel-grid input[readonly]{color:var(--text-soft)}.diesel-amount{border:1px solid #16865359;border-left:4px solid var(--success);text-align:left;background:#16865314;border-radius:13px;margin-top:23px;padding:20px}.diesel-amount span{text-transform:uppercase;letter-spacing:.07em;font-size:11px}.diesel-amount strong{font-variant-numeric:tabular-nums;font-size:clamp(27px,2.5vw,34px)}.diesel-button-row{text-align:right}.diesel-button-row button,.diesel-report-filters button{background:linear-gradient(135deg,#2867ab,#194b85);border-radius:10px;min-height:43px;padding:11px 20px;transition:transform .18s,box-shadow .18s;box-shadow:0 5px 14px #1b4e892b}.diesel-button-row button:not(:disabled):hover,.diesel-report-filters button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 9px 18px #1b4e8940}.diesel-report-filters{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:15px}.diesel-report-filters input{background:var(--surface)}.diesel-table-wrap{border:1px solid var(--border);border-radius:11px}.diesel-table-wrap th,.diesel-table-wrap td{text-align:left;border-left:0;border-right:0;padding:13px;font-size:12px}.diesel-table-wrap th{letter-spacing:.05em;text-transform:uppercase;background:#1c528b;font-size:10px;font-weight:800}.diesel-table-wrap tbody tr:hover{background:var(--surface-2)}.diesel-totals{gap:12px;margin-top:17px;font-size:15px}.diesel-totals strong{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:11px 14px}.diesel-empty{border:1px dashed var(--border);text-align:center;background:var(--surface-2);border-radius:10px;padding:26px}.diesel-error,.diesel-notice{border-radius:10px;padding:13px 15px}.diesel-notice{color:var(--success);background:#1686531f}@media (width<=650px){.diesel-page>.page-heading{padding:22px}.diesel-card{padding:19px}.diesel-report-filters>label,.diesel-report-filters>button{flex:100%}}.users-page{width:100%}.users-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;padding:20px}.users-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.users-header h2{margin:0;font-size:20px}.users-header button,.users-modal-actions button:last-child,.users-error button{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:10px 17px;font-weight:700}.users-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.users-user{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:8px;padding:16px;display:flex}.users-user>strong{font-size:18px}.users-user>span:not(.users-badge){overflow-wrap:anywhere}.users-badge{color:var(--danger);background:#dc354524;border-radius:999px;align-self:flex-start;padding:5px 9px;font-size:12px;font-weight:800}.users-badge.active{color:var(--success);background:#28a74526}.users-actions{gap:8px;margin-top:5px;display:flex}.users-actions button{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:7px;flex:1;padding:8px}.users-actions button:last-child{color:var(--danger)}.users-actions button:disabled{opacity:.5;cursor:not-allowed}.users-error,.users-notice{border-radius:8px;margin:12px 0;padding:12px}.users-error{color:var(--danger);background:#dc35451f}.users-notice{background:var(--primary-soft);color:var(--text)}.users-modal-backdrop{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:15px;display:flex;position:fixed;inset:0}.users-modal{background:var(--surface);width:min(440px,100%);max-height:95vh;color:var(--text);box-shadow:var(--shadow);border-radius:14px;padding:24px;overflow:auto}.users-modal h2{margin:0 0 8px}.users-modal p{color:var(--text-soft)}.users-modal form{gap:14px;display:grid}.users-modal label{gap:6px;font-weight:700;display:grid}.users-modal input,.users-modal select{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:10px}.users-modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.users-modal-actions button:first-child,.users-signout{border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:8px;padding:10px 16px}.users-modal-actions button:disabled{opacity:.6;cursor:wait}.users-password-card{width:min(430px,100%)}.users-signout{width:100%;margin-top:16px}.users-page{max-width:1600px;margin:0 auto}.users-page>.page-heading{color:#fff;background:linear-gradient(115deg,#173f72,#215a9a 60%,#336eab);border:1px solid #7aa7d94d;border-radius:20px;margin-bottom:22px;padding:26px 28px;box-shadow:0 16px 35px #13457a2b}.users-page>.page-heading h1{letter-spacing:-.04em;margin:0;font-size:clamp(25px,2.5vw,34px);font-weight:800}.users-page>.page-heading p{color:#d4e6fb;margin:7px 0 0;font-size:13px}.users-card{border-radius:16px;padding:25px;box-shadow:0 8px 24px #1439600f}.users-header{border-bottom:1px solid var(--border);margin-bottom:22px;padding-bottom:17px}.users-header h2{color:var(--text);letter-spacing:-.025em;align-items:center;gap:10px;font-size:19px;font-weight:800;display:flex}.users-header h2:before{content:"";background:#2b69af;border-radius:4px;width:4px;height:19px}.users-header button,.users-modal-actions button:last-child,.users-error button{background:linear-gradient(135deg,#2867ab,#194b85);border-radius:10px;min-height:42px;padding:9px 17px;transition:transform .18s,box-shadow .18s;box-shadow:0 5px 14px #1b4e892b}.users-header button:hover,.users-modal-actions button:last-child:not(:disabled):hover,.users-error button:hover{transform:translateY(-2px);box-shadow:0 9px 18px #1b4e8940}.users-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}.users-user{background:var(--surface);border-radius:14px;gap:18px;padding:19px;transition:transform .18s,box-shadow .18s;box-shadow:0 6px 18px #1439600a}.users-user:hover{transform:translateY(-2px);box-shadow:0 12px 26px #14396017}.users-identity{align-items:center;gap:12px;min-width:0;display:flex}.users-avatar{background:var(--primary-soft);width:45px;height:45px;color:var(--primary);border-radius:13px;flex:none;place-items:center;font-size:19px;font-weight:800;display:grid}.users-identity>div{flex-direction:column;gap:3px;min-width:0;display:flex}.users-identity strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:800;overflow:hidden}.users-identity>div>span{color:var(--text-soft);overflow-wrap:anywhere;font-size:11px}.users-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.users-role{border:1px solid var(--border);color:var(--text-soft);letter-spacing:.04em;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800}.users-badge{letter-spacing:.04em;padding:5px 9px;font-size:10px}.users-actions{border-top:1px solid var(--border);margin-top:auto;padding-top:14px}.users-actions button{border-radius:9px;min-height:37px;font-size:11px;font-weight:750}.users-actions button:not(:disabled):hover{background:var(--surface-2);border-color:var(--primary)}.users-error,.users-notice{border-radius:10px;padding:13px 15px}.users-notice{color:var(--success);background:#1686531f}.users-modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a182cb3}.users-modal{border:1px solid var(--border);border-radius:18px;padding:28px;box-shadow:0 24px 70px #00000040}.users-modal h2{letter-spacing:-.03em;font-size:23px;font-weight:800}.users-modal p{margin-bottom:20px;font-size:12px;line-height:1.5}.users-modal label{color:var(--text-soft);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.users-modal input,.users-modal select{background:var(--surface-2);min-height:42px;color:var(--text);letter-spacing:0;text-transform:none;border-radius:10px;outline:none;padding:0 11px;font-size:13px;font-weight:500}.users-modal input:focus-visible,.users-modal select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.users-modal-actions{margin-top:13px}.users-modal-actions button:first-child{border-radius:10px}@media (width<=650px){.users-page>.page-heading{padding:22px}.users-card{padding:18px}.users-header{flex-direction:column;align-items:flex-start}.users-header button{width:100%}.users-modal{padding:21px}}.database-page{width:100%;max-width:1600px;margin:0 auto}.database-heading{color:#fff;background:linear-gradient(115deg,#173f72,#215a9a 60%,#336eab);border:1px solid #7aa7d94d;border-radius:20px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding:26px 28px;display:flex;box-shadow:0 16px 35px #13457a2b}.database-heading h1{letter-spacing:-.04em;margin:0;font-size:clamp(25px,2.5vw,34px);font-weight:800}.database-heading p{color:#d4e6fb;margin:7px 0 0;font-size:13px}.database-tabs{scrollbar-width:thin;gap:8px;margin:20px 0;padding:4px 0 8px;display:flex;overflow-x:auto}.database-tabs button{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text-soft);text-transform:capitalize;cursor:pointer;border-radius:10px;flex:none;padding:0 15px;font-size:12px;font-weight:750;transition:background .18s,color .18s,transform .18s}.database-tabs button:hover{color:var(--primary);transform:translateY(-2px)}.database-tabs button.active{color:#fff;background:#245d9c;border-color:#2867ab;box-shadow:0 5px 13px #1b4e892b}.database-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:23px;box-shadow:0 8px 24px #1439600f}.database-card-title{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:18px;display:flex}.database-card-title h2{color:var(--text);text-transform:capitalize;letter-spacing:-.025em;align-items:center;gap:10px;margin:0;font-size:19px;font-weight:800;display:flex}.database-card-title h2:before{content:"";background:#2b69af;border-radius:4px;width:4px;height:19px}.database-card-title p{color:var(--text-soft);margin:6px 0 0;font-size:11px}.database-toolbar{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;flex-wrap:wrap;align-items:end;gap:9px;margin:17px 0;padding:14px;display:flex}.database-toolbar>input{flex:220px;min-width:160px}.database-toolbar label{color:var(--text-soft);letter-spacing:.04em;text-transform:uppercase;gap:5px;font-size:10px;font-weight:800;display:grid}.database-toolbar input,.database-toolbar select{border:1px solid var(--border);background:var(--surface);height:41px;color:var(--text);border-radius:9px;outline:none;padding:0 11px}.database-toolbar input:focus-visible,.database-toolbar select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.database-toolbar button,.database-pagination button{border:1px solid var(--border);background:var(--surface);min-height:41px;color:var(--text);cursor:pointer;border-radius:9px;padding:0 14px;font-size:12px;font-weight:700;transition:transform .18s,box-shadow .18s}.database-toolbar button:not(:disabled):hover,.database-pagination button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 16px #1439601a}.database-toolbar .database-add{color:#fff;background:linear-gradient(135deg,#2867ab,#194b85);border-color:#2867ab;box-shadow:0 5px 14px #1b4e892b}.database-grid-wrap{border:1px solid var(--border);border-radius:11px;max-height:min(65vh,700px);overflow:auto}.database-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:1200px}.database-grid th,.database-grid td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);white-space:nowrap;min-width:125px;padding:8px}.database-grid th{z-index:2;color:#fff;letter-spacing:.05em;text-align:left;text-transform:uppercase;background:#1c528b;padding:12px 10px;font-size:10px;font-weight:800;position:sticky;top:0}.database-grid th small{color:#d4e6fb;letter-spacing:0;text-transform:none;margin-top:4px;font-size:9px;font-weight:600;display:block}.database-grid td{background:var(--surface)}.database-grid tbody tr:hover td{background:var(--surface-2)}.database-grid td input{box-sizing:border-box;width:100%;min-width:115px;color:var(--text);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:7px;padding:8px 9px;font-size:12px}.database-grid td input:not([readonly]):hover{border-color:var(--border)}.database-grid td input:not([readonly]):focus{border-color:var(--primary);background:var(--surface);outline:2px solid var(--primary-soft)}.database-grid td input[readonly]{color:var(--text-soft);cursor:default}.database-grid td input.database-cell-saving{opacity:.55}.database-delete{min-height:31px;color:var(--danger);cursor:pointer;background:#dc354514;border:1px solid #dc354540;border-radius:8px;padding:6px 10px;font-size:11px;font-weight:750}.database-delete:hover{background:#dc354526}.database-error,.database-notice{border-radius:10px;margin:12px 0;padding:13px 15px;font-size:12px}.database-error{color:var(--danger);background:#dc35451f}.database-notice{color:var(--success);background:#1686531f}.database-loading,.database-empty{color:var(--text-soft);text-align:center;padding:18px}.database-pagination{color:var(--text-soft);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:14px;margin-top:18px;font-size:12px;display:flex}.database-pagination button:disabled,.database-toolbar button:disabled{opacity:.5;cursor:not-allowed}@media (width<=700px){.database-heading{flex-direction:column;align-items:flex-start;padding:21px}.database-card{padding:16px}.database-toolbar>button{flex:auto}.database-pagination{gap:8px}}.database-export{color:#194b82;cursor:pointer;background:#fff;border:1px solid #ffffff80;border-radius:10px;min-height:42px;padding:0 17px;font-size:12px;font-weight:800;transition:transform .18s,box-shadow .18s;box-shadow:0 6px 18px #00000021}.database-export:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 9px 22px #0003}.database-export:disabled{opacity:.6;cursor:wait}:root{--bg:#f4f7fb;--surface:#fff;--surface-2:#f8fafc;--text:#182236;--text-soft:#667085;--border:#e3e8ef;--primary:#1f5aa6;--primary-hover:#174b8e;--primary-soft:#eaf2ff;--success:#168653;--danger:#dc3545;--sidebar:#12335f;--sidebar-text:#dce8f7;--sidebar-active:#ffffff21;--shadow:0 8px 30px #18223614}[data-theme=dark]{--bg:#0f141c;--surface:#171d27;--surface-2:#1d2531;--text:#f1f5f9;--text-soft:#9ca9ba;--border:#2b3543;--primary:#5795e5;--primary-hover:#75a9ea;--primary-soft:#1d3351;--success:#4bd28c;--danger:#ff6875;--sidebar:#111821;--sidebar-text:#d8e1ec;--sidebar-active:#26364b;--shadow:0 8px 30px #00000040}html,body,#root{min-width:100%;min-height:100%;margin:0}body{background:var(--bg);color:var(--text);transition:background .2s,color .2s}*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}.app-shell{background:var(--bg);min-height:100vh;display:flex}.sidebar{background:var(--sidebar);width:245px;min-height:100vh;color:var(--sidebar-text);padding:20px 14px;position:fixed;top:0;left:0}.sidebar-brand{align-items:center;gap:11px;padding:7px 8px 25px;display:flex}.sidebar-brand strong,.sidebar-brand small{display:block}.sidebar-brand small{opacity:.65;margin-top:3px;font-size:10px}.sidebar-nav{flex-direction:column;gap:4px;display:flex}.nav-item{min-height:45px;color:var(--sidebar-text);opacity:.8;border-radius:9px;align-items:center;gap:12px;padding:0 13px;text-decoration:none;display:flex}.nav-item:hover,.nav-item.active{opacity:1;background:var(--sidebar-active)}.nav-icon{text-align:center;width:22px}.app-area{width:calc(100% - 245px);min-height:100vh;margin-left:245px}.app-header{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr);align-items:center;gap:18px;min-height:88px;padding:12px 28px;display:grid;position:sticky;top:0;box-shadow:0 8px 30px #1231530b}.header-clock{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:11px;display:flex}.header-clock-icon{border:1px solid var(--border);background:var(--surface-2);width:37px;height:37px;color:var(--primary);border-radius:11px;place-items:center;font-size:23px;display:grid}.header-clock strong,.header-clock small{display:block}.header-clock strong{letter-spacing:.02em;font-size:13px}.header-clock small{color:var(--text-soft);margin-top:3px;font-size:10px}.header-brand{text-align:center;flex-direction:column;align-items:center;min-width:0;display:flex}.header-logo{background:#fff;border:1px solid #be984b57;border-radius:50%;place-items:center;width:39px;height:39px;margin-bottom:3px;padding:3px;display:grid;box-shadow:0 3px 11px #1432501f}.header-logo img{object-fit:contain;width:100%;height:100%;display:block}.app-header h2{color:var(--text);letter-spacing:-.025em;white-space:nowrap;margin:0;font-size:clamp(13px,1.3vw,17px);font-weight:800}.app-header p{color:var(--text-soft);letter-spacing:.17em;margin:2px 0 0;font-size:9px;font-weight:750}.header-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.user-chip{flex-direction:column;min-width:0;padding:0 6px;display:flex}.user-chip strong{text-overflow:ellipsis;max-width:100px;font-size:13px;overflow:hidden}.user-chip small{color:var(--text-soft);font-size:10px}.theme-toggle{border:1px solid var(--border);background:var(--surface-2);width:39px;height:39px;color:var(--text);cursor:pointer;border-radius:11px;transition:transform .18s,box-shadow .18s}.theme-toggle:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.logout-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#255d9c,#153d73);border:1px solid #22518a;border-radius:11px;min-height:39px;padding:0 15px;font-size:12px;font-weight:750;transition:transform .18s,box-shadow .18s;box-shadow:0 5px 14px #1b4e8930}.logout-button span{vertical-align:-1px;margin-right:5px;font-size:17px}.logout-button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #1b4e8945}.logout-button:focus-visible,.theme-toggle:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.page-content{padding:26px 28px}@media (width<=800px){.sidebar{width:76px}.sidebar-brand>div:last-child,.nav-item span:last-child{display:none}.sidebar-brand{justify-content:center}.nav-item{justify-content:center;padding:0}.app-area{width:calc(100% - 76px);margin-left:76px}.app-header{grid-template-columns:1fr auto;padding:10px 15px}.header-clock{display:none}.header-brand{text-align:left;align-items:flex-start}.header-logo{width:31px;height:31px;margin-bottom:2px}.app-header h2{font-size:12px}.app-header p{font-size:8px}.user-chip{display:none}.page-content{padding:18px}}@media (width<=520px){.app-header{gap:7px;padding:9px 10px}.app-header h2{white-space:normal;font-size:10px;line-height:1.1}.header-actions{gap:5px}.theme-toggle{width:32px;height:34px}.logout-button{min-height:34px;padding:0 8px;font-size:10px}.logout-button span{display:none}}.page-heading{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.page-heading h1{margin:0;font-size:25px}.page-heading p{color:var(--text-soft);margin:5px 0 0}.placeholder-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:30px}.app-loading{background:var(--bg);min-height:100vh;color:var(--text);justify-content:center;align-items:center;gap:12px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:30px;height:30px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:25px;display:flex;position:relative}.login-theme-toggle{position:absolute;top:25px;right:25px}.login-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:430px;box-shadow:var(--shadow);border-radius:16px;padding:40px}.login-logo{background:var(--primary);color:#fff;border-radius:15px;justify-content:center;align-items:center;width:68px;height:68px;margin:0 auto 18px;font-size:21px;font-weight:900;display:flex}.login-card h1{text-align:center;margin:0}.login-subtitle{text-align:center;color:var(--text-soft);margin-bottom:30px}.form-group{margin-bottom:18px}.form-group label{margin-bottom:7px;font-size:13px;font-weight:700;display:block}.form-group input,.form-group select,.form-group textarea{width:100%;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;outline:none;padding:0 13px}.form-group input,.form-group select{height:47px}.form-group textarea{resize:vertical;min-height:100px;padding-top:12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary)}.primary-button{background:var(--primary);color:#fff;cursor:pointer;border:0}.primary-button:hover{background:var(--primary-hover)}.login-button{border-radius:8px;width:100%;height:48px;font-weight:700}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:var(--danger);background:#dc35451a;border-radius:7px;margin-bottom:14px;padding:10px;font-size:13px}
