:root{--green:#0c7867;--dark:#17453b;--ink:#20332f;--muted:#697a74;--border:#e2e9e5;--bg:#f6f8f5;--soft:#eaf4ee}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}button,input,select{font:inherit}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #67b49d;outline-offset:3px}small{display:block;font-size:12px;color:var(--muted);line-height:1.6}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1px;font-weight:650;margin:8px 0 10px}h2{font-size:18px;letter-spacing:-.35px}h3{font-size:16px}p{color:var(--muted);line-height:1.6}.app{display:flex;min-height:100vh}.sidebar{width:248px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--border);padding:28px 18px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:10px;align-items:center;padding:0 0 26px}.brand strong{font-size:14px;letter-spacing:-.3px}.brand small{font-size:10px}.brandmark{width:39px;height:43px;border-radius:12px 12px 16px 16px;color:white;display:grid;place-items:center;flex-shrink:0}.workspace{background:var(--bg);border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;gap:10px;padding:12px 9px;margin-bottom:27px}.workspace strong{font-size:12px;display:block;max-width:145px}.workspace small{font-size:9px;letter-spacing:1px}.avatar{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#e4eee7;font-weight:700;font-size:12px;flex-shrink:0}.avatar.small{width:30px;height:30px;border-radius:50%;font-size:10px;margin-right:10px;float:left}.nav-label{font-size:10px;letter-spacing:1.6px;padding:0 12px 13px}nav{display:grid;gap:5px}nav button{justify-content:flex-start;padding:13px 14px;border-radius:8px;color:#5b6c64;min-height:44px;font-weight:500}nav button.active{background:#e9f3ec;color:#126a56;font-weight:600}nav button:hover{background:#f2f6f1}.new{font-size:8px;background:#d4eadb;padding:4px 5px;border-radius:4px;margin-left:auto;letter-spacing:.5px}.sidebar-bottom{margin-top:auto;padding-top:30px}.help{border:1px solid var(--border);padding:13px;border-radius:9px;font-size:11px}.help small{font-size:10px;padding-left:12px}.dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:6px}.account{display:flex;align-items:center;border-top:1px solid var(--border);margin-top:18px;padding-top:18px;font-size:12px}.account small{font-size:10px}.main{width:calc(100% - 248px);margin-left:248px}header{height:75px;padding:0 32px;background:#ffffffcc;border-bottom:1px solid var(--border);justify-content:space-between;gap:15px}.breadcrumb,header{display:flex;align-items:center}.breadcrumb{gap:12px;font-size:12px}.breadcrumb span{color:var(--muted)}.header-actions{display:flex;align-items:center;gap:10px}.header-actions select{max-width:175px;font-size:11px;border:1px solid var(--border);background:white;border-radius:7px;padding:8px}.icon{width:36px;height:36px;position:relative;border-radius:8px}.icon:hover{background:var(--soft)}.icon i{position:absolute;right:7px;top:6px;width:5px;height:5px;background:#cd7751;border-radius:50%}.bell-wrap{position:relative}.popover{position:absolute;right:0;top:43px;width:310px;max-height:360px;overflow:auto;background:white;box-shadow:0 15px 45px #14372d20;border:1px solid var(--border);border-radius:12px;padding:17px;z-index:50}.popover h3{margin-bottom:12px}.popover button{display:block;text-align:left;width:100%;padding:10px 0;border-bottom:1px solid var(--border);font-size:12px}main{max-width:1450px;margin:0 auto;padding:24px 32px}.demo-bar{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1px solid #dee8db;background:#eff4e9;border-radius:7px;font-size:10px;color:#526843;gap:10px}.demo-bar button,.demo-bar span{display:flex;align-items:center;gap:7px}.page-title{display:flex;justify-content:space-between;align-items:center;margin:28px 0}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:600}.page-title p{font-size:12px}.outline,.primary{border-radius:7px;padding:11px 15px;font-size:12px;min-height:40px;font-weight:600;white-space:nowrap}.primary{background:var(--green);color:white}.primary:hover{background:#086453}.outline{background:white;border:1px solid var(--border)}.outline:hover{background:var(--bg)}.text-btn{font-size:11px;color:var(--green);white-space:nowrap;padding:5px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stats.three{grid-template-columns:repeat(3,1fr)}.stat{background:white;padding:20px;border:1px solid var(--border);border-radius:11px;min-height:130px}.stat>div{display:flex;justify-content:space-between}.stat>div,.stat>span{color:var(--muted);font-size:12px}.stat svg{color:var(--green)}.stat>strong{display:block;font-size:27px;letter-spacing:-1px;margin:15px 0 7px;font-weight:600}.stat small{font-size:10px}.card{background:white;border:1px solid var(--border);border-radius:12px;overflow:hidden}.dashboard-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:20px}.card-head{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.card-head p{font-size:11px;margin-top:7px}.session-row{display:flex;align-items:center;gap:12px;padding:20px 22px;border-top:1px solid #edf0ed}.session-row strong{font-size:12px}.session-row small{font-size:10px;margin-top:5px}.date-box{background:#f0f5ec;padding:13px;border-radius:9px;color:var(--green)}.grow{flex:1 1}.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:5px;font-size:10px;font-weight:600;background:#eaf4ec;color:#236348;white-space:nowrap}.badge.amber{color:#8e632b;background:#fff2db}.soft-callout{display:flex;align-items:center;gap:12px;border:1px solid #dceadf;background:#f1f7ef;border-radius:9px;padding:16px;color:var(--dark)}.schedule-card>.soft-callout{margin:20px}.soft-callout strong{font-size:12px}.soft-callout p{font-size:11px}.soft-callout .text-btn{margin-left:auto}.task{display:flex;text-align:left;gap:12px;padding:15px 21px;width:100%;border-top:1px solid #edf0ed}.task:hover{background:var(--bg)}.task strong{font-size:12px}.task small{font-size:10px;margin-top:4px}.task-icon{background:#f5f1e9;color:#a47b42;padding:9px;border-radius:8px}.quick-start{display:flex;align-items:center;justify-content:space-between;padding:28px;margin-top:22px;background:linear-gradient(115deg,#eef6ec,#fff)}.quick-start h2{font-size:24px;margin:10px 0}.quick-start p{font-size:12px;margin-bottom:18px}.tile-stack{display:grid;gap:9px;min-width:200px}.tile-stack span{display:flex;align-items:center;gap:12px;border:1px solid #dbe6dc;border-radius:8px;background:#ffffffb0;padding:12px 20px;font-size:12px;color:var(--dark)}.tile-stack svg{width:18px}.tabs{display:flex;overflow-x:auto;gap:20px;padding:0 22px;border-bottom:1px solid var(--border)}.tabs button{padding:18px 0;white-space:nowrap;font-size:12px;border-bottom:2px solid transparent}.tabs button.selected{color:var(--green);font-weight:600}.toolbar{display:flex;align-items:center;gap:12px;padding:18px 22px}.toolbar h2{margin-right:auto}.search{display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:7px;padding:9px 12px;max-width:300px;background:white}.search svg{color:var(--muted)}.search input{border:0;background:none;outline:0;min-width:0;width:100%;font-size:12px}.count{font-size:11px;color:var(--muted);margin-right:auto}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:10px;font-weight:600;color:#718077;background:#f8faf6;padding:13px 22px}td{padding:17px 22px;border-top:1px solid #edf0ed;font-size:12px}td strong{font-weight:500}td small{font-size:10px;margin-top:4px}.empty{padding:45px 24px;text-align:center;color:var(--muted);max-width:650px;margin:auto}.empty>svg{color:var(--green);margin-bottom:12px}.empty h3{margin-bottom:9px;color:var(--ink)}.empty p{font-size:12px}.institution-banner{display:flex;align-items:center;gap:20px;padding:32px;background:#edf5ee}.institution-banner .outline{margin-left:auto}.avatar.large{width:65px;height:65px;font-size:24px;border-radius:15px;background:white}.institution-banner p{font-size:12px;margin-top:7px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:32px}.detail-grid strong{display:block;font-size:13px;margin-top:6px}.finance-notice{gap:10px;background:#fff6e5;border:1px solid #efdfbc;padding:13px 16px;border-radius:8px;margin-bottom:18px;color:#7f622d}.finance-notice,.summary-row{display:flex;align-items:center;font-size:12px}.summary-row{justify-content:space-between;gap:15px;padding:18px 22px;border-top:1px solid #edf0ed}.summary-row small{font-size:10px}.market-banner{display:flex;align-items:center;justify-content:space-between;padding:30px;border-radius:12px;background:#e8f1e6;border:1px solid #dae6d8;margin-bottom:20px;color:var(--dark)}.market-banner h2{font-size:26px;max-width:500px;margin:9px 0}.market-banner p{font-size:12px}.market-banner>svg{opacity:.3;margin-right:35px}.market-toolbar{padding:0;margin:25px 0;font-size:12px;color:var(--muted);justify-content:space-between}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.module{padding:22px;display:flex;flex-direction:column}.module-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.module-icon{display:inline-grid;place-items:center;background:#e8f1e7;border-radius:10px;width:42px;height:42px;color:var(--green)}.module-icon.tone1{background:#f5eee2;color:#ad8545}.module-icon.tone2{background:#eaf0f7;color:#657f9d}.category{font-size:9px;background:var(--bg);padding:5px 7px;border-radius:4px;color:var(--muted)}.module h3{margin-bottom:9px}.module p{font-size:12px;margin-bottom:12px}.module-status{font-size:10px;margin-bottom:20px}.module-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--border);padding-top:16px;margin-top:auto;font-size:12px;font-weight:600}.module-bottom small{font-size:9px;font-weight:400}.module-bottom button{font-size:10px;padding:8px;min-height:35px}.settings-body{padding:25px}.settings-body>p{margin:12px 0 20px;font-size:12px}.settings-body>.module-icon{margin-bottom:15px}.settings-body>.summary-row{padding:17px 0}.muted{color:var(--muted);font-size:11px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:90;display:flex;align-items:center;gap:12px;background:#183e32;box-shadow:0 8px 30px #183e3230;border-radius:10px;padding:16px 20px;font-size:12px;max-width:90vw}.toast,.toast button{color:white}.modal-backdrop{position:fixed;inset:0;background:#17382d55;display:flex;align-items:center;justify-content:center;padding:20px;z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:white;border-radius:14px;width:600px;max-width:100%;max-height:90vh;overflow:auto;box-shadow:0 25px 100px #17382d44}.modal-header{padding:22px 25px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin-top:6px}.modal-body{padding:24px;display:grid;gap:16px}.field{display:grid;gap:7px;font-size:12px;font-weight:500}input,select{border:1px solid var(--border);border-radius:7px;padding:10px;background:white;color:var(--ink)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px;border-top:1px solid var(--border);background:#fafbf9}.permission-row{display:flex;gap:12px;align-items:center;font-size:10px}.permission-row strong{margin-right:auto}.permission-row label{display:flex;align-items:center;gap:4px}.error{padding:12px;background:#fff0ed;color:#a03f2e;border-radius:7px;font-size:12px}footer{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding:30px 0 5px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.mobile-toggle{display:none}@media(min-width:1600px){main{padding-top:32px}.stats{gap:22px}.stat{padding:25px}}@media(max-width:1150px){.sidebar{width:220px}.main{margin-left:220px;width:calc(100% - 220px)}main{padding:22px}.module-grid{grid-template-columns:repeat(2,1fr)}.stats{gap:10px}.stat{padding:15px}.stat>strong{font-size:22px}.dashboard-grid{grid-template-columns:1fr}.tile-stack{min-width:150px}.header-actions select{max-width:135px}header{padding:0 22px}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:248px;box-shadow:10px 0 40px #17382d15}.sidebar.visible{transform:translateX(0)}.main{margin-left:0;width:100%}.mobile-toggle{display:flex}header{padding:0 14px;height:65px}.breadcrumb>span,.breadcrumb>svg{display:none}.header-actions{gap:4px}.header-actions select{max-width:112px;font-size:9px;padding:7px}.header-actions select:first-child{max-width:95px}main{padding:16px}.demo-bar{align-items:flex-start}.demo-bar,.demo-bar button{font-size:9px}.demo-bar span{max-width:190px}h1{font-size:25px}.page-title{gap:12px;margin:24px 0}.page-title p{font-size:11px}.page-title .primary{padding:10px;font-size:10px}.stats,.stats.three{grid-template-columns:repeat(2,1fr)}.stat{min-height:116px}.stats.three>.stat:last-child{grid-column:span 2}.card-head{padding:18px}.card-head h2{font-size:16px}.session-row{flex-wrap:wrap;padding:18px}.session-row .outline{margin-left:53px}.quick-start{padding:22px}.tile-stack{display:none}.quick-start h2{font-size:22px}.soft-callout,.toolbar{flex-wrap:wrap}.toolbar{padding:15px}.toolbar .search{max-width:100%;flex:1 1}.count{display:none}.module-grid{grid-template-columns:1fr}.market-banner{padding:22px}.market-banner h2{font-size:22px}.market-banner>svg{display:none}.institution-banner{padding:20px;flex-wrap:wrap}.institution-banner .outline{margin-left:85px}.detail-grid{grid-template-columns:1fr;padding:24px}.modal-backdrop{padding:10px}.modal{max-height:94vh}.modal-body{padding:19px}.modal-actions,.permission-row{flex-wrap:wrap}.settings-body{padding:20px}footer span{display:none}.finance-notice{font-size:11px}.popover{width:290px}.toast{width:90vw}.eyebrow{font-size:9px}}:root{--green:#0F766E;--dark:#17324D;--ink:#1F2937;--muted:#667085;--border:#D9E2E8;--bg:#F6F8FA;--soft:#eaf4f2;--teal:#115E59;--gold:#C59D2A}body{font-family:Inter,Geist,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.brand strong,h1,h2,h3{color:var(--dark)}.brandmark{background:var(--green);box-shadow:inset 0 -3px 0 var(--gold)}.primary:hover{background:var(--teal)}nav button.active{background:#e8f3f1;color:var(--teal);box-shadow:inset 3px 0 0 var(--green)}.new{color:#79590d;background:#f6edcf}.badge{color:#067647;background:#e9f6ef}.badge.amber{color:#B54708;background:#fff3dc}.avatar{color:var(--dark);background:#eaf0f5}.stat>strong,.summary-row,td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eyebrow{color:var(--green)}.demo-bar{background:#edf4f7;border-color:#d8e5ed;color:var(--dark)}.workspace{background:#F6F8FA}.soft-callout{background:#edf6f3;border-color:#d5e7e1}.institution-banner{background:linear-gradient(110deg,#edf5f4,#f5f7fa)}.market-banner{background:linear-gradient(110deg,#eef5f4,#faf5e7);border-color:#dbe5e6}.quick-start{background:linear-gradient(115deg,#edf5f4,#fff)}.task-icon{background:#faf4e5;color:#92712c}.session-modal{width:900px}.batch-default{background:#f6f8fa;border:1px solid var(--border);border-radius:10px;padding:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.batch-default h3{grid-column:1/-1;display:flex;gap:8px;align-items:center}.student-progress{border:1px solid var(--border);border-radius:10px;overflow:hidden}.progress-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:18px}.progress-inputs>.field:last-child{grid-column:1/-1}.field{text-transform:none}.batch-default label:first-letter,.progress-inputs label:first-letter{text-transform:uppercase}.operations{padding:24px;display:grid;gap:18px}.ops-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.dashboard-filters{padding:0 0 20px;flex-wrap:wrap}.dashboard-filters label{font-size:11px;display:flex;align-items:center;gap:8px}.receipt-trend{margin-top:22px}.receipt-trend meter{width:45%;height:12px;accent-color:var(--green)}.badge:has(+.neutral){color:var(--muted)}@media(max-width:760px){.batch-default,.ops-grid,.progress-inputs{grid-template-columns:1fr}.batch-default h3,.progress-inputs>.field:last-child{grid-column:auto}.operations{padding:18px}.dashboard-filters label{width:100%;justify-content:space-between}.dashboard-filters input,.dashboard-filters select{max-width:210px}.session-modal{max-height:95vh}}.badge.neutral{color:#667085;background:#F0F2F5}nav button.active{background:var(--soft);border-left-color:var(--green)}.eyebrow,.tabs button.selected,.text-btn,nav button.active{color:var(--green)}.tabs button.selected{border-bottom-color:var(--green)}.brandmark,.primary{background:var(--green)}.module-icon,.module-icon.tone0,.soft-callout{background:var(--soft)}.theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.theme-option{border:1px solid var(--border);border-radius:12px;padding:18px;justify-content:flex-start;background:white;min-height:64px}.theme-option[aria-pressed=true]{border:2px solid var(--green);background:var(--soft)}.theme-swatch{width:28px;height:28px;border-radius:50%;flex-shrink:0}.theme-option svg{margin-left:auto;color:var(--green)}@media(max-width:600px){.theme-options{grid-template-columns:1fr}}.brandmark,.primary{color:var(--brand-text,#fff)}.eyebrow,.tabs button.selected,.text-btn,nav button.active{color:var(--accent-ink,var(--green))}.institution-logo{width:36px;height:36px;object-fit:contain;border-radius:6px}.logo-preview{width:100px;height:100px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:12px}input[type=color]{width:80px;min-height:44px;padding:4px;cursor:pointer}.color-preview .primary{display:inline-flex;padding:12px 18px;border-radius:8px}.rapor-print{margin-top:24px}.rapor-sheet{padding:28px;margin-bottom:24px}.rapor-heading{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--border);padding-bottom:20px}.rapor-sheet h3{margin-top:20px}.rapor-signature{margin-top:40px}@media print{body *{visibility:hidden}.rapor-print,.rapor-print *{visibility:visible}.rapor-print{position:absolute;left:0;top:0;width:100%;margin:0}.rapor-sheet{page-break-after:always;break-after:page;box-shadow:none;border:0;margin:0;padding:12mm}.rapor-sheet:last-child{page-break-after:auto;break-after:auto}.no-print{display:none!important}table{width:100%}tr{page-break-inside:avoid;break-inside:avoid}}.transfer-actions{display:flex;gap:10px;padding:16px 24px;flex-wrap:wrap}.import-panel{padding:24px;border-top:1px solid var(--border);display:grid;gap:15px}.field textarea{width:100%;font:inherit;padding:12px;border:1px solid var(--border);border-radius:8px;resize:vertical}.batch-table input:not([type=checkbox]),.batch-table select{width:100%;min-width:100px;padding:8px}.batch-table td{padding:10px 12px}.batch-table{min-width:650px}.bulk-footer{position:sticky;bottom:0;background:white;z-index:2;border-top:1px solid var(--border);padding:16px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.session-modal{width:1100px}@media(max-width:760px){.session-grid{min-width:0}.session-grid thead{display:none}.session-grid,.session-grid tbody,.session-grid tr{display:block;width:100%}.session-grid tr{border:1px solid var(--border);border-radius:10px;margin:10px 0;padding:8px}.session-grid td{display:grid;grid-template-columns:85px 1fr;gap:8px;border:0;padding:5px!important}.session-grid td:before{content:attr(data-label);text-transform:capitalize;font-size:12px;align-self:center}.session-grid td small{grid-column:2}.batch-default{position:static}.session-modal .modal-actions{flex-wrap:wrap}.bulk-footer{position:static}.import-panel,.transfer-actions{padding:16px}}.action-icon{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px!important;gap:0!important;flex-shrink:0;position:relative}.action-icon svg{width:19px;height:19px}.action-icon:focus-visible{outline:3px solid var(--accent-ink);outline-offset:3px}.edit-savebar{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;background:white;border:1px solid #e3e5e9;box-shadow:0 6px 24px #17202312;border-radius:12px}.edit-savebar span{margin-right:auto;font-size:13px}.editable-master>p{padding:0 18px}.master-grid input,.master-grid select{min-width:115px;width:100%;padding:10px;border:1px solid transparent;border-radius:7px;background:transparent}.master-grid input:hover,.master-grid select:hover{border-color:#d7dce3}.master-grid input:focus,.master-grid select:focus{background:white;border-color:var(--green);outline:2px solid var(--soft)}.master-grid td:first-child input{min-width:180px}.row-dirty{background:#fff9e9}.new-data-row{background:var(--soft)}.detail-drawer{position:fixed;top:0;right:0;bottom:0;width:min(480px,100vw);max-height:100dvh;height:100dvh;border-radius:0;margin:0;display:flex;flex-direction:column}.detail-drawer form{display:flex;flex-direction:column;min-height:0;flex:1 1}.detail-drawer .modal-body{overflow:auto;flex:1 1}.detail-drawer .modal-actions{flex-shrink:0}.detail-drawer .modal-body .field{width:100%}@media(max-width:700px){.master-grid{min-width:650px}.edit-savebar{bottom:4px}.detail-drawer{width:100vw}}.detail-drawer .modal-body{display:flex;flex-direction:column;justify-content:flex-start;gap:18px;align-items:stretch;padding:24px}.detail-drawer .field{display:flex;flex-direction:column;gap:8px;flex:0 0 auto;min-height:0}.detail-drawer .field input,.detail-drawer .field select{height:44px;min-height:44px;max-height:44px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px}.detail-drawer .modal-header{flex-shrink:0}.academic-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:20px}.academic-toolbar .transfer-actions{padding:0;margin-left:auto}.academic-toolbar>select{height:44px;padding:10px;border:1px solid var(--border);border-radius:8px;background:white}.editable-master .master-grid input,.editable-master .master-grid select{height:40px;background:#ffffff;border:1px solid #e3e8e5}.editable-master .master-grid td{padding:8px 12px}.new-data-row td{border-top:2px solid var(--green)}.inline-session .modal{width:100%;max-height:none;border:0;border-radius:0;box-shadow:none}.inline-session .modal-body{max-height:none;overflow:visible}.inline-session .modal-header{display:none}.inline-session-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-top:1px solid var(--border)}.inline-session .batch-default .action-icon{width:44px;justify-self:start}.sync-state{font-size:11px;margin-left:auto}.academic-toolbar .import-panel{flex-basis:100%;width:100%}.action-icon.mobile-toggle{display:none!important}@media(max-width:900px){.action-icon.mobile-toggle{display:inline-flex!important}}.import-redesign{display:block;flex-basis:100%;width:100%;padding:20px}.import-heading{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:16px}.import-heading h3{margin-bottom:6px}.import-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px}.import-entry,.import-guide{border:1px solid var(--border);padding:18px;border-radius:12px;display:flex;flex-direction:column;gap:14px;min-width:0;background:#fbfcfb}.import-entry h4,.import-guide h4,.import-result h4{margin:0;font-size:14px}.import-guide-head{display:flex;gap:12px;align-items:center}.import-guide p,.import-heading p{font-size:12px}.import-fields{display:grid;gap:10px;padding:12px;background:white;border-radius:8px}.import-fields strong{font-size:12px}.import-reference{padding:12px;border:1px solid var(--border);border-radius:8px}.import-reference p{margin-top:6px}.upload-zone{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px dashed #a2b9ae;background:white;border-radius:9px}.upload-zone input{width:100%;height:auto;padding:0}.import-entry .field{display:flex;flex-direction:column;gap:8px}.import-entry textarea{font-family:monospace;font-size:12px;min-height:150px}.import-check{display:flex;align-items:center;justify-content:space-between;font-size:12px}.import-result{margin-top:18px;border-top:1px solid var(--border);padding-top:18px}.import-errors{background:#fff5f1;border:1px solid #f0d2c4;border-radius:8px;padding:12px;max-height:200px;overflow:auto;font-size:12px}.import-errors ul{padding-left:20px;margin:8px 0;line-height:1.7}.import-guide details summary{cursor:pointer;font-size:12px}.import-guide details table{min-width:650px}.import-guide details{overflow:hidden}@media(max-width:760px){.import-columns{grid-template-columns:1fr}.import-redesign{padding:14px}}.bulk-footer,.edit-savebar{position:static;bottom:auto;margin-top:16px;z-index:auto}.modal-actions{position:static;flex-shrink:0}.session-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;flex-wrap:wrap}.period-assessment,.shared-learning{border:1px solid var(--border);border-radius:12px;padding:16px;margin:16px 0}.period-assessment summary,.shared-learning summary{cursor:pointer;font-weight:600;padding:8px 0}.shared-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.shared-fields input:not([type=checkbox]){width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;margin-top:8px}.check-label{display:flex;align-items:center;gap:8px;font-size:13px}.check-label input[type=checkbox]{width:18px;height:18px;min-width:18px;accent-color:var(--green)}.override-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.override-types label{border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;gap:10px;align-items:center}.override-types label:has(input:checked){border-color:var(--green);background:var(--soft)}.override-types input{accent-color:var(--green)}.session-grid th:first-child{min-width:145px}@media(max-width:760px){.override-types,.shared-fields{grid-template-columns:1fr}.session-grid th:first-child{min-width:0}.bulk-footer,.edit-savebar{bottom:auto}}.row-actions{display:flex;align-items:center;gap:4px}.master-grid td,.session-grid td{vertical-align:middle}.apply-default-row{background:var(--soft)}.apply-default-row td{vertical-align:top}.apply-default-row .check-label{margin-top:8px}.master-grid td{white-space:normal}.master-grid td .row-actions{min-width:96px}.session-apply-controls{padding:16px;background:var(--soft);border:1px solid var(--border);border-radius:12px;margin-bottom:16px}.session-apply-controls .session-toolbar{margin:0 0 14px;justify-content:flex-start}.session-apply-controls .session-toolbar .action-icon{margin-left:auto}.session-apply-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}.session-grid td:first-child,.session-grid th:first-child{min-width:44px;width:44px;padding:8px!important}.session-grid input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}@media(max-width:760px){.session-apply-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.session-grid td:first-child{width:100%;min-width:0}.session-apply-controls .session-toolbar .action-icon{margin-left:0}}.session-save-help{padding:12px 24px;background:var(--soft);border-top:1px solid var(--border);font-size:13px}.session-grid-readonly td:first-child,.session-grid-readonly th:first-child{width:auto;min-width:180px;padding:10px 12px!important}@media(max-width:760px){.session-grid-readonly td:first-child{min-width:0;width:100%}}.inline-session .modal-header{display:flex}.mobile-student-jump{display:none}.rapor-sheet{scroll-margin-top:20px}.rapor-sheet .table-wrap{margin-top:16px}.rapor-sheet table td{white-space:normal}.rapor-sheet .table-wrap table{min-width:680px}@media(max-width:760px){.mobile-student-jump{display:block;margin:16px 0}.session-modal{max-width:100%;min-width:0}.session-modal .modal-body{padding:14px}.session-grid,.session-grid tbody,.session-grid td,.session-grid tr{min-width:0!important}.session-grid td{grid-template-columns:76px minmax(0,1fr);overflow-wrap:anywhere}.mobile-student-jump select,.session-apply-fields input,.session-apply-fields select,.session-grid input:not([type=checkbox]),.session-grid select{min-width:0;width:100%;min-height:44px;font-size:16px}.session-apply-controls .check-label{min-height:44px}.session-modal .ops-grid{grid-template-columns:1fr}.rapor-sheet{padding:16px}.summary-row{flex-wrap:wrap;gap:10px}}@media(max-width:420px){.session-apply-fields{grid-template-columns:1fr}}@media print{.rapor-sheet .table-wrap{overflow:visible}.rapor-sheet .table-wrap table{min-width:0}.rapor-sheet table{font-size:10px}}.report-filters{align-items:flex-end;flex-wrap:wrap}.report-filters .field{min-width:160px;flex:1 1}.rapor-sheet .table-wrap{overflow:auto}@media print{.rapor-sheet .table-wrap{overflow:visible}.rapor-sheet table td,.rapor-sheet table th{padding:5px;overflow-wrap:anywhere;white-space:normal}.rapor-sheet table{table-layout:fixed;font-size:9px}}@media(max-width:760px){.report-filters .field{min-width:calc(50% - 12px)}.report-filters input,.report-filters select{min-height:44px;font-size:16px}}.report-letterhead{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:22px;border-bottom:2px solid var(--green)}.report-institution{display:flex;align-items:center;gap:16px;min-width:0}.report-institution img{width:62px;height:62px;object-fit:contain}.report-logo-fallback{color:var(--green);display:grid;place-items:center;width:62px;height:62px}.report-institution h2{font-size:25px;font-family:Georgia,serif;letter-spacing:0}.report-institution p{font-size:12px;margin-top:5px}.report-title{border-left:2px solid var(--green);padding-left:22px;text-align:right;flex-shrink:0}.report-title h2{font-family:Georgia,serif;font-size:26px;color:var(--green);letter-spacing:1px}.report-title p{margin-top:4px}.report-metadata{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 0;line-height:1.6}.report-summary{display:flex;gap:16px;padding:12px 16px;background:var(--soft);margin-bottom:16px}.rapor-sheet .report-class-table{min-width:1080px;table-layout:fixed}.report-class-table thead tr:first-child th{background:var(--soft);font-size:13px;text-align:center;border:1px solid var(--border)}.report-class-table thead tr:nth-child(2) th{background:#f7f9f4;text-align:center;font-size:12px;border:1px solid var(--border)}.rapor-sheet .report-class-table td,.rapor-sheet .report-detail-table td{font-size:13px;padding:12px 9px;line-height:1.5;word-break:normal;overflow-wrap:break-word;border-bottom:1px solid var(--border)}.report-class-table tbody tr:nth-child(2n),.report-detail-table tbody tr:nth-child(2n){background:#f8faf7}.report-student-name{font-weight:600}.report-number{text-align:center}.report-legend{gap:16px;font-size:11px;line-height:1.5;margin-top:16px;color:var(--muted)}.report-legend,.report-signatures{display:flex;justify-content:space-between}.report-signatures{gap:40px;page-break-inside:avoid;break-inside:avoid;margin:30px 30px 20px}.report-signatures>div{width:240px;text-align:center}.signature-line{height:56px;border-bottom:1px solid var(--ink);margin-bottom:10px}.report-footer{display:flex;justify-content:space-between;gap:20px;border-top:2px solid var(--green);padding-top:10px;font-size:11px;color:var(--muted)}@media(max-width:760px){.report-letterhead{align-items:flex-start;gap:16px;flex-wrap:wrap}.report-institution h2{font-size:21px}.report-title{text-align:left;padding-left:0;border-left:0}.report-title h2{font-size:21px}.report-footer,.report-legend,.report-metadata{flex-direction:column;gap:8px}.report-signatures{margin:24px 0;gap:24px}.report-signatures>div{width:45%}}@media print{.demo-bar,.no-print,.page-title,.sidebar,footer,header{display:none!important}.app{display:block!important}.main{width:100%!important}.main,main{margin:0!important}main{padding:0!important;max-width:none!important}.rapor-print{position:static!important;width:100%!important}.rapor-sheet{padding:0!important;page-break-after:auto!important;break-after:auto!important;border:0!important;margin:0!important;overflow:visible!important}.report-letterhead{flex-wrap:nowrap;padding-bottom:5mm;gap:6mm}.report-institution img,.report-logo-fallback{width:14mm;height:14mm}.report-institution h2{font-size:19pt}.report-institution p{font-size:9pt}.report-title{border-left:1px solid #687519;padding-left:5mm;text-align:right}.report-title h2{font-size:20pt;color:#526019}.report-title p{font-size:11pt}.report-metadata{flex-direction:row;padding:4mm 0;font-size:10pt}.report-summary{font-size:10pt;padding:2mm 3mm;margin-bottom:3mm}.rapor-sheet .table-wrap{overflow:visible!important}.rapor-sheet .report-class-table,.rapor-sheet .report-detail-table{min-width:0!important;width:100%!important;table-layout:fixed}.report-class-table thead{display:table-header-group}.report-class-table tr,.report-detail-table tr{break-inside:avoid;page-break-inside:avoid}.rapor-sheet .report-class-table th,.rapor-sheet .report-detail-table th{font-size:10pt!important;padding:2mm 1.5mm!important;color:#20332f!important;line-height:1.3}.rapor-sheet .report-class-table td,.rapor-sheet .report-detail-table td{font-size:10pt!important;padding:2mm 1.5mm!important;line-height:1.35;word-break:normal!important;overflow-wrap:normal!important}.report-student-name{font-weight:500}.report-legend{flex-direction:row;font-size:8pt;margin-top:3mm}.report-signatures{margin:7mm 6mm 5mm;font-size:10pt;gap:10mm}.report-signatures>div{width:60mm}.signature-line{height:15mm}.report-footer{flex-direction:row;font-size:8pt;padding-top:2mm}.report-class-table th,.report-letterhead,.report-summary{print-color-adjust:exact;-webkit-print-color-adjust:exact}}@media screen{.report-controls{padding:0;overflow:hidden;margin-bottom:20px}.report-controls .report-filters{display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(145px,1fr)) 44px;gap:14px;align-items:end;padding:18px 20px;margin:0}.report-controls .field{margin:0;min-width:0;gap:6px;font-size:12px}.report-controls .field input,.report-controls .field select{width:100%;min-width:0;height:44px}.report-controls .tabs{margin:0;padding:0 20px;border-top:1px solid var(--border);gap:20px}.report-controls .tabs button{padding:12px 0;border-radius:0;background:transparent}.report-controls>.toolbar{padding:12px 20px;margin:0}.report-help{display:flex;flex-wrap:wrap;gap:8px 20px;padding:10px 20px;background:var(--soft);font-size:12px}.report-help p{margin:0}.rapor-sheet{padding:0;overflow:hidden}.rapor-sheet .report-footer,.rapor-sheet .report-letterhead,.rapor-sheet .report-metadata,.rapor-sheet .report-signatures,.rapor-sheet .report-summary{display:none}.report-screen-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--border)}.report-eyebrow{font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.04em}.report-screen-heading h2{font-family:inherit;font-size:22px;line-height:1.3;margin:5px 0}.report-screen-heading p{font-size:13px;margin:0;color:var(--muted)}.report-screen-stats{display:flex;gap:10px;flex-shrink:0}.report-screen-stats>span{padding:10px 14px;background:var(--soft);border-radius:10px;font-size:12px;white-space:nowrap}.report-screen-stats strong{font-size:18px;margin-right:4px}.rapor-sheet .table-wrap{width:100%;overflow:auto;max-height:65vh;margin:0;overscroll-behavior:contain}.rapor-sheet .report-class-table{min-width:1040px;width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}.report-class-table col:first-child{width:36px!important}.report-class-table col:nth-child(2){width:180px!important}.report-class-table col:nth-child(n+3):nth-child(-n+6){width:36px!important}.report-class-table col:nth-child(n+7):nth-child(-n+9){width:120px!important}.report-class-table col:nth-child(10){width:76px!important}.report-class-table col:nth-child(11){width:180px!important}.report-class-table col:nth-child(12){width:64px!important}.rapor-sheet .report-class-table td,.rapor-sheet .report-detail-table td{padding:10px 9px;font-size:13px;vertical-align:middle}.rapor-sheet .report-class-table thead th{padding:10px 6px;font-size:12px}.report-class-table tbody td:last-child,.report-class-table thead tr:first-child th:last-child{position:sticky;right:0;background:var(--soft);box-shadow:-1px 0 0 var(--border);text-align:center;z-index:2}.report-class-table tbody td:last-child{background:white}.report-class-table tbody tr:nth-child(2n) td:last-child{background:#f8faf7}.report-class-table tbody tr:hover td{background:var(--soft)}.report-class-table .report-student-name{font-weight:600}.rapor-sheet .report-legend{margin:0;padding:12px 20px;border-top:1px solid var(--border);background:#fafbf9;gap:6px 20px;font-size:11px}.rapor-sheet>.summary-row,.rapor-sheet>h3,.rapor-sheet>p,.rapor-sheet>small{margin:14px 20px}.rapor-sheet .report-detail-table{min-width:820px}}@media screen and (max-width:900px){.report-controls .report-filters{grid-template-columns:repeat(2,minmax(0,1fr)) 44px}.report-controls .report-filters>.field:first-child,.report-controls .report-filters>.field:nth-child(4){grid-column:1/3}.report-controls .report-filters>button{grid-column:3;grid-row:3}}@media screen and (max-width:600px){.report-controls .report-filters{padding:14px;gap:10px}.report-controls .tabs{padding:0 14px}.report-help{padding:10px 14px}.report-screen-heading{align-items:flex-start;flex-direction:column;padding:16px;gap:12px}.report-screen-heading h2{font-size:20px}.report-screen-stats{width:100%;gap:8px}.report-screen-stats>span{flex:1 1;padding:8px 10px}.rapor-sheet .report-legend{padding:12px 14px}}.finance-main{min-width:0;overflow:hidden}.finance-main>.tabs{overflow-x:auto;flex-wrap:nowrap}.finance-main>.tabs button{white-space:nowrap;flex-shrink:0}.finance-workbench{padding:0 24px 24px;min-width:0;display:grid;gap:16px}.finance-editor-heading,.finance-list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.finance-editor-heading p,.finance-list-toolbar p{font-size:13px;color:var(--muted);margin:4px 0}.finance-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.finance-filter-grid .field{min-width:0;margin:0;font-size:12px;gap:6px}.finance-deposit-target input[type=number],.finance-filter-grid input,.finance-filter-grid select{width:100%;min-width:0;height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:white;font:inherit}.finance-editor{border:1px solid var(--border);border-radius:12px;padding:18px;display:grid;gap:16px;min-width:0}.finance-apply{background:var(--soft);border:1px solid var(--border);border-radius:10px;padding:14px;display:grid;gap:12px}.finance-apply-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.finance-apply-actions>span{margin-left:auto;font-size:12px;color:var(--muted)}.finance-entry-table{min-width:1040px}.finance-entry-table th:first-child{width:44px}.finance-entry-table td:first-child input,.finance-read-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}.finance-entry-table td:nth-child(2){min-width:180px}.finance-entry-table input:not([type=checkbox]),.finance-entry-table select{min-height:44px;border:1px solid var(--border);border-radius:8px;background:white}.finance-entry-table input:disabled,.finance-entry-table select:disabled{opacity:.45;background:#f8f9fa}.finance-read-table{min-width:720px}.finance-read-table td{padding:12px 10px;vertical-align:middle}.finance-read-table td strong{font-size:13px}.finance-read-table tbody tr:hover{background:var(--soft)}.finance-read-table td:last-child{white-space:nowrap}.finance-workbench .table-wrap{width:100%;min-width:0;margin:0}.finance-collective{display:grid;gap:8px;font-size:12px}.finance-collective .field{max-width:420px}.finance-pagination{display:flex;gap:12px;align-items:center;justify-content:flex-end;font-size:12px}.finance-drawer .modal-body{min-height:0;flex:1 1}.finance-drawer .modal-body>h3{margin:22px 0 10px}.finance-detail-total{display:grid;gap:8px;padding:18px;background:var(--soft);border-radius:12px}.finance-detail-total>strong{font-size:28px}.finance-detail-total .badge{justify-self:start}.finance-detail-list{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,1.4fr);gap:12px;font-size:13px;margin:20px 0}.finance-detail-list dt{color:var(--muted)}.finance-detail-list dd{margin:0;font-weight:600;overflow-wrap:anywhere}.finance-detail-actions{display:flex;justify-content:flex-end;gap:8px;margin:16px 0}.finance-deposit-target{display:grid;gap:10px;border:1px solid var(--border);border-radius:10px;padding:14px;margin:10px 0}.finance-deposit-target .check-label{align-items:center}.finance-deposit-target .field{font-size:12px;margin:0}.finance-reconcile{display:grid;gap:14px;border:1px solid var(--border);border-radius:12px;padding:16px;min-width:0}.finance-reconcile .field select{width:100%;min-width:0}.finance-workbench .edit-savebar{position:static;margin:0;box-shadow:none}.finance-workbench p{overflow-wrap:anywhere}@media(max-width:900px){.finance-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.finance-workbench{padding:0 14px 16px}.finance-editor{padding:12px}.finance-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-entry-table input:not([type=checkbox]),.finance-entry-table select,.finance-filter-grid input,.finance-filter-grid select{font-size:16px}.finance-entry-table,.finance-entry-table tbody,.finance-entry-table tr{display:block;width:100%;min-width:0!important}.finance-entry-table thead{display:none}.finance-entry-table tr{padding:12px;border:1px solid var(--border);border-radius:10px;margin-bottom:12px}.finance-entry-table td{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;padding:6px 0!important;border:0;min-width:0!important;align-items:center}.finance-entry-table td:before{content:attr(data-label);font-size:12px;color:var(--muted)}.finance-entry-table td small,.finance-entry-table td strong{grid-column:2}.finance-entry-table input:not([type=checkbox]),.finance-entry-table select{min-width:0;width:100%}.finance-entry-table td:first-child input{justify-self:start}.finance-apply-actions>span{margin-left:0}.finance-editor .edit-savebar{flex-wrap:wrap}.finance-drawer{width:min(480px,100vw)}.finance-list-toolbar{align-items:flex-start}.finance-main>.toolbar{padding:16px}.finance-apply,.finance-reconcile{padding:12px}}@media(max-width:420px){.finance-filter-grid{grid-template-columns:minmax(0,1fr)}.finance-editor .edit-savebar>span{width:100%}}.receipt-purpose{display:flex;gap:12px;flex-wrap:wrap}.receipt-purpose label{display:flex;gap:8px;align-items:center;padding:12px 16px;border:1px solid var(--border);border-radius:10px;font-size:13px;cursor:pointer}.receipt-purpose label:has(input:checked){border-color:var(--green);background:var(--soft);font-weight:600}.receipt-purpose input{accent-color:var(--green)}.finance-spp-period{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.finance-spp-period .field{min-width:180px;margin:0;font-size:12px}.finance-spp-period p{flex:1 1;min-width:180px;font-size:12px;color:var(--muted)}.student-search{position:relative}.student-search>label{font-size:12px;color:var(--muted)}.student-search>small{margin:0;font-size:11px}.student-search-results{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:30;max-height:280px;overflow:auto;background:white;box-shadow:0 10px 25px #17202320;border:1px solid var(--border);border-radius:10px;padding:5px}.student-search-results [role=option]{padding:10px;cursor:pointer;display:grid;gap:4px;font-size:13px;min-height:44px}.student-search-results [role=option].active,.student-search-results [role=option]:hover{background:var(--soft);border-radius:6px}.student-search-results small{font-size:11px;color:var(--muted)}.student-search-results p{padding:10px;margin:0;font-size:12px}.finance-main{overflow:visible}.finance-deposit-target input[inputmode=numeric],.finance-spp-period input{width:100%;height:44px;border:1px solid var(--border);border-radius:8px;padding:10px;font:inherit}.finance-entry-table td:nth-child(3){min-width:185px}@media(max-width:760px){.finance-entry-table td:nth-child(3){min-width:0}.finance-spp-period input{font-size:16px}.receipt-purpose label{flex:1 1;justify-content:center}.student-search-results{max-height:220px}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f4f7f6}.auth-card{width:min(440px,100%);display:grid;gap:18px}.auth-card form{display:grid;gap:14px}.account-summary{display:grid;font-size:.82rem}.account-summary small{color:#64748b}.login-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 85% 10%,#e8f2f6 0,transparent 30%),#eef3f5}.login-shell{width:min(960px,94vw);min-height:580px;display:grid;grid-template-columns:43% 57%;background:#fff;border:1px solid #d8e2e8;border-radius:20px;overflow:hidden;box-shadow:0 24px 70px #17324d1c}.login-brand-panel{position:relative;overflow:hidden;padding:46px 42px;color:#fff;background:linear-gradient(155deg,#194d75,#286fa0 54%,#83b9d4);display:flex;flex-direction:column}.login-brand{display:flex;align-items:center;gap:13px;z-index:2}.login-logo{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#ffffff1f;border:1px solid #ffffff42}.login-brand strong{display:block;font-size:24px;color:#fff;letter-spacing:.2px}.login-brand span{font-size:15px}.login-brand-copy{margin-top:72px;max-width:310px;z-index:2}.login-brand-copy h2{font-size:31px;line-height:1.13;color:#fff;letter-spacing:-.7px;margin-bottom:18px}.login-brand-copy p{color:#e7f3f9;font-size:15px;line-height:1.65}.login-trust{margin-top:auto;display:flex;align-items:center;gap:8px;color:#eaf5fa;font-size:12px;z-index:2}.login-visual{position:absolute;left:0;right:0;bottom:-14px;height:210px;background:linear-gradient(0deg,#f3d9a8 0 5%,transparent 5%);opacity:.88}.login-visual:after,.login-visual:before{content:"";position:absolute;bottom:18px;background:#e8cf9c;border-radius:80px 80px 0 0;filter:drop-shadow(0 6px 4px #17324d26)}.login-visual:before{left:-35px;width:180px;height:118px}.login-visual:after{right:-25px;width:210px;height:142px}.login-visual .dome{position:absolute;bottom:35px;width:120px;height:78px;border-radius:65px 65px 8px 8px;background:#f0d9a9}.login-visual .dome-a{left:115px}.login-visual .dome-b{right:115px;transform:scale(.7);transform-origin:bottom}.login-visual .minaret{position:absolute;left:76px;bottom:38px;width:20px;height:130px;background:#ecd29e;border-radius:8px 8px 0 0}.login-visual .minaret:before{content:"";position:absolute;left:-8px;top:-18px;border-left:18px solid transparent;border-right:18px solid transparent;border-bottom:28px solid #ecd29e}.login-visual .quran{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:140px;height:92px;border-radius:12px 12px 28px 28px;background:#7e5639;color:#f7df9c;display:grid;place-items:center;box-shadow:0 18px 25px #17324d36;z-index:3}.login-form-panel{display:grid;place-items:center;padding:58px}.login-form-inner{width:min(390px,100%)}.login-kicker{display:inline-block;color:var(--green);font-size:11px;font-weight:800;letter-spacing:1.7px;margin-bottom:12px}.login-form-inner h1{font-size:34px;color:var(--dark);margin:0 0 10px;letter-spacing:-1.2px}.login-form-inner>p{font-size:14px;margin-bottom:32px}.login-form-inner form{display:grid;gap:18px}.login-field{display:grid;gap:8px;font-size:12px;font-weight:650;color:#344054}.login-input{height:48px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #cad8e1;border-radius:9px;background:#fff;transition:border-color .15s,box-shadow .15s}.login-input:focus-within{border-color:#228c83;box-shadow:0 0 0 3px #0f766e17}.login-input svg{color:#8294a5;flex-shrink:0}.login-input input{width:100%;height:100%;border:0;outline:0;background:transparent;color:#1f2937;font-size:14px}.login-eye{width:34px;height:34px;border-radius:7px;color:#667085;flex-shrink:0}.login-eye:hover{background:#f2f5f7}.login-submit{width:100%;height:48px;border-radius:9px;background:#147d73;color:#fff;font-weight:700;font-size:14px;box-shadow:0 8px 18px #0f766e22}.login-submit:hover{background:#115e59}.login-submit:disabled{opacity:.65}.login-error{padding:11px 13px;border-radius:8px;background:#fff1f0;color:#b42318;font-size:12px;border:1px solid #ffd4cf}.login-help{text-align:center!important;margin-top:22px!important;font-size:11px!important;color:#7b8b99!important}.auth-page .auth-card .action-icon{width:100%}@media(max-width:760px){.login-page{padding:14px}.login-shell{grid-template-columns:1fr;min-height:0}.login-brand-panel{min-height:210px;padding:28px}.login-brand-copy{margin-top:26px;max-width:260px}.login-brand-copy h2{font-size:23px;margin-bottom:8px}.login-brand-copy p{font-size:12px}.login-visual{height:120px;opacity:.48}.login-trust{display:none}.login-form-panel{padding:34px 26px}.login-form-inner h1{font-size:29px}.login-form-inner>p{margin-bottom:24px}}.identity-grid{align-items:start}.identity-grid .field{min-width:0}.identity-grid .address-field{width:100%;min-height:74px;resize:vertical;padding:12px;border:1px solid var(--border);border-radius:8px;font:inherit;line-height:1.4}.identity-grid .logo-upload-field{display:grid;align-content:start}.identity-grid .logo-upload-field input[type=file]{min-height:44px;padding:9px 10px}.identity-grid .logo-upload-field small{min-height:22px;margin-top:6px}.settings-tabs{margin:0}.member-settings{display:grid;gap:18px}.member-settings>h2{margin-bottom:-8px}.member-invite-grid{align-items:start}.member-scope{min-height:76px;border:1px solid var(--border);border-radius:8px;padding:10px 12px}.member-scope legend{padding:0 4px;font-size:12px}.member-scope label{display:block;margin:6px 0}.member-settings table select{min-width:150px}.member-settings table td:nth-child(4) label{display:block;margin:5px 0}.academic-toolbar .transfer-actions{margin-left:0}.academic-toolbar>.transfer-actions{padding:0}.academic-toolbar>.transfer-actions button{min-width:44px}.period-assessment{border-top:1px solid var(--border);padding:0 20px}.period-assessment>summary{cursor:pointer;padding:16px 0;font-weight:600;color:var(--ink)}@media(max-width:760px){.identity-grid{grid-template-columns:1fr}.identity-grid .address-field{min-height:88px}.member-settings{gap:14px}.member-invite-grid{grid-template-columns:1fr}.member-settings table select{min-width:130px}.academic-toolbar>.transfer-actions{width:auto}}.academic-toolbar .transfer-actions{display:flex!important;gap:8px!important;align-items:center!important;padding:0!important;margin:0!important}.academic-toolbar .transfer-actions .action-button,.academic-toolbar .transfer-actions button{display:inline-flex!important;align-items:center!important;gap:7px!important;width:auto!important;min-width:44px!important}.academic-toolbar>.primary{display:inline-flex;align-items:center;gap:7px;width:auto}@media(max-width:760px){.academic-toolbar .transfer-actions button span,.academic-toolbar>.primary span{display:none}}.nav-group{display:grid;gap:4px}.nav-group>button{width:100%}.nav-chevron{margin-left:auto;transition:transform .18s ease}.nav-group>button.active .nav-chevron{transform:rotate(0deg)}.academic-subnav{display:grid;gap:2px;padding-left:18px;border-left:1px solid color-mix(in srgb,var(--green) 22%,var(--border));margin:2px 0 8px 21px}.academic-subnav button{min-height:34px;padding:7px 10px;border-radius:7px;font-size:11px;font-weight:500;color:#61706a;justify-content:flex-start;width:100%}.academic-subnav button:hover{background:var(--soft);color:var(--accent-ink)}.academic-subnav button.selected{background:var(--soft);color:var(--green);font-weight:700}.academic-subnav button svg{flex:0 0 auto}.academic-tabs-mobile{display:none}.session-redesign{width:min(1500px,calc(100vw - 40px));max-width:1500px;background:#f8faf9;border-radius:16px;overflow:hidden}.inline-session .session-redesign{width:100%;max-width:none;background:#f8faf9;border-radius:0}.session-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;background:white;border-bottom:1px solid var(--border)}.session-page-head h2{font-size:28px;letter-spacing:-.8px;margin:5px 0 4px}.session-page-head p{font-size:12px}.session-page-head .row-actions{gap:8px}.session-body{display:grid;gap:16px;padding:18px!important;background:#f8faf9}.session-new-grid{display:grid;grid-template-columns:1fr 220px;gap:12px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px}.session-summary-card{display:grid;grid-template-columns:minmax(310px,1.25fr) minmax(480px,1.7fr) minmax(230px,.8fr);gap:20px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:13px;padding:16px 18px;box-shadow:0 1px 2px #17324d08}.session-identity{display:flex;align-items:center;gap:14px;min-width:0}.session-logo{width:58px;height:58px;border-radius:12px;background:var(--green);color:var(--brand-text,#fff);display:grid;place-items:center;flex:0 0 auto}.session-logo svg{width:28px;height:28px}.session-identity h3{font-size:19px}.session-name-line{display:flex;align-items:center;gap:9px;margin-bottom:5px}.session-identity strong{display:block;font-size:12px;margin-bottom:4px}.session-identity small{line-height:1.45}.session-kpis{display:grid;grid-template-columns:92px repeat(4,minmax(58px,1fr));align-items:center;gap:10px;padding:0 18px;border-left:1px solid var(--border);border-right:1px solid var(--border)}.session-progress-ring{--progress:0%;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(var(--green) var(--progress),#e8eeeb 0);position:relative;isolation:isolate}.session-progress-ring:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff;z-index:-1}.session-progress-ring strong{font-size:16px}.session-progress-ring span{font-size:10px;color:var(--muted)}.attendance-kpi{text-align:center}.attendance-kpi strong{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;margin:0 auto 5px;background:var(--soft);color:var(--green);font-size:16px}.attendance-kpi span{font-size:10px;color:var(--muted)}.attendance-izin strong{background:#eef4ff;color:#2563eb}.attendance-sakit strong{background:#fff3e5;color:#d97706}.attendance-alpha strong{background:#fff0f0;color:#dc2626}.session-save-state{display:flex;gap:10px;align-items:center;padding:13px;border-radius:10px;background:var(--soft);color:var(--accent-ink)}.session-save-state>svg{color:var(--green);flex:0 0 auto}.session-save-state strong{display:block;font-size:12px}.session-save-state small{font-size:10px;margin-top:2px}.session-filterbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.session-filter-tabs{display:flex;gap:6px;overflow:auto;flex:1 1 620px}.session-filter-tabs button{min-height:38px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:11px;white-space:nowrap}.session-filter-tabs button span{margin-left:5px;color:var(--muted)}.session-filter-tabs button.selected{background:var(--green);border-color:var(--green);color:var(--brand-text,#fff);font-weight:700}.session-filter-tabs button.selected span{color:inherit;opacity:.85}.session-search{display:flex;align-items:center;gap:8px;min-height:40px;flex:0 1 270px;padding:0 11px;border:1px solid var(--border);border-radius:8px;background:#fff}.session-search input{border:0;outline:0;width:100%;background:transparent}.session-sort{min-height:40px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink)}.session-notice{display:flex;align-items:center;gap:8px;background:var(--soft);color:var(--accent-ink);padding:10px 12px;border-radius:8px;border:1px solid color-mix(in srgb,var(--green) 18%,var(--border));font-size:12px}.session-desktop-table{display:block;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}.session-modern-table{min-width:1240px}.session-modern-table th{padding:10px 9px;background:#fbfcfb;color:#56645e;border-bottom:1px solid var(--border)}.session-modern-table td{padding:9px;border-top:1px solid #edf0ed;vertical-align:middle}.session-modern-table td:first-child,.session-modern-table th:first-child{width:38px;text-align:center}.session-modern-table input[type=checkbox]{width:17px;height:17px;accent-color:var(--green)}.session-modern-table input:not([type=checkbox]),.session-modern-table textarea{width:100%;min-width:92px;border:1px solid #dfe6e2;border-radius:7px;padding:8px;background:#fff;font:inherit;font-size:11px}.session-modern-table textarea{min-width:145px;height:36px;resize:vertical}.session-modern-table input:disabled,.session-modern-table textarea:disabled{background:#f5f7f6;color:#8a9892}.student-cell{display:flex;align-items:center;gap:9px;min-width:160px}.student-cell strong{font-size:11px;display:block}.student-cell small{font-size:9px}.student-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--soft);color:var(--accent-ink);font-size:10px;font-weight:800;flex:0 0 auto}.attendance-buttons{display:flex;gap:4px;min-width:164px}.attendance-buttons button{padding:7px 9px;border:1px solid #dde5e1;border-radius:7px;background:#fff;font-size:10px;min-height:32px}.attendance-buttons button.active{background:var(--green);border-color:var(--green);color:var(--brand-text,#fff);font-weight:700}.attendance-buttons button.active.izin{background:#2563eb;border-color:#2563eb;color:white}.attendance-buttons button.active.sakit{background:#ea7200;border-color:#ea7200;color:white}.attendance-buttons button.active.alpha{background:#d92d20;border-color:#d92d20;color:white}.session-mobile-list{display:none}.student-session-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:13px}.student-card-head{display:flex;align-items:center;gap:10px}.student-card-head input{width:18px;height:18px;accent-color:var(--green)}.student-number{font-size:12px;font-weight:800;color:var(--muted)}.student-card-head .grow strong{display:block;font-size:13px}.student-card-head .grow small{font-size:10px}.attendance-buttons.mobile{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;min-width:0;margin-top:12px}.attendance-buttons.mobile button{min-height:40px;font-size:11px}.student-learning-fields{display:grid;gap:7px;margin-top:11px;padding-top:10px;border-top:1px solid #edf0ed}.student-learning-fields label{display:grid;grid-template-columns:85px minmax(0,1fr);align-items:center;gap:8px;font-size:11px}.student-learning-fields label>span{color:var(--muted)}.student-learning-fields input,.student-learning-fields textarea{width:100%;min-height:38px;border:1px solid #dfe6e2;border-radius:7px;padding:8px;font:inherit;font-size:13px}.student-learning-fields textarea{resize:vertical}.student-last{display:grid;grid-template-columns:70px 1fr;gap:3px 10px;background:#f7f9f8;border-radius:8px;padding:9px;margin-top:3px;font-size:10px}.student-last small{grid-row:1/4;color:var(--muted)}.student-absence-note{margin-top:10px;background:#f7f8f8;border-radius:8px;padding:10px;font-size:11px;color:var(--muted)}.session-bottom-grid{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:12px}.session-panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:15px}.session-panel h3{font-size:14px;margin-bottom:12px}.progress-row{display:flex;justify-content:space-between;font-size:11px;margin:8px 0 4px}.session-panel progress{width:100%;height:8px;appearance:none}.session-panel progress::-webkit-progress-bar{background:#e9eeec;border-radius:999px}.session-panel progress::-webkit-progress-value{background:var(--green);border-radius:999px}.bulk-targets{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px}.bulk-targets label{font-size:11px;display:flex;gap:7px;align-items:center}.bulk-targets input{accent-color:var(--green)}.session-review-panel p{display:flex;align-items:center;gap:7px;font-size:11px;margin:8px 0}.session-review-panel .ok{color:#13795b}.session-review-panel .warn{color:#b54708}.session-actions-sticky{position:sticky!important;bottom:0!important;z-index:14!important;background:#ffffffed!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px;padding:12px 18px!important}.danger-outline{color:#b42318;border-color:#f1c9c5}.danger-outline:hover{background:#fff5f4}.session-mobile-bulkbar{display:none}.session-bulk-backdrop{position:fixed;inset:0;background:#10231d66;z-index:100;display:grid;place-items:center;padding:20px}.session-bulk-sheet{width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 28px 80px #10231d38;padding:20px}.bulk-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:16px}.bulk-sheet-head h3{font-size:20px;margin-bottom:5px}.bulk-sheet-head p{font-size:12px}.bulk-choice{background:var(--soft);border-radius:10px;padding:12px;display:grid;gap:10px;margin-bottom:16px}.bulk-choice label{display:flex;align-items:center;gap:8px;font-size:12px}.bulk-choice input,.bulk-overwrite input{accent-color:var(--green)}.bulk-attendance>span{font-size:12px;font-weight:700}.bulk-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.bulk-fields .field{gap:6px}.bulk-fields textarea{width:100%;min-height:70px;padding:10px;border:1px solid var(--border);border-radius:8px;font:inherit}.bulk-overwrite{margin:12px 0}.bulk-main-action{width:100%;margin-top:6px}.bulk-confirm-summary{display:grid;gap:8px;background:#f7f9f8;border:1px solid var(--border);border-radius:10px;padding:14px}.bulk-confirm-summary div{display:grid;grid-template-columns:110px 1fr;gap:10px;font-size:12px}.bulk-confirm-summary span{color:var(--muted)}.bulk-warning{margin:14px 0;padding:11px;border-radius:8px;background:#fff5e6;color:#8a5b15;font-size:11px}.bulk-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}@media(max-width:1100px){.session-summary-card{grid-template-columns:1fr 1.4fr}.session-save-state{grid-column:1/-1}.session-kpis{border-right:0}.session-bottom-grid{grid-template-columns:1fr 1fr}.session-review-panel{grid-column:1/-1}}@media(max-width:900px){.academic-tabs-mobile{display:flex}.academic-subnav{display:none}.session-page-head{padding:16px}.session-page-head h2{font-size:23px}.session-page-head .row-actions span,.session-page-head p{display:none}.session-body{padding:12px!important}.session-new-grid,.session-summary-card{grid-template-columns:1fr}.session-summary-card{gap:13px}.session-kpis{border:0;border-top:1px solid var(--border);padding:13px 0 0;grid-template-columns:72px repeat(4,1fr)}.session-progress-ring{width:62px;height:62px}.session-save-state{display:none}.session-filterbar{display:grid;grid-template-columns:1fr}.session-filter-tabs{width:100%;flex-basis:auto}.session-search{max-width:none;flex-basis:auto}.session-desktop-table,.session-sort{display:none}.session-mobile-list{display:grid;gap:10px}.session-bottom-grid{grid-template-columns:1fr}.session-bulk-inline{display:none}.session-actions-sticky{padding:10px 12px!important;justify-content:space-between;bottom:72px!important}.session-actions-sticky .danger-outline,.session-actions-sticky .outline:first-child{display:none}.session-actions-sticky button{flex:1 1}.session-actions-sticky button span{display:none}.session-actions-sticky .primary span{display:inline}.session-mobile-bulkbar{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;bottom:0;z-index:15;background:#fff;border-top:1px solid var(--border);padding:10px 12px}.session-mobile-bulkbar>div strong{display:block;font-size:12px}.session-mobile-bulkbar>div button{padding:0;color:var(--green);font-size:10px}.session-mobile-bulkbar .primary{min-height:44px}.session-redesign{width:100%;max-width:none;max-height:100vh;border-radius:0}.session-review-panel{grid-column:auto}}@media(max-width:600px){.session-page-head .eyebrow{display:none}.session-page-head h2{font-size:19px;margin:2px 0}.session-page-head .row-actions .outline:first-child{display:none}.session-summary-card{padding:13px}.session-logo{width:48px;height:48px}.session-identity h3{font-size:17px}.session-kpis{gap:5px}.attendance-kpi strong{width:32px;height:32px;font-size:14px}.session-filter-tabs button{padding:7px 10px}.session-bottom-grid{display:none}.bulk-fields{grid-template-columns:1fr}.session-bulk-backdrop{align-items:end;padding:0}.session-bulk-sheet{width:100%;border-radius:18px 18px 0 0;max-height:88vh}.student-learning-fields label{grid-template-columns:76px minmax(0,1fr)}}.finance-subnav{margin-top:2px}.sortable-th{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;padding:0;cursor:pointer;white-space:nowrap}.sortable-th svg{opacity:.55}.sortable-th:hover{color:var(--green)}.sortable-th:hover svg{opacity:1}.academic-standard-table{width:100%;min-width:720px}.academic-standard-table td,.academic-standard-table th{padding:12px 10px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.academic-standard-table thead th{background:#fbfcfb;color:#5d6a65;font-size:11px}.academic-standard-table tbody tr:hover{background:var(--soft)}.danger-icon{color:#b42318!important}.danger-icon:hover{background:#fff3f2!important}.clean-session-list-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--border)}.clean-session-list-toolbar h2{margin:0 0 4px;font-size:20px}.clean-session-list-toolbar p{margin:0;max-width:720px}.empty-state{display:grid;justify-items:center;gap:10px;padding:34px 18px;color:var(--muted)}.finance-core-card>.stats{margin-top:0}@media(max-width:900px){.finance-subnav{display:none}.clean-session-list-toolbar{padding:14px;align-items:center}.clean-session-list-toolbar p{display:none}.academic-standard-table{min-width:640px}}.finance-core-card{overflow:visible}.finance-section{display:grid;gap:18px;padding:22px;min-width:0}.finance-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:4px}.finance-section-head h2{font-size:24px;margin:5px 0 6px}.finance-section-head p{max-width:760px;font-size:12px}.finance-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.finance-kpi{min-width:0;border:1px solid var(--border);border-radius:12px;background:#fff;padding:17px;display:grid;gap:7px}.finance-kpi>span{font-size:11px;color:var(--muted)}.finance-kpi>strong{font-size:22px;letter-spacing:-.5px;overflow-wrap:anywhere}.finance-kpi>small{font-size:10px}.finance-dashboard-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:16px}.finance-panel{border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}.finance-panel.wide{padding-top:0}.finance-panel>h3{padding:17px 18px;border-bottom:1px solid var(--border)}.finance-panel>button{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;width:100%;padding:15px 18px;border-top:1px solid #edf0ed;text-align:left}.finance-panel>button:first-of-type{border-top:0}.finance-panel>button:hover{background:var(--soft)}.finance-panel>button span{color:var(--ink);font-size:12px}.finance-panel>button strong{color:var(--green);font-size:15px}.finance-position{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-top:1px solid #edf0ed}.finance-position:first-of-type{border-top:0}.finance-position span strong{display:block;font-size:12px}.finance-position span small{font-size:10px}.finance-position>b{font-size:13px}.finance-form-card{border:1px solid var(--border);border-radius:12px;padding:18px;background:color-mix(in srgb,var(--soft) 34%,#fff);display:grid;gap:14px}.finance-form-card>h3{font-size:15px}.finance-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.finance-form-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.finance-form-grid.one{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-form-grid .field{margin:0;min-width:0;font-size:11px}.finance-form-grid input,.finance-form-grid select{width:100%;min-width:0;height:42px;border:1px solid var(--border);border-radius:8px;background:white;padding:9px 10px}.finance-form-actions,.finance-table-toolbar{display:flex;justify-content:flex-end;gap:10px}.finance-table-toolbar{align-items:center}.finance-search{margin-right:auto;width:min(340px,100%);max-width:none}.finance-compact-select{height:38px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:0 10px;color:var(--ink)}.finance-modern-table{min-width:760px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.finance-modern-table th{padding:11px 12px;background:#fbfcfb;border-bottom:1px solid var(--border)}.finance-modern-table td{padding:13px 12px;vertical-align:middle}.finance-modern-table tbody tr:hover{background:color-mix(in srgb,var(--soft) 65%,#fff)}.finance-modern-table td strong{font-weight:650}.finance-modern-table td small{white-space:normal;max-width:320px}.finance-status{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;white-space:nowrap}.finance-status.success{background:var(--soft);color:var(--accent-ink,var(--green))}.finance-status.warning{background:#fff4df;color:#8a5a00}.finance-status.danger{background:#fff0ef;color:#b42318}.finance-status.neutral{background:#f0f2f1;color:#66736e}.finance-action{width:34px;height:34px;border:1px solid var(--border);border-radius:8px;color:var(--green)}.finance-action:hover,.finance-message{background:var(--soft)}.finance-message{margin:0 22px 22px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--green) 25%,var(--border));border-radius:8px;color:var(--accent-ink,var(--green));font-size:12px}.finance-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.finance-settings-tables{display:grid;gap:22px}.finance-settings-tables>div>h3{margin:0 0 9px}.report-print-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 1.2fr;gap:10px;align-items:end;padding:0 22px 16px}.report-print-settings .field{margin:0;font-size:11px}.report-print-settings input{width:100%;height:40px;border:1px solid var(--border);border-radius:7px;padding:8px 10px;background:#fff}.report-print-settings>small{align-self:center}@media(max-width:1100px){.finance-form-grid,.finance-form-grid.compact,.finance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-dashboard-grid,.finance-settings-grid{grid-template-columns:1fr}.report-print-settings{grid-template-columns:1fr 1fr}.report-print-settings>small{grid-column:1/-1}}@media(max-width:760px){.finance-section{padding:14px;gap:14px}.finance-section-head h2{font-size:20px}.finance-kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.finance-kpi{padding:13px}.finance-kpi>strong{font-size:18px}.finance-form-grid,.finance-form-grid.compact,.finance-form-grid.one{grid-template-columns:1fr}.finance-compact-select,.finance-form-grid input,.finance-form-grid select{font-size:16px}.finance-table-toolbar{align-items:stretch;flex-direction:column}.finance-compact-select,.finance-form-actions>.primary,.finance-search{width:100%}.finance-modern-table{min-width:680px}.finance-panel>button{min-height:48px}.report-print-settings{grid-template-columns:1fr;padding:0 14px 14px}.report-print-settings>small{grid-column:auto}}.rupiah-input{display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden;height:42px}.rupiah-input>span{padding:0 10px;color:var(--muted);font-size:12px;border-right:1px solid var(--border);height:100%;display:flex;align-items:center;background:#fafbfa}.rupiah-input input{border:0!important;border-radius:0!important;height:100%!important;outline:0;min-width:0;width:100%}.finance-dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-kpi.overdue{border-color:#f1c58b;background:#fffaf3}.finance-kpi.overdue>strong{color:#9a5b00}.finance-class-picker{border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}.finance-class-picker-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}.finance-class-picker-head button{font-size:11px;color:var(--green);font-weight:700}.finance-class-picker>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:260px;overflow:auto}.finance-class-picker label{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:2px 9px;padding:10px 14px;border-bottom:1px solid #edf0ed;cursor:pointer}.finance-class-picker label input{grid-row:1/3;align-self:center;accent-color:var(--green)}.finance-class-picker label span{font-size:12px;font-weight:600}.finance-class-picker label small{font-size:10px}.finance-report-summary{max-width:760px}.finance-drawer-backdrop{position:fixed;inset:0;background:#10231d55;z-index:100;display:flex;justify-content:flex-end}.finance-student-drawer{width:min(720px,100vw);height:100vh;background:#fff;overflow:auto;box-shadow:-18px 0 50px #10231d22;padding:22px;display:grid;align-content:start;gap:18px}.finance-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);padding-bottom:16px}.finance-drawer-head h2{font-size:24px;margin:5px 0}.finance-student-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.finance-student-summary>div{border:1px solid var(--border);border-radius:10px;padding:14px;display:grid;gap:6px;background:#fff}.finance-student-summary span{font-size:10px;color:var(--muted)}.finance-student-summary strong{font-size:20px}.finance-ledger{border:1px solid var(--border);border-radius:12px;overflow:hidden}.finance-ledger>h3{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border);font-size:14px}.finance-ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:13px 16px;border-top:1px solid #edf0ed}.finance-ledger-row:first-of-type{border-top:0}.finance-ledger-row>div{min-width:0}.finance-ledger-row>div strong{display:block;font-size:12px}.finance-ledger-row>div small{font-size:10px;margin-top:4px}.finance-ledger-row>b,.finance-ledger-row>span{font-size:12px;white-space:nowrap}.finance-ledger-row .positive{color:#067647}.finance-ledger-row .negative{color:#b42318}@media(max-width:1100px){.finance-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-class-picker>div:last-child{grid-template-columns:1fr}}@media(max-width:760px){.finance-dashboard-kpis,.finance-student-summary{grid-template-columns:1fr 1fr}.finance-student-summary>div:last-child{grid-column:1/-1}.finance-student-drawer{padding:14px}.finance-ledger-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.finance-ledger-row>b{grid-column:1/-1;color:var(--muted);font-weight:600}.finance-responsive-table{min-width:0!important;border:0}.finance-responsive-table thead{display:none}.finance-responsive-table,.finance-responsive-table tbody,.finance-responsive-table tr{display:block;width:100%}.finance-responsive-table tr{border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:10px 12px;background:#fff}.finance-responsive-table td{display:grid;grid-template-columns:118px minmax(0,1fr);gap:8px;padding:7px 0!important;border:0!important;white-space:normal;align-items:start}.finance-responsive-table td:before{content:attr(data-label);font-size:10px;color:var(--muted);font-weight:600}.finance-responsive-table td>.row-actions,.finance-responsive-table td>button,.finance-responsive-table td>span,.finance-responsive-table td>strong{justify-self:start}.finance-settings-tables .table-wrap{overflow:visible}.rupiah-input input{font-size:16px!important}}@media(max-width:480px){.finance-dashboard-kpis,.finance-student-summary{grid-template-columns:1fr}.finance-student-summary>div:last-child{grid-column:auto}.finance-responsive-table td{grid-template-columns:100px minmax(0,1fr)}}.finance-bulk-receipt{gap:16px}.finance-bulk-head,.finance-group-toolbar,.finance-history-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.finance-bulk-head h3,.finance-history-head h3{margin:0 0 3px}.finance-selection-count{font-size:11px;font-weight:700;color:var(--accent-ink,var(--green));background:var(--soft);border-radius:999px;padding:7px 10px;white-space:nowrap}.finance-bulk-actions{display:flex;justify-content:flex-end;gap:10px}.finance-group-entry{border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden}.finance-group-toolbar{padding:13px 14px;border-bottom:1px solid var(--border)}.finance-group-toolbar>div:first-child small,.finance-group-toolbar>div:first-child strong{display:block}.finance-group-toolbar>div:first-child small{font-size:10px;margin-top:3px}.finance-group-toolbar>button{font-size:11px;color:var(--accent-ink,var(--green));font-weight:700;padding:7px 9px;border-radius:7px}.finance-group-toolbar>button:hover{background:var(--soft)}.finance-bulk-table{min-width:980px;border:0;border-radius:0}.finance-bulk-table td:first-child,.finance-bulk-table th:first-child{width:44px;text-align:center}.finance-bulk-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--green)}.finance-bulk-table select,.finance-bulk-table td>input{width:100%;min-width:120px;height:36px;border:1px solid var(--border);border-radius:7px;background:#fff;padding:6px 8px}.finance-bulk-table .rupiah-input.compact{height:36px;min-width:130px}.finance-bulk-table .selected-row{background:color-mix(in srgb,var(--soft) 42%,#fff)}.finance-history-section{display:grid;gap:12px;padding-top:4px}.finance-history-head{border-top:1px solid var(--border);padding-top:18px}.finance-history-head small{font-size:10px}.finance-group-toolbar .finance-search{margin:0;width:min(310px,100%)}@media(max-width:900px){.finance-group-toolbar{align-items:stretch;flex-wrap:wrap}.finance-group-toolbar .finance-search{order:3;width:100%;flex-basis:100%}.finance-bulk-actions{flex-direction:column}.finance-bulk-actions>*{width:100%}}@media(max-width:760px){.finance-bulk-head{align-items:flex-start}.finance-selection-count{font-size:10px}.finance-group-entry{border:0;background:transparent;overflow:visible}.finance-group-toolbar{border:1px solid var(--border);border-radius:10px;background:#fff;margin-bottom:10px}.finance-bulk-table{min-width:0!important}.finance-bulk-table .rupiah-input.compact,.finance-bulk-table td select,.finance-bulk-table td>input{min-width:0;width:100%}.finance-bulk-table td:first-child{width:auto;text-align:left}.finance-bulk-table td[data-label=Bayar]{grid-template-columns:100px auto}.finance-history-head{align-items:flex-start}}.finance-save-account{min-width:190px;justify-content:center}@media (max-width:720px){.finance-save-account{width:100%}}.finance-verify-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 13px;border:1px solid var(--green);border-radius:9px;background:var(--soft);color:var(--accent-ink);font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.finance-verify-button:hover:not(:disabled){background:var(--green);color:#fff}.finance-verify-button:disabled{opacity:.55;cursor:wait}.finance-muted{color:#667085;font-size:13px}@media(max-width:720px){.finance-verify-button{width:100%;min-height:44px}.finance-history-section .error,.finance-history-section .finance-message{margin:10px 0}}.finance-field-note{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.finance-subline{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:500}.marketplace-page{display:grid;gap:18px}.marketplace-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px 28px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(135deg,var(--soft),#fff 62%)}.marketplace-hero h1{margin:5px 0 7px;font-size:30px;line-height:1.1;color:var(--ink)}.marketplace-hero p{max-width:760px;color:var(--muted);line-height:1.65}.marketplace-hero-mark{min-width:150px;display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:4px 9px;padding:18px;border-radius:14px;background:#fff;border:1px solid var(--border);color:var(--accent-ink,var(--green))}.marketplace-hero-mark strong{font-size:30px;line-height:1}.marketplace-hero-mark span{grid-column:1/-1;text-align:center;font-size:11px;color:var(--muted)}.marketplace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.marketplace-search{display:flex;align-items:center;gap:9px;width:min(620px,100%);height:44px;padding:0 13px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--muted)}.marketplace-search input{border:0;outline:0;width:100%;font:inherit;background:transparent}.marketplace-status{display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;background:#fff8e8;color:#8a5a00;font-size:12px;font-weight:700;border:1px solid #f0deb2;white-space:nowrap}.marketplace-categories{display:flex;gap:8px;flex-wrap:wrap}.marketplace-categories button{padding:9px 14px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.marketplace-categories button:hover{border-color:color-mix(in srgb,var(--green) 45%,var(--border));color:var(--accent-ink,var(--green))}.marketplace-categories button.active{background:var(--green);color:#fff;border-color:var(--green)}.marketplace-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.marketplace-card{overflow:hidden;border:1px solid var(--border);border-radius:15px;background:#fff;box-shadow:0 6px 20px #10231d08;transition:transform .18s ease,box-shadow .18s ease}.marketplace-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #10231d12}.marketplace-card-cover{min-height:96px;padding:16px;display:flex;align-items:flex-start;justify-content:space-between;background:linear-gradient(135deg,var(--market-soft),#fff)}.marketplace-card-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#fff;color:var(--market-ink);box-shadow:0 8px 18px #10231d0e}.marketplace-unavailable{font-size:10px;font-weight:800;padding:6px 8px;border-radius:999px;color:#8a5a00;background:#fff3cf;border:1px solid #f0d892}.marketplace-card-body{padding:17px;display:grid;gap:12px}.marketplace-card-title small{color:var(--muted);font-size:10px;font-weight:700}.marketplace-card-title h2{font-size:19px;margin-top:2px;color:var(--ink)}.marketplace-card-body>p{min-height:62px;color:var(--muted);font-size:13px;line-height:1.55}.marketplace-tags{display:flex;flex-wrap:wrap;gap:6px}.marketplace-tags span{font-size:10px;padding:5px 7px;border-radius:999px;background:var(--soft);color:var(--accent-ink,var(--green))}.marketplace-price{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:6px}.marketplace-price-old{text-decoration:line-through;color:#98a2b3;font-size:11px}.marketplace-price strong{font-size:17px;color:var(--ink)}.marketplace-price small{color:var(--muted);font-size:10px}.marketplace-disabled-button{width:100%;min-height:40px;border:1px solid var(--border);border-radius:9px;background:#f6f8f7;color:#8a9490;font:inherit;font-weight:700;cursor:not-allowed}.marketplace-empty{text-align:center;padding:36px;display:grid;justify-items:center;gap:8px;color:var(--muted)}.marketplace-note{padding:16px 18px;border:1px dashed var(--border);border-radius:12px;background:#fff}.marketplace-note strong{display:block;margin-bottom:5px}.marketplace-note p{font-size:12px;color:var(--muted);line-height:1.6}.tone-emerald{--market-soft:#e8f7f1;--market-ink:#08775e}.tone-blue{--market-soft:#edf4ff;--market-ink:#175cd3}.tone-violet{--market-soft:#f3efff;--market-ink:#6938b8}.tone-amber{--market-soft:#fff6df;--market-ink:#a15c00}.tone-rose{--market-soft:#fff0f3;--market-ink:#b4235a}.tone-cyan{--market-soft:#eaf9fb;--market-ink:#0e7490}@media(max-width:1180px){.marketplace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.marketplace-page{gap:14px}.marketplace-hero{padding:18px;align-items:flex-start}.marketplace-hero h1{font-size:24px}.marketplace-hero-mark{display:none}.marketplace-toolbar{align-items:stretch;flex-direction:column}.marketplace-search{width:100%;height:46px}.marketplace-status{align-self:flex-start}.marketplace-categories{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.marketplace-categories::-webkit-scrollbar{display:none}.marketplace-categories button{white-space:nowrap;min-height:40px}.marketplace-grid{grid-template-columns:1fr}.marketplace-card-body>p{min-height:0}.marketplace-card-cover{min-height:82px}.marketplace-price{grid-template-columns:auto auto;gap:4px 7px}.marketplace-price small{grid-column:1/-1}.marketplace-disabled-button{min-height:44px}}.billing-page,.notification-page{display:grid;gap:18px}.notification-options{display:grid;gap:10px;margin:12px 0 18px}.notification-options label{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border,#d9e2e8);border-radius:12px;background:var(--surface,#fff);cursor:pointer}.notification-options label input{width:18px;height:18px}.notification-options label span{display:grid;gap:2px}.notification-options label small{color:var(--muted,#667085)}@media(max-width:720px){.billing-page .finance-kpis{grid-template-columns:1fr}.notification-options label{grid-template-columns:auto auto 1fr}.billing-page .summary-row{align-items:flex-start}}