:root{--bg:#f2f5f7;--surface:#fff;--surface-2:#f5f8fa;--text:#17364d;--text-muted:#5e7789;--text-soft:#8193a0;--border:#d9e3e9;--border-strong:#c5d3dc;--primary:#0064b2;--primary-hover:#005493;--primary-soft:#e5f0f6;--primary-soft-hover:#d5e7f0;--success:#25804d;--success-soft:#e8f4ec;--danger:#bd4545;--danger-soft:#f9eceb;--warning:#a96c13;--warning-soft:#faf2df;--info:#176f98;--info-soft:#e6f1f6;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #00000014, 0 1px 2px -1px #00000014;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #00000014;--radius-sm:6px;--radius:10px;--radius-lg:14px;--sidebar-w:260px;--sidebar-collapsed:72px;--sidebar-bg:#f2f5f7;--sidebar-bg-2:#e8f0f4;--sidebar-ink:#17364d;--sidebar-ink-soft:#5e7789;--sidebar-hover:#e5f0f6;--sidebar-active:transparent;--sidebar-active-text:#0064b2;--brand-blue:#0064b2;--brand-blue-hover:#005493;--sidebar-line:#d9e3e9;--font:"Plus Jakarta Sans", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;font:14px/1.5 var(--font);color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}:root[data-theme=dark]{--bg:#101a22;--surface:#172630;--surface-2:#203440;--text:#e6eef3;--text-muted:#adbdc8;--text-soft:#8da1ad;--border:#2b414e;--border-strong:#3b5664;--primary:#68b8df;--primary-hover:#8bccee;--primary-soft:#1c3b4c;--primary-soft-hover:#254c60;--success:#57c88a;--success-soft:#1c3e31;--danger:#f18484;--danger-soft:#46282d;--warning:#e7b55e;--warning-soft:#44391f;--info:#68b8df;--info-soft:#1c3b4c;--brand-blue:#1979a6;--brand-blue-hover:#12678e;--sidebar-bg:#172630;--sidebar-bg-2:#203440;--sidebar-ink:#e6eef3;--sidebar-ink-soft:#adbdc8;--sidebar-hover:#203440;--sidebar-active-text:#8bccee;--sidebar-line:#2b414e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,h3,h4,h5{color:var(--text);margin:0;font-weight:600}p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input,select,textarea{font:inherit;color:inherit}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}:root[data-theme=dark] ::-webkit-scrollbar-thumb{background:#425965}:root[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#627c89}#root{width:100%;min-height:100vh}.layout{background:var(--bg);width:100%;min-height:100vh;display:flex;overflow-x:clip}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:40;flex-direction:column;transition:width .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar-brand{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:flex-start;align-items:center;height:64px;padding:0 16px;display:flex;overflow:hidden}.sidebar-brand .brand-logo-img{object-fit:contain;max-width:228px;max-height:46px;transition:all .2s}.sidebar-nav{flex-direction:column;flex:1;gap:2px;min-height:0;padding:12px;scroll-padding-top:8px;display:flex;overflow-y:auto}.sidebar-menu-heading{flex-shrink:0}.nav-section-label{color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;padding:14px 12px 6px;font-size:11px;font-weight:600;overflow:hidden}.nav-section-label--group{min-height:34px;padding-top:18px;line-height:16px;display:block;overflow:visible}.nav-item{border-radius:var(--radius-sm);color:var(--text-muted);white-space:nowrap;align-items:center;gap:12px;padding:9px 12px;font-size:14px;font-weight:500;transition:all .12s;display:flex;position:relative}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--primary-soft);color:var(--primary-hover);font-weight:600}.nav-item.active:before{content:"";background:var(--primary);border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-item svg{flex-shrink:0}.nav-item .nav-label{text-overflow:ellipsis;overflow:hidden}.nav-item .nav-badge{background:var(--danger-soft);color:var(--danger);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:600}.nav-group>.nav-item .chevron{margin-left:auto;transition:transform .15s}.nav-group.open>.nav-item .chevron{transform:rotate(90deg)}.nav-children{flex-direction:column;gap:1px;max-height:0;padding-left:24px;transition:max-height .2s;display:flex;overflow:hidden}.nav-group.open .nav-children{max-height:500px}.nav-child{border-radius:var(--radius-sm);color:var(--text-muted);white-space:nowrap;align-items:center;gap:8px;padding:7px 12px;font-size:13px;font-weight:500;transition:all .12s;display:flex}.nav-child:hover{background:var(--surface-2);color:var(--text)}.nav-child.active{color:var(--primary-hover);font-weight:600}.nav-child:before{content:"";opacity:.4;background:currentColor;border-radius:50%;width:4px;height:4px}.sidebar-brand .brand-logo-mini,.sidebar.collapsed .brand-logo-full{display:none}.sidebar.collapsed .brand-logo-mini{object-fit:contain;max-width:44px;max-height:44px;margin:0 auto;display:block}.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-section-label,.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-badge,.sidebar.collapsed .nav-children,.sidebar.collapsed .chevron{display:none}.sidebar.collapsed .nav-item{justify-content:center}.sidebar.collapsed .nav-group .chevron{display:none}.main{margin-left:var(--sidebar-w);flex-direction:column;flex:1;min-width:0;transition:margin-left .2s;display:flex}.main.expanded{margin-left:var(--sidebar-collapsed)}.topbar{background:var(--surface);z-index:30;border-bottom:1px solid #dce7ec;border-left:1px solid #dce7ec;align-items:center;gap:16px;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.topbar .toggle-btn{color:var(--text-muted);display:flex}.topbar .toggle-btn:hover{color:var(--text)}.topbar .page-name{font-size:16px;font-weight:600}.topbar .spacer{flex:1}.user-chip{cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:4px 10px;transition:background .12s;display:flex}.user-chip .avatar{background:linear-gradient(135deg, var(--brand-blue), var(--brand-blue-hover));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:600;display:flex}.user-chip .user-info{text-align:right;line-height:1.2}.user-chip .user-info .name{font-size:13px;font-weight:600}.user-chip .user-info .role{color:var(--text-muted);font-size:11px}.content{flex:1;width:100%;max-width:none;margin:0;padding:28px 24px}.sidebar-backdrop{z-index:39;background:#0f172a66;display:none;position:fixed;inset:0}@media (width<=900px){.sidebar{visibility:hidden;pointer-events:none;z-index:100;transition:transform .25s cubic-bezier(.16,1,.3,1),visibility .25s;transform:translate(calc(-100% - 30px))}.sidebar.mobile-open{visibility:visible;pointer-events:auto;transform:translate(0)}.main,.main.expanded{width:100%;min-width:0;margin-left:0}.sidebar-backdrop.show{display:block}}@media (width<=640px){.content{padding:16px 12px}}.login-page{background:linear-gradient(135deg,#e8f0f4 0%,#f2f5f7 55%,#f8fafb 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:40px 36px}.login-logo-container{justify-content:center;margin-bottom:20px;display:flex}.login-logo-img{object-fit:contain;max-width:240px;max-height:64px}.login-card h1{text-align:center;margin-bottom:6px;font-size:24px;font-weight:700}.login-card .login-sub{text-align:center;color:var(--text-muted);margin-bottom:28px;font-size:14px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}@media (width<=1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.stat-grid{grid-template-columns:1fr}}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:flex-start;gap:16px;padding:20px;display:flex}.stat-icon{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-icon.indigo{background:var(--primary-soft);color:var(--primary)}.stat-icon.green{background:var(--success-soft);color:var(--success)}.stat-icon.red{background:var(--danger-soft);color:var(--danger)}.stat-icon.amber{background:var(--warning-soft);color:var(--warning)}.stat-card .stat-info{flex:1;min-width:0}.stat-card .stat-label{color:var(--text-muted);margin-bottom:4px;font-size:13px}.stat-card .stat-value{color:var(--text);white-space:nowrap;min-width:0;font-size:24px;font-weight:700;line-height:1.2}.stat-card .stat-meta{color:var(--text-soft);margin-top:4px;font-size:12px}.dash-grid{grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px;display:grid}@media (width<=900px){.dash-grid{grid-template-columns:1fr}}.progress-track{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.progress-fill{background:var(--primary);border-radius:999px;height:100%;transition:width .3s}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.bar-chart{align-items:flex-end;gap:10px;height:180px;padding-top:10px;display:flex}.bar-chart .bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.bar-chart .bar{background:linear-gradient(180deg, var(--primary), var(--primary-hover));border-radius:6px 6px 0 0;width:100%;max-width:36px;min-height:2px;transition:height .3s}.bar-chart .bar.expense{background:linear-gradient(180deg, #d97777, var(--danger))}.bar-chart .bar-label{color:var(--text-muted);font-size:11px}.layout{background:var(--bg);--bg:#f2f5f7;--surface:#fff;--surface-2:#f5f8fa;--text:#17364d;--text-muted:#5e7789;--text-soft:#8193a0;--border:#d9e3e9;--border-strong:#c5d3dc;--brand-blue:#0064b2;--brand-blue-hover:#005493;--primary:var(--brand-blue);--primary-hover:var(--brand-blue-hover);--primary-soft:#e5f0f6;--primary-soft-hover:#d5e7f0;--info:#176f98;--info-soft:#e6f1f6;--success:#25804d;--success-soft:#e8f4ec;--danger:#bd4545;--danger-soft:#f9eceb;--warning:#a96c13;--warning-soft:#faf2df;--sidebar-w:280px;--sidebar-collapsed:88px;--chrome-blue:#0064b2;--chrome-blue-hover:#005493}.layout[data-theme=dark]{--bg:#101a22;--surface:#172630;--surface-2:#203440;--text:#e6eef3;--text-muted:#adbdc8;--text-soft:#8da1ad;--border:#2b414e;--border-strong:#3b5664;--brand-blue:#1979a6;--brand-blue-hover:#12678e;--primary:#68b8df;--primary-hover:#8bccee;--primary-soft:#1c3b4c;--primary-soft-hover:#254c60;--info:#68b8df;--info-soft:#1c3b4c;--success:#57c88a;--success-soft:#1c3e31;--danger:#f18484;--danger-soft:#46282d;--warning:#e7b55e;--warning-soft:#44391f;--chrome-blue:#0c354b;--chrome-blue-hover:#27566d;--sidebar-bg:#172630;--sidebar-bg-2:#203440;--sidebar-ink:#e6eef3;--sidebar-ink-soft:#adbdc8;--sidebar-hover:#203440;--sidebar-active-text:#8bccee;--sidebar-line:#2b414e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.sidebar{width:264px;box-shadow:none;font-family:"DM Sans", var(--font), sans-serif;background:0 0;border:0;border-radius:10px;gap:12px;padding:0;top:10px;bottom:10px;left:8px;overflow:visible}.sidebar.collapsed{width:72px}.main .page-title{color:var(--text)}.main .page-subtitle{color:var(--text-muted)}.sidebar-brand{box-sizing:border-box;background:#f0f6fa;border:1.5px solid #a9c2ce;border-radius:10px;justify-content:center;align-items:center;width:100%;height:66px;margin:0;padding:2px 12px;transition:background-color .2s,border-color .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 2px 8px #183d580d}.sidebar-brand:after,.sidebar-footer:before{content:none}.sidebar-menu{background:var(--chrome-blue);border:1px solid var(--chrome-blue-hover);border-radius:10px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden;box-shadow:0 2px 8px #e8eaeb0d}.topbar{border:1px solid var(--chrome-blue);height:66px;min-height:66px;box-shadow:0 2px 12px #183d580d, 0 0 18px color-mix(in srgb, var(--chrome-blue) 8%, transparent);font-family:"DM Sans", var(--font), sans-serif;background:#0064b2fa;border-radius:10px;gap:12px;margin:10px 24px 0;padding:0 18px 0 21px;transition:background-color .2s,box-shadow .2s,-webkit-backdrop-filter .2s,backdrop-filter .2s;top:10px}.topbar.topbar-scrolled{-webkit-backdrop-filter:blur(12px)saturate(135%);backdrop-filter:blur(12px)saturate(135%);background:#0064b2b8;box-shadow:0 8px 24px #0c304833}.layout[data-theme=dark] .topbar{background:#0a2738f5;border-color:#234a60;box-shadow:0 2px 12px #0003}.layout[data-theme=dark] .topbar.topbar-scrolled{background:#0a2738b8;box-shadow:0 8px 24px #0000004d}.topbar .toggle-btn{color:#fff;background:#ffffff24;border:1px solid #ffffff57;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background-color .14s,color .14s,border-color .14s}.theme-toggle-btn{color:#fff;background:#ffffff24;border:1px solid #ffffff57;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:0;width:36px;min-width:36px;height:36px;padding:0;transition:background-color .14s,border-color .14s,transform .14s;display:inline-flex}.theme-toggle-btn:hover{background:#ffffff3d;border-color:#ffffff8a;transform:translateY(-1px)}.theme-toggle-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.topbar .toggle-btn:hover{color:#fff;background:#ffffff3d;border-color:#ffffff80}.topbar .toggle-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.topbar-page-title{text-overflow:ellipsis;white-space:nowrap;color:#fff;letter-spacing:-.015em;align-items:center;gap:5px;min-width:0;font-size:15px;font-weight:600;line-height:1.4;display:inline-flex;overflow:hidden}.topbar-page-title>:last-child{text-overflow:ellipsis;overflow:hidden}.topbar-page-slash{color:#ffffffb8;font-size:12px;font-weight:400}.topbar .user-chip{cursor:default;min-width:0;max-width:45%}.topbar .user-info{min-width:0}.topbar .user-info .name{color:#fff;letter-spacing:-.01em;font-size:13px;font-weight:600}.topbar .user-info .role{color:#ffffffc2;font-size:11px;font-weight:400}.topbar .user-info .name,.topbar .user-info .role{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=600px){.topbar{gap:6px;margin:8px 6px 0;padding:0 10px;top:8px}.topbar .user-chip{max-width:42%;padding:4px}}.sidebar-brand .brand-logo-img{object-fit:contain;object-position:center;width:100%;max-width:100%;height:52px;max-height:52px;box-shadow:none;background:0 0;border:0;border-radius:10px;padding:0;transition:all .2s}.sidebar-brand .brand-logo-mini{display:none}.sidebar.collapsed .sidebar-brand{justify-content:center;padding:4px}.sidebar.collapsed .brand-logo-full{display:none}.sidebar.collapsed .brand-logo-mini{object-fit:contain;width:auto;max-width:48px;height:48px;max-height:48px;margin:0 auto;display:block}.nav-section-label{color:#ffffffdb;letter-spacing:.06em;padding:18px 20px 8px;font-size:11px;font-weight:700}.sidebar-nav{scrollbar-width:thin;scrollbar-color:#105b9066 transparent;gap:3px;margin:0;padding:8px 10px 14px;scroll-padding-bottom:14px}.sidebar-nav>*{flex-shrink:0}.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff6}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.nav-item{color:#fff;letter-spacing:0;border-radius:10px;min-height:40px;padding:9px 16px;font-size:14px;font-weight:500;line-height:1.4;transition:background-color .14s,color .14s}.nav-item:hover,.nav-child:hover{color:#f4fbff;background:#ffffff24}.nav-item.active,.nav-item.active:hover{color:var(--brand-blue);box-shadow:none;background:#fff;font-weight:600}.layout[data-theme=dark] .nav-item.active,.layout[data-theme=dark] .nav-item.active:hover,.layout[data-theme=dark] .nav-child.active,.layout[data-theme=dark] .nav-child.active:hover{color:#f2f9fc;background:#1a506a}.nav-item.active:before,.nav-child:before,.nav-child.active,.nav-child.active:hover{box-shadow:none}.nav-item.active:before,.nav-child:before{display:none}.nav-item:focus:not(:focus-visible),.nav-child:focus:not(:focus-visible){outline:none}.nav-item:focus-visible,.nav-child:focus-visible{outline-offset:2px;outline:2px solid #fff}.nav-item svg{color:currentColor;stroke-width:1.8px;width:19px;height:19px}.nav-item.active svg,.nav-item:hover svg{color:currentColor}.nav-group.open>.nav-item{color:#fff;background:0 0}.nav-group>.nav-item .chevron{color:#ffffffb8;width:16px;height:16px}.nav-group.open>.nav-item .chevron{color:#fff}.nav-children{gap:2px;margin:2px 0 3px 21px;padding:0 0 0 12px;border-left:none!important}.nav-child{color:#fff;letter-spacing:0;border-radius:7px;min-height:36px;padding:8px 12px;font-size:13px;font-weight:500;line-height:1.4}.nav-child.active,.nav-child.active:hover{color:var(--chrome-blue);box-shadow:none;background:#fff;font-weight:600}.sidebar-footer{box-sizing:border-box;background:#fff;border:2px solid #a9c2ce;border-radius:10px;flex-shrink:0;width:100%;margin:0;padding:5px 10px;position:relative;box-shadow:0 2px 8px #183d580d}.layout[data-theme=dark] .sidebar-brand{background:#0a2738f5;border-color:#234a60;box-shadow:0 2px 12px #0003}.layout[data-theme=dark] .sidebar-footer{background:#172630;border-color:#315163;box-shadow:0 2px 10px #0000002e}.layout[data-theme=dark] .logout-btn{color:#f99}.layout[data-theme=dark] .logout-btn:hover{color:#ffc0c0;background:#46282d}.layout[data-theme=dark] .card,.layout[data-theme=dark] .table-wrap,.layout[data-theme=dark] .modal,.layout[data-theme=dark] .budget-line-table{background:var(--surface);border-color:var(--border);color:var(--text)}.layout[data-theme=dark] .modal{box-shadow:0 20px 40px #00000061,0 0 0 1px #84a8bb1f}.layout[data-theme=dark] .form-control,.layout[data-theme=dark] select,.layout[data-theme=dark] textarea{background-color:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.layout[data-theme=dark] .form-control::placeholder{color:var(--text-soft)}.layout[data-theme=dark] .budget-form-intro{background:#1b3543;border-color:#315365}.layout[data-theme=dark] .budget-mode button.active{color:#e6eef3;background:#2a4554}.layout[data-theme=dark] .badge-success{color:#83dfac;background:#1c3e31;border-color:#326348}.layout[data-theme=dark] .badge-danger{color:#faa;background:#46282d;border-color:#734247}.layout[data-theme=dark] .badge-warning{color:#f4cf83;background:#44391f;border-color:#746033}.layout[data-theme=dark] .badge-info{color:#94d7f3;background:#1c3b4c;border-color:#315b70}.layout[data-theme=dark] .badge-neutral{color:#c4d1d8;background:#263944;border-color:#435965}.layout[data-theme=dark] .badge-primary{color:#a9def4;background:#1c3b4c;border-color:#315b70}.layout[data-theme=dark] .data-table td .btn.btn-icon,.layout[data-theme=dark] table td .btn.btn-icon,.layout[data-theme=dark] .actions .btn-icon{color:#d2e0e7;background:#223743;border-color:#405966}.layout[data-theme=dark] .actions .btn-icon[title*=Lihat],.layout[data-theme=dark] .actions .btn-icon[title*=Detail],.layout[data-theme=dark] .actions .btn-icon[title*=Preview],.layout[data-theme=dark] .data-table td .btn.btn-icon[title*=Lihat],.layout[data-theme=dark] .data-table td .btn.btn-icon[title*=Detail],.layout[data-theme=dark] .data-table td .btn.btn-icon[title*=Preview]{color:#8fcaff!important;background:#1b3c55!important;border-color:#315c78!important}.layout[data-theme=dark] .actions .btn-icon[title*=Edit],.layout[data-theme=dark] .actions .btn-icon[title*=Ubah],.layout[data-theme=dark] .data-table td .btn.btn-icon[title*=Edit],.layout[data-theme=dark] .data-table td .btn.btn-icon[title*=Ubah]{color:#f4cf83!important;background:#44391f!important;border-color:#746033!important}.layout[data-theme=dark] .actions .btn-icon[title*=Hapus],.layout[data-theme=dark] .actions .btn-icon[title*=Delete],.layout[data-theme=dark] .data-table td .btn.btn-icon[title*=Hapus],.layout[data-theme=dark] .data-table td .btn.btn-icon[title*=Delete],.layout[data-theme=dark] .budget-line .btn-icon[title*=Hapus],.layout[data-theme=dark] .budget-line .btn-icon[title*=Delete]{color:#faa!important;background:#46282d!important;border-color:#734247!important}.layout[data-theme=dark] .budget-line .btn-icon[title*=Hapus]:disabled,.layout[data-theme=dark] .budget-line .btn-icon[title*=Delete]:disabled{opacity:.38!important}.layout[data-theme=dark] .budget-form-section,.layout[data-theme=dark] .card-header,.layout[data-theme=dark] .card-footer,.layout[data-theme=dark] .modal-header,.layout[data-theme=dark] .modal-footer{border-color:var(--border)}.layout[data-theme=dark] ::-webkit-scrollbar-thumb{background:#425965}.layout[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#627c89}:root[data-theme=dark] .login-page{background:linear-gradient(135deg,#101a22 0%,#14232e 60%,#172630 100%)}:root[data-theme=dark] .login-card{color:#e6eef3;background:#172630;border:1px solid #2b414e}:root[data-theme=dark] .login-card h1{color:#e6eef3}:root[data-theme=dark] .login-card .login-sub{color:#adbdc8}.layout[data-theme=dark] .maintenance-page,.layout[data-theme=dark] .maintenance-page h1,.layout[data-theme=dark] .maintenance-page h2,.layout[data-theme=dark] .maintenance-page h3,.layout[data-theme=dark] .maintenance-group>h2,.layout[data-theme=dark] .maintenance-setting-name h3,.layout[data-theme=dark] .maintenance-editor-heading strong,.layout[data-theme=dark] .maintenance-detail-header h2,.layout[data-theme=dark] .maintenance-detail .maintenance-editor-heading h3{color:var(--text)}.layout[data-theme=dark] .maintenance-header p,.layout[data-theme=dark] .maintenance-setting-name p,.layout[data-theme=dark] .maintenance-state,.layout[data-theme=dark] .maintenance-editor-heading span,.layout[data-theme=dark] .maintenance-detail-kicker,.layout[data-theme=dark] .maintenance-detail-header p:last-child,.layout[data-theme=dark] .maintenance-detail-count,.layout[data-theme=dark] .maintenance-detail .maintenance-editor-heading p,.layout[data-theme=dark] .maintenance-detail .maintenance-option-number,.layout[data-theme=dark] .maintenance-setting-value,.layout[data-theme=dark] .maintenance-new-option label,.layout[data-theme=dark] .maintenance-storage-fields label,.layout[data-theme=dark] .maintenance-detail .maintenance-new-option label,.layout[data-theme=dark] .maintenance-editor-actions button:first-child,.layout[data-theme=dark] .maintenance-detail-footer button:first-child{color:var(--text-muted)}.layout[data-theme=dark] .maintenance-settings,.layout[data-theme=dark] .maintenance-workspace,.layout[data-theme=dark] .maintenance-detail,.layout[data-theme=dark] .maintenance-detail .maintenance-editor{background:var(--surface);border-color:var(--border)}.layout[data-theme=dark] .maintenance-editor,.layout[data-theme=dark] .maintenance-nav,.layout[data-theme=dark] .maintenance-detail-footer{background:var(--surface-2)}.layout[data-theme=dark] .maintenance-setting+.maintenance-setting,.layout[data-theme=dark] .maintenance-editor,.layout[data-theme=dark] .maintenance-detail-header,.layout[data-theme=dark] .maintenance-detail .maintenance-option,.layout[data-theme=dark] .maintenance-editor-actions,.layout[data-theme=dark] .maintenance-detail-footer,.layout[data-theme=dark] .maintenance-nav{border-color:var(--border)}.layout[data-theme=dark] .maintenance-nav-heading{color:var(--text-soft)}.layout[data-theme=dark] .maintenance-nav-group{color:var(--text)}.layout[data-theme=dark] .maintenance-nav-item{color:var(--text-muted)}.layout[data-theme=dark] .maintenance-nav-item small{color:var(--text-soft)}.layout[data-theme=dark] .maintenance-nav-item:hover{background:#263d4a}.layout[data-theme=dark] .maintenance-nav-item.active{color:#a9def4;background:#1c3b4c;border-left-color:#68b8df}.layout[data-theme=dark] .maintenance-nav-item.active small{color:#b2cad6}.layout[data-theme=dark] .maintenance-edit,.layout[data-theme=dark] .maintenance-state button{color:#85cbe9}.layout[data-theme=dark] .maintenance-edit:hover,.layout[data-theme=dark] .maintenance-state button:hover{color:#b3e4f7}.layout[data-theme=dark] .maintenance-option .form-control,.layout[data-theme=dark] .maintenance-new-option .form-control,.layout[data-theme=dark] .maintenance-storage-fields .form-control,.layout[data-theme=dark] .maintenance-detail .maintenance-option .form-control,.layout[data-theme=dark] .maintenance-detail .maintenance-new-option .form-control{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.layout[data-theme=dark] .maintenance-storage-fields label small{color:var(--text-muted)}.layout[data-theme=dark] .maintenance-upload-heading h4,.layout[data-theme=dark] .maintenance-upload-policy h5{color:var(--text)}.layout[data-theme=dark] .maintenance-upload-heading p,.layout[data-theme=dark] .maintenance-upload-policy>label,.layout[data-theme=dark] .maintenance-upload-policy legend,.layout[data-theme=dark] .maintenance-upload-policy fieldset label{color:var(--text-muted)}.layout[data-theme=dark] .maintenance-upload-policy{border-color:var(--border)}.layout[data-theme=dark] .maintenance-upload-policy .form-control{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.layout[data-theme=dark] .maintenance-option button,.layout[data-theme=dark] .maintenance-detail .maintenance-option button{color:#f19595}.layout[data-theme=dark] .maintenance-new-option>div>button,.layout[data-theme=dark] .maintenance-detail .maintenance-new-option>div>button{border-color:var(--border-strong);color:var(--text);background:#263d4a}.layout[data-theme=dark] .maintenance-new-option>div>button:hover,.layout[data-theme=dark] .maintenance-detail .maintenance-new-option>div>button:hover{background:#304b59}.layout[data-theme=dark] .maintenance-error{color:#ff9a9a}.layout[data-theme=dark] .maintenance-editor-actions button:last-child,.layout[data-theme=dark] .maintenance-detail-footer button:last-child{color:#fff;background:#176f98}.layout[data-theme=dark] .maintenance-editor-actions button:last-child:hover:not(:disabled),.layout[data-theme=dark] .maintenance-detail-footer button:last-child:hover:not(:disabled){background:#2188b4}.layout[data-theme=dark] .maintenance-page button:focus-visible,.layout[data-theme=dark] .maintenance-page input:focus-visible{outline-color:#8bccee}.layout[data-theme=dark] .date-picker-trigger,.layout[data-theme=dark] .date-picker-dropdown,.layout[data-theme=dark] .quick-grid-item{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.layout[data-theme=dark] .date-picker-trigger:hover,.layout[data-theme=dark] .quick-grid-item:hover{background:#243b48}.layout[data-theme=dark] .date-picker-trigger svg:last-child,.layout[data-theme=dark] .tab-btn,.layout[data-theme=dark] .selector-btn{color:var(--text-muted)}.layout[data-theme=dark] .date-picker-tabs,.layout[data-theme=dark] .quick-selector{background:var(--surface-2)}.layout[data-theme=dark] .date-picker-tabs{border-color:var(--border)}.layout[data-theme=dark] .tab-btn:hover{color:var(--text);background:#ffffff0d}.layout[data-theme=dark] .tab-btn.active,.layout[data-theme=dark] .selector-btn.active{color:#a9def4;background:#294553}.layout[data-theme=dark] .selector-btn:hover{color:var(--text)}.layout[data-theme=dark] .quick-grid-item.selected{color:#fff;background:#176f98;border-color:#3291b8}.layout[data-theme=dark] .quick-grid-item.current:not(.selected){color:#a9def4;border-color:#68b8df}.sidebar.collapsed .sidebar-footer{padding:5px}.sidebar.collapsed .logout-btn{justify-content:center;padding:9px}.logout-btn{width:100%;min-height:36px;color:var(--danger);box-shadow:none;background:0 0;border-radius:10px;align-items:center;gap:12px;padding:6px 14px;font-size:14px;font-weight:500;line-height:1.4;display:flex}.logout-btn:hover{background:var(--danger-soft);color:#963838;box-shadow:none}.layout .data-table thead th,.layout .table thead th,.layout .table-wrap table thead th{color:var(--text);background:var(--primary-soft);font-size:13px;font-weight:700}.layout .data-table tbody tr:hover,.layout .table tbody tr:hover{background:var(--primary-soft)}.layout .badge-primary{color:var(--brand-blue-hover);background:var(--primary-soft);border-color:#c9dce8}.layout .bar-chart .bar{background:linear-gradient(180deg, var(--primary), var(--primary-hover))}.layout .bar-chart .bar.expense{background:linear-gradient(180deg, #df7777, var(--danger))}.layout[data-theme=light] .sidebar-menu{background:#0064b2;border-color:#005493}.layout[data-theme=light] .sidebar-brand{background:#f0f6fa;border-color:#b8d2df;box-shadow:0 2px 8px #004a8414}.layout[data-theme=light] .sidebar-footer{background:#f0f6fa;border-color:#b8d2df}.layout[data-theme=light] .nav-section-label,.layout[data-theme=light] .nav-item,.layout[data-theme=light] .nav-child,.layout[data-theme=light] .nav-group.open>.nav-item{color:#fff}.layout[data-theme=light] .nav-section-label{color:#ffffffe0;letter-spacing:.055em;font-weight:750}.layout[data-theme=light] .nav-item{letter-spacing:-.01em;font-weight:600}.layout[data-theme=light] .nav-child{font-weight:600}.layout[data-theme=light] .nav-item:hover,.layout[data-theme=light] .nav-child:hover{color:#fff;background:#1677b8;font-weight:600}.layout[data-theme=light] .nav-item.active,.layout[data-theme=light] .nav-item.active:hover,.layout[data-theme=light] .nav-child.active,.layout[data-theme=light] .nav-child.active:hover{color:#fff;background:#005493;font-weight:700}.layout[data-theme=light] .nav-group>.nav-item .chevron{color:#ffffffc7}.layout[data-theme=light] .nav-group>.nav-item:hover .chevron{color:#fff}.layout[data-theme=light] .nav-item:focus-visible,.layout[data-theme=light] .nav-child:focus-visible{outline-color:#fff}.layout[data-theme=light] .sidebar-nav{scrollbar-color:#ffffff6b transparent}.layout[data-theme=light] .sidebar-nav::-webkit-scrollbar-thumb{background:#fff6}.layout[data-theme=light] .topbar{color:#fff;background:#0064b2;border-color:#005493;box-shadow:0 3px 14px #004a842e}.layout[data-theme=light] .topbar.topbar-scrolled{background:#0064b2b8;box-shadow:0 8px 24px #003a693d}.layout[data-theme=light] .topbar-page-title,.layout[data-theme=light] .topbar .user-info .name,.layout[data-theme=light] .topbar .toggle-btn,.layout[data-theme=light] .theme-toggle-btn{color:#fff}.layout[data-theme=light] .topbar-page-slash,.layout[data-theme=light] .topbar .user-info .role{color:#ffffffc7}.layout[data-theme=light] .topbar .toggle-btn,.layout[data-theme=light] .theme-toggle-btn{background:#ffffff24;border-color:#ffffff57}.layout[data-theme=light] .topbar .toggle-btn:hover,.layout[data-theme=light] .theme-toggle-btn:hover{color:#fff;background:#ffffff3d;border-color:#ffffff8a}.layout[data-theme=light] .topbar .toggle-btn:focus-visible,.layout[data-theme=light] .theme-toggle-btn:focus-visible{outline-color:#fff}@media (width<=900px){.sidebar{z-index:100;pointer-events:none;visibility:hidden;width:min(270px,82vw);transition:transform .25s cubic-bezier(.16,1,.3,1),visibility .25s;top:8px;bottom:8px;left:8px;transform:translate(calc(-100% - 30px))}.sidebar.mobile-open{pointer-events:auto;visibility:visible;transform:translate(0)}.sidebar-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:99;opacity:0;pointer-events:none;background:#0f172a8c;transition:opacity .25s;display:block;position:fixed;inset:0}.sidebar-backdrop.show{opacity:1;pointer-events:auto}.main,.main.expanded{width:100%;min-width:0;margin-left:0!important}.sidebar-mobile-close-btn{background:var(--surface-2,#f1f5f9);width:32px;height:32px;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.sidebar-mobile-close-btn:hover{color:var(--text);background:var(--border)}.layout[data-theme=dark] .sidebar-mobile-close-btn{color:#adbdc8;background:#ffffff14;border-color:#234a60}.layout[data-theme=dark] .sidebar-mobile-close-btn:hover{color:#fff;background:#ffffff29}}@media (width>=901px){.sidebar-mobile-close-btn{display:none}}.table-pagination{background:var(--surface);border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-size:13px;display:flex}.table-pagination-info{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.table-pagination-info strong{color:var(--text);font-weight:600}.table-pagination-size{align-items:center;gap:8px;display:flex}.table-pagination-size-label{color:var(--text-muted);margin:0;font-size:13px}.table-pagination-select{border-radius:8px;min-width:70px;height:32px;font-size:13px;font-weight:500;background-position:right 8px center!important;width:auto!important;padding:2px 28px 2px 10px!important}.table-pagination-nav,.pagination-pages{align-items:center;gap:4px;display:flex}.pagination-btn{border:1px solid var(--border);background:var(--surface);min-width:32px;height:32px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.pagination-btn:hover:not(:disabled){background:var(--surface-2,#f1f5f9);border-color:var(--border-hover,#cbd5e1);color:var(--primary)}.pagination-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600;box-shadow:0 2px 6px #176f9840}.pagination-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.pagination-ellipsis{min-width:24px;height:32px;color:var(--text-muted);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.layout[data-theme=dark] .table-pagination{background:var(--surface);border-color:var(--border);color:var(--text-muted)}.layout[data-theme=dark] .pagination-btn{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.layout[data-theme=dark] .pagination-btn:hover:not(:disabled){color:#7ecef5;background:#243846;border-color:#4a6c80}.layout[data-theme=dark] .pagination-btn.active{color:#fff;background:#176f98;border-color:#3291b8}@media (width<=768px){.table-pagination{flex-direction:column;align-items:flex-start;gap:12px}.table-pagination-nav{justify-content:center;width:100%;padding-bottom:2px;overflow-x:auto}}.auto-fit-text{white-space:nowrap;overflow-wrap:normal;width:100%;min-width:0;display:block;position:relative}.auto-fit-text-measure{visibility:hidden;width:max-content;font:inherit;white-space:nowrap;pointer-events:none;display:inline-block;position:absolute;inset:0 auto auto 0}.auto-fit-text-value{white-space:nowrap;display:block}.kuitansi-paper{isolation:isolate;position:relative;overflow:hidden}.kuitansi-watermark{z-index:0;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.kuitansi-watermark img{object-fit:contain;opacity:.15;width:55%;max-width:320px;max-height:65%}.kuitansi-paper>:not(.kuitansi-watermark){z-index:1;position:relative}.landing-page-wrapper{color:#1e293b;flex-direction:column;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;display:flex;position:relative}.landing-bg-overlay{z-index:0;background-position:50%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0}.landing-bg-overlay:before{content:"";-webkit-backdrop-filter:blur(4px);background:linear-gradient(135deg,#0f172acc 0%,#1e3a8ae0 100%);position:absolute;inset:0}.landing-header-bar{z-index:10;background:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 2rem;display:flex;position:relative;box-shadow:0 1px 3px #00000014}.landing-header-brand{align-items:center;gap:12px;display:flex}.landing-header-brand img{object-fit:contain;height:40px}.landing-main-content{z-index:10;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:3rem 1.5rem;display:flex;position:relative}.landing-split-card{background:#fff;border-radius:24px;grid-template-columns:1.1fr 1fr;width:100%;max-width:1060px;display:grid;overflow:hidden;box-shadow:0 25px 60px -15px #00000059}@media (width<=900px){.landing-split-card{grid-template-columns:1fr}}.landing-left-banner{color:#fff;background:linear-gradient(145deg,#17364d 0%,#075985 55%,#176f98 100%);flex-direction:column;justify-content:space-between;padding:3.5rem 3rem;display:flex;position:relative;overflow:hidden}.landing-left-banner:after{content:"";pointer-events:none;background:#ffffff0a;border-radius:50%;width:250px;height:250px;position:absolute;bottom:-50px;right:-50px}.banner-main-title{color:#fff;letter-spacing:-.02em;margin-bottom:1.25rem;font-size:2.3rem;font-weight:800;line-height:1.25}.banner-subtext{color:#ffffffd9;margin-bottom:3rem;font-size:.95rem;line-height:1.6}.banner-security-chip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff2e;border-radius:14px;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.security-chip-icon{color:#a5f3fc;background:#ffffff26;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.security-chip-title{color:#fff;font-size:.95rem;font-weight:700}.security-chip-sub{color:#a5f3fc;font-size:.75rem;font-weight:600}.landing-right-form{background:#fff;flex-direction:column;justify-content:center;padding:3.5rem 3rem;display:flex}.form-logo-box{align-items:center;margin-bottom:1.5rem;display:flex}.form-logo-box img{object-fit:contain;height:58px}.form-header-title{color:#0f172a;letter-spacing:-.01em;margin-bottom:.5rem;font-size:1.75rem;font-weight:800}.form-header-sub{color:#64748b;margin-bottom:1.75rem;font-size:.875rem;line-height:1.5}.custom-input-label{color:#334155;margin-bottom:.5rem;font-size:.85rem;font-weight:700;display:block}.custom-input-wrapper{margin-bottom:1.25rem;position:relative}.custom-input-wrapper .input-icon-left{color:#94a3b8;display:flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.custom-input-wrapper .input-icon-right{color:#94a3b8;cursor:pointer;display:flex;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.custom-input-wrapper input{color:#0f172a;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;outline:none;width:100%;padding:.85rem 1rem .85rem 42px;font-size:.95rem;transition:all .2s}.custom-input-wrapper input:focus{background:#fff;border-color:#075985;box-shadow:0 0 0 4px #0759851f}.form-options-row{justify-content:space-between;align-items:center;margin-bottom:1.5rem;font-size:.85rem;display:flex}.checkbox-label{color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.forgot-pass-link{color:#075985;font-weight:700;text-decoration:none}.forgot-pass-link:hover{text-decoration:underline}.btn-portal-submit{color:#fff;cursor:pointer;background:linear-gradient(135deg,#075985 0%,#064b6b 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:1.5rem;padding:.9rem 1.5rem;font-size:1rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 14px #07598533}.btn-portal-submit:hover{background:linear-gradient(135deg,#064b6b 0%,#043b57 100%);transform:translateY(-1px);box-shadow:0 6px 18px #0759853d}.security-footer-box{color:#334155;background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.security-footer-box .ssl-badge{color:#475569;background:#e2e8f0;border-radius:6px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.help-admin-link{text-align:center;color:#64748b;font-size:.85rem}.help-admin-link a{color:#075985;font-weight:700;text-decoration:none}.student-result-container{background:#fff;border-radius:20px;width:100%;max-width:1060px;margin-top:2rem;padding:2rem;animation:.4s ease-out fadeIn;box-shadow:0 20px 40px #0003}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.student-header-profile{border-bottom:1px solid #e2e8f0;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;display:flex}.avatar-large{background:linear-gradient(135deg, var(--brand-blue) 0%, var(--brand-blue-hover) 100%);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;font-size:1.8rem;font-weight:800;display:flex;box-shadow:0 4px 15px #07598538}.student-info-main h3{color:#0f172a;margin-bottom:.3rem;font-size:1.4rem}.student-meta-grid{grid-template-columns:max-content max-content;gap:.5rem 3.5rem;font-size:.925rem;display:grid}@media (width<=540px){.student-meta-grid{grid-template-columns:1fr;column-gap:0}}.student-meta-tags{flex-wrap:wrap;gap:.5rem;margin-top:.4rem;display:flex}.badge-unit{text-transform:uppercase;border-radius:6px;padding:.25rem .75rem;font-size:.775rem;font-weight:700}.badge-unit.sd{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.badge-unit.smp{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.badge-unit.sma{color:#6b21a8;background:#f3e8ff;border:1px solid #e9d5ff}.badge-unit.smk{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.badge-meta{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.25rem .65rem;font-size:.8rem;font-weight:500}.payment-summary-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.summary-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem}.summary-title{color:#64748b;margin-bottom:.4rem;font-size:.85rem}.summary-value{color:#0f172a;font-size:1.35rem;font-weight:700}.result-tabs{border-bottom:1px solid #e2e8f0;gap:.5rem;margin-bottom:1.5rem;display:flex}.tab-btn{color:#64748b;cursor:pointer;border-bottom:2px solid #0000;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;transition:all .2s}.tab-btn.active{color:#075985;border-bottom-color:#075985}.bulanan-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;display:grid}.month-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;justify-content:space-between;padding:1rem;display:flex;box-shadow:0 1px 3px #00000008}.month-card.lunas{border-left:4px solid #16a34a}.month-card.belum{border-left:4px solid #dc2626}.month-name{color:#0f172a;white-space:nowrap;margin-bottom:.25rem;font-weight:600}.month-amount{color:#0f172a;margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.status-badge{white-space:nowrap;border-radius:9999px;flex-shrink:0;padding:.2rem .6rem;font-size:.75rem;font-weight:700;display:inline-block}.status-badge.lunas{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.status-badge.belum{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.status-badge.sebagian{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.btn-bayar-sm{color:#fff;text-align:center;cursor:pointer;background:linear-gradient(135deg,#16a34a 0%,#15803d 100%);border:none;border-radius:8px;margin-top:.75rem;padding:.45rem .85rem;font-size:.825rem;font-weight:600;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 6px #16a34a40}.btn-bayar-sm:hover{transform:translateY(-1px);box-shadow:0 4px 10px #16a34a59}.btn-kuitansi-sm{color:#1e293b;text-align:center;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;margin-top:.75rem;padding:.45rem .85rem;font-size:.825rem;font-weight:600;transition:all .15s}.btn-kuitansi-sm:hover{color:#0f172a;background:#e2e8f0}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:999;background:#0f172a99;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-glass-content{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:20px;width:100%;max-width:520px;padding:2rem;position:relative;box-shadow:0 20px 25px -5px #0003}.landing-footer-bar{z-index:10;color:#64748b;background:#fff;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1rem 2rem;font-size:.85rem;display:flex;position:relative}.landing-page-wrapper,.login-card{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.login-card .form-control{color:#1e293b!important;background:#fff!important;border-color:#cbd5e1!important}.login-card .form-control:focus{border-color:#0064b2!important;box-shadow:0 0 0 3px #0064b226!important}.login-card .btn-primary{color:#fff!important;background:#0064b2!important}.login-card .btn-primary:hover:not(:disabled){background:#005493!important}@media print{@page{size:A4 portrait;margin:12mm 10mm}html,body{background:#fff!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important}.landing-page-wrapper{height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important}.landing-bg-overlay,.landing-header-bar,.landing-main-content,.landing-footer-bar,.no-print,.no-print *{visibility:hidden!important;width:0!important;height:0!important;display:none!important}.modal-overlay.kuitansi-modal-overlay{background:0 0!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important;overflow:visible!important}.kuitansi-modal-content{width:100%!important;max-width:100%!important;margin:0 auto!important}.kuitansi-paper{width:100%!important;max-width:620px!important;box-shadow:none!important;color:#1e293b!important;page-break-inside:avoid!important;break-inside:avoid!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:8px!important;margin:0 auto!important;padding:1.5rem 1.75rem!important}.kuitansi-paper,.kuitansi-paper *{visibility:visible!important}}@media (width<=1250px){.overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-columns{grid-template-columns:minmax(0,1fr);gap:14px}.overview-main,.overview-side{gap:14px}}@media (width<=1050px){.overview-columns{grid-template-columns:minmax(0,1fr)}.overview-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media (width<=650px){.overview-heading{align-items:flex-start;margin-bottom:16px}.overview-heading h1{font-size:18px}.overview-filters{justify-content:flex-start;width:100%}.overview-filter{flex:1}.overview-filter select{flex:1;min-width:0}.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.overview-metric{padding:14px 12px 0}.overview-metric-value{font-size:22px}.overview-panel-heading{padding:12px 14px}.overview-chart-summary{gap:12px;padding:14px}.overview-chart-summary dd{font-size:11px}.overview-side{grid-template-columns:minmax(0,1fr)}.overview-link{min-height:44px}}@media (width<=380px){.overview-metrics,.overview-chart-summary{grid-template-columns:minmax(0,1fr)}}.dashboard-overview{--overview-ink:#16354f;--overview-muted:#5a7085;--overview-line:#dde6ee;--overview-surface:#fff;--overview-tint:#f6f9fc;--overview-income:#087c80;--overview-expense:#bd3854;color:var(--overview-ink);font-family:var(--font);font-size:13.5px}.layout[data-theme=dark] .dashboard-overview{--overview-ink:#e0ebf4;--overview-muted:#acbdcc;--overview-line:#304858;--overview-surface:#172630;--overview-tint:#1c303f;--overview-income:#63d1c7;--overview-expense:#ff93a7}.overview-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.overview-heading h1{color:var(--overview-ink);font-size:22px;font-weight:700;line-height:1.25}.overview-heading p{color:var(--overview-muted);margin-top:5px;font-size:13px}.overview-heading .overview-kicker{color:var(--primary);letter-spacing:.04em;margin:0 0 5px;font-size:11px;font-weight:700}.overview-filters{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.overview-filter{color:var(--overview-muted);align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.overview-filter select{border:1px solid var(--overview-line);background:var(--overview-surface);min-height:34px;color:var(--overview-ink);font:500 12px/1.4 var(--font);border-radius:6px;padding:0 24px 0 10px}.overview-filter select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.overview-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.overview-metric,.overview-panel{background:var(--overview-surface);border:1px solid var(--overview-line);border-radius:8px;min-width:0}.overview-metric{flex-direction:column;padding:18px 16px 0;display:flex}.overview-metric h2{color:var(--overview-muted);font:600 11.5px/1.5 var(--font);text-transform:uppercase;letter-spacing:.04em}.overview-metric-value{font-variant-numeric:tabular-nums;margin-top:14px;font-size:clamp(22px,1.9vw,28px);font-weight:700;line-height:1.25}.overview-metric>p{color:var(--overview-muted);margin-top:6px;margin-bottom:16px;font-size:12px;line-height:1.5}.overview-metric-footer{border-top:1px solid var(--overview-line);color:var(--overview-muted);flex-wrap:wrap;justify-content:space-between;gap:5px 10px;margin-top:auto;padding:10px 0;font-size:11px;line-height:1.5;display:flex}.overview-columns{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;display:grid}.overview-main,.overview-side{gap:20px;min-width:0;display:grid}.overview-panel-heading{border-bottom:1px solid var(--overview-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:15px 18px;display:flex}.overview-panel h2{color:var(--overview-ink);font:600 13.5px/1.5 var(--font)}.overview-panel-heading p{color:var(--overview-muted);margin-top:3px;font-size:12px}.overview-chart-heading{align-items:flex-start}.overview-legend{color:var(--overview-muted);flex-wrap:wrap;gap:14px;font-size:11px;font-weight:500;display:flex}.overview-legend>span{align-items:center;gap:7px;display:inline-flex}.overview-legend i{border-radius:2px;width:9px;height:9px}.overview-legend-income,.overview-bar-income{background:var(--overview-income)}.overview-legend-expense,.overview-bar-expense{background:var(--overview-expense)}.overview-chart-scroll{overflow-x:auto}.overview-chart{grid-template-columns:max-content minmax(0,1fr);gap:12px;min-width:480px;height:260px;padding:27px 18px 22px;display:grid}.overview-chart.is-daily{min-width:760px}.overview-chart-axis{color:var(--overview-muted);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;padding-bottom:26px;font-size:10px;display:flex}.overview-chart-plot{min-width:0;position:relative}.overview-chart-grid{pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0 0 30px}.overview-chart-grid i{border-top:1px dashed var(--overview-line);width:100%}.overview-chart-bars{gap:10px;height:100%;display:flex;position:relative}.overview-chart-bars-daily{gap:4px}.overview-month{flex-direction:column;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.overview-day{min-width:18px}.overview-month>span{height:18px;color:var(--overview-muted);font-size:10px;font-weight:500}.overview-day>span{font-size:9px}.overview-month-bars{flex:1;justify-content:center;align-items:flex-end;gap:3px;width:100%;min-height:0;display:flex}.overview-day .overview-month-bars{gap:2px}.overview-bar{border-radius:2px 2px 0 0;width:28%;max-width:16px}.overview-day .overview-bar{width:40%;min-width:3px;max-width:8px}.overview-chart-empty{color:var(--overview-muted);text-align:center;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;inset:0 0 30px}.overview-chart-summary{border-top:1px solid var(--overview-line);grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:16px 18px;display:grid}.overview-chart-summary dt{text-transform:uppercase;letter-spacing:.03em;color:var(--overview-muted);margin-bottom:6px;font-size:10px;font-weight:600}.overview-chart-summary dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0;font-size:13px;font-weight:600}.dashboard-overview .overview-income{color:var(--overview-income)}.dashboard-overview .overview-expense{color:var(--overview-expense)}.overview-link{min-height:32px;color:var(--primary);font:500 12px/1.5 var(--font);align-items:center;gap:6px;display:inline-flex}.overview-link:hover{text-decoration:underline}.overview-actions{gap:8px;padding:14px 16px;display:grid}.overview-actions a{border:1px solid var(--overview-line);background:var(--overview-tint);border-radius:6px;align-items:center;gap:10px;min-height:44px;padding:9px 12px;font-size:13px;font-weight:500;display:flex}.overview-actions a:hover{background:var(--primary-soft);border-color:var(--primary)}.overview-actions svg{color:var(--primary);flex-shrink:0}.overview-actions a>span{flex:1}.overview-budget{padding:18px}.overview-budget>strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1.25;display:block}.overview-budget p{color:var(--overview-muted);margin-top:8px;font-size:11px}.overview-progress{background:var(--overview-line);height:5px;margin-top:18px;overflow:hidden}.overview-progress>span{background:var(--overview-income);height:100%;display:block}.overview-subheading{border-top:1px solid var(--overview-line);padding:14px 18px 0;font-size:11px;font-weight:600}.overview-list{margin:0;padding:0;list-style:none}.overview-list li{justify-content:space-between;align-items:flex-start;gap:16px;padding:15px 18px;font-size:11px;display:flex}.overview-list li+li{border-top:1px solid var(--overview-line)}.overview-list li>span,.overview-list li>div{overflow-wrap:anywhere;min-width:0}.overview-list li>strong{flex-shrink:0;font-weight:500}.overview-letters strong{font-weight:500}.overview-letters p{color:var(--overview-muted);margin-top:5px;font-size:10px}.overview-letters .badge{flex-shrink:0;font-size:9px}.overview-table-scroll{overflow-x:auto}.overview-table{border-collapse:collapse;text-align:left;width:100%}.overview-table th{background:var(--overview-tint);color:var(--text);text-transform:uppercase;font-size:12px;font-weight:700}.overview-table th,.overview-table td{border-bottom:1px solid var(--overview-line);padding:14px 18px}.overview-table td{font-size:11px}.overview-table tbody tr:last-child td{border-bottom:0}.overview-table tbody tr:hover{background:var(--overview-tint)}.overview-table td:first-child,.overview-table td:nth-child(3){white-space:nowrap}.overview-table td:nth-child(2){overflow-wrap:anywhere;min-width:150px}.overview-number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.overview-empty,.overview-table .overview-empty{text-align:center;color:var(--overview-muted);padding:28px 18px;font-size:12px}.overview-empty-small{text-align:left;padding:14px 18px 18px;font-size:11px}.dashboard-overview :where(a,button,[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:3px}@media (width<=1250px){.overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-columns{grid-template-columns:minmax(0,1fr);gap:14px}.overview-main,.overview-side{gap:14px}}@media (width<=1050px){.overview-columns{grid-template-columns:minmax(0,1fr)}.overview-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media (width<=650px){.overview-heading{align-items:flex-start;margin-bottom:16px}.overview-heading h1{font-size:18px}.overview-filters{justify-content:flex-start;width:100%}.overview-filter{flex:1}.overview-filter select{flex:1;min-width:0}.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.overview-metric{padding:14px 12px 0}.overview-metric-value{font-size:22px}.overview-panel-heading{padding:12px 14px}.overview-chart-summary{gap:12px;padding:14px}.overview-chart-summary dd{font-size:11px}.overview-side{grid-template-columns:minmax(0,1fr)}.overview-link{min-height:44px}}@media (width<=380px){.overview-metrics,.overview-chart-summary{grid-template-columns:minmax(0,1fr)}}.signature-panel{width:min(100%,680px);padding:24px}.signature-panel h2{color:var(--text);margin:0 0 16px;font-size:16px}.signature-preview{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;align-items:center;min-height:160px;padding:16px;display:flex}.signature-preview img{object-fit:contain;max-width:100%;max-height:160px;display:block}.signature-preview p{color:var(--text-muted);margin:0}.signature-upload{justify-items:start;gap:12px;margin-top:24px;display:grid}.signature-upload label{color:var(--text);font-weight:600}.signature-upload input{max-width:100%;color:var(--text)}.signature-upload button{min-height:44px}.signature-error,.signature-preview .signature-error{color:var(--danger)}@media (width<=600px){.signature-panel{padding:16px}}@media (width<=900px){.summary-kpi-grid{grid-template-columns:1fr}}@media (width<=600px){.summary-metrics-row{grid-template-columns:1fr;gap:12px}}@media print{.sidebar,.topbar,.summary-toolbar,.btn,.search-wrap{display:none!important}.summary-page{padding:0}.summary-header-card,.summary-kpi-box,.summary-table-card{box-shadow:none!important;border:1px solid #000!important}.summary-table th,.summary-table td{color:#000!important;border:1px solid #000!important}}.summary-page{flex-direction:column;gap:20px;padding-bottom:40px;display:flex}.summary-header-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;padding:20px 24px;display:flex;box-shadow:0 1px 3px #0000000d}.summary-title-section{flex-direction:column;gap:4px;display:flex}.summary-main-title{letter-spacing:.02em;color:var(--text);text-transform:uppercase;margin:0;font-size:19px;font-weight:800}.summary-subtitle{color:var(--brand-blue,#0284c7);letter-spacing:.04em;margin:0;font-size:15px;font-weight:700}.summary-period-tag{color:var(--text-muted);text-transform:uppercase;align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:600;display:inline-flex}.summary-kpi-grid{grid-template-columns:minmax(260px,340px) 1fr;align-items:stretch;gap:16px;display:grid}@media (width<=900px){.summary-kpi-grid{grid-template-columns:1fr}}.summary-kpi-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 20px;box-shadow:0 1px 3px #0000000a}.summary-inout-box{flex-direction:column;justify-content:center;gap:10px;display:flex}.summary-inout-row{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.summary-badge-in{color:#fff;letter-spacing:.05em;background:#10b981;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:800;display:inline-block}.summary-badge-out{color:#fff;letter-spacing:.05em;background:#f43f5e;border-radius:6px;padding:3px 10px;font-size:11px;font-weight:800;display:inline-block}.summary-inout-val{font-family:var(--mono,monospace);color:var(--text);font-size:14px;font-weight:700}.summary-metrics-row{grid-template-columns:repeat(3,1fr);align-items:center;gap:16px;display:grid}@media (width<=600px){.summary-metrics-row{grid-template-columns:1fr;gap:12px}}.summary-metric-card{flex-direction:column;gap:6px;padding:8px 12px;display:flex}.summary-metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:12px;font-weight:600}.summary-metric-value{font-family:var(--mono,monospace);color:var(--text);overflow-wrap:anywhere;font-size:18px;font-weight:800}.summary-metric-value.saldo{color:#0284c7}.summary-metric-value.anggaran{color:#e11d48}.summary-metric-value.sisa{color:#059669}.summary-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.summary-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.summary-actions{align-items:center;gap:8px;display:flex}.summary-table-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.summary-table-wrap{width:100%;overflow-x:auto}.summary-table{border-collapse:collapse;text-align:left;width:100%;min-width:1000px;font-size:12.5px}.summary-table th{color:#334155;border-bottom:1.5px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;vertical-align:middle;background:#f1f5f9;padding:12px 14px;font-weight:700}.layout[data-theme=dark] .summary-table th{color:#cbd5e1;background:#1e293b}.summary-table th:last-child{border-right:none}.summary-table td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);vertical-align:middle;color:var(--text);padding:10px 14px}.summary-table td:last-child{border-right:none}.summary-table tbody tr:hover{background:var(--surface-2)}.summary-inout-cell{flex-direction:column;gap:5px;min-width:150px;display:flex}.summary-inout-subrow{font-family:var(--mono,monospace);justify-content:space-between;align-items:center;gap:8px;font-size:11.5px;display:flex}.summary-pill-in{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0;border-radius:4px;padding:1px 6px;font-size:9.5px;font-weight:800;display:inline-block}.summary-pill-out{color:#9f1239;background:#ffe4e6;border:1px solid #fecdd3;border-radius:4px;padding:1px 6px;font-size:9.5px;font-weight:800;display:inline-block}.layout[data-theme=dark] .summary-pill-in{color:#6ee7b7;background:#064e3b;border-color:#047857}.layout[data-theme=dark] .summary-pill-out{color:#fda4af;background:#881337;border-color:#be123c}.summary-account-cell{flex-direction:column;gap:2px;max-width:320px;display:flex}.summary-account-number{font-family:var(--mono,monospace);color:var(--brand-blue,#0284c7);font-size:12px;font-weight:700}.summary-account-name{color:var(--text);font-size:12px;font-weight:600;line-height:1.3}.summary-amount{font-family:var(--mono,monospace);text-align:right;white-space:nowrap;font-size:12.5px}.summary-status-badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-align:center;border-radius:6px;justify-content:center;align-items:center;min-width:105px;padding:6px 12px;font-size:11px;font-weight:800;display:inline-flex}.summary-status-badge.tidak-cukup{color:#fff;background:#ef4444;border:1px solid #dc2626}.summary-status-badge.sangat-aman{color:#fff;background:#06b6d4;border:1px solid #0891b2}.summary-status-badge.aman{color:#14532d;background:#86efac;border:1px solid #4ade80}.summary-status-badge.warning{color:#713f12;background:#fef08a;border:1px solid #fde047}.summary-table tfoot tr{border-top:2px solid var(--border);background:#f8fafc;font-weight:700}.layout[data-theme=dark] .summary-table tfoot tr{background:#1e293b}.summary-table tfoot td{border-bottom:none;padding:12px 14px;font-weight:800}@media print{.sidebar,.topbar,.summary-toolbar,.btn,.search-wrap{display:none!important}.summary-page{padding:0}.summary-header-card,.summary-kpi-box,.summary-table-card{box-shadow:none!important;border:1px solid #000!important}.summary-table th,.summary-table td{color:#000!important;border:1px solid #000!important}}@media (width<=640px){.mahabbah-header{flex-direction:column;gap:8px;margin-bottom:14px}.mahabbah-header .page-title{font-size:20px}.mahabbah-header .page-subtitle{font-size:13px;line-height:1.4}}@media (width<=1024px){.mahabbah-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}}@media (width<=480px){.mahabbah-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}}@media (width<=480px){.mahabbah-stat-card{gap:10px;padding:12px 10px}.mahabbah-stat-icon{flex-shrink:0;border-radius:8px!important;width:36px!important;height:36px!important}.mahabbah-stat-icon svg{width:18px!important;height:18px!important}.mahabbah-stat-title{font-size:10.5px!important}.mahabbah-stat-value{line-height:1.2;font-size:16px!important}}@media (width<=768px){.mahabbah-desktop-table{display:none}.mahabbah-mobile-cards{flex-direction:column;gap:10px;padding:12px 10px;display:flex}}@media (width<=640px){.mahabbah-modal-student-chip{padding:10px 12px}}@media (width<=640px){.mahabbah-modal-tab-btn{padding:6px 10px!important;font-size:12px!important}}@media (width<=640px){.mahabbah-pay-form-grid{grid-template-columns:1fr 1fr;gap:10px}.mahabbah-pay-form-full{grid-column:1/-1}}@media (width<=440px){.mahabbah-pay-form-grid{grid-template-columns:1fr;gap:10px}}@media (width<=640px){.mahabbah-pay-form-actions{flex-direction:column-reverse;gap:8px}.mahabbah-pay-form-actions button{justify-content:center;width:100%;padding:9px 12px;font-size:13px}}@media (width<=768px){.mahabbah-spp-desktop-table{display:none}.mahabbah-spp-mobile-list{-webkit-overflow-scrolling:touch;flex-direction:column;gap:8px;max-height:400px;padding-right:4px;display:flex;overflow-y:auto}}@media (width<=640px){.mahabbah-fee-component-grid{grid-template-columns:repeat(2,1fr);gap:10px}}@media (width<=380px){.mahabbah-fee-component-grid{grid-template-columns:1fr;gap:8px}}@media (width<=480px){.mahabbah-receipt-meta-grid{grid-template-columns:1fr;gap:8px}}@media print{@page{size:A4 portrait;margin:12mm 10mm}.sidebar,.topbar,.mahabbah-header,.mahabbah-summary-cards,.mahabbah-filter-bar,.mahabbah-table-wrap,.mahabbah-mobile-cards,.pagination,.modal-header,.modal-footer,.no-print{height:0!important;display:none!important}.kuitansi-paper{box-shadow:none!important;page-break-inside:avoid!important;break-inside:avoid!important;color:#1e293b!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:8px!important;margin:0 auto!important;padding:1.5rem!important}}.mahabbah-page{width:100%}.mahabbah-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}@media (width<=640px){.mahabbah-header{flex-direction:column;gap:8px;margin-bottom:14px}.mahabbah-header .page-title{font-size:20px}.mahabbah-header .page-subtitle{font-size:13px;line-height:1.4}}.mahabbah-stats-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:24px;display:grid}@media (width<=1024px){.mahabbah-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}}@media (width<=480px){.mahabbah-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}}.mahabbah-stat-card{border-radius:12px;align-items:center;gap:14px;padding:16px;display:flex}.mahabbah-stat-card>div:last-child{flex:1;min-width:0}@media (width<=480px){.mahabbah-stat-card{gap:10px;padding:12px 10px}.mahabbah-stat-icon{flex-shrink:0;border-radius:8px!important;width:36px!important;height:36px!important}.mahabbah-stat-icon svg{width:18px!important;height:18px!important}.mahabbah-stat-title{font-size:10.5px!important}.mahabbah-stat-value{line-height:1.2;font-size:16px!important}}.mahabbah-unit-pills{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.mahabbah-unit-pills::-webkit-scrollbar{display:none}.mahabbah-desktop-table{display:block}.mahabbah-mobile-cards{display:none}@media (width<=768px){.mahabbah-desktop-table{display:none}.mahabbah-mobile-cards{flex-direction:column;gap:10px;padding:12px 10px;display:flex}}.mahabbah-student-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:14px;transition:transform .15s,box-shadow .15s;display:flex}.mahabbah-student-card:active{transform:scale(.99)}.mahabbah-student-card.selected{border-color:var(--primary);background:var(--primary-soft,#f0f7ff)}.mahabbah-student-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.mahabbah-student-name{color:var(--text);font-size:15px;font-weight:700;line-height:1.3}.mahabbah-student-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px;margin-top:2px;font-size:12px;display:flex}.mahabbah-student-badge-grid{background:var(--surface-2);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;display:grid}.mahabbah-student-badge-item{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.mahabbah-student-badge-label{color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:600}.mahabbah-student-card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:2px;padding-top:10px;display:flex}.mahabbah-student-card-footer>div{flex:1;min-width:0}.mahabbah-modal-student-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px}@media (width<=640px){.mahabbah-modal-student-chip{padding:10px 12px}}.mahabbah-modal-tabs{border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;margin-top:12px;padding-bottom:10px;display:flex;overflow-x:auto}.mahabbah-modal-tabs::-webkit-scrollbar{display:none}.mahabbah-modal-tab-btn{white-space:nowrap;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}@media (width<=640px){.mahabbah-modal-tab-btn{padding:6px 10px!important;font-size:12px!important}}.mahabbah-pay-form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}@media (width<=640px){.mahabbah-pay-form-grid{grid-template-columns:1fr 1fr;gap:10px}.mahabbah-pay-form-full{grid-column:1/-1}}@media (width<=440px){.mahabbah-pay-form-grid{grid-template-columns:1fr;gap:10px}}.mahabbah-pay-form-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}@media (width<=640px){.mahabbah-pay-form-actions{flex-direction:column-reverse;gap:8px}.mahabbah-pay-form-actions button{justify-content:center;width:100%;padding:9px 12px;font-size:13px}}.mahabbah-spp-desktop-table{display:block}.mahabbah-spp-mobile-list{display:none}@media (width<=768px){.mahabbah-spp-desktop-table{display:none}.mahabbah-spp-mobile-list{-webkit-overflow-scrolling:touch;flex-direction:column;gap:8px;max-height:400px;padding-right:4px;display:flex;overflow-y:auto}}.mahabbah-spp-month-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.mahabbah-spp-month-head{justify-content:space-between;align-items:center;display:flex}.mahabbah-spp-month-rows{background:var(--surface-2);border-radius:6px;grid-template-columns:repeat(2,1fr);gap:4px 10px;padding:6px 8px;font-size:11.5px;display:grid}.mahabbah-fee-component-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;display:grid}.mahabbah-fee-component-grid>div{min-width:0}@media (width<=640px){.mahabbah-fee-component-grid{grid-template-columns:repeat(2,1fr);gap:10px}}@media (width<=380px){.mahabbah-fee-component-grid{grid-template-columns:1fr;gap:8px}}.mahabbah-receipt-meta-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;font-size:13px;display:grid}@media (width<=480px){.mahabbah-receipt-meta-grid{grid-template-columns:1fr;gap:8px}}.kuitansi-paper{color:#1e293b;background:#fff;border-radius:12px;padding:2rem;font-family:Inter,sans-serif;box-shadow:0 10px 30px #0000001a}.kuitansi-header{border-bottom:2px dashed #cbd5e1;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.kuitansi-table{border-collapse:collapse;width:100%;margin-bottom:1.5rem}.kuitansi-table td{padding:.5rem 0;font-size:.9rem}.kuitansi-total{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;padding:1rem;font-size:1.1rem;font-weight:800;display:flex}@media print{@page{size:A4 portrait;margin:12mm 10mm}.sidebar,.topbar,.mahabbah-header,.mahabbah-summary-cards,.mahabbah-filter-bar,.mahabbah-table-wrap,.mahabbah-mobile-cards,.pagination,.modal-header,.modal-footer,.no-print{height:0!important;display:none!important}.kuitansi-paper{box-shadow:none!important;page-break-inside:avoid!important;break-inside:avoid!important;color:#1e293b!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:8px!important;margin:0 auto!important;padding:1.5rem!important}}.btn{white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:13.5px;font-weight:600;line-height:1;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand-blue);color:#fff;box-shadow:none}.btn-primary:hover:not(:disabled){background:var(--brand-blue-hover);box-shadow:none;transform:none}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-soft)}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 2px 6px #dc262633}.btn-danger:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.btn-sm{border-radius:7px;padding:6px 12px;font-size:13px}.btn-icon{border-radius:8px;width:32px;height:32px;padding:7px}.btn-block{width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 3px #0000000a,0 4px 12px -2px #00000005}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.card-header h2,.card-header h3{font-size:16px;font-weight:700}.card-body{padding:20px}.card-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-label{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-label .req{color:var(--danger)}.form-control{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);border-radius:9px;outline:none;padding:9px 13px;font-size:13.5px;transition:border-color .15s,box-shadow .15s}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.form-control::placeholder{color:var(--text-soft)}.form-control:disabled{background-color:var(--surface-2);color:var(--text-muted);cursor:not-allowed;opacity:.7}.realization-upload{border:1px dashed var(--border-strong);background:var(--surface-2);min-height:76px;color:var(--text);cursor:pointer;border-radius:9px;align-items:center;gap:12px;padding:14px 16px;transition:border-color .15s,background .15s;display:flex;position:relative}.realization-upload:hover,.realization-upload:focus-within{border-color:var(--brand-blue);background:var(--surface)}.realization-upload>svg{color:var(--brand-blue);flex:none}.realization-upload>span{gap:3px;min-width:0;display:grid}.realization-upload strong{font-size:13px}.realization-upload small{color:var(--text-muted);font-size:12px}.realization-upload input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.realization-upload:focus-within{outline:2px solid var(--brand-blue);outline-offset:2px}.realization-file-list{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.realization-file-list li{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:0;padding:6px 8px 6px 12px;display:grid}.realization-file-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.realization-file-list small{color:var(--text-muted);white-space:nowrap;font-size:11px}.realization-proof-list{flex-wrap:wrap;gap:6px;display:flex}.realization-proof-list .btn{text-overflow:ellipsis;max-width:180px;overflow:hidden}.realization-proof-modal{gap:16px;display:grid}.realization-proof-modal>.muted{margin:0}.realization-proof-gallery{gap:14px;display:grid}.realization-proof-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.realization-proof-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.realization-proof-card-header>div{min-width:0}.realization-proof-card-header strong,.realization-proof-card-header small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.realization-proof-card-header small{color:var(--text-muted);margin-top:3px}.realization-proof-preview{background:var(--surface-2);place-items:center;min-height:164px;padding:14px;display:grid}.realization-proof-preview img{object-fit:contain;width:100%;max-height:420px;display:block}.realization-proof-file{min-height:128px;color:var(--text-muted);text-align:center;justify-content:center;align-items:center;gap:10px;padding:18px;display:flex}.realization-proof-card>.form-error{border-top:1px solid var(--border);border-radius:0;margin:0}.realization-proof-groups{gap:10px;display:grid}.realization-proof-group{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.realization-proof-group>strong{min-width:90px;font-size:13px}.realization-form-top{grid-template-columns:minmax(180px,1fr) minmax(0,2fr) minmax(180px,1fr);align-items:start;gap:16px;display:grid}.realization-empty{border:1px dashed var(--border-strong);color:var(--text-muted);text-align:center;border-radius:10px;padding:32px 20px}.realization-items{gap:12px;display:grid}.realization-items-heading{justify-content:space-between;align-items:end;gap:12px;margin:4px 0;display:flex}.realization-items-heading h3{margin:0 0 4px;font-size:16px}.realization-items-heading p{color:var(--text-muted);margin:0;font-size:13px}.realization-items-heading>span{color:var(--text-muted);white-space:nowrap;font-size:13px}.realization-items-heading>span strong{color:var(--text)}.realization-item-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;min-width:0;overflow:hidden}.realization-item-card.is-complete{background:var(--surface-2)}.realization-item-picker{gap:8px;display:grid}.realization-item-option{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:9px;grid-template-columns:18px 28px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:12px 14px;display:grid}.realization-item-option:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.realization-item-option input{width:16px;height:16px;accent-color:var(--primary);margin:0}.realization-item-option.is-complete{color:var(--text-muted);background:var(--surface-2);cursor:not-allowed}.realization-item-option.is-complete input{cursor:not-allowed}.realization-item-head{background:var(--surface-2);align-items:center;gap:12px;padding:14px 16px;display:flex}.realization-item-number{background:var(--primary-soft);height:28px;color:var(--primary);border-radius:7px;flex:0 0 28px;place-items:center;font-size:13px;font-weight:700;display:grid}.realization-item-title{flex:1;gap:3px;min-width:0;display:grid}.realization-item-title strong{overflow-wrap:anywhere;font-size:14px}.realization-item-title small{color:var(--text-muted);font-size:12px}.realization-item-remaining{color:var(--text-muted);white-space:nowrap;font-size:12px}.realization-item-remaining strong{color:var(--text);font-size:14px;display:block}.realization-item-fields{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px;padding:16px;display:grid}.realization-item-fields .form-group{min-width:0;margin:0}.realization-shared-proof{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:16px}.realization-shared-proof h3{margin:0 0 4px;font-size:15px}.realization-shared-proof p{color:var(--text-muted);margin:0 0 12px;font-size:13px}.realization-shared-proof .realization-upload{background:var(--surface)}@media (width<=640px){.realization-form-top,.realization-item-fields{grid-template-columns:1fr}.realization-items-heading{flex-direction:column;align-items:start}.realization-item-head{flex-wrap:wrap;align-items:start}.realization-item-remaining{flex-basis:100%;padding-left:40px}.realization-item-remaining strong{display:inline}.realization-item-option{grid-template-columns:18px 28px minmax(0,1fr)}.realization-item-option .realization-item-remaining{grid-column:3;padding-left:0}.realization-proof-card-header{flex-direction:column;align-items:flex-start}}textarea.form-control{resize:vertical;min-height:80px}.form-hint{color:var(--text-muted);margin-top:5px;font-size:12px}.form-error{color:var(--danger);margin-top:5px;font-size:12px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=640px){.form-row{grid-template-columns:1fr}}.table-wrap{background:var(--surface);border:1px solid var(--border);box-shadow:none;border-radius:8px;overflow:auto}table.data-table,table.table{border-collapse:collapse;text-align:left;width:100%;font-size:13.5px}.data-table thead th,.table thead th,.table-wrap table thead th{text-align:left;color:var(--text);text-transform:none;letter-spacing:.01em;background:var(--primary-soft);border-bottom:1px solid var(--border);white-space:nowrap;z-index:1;padding:12px 18px;font-size:13px;font-weight:700;position:sticky;top:0}.data-table tbody td,.table tbody td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:14px 18px}.data-table tbody tr:last-child td,.table tbody tr:last-child td{border-bottom:none}.data-table tbody tr,.table tbody tr{transition:background .12s}.data-table tbody tr:hover,.table tbody tr:hover{background:var(--primary-soft)}.data-table .actions,td .actions,.actions{flex-wrap:nowrap;align-items:center;gap:6px;display:inline-flex}.data-table td .btn:not(.btn-icon),table td .btn:not(.btn-icon){border-radius:7px;padding:5px 10px;font-size:12.5px}.data-table td .btn.btn-icon,table td .btn.btn-icon,.actions .btn-icon,.budget-line .btn-icon{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px!important;justify-content:center!important;align-items:center!important;width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;transition:all .18s cubic-bezier(.4,0,.2,1)!important;display:inline-flex!important}.data-table td .btn-icon svg,table td .btn-icon svg,.actions .btn-icon svg,.budget-line .btn-icon svg{stroke-width:2.1px!important;width:18px!important;height:18px!important;transition:transform .15s!important}.actions .btn-icon:hover:not(:disabled),.data-table td .btn.btn-icon:hover:not(:disabled),.budget-line .btn-icon:hover:not(:disabled){transform:translateY(-2px)}.actions .btn-icon[title*=Lihat],.actions .btn-icon[title*=Detail],.actions .btn-icon[title*=Preview],.data-table td .btn.btn-icon[title*=Lihat],.data-table td .btn.btn-icon[title*=Detail],.data-table td .btn.btn-icon[title*=Preview]{color:#2563eb!important;background:#eff6ff!important;border-color:#bfdbfe!important}.actions .btn-icon[title*=Lihat]:hover,.actions .btn-icon[title*=Detail]:hover,.actions .btn-icon[title*=Preview]:hover,.data-table td .btn.btn-icon[title*=Lihat]:hover,.data-table td .btn.btn-icon[title*=Detail]:hover,.data-table td .btn.btn-icon[title*=Preview]:hover{color:#1d4ed8!important;background:#dbeafe!important;border-color:#93c5fd!important;box-shadow:0 3px 8px #2563eb40!important}.actions .btn-icon[title*=Edit],.actions .btn-icon[title*=Ubah],.data-table td .btn.btn-icon[title*=Edit],.data-table td .btn.btn-icon[title*=Ubah]{color:#d97706!important;background:#fffbe6!important;border-color:#fde68a!important}.actions .btn-icon[title*=Edit]:hover,.actions .btn-icon[title*=Ubah]:hover,.data-table td .btn.btn-icon[title*=Edit]:hover,.data-table td .btn.btn-icon[title*=Ubah]:hover{color:#b45309!important;background:#fef3c7!important;border-color:#fcd34d!important;box-shadow:0 3px 8px #d9770640!important}.actions .btn-icon[title*=Hapus],.actions .btn-icon[title*=Delete],.data-table td .btn.btn-icon[title*=Hapus],.data-table td .btn.btn-icon[title*=Delete],.budget-line .btn-icon[title*=Hapus],.budget-line .btn-icon[title*=Delete]{color:#dc2626!important;background:#fef2f2!important;border-color:#fecaca!important}.actions .btn-icon[title*=Hapus]:hover:not(:disabled),.actions .btn-icon[title*=Delete]:hover:not(:disabled),.data-table td .btn.btn-icon[title*=Hapus]:hover:not(:disabled),.data-table td .btn.btn-icon[title*=Delete]:hover:not(:disabled),.budget-line .btn-icon[title*=Hapus]:hover:not(:disabled),.budget-line .btn-icon[title*=Delete]:hover:not(:disabled){color:#b91c1c!important;background:#fee2e2!important;border-color:#fca5a5!important;box-shadow:0 3px 8px #dc262640!important}.budget-line .btn-icon[title*=Hapus]:disabled,.budget-line .btn-icon[title*=Delete]:disabled,.actions .btn-icon[title*=Hapus]:disabled,.actions .btn-icon[title*=Delete]:disabled,.data-table td .btn.btn-icon[title*=Hapus]:disabled,.data-table td .btn.btn-icon[title*=Delete]:disabled{color:#dc2626!important;opacity:.38!important;box-shadow:none!important;cursor:not-allowed!important;background:#fef2f2!important;border-color:#fecaca!important;transform:none!important}.actions .btn-icon[title*=Assign],.actions .btn-icon[title*=Tipe],.actions .btn-icon[title*=Departemen]:not([title*=Edit]):not([title*=Hapus]):not([title*=Delete]):not([title*=Lihat]),.actions .btn-icon[title*=Unit]:not([title*=Edit]):not([title*=Hapus]):not([title*=Delete]):not([title*=Lihat]),.actions .btn-icon[title*=Kategori]:not([title*=Edit]):not([title*=Hapus]):not([title*=Delete]):not([title*=Lihat]),.data-table td .btn.btn-icon[title*=Assign],.data-table td .btn.btn-icon[title*=Tipe],.data-table td .btn.btn-icon[title*=Departemen]:not([title*=Edit]):not([title*=Hapus]):not([title*=Delete]):not([title*=Lihat]),.data-table td .btn.btn-icon[title*=Unit]:not([title*=Edit]):not([title*=Hapus]):not([title*=Delete]):not([title*=Lihat]),.data-table td .btn.btn-icon[title*=Kategori]:not([title*=Edit]):not([title*=Hapus]):not([title*=Delete]):not([title*=Lihat]){background:var(--primary-soft)!important;border-color:var(--border-strong)!important;color:var(--primary)!important}.actions .btn-icon[title*=Assign]:hover,.actions .btn-icon[title*=Tipe]:hover,.actions .btn-icon[title*=Departemen]:not([title*=Edit]):not([title*=Hapus]):not([title*=Delete]):not([title*=Lihat]):hover,.actions .btn-icon[title*=Unit]:not([title*=Edit]):not([title*=Hapus]):not([title*=Delete]):not([title*=Lihat]):hover,.actions .btn-icon[title*=Kategori]:not([title*=Edit]):not([title*=Hapus]):not([title*=Delete]):not([title*=Lihat]):hover,.data-table td .btn.btn-icon[title*=Assign]:hover,.data-table td .btn.btn-icon[title*=Tipe]:hover,.data-table td .btn.btn-icon[title*=Departemen]:not([title*=Edit]):not([title*=Hapus]):not([title*=Delete]):not([title*=Lihat]):hover,.data-table td .btn.btn-icon[title*=Unit]:not([title*=Edit]):not([title*=Hapus]):not([title*=Delete]):not([title*=Lihat]):hover,.data-table td .btn.btn-icon[title*=Kategori]:not([title*=Edit]):not([title*=Hapus]):not([title*=Delete]):not([title*=Lihat]):hover{background:var(--primary-soft-hover)!important;border-color:var(--border-strong)!important;color:var(--primary-hover)!important;box-shadow:0 3px 8px #07598529!important}.data-table td.empty,table td.empty{text-align:center;color:var(--text-muted);padding:36px 18px;font-size:14px}.card>.table-wrap{box-shadow:none;border:none;border-radius:0}.card{overflow:hidden}.table tbody td code{background:var(--surface-2);border-radius:4px;padding:2px 6px;font-size:12px}.badge{border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.5;display:inline-flex}.badge-success{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.badge-danger{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.badge-warning{color:#b45309;background:#fef3c7;border:1px solid #fde68a}.badge-info{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.badge-neutral{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.badge-primary{background:var(--primary-soft);color:var(--primary-hover);border:1px solid var(--border-strong)}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#0f172a7a;justify-content:center;align-items:center;padding:20px;animation:.2s cubic-bezier(.16,1,.3,1) fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:18px;width:100%;max-width:540px;max-height:90vh;animation:.22s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto;box-shadow:0 20px 25px -5px #00000026,0 8px 10px -6px #0000001a,0 0 0 1px #e2e8f0cc}.modal.modal-lg{max-width:1120px}.budget-heading,.maintenance-card-head,.budget-section-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.budget-heading{margin-bottom:20px}.budget-kicker,.page-section-kicker{color:var(--brand-blue);letter-spacing:.1em;margin:0 0 4px;font-size:11px;font-weight:800}.budget-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.budget-stats-three{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-empty{text-align:center;color:var(--text-muted);padding:42px}.budget-export-description{color:var(--text-muted);margin:0 0 18px;font-size:13px;line-height:1.5}.budget-export-action{margin-left:auto}.budget-form-intro{background:#edf7fb;border:1px solid #cbe6f1;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;padding:16px 18px;display:flex}.budget-form-intro>div:first-child strong,.budget-form-intro>div:first-child>span{display:block}.budget-form-intro>div:first-child>span{color:var(--text-muted);margin-top:2px;font-size:13px}.budget-total-chip{text-align:right;min-width:0}.budget-total-chip small{color:var(--text-muted);display:block}.budget-total-chip .auto-fit-text{color:var(--brand-blue);font-size:17px;font-weight:700}.budget-form-section{border-bottom:1px solid var(--border);margin:0 0 22px;padding:0 0 22px}.budget-form-section:last-child{border:0;margin-bottom:0;padding-bottom:0}.budget-form-section h3{margin:0 0 14px;font-size:15px}.budget-form-section p{color:var(--text-muted);margin:3px 0 0;font-size:12px}.budget-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px;display:grid}.budget-form-grid .form-group{min-width:0}.budget-period-picker{position:relative}.budget-period-trigger{text-align:left;cursor:pointer;background:var(--surface);justify-content:space-between;align-items:center;gap:12px;display:flex}.budget-period-trigger svg{flex:none}.budget-period-popover{z-index:20;border:1px solid var(--border);background:var(--surface);border-radius:12px;width:min(100%,440px);padding:12px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 30px #0f172a29}.budget-period-year{margin-bottom:10px}.budget-period-months{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.budget-period-months button{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text);cursor:pointer;border-radius:9px;padding:8px 10px}.budget-period-months button:hover{background:var(--surface-2)}.budget-period-months button.selected{border-color:var(--brand-blue);background:var(--brand-blue);color:#fff}.budget-period-months button:focus-visible{outline:2px solid var(--brand-blue);outline-offset:2px}.budget-memo-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.budget-memo-period,.budget-memo-date,.budget-memo-subject,.budget-memo-method{grid-column:span 3}.budget-account-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.budget-account-field{min-width:0}.budget-account-heading{justify-content:space-between;align-items:center;gap:10px;min-height:48px;margin-bottom:8px;display:flex}.budget-account-heading .form-label{margin:0}.budget-account-heading .budget-mode{flex:none}.budget-account-manual{gap:0 14px;display:grid}.budget-line-table{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.budget-line-head,.budget-line{grid-template-columns:2fr .6fr 1fr 1.15fr 1.15fr 1.15fr 38px;align-items:center;gap:8px;min-width:940px;padding:9px 10px;display:grid}.budget-line-head{background:var(--surface-2);color:var(--text);text-transform:uppercase;letter-spacing:.03em;font-size:12.5px;font-weight:700}.budget-line{border-top:1px solid var(--border)}.budget-line .form-control{min-width:0;padding:8px 9px}.budget-line>div{min-width:0}.budget-line>div button.form-control{width:100%}.budget-line-total{font-family:var(--mono);text-align:right;white-space:nowrap;font-size:12px;font-weight:700}.budget-grand-total{justify-content:flex-end;gap:36px;padding:13px 12px 0;display:flex}.budget-grand-total>span{color:var(--text-muted)}.budget-grand-total .auto-fit-text{min-width:150px;font-family:var(--mono);color:var(--brand-blue);text-align:right}.budget-mode{background:var(--surface-2);border-radius:8px;padding:3px;display:inline-flex}.budget-mode button{color:var(--text-muted);border-radius:6px;padding:7px 11px;font-size:12px}.budget-mode button.active{color:var(--brand-blue);box-shadow:var(--shadow-sm);background:#fff;font-weight:700}.memo-print{color:#111827;font-size:12px}.memo-title{text-align:center;border-bottom:2px solid #1f2937;padding-bottom:10px}.memo-title h2{font-size:17px}.memo-title strong{color:#075985}.memo-meta{border:1px solid #475569;border-top:0;grid-template-columns:1fr 1fr;display:grid}.memo-meta div{border-top:1px solid #475569;grid-template-columns:125px 1fr;padding:6px 8px;display:grid}.memo-meta b{color:#334155}.memo-intro{margin:15px 0 8px}.memo-table{border-collapse:collapse;width:100%}.memo-table th,.memo-table td{vertical-align:top;border:1px solid #475569;padding:7px 6px}.memo-table th{text-align:center;background:#e2e8f0}.memo-table tfoot td{text-align:right;font-weight:800}.memo-account{gap:3px;padding:12px 0;display:grid}.memo-signatures{text-align:center;grid-template-columns:repeat(3,1fr);padding-top:40px;display:grid}.review-summary{background:var(--surface-2);border-radius:10px;gap:4px;margin-bottom:16px;padding:14px;display:grid}.review-summary span,.review-summary small{color:var(--text-muted)}.review-section{border-bottom:1px solid var(--border);margin:0 0 18px;padding:0 0 18px}.review-section h3{margin:0 0 12px;font-size:15px}.review-help{color:var(--text-muted);margin:-4px 0 10px;font-size:12px}.review-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0;display:grid}.review-budget-meta{grid-template-columns:repeat(6,minmax(0,1fr))}.review-budget-number,.review-budget-period,.review-budget-date{grid-column:span 2}.review-budget-subject,.review-budget-method{grid-column:span 3}.review-meta div{min-width:0}.review-meta-full{grid-column:1/-1}.review-meta dt{color:var(--text-muted);margin-bottom:3px;font-size:12px}.review-meta dd{overflow-wrap:anywhere;color:var(--text);margin:0;font-size:14px}.review-detail-table{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.review-detail-table table{border-collapse:collapse;width:100%;min-width:760px}.review-detail-table th,.review-detail-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:9px 8px}.review-detail-table th{background:var(--surface-2);color:var(--text);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;font-size:12.5px;font-weight:700}.review-detail-table tr:last-child td{border-bottom:0}.review-number-input{width:112px;min-width:94px}.review-empty-row{color:var(--text-muted);text-align:center!important}.review-detail-total{justify-content:flex-end;gap:36px;padding:12px 8px 0;display:flex}.review-detail-total>span{color:var(--text-muted)}.review-detail-total .auto-fit-text{min-width:150px;color:var(--brand-blue);font-family:var(--mono);text-align:right}.review-recipient{overflow-wrap:anywhere;color:var(--text);margin:0;font-size:14px}.review-decision{border-bottom:0;margin-bottom:0;padding-bottom:0}.maintenance-page{color:#202b33;width:100%;margin:0;font-family:inherit;max-width:980px!important}.maintenance-header{margin:0 0 34px}.maintenance-header h1{color:#202b33;font-family:inherit;font-size:24px;font-weight:800;line-height:1.2}.maintenance-group{width:100%}.maintenance-group>h2{color:#202b33;margin:0 0 12px;font-family:inherit;font-size:17px;font-weight:700}.maintenance-settings{background:#fff;border-top:1px solid #cdd5da;border-bottom:1px solid #cdd5da}.maintenance-setting+.maintenance-setting{border-top:1px solid #e1e6e9}.maintenance-setting-summary{grid-template-columns:minmax(240px,.9fr) minmax(0,1.5fr) 72px;align-items:center;gap:32px;min-height:78px;padding:15px 20px;display:grid}.maintenance-setting-name h3{color:#202b33;font-family:inherit;font-size:14px;font-weight:650}.maintenance-setting-name p{color:#596670;margin-top:2px;font-size:13px;line-height:1.4}.maintenance-setting-value{color:#34434d;overflow-wrap:anywhere;min-width:0;max-width:640px;font-size:13px;line-height:1.45}.maintenance-edit,.maintenance-state button{color:#0c6170;text-align:right;text-underline-offset:3px;font-family:inherit;font-size:13px;font-weight:650;text-decoration:underline}.maintenance-edit{min-width:44px;min-height:44px}.maintenance-edit:hover,.maintenance-state button:hover{color:#074650}.maintenance-state{color:#51606a;padding:22px 20px;font-size:13px}.maintenance-state button{margin-left:8px}.maintenance-editor{background:#f7f9f9;border-top:1px solid #e1e6e9;padding:22px 20px 24px}.maintenance-editor-inner{max-width:760px}.maintenance-editor-heading{gap:3px;margin-bottom:13px;display:grid}.maintenance-editor-heading strong{color:#202b33;font-size:13px;font-weight:700}.maintenance-editor-heading span{color:#596670;font-size:12px}.maintenance-options{gap:8px;max-width:700px;display:grid}.maintenance-option{grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.maintenance-option-number{color:#70808a;text-align:center;font-size:12px}.maintenance-new-option>div{align-items:center;gap:10px;display:flex}.maintenance-option .form-control,.maintenance-new-option .form-control{background:#fff;border:1px solid #a6b2b8;border-radius:4px;flex:1;min-width:0;height:44px;font-family:inherit;font-size:13px}.maintenance-option button{color:#a02d2d;text-align:right;min-width:64px;min-height:44px;font-family:inherit;font-size:13px;font-weight:600}.maintenance-option button:hover{text-decoration:underline}.maintenance-new-option{max-width:700px;margin-top:15px}.maintenance-new-option label{color:#34434d;margin-bottom:6px;font-size:13px;font-weight:650;display:block}.maintenance-new-option>div>button{color:#202b33;background:#fff;border:1px solid #87969e;border-radius:4px;min-width:75px;min-height:44px;font-family:inherit;font-size:13px;font-weight:650}.maintenance-new-option>div>button:hover{background:#eaf0f0}.maintenance-error{color:#a02d2d;margin-top:10px;font-size:13px}.maintenance-editor-actions{border-top:1px solid #d9e1e4;justify-content:flex-end;gap:10px;max-width:700px;margin-top:20px;padding-top:15px;display:flex}.maintenance-editor-actions button{border-radius:4px;min-height:44px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:650}.maintenance-editor-actions button:first-child{color:#34434d}.maintenance-editor-actions button:first-child:hover{text-decoration:underline}.maintenance-editor-actions button:last-child{color:#fff;background:#0c6170}.maintenance-editor-actions button:last-child:hover:not(:disabled){background:#074650}.maintenance-editor-actions button:disabled{opacity:.5;cursor:not-allowed}.maintenance-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.maintenance-page button:focus-visible,.maintenance-page input:focus-visible{outline-offset:2px;outline:2px solid #0c6170}@media (width<=760px){.maintenance-page{max-width:none}.budget-heading,.budget-form-intro,.budget-section-row{flex-direction:column;align-items:stretch}.budget-stats,.budget-form-grid,.budget-stats-three,.budget-account-grid{grid-template-columns:1fr}.budget-account-heading{flex-wrap:wrap;min-height:0}.budget-memo-number,.budget-memo-period,.budget-memo-date,.budget-memo-subject,.budget-memo-method{grid-column:auto}.maintenance-setting-summary{grid-template-columns:minmax(0,1fr) 56px;gap:4px 10px;padding:12px 14px}.maintenance-setting-value{grid-area:2/1}.maintenance-edit{grid-area:1/2/3}.maintenance-editor{padding:16px 14px}.maintenance-option button{min-width:52px}.maintenance-editor-actions{flex-wrap:wrap}.budget-total-chip{text-align:left}.budget-grand-total{justify-content:space-between;gap:12px}.review-meta{grid-template-columns:1fr}.review-meta-full{grid-column:auto}.review-budget-meta{grid-template-columns:1fr}.review-budget-number,.review-budget-period,.review-budget-date,.review-budget-subject,.review-budget-method{grid-column:auto}.review-detail-total{justify-content:space-between;gap:12px}.modal-overlay{padding:10px}.modal{border-radius:14px;max-height:94vh}.modal-header{padding:12px 14px}.modal-header h2{font-size:15px}.modal-body{padding:14px}.modal-footer{flex-wrap:wrap;padding:12px 14px}.budget-mode{align-self:flex-start}}@media print{body *{visibility:hidden}.modal-overlay,.modal-overlay *{visibility:visible}.modal-overlay{background:#fff;padding:0;position:static}.modal{box-shadow:none;max-width:none;max-height:none;overflow:visible}.modal-header,.modal-footer{display:none}.modal-body{padding:0}.memo-print{display:block}}.memo-print{color:#161616;width:100%;max-width:900px;margin:0 auto;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1.25}.memo-heading{text-align:center;grid-template-columns:140px minmax(0,1fr) 140px;align-items:center;min-height:56px;margin-bottom:6px;display:grid}.memo-heading-copy{text-align:center;gap:1px;display:grid}.memo-heading h1{color:#071f56;text-align:center;margin:0;font-size:16px;font-weight:800;line-height:1.1}.memo-heading-copy strong{color:#762d97;text-align:center;font-size:13px}.memo-heading-copy small{color:#a82828;text-align:center;font-size:8px;font-weight:700}.memo-logo{justify-self:start;width:100%;max-width:140px}.memo-heading-spacer{width:100%}.memo-logo img{object-fit:contain;width:100%;height:auto;display:block}.memo-logo-right img{transform:none}.memo-meta{border:1px solid #222;grid-template-columns:1fr 1fr;margin:0;display:grid}.memo-meta>div{border-bottom:1px solid #222;grid-template-columns:75px 12px minmax(0,1fr);align-items:baseline;min-width:0;padding:2px 4px;display:grid}.memo-meta>div:first-child{border-right:1px solid #222}.memo-meta>div:nth-child(n+3){grid-column:1/-1}.memo-meta>div:last-child{border-bottom:0}.memo-meta dt{font-weight:700}.memo-meta .memo-colon{text-align:center;-webkit-user-select:none;user-select:none;font-weight:700}.memo-meta dd{overflow-wrap:anywhere;min-width:0;margin:0}.memo-letter{margin:7px 1px 5px}.memo-letter p,.memo-bank-copy p{margin:0 0 3px}.memo-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:9px}.memo-table th,.memo-table td{vertical-align:top;overflow-wrap:anywhere;border:1px solid #222;padding:2px 3px}.memo-table th{color:#111;text-align:center;background:#d6d6d6}.memo-table thead th:first-child{width:3.5%}.memo-table thead th:nth-child(2){width:26%}.memo-table thead th:nth-child(3){width:5%}.memo-table thead th:nth-child(4){width:9%}.memo-table thead th:nth-child(5),.memo-table thead th:nth-child(6){width:14%}.memo-table thead th:nth-child(7){width:28.5%}.memo-table tbody td:first-child,.memo-table tbody td:nth-child(3),.memo-table tbody td:nth-child(4){text-align:center}.memo-table tbody td:nth-child(5),.memo-table tbody td:nth-child(6),.memo-table tfoot td:not(.memo-additional):not(.memo-words){text-align:right;white-space:nowrap}.memo-table tfoot th{text-align:right}.memo-table .memo-additional{text-align:left;vertical-align:middle}.memo-additional b,.memo-additional span{display:block}.memo-additional span{color:#d12222;margin-top:5px;font-weight:700}.memo-table .memo-words{text-align:left}.memo-bank-copy{margin-top:6px;font-size:9px}.memo-signature-area{margin-top:5px}.memo-date{margin:0 0 2px}.memo-signatures{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.memo-signatures>div{flex-direction:column;align-items:flex-start;min-height:91px;display:flex}.memo-signatures i{flex:1;align-items:center;width:100%;min-height:45px;display:flex}.memo-signatures i img{object-fit:contain;object-position:left center;max-width:90%;max-height:64px;display:block}.memo-signatures b{font-size:9px;text-decoration:underline}.memo-signatures strong{font-size:9px}@media print{@page{size:A4 portrait;margin:8mm}html,body,#root{width:100%;min-height:0;background:#fff!important;margin:0!important}body *{visibility:hidden!important}.modal-overlay,.modal-overlay *{visibility:visible!important}.modal-overlay{background:#fff!important;width:100%!important;padding:0!important;display:block!important;position:absolute!important;inset:0!important;overflow:visible!important}.modal{width:100%!important;max-width:none!important;max-height:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;margin:0!important;display:block!important;overflow:visible!important}.modal-header,.modal-footer{display:none!important}.modal-body{padding:0!important;overflow:visible!important}.memo-print{-webkit-print-color-adjust:exact;print-color-adjust:exact;width:100%!important;max-width:none!important;margin:0!important;font-size:9px!important;line-height:1.2!important}.memo-heading{text-align:center;grid-template-columns:130px minmax(0,1fr) 130px;min-height:48px;margin-bottom:4px}.memo-heading h1{text-align:center;font-size:15px}.memo-heading-copy strong,.memo-heading-copy small{text-align:center}.memo-heading-spacer,.memo-logo img{width:100%}.memo-meta>div{padding:1px 3px}.memo-letter{margin-top:5px}.memo-table{font-size:8px}.memo-table th,.memo-table td{padding:2px}.memo-bank-copy{font-size:8px}.memo-signatures>div{min-height:76px}.memo-signatures i{min-height:35px}}.maintenance-group-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:12px;display:flex}.maintenance-group-heading p{color:#596670;margin-top:4px;font-size:13px}.maintenance-group-count{color:#596670;white-space:nowrap;padding-bottom:2px;font-size:12px}.maintenance-table-wrap{width:100%}.maintenance-table{grid-template-columns:280px minmax(0,1fr) 72px;align-items:center;gap:24px;padding:0 20px;display:grid}.maintenance-table-head{color:#596670;letter-spacing:0;border-bottom:1px solid #cdd5da;min-height:42px;font-size:12px;font-weight:600}.maintenance-table-head span:last-child{text-align:right}.maintenance-table-row{border-bottom:1px solid #e1e6e9;min-height:74px}.maintenance-table-row:last-child{border-bottom:0}.maintenance-table-row .maintenance-setting-value{max-width:560px}.maintenance-setting-value{gap:3px;display:grid}.maintenance-value-count{color:#596670;font-size:12px}.maintenance-value-list{color:#202b33;overflow-wrap:anywhere;font-size:14px;line-height:1.45}.maintenance-value-empty{color:#70808a}.maintenance-table-row .maintenance-edit{color:#202b33;text-align:center;border:1px solid #87969e;border-radius:4px;justify-self:end;min-width:64px;min-height:44px;padding:0 10px;font-size:13px;font-weight:650;text-decoration:none}.maintenance-table-row .maintenance-edit:hover{color:#0c6170;background:#eef5f5;border-color:#0c6170}.maintenance-dialog-layer{z-index:60;background:#19252b6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.maintenance-dialog{background:#fff;border:1px solid #b9c5ca;border-radius:6px;width:min(680px,100%);max-height:min(720px,100vh - 48px);overflow:auto;box-shadow:0 14px 36px #19252b33}.maintenance-dialog-header{border-bottom:1px solid #e1e6e9;justify-content:space-between;align-items:flex-start;gap:24px;padding:22px 24px 18px;display:flex}.maintenance-dialog-kicker{color:#596670;letter-spacing:.05em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700}.maintenance-dialog-header h2{color:#202b33;font-size:18px;font-weight:700}.maintenance-dialog-close{color:#596670;width:44px;height:44px;font-size:25px;line-height:1}.maintenance-dialog-close:hover{color:#202b33}.maintenance-dialog-body{padding:22px 24px 24px}.maintenance-dialog-body .maintenance-options,.maintenance-dialog-body .maintenance-new-option{max-width:none}.maintenance-dialog-footer{border-top:1px solid #e1e6e9;justify-content:flex-end;gap:10px;padding:15px 24px;display:flex}.maintenance-dialog-footer button{border-radius:4px;min-height:44px;padding:0 15px;font-size:13px;font-weight:650}.maintenance-dialog-footer button:first-child{color:#34434d}.maintenance-dialog-footer button:first-child:hover{text-decoration:underline}.maintenance-dialog-footer button:last-child{color:#fff;background:#0c6170}.maintenance-dialog-footer button:last-child:hover:not(:disabled){background:#074650}.maintenance-dialog-footer button:disabled,.maintenance-dialog-close:disabled{cursor:not-allowed;opacity:.5}@media (width<=760px){.maintenance-table{grid-template-columns:minmax(0,1fr) 56px;gap:4px 10px;padding:12px 14px}.maintenance-table-head{display:none}.maintenance-table-row{min-height:0;padding-top:14px;padding-bottom:14px}.maintenance-table-row .maintenance-setting-value{grid-area:2/1}.maintenance-table-row .maintenance-edit{grid-area:1/2/3}.maintenance-dialog-layer{padding:12px}.maintenance-dialog{max-height:calc(100vh - 24px)}.maintenance-dialog-header,.maintenance-dialog-body,.maintenance-dialog-footer{padding-left:16px;padding-right:16px}}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-header h2{color:var(--text);letter-spacing:-.01em;font-size:18px;font-weight:700}.modal-body{padding:24px}.modal-footer{background:#f8fafc;border-top:1px solid #f1f5f9;border-radius:0 0 18px 18px;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.modal-close{width:32px;height:32px;color:var(--text-muted);border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.modal-close:hover{color:var(--text);background:#f1f5f9;transform:scale(1.05)}.empty-state{text-align:center;color:var(--text-muted);padding:48px 20px}.empty-state svg{opacity:.4;margin:0 auto 12px}.empty-state p{font-size:14px}.page-title{margin-bottom:4px;font-size:24px;font-weight:700}.page-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:14px}.muted{color:var(--text-muted)}.text-right{text-align:right}.text-center{text-align:center}.mono{font-family:var(--mono);white-space:nowrap}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.payment-page-heading{color:#fff;background:linear-gradient(135deg,#172554 0%,#1e3a8a 55%,#0f766e 100%);border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin:0 0 clamp(16px,2.5vw,28px);padding:clamp(18px,2.5vw,28px) clamp(18px,3vw,32px);display:flex;box-shadow:0 14px 30px #1e40af29}.payment-page-heading .page-title{color:#fff;margin-bottom:5px}.payment-page-heading .page-subtitle{color:#ffffffb8;margin:0}.payment-eyebrow{letter-spacing:.13em;color:#a5f3fc;margin-bottom:7px;font-size:11px;font-weight:700}.payment-heading-mark{color:#ccfbf1;border:1px solid #ffffff52;border-radius:16px;place-items:center;width:58px;height:58px;font-size:22px;font-weight:700;display:grid}.payment-search-card{width:100%;margin:0 0 clamp(16px,2vw,24px);padding:clamp(16px,2.5vw,24px)}.payment-filter-grid{grid-template-columns:minmax(230px,1.5fr) repeat(3,minmax(135px,1fr));align-items:end;gap:12px;display:grid}.payment-filter-search{min-width:0}.payment-filter-grid.unit-scoped{grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(150px,1fr))}.payment-reset-filter{color:var(--primary);margin-top:10px;padding-left:0}.payment-filter-result{border-top:1px solid var(--border);color:var(--text-muted);margin-top:14px;padding-top:12px;font-size:12px}.payment-scope-label{color:var(--primary);font-weight:600}.payment-card-intro{align-items:center;gap:12px;margin-bottom:20px;display:flex}.payment-card-intro h2{margin-bottom:3px;font-size:17px}.payment-card-intro p{color:var(--text-muted);font-size:13px}.payment-card-icon{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:11px;place-items:center;font-size:25px;font-weight:700;display:grid}.selected-student-chip{align-items:center;gap:10px;font-size:14px;display:flex}.selected-student-chip small{color:var(--text-muted);margin-top:3px;font-size:12px;display:block}.student-avatar-small{background:var(--primary-soft);width:36px;height:36px;color:var(--primary-hover);border-radius:10px;place-items:center;font-weight:700;display:grid}.payment-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.5vw,16px);width:100%;margin:0 0 clamp(16px,2vw,24px);display:grid}.payment-summary-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-left:4px solid;border-radius:10px;padding:16px 18px}.payment-summary-card>span,.payment-summary-card>small{color:var(--text-muted);font-size:12px;display:block}.payment-summary-card .payment-summary-value{letter-spacing:-.02em;margin:7px 0 4px;font-size:18px;font-weight:700;display:block}.payment-summary-card.blue{border-left-color:#2563eb}.payment-summary-card.blue .payment-summary-value{color:#1d4ed8}.payment-summary-card.green{border-left-color:#16a34a}.payment-summary-card.green .payment-summary-value{color:#15803d}.payment-summary-card.red{border-left-color:#dc2626}.payment-summary-card.red .payment-summary-value{color:#b91c1c}.payment-detail-card{width:100%;margin:0;overflow:hidden}.payment-tabs{border-bottom:1px solid var(--border);background:var(--surface-2);gap:4px;padding:10px 12px 0;display:flex}.payment-tabs button{color:var(--text-muted);border-bottom:3px solid #0000;align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:600;display:flex}.payment-tabs button span{font-family:var(--mono);color:var(--text-soft);font-size:11px}.payment-tabs button.active{color:var(--primary-hover);border-bottom-color:var(--primary);background:var(--surface)}.payment-tabs button.active span{color:var(--primary)}@media (width<=700px){.payment-filter-grid,.payment-summary-grid{grid-template-columns:1fr}.payment-page-heading{padding:20px}.payment-heading-mark{display:none}.payment-tabs{overflow-x:auto}.payment-tabs button{white-space:nowrap}}@media (width<=560px){.payment-page-heading{border-radius:0 0 14px 14px}.payment-search-card,.payment-summary-grid,.payment-detail-card{width:100%}}.user-select{width:100%;position:relative}.user-select-trigger{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding-right:10px;display:flex!important}.user-select-trigger.open{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.user-select-placeholder{color:var(--text-soft)}.user-select-value{color:var(--text)}.user-select-item.us-first{color:var(--primary);font-weight:500}.user-select-dropdown{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);flex-direction:column;max-height:280px;display:flex;position:absolute;top:100%;left:0;right:0;overflow:hidden}.user-select-search{border-bottom:1px solid var(--border);padding:6px 12px;position:relative}.user-select-search .ss-icon{color:var(--text-soft);display:flex;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.user-select-search input{background:0 0;border:none;border-radius:0;outline:none;width:100%;padding:5px 0 5px 30px;font-size:14px}.user-select-search input:focus{box-shadow:none;border:none}.user-select-list{flex:1;overflow-y:auto}.user-select-item{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:14px;transition:background .1s;display:flex}.user-select-item:hover{background:var(--surface-2)}.user-select-item.selected{background:var(--primary-soft);color:var(--primary-hover);font-weight:600}.user-select-item .us-name{font-size:14px}.user-select-item .us-sub{color:var(--text-muted);white-space:nowrap;font-size:12px}.user-select-empty{text-align:center;color:var(--text-muted);padding:20px;font-size:13px}.create-header{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.create-header .back-btn{flex-shrink:0;margin-top:4px}.create-header .create-titles{min-width:0}@keyframes toast-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.toast-item{animation:.22s toast-in}.date-range-picker-wrapper{position:relative}.date-picker-trigger{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;align-items:center;gap:10px;min-width:250px;height:42px;padding:10px 14px;font-size:14px;transition:all .2s;display:flex}.date-picker-trigger:hover{border-color:var(--brand-blue);box-shadow:0 0 0 3px #07598524}.date-picker-trigger svg:first-child{color:var(--brand-blue);flex-shrink:0}.date-picker-trigger span{text-align:left;flex:1}.date-picker-trigger svg:last-child{color:#999;flex-shrink:0}.date-picker-dropdown{z-index:1000;background:#fff;border:1px solid #e0e0e0;border-radius:12px;width:max-content;min-width:380px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.date-picker-tabs{background:#f8f9fa;border-bottom:1px solid #e9ecef;gap:0;display:flex}.tab-btn{color:#666;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s}.tab-btn:hover{color:#333;background:#ffffff80}.tab-btn.active{color:var(--brand-blue);border-bottom-color:var(--brand-blue);background:#fff;font-weight:600}.date-picker-content{padding:20px}.quick-selector{background:#f8f9fa;border-radius:8px;gap:8px;margin-bottom:16px;padding:4px;display:flex}.selector-btn{color:#666;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.selector-btn:hover{color:#333}.selector-btn.active{color:var(--brand-blue);background:#fff;font-weight:600;box-shadow:0 1px 2px #0000001a}.year-navigation{justify-content:flex-start;align-items:center;gap:0;width:max-content;min-height:36px;margin-bottom:8px;display:flex}.year-navigation .nav-btn{width:28px;min-height:36px;color:var(--text);border-radius:5px;flex:0 0 28px;place-items:center;padding:0;transition:background-color .15s,color .15s;display:grid}.year-navigation .nav-btn:hover{background:var(--surface-2);color:var(--brand-blue)}.year-range-label{min-width:0;color:var(--text);font-variant-numeric:tabular-nums;text-align:left;white-space:nowrap;margin:0 4px;font-size:14px;font-weight:500}.quick-grid{gap:8px;display:grid}.year-grid{grid-template-columns:repeat(5,1fr)}.month-grid{grid-template-columns:repeat(3,1fr)}.quick-grid-item{cursor:pointer;text-align:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:12px 8px;font-size:14px;font-weight:500;transition:all .2s}.quick-grid-item:hover{border-color:var(--brand-blue);background:#07598514;transform:translateY(-1px)}.quick-grid-item.selected{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue);box-shadow:0 2px 4px #0000001a}.quick-grid-item.current{position:relative}.quick-grid-item.current:not(.selected){border-color:var(--brand-blue);color:var(--brand-blue);font-weight:600}.year-selector{margin-bottom:16px}.year-selector .form-control{width:100%;font-weight:500}.budget-finalize-confirmation{gap:16px;display:grid}.budget-finalize-period{border:1px solid var(--border-strong);background:var(--primary-soft);border-radius:10px;align-items:center;gap:12px;padding:14px 16px;display:flex}.budget-finalize-period-icon{border:1px solid var(--border-strong);background:var(--surface);width:40px;height:40px;color:var(--brand-blue);border-radius:9px;flex:none;place-items:center;display:grid}.budget-finalize-period-label{color:var(--text-muted);margin-bottom:3px;font-size:12px;display:block}.budget-finalize-period strong{color:var(--text);font-size:16px;font-weight:650}.budget-finalize-confirmation>p{color:var(--text-muted);margin:0;line-height:1.55}.budget-period-finalized{color:#475569;white-space:nowrap;cursor:help;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.custom-date-inputs{flex-direction:column;gap:14px;display:flex}.custom-date-inputs-row{justify-content:center;align-items:flex-end;gap:10px;display:flex}.date-input-group{flex-direction:column;gap:6px;display:flex}.date-input-group label{color:#888;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.date-input-group .form-control{box-sizing:border-box;width:116px;padding:7px 6px 7px 10px;font-size:13px}.date-input-group .form-control::-webkit-calendar-picker-indicator{cursor:pointer;margin-left:4px;padding:0}.date-separator{color:#bbb;justify-content:center;align-items:center;padding-bottom:8px;font-size:18px;font-weight:300;line-height:1;display:flex}.custom-date-inputs .btn{border-radius:8px;width:100%;padding:10px 16px}.year-picker-simple .year-picker-input{align-items:center;gap:10px;display:flex}.year-picker-simple svg{color:var(--primary)}@media (width<=768px){.date-picker-dropdown{min-width:320px;left:50%;right:auto;transform:translate(-50%)}.date-picker-trigger{min-width:100%}.custom-date-inputs{flex-direction:column;align-items:stretch}.date-separator{display:none}}.maintenance-page{color:#202b33;width:100%;margin:0;max-width:1120px!important}.maintenance-header{border-bottom:0;margin:0 0 28px;padding-bottom:0}.maintenance-header h1{letter-spacing:-.01em;font-size:26px;font-weight:700}.maintenance-header p{color:#596670;margin-top:6px;font-size:14px}.maintenance-workspace{background:#fff;border:1px solid #d2e0e7;border-radius:10px;grid-template-columns:246px minmax(0,1fr);min-height:470px;display:grid;overflow:hidden;box-shadow:0 6px 18px #183d580f}.maintenance-nav{background:#f4f8fa;border-right:1px solid #d5dde0;padding:22px 0 26px}.maintenance-nav-heading{color:#596670;letter-spacing:.04em;text-transform:uppercase;padding:0 20px;font-size:11px;font-weight:700}.maintenance-nav-group{color:#202b33;margin:24px 20px 8px;font-size:12px;font-weight:700}.maintenance-nav-item{color:#34434d;text-align:left;border:0;border-radius:8px;gap:3px;width:100%;min-height:58px;margin:3px 8px;padding:10px 14px 10px 16px;transition:background-color .15s,color .15s;display:grid}.maintenance-nav-item span{font-size:14px;font-weight:650}.maintenance-nav-item small{color:#70808a;font-size:12px}.maintenance-nav-item:hover{color:#075985;background:#eef6fa}.maintenance-nav-item.active{color:#075985;background:#e5f2f8;border-left:0}.maintenance-nav-item.active small{color:#3f718b}.maintenance-detail{background:#fff;min-width:0}.maintenance-detail-header{border-bottom:1px solid #e1e6e9;justify-content:space-between;align-items:flex-start;gap:24px;padding:26px 32px 22px;display:flex}.maintenance-detail-kicker{color:#596670;margin-bottom:6px;font-size:12px}.maintenance-detail-header h2{font-size:20px;font-weight:700}.maintenance-detail-header p:last-child{color:#596670;max-width:620px;margin-top:5px;font-size:13px;line-height:1.45}.maintenance-detail-count{color:#596670;flex:none;padding-top:3px;font-size:12px}.maintenance-detail .maintenance-editor{background:#fff;border:0;padding:28px 32px 30px}.maintenance-detail .maintenance-editor-heading{max-width:700px;margin-bottom:16px}.maintenance-detail .maintenance-editor-heading h3{color:#202b33;font-size:14px;font-weight:700}.maintenance-detail .maintenance-editor-heading p{color:#596670;margin-top:3px;font-size:12px}.maintenance-detail .maintenance-options,.maintenance-detail .maintenance-new-option,.maintenance-detail .maintenance-subject-rows{max-width:700px}.maintenance-detail .maintenance-options{flex-wrap:wrap;align-items:center;gap:7px;max-width:760px;display:flex}.maintenance-detail .maintenance-option{background:#f5f9fb;border:1px solid #c2d5df;border-radius:999px;align-items:center;gap:7px;width:auto;min-height:34px;padding:5px 6px 5px 12px;display:inline-flex;box-shadow:0 1px 2px #19435b0d}.maintenance-detail .maintenance-option-value{overflow-wrap:anywhere;color:#244c63;max-width:300px;font-size:13px;font-weight:500;line-height:1.25}.maintenance-detail .maintenance-option-code-value{color:#526674;font-family:var(--mono);overflow-wrap:anywhere;border-left:1px solid #c2d5df;padding-left:7px;font-size:12px}.maintenance-detail .maintenance-subject-rows{gap:8px;margin-top:14px;display:grid}.maintenance-detail .maintenance-option-heading,.maintenance-detail .maintenance-option-input-row{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) 30px;align-items:center;gap:10px;display:grid}.maintenance-detail .maintenance-option-heading{color:#526674;font-size:12px;font-weight:650}.maintenance-detail .maintenance-option-input-row .form-control,.maintenance-detail .maintenance-new-option .form-control{background:#fff;border:1px solid #b8cbd6;border-radius:8px;flex:1;min-width:0;height:42px;font-size:13px;transition:border-color .15s,box-shadow .15s,background-color .15s}.maintenance-detail .maintenance-option-input-row .form-control:hover,.maintenance-detail .maintenance-new-option .form-control:hover{background:#fbfdfe;border-color:#73a8c2}.maintenance-detail .maintenance-option-input-row .form-control:focus,.maintenance-detail .maintenance-new-option .form-control:focus{border-color:#1979a6;outline:0;box-shadow:0 0 0 3px #1979a624}.maintenance-detail .maintenance-option-code{font-family:var(--mono);letter-spacing:.02em;font-size:12px}.maintenance-detail .maintenance-option button,.maintenance-detail .maintenance-option-input-row button{color:#6a7c86;text-align:center;background:0 0;border-radius:50%;place-items:center;width:22px;min-width:22px;height:22px;min-height:22px;padding:0;font-size:18px;line-height:1;transition:background-color .15s,color .15s;display:inline-grid}.maintenance-detail .maintenance-option button:hover,.maintenance-detail .maintenance-option-input-row button:hover{color:#b42318;background:#feeceb;text-decoration:none}.maintenance-detail .maintenance-new-option{margin-top:12px}.maintenance-detail .maintenance-new-option>div{gap:10px;display:flex}.maintenance-detail .maintenance-new-option>div>button,.maintenance-detail .maintenance-add-subject{color:#075985;background:#f5fafc;border:1px solid #9eb8c6;border-radius:8px;min-width:76px;min-height:42px;font-size:13px;font-weight:650}.maintenance-detail .maintenance-add-subject{margin-top:14px;padding:0 14px}.maintenance-detail .maintenance-new-option>div>button:hover,.maintenance-detail .maintenance-add-subject:hover{background:#e5f2f8;border-color:#1979a6}.maintenance-detail .maintenance-storage-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:700px;display:grid}.maintenance-storage-fields label{color:#34434d;gap:7px;min-width:0;font-size:13px;font-weight:650;display:grid}.maintenance-storage-fields label small{color:#596670;min-height:34px;font-size:12px;font-weight:400;line-height:1.4}.maintenance-detail .maintenance-storage-fields .form-control{color:#202b33;border:1px solid #b8cbd6;border-radius:8px;height:44px;font-size:14px}.maintenance-detail .maintenance-storage-fields .form-control:hover{background:#fbfdfe;border-color:#73a8c2}.maintenance-detail .maintenance-storage-fields .form-control:focus{border-color:#1979a6;outline:0;box-shadow:0 0 0 3px #1979a624}.maintenance-upload-heading{margin:28px 0 14px}.maintenance-upload-heading h4{color:#202b33;margin:0;font-size:14px}.maintenance-upload-heading p{color:#596670;margin:4px 0 0;font-size:12px}.maintenance-upload-policies{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:700px;display:grid}.maintenance-upload-policy{border:1px solid #d4e1e8;border-radius:8px;align-content:start;gap:10px;min-width:0;padding:16px;display:grid}.maintenance-upload-policy h5{color:#202b33;margin:0;font-size:13px}.maintenance-upload-policy>label,.maintenance-upload-policy legend{color:#34434d;font-size:12px;font-weight:650}.maintenance-upload-policy .form-control{width:100%;max-width:130px;height:42px}.maintenance-upload-policy fieldset{border:0;flex-wrap:wrap;gap:8px 16px;margin:4px 0 0;padding:0;display:flex}.maintenance-upload-policy legend{margin-bottom:8px}.maintenance-upload-policy fieldset label{color:#34434d;align-items:center;gap:7px;min-height:44px;font-size:13px;display:inline-flex}.maintenance-upload-policy fieldset input{accent-color:#1979a6;width:18px;height:18px}@media (width<=700px){.maintenance-upload-policies{grid-template-columns:1fr}}.maintenance-detail-footer{background:#fafbfb;border-top:1px solid #d5dde0;justify-content:flex-end;gap:12px;padding:17px 32px;display:flex}.maintenance-detail-footer button{border-radius:8px;min-height:44px;padding:0 15px;font-size:13px;font-weight:650}.maintenance-detail-footer button:first-child{color:#34434d}.maintenance-detail-footer button:first-child:hover:not(:disabled){color:#075985;background:#eef5f8;text-decoration:none}.maintenance-detail-footer button:last-child{color:#fff;background:#0064b2}.maintenance-detail-footer button:last-child:hover:not(:disabled){background:#005493}.maintenance-detail-footer button:disabled,.maintenance-detail .maintenance-new-option button:disabled,.maintenance-detail .maintenance-option button:disabled{cursor:not-allowed;opacity:.5}.maintenance-detail input:focus-visible,.maintenance-detail button:focus-visible,.maintenance-nav-item:focus-visible{outline-offset:2px;outline:2px solid #0c6170}@media (width<=760px){.maintenance-page{max-width:none!important}.maintenance-workspace{grid-template-columns:1fr}.maintenance-nav{border-bottom:1px solid #d5dde0;border-right:0;padding-bottom:12px}.maintenance-nav-group{margin-top:16px}.maintenance-nav-item{min-height:50px}.maintenance-detail .maintenance-options{display:flex}.maintenance-detail .maintenance-option-heading,.maintenance-detail .maintenance-option-input-row{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) 30px;gap:7px}.maintenance-detail .maintenance-storage-fields{grid-template-columns:1fr;gap:15px}.maintenance-storage-fields label small{min-height:0}.maintenance-detail-header,.maintenance-detail .maintenance-editor,.maintenance-detail-footer{padding-left:18px;padding-right:18px}.maintenance-detail-header{gap:12px}.maintenance-detail-footer{flex-wrap:wrap}}.review-budget-meta{align-items:stretch;gap:10px 12px}.review-budget-meta>div{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;flex-direction:column;justify-content:center;gap:5px;min-height:68px;padding:10px 13px;display:flex}.review-budget-meta dt{color:var(--text-muted);margin:0;font-size:11px;line-height:1.35}.review-budget-meta dd{color:var(--text);overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.4}.report-table-heading{padding:14px 18px}.report-table-heading h2{color:var(--text);margin:0;font-size:15px;font-weight:700}.report-budget-card{box-shadow:none;border-radius:0;margin-left:0;margin-right:16px;overflow:visible}.report-table-shell{width:calc(100% + 32px);position:relative}.report-table-wrap{box-shadow:none;border-radius:0;margin-right:32px;overflow:auto}.report-budget-table{table-layout:fixed;width:100%;min-width:1750px;font-size:12px}.report-budget-table thead th{border-radius:0;padding:10px 12px}.report-budget-table tbody td{overflow-wrap:anywhere;padding:10px 12px;font-size:12px}.report-budget-table td.mono{white-space:nowrap}.report-budget-table .report-number-heading,.report-budget-table .report-number-cell{width:1.8%;padding-left:6px;padding-right:4px}.report-budget-table .report-number-cell{white-space:nowrap}.report-budget-table thead th:nth-child(2),.report-budget-table tbody td:nth-child(2){padding-left:6px;padding-right:6px}.report-add-gutter{pointer-events:none;width:0;height:0;position:static}.report-row-add{z-index:3;border:1px solid var(--border-strong);background:var(--surface);width:24px;height:24px;color:var(--primary);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;place-items:center;transition:opacity .12s,background .12s,border-color .12s;display:inline-grid;position:absolute;left:-24px;transform:translateY(-50%)}.report-row-add.is-visible,.report-row-add:focus-visible,.report-row-add[aria-expanded=true]{opacity:1;pointer-events:auto}.report-row-add:hover,.report-row-add[aria-expanded=true]{border-color:var(--primary);background:var(--primary-soft)}.report-row-add:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.report-insert-row>td{background:var(--surface);padding:0!important}.report-insert-form{background:var(--surface);border-radius:0;padding:10px 0;position:relative}.report-insert-grid{grid-template-columns:1.3fr repeat(11,8.9727fr);align-items:end;gap:0;min-width:1750px;display:grid}.report-insert-spacer{min-width:0}.report-insert-computed{min-width:0;min-height:38px;color:var(--text-muted);font-family:var(--font-mono,monospace);white-space:nowrap;justify-content:flex-end;align-items:center;padding:0 18px;font-size:12px;display:flex}.report-field{min-width:0;color:var(--text-muted);gap:5px;font-size:12px;font-weight:600;display:grid;position:relative}.report-field>label{line-height:1.2}.report-insert-grid>.report-field{padding:0 4px}.report-insert-grid>.report-field:nth-child(2){padding-left:6px;padding-right:6px}.report-insert-grid .form-control{border:0;border-bottom:2px solid #9ca3af;border-radius:0;min-width:0;height:auto;min-height:28px;padding:2px 4px 3px;font-size:11px;font-weight:400}.report-insert-grid .form-control:focus{box-shadow:none;border-bottom-width:3px;border-bottom-color:#9ca3af}.report-insert-grid textarea.form-control{resize:none;overflow-wrap:anywhere;word-break:break-all;white-space:pre-wrap;width:100%;line-height:1.4;overflow:hidden}.report-searchable-select .form-control{gap:6px;width:100%;line-height:1.4}.report-searchable-select .form-control span,.report-searchable-select>div button span{overflow-wrap:anywhere;min-width:0;text-overflow:clip!important;white-space:normal!important;overflow:visible!important}.report-searchable-select svg{width:12px;height:12px}.report-searchable-select>div button{font-weight:400}.report-searchable-select>div{min-width:210px}.report-insert-actions{z-index:4;grid-template-rows:repeat(2,minmax(0,1fr));width:26px;height:44px;display:grid;position:absolute;right:8px}.report-action-icon{width:26px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:0;place-items:center;display:grid}.report-action-icon svg{width:18px;height:18px}.report-action-cancel,.report-action-icon.report-action-cancel:hover:not(:disabled){color:var(--danger);background:0 0}.report-action-icon:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.report-action-icon:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.report-action-icon:disabled{cursor:not-allowed;opacity:.55}.report-action-save{color:var(--primary);background:0 0}.report-action-save:hover:not(:disabled){color:var(--primary-hover);background:0 0}.asset-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.asset-toolbar-filters{flex-wrap:wrap;flex:920px;gap:12px;min-width:0;display:flex}.asset-toolbar-filter{flex:1 1 0;min-width:160px}.asset-toolbar-action{flex:none;margin-left:auto}@media (width<=760px){.asset-toolbar-filters>div{flex-basis:100%!important}.asset-toolbar-filter{flex-basis:calc(50% - 6px)}.review-budget-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.review-budget-number,.review-budget-period,.review-budget-date,.review-budget-subject,.review-budget-method{grid-column:span 1}.report-insert-grid{min-width:1750px}}@media (width<=480px){.review-budget-meta{grid-template-columns:minmax(0,1fr)}.review-budget-number,.review-budget-period,.review-budget-date,.review-budget-subject,.review-budget-method{grid-column:auto}}
