@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/jakarta-regular.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/jakarta-light.woff2)format("woff2");font-style:normal;font-weight:300;font-display:swap}:root{--primary:#144c3e;--primary-deep:#103e32;--text:#203a30;--muted:#56665d;--surface:#f5f7f6;--paper:#fff;--tint:#e8f0ec;--border:#d8e1dc;--warning:#94651b;--warning-tint:#fbf2dc;--error:#a62c35;--error-tint:#fff1f1;color:var(--text);font-synthesis:weight;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#eef2ef;font-family:Plus Jakarta Sans,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit;border-radius:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{-webkit-appearance:none;appearance:none;cursor:pointer}button:disabled{cursor:default;opacity:.5}button,input{max-width:100%}a{color:var(--primary)}button:focus-visible{outline:3px solid var(--warning);outline-offset:3px}a:focus-visible{outline:3px solid var(--warning);outline-offset:3px}input:focus-visible{outline:3px solid var(--warning);outline-offset:3px}select:focus-visible{outline:3px solid var(--warning);outline-offset:3px}textarea:focus-visible{outline:3px solid var(--warning);outline-offset:3px}summary:focus-visible{outline:3px solid var(--warning);outline-offset:3px}main:focus-visible{outline:3px solid var(--warning);outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3,strong{font-weight:600}h1{letter-spacing:-.045em;font-size:26px;line-height:1.3}h2{letter-spacing:-.03em;font-size:20px;line-height:1.4}h3{letter-spacing:-.015em;font-size:16px;line-height:1.5}p{overflow-wrap:anywhere}img{max-width:100%;display:block}.icon{fill:currentColor;vertical-align:middle;flex:none;width:22px;height:22px}.app-container{min-height:100vh;justify-content:center;min-height:100dvh;display:flex}.app-shell{width:100%;max-width:480px;height:100vh;background:var(--paper);height:100dvh;min-height:0;padding-top:env(safe-area-inset-top,0px);border-inline:1px solid var(--border);flex-direction:column;display:flex;position:relative;overflow:hidden}.screen{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#b8cbbf transparent;flex:1;min-width:0;min-height:0;padding:24px 20px 28px;overflow-y:auto}.screen>:last-child{margin-bottom:0}.screen:only-child{padding-bottom:max(28px, env(safe-area-inset-bottom,0px))}.centered{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}.centered .app-logo{width:64px;height:64px}.skip-link{z-index:30;background:var(--paper);border:1px solid var(--primary);padding:12px 16px;font-weight:600;position:absolute;top:8px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.app-logo{object-fit:contain;flex:none;width:38px;height:38px}.topbar{border-bottom:1px solid var(--border);background:var(--paper);flex:none;align-items:center;gap:12px;min-height:72px;padding:10px 16px 10px 20px;display:flex}.topbar h1{letter-spacing:-.025em;flex:1;min-width:0;font-size:16px;line-height:1.45}.icon-button{background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:48px;height:48px;padding:12px;display:inline-flex}.topbar>.icon-button:first-child{margin-left:-12px}.icon-button:hover{background:var(--surface)}.bottom-nav{min-height:76px;padding:4px 8px max(7px, env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--paper);flex:none;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.bottom-nav a{min-width:0;min-height:64px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 1px 6px;font-size:10px;line-height:1.4;text-decoration:none;display:flex;position:relative}.bottom-nav a .icon{width:23px;height:23px}.bottom-nav a[aria-current=page]{color:var(--primary);background:var(--tint);font-weight:600}.bottom-nav a[aria-current=page]:before{content:"";background:var(--primary);height:2px;position:absolute;top:-5px;left:14px;right:14px}.bottom-nav a:hover{background:var(--surface);color:var(--primary)}.bottom-nav a:focus-visible{outline-offset:-3px}.button{text-align:center;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;width:100%;min-height:50px;padding:12px 16px;font-size:13px;font-weight:600;line-height:1.55;text-decoration:none;display:inline-flex}.button-primary{color:var(--paper);background:var(--primary);border-color:var(--primary)}.button-primary:hover:not(:disabled){background:var(--primary-deep)}.button-secondary{color:var(--primary);background:var(--paper);border-color:var(--border)}.button-secondary:hover:not(:disabled){background:var(--tint);border-color:var(--primary)}.button-quiet{color:var(--error);background:0 0}.button-quiet:hover:not(:disabled){background:var(--error-tint)}.text-button{min-height:48px;color:var(--primary);text-underline-offset:4px;background:0 0;border:0;justify-content:center;align-items:center;padding:8px 0;font-size:13px;font-weight:600;line-height:1.5;text-decoration:underline;display:inline-flex}.text-button:hover{color:var(--primary-deep)}.subtle{color:var(--muted);font-size:12px;line-height:1.7}.section-title{letter-spacing:-.025em;margin:26px 0 10px;font-size:16px;line-height:1.5}section:first-child>.section-title:first-child{margin-top:6px}.welcome{margin-bottom:24px}.welcome p{color:var(--muted);font-size:13px}.welcome .welcome-title{letter-spacing:-.045em;overflow-wrap:anywhere;margin:3px 0 7px;font-size:26px;line-height:1.3}.welcome>span{color:var(--muted);font-size:11px}.avatar{background:var(--tint);width:42px;height:42px;color:var(--primary);letter-spacing:-.02em;flex:none;place-items:center;font-size:13px;font-weight:600;display:inline-grid}.avatar-large{width:58px;height:58px;font-size:18px}.avatar-calon{color:var(--warning);background:var(--warning-tint)}.row-copy{text-align:left;flex:1;min-width:0;display:block}.row-copy strong{overflow-wrap:anywhere;font-size:14px;line-height:1.5;display:block}.row-copy small{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:11px;line-height:1.6;display:block}.child-switch{border:0;border-block:1px solid var(--border);background:var(--paper);text-align:left;align-items:center;gap:12px;width:100%;min-height:80px;margin-bottom:20px;padding:14px 0;display:flex}.child-switch>.icon{width:18px;height:18px;color:var(--muted)}.child-switch:hover .row-copy strong{color:var(--primary)}.institution-picker{flex-wrap:wrap;gap:8px;margin:-4px 0 20px;display:flex}.institution-picker button{border:1px solid var(--border);background:var(--paper);min-width:58px;min-height:48px;color:var(--muted);padding:10px 16px;font-size:12px}.institution-picker button[aria-pressed=true]{background:var(--tint);border-color:var(--primary);color:var(--primary);font-weight:600}.home-hero{background:var(--primary);color:var(--paper);margin:4px 0 25px;padding:23px 20px 7px}.hero-label{color:#dcebe1;align-items:center;gap:8px;font-size:11px;display:flex}.hero-label .icon{width:18px;height:18px}.home-hero h2{letter-spacing:-.04em;overflow-wrap:anywhere;margin-top:13px;font-size:23px;line-height:1.4}.home-hero p{color:#dcebe1;margin-top:12px;font-size:12px;line-height:1.8}.hero-link{width:100%;min-height:52px;color:var(--paper);text-align:left;background:0 0;border:0;border-top:1px solid #ffffff40;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:10px 0;font-size:12px;font-weight:600;display:flex}.hero-link:hover{color:#e6f2df}.hero-link:focus-visible{outline-color:#f6d375}.hero-link .icon{width:18px;height:18px}.family-summary{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 24px;display:grid}.family-summary>div{background:var(--paper);flex-direction:column;gap:1px;padding:13px 12px;display:flex}.family-summary strong{color:var(--primary);letter-spacing:-.035em;font-size:22px;line-height:1.25}.family-summary span{color:var(--muted);font-size:11px;line-height:1.5}.family-summary>.subtle{background:var(--surface);grid-column:1/-1;margin:0;padding:8px 12px;font-size:10px}.attention-card{border-top:1px solid var(--border);padding:16px 0}.attention-card:last-of-type{border-bottom:1px solid var(--border)}.attention-card strong{font-size:14px;line-height:1.5;display:block}.attention-card p{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.75}.attention-card .text-button{margin-top:2px}.list{border-top:1px solid var(--border)}.list-row{border:0;border-bottom:1px solid var(--border);background:var(--paper);text-align:left;align-items:center;gap:12px;width:100%;min-height:78px;padding:15px 0;display:flex}.row-icon{background:var(--surface);width:40px;height:40px;color:var(--primary);flex:none;place-items:center;display:inline-grid}.row-icon .icon{width:21px;height:21px}.list-row>.icon:last-child{width:17px;height:17px;color:var(--muted)}.list-row>input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);flex:none}.tagihan-amount{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:3px;display:flex}.tagihan-amount strong{white-space:nowrap;font-size:13px;line-height:1.5}.tagihan-amount small{color:var(--muted);font-size:10px;line-height:1.5}.list-row:hover .row-copy strong,.child-card:hover .row-copy strong{color:var(--primary)}.child-card{border:0;border-bottom:1px solid var(--border);background:var(--paper);text-align:left;align-items:center;gap:12px;width:100%;min-height:100px;padding:17px 0;display:flex}.child-card>.icon{width:19px;height:19px;color:var(--primary)}.badge{background:var(--tint);width:-moz-fit-content;width:fit-content;max-width:100%;color:var(--primary);vertical-align:middle;border:1px solid #c5d9cd;padding:3px 7px;font-size:10px;font-weight:600;line-height:1.6;display:inline-flex}.row-copy .badge{margin-top:7px}.badge-warning{background:var(--warning-tint);color:#805613;border-color:#ead7ac}.page-intro{padding:6px 0 25px}.page-intro>.avatar,.page-intro>.empty-icon{margin-bottom:17px}.page-intro h2{margin-bottom:6px;font-size:24px}.page-intro p{color:var(--muted);font-size:13px;line-height:1.8}.page-intro>.badge{margin-top:13px}.account-card{grid-template-columns:58px minmax(0,1fr);align-items:center;column-gap:16px;margin-bottom:25px;display:grid}.account-card>.avatar{grid-row:1/3}.account-card h2{overflow-wrap:anywhere;align-self:end;font-size:21px}.account-card p{color:var(--muted);align-self:start;font-size:12px}.key-values{margin:0 0 25px}.key-values>div{border-top:1px solid var(--border);grid-template-columns:minmax(80px,.7fr) minmax(0,1.3fr);gap:14px;padding:14px 0;display:grid}.key-values>div:last-child{border-bottom:1px solid var(--border)}.key-values dt{color:var(--muted);font-size:12px}.key-values dd{overflow-wrap:anywhere;margin:0;font-size:12px}.install-button{margin-top:24px}.install-button+.button{margin-top:9px}.registration-card{border-top:1px solid var(--border);padding:19px 0}.registration-card h3{overflow-wrap:anywhere;margin:5px 0}.registration-card p{color:var(--muted);margin-bottom:10px;font-size:12px}.registration-card:last-of-type{border-bottom:1px solid var(--border)}.agenda-card{background:var(--paper);border:0;border-top:1px solid var(--border);text-align:left;width:100%;padding:19px 0;display:block}.agenda-card:last-of-type{border-bottom:1px solid var(--border)}.agenda-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.agenda-card-head .icon{width:17px;height:17px;color:var(--muted)}.agenda-card-title{letter-spacing:-.015em;overflow-wrap:anywhere;margin:5px 0;font-size:16px;font-weight:600;line-height:1.5;display:block}.agenda-card-meta{color:var(--muted);margin-bottom:10px;font-size:12px;display:block}.agenda-card:hover .agenda-card-title{color:var(--primary)}.nilai-filter{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 14px;display:grid}.nilai-filter .field{margin-bottom:14px}.nilai-ringkasan{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 0 22px;display:grid}.nilai-ringkasan>div{background:var(--paper);flex-direction:column;gap:2px;min-width:0;padding:11px 10px;display:flex}.nilai-ringkasan strong{color:var(--primary);letter-spacing:-.03em;font-size:18px;line-height:1.3}.nilai-ringkasan span{color:var(--muted);font-size:10px;line-height:1.5}.nilai-list{border-top:1px solid var(--border)}.nilai-card{border-bottom:1px solid var(--border);padding:18px 0}.nilai-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px;display:flex}.nilai-card-head>.badge{flex:none;margin-top:2px}.nilai-komponen{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;margin-bottom:14px;display:grid}.nilai-sel{flex-direction:column;gap:5px;min-width:0;display:flex}.nilai-sel-label{overflow-wrap:anywhere;font-size:11px;font-weight:600;line-height:1.5}.nilai-sel-label small{color:var(--muted);font-weight:400}.nilai-input{background:var(--paper);width:100%;min-height:48px;color:var(--text);text-align:right;border:1px solid #aebfb4;padding:10px 12px;font-size:16px;line-height:1.5}.nilai-input:hover:not(:disabled){border-color:var(--primary)}.nilai-input:disabled{color:var(--muted);background:var(--surface)}.nilai-input[aria-invalid=true]{border-color:var(--error)}.nilai-baca{border:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:10px 12px;display:flex}.nilai-baca strong{font-size:16px}.nilai-baca small{color:var(--muted);text-align:right;font-size:10px}.nilai-akhir{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) 110px;align-items:center;gap:6px 12px;padding-top:14px;display:grid}.nilai-akhir-label{font-size:13px;font-weight:600}.nilai-akhir>small{color:var(--muted);grid-column:1/-1;font-size:10px;line-height:1.6}.nilai-akhir>.nilai-status,.nilai-akhir>.nilai-error,.nilai-akhir>.nilai-ulang{grid-column:2;justify-self:end}.nilai-status{color:var(--muted);font-size:10px;line-height:1.5;display:block}.nilai-status-ok{color:var(--primary);font-weight:600}.nilai-status-error{color:var(--error);font-weight:600}.nilai-error{color:var(--error);font-size:10px;line-height:1.6;display:block}.nilai-ulang{min-height:48px;padding:0;font-size:11px}.nilai-helper{color:var(--warning);margin:8px 0 0;font-size:10px;line-height:1.7}.document-list{border-top:1px solid var(--border)}.document-row{border-bottom:1px solid var(--border);grid-template-columns:40px minmax(0,1fr);align-items:start;column-gap:12px;padding:16px 0;display:grid}.document-row .row-icon{grid-row:1/2}.document-row .row-copy{grid-column:2}.document-row .badge{grid-column:2;margin-top:8px}.document-actions{flex-wrap:wrap;grid-column:2;gap:4px 22px;margin-top:4px;display:flex}.document-actions .text-button{justify-content:flex-start}.document-row .form-error{grid-column:2;margin:6px 0 0}.help-item{border-top:1px solid var(--border)}.help-item:last-of-type{border-bottom:1px solid var(--border)}.help-item summary{cursor:pointer;min-height:60px;padding:17px 3px;font-size:13px;font-weight:600}.help-item p{color:var(--muted);padding:0 3px 19px;font-size:12px;line-height:1.8}.empty-state{flex-direction:column;align-items:flex-start;padding:24px 0;display:flex}.empty-icon{background:var(--tint);width:54px;height:54px;color:var(--primary);place-items:center;display:inline-grid}.empty-icon .icon{width:27px;height:27px}.empty-state h2{margin-top:21px;font-size:23px;line-height:1.4}.empty-state>p{color:var(--muted);margin-top:11px;font-size:13px;line-height:1.85}.empty-state>.button{margin-top:25px}.notice{background:var(--tint);color:var(--primary);border-left:2px solid var(--primary);align-items:flex-start;gap:10px;margin:20px 0;padding:14px;font-size:12px;line-height:1.8;display:flex}.notice .icon{width:18px;height:18px;margin-top:2px}.notice-warning{border-color:var(--warning);background:var(--warning-tint);color:#805613;flex-wrap:wrap}.notice-warning>span{flex:180px}.notice-warning .text-button{color:#805613;min-height:48px;margin-block-start:-8px;margin-block-end:-8px;padding:0 4px}.offline-banner{color:#805613;background:var(--warning-tint);border-bottom:1px solid #ead7ac;flex:none;align-items:flex-start;gap:9px;padding:12px 20px;font-size:11px;line-height:1.7;display:flex}.offline-banner .icon{width:18px;height:18px;margin-top:1px}.update-notice{padding:14px 20px max(10px, env(safe-area-inset-bottom,0px));background:var(--tint);border-top:2px solid var(--primary);flex:none;font-size:12px}.update-notice>strong{font-size:13px;display:block}.update-notice>p{color:var(--muted);margin-top:4px;line-height:1.7}.notice-actions{gap:25px;display:flex}.notice-actions .text-button{justify-content:flex-start;min-width:64px}.update-notice [role=alert]{color:var(--error)}.auth-screen{padding-top:30px}.auth-brand{align-items:center;gap:13px;margin-bottom:39px;display:flex}.auth-brand .app-logo{width:55px;height:55px}.auth-brand>span{letter-spacing:-.025em;max-width:170px;font-size:16px;font-weight:600;line-height:1.5}.auth-intro{margin-bottom:28px}.auth-intro h1{letter-spacing:-.055em;font-size:32px;line-height:1.3}.auth-intro .auth-subheading{letter-spacing:-.045em;font-size:26px;line-height:1.3}.auth-intro p{max-width:34ch;color:var(--muted);margin-top:13px;font-size:13px;line-height:1.8}.auth-intro>.empty-icon{margin-bottom:22px}.field{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.field>span{font-size:12px;font-weight:600}.field input,.field select{background:var(--paper);-webkit-appearance:none;appearance:none;border:1px solid #aebfb4;width:100%;min-height:52px;padding:13px 14px;font-size:16px;line-height:1.5}.field input::placeholder{color:#718277;opacity:1;font-size:13px}.field input:hover:not(:disabled),.field select:hover:not(:disabled){border-color:var(--primary)}.field input:disabled,.field select:disabled{color:var(--muted);background:var(--surface)}.field input[aria-invalid=true]{border-color:var(--error)}.field textarea{background:var(--paper);resize:vertical;border:1px solid #aebfb4;width:100%;min-height:84px;padding:13px 14px;font-size:16px;line-height:1.5}.field textarea:hover:not(:disabled){border-color:var(--primary)}.field textarea:disabled{color:var(--muted);background:var(--surface)}.field input[type=file]{padding:10px;font-size:12px}.field small{color:var(--muted);font-size:11px}.form-error{border-left:2px solid var(--error);background:var(--error-tint);color:var(--error);margin:0 0 18px;padding:12px 14px;font-size:12px;line-height:1.8}form>.button{margin-top:4px}.auth-help{margin:13px auto 0;display:flex}.auth-actions{justify-content:space-between;gap:16px;margin-top:18px;display:flex}.auth-footer{border-top:1px solid var(--border);color:var(--muted);align-items:flex-start;gap:9px;margin-top:23px;padding-top:21px;font-size:10px;line-height:1.8;display:flex}.auth-footer .icon{flex:none;width:17px;height:17px}.loading-state{color:var(--muted);padding:5px 0;font-size:12px}.loading-state>span{margin-top:7px;display:inline-block}.skeleton{background:linear-gradient(100deg, var(--surface) 25%, #e5ede7 45%, var(--surface) 65%);background-size:250% 100%;height:72px;margin-bottom:20px;animation:1.6s ease-in-out infinite skeleton-pulse}.skeleton-large{height:215px}@keyframes skeleton-pulse{to{background-position:-170% 0}}.dialog-backdrop{z-index:20;padding-top:max(24px, env(safe-area-inset-top,0px));background:#142f27a6;justify-content:center;align-items:flex-end;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.dialog{overscroll-behavior-y:contain;width:100%;min-height:120px;max-height:92%;padding:12px 20px max(24px, env(safe-area-inset-bottom,0px));background:var(--paper);border-top:3px solid var(--primary);overflow-y:auto;box-shadow:0 -8px 30px #142f271c}.dialog>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.dialog>header h2{flex:1;min-width:0;font-size:20px}.dialog>header .icon-button{margin-right:-10px}.dialog>p{color:var(--muted);margin-bottom:18px;font-size:13px;line-height:1.8}.dialog>.button+.button{margin-top:10px}.dialog .section-title{margin-top:18px}.dialog .child-card .avatar-large{width:48px;height:48px;font-size:16px}.dialog .child-card:last-child{border-bottom:0}@media (min-width:481px){.app-shell{box-shadow:0 0 60px #183a2510}.screen{padding-inline-start:28px;padding-inline-end:28px}.topbar{padding-left:28px;padding-right:24px}.auth-screen{padding-top:38px}.auth-brand{margin-bottom:48px}.auth-intro h1{font-size:35px}}@media (max-width:360px){.screen{padding-inline-start:18px;padding-inline-end:18px}.topbar{padding-left:18px;padding-right:12px}.topbar h1{font-size:15px}.auth-intro h1{font-size:29px}.auth-brand{margin-bottom:31px}.home-hero{padding-inline-start:17px;padding-inline-end:17px}.home-hero h2{font-size:21px}.row-copy strong{font-size:13px}.child-card{gap:10px}.child-card .avatar-large{width:50px;height:50px;font-size:16px}.bottom-nav{padding-inline-start:4px;padding-inline-end:4px}}@media (max-height:680px){.auth-screen{padding-top:20px}.auth-brand{margin-bottom:25px}.auth-intro{margin-bottom:22px}.auth-footer{margin-top:14px;padding-top:15px}}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--tint);animation:none}}@media (forced-colors:active){.bottom-nav a[aria-current=page],.institution-picker button[aria-pressed=true]{outline-offset:-3px;outline:2px solid buttontext}.button,.avatar,.empty-icon{border:1px solid buttontext}}.keuangan-summary{background:var(--primary);color:var(--paper);border-left:3px solid var(--primary-deep);margin:0 0 18px;padding:19px 20px}.keuangan-summary>span{color:#dcebe1;font-size:11px;display:block}.keuangan-summary>strong{letter-spacing:-.045em;font-variant-numeric:tabular-nums;margin:4px 0;font-size:28px;line-height:1.2;display:block}.keuangan-summary>small{color:#dcebe1;font-size:11px;display:block}.keuangan-tabs{border:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin-bottom:14px;display:grid}.keuangan-tabs button{background:var(--paper);min-height:48px;color:var(--muted);border:0;font-size:12px;font-weight:600}.keuangan-tabs button+button{border-left:1px solid var(--border)}.keuangan-tabs button[aria-pressed=true]{background:var(--tint);color:var(--primary)}.keuangan-filter{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.keuangan-filter label{color:var(--muted);flex-direction:column;gap:5px;font-size:10px;font-weight:600;display:flex}.keuangan-filter select{background:var(--paper);width:100%;min-height:48px;color:var(--text);border:1px solid #aebfb4;padding:8px 10px;font-size:12px}.keuangan-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.keuangan-section-head .section-title{margin-bottom:0}.keuangan-section-head .text-button{flex:none}.tagihan-list,.pembayaran-list{border-top:1px solid var(--border)}.tagihan-row,.pembayaran-row{border:0;border-bottom:1px solid var(--border);background:var(--paper);text-align:left;align-items:center;gap:12px;width:100%;min-height:76px;padding:14px 0;display:flex}.tagihan-row-main,.pembayaran-row-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.tagihan-row-main strong,.pembayaran-row-main strong{overflow-wrap:anywhere;font-size:13px;line-height:1.45}.tagihan-row-main small,.pembayaran-row-main small{color:var(--muted);font-size:11px;line-height:1.6}.tagihan-row-amount,.pembayaran-row-amount{flex-direction:column;flex:none;align-items:flex-end;gap:4px;max-width:44%;display:flex}.tagihan-row-amount strong,.pembayaran-row-amount strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.tagihan-row-amount small{color:var(--warning);font-size:10px}.tagihan-row>.icon,.pembayaran-row>.icon{width:18px;height:18px;color:var(--muted)}.tagihan-row:hover,.pembayaran-row:hover{background:var(--surface)}.pembayaran-row-lama{cursor:default}.tagihan-detail-head{border-bottom:1px solid var(--border);margin-bottom:5px;padding:0 0 18px}.tagihan-detail-head h2{overflow-wrap:anywhere;margin:4px 0 7px;font-size:24px}.tagihan-detail-head strong{letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:28px}.kwitansi-sheet{border:1px solid var(--border);background:var(--paper);padding:20px}.kwitansi-head{border-bottom:2px solid var(--primary);align-items:center;gap:12px;padding-bottom:16px;display:flex}.kwitansi-head .app-logo{width:48px;height:48px}.kwitansi-head div{flex-direction:column;gap:2px;display:flex}.kwitansi-head strong{font-size:13px;line-height:1.5}.kwitansi-head span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.kwitansi-no{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:14px 0 4px;font-size:12px;font-weight:600}.kwitansi-sheet .key-values dd{font-variant-numeric:tabular-nums}.receipt-actions{flex-direction:column;gap:9px;margin-top:18px;display:flex}.receipt-actions .button{margin-top:0}.receipt-status{border-left:2px solid var(--primary);background:var(--tint);color:var(--primary);margin:10px 0 0;padding:10px 12px;font-size:12px;line-height:1.7}.receipt-status-error{border-color:var(--error);background:var(--error-tint);color:var(--error)}.cetak-opsi{border:0;gap:8px;margin:0 0 16px;padding:0;display:grid}.cetak-opsi legend{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:600}.cetak-opsi-item{border:1px solid var(--border);background:var(--paper);cursor:pointer;align-items:flex-start;gap:12px;min-height:56px;padding:12px;display:flex}.cetak-opsi-item.aktif{border-color:var(--primary);background:var(--tint)}.cetak-opsi-item input{width:20px;height:20px;accent-color:var(--primary);flex:none;margin:2px 0 0}.cetak-opsi-item span{min-width:0}.cetak-opsi-item strong{font-size:13px;line-height:1.5;display:block}.cetak-opsi-item small{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.6;display:block}.kasir-bayar-list{border-top:1px solid var(--border)}.kasir-bayar-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:16px;padding:14px 0;display:flex}.kasir-bayar-row .row-copy{flex:1;min-width:0}.kasir-bayar-row .row-copy small{display:block}.kasir-bayar-input{width:132px;color:var(--muted);flex-direction:column;flex:none;gap:4px;font-size:10px;font-weight:600;display:flex}.kasir-bayar-input input{background:var(--paper);width:100%;min-height:48px;color:var(--text);text-align:right;font-variant-numeric:tabular-nums;border:1px solid #aebfb4;padding:8px 10px;font-size:15px}.kasir-bayar-input input:hover:not(:disabled){border-color:var(--primary)}.kasir-bayar-input input[aria-invalid=true]{border-color:var(--error)}.kasir-bayar-input small{font-size:10px;font-weight:400;line-height:1.5}.kasir-konfirmasi-baris{border-top:1px solid var(--border);margin:10px 0 16px}.kasir-konfirmasi-baris>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:8px 0;font-size:12px;display:flex}.kasir-konfirmasi-baris span{overflow-wrap:anywhere;min-width:0}.kasir-konfirmasi-baris strong{font-variant-numeric:tabular-nums;flex:none}@media (max-width:400px){.kasir-bayar-row{flex-wrap:wrap}.kasir-bayar-input{width:100%}.kasir-bayar-input input{text-align:left}}.keuangan-summary-tunggakan{background:var(--primary-deep)}.aging-grid{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:18px;display:grid}.aging-card{background:var(--paper);padding:11px 12px}.aging-card span{color:var(--muted);font-size:10px;line-height:1.5;display:block}.aging-card strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:3px;font-size:13px;display:block}.aging-card-warning strong{color:var(--error)}.tunggakan-groups{margin-bottom:4px}.tunggakan-periode h3{color:var(--muted);margin:14px 0 6px;font-size:11px;font-weight:600}.tunggakan-list{border-top:1px solid var(--border)}.tunggakan-row{border:0;border-bottom:1px solid var(--border);background:var(--paper);text-align:left;align-items:center;gap:12px;width:100%;min-height:76px;padding:14px 0;display:flex}.tunggakan-row-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.tunggakan-row-main strong{overflow-wrap:anywhere;font-size:13px;line-height:1.45}.tunggakan-row-main small{color:var(--muted);font-size:11px;line-height:1.6}.tunggakan-row-amount{flex-direction:column;flex:none;align-items:flex-end;gap:4px;max-width:46%;display:flex}.tunggakan-row-amount strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.tunggakan-row>.icon{width:18px;height:18px;color:var(--muted)}.tunggakan-row:hover{background:var(--surface)}.tunggakan-row-terlambat{border-left:2px solid var(--warning);padding-left:12px}.riwayat-summary{border-bottom:1px solid var(--border);margin-bottom:8px;padding:0 0 12px}.riwayat-summary span{color:var(--muted);font-size:10px;display:block}.riwayat-summary strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:3px;font-size:24px;display:block}.riwayat-summary small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.riwayat-list{border-top:1px solid var(--border)}.riwayat-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 0;display:flex}.riwayat-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.riwayat-row-main strong{font-variant-numeric:tabular-nums;font-size:13px}.riwayat-row-main small{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.5}.riwayat-row-side{flex-direction:column;flex:none;align-items:flex-end;gap:2px;max-width:45%;display:flex}.riwayat-row-batal{opacity:.7}.presensi-month-nav{justify-content:space-between;align-items:center;gap:12px;margin:4px 0 12px;display:flex}.presensi-month-nav strong{text-align:center;flex:1;font-size:16px}.presensi-stats{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 18px;display:grid}.presensi-stats>div{background:var(--paper);padding:11px 12px}.presensi-stats dt{color:var(--muted);font-size:10px}.presensi-stats dd{color:var(--primary);font-variant-numeric:tabular-nums;margin:3px 0 0;font-size:20px;line-height:1.25}.presensi-calendar{border:1px solid var(--border);background:var(--border);margin-bottom:10px}.presensi-calendar-week,.presensi-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.presensi-calendar-week span{background:var(--surface);color:var(--muted);text-align:center;padding:8px 2px;font-size:10px}.presensi-calendar-grid{margin-top:1px}.presensi-calendar-grid>span{background:var(--paper);min-height:52px}.presensi-day{background:var(--paper);text-align:left;border:0;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;min-height:52px;padding:5px 4px;display:flex}.presensi-day strong{font-size:11px;line-height:1.2}.presensi-day small{color:var(--primary);overflow-wrap:anywhere;font-size:8px;line-height:1.25}.presensi-day-libur{background:var(--surface)}.presensi-day-libur small,.presensi-day-kosong small{color:var(--muted)}.presensi-day:hover{background:var(--tint)}.presensi-legend{color:var(--muted);flex-wrap:wrap;gap:8px 14px;margin:0 0 18px;font-size:10px;display:flex}.presensi-legend>span{align-items:center;gap:5px;display:inline-flex}.legend-dot{background:var(--primary);width:8px;height:8px;display:inline-block}.legend-sakit{background:var(--warning)}.legend-izin{background:#94651b}.legend-alpa{background:var(--error)}.legend-libur{background:var(--muted)}.legend-kosong{background:var(--border)}.presensi-session-list{border-top:1px solid var(--border);margin-bottom:16px}.presensi-session-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:12px 0;display:flex}.presensi-session-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.presensi-session-main strong{overflow-wrap:anywhere;font-size:13px;line-height:1.45}.presensi-session-main small{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.5}.perilaku-intro{padding-bottom:18px}.perilaku-list{border-top:1px solid var(--border)}.perilaku-card{border-bottom:1px solid var(--border);padding:16px 0}.perilaku-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.perilaku-head strong{overflow-wrap:anywhere;font-size:14px;line-height:1.5}.perilaku-card p{overflow-wrap:anywhere;margin-top:6px;font-size:12px;line-height:1.8}.perilaku-card .subtle{margin-top:4px}@media (min-width:400px){.presensi-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.perilaku-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pengajuan-card{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 0}.pengajuan-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.pengajuan-head small{color:var(--muted);flex:none;font-size:11px}.pengajuan-card .key-values{margin-bottom:14px}.pengajuan-card .notice{margin-bottom:12px}.pengajuan-card .button+.button{margin-top:8px}.pengajuan-ditolak,.pengajuan-dibatalkan{border-left:3px solid var(--warning);padding-left:14px}.pengajuan-disetujui{border-left:3px solid var(--primary);padding-left:14px}.konfirmasi-form{margin-top:18px}.file-terpilih{color:var(--muted);overflow-wrap:anywhere;align-items:center;gap:8px;margin:-8px 0 16px;font-size:11px;display:flex}.file-terpilih .icon{flex:none;width:16px;height:16px}@media (max-width:360px){.keuangan-filter{grid-template-columns:1fr}.tagihan-row-amount,.pembayaran-row-amount{max-width:40%}}@media (min-width:420px){.aging-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.psb-kartu{background:var(--primary);color:var(--paper);margin-bottom:4px;padding:18px 20px}.psb-kartu .subtle{color:#dcebe1}.psb-kartu h2{letter-spacing:-.035em;overflow-wrap:anywhere;margin:4px 0 6px;font-size:22px}.psb-kartu p{font-size:12px;line-height:1.7}.psb-status{flex-wrap:wrap;align-items:center;gap:10px;margin-top:13px;display:flex}.psb-status small{color:#dcebe1;font-size:11px}.psb-grup{border-top:1px solid var(--border)}.psb-grup summary{cursor:pointer;align-items:center;min-height:52px;font-size:13px;font-weight:600;display:flex}.psb-fields{padding-bottom:4px}.psb-fields .field{margin-bottom:14px}.psb-checklist{border-top:1px solid var(--border)}.psb-checklist-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:14px 0;display:flex}.psb-checklist-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.psb-checklist-info strong{font-size:13px;line-height:1.5}.psb-checklist-info small{color:var(--muted);font-size:11px;line-height:1.5}.psb-unggah{color:var(--primary);flex-direction:column;flex:none;gap:4px;font-size:11px;font-weight:600;display:flex}.psb-unggah input{max-width:150px;font-size:11px}.psb-dokumen{border-top:1px solid var(--border);margin:14px 0 0;padding:0;list-style:none}.psb-dokumen li{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding:10px 0;display:flex}.psb-dokumen strong{font-size:12px}.psb-dokumen small{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.pengajuan-kartu{padding-top:4px}.pengajuan-kartu>.notice:first-child{margin-top:0}.pengajuan-banding h3{margin:18px 0 8px;font-size:13px;line-height:1.5}.comparison{background:var(--border);border:1px solid var(--border);gap:1px;margin-bottom:20px;display:grid}.comparison>div{background:var(--paper);padding:13px 14px}.comparison span{color:var(--muted);font-size:11px;display:block}.comparison p{overflow-wrap:anywhere;margin-top:4px;font-size:14px;line-height:1.6}.pengajuan-card{border-top:1px solid var(--border);padding:16px 0}.pengajuan-card:last-child{border-bottom:1px solid var(--border)}.pengajuan-card>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.pengajuan-card>header small{color:var(--muted);text-align:right;font-size:11px;line-height:1.5}.pengajuan-card>p{overflow-wrap:anywhere;margin-top:4px;font-size:12px;line-height:1.7}.pengajuan-card .button{margin-top:14px}.pengajuan-rincian{border-top:1px solid var(--border);margin-top:10px}.pengajuan-rincian summary{cursor:pointer;align-items:center;min-height:48px;font-size:12px;font-weight:600;display:flex}.pengajuan-rincian .pengajuan-banding h3{margin-top:0}.topbar .icon-button{position:relative}.topbar-count{background:var(--primary);min-width:16px;height:16px;color:var(--paper);place-items:center;padding:0 4px;font-size:9px;font-weight:600;line-height:1;display:grid;position:absolute;top:4px;right:3px}.bottom-nav .tab-count{background:var(--primary);min-width:14px;height:14px;color:var(--paper);place-items:center;padding:0 3px;font-size:8px;font-weight:600;line-height:1;display:grid;position:absolute;top:9px;left:calc(50% + 4px)}.notifikasi-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.notifikasi-head .text-button{flex:none}.notifikasi-list{border-top:1px solid var(--border)}.notification-row{align-items:flex-start}.notification-row.is-unread{background:var(--tint)}.notification-row .row-icon{margin-top:1px}.notification-row .notice-dot{margin-top:7px}.notification-meta{color:var(--muted);font-size:11px;line-height:1.6}.notice-dot{background:var(--primary);border-radius:50%;flex:none;width:6px;height:6px;display:inline-block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.notifikasi-judul{letter-spacing:-.03em;margin-top:8px;font-size:23px;line-height:1.4}.notifikasi-isi{margin-top:12px;font-size:14px;line-height:1.85}.notifikasi-konteks{align-items:center}.notifikasi-konteks>div{min-width:0}.notifikasi-konteks p{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.6}.preference-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;min-height:64px;padding:12px 0;display:flex}.preference-row .row-copy{flex:1}.preference-row .row-copy small{color:var(--muted);font-size:11px;line-height:1.6}.preference-children{border-top:1px solid var(--border)}.preference-child{border-bottom:1px solid var(--border)}.preference-child .preference-row{border-bottom:0}.preference-child .text-button{margin:-4px 0 6px}.preference-mode{border:1px solid var(--border);border-top:0}.preference-mode-item{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;display:flex}.preference-mode-item:last-child{border-bottom:0}.preference-mode-item .row-copy{flex:1;min-width:0}.preference-mode-item input{flex:none}.toggle{-webkit-appearance:none;appearance:none;background:var(--surface);cursor:pointer;border:1px solid #aebfb4;flex:none;width:44px;height:26px;position:relative}.toggle:after{content:"";background:var(--muted);width:18px;height:18px;transition:left .15s,background .15s;position:absolute;top:3px;left:3px}.toggle:checked{background:var(--primary);border-color:var(--primary)}.toggle:checked:after{background:var(--paper);left:21px}.toggle:focus-visible{outline:3px solid var(--warning);outline-offset:3px}.preference-time{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.preference-time .field{margin-bottom:0}.preference-izin{align-items:flex-start}.preference-izin>div{min-width:0}.preference-izin p{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.6}@media print{body{background:#fff}.topbar,.bottom-nav,.offline-banner,.update-notice,.receipt-actions,.receipt-status,.child-switch,.skip-link,.kasir-kwitansi-kembali,.dialog-backdrop{display:none!important}.app-container,.app-shell{background:#fff;width:auto;max-width:none;height:auto;display:block;overflow:visible}.screen{padding:0;overflow:visible}.kwitansi-sheet{-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact;border:0;padding:0}.notice{color:var(--text);background:0 0;border:0;padding:0}html[data-cetak-kwitansi=termal-58] .kwitansi-sheet{width:54mm;font-size:8.5px;line-height:1.45}html[data-cetak-kwitansi=termal-58] .kwitansi-head{gap:2mm;padding-bottom:2mm}html[data-cetak-kwitansi=termal-58] .kwitansi-head .app-logo{width:9mm;height:9mm}html[data-cetak-kwitansi=termal-58] .kwitansi-head strong{font-size:8.5px;line-height:1.3}html[data-cetak-kwitansi=termal-58] .kwitansi-head span{letter-spacing:.04em;font-size:6.5px}html[data-cetak-kwitansi=termal-58] .kwitansi-no{margin:2mm 0 1mm;font-size:8px}html[data-cetak-kwitansi=termal-58] .key-values{margin-bottom:3mm}html[data-cetak-kwitansi=termal-58] .key-values>div{grid-template-columns:18mm minmax(0,1fr);gap:2mm;padding:1.4mm 0}html[data-cetak-kwitansi=termal-58] .key-values dt{font-size:7.5px}html[data-cetak-kwitansi=termal-58] .key-values dd{font-size:8px}html[data-cetak-kwitansi=termal-58] .section-title{margin:2mm 0 1mm;font-size:9px}html[data-cetak-kwitansi=termal-58] .subtle{font-size:7.5px;line-height:1.5}html[data-cetak-kwitansi=termal-58] .notice{margin:2mm 0 0;font-size:7.5px;line-height:1.5}html[data-cetak-kwitansi=termal-80] .kwitansi-sheet{width:74mm;font-size:10.5px;line-height:1.5}html[data-cetak-kwitansi=termal-80] .kwitansi-head{gap:3mm;padding-bottom:3mm}html[data-cetak-kwitansi=termal-80] .kwitansi-head .app-logo{width:12mm;height:12mm}html[data-cetak-kwitansi=termal-80] .kwitansi-head strong{font-size:10.5px}html[data-cetak-kwitansi=termal-80] .kwitansi-head span{font-size:7.5px}html[data-cetak-kwitansi=termal-80] .kwitansi-no{margin:2.5mm 0 1mm;font-size:9px}html[data-cetak-kwitansi=termal-80] .key-values{margin-bottom:4mm}html[data-cetak-kwitansi=termal-80] .key-values>div{grid-template-columns:24mm minmax(0,1fr);gap:3mm;padding:1.8mm 0}html[data-cetak-kwitansi=termal-80] .key-values dt{font-size:9px}html[data-cetak-kwitansi=termal-80] .key-values dd{font-size:10px}html[data-cetak-kwitansi=termal-80] .section-title{margin:3mm 0 1.5mm;font-size:11px}html[data-cetak-kwitansi=termal-80] .subtle{font-size:9px}html[data-cetak-kwitansi=termal-80] .notice{margin:3mm 0 0;font-size:9px}}.rapor-section{margin-top:28px}.rapor-actions{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.rapor-actions .notice{margin:0}.rapor-sheet{color:#111;border:1px solid var(--border);background:#fff;padding:18px 14px;font-size:11px;line-height:1.45;overflow-x:auto}.rapor-kop{text-align:center;border-bottom:2px solid #111;align-items:center;gap:10px;padding-bottom:8px;display:flex}.rapor-kop img{object-fit:contain;flex:none;width:52px;height:52px}.rapor-kop div{flex-direction:column;flex:1;display:flex}.rapor-kop strong{text-transform:uppercase;font-size:12px}.rapor-kop span{font-size:10px}.rapor-judul{text-align:center;text-transform:uppercase;margin:8px 0 2px;font-size:12px}.rapor-sementara{text-align:center;color:#555;letter-spacing:.04em;font-size:10px;font-weight:600}.rapor-identitas{border-collapse:collapse;width:100%;margin-top:6px;font-size:11px}.rapor-identitas td{vertical-align:top;padding:1px 2px}.rapor-identitas td:first-child,.rapor-identitas td:nth-child(4){width:72px}.rapor-identitas td:nth-child(2),.rapor-identitas td:nth-child(5){width:8px}.rapor-tabel{border-collapse:collapse;width:100%;margin-top:9px;font-size:11px}.rapor-tabel th,.rapor-tabel td{vertical-align:top;border:1px solid #111;padding:3px 5px}.rapor-tabel th{text-align:left;background:#eee}.rapor-tabel th:first-child,.rapor-tabel th:nth-child(3){text-align:center}.rapor-tabel td small{color:#444;font-size:9px;font-style:italic;display:block}.rapor-tengah{text-align:center}.rapor-tebal{font-weight:600}.rapor-miring{font-style:italic}.rapor-rekap td:first-child,.rapor-rekap td:nth-child(3){width:38%}.rapor-keterangan{border-top:2px dashed #111;margin-top:14px;padding-top:8px}.rapor-keterangan h3{text-transform:uppercase;margin-bottom:6px;font-size:11px}.rapor-keterangan table{border-collapse:collapse;width:100%;font-size:11px}.rapor-keterangan td{vertical-align:top;border:1px solid #111;padding:3px 5px}.rapor-keterangan td:first-child{width:38%}.rapor-keterangan ul{margin:0;padding-left:16px}.rapor-ruang-ttd{height:46px}.rapor-ttd{text-align:center;justify-content:space-between;gap:10px;margin-top:18px;font-size:10px;display:flex}.rapor-ttd div{flex-direction:column;flex:1;gap:4px;display:flex}.rapor-ttd i{border-bottom:1px solid #111;height:38px}.rapor-ttd strong{overflow-wrap:anywhere;font-weight:600}@media print{.rapor-actions{display:none!important}.rapor-sheet{border:0;padding:0;font-size:10.5px;overflow:visible}@page{size:A4 portrait;margin:10mm}}.nilai-pengiriman{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:0 0 22px;padding:16px 0}.nilai-pengiriman-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.nilai-pengiriman-head strong{margin-top:3px;font-size:18px;line-height:1.4;display:block}.nilai-pengiriman .subtle{margin-top:7px}.nilai-pengiriman-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px;display:flex}.nilai-pengiriman-actions .button{flex:180px;width:auto}.nilai-riwayat{margin-top:12px}.nilai-riwayat summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:12px;font-weight:600}.nilai-riwayat-list{margin:0;padding:0;list-style:none}.nilai-riwayat-list li{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:9px 0;font-size:11px;line-height:1.6;display:flex}.nilai-riwayat-list span,.nilai-riwayat-list small{color:var(--muted)}.nilai-riwayat-list small{overflow-wrap:anywhere}.kelas-filter{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0 14px;display:grid}.kelas-filter .field{margin-bottom:14px}.kelas-list{border-top:1px solid var(--border)}.kelas-card{border:0;border-bottom:1px solid var(--border);background:var(--paper);text-align:left;width:100%;padding:18px 0;display:block}.kelas-card:hover .row-copy strong{color:var(--primary)}.kelas-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.kelas-card-head>.badge{flex:none;margin-top:2px}.kelas-mapel{flex-wrap:wrap;gap:5px;margin-top:9px;display:flex}.kelas-chip{border:1px solid var(--border);background:var(--surface);color:var(--primary);padding:3px 7px;font-size:10px;font-weight:600;line-height:1.6}.kelas-card-foot{color:var(--muted);justify-content:space-between;align-items:center;margin-top:12px;font-size:11px;display:flex}.kelas-card-foot .icon{width:16px;height:16px}.catatan-kelas{border-top:1px solid var(--border);margin-top:26px;padding-top:18px}.catatan-kelas-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.catatan-kelas-head .section-title{margin:0}.catatan-kelas-head .button{flex:none;width:auto;min-height:44px;padding:8px 12px;font-size:12px}.catatan-kelas>.field{margin-top:12px;margin-bottom:8px}.catatan-list{border-top:1px solid var(--border)}.catatan-card{border-bottom:1px solid var(--border);padding:15px 0}.catatan-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.catatan-card h3{overflow-wrap:anywhere;margin:6px 0 4px;font-size:15px}.catatan-card>p{overflow-wrap:anywhere;font-size:12px;line-height:1.8}.catatan-tindak{background:var(--surface);margin-top:9px;padding:8px 10px}.catatan-tindak p{overflow-wrap:anywhere;margin-top:2px;font-size:11px;line-height:1.7}.catatan-actions{gap:18px;margin-top:5px;display:flex}.catatan-actions .text-button{min-height:40px;font-size:11px}.presensi-status{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:8px;padding:18px 0;display:flex}.presensi-status h2{margin-top:8px;font-size:22px}.presensi-status>p{color:var(--muted);font-size:12px;line-height:1.7}.presensi-status .badge{margin-top:3px}.presensi-form{border-top:1px solid var(--border);padding:16px 0 4px}.presensi-status .presensi-form{width:100%;margin-top:6px}.presensi-lokasi{gap:6px;margin:12px 0 16px;display:grid}.presensi-lokasi .button{width:100%}.presensi-lokasi .notice,.presensi-lokasi .form-error{margin:0}.ringkasan-grid{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:18px;display:grid}.ringkasan-grid--tiga{grid-template-columns:repeat(3,minmax(0,1fr))}.ringkasan-card{background:var(--paper);flex-direction:column;align-items:flex-start;gap:4px;min-height:108px;padding:14px 12px;display:flex}.ringkasan-card strong{color:var(--primary);margin-top:3px;font-size:18px;line-height:1.4}.ringkasan-card .badge{margin-top:auto}.ringkasan-card small{margin-top:2px}.kpi-saring{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.kpi-saring button{border:1px solid var(--border);background:var(--paper);color:var(--text);font:inherit;cursor:pointer;padding:6px 10px;font-size:13px}.kpi-saring button[aria-pressed=true]{border-color:var(--primary);color:var(--primary);font-weight:600}.kpi-saring button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.kpi-nilai{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--primary);font-weight:600}.tabel-banding-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.tabel-banding{border-collapse:collapse;width:100%;font-size:13px}.tabel-banding caption{text-align:left;margin-bottom:8px;font-size:12px}.tabel-banding th,.tabel-banding td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:9px 10px}.tabel-banding thead th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:11px}.tabel-banding tbody th{background:var(--surface);font-weight:600;position:sticky;left:0}.tabel-banding-angka{font-variant-numeric:tabular-nums;color:var(--primary);font-weight:600}.kpi-actions{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.kpi-actions .button{flex:180px;width:auto}.kpi-print-sheet{display:none}@media print{.kpi-page .kpi-screen{display:none!important}.kpi-print-sheet{color:#111;background:#fff;display:block!important}.kpi-print-sheet h2{text-align:center;text-transform:uppercase;margin:0 0 2px;font-size:14px}.kpi-print-sheet>p{text-align:center;margin:0 0 8px;font-size:10px}.kpi-print-sheet h3{text-transform:uppercase;margin:10px 0 4px;font-size:11px}.kpi-print-sheet p{font-size:10px}.kpi-tabel{border-collapse:collapse;width:100%;margin-bottom:8px;font-size:9px;line-height:1.35}.kpi-tabel th,.kpi-tabel td{vertical-align:top;border:1px solid #111;padding:3px 4px}.kpi-tabel th{text-align:left;background:#eee}.kpi-tabel th:not(:first-child):last-child,.kpi-tabel td:not(:first-child):last-child{text-align:right;font-variant-numeric:tabular-nums}.kpi-tabel thead{display:table-header-group}.kpi-tabel tr{break-inside:avoid}@page{size:A4 portrait;margin:10mm}}@media (max-width:389px){.ringkasan-grid--tiga{grid-template-columns:1fr}}.rekap-actions{flex-wrap:wrap;gap:10px;margin:0 0 18px;display:flex}.rekap-actions .button{flex:180px;width:auto}.rekap-print-sheet{display:none}@media print{.rekap-page .rekap-screen{display:none!important}.rekap-print-sheet{color:#111;background:#fff;display:block!important}.rekap-print-sheet h2{text-align:center;text-transform:uppercase;margin:0 0 2px;font-size:14px}.rekap-print-sheet>p{text-align:center;margin:0 0 8px;font-size:10px}.rekap-tabel{border-collapse:collapse;width:100%;font-size:9px;line-height:1.35}.rekap-tabel th,.rekap-tabel td{vertical-align:top;border:1px solid #111;padding:3px 4px}.rekap-tabel th{text-align:left;background:#eee}.rekap-tabel th:first-child,.rekap-tabel td:first-child,.rekap-tabel th:nth-child(4),.rekap-tabel td:nth-child(4),.rekap-tabel th:nth-child(5),.rekap-tabel td:nth-child(5),.rekap-tabel th:nth-child(6),.rekap-tabel td:nth-child(6),.rekap-tabel th:nth-child(7),.rekap-tabel td:nth-child(7){text-align:center}.rekap-tabel tfoot td{font-weight:700}@page{size:A4 portrait;margin:10mm}}
