*,:before,:after{box-sizing:border-box}:root{--bg:#fff8ef;--bg-2:#fcefe2;--surface:#fff;--surface-2:#fbf6ee;--ink:#14204c;--ink-soft:#4a557e;--muted:#8b93b0;--line:#14204c1a;--primary:#2a3fa0;--primary-2:#3b5bdb;--on-primary:#fff;--yellow:#ffd43b;--yellow-deep:#b47a00;--yellow-bg:#fff4c9;--pink:#ff6fa5;--pink-deep:#c13b72;--pink-bg:#ffdfec;--mint:#1fc7a0;--mint-deep:#0b8a6b;--mint-bg:#cff6ec;--radius-sm:12px;--radius:18px;--radius-lg:26px;--radius-pill:999px;--shadow-card:0 18px 40px -24px #14204c73;--shadow-float:0 24px 60px -28px #14204c8c;--font-display:"Fredoka", system-ui, sans-serif;--font-body:"Plus Jakarta Sans", system-ui, sans-serif;--ring:0 0 0 4px #3b5bdb2e;--maxw:1240px}html,body,#root{min-height:100svh;margin:0;padding:0}:root{--text-scale:1}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;overflow-x:hidden}#root{zoom:var(--text-scale);z-index:1;position:relative}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea{font-family:inherit}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0}p{margin:0}svg{flex-shrink:0;width:1em;height:1em}.bg-decor{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}:root[data-theme=pop]{--bg:#fff7ec;--bg-2:#ffe9d6;--surface:#fff;--surface-2:#fff6e9;--ink:#131f4a;--ink-soft:#515d86;--muted:#9aa0bc;--line:#e7e2d6;--primary:#1f2c77;--primary-2:#3b5bdb;--on-primary:#fff;--yellow:#ffce2e;--yellow-deep:#9a6a00;--yellow-bg:#fff1c2;--pink:#ff5e9c;--pink-deep:#c32c6b;--pink-bg:#ffdcea;--mint:#16c79a;--mint-deep:#097a5e;--mint-bg:#c7f4e8;--radius-sm:14px;--radius:20px;--radius-lg:28px;--card-border:2.5px solid #131f4a;--shadow-card:6px 8px 0 0 #131f4aeb;--shadow-float:10px 14px 0 0 #131f4ae6}:root[data-theme=pop] .hero{border:2.5px solid var(--ink)}:root[data-theme=pop] .shift{box-shadow:none;border-width:1.5px}:root[data-theme=pop] .clock-chip{border:2.5px solid var(--ink);box-shadow:4px 5px #131f4ae6}:root[data-theme=pop] .brand .logo{border:2.5px solid var(--ink);box-shadow:3px 4px #131f4ae6}:root[data-theme=pop] .btn--primary{box-shadow:3px 4px 0 0 var(--ink)}:root[data-theme=pop] .btn--pink{box-shadow:3px 4px 0 0 var(--pink-deep)}:root[data-theme=pop] .stat{border-width:2px}:root[data-theme=pop] .badge{border:2px solid}:root[data-theme=pop] .bg-decor{background:var(--bg)}:root[data-theme=pop] .blob{opacity:.9;position:absolute}:root[data-theme=pop] .b1{background:var(--yellow);border:2.5px solid var(--ink);border-radius:22px;width:70px;height:70px;top:8%;left:4%;transform:rotate(-12deg)}:root[data-theme=pop] .b2{background:var(--pink);border:2.5px solid var(--ink);border-radius:50%;width:54px;height:54px;top:18%;right:6%}:root[data-theme=pop] .b3{background:var(--mint);border:2.5px solid var(--ink);border-radius:50%;width:60px;height:60px;bottom:14%;left:7%}:root[data-theme=pop] .b4{background:var(--primary-2);border:2.5px solid var(--ink);border-radius:12px;width:46px;height:46px;top:46%;right:3%;transform:rotate(18deg)}:root[data-theme=pop] .b5{background:var(--yellow);border:2.5px solid var(--ink);border-radius:50%;width:38px;height:38px;bottom:8%;right:14%}:root[data-theme=pop] .b6{background:var(--pink);border:2.5px solid var(--ink);border-radius:10px;width:40px;height:40px;top:70%;left:3%;transform:rotate(-20deg)}:root[data-theme=aurora]{--bg:#f3f1ff;--bg-2:#ffe9f4;--surface:#ffffffb8;--surface-2:#ffffff8c;--ink:#1b2356;--ink-soft:#57608f;--muted:#9aa0c6;--line:#5b67b42e;--primary:#4338ca;--primary-2:#6366f1;--on-primary:#fff;--yellow:#ffd45e;--yellow-deep:#a87400;--yellow-bg:#ffd45e38;--pink:#fb6fb0;--pink-deep:#c13c84;--pink-bg:#fb6fb02e;--mint:#34d3b6;--mint-deep:#0e8c73;--mint-bg:#34d3b633;--radius-sm:14px;--radius:22px;--radius-lg:30px;--card-border:1.5px solid #fffc;--shadow-card:0 20px 50px -26px #4338ca80;--shadow-float:0 30px 70px -30px #4338ca8c}:root[data-theme=aurora] .hero,:root[data-theme=aurora] .emp-card,:root[data-theme=aurora] .clock-chip,:root[data-theme=aurora] .modal,:root[data-theme=aurora] .theme-switch,:root[data-theme=aurora] .emp-empty{-webkit-backdrop-filter:blur(18px)saturate(1.4)}:root[data-theme=aurora] .shift{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}:root[data-theme=aurora] body{background:var(--bg)}:root[data-theme=aurora] .bg-decor{background:radial-gradient(50% 50% at 12% 8%, #6366f173, transparent 70%), radial-gradient(45% 45% at 88% 14%, #fb6fb06b, transparent 70%), radial-gradient(50% 50% at 78% 88%, #34d3b661, transparent 70%), radial-gradient(40% 40% at 18% 92%, #ffd45e66, transparent 70%), var(--bg)}:root[data-theme=aurora] .blob{filter:blur(40px);opacity:.5;border-radius:50%;animation:18s ease-in-out infinite drift;position:absolute}:root[data-theme=aurora] .b1{background:#6366f1;width:340px;height:340px;top:-6%;left:-4%}:root[data-theme=aurora] .b2{background:#fb6fb0;width:300px;height:300px;animation-delay:-4s;top:4%;right:-6%}:root[data-theme=aurora] .b3{background:#34d3b6;width:320px;height:320px;animation-delay:-8s;bottom:-8%;left:10%}:root[data-theme=aurora] .b4{background:#ffd45e;width:260px;height:260px;animation-delay:-12s;bottom:2%;right:8%}:root[data-theme=aurora] .b5,:root[data-theme=aurora] .b6{display:none}@keyframes drift{0%,to{transform:translate(0)scale(1)}50%{transform:translate(30px,-24px)scale(1.08)}}:root[data-theme=aurora] .emp-card .accent-strip{opacity:.85}:root[data-theme=aurora] .badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}:root[data-theme=studio]{--bg:#f4efe6;--bg-2:#ece3d4;--surface:#fbf8f1;--surface-2:#f1eadc;--ink:#15233f;--ink-soft:#4c5872;--muted:#9a937f;--line:#15233f29;--primary:#15233f;--primary-2:#25407f;--on-primary:#fbf8f1;--yellow:#f2b705;--yellow-deep:#8a6400;--yellow-bg:#fbefc2;--pink:#ef5c8c;--pink-deep:#b23463;--pink-bg:#fbdbe6;--mint:#2ba98a;--mint-deep:#156b54;--mint-bg:#cdede2;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-pill:6px;--card-border:1.8px solid var(--ink);--shadow-card:0 10px 30px -20px #15233f99;--shadow-float:0 20px 44px -22px #15233fa6;--font-mono:"Space Mono", ui-monospace, monospace}:root[data-theme=studio] .hero,:root[data-theme=studio] .clock-chip,:root[data-theme=studio] .stat,:root[data-theme=studio] .shift,:root[data-theme=studio] .metrics,:root[data-theme=studio] .brand .logo,:root[data-theme=studio] .modal{border:1.8px solid var(--ink)}:root[data-theme=studio] .shift{box-shadow:none}:root[data-theme=studio] .badge{border:1.5px solid;border-radius:4px}:root[data-theme=studio] .btn,:root[data-theme=studio] .avatar{border-radius:6px}:root[data-theme=studio] .emp-card .accent-strip{background:repeating-linear-gradient(90deg, var(--ink) 0 8px, transparent 8px 16px);opacity:.25;height:8px}:root[data-theme=studio] .kpi-card,:root[data-theme=studio] .dash-laba-card,:root[data-theme=studio] .quick-card,:root[data-theme=studio] .inv-card,:root[data-theme=studio] .tinta-card,:root[data-theme=studio] .amplop-card,:root[data-theme=studio] .settings-card,:root[data-theme=studio] .detail-card,:root[data-theme=studio] .income-card,:root[data-theme=studio] .kal-card,:root[data-theme=studio] .auth-card{position:relative;overflow:hidden}:root[data-theme=studio] .kpi-card:before,:root[data-theme=studio] .dash-laba-card:before,:root[data-theme=studio] .quick-card:before,:root[data-theme=studio] .inv-card:before,:root[data-theme=studio] .tinta-card:before,:root[data-theme=studio] .amplop-card:before,:root[data-theme=studio] .settings-card:before,:root[data-theme=studio] .detail-card:before,:root[data-theme=studio] .income-card:not(.is-printing):before,:root[data-theme=studio] .kal-card:before,:root[data-theme=studio] .auth-card:before,:root[data-theme=studio] .thumb:after{content:"";background:repeating-linear-gradient(90deg, var(--ink) 0 8px, transparent 8px 16px);opacity:.25;pointer-events:none;z-index:2;height:8px;position:absolute;top:0;left:0;right:0}:root[data-theme=studio] .brand-text .kicker,:root[data-theme=studio] .badge,:root[data-theme=studio] .metric .k,:root[data-theme=studio] .stat .lbl,:root[data-theme=studio] .date-pill,:root[data-theme=studio] .hist-row .h-times .ht .hk,:root[data-theme=studio] .key--fn{font-family:var(--font-mono);letter-spacing:.02em}:root[data-theme=studio] .clock-chip .now,:root[data-theme=studio] .metric .v,:root[data-theme=studio] .hist-row .h-times .ht .hv{font-family:var(--font-mono)}:root[data-theme=studio] .bg-decor{background:var(--bg)}:root[data-theme=studio] .blob{display:none}:root[data-theme=studio] .bg-decor:before,:root[data-theme=studio] .bg-decor:after{content:"";background-image:repeating-linear-gradient(#0000 0 16px,#15233f1a 16px 30px);background-size:26px 46px;width:26px;position:absolute;top:0;bottom:0}:root[data-theme=studio] .bg-decor:before{left:0}:root[data-theme=studio] .bg-decor:after{right:0}@media (width<=700px){:root[data-theme=studio] .bg-decor:before,:root[data-theme=studio] .bg-decor:after{display:none}}:root[data-theme=tosca]{--bg:#cfefea;--bg-2:#a6e3db;--surface:#fff;--surface-2:#eaf8f5;--ink:#0f3a37;--ink-soft:#3e6b66;--muted:#7ca39d;--line:#0f3a371f;--primary:#ff6fa5;--primary-2:#ec4e8c;--on-primary:#fff;--yellow:#f7c948;--yellow-deep:#9a6a00;--yellow-bg:#fdf0c4;--pink:#ff6fa5;--pink-deep:#c13b72;--pink-bg:#ffe1ec;--mint:#14b8a6;--mint-deep:#0b7a6e;--mint-bg:#d6f4ef;--radius-sm:14px;--radius:20px;--radius-lg:28px;--radius-pill:999px;--shadow-card:0 18px 40px -26px #0c4d4866;--shadow-float:0 26px 60px -28px #0c4d4880}:root[data-theme=tosca] body{background:var(--bg)}:root[data-theme=tosca] .bg-decor{background:radial-gradient(820px 560px at 88% -10%, #a6e3db, transparent 58%), radial-gradient(520px 460px at 0% 100%, #ffe1ec, transparent 60%), var(--bg)}:root[data-theme=tosca] .blob{display:none}:root[data-theme=tosca] .sidebar,:root[data-theme=tosca] .app-shell:before{background:#0c4d48;border-right-color:#ffffff1f}:root[data-theme=tosca] .sidebar{--ink:#fff;--ink-soft:#eafbf8cc;--muted:#eafbf880;--surface:#ffffff14;--surface-2:#ffffff1a;--line:#ffffff1f}:root[data-theme=tosca] .sidebar-logo{background:var(--primary);color:#fff}:root[data-theme=tosca] .sidebar-brand-text .kicker{color:#5ee6d4}:root[data-theme=tosca] .sidebar .role-pill.role-admin{background:var(--primary);color:#fff}:root[data-theme=tosca] .sidebar .role-pill.role-karyawan{color:#eafbf8;background:#ffffff29}:root[data-theme=tosca] .sidebar-logout:hover{background:var(--pink);color:#fff;border-color:var(--pink)}:root[data-theme=tosca] .dash-greet{background:linear-gradient(140deg, var(--mint), #0e9c8c);--ink:#fff;--ink-soft:#ffffffd9;color:#fff}:root[data-theme=tosca] .dash-greet .date-pill{background:var(--pink);color:#fff}:root[data-theme=tosca] .clock-chip .pulse{background:var(--mint);color:#fff}:root[data-theme=oui]{--bg:#fff;--bg-2:#eaf8f7;--surface:#fff;--surface-2:#f4fbfb;--ink:#2e3360;--ink-soft:#6b7099;--muted:#a6abcb;--line:#7274ed24;--primary:#7274ed;--primary-2:#9956de;--on-primary:#fff;--yellow:#ffb356;--yellow-deep:#c97e2e;--yellow-bg:#ffe9cc;--pink:#fb96bb;--pink-deep:#e25c88;--pink-bg:#ffe2ec;--mint:#75d06a;--mint-deep:#46962f;--mint-bg:#dcf3d5;--sky:#1fa7e1;--teal:#6ed1cf;--coral:#ff8b8b;--amethyst:#9956de;--radius-sm:16px;--radius:22px;--radius-lg:28px;--radius-pill:999px;--card-border:1.5px solid #7274ed1a;--shadow-card:0 16px 30px -18px #46488c4d;--shadow-float:0 26px 50px -24px #46488c61;--font-display:"Nunito", system-ui, sans-serif;--ring:0 0 0 4px #7274ed38}:root[data-theme=oui] h1,:root[data-theme=oui] h2,:root[data-theme=oui] .page-title,:root[data-theme=oui] .modal-head .m-title,:root[data-theme=oui] .dash-greet-judul,:root[data-theme=oui] .brand-text .name{letter-spacing:-.01em;font-weight:800}:root[data-theme=oui] .page-title,:root[data-theme=oui] .modal-head .m-title{color:#149c9c}:root[data-theme=oui] .dash-greet{box-shadow:0 0 0 5px #eafbfa, var(--shadow-card);background:#eafbfa;border:2.5px solid #8fdcda}:root[data-theme=oui] .btn{border-radius:16px;font-weight:800}:root[data-theme=oui] .btn--primary{background:var(--primary);box-shadow:0 5px #4f51c9}:root[data-theme=oui] .btn--primary:hover{background:var(--primary);filter:brightness(1.05)}:root[data-theme=oui] .btn--pink{box-shadow:0 5px 0 0 var(--pink-deep)}:root[data-theme=oui] .btn--yellow{box-shadow:0 5px 0 0 var(--yellow-deep)}:root[data-theme=oui] .btn--add{border-radius:18px;box-shadow:0 6px #4f51c9}:root[data-theme=oui] .btn--add:hover{background:var(--primary);filter:brightness(1.05);transform:none}:root[data-theme=oui] .btn--primary:active,:root[data-theme=oui] .btn--pink:active,:root[data-theme=oui] .btn--yellow:active,:root[data-theme=oui] .btn--add:active{transform:translateY(4px)scale(1);box-shadow:0 1px #1f215a40}:root[data-theme=oui] .modal-head .m-close{background:var(--primary);color:#fff;border-radius:999px}:root[data-theme=oui] .modal-head .m-close:hover{background:var(--coral);color:#fff}:root[data-theme=oui] body{background:var(--bg)}:root[data-theme=oui] .bg-decor{background:radial-gradient(680px 480px at 92% -8%, #6ed1cf4d, transparent 60%), radial-gradient(560px 460px at -6% 104%, #fb96bb42, transparent 60%), var(--bg)}:root[data-theme=oui] .blob{opacity:.92;border-radius:22px;position:absolute;box-shadow:0 10px 0 -2px #0000001a,0 14px 24px -14px #46488c73}:root[data-theme=oui] .b1{background:#9956de;width:60px;height:60px;top:9%;left:4%;transform:rotate(-8deg)}:root[data-theme=oui] .b2{background:#1fa7e1;width:54px;height:54px;top:20%;right:6%;transform:rotate(7deg)}:root[data-theme=oui] .b3{background:#75d06a;width:58px;height:58px;bottom:16%;left:7%;transform:rotate(-6deg)}:root[data-theme=oui] .b4{background:#ffb356;width:48px;height:48px;top:48%;right:4%;transform:rotate(11deg)}:root[data-theme=oui] .b5{background:#ff8b8b;width:44px;height:44px;bottom:9%;right:13%;transform:rotate(-12deg)}:root[data-theme=oui] .b6{background:#fb96bb;width:42px;height:42px;top:70%;left:3%;transform:rotate(9deg)}:root[data-theme=galaxy]{--bg:#14122b;--bg-2:#1e1b3a;--surface:#232046;--surface-2:#2c2858;--ink:#f3f0ff;--ink-soft:#bcb4ec;--muted:#837cb4;--line:#ffffff1a;--primary:#b57bff;--primary-2:#ff7bd5;--on-primary:#1a1430;--yellow:#ffd45e;--yellow-deep:#ffe9a8;--yellow-bg:#ffd45e29;--pink:#ff8ad4;--pink-deep:#ffcdec;--pink-bg:#ff8ad429;--mint:#5ee6c8;--mint-deep:#b8f6e9;--mint-bg:#5ee6c829;--radius-sm:14px;--radius:22px;--radius-lg:30px;--radius-pill:999px;--card-border:1.5px solid #b57bff38;--shadow-card:0 20px 46px -26px #000000b3;--shadow-float:0 30px 64px -28px #000000c7;--ring:0 0 0 4px #b57bff47}:root[data-theme=galaxy] body{background:var(--bg)}:root[data-theme=galaxy] .bg-decor{background:radial-gradient(60% 50% at 14% 8%, #b57bff4d, transparent 70%), radial-gradient(50% 46% at 88% 16%, #ff7bd542, transparent 70%), radial-gradient(58% 52% at 82% 92%, #5ee6c82e, transparent 70%), var(--bg)}:root[data-theme=galaxy] .blob{border-radius:50%;animation:3.4s ease-in-out infinite twinkle;position:absolute}:root[data-theme=galaxy] .b1{background:#ffe9a8;width:14px;height:14px;top:10%;left:8%;box-shadow:0 0 16px 3px #ffe9a8d9}:root[data-theme=galaxy] .b2{background:#ff8ad4;width:9px;height:9px;animation-delay:-.8s;top:30%;left:18%;box-shadow:0 0 14px 3px #ff8ad4cc}:root[data-theme=galaxy] .b3{background:#5ee6c8;width:12px;height:12px;animation-delay:-1.6s;bottom:22%;left:12%;box-shadow:0 0 14px 3px #5ee6c8cc}:root[data-theme=galaxy] .b4{background:#b57bff;width:10px;height:10px;animation-delay:-2.2s;top:64%;right:9%;box-shadow:0 0 12px 3px #b57bffcc}:root[data-theme=galaxy] .b5{opacity:.95;background:radial-gradient(circle at 38% 34%,#fff6dc,#ffd45e);width:50px;height:50px;animation:none;top:12%;right:8%;box-shadow:0 0 28px 8px #ffd45e66}:root[data-theme=galaxy] .b6{background:#fff;width:8px;height:8px;animation-delay:-1.2s;bottom:12%;right:16%;box-shadow:0 0 12px 3px #ffffffb3}@keyframes twinkle{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}:root[data-theme=neon]{--bg:#0a0e1a;--bg-2:#0d1322;--surface:#131a2c;--surface-2:#1a2238;--ink:#eaf6ff;--ink-soft:#97b7d8;--muted:#5d7596;--line:#78c8ff24;--primary:#25e0ff;--primary-2:#ff4fd8;--on-primary:#07131c;--yellow:#ffe14d;--yellow-deep:#fff1a0;--yellow-bg:#ffe14d24;--pink:#ff5fc8;--pink-deep:#ffb3e6;--pink-bg:#ff5fc829;--mint:#4dffc3;--mint-deep:#b0ffe6;--mint-bg:#4dffc324;--radius-sm:14px;--radius:20px;--radius-lg:28px;--radius-pill:999px;--card-border:1.5px solid #25e0ff38;--shadow-card:0 0 0 1px #25e0ff1a, 0 22px 50px -28px #000000d9;--shadow-float:0 0 0 1px #ff4fd824, 0 30px 64px -30px #000000e6;--ring:0 0 0 4px #25e0ff4d}:root[data-theme=neon] body{background:var(--bg)}:root[data-theme=neon] .bg-decor{background:radial-gradient(46% 42% at 12% 10%, #25e0ff42, transparent 68%), radial-gradient(44% 40% at 90% 16%, #ff4fd842, transparent 68%), radial-gradient(50% 46% at 84% 92%, #4dffc32e, transparent 68%), var(--bg)}:root[data-theme=neon] .blob{filter:blur(2px);opacity:.9;border-radius:50%;animation:5s ease-in-out infinite neonpulse;position:absolute}:root[data-theme=neon] .b1{background:#25e0ff;width:60px;height:60px;top:10%;left:6%;box-shadow:0 0 40px 8px #25e0ffb3}:root[data-theme=neon] .b2{background:#ff4fd8;width:48px;height:48px;animation-delay:-1.4s;top:22%;right:8%;box-shadow:0 0 40px 8px #ff4fd8b3}:root[data-theme=neon] .b3{background:#4dffc3;width:52px;height:52px;animation-delay:-2.6s;bottom:18%;left:9%;box-shadow:0 0 40px 8px #4dffc3a6}:root[data-theme=neon] .b4{background:#ffe14d;width:40px;height:40px;animation-delay:-3.6s;top:62%;right:6%;box-shadow:0 0 36px 8px #ffe14d99}:root[data-theme=neon] .b5,:root[data-theme=neon] .b6{display:none}@keyframes neonpulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}:root[data-theme=popdark]{--bg:#15151c;--bg-2:#1c1c26;--surface:#222230;--surface-2:#2a2a38;--ink:#f4f2ff;--ink-soft:#b8b6cc;--muted:#807e96;--line:#ffffff1f;--primary:#6b7bff;--primary-2:#8a97ff;--on-primary:#0e0e16;--yellow:#ffce2e;--yellow-deep:#ffe58a;--yellow-bg:#ffce2e29;--pink:#ff5e9c;--pink-deep:#ffafcf;--pink-bg:#ff5e9c29;--mint:#16c79a;--mint-deep:#7ee8ce;--mint-bg:#16c79a29;--radius-sm:14px;--radius:20px;--radius-lg:28px;--card-border:2.5px solid #f4f2ff;--shadow-card:6px 8px 0 0 #000000d9;--shadow-float:10px 14px 0 0 #000c}:root[data-theme=popdark] body{background:var(--bg)}:root[data-theme=popdark] .hero{border:2.5px solid var(--ink)}:root[data-theme=popdark] .shift{box-shadow:none;border-width:1.5px}:root[data-theme=popdark] .clock-chip{border:2.5px solid var(--ink);box-shadow:4px 5px #000c}:root[data-theme=popdark] .brand .logo{border:2.5px solid var(--ink);box-shadow:3px 4px #000c}:root[data-theme=popdark] .btn--primary,:root[data-theme=popdark] .btn--pink{box-shadow:3px 4px #000000d9}:root[data-theme=popdark] .stat{border-width:2px}:root[data-theme=popdark] .badge{border:2px solid}:root[data-theme=popdark] .bg-decor{background:var(--bg)}:root[data-theme=popdark] .blob{opacity:.92;position:absolute}:root[data-theme=popdark] .b1{background:var(--yellow);border:2.5px solid var(--ink);border-radius:22px;width:70px;height:70px;top:8%;left:4%;transform:rotate(-12deg)}:root[data-theme=popdark] .b2{background:var(--pink);border:2.5px solid var(--ink);border-radius:50%;width:54px;height:54px;top:18%;right:6%}:root[data-theme=popdark] .b3{background:var(--mint);border:2.5px solid var(--ink);border-radius:50%;width:60px;height:60px;bottom:14%;left:7%}:root[data-theme=popdark] .b4{background:var(--primary-2);border:2.5px solid var(--ink);border-radius:12px;width:46px;height:46px;top:46%;right:3%;transform:rotate(18deg)}:root[data-theme=popdark] .b5{background:var(--yellow);border:2.5px solid var(--ink);border-radius:50%;width:38px;height:38px;bottom:8%;right:14%}:root[data-theme=popdark] .b6{background:var(--pink);border:2.5px solid var(--ink);border-radius:10px;width:40px;height:40px;top:70%;left:3%;transform:rotate(-20deg)}:root[data-theme=studiodark]{--bg:#141318;--bg-2:#1a191f;--surface:#1e1d24;--surface-2:#26252d;--ink:#ece7dd;--ink-soft:#b5afa2;--muted:#837d70;--line:#ece7dd29;--primary:#ece7dd;--primary-2:#6e86c8;--on-primary:#141318;--yellow:#f2c744;--yellow-deep:#f7e0a0;--yellow-bg:#f2c74424;--pink:#f06a96;--pink-deep:#f8b9ce;--pink-bg:#f06a9624;--mint:#38c2a0;--mint-deep:#9ee8d6;--mint-bg:#38c2a024;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-pill:6px;--card-border:1.8px solid var(--ink);--shadow-card:0 10px 30px -20px #000c;--shadow-float:0 20px 44px -22px #000000d9;--font-mono:"Space Mono", ui-monospace, monospace}:root[data-theme=studiodark] body{background:var(--bg)}:root[data-theme=studiodark] .hero,:root[data-theme=studiodark] .clock-chip,:root[data-theme=studiodark] .stat,:root[data-theme=studiodark] .shift,:root[data-theme=studiodark] .metrics,:root[data-theme=studiodark] .brand .logo,:root[data-theme=studiodark] .modal{border:1.8px solid var(--ink)}:root[data-theme=studiodark] .shift{box-shadow:none}:root[data-theme=studiodark] .badge{border:1.5px solid;border-radius:4px}:root[data-theme=studiodark] .btn,:root[data-theme=studiodark] .avatar{border-radius:6px}:root[data-theme=studiodark] .emp-card .accent-strip{background:repeating-linear-gradient(90deg, var(--ink) 0 8px, transparent 8px 16px);opacity:.25;height:8px}:root[data-theme=studiodark] .kpi-card,:root[data-theme=studiodark] .dash-laba-card,:root[data-theme=studiodark] .quick-card,:root[data-theme=studiodark] .inv-card,:root[data-theme=studiodark] .tinta-card,:root[data-theme=studiodark] .amplop-card,:root[data-theme=studiodark] .settings-card,:root[data-theme=studiodark] .detail-card,:root[data-theme=studiodark] .income-card,:root[data-theme=studiodark] .kal-card,:root[data-theme=studiodark] .auth-card{position:relative;overflow:hidden}:root[data-theme=studiodark] .kpi-card:before,:root[data-theme=studiodark] .dash-laba-card:before,:root[data-theme=studiodark] .quick-card:before,:root[data-theme=studiodark] .inv-card:before,:root[data-theme=studiodark] .tinta-card:before,:root[data-theme=studiodark] .amplop-card:before,:root[data-theme=studiodark] .settings-card:before,:root[data-theme=studiodark] .detail-card:before,:root[data-theme=studiodark] .income-card:not(.is-printing):before,:root[data-theme=studiodark] .kal-card:before,:root[data-theme=studiodark] .auth-card:before,:root[data-theme=studiodark] .thumb:after{content:"";background:repeating-linear-gradient(90deg, var(--ink) 0 8px, transparent 8px 16px);opacity:.25;pointer-events:none;z-index:2;height:8px;position:absolute;top:0;left:0;right:0}:root[data-theme=studiodark] .brand-text .kicker,:root[data-theme=studiodark] .badge,:root[data-theme=studiodark] .metric .k,:root[data-theme=studiodark] .stat .lbl,:root[data-theme=studiodark] .date-pill,:root[data-theme=studiodark] .hist-row .h-times .ht .hk,:root[data-theme=studiodark] .key--fn{font-family:var(--font-mono);letter-spacing:.02em}:root[data-theme=studiodark] .clock-chip .now,:root[data-theme=studiodark] .metric .v,:root[data-theme=studiodark] .hist-row .h-times .ht .hv{font-family:var(--font-mono)}:root[data-theme=studiodark] .bg-decor{background:var(--bg)}:root[data-theme=studiodark] .blob{display:none}:root[data-theme=studiodark] .bg-decor:before,:root[data-theme=studiodark] .bg-decor:after{content:"";background-image:repeating-linear-gradient(#0000 0 16px,#ece7dd1a 16px 30px);background-size:26px 46px;width:26px;position:absolute;top:0;bottom:0}:root[data-theme=studiodark] .bg-decor:before{left:0}:root[data-theme=studiodark] .bg-decor:after{right:0}@media (width<=700px){:root[data-theme=studiodark] .bg-decor:before,:root[data-theme=studiodark] .bg-decor:after{display:none}}.app{z-index:1;max-width:var(--maxw);margin:0 auto;padding:28px clamp(16px,4vw,40px) 110px;position:relative}.app-shell{z-index:1;grid-template-columns:272px 1fr;min-height:100svh;display:grid;position:relative}.sidebar{background:var(--surface);border-right:1.5px solid var(--line);z-index:30;flex-direction:column;height:100svh;display:flex;position:sticky;top:0;left:0;overflow-y:auto}:root[data-theme=pop] .sidebar{border-right-width:2.5px;border-right-color:var(--ink)}:root[data-theme=studio] .sidebar{border-right-color:var(--ink)}@media (width>=961px){.app-shell:before{content:"";background:var(--surface);border-right:1.5px solid var(--line);z-index:0;pointer-events:none;width:272px;position:fixed;top:0;bottom:0;left:0}:root[data-theme=pop] .app-shell:before{border-right-width:2.5px;border-right-color:var(--ink)}:root[data-theme=studio] .app-shell:before{border-right-color:var(--ink)}}.sidebar-brand{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:22px 22px 18px;display:flex}.sidebar-logo{background:var(--yellow);border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid;overflow:hidden}.sidebar-logo img{object-fit:contain;width:72%;height:72%}:root[data-theme=pop] .sidebar-logo{border:2px solid var(--ink);box-shadow:2px 3px 0 var(--ink)}:root[data-theme=studio] .sidebar-logo{border:1.5px solid var(--ink);border-radius:6px}.sidebar-brand-text{flex-direction:column;min-width:0;line-height:1.05;display:flex}.sidebar-brand-text .kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--pink-deep);font-size:10.5px;font-weight:700}.sidebar-brand-text .name{font-family:var(--font-display);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:17px;font-weight:600;line-height:1.15;overflow:hidden}.sidebar-nav{flex-direction:column;flex:1;gap:20px;padding:18px 14px;display:flex;overflow-y:auto}.sidebar-group{flex-direction:column;gap:4px;display:flex}.sidebar-group-head{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:0 12px 4px;font-size:10.5px;font-weight:800}.sidebar-link{border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--ink-soft);text-align:left;align-items:center;gap:12px;padding:11px 14px;font-size:14.5px;font-weight:600;transition:background .15s,color .15s,box-shadow .15s;display:flex;position:relative}.sidebar-link:hover{background:var(--surface-2);color:var(--ink)}.sidebar-link-ikon{background:var(--surface-2);width:36px;height:36px;color:var(--ink-soft);border-radius:10px;flex-shrink:0;place-items:center;transition:background .15s,color .15s;display:grid}.sidebar-link-ikon svg{width:18px;height:18px}.sidebar-link-label{flex:1}.sidebar-link-arrow{opacity:.85;place-items:center;width:16px;height:16px;display:grid}.sidebar-link-arrow svg{width:14px;height:14px}.sidebar-link.is-active{background:var(--primary);color:var(--on-primary);box-shadow:0 12px 22px -16px var(--primary)}.sidebar-link.is-active .sidebar-link-ikon{background:color-mix(in srgb, var(--on-primary) 22%, transparent);color:var(--on-primary)}:root[data-theme=pop] .sidebar-link.is-active{box-shadow:3px 4px 0 0 var(--ink)}.sidebar-footer{border-top:1px solid var(--line);padding:16px 18px 22px}.sidebar-footer-head{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:10.5px;font-weight:800}.theme-switch--inline{background:var(--surface-2);box-shadow:none;border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:6px;display:flex;position:static}.theme-switch--inline .ts-btn{border-radius:var(--radius-sm);justify-content:flex-start;width:100%;padding:8px 10px;font-size:13px}.theme-switch--inline .ts-btn .sw{border-radius:4px;width:14px;height:14px}.sidebar-account{padding:14px 14px calc(16px + env(safe-area-inset-bottom,0px));border:none;border-top:1.5px solid var(--line);background:var(--surface-2);border-radius:0;flex-shrink:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;display:grid}.sidebar-account-avatar{background:linear-gradient(135deg, var(--primary-2), var(--pink));color:#fff;width:40px;height:40px;font-family:var(--font-display);border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;font-weight:600;display:grid}.sidebar-account-info{flex-direction:column;gap:3px;min-width:0;display:flex}.sidebar-account-nama{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;line-height:1.2;overflow:hidden}.sidebar-account-email{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.2;overflow:hidden}.sidebar-account-meta{min-width:0;display:flex}.role-pill{border-radius:var(--radius-pill);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:3px;padding:2px 7px;font-size:9.5px;font-weight:800;display:inline-flex}.role-pill.role-admin{background:color-mix(in srgb, var(--primary-2) 18%, transparent);color:var(--primary)}.role-pill.role-karyawan{background:var(--mint-bg);color:var(--mint-deep)}.sidebar-logout{background:var(--surface);width:36px;height:36px;color:var(--ink-soft);border:1.5px solid var(--line);border-radius:10px;flex-shrink:0;place-items:center;transition:all .15s;display:grid}.sidebar-logout svg{width:17px;height:17px}.sidebar-logout:hover{background:var(--pink-bg);color:var(--pink-deep);border-color:var(--pink)}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:25;background:#14204c80;animation:.2s fade;position:fixed;inset:0}.main{flex-direction:column;min-width:0;min-height:100svh;display:flex}.main-topbar{z-index:20;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:18px clamp(18px,3vw,36px);display:flex;position:sticky;top:0}.menu-btn{background:var(--surface-2);border:1.5px solid var(--line);width:42px;height:42px;color:var(--ink);border-radius:12px;flex-shrink:0;place-items:center;display:none}.menu-btn svg{width:22px;height:22px}.menu-btn:hover{background:var(--surface)}.page-meta{flex:1;min-width:0}.page-title{font-family:var(--font-display);color:var(--ink);text-shadow:none;font-size:clamp(20px,2.4vw,28px);font-weight:600;line-height:1.1}.page-sub{color:var(--ink-soft);margin-top:4px;font-size:13px;font-weight:600}.topbar-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.main-content{flex-direction:column;flex:1;padding:clamp(20px,3vw,32px) clamp(18px,3vw,36px) 72px;display:flex}.main-content>*+*{margin-top:22px}.dash-greet{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:var(--card-border,none);grid-template-columns:1.4fr 1fr;align-items:center;gap:24px;padding:clamp(20px,3vw,32px);display:grid}.dash-greet-judul{font-family:var(--font-display);color:var(--ink);margin:10px 0 6px;font-size:clamp(24px,3vw,34px);font-weight:600;line-height:1.1}.dash-greet-sub{color:var(--ink-soft);max-width:48ch;font-size:14.5px;line-height:1.5}.dash-laba-card{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius);padding:18px 20px}.dash-laba-lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:800}.dash-laba-val{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin-top:6px;font-size:28px;font-weight:600;line-height:1.1}.dash-laba-val.is-positif{color:var(--mint-deep)}.dash-laba-val.is-negatif{color:var(--pink-deep)}.dash-laba-detail{color:var(--ink-soft);margin-top:6px;font-size:12.5px;font-weight:600}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.kpi-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);border:var(--card-border,none);flex-direction:column;gap:8px;padding:18px 20px;transition:transform .2s,box-shadow .2s;display:flex}.kpi-card:hover{box-shadow:var(--shadow-float);transform:translateY(-3px)}.kpi-head{align-items:center;gap:10px;display:flex}.kpi-ikon{border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.kpi-ikon svg{width:18px;height:18px}.kpi-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:11.5px;font-weight:800}.kpi-value{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1.1}.kpi-sub{color:var(--ink-soft);font-size:12.5px;font-weight:600;line-height:1.4}.kpi-primary .kpi-ikon{background:color-mix(in srgb, var(--primary-2) 16%, transparent);color:var(--primary)}.kpi-mint .kpi-ikon{background:var(--mint-bg);color:var(--mint-deep)}.kpi-pink .kpi-ikon{background:var(--pink-bg);color:var(--pink-deep)}.kpi-yellow .kpi-ikon{background:var(--yellow-bg);color:var(--yellow-deep)}.gaji-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.gaji-toolbar-info{flex-direction:column;gap:6px;display:flex}.gaji-periode-pill{background:color-mix(in srgb, var(--primary-2) 16%, transparent);color:var(--primary);border-radius:999px;align-self:flex-start;align-items:center;padding:5px 14px;font-size:13px;font-weight:800;display:inline-flex}.gaji-toolbar-sub{color:var(--ink-soft);font-size:13px;font-weight:600}.gaji-periode-select{color:var(--ink-soft);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.gaji-periode-select select{border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;padding:9px 14px;font-size:14px;font-weight:700}.gaji-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:18px;display:grid}.gaji-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);border:var(--card-border,none);flex-direction:column;gap:18px;padding:22px 24px;transition:transform .2s,box-shadow .2s;display:flex}.gaji-card:hover{box-shadow:var(--shadow-float);transform:translateY(-3px)}.gaji-card-head{align-items:center;gap:12px;display:flex}.gaji-avatar{background:color-mix(in srgb, var(--primary-2) 18%, transparent);width:44px;height:44px;color:var(--primary);border-radius:12px;flex-shrink:0;place-items:center;font-size:16px;font-weight:800;display:grid}.gaji-nama{color:var(--ink);font-size:16px;font-weight:700}.gaji-jabatan{color:var(--ink-soft);font-size:12.5px;font-weight:600}.gaji-total{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--mint) 16%, var(--surface));border:1.5px solid color-mix(in srgb, var(--mint-deep) 28%, transparent);justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;display:flex}.gaji-total-lbl{color:var(--ink);text-transform:uppercase;letter-spacing:.03em;font-size:13px;font-weight:800}.gaji-total-val{color:var(--mint-deep);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;line-height:1}.gaji-empty{text-align:center;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);color:var(--ink-soft);padding:40px 24px;font-weight:600}.rekap-bulan{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);border:1.5px solid var(--line);margin:22px 0;padding:20px 22px}.rekap-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.rekap-head h2{color:var(--ink);margin:0;font-size:18px;font-weight:800}.rekap-sub{color:var(--ink-soft);margin:4px 0 0;font-size:12.5px;font-weight:600}.rekap-periode{flex-direction:column;gap:4px;display:flex}.rekap-periode>span{color:var(--ink-soft);font-size:11.5px;font-weight:700}.rekap-periode select{background:var(--surface-2);border:1.8px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;padding:7px 10px;font-size:13.5px;font-weight:600}.rekap-rows{flex-direction:column;gap:10px;display:flex}.rekap-row{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.rekap-lbl{color:var(--ink);font-size:14px;font-weight:600}.rekap-val{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14.5px;font-weight:700}.rekap-val.is-plus{color:var(--mint-deep)}.rekap-val.is-minus{color:var(--pink)}.rekap-row--subtotal{border-top:1.5px dashed var(--line);margin-top:2px;padding-top:10px}.rekap-row--subtotal .rekap-lbl{font-weight:800}.rekap-bersih{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--mint) 16%, var(--surface));border:1.5px solid color-mix(in srgb, var(--mint-deep) 28%, transparent);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:13px 16px;display:flex}.rekap-bersih.is-negatif{background:color-mix(in srgb, var(--pink) 14%, var(--surface));border-color:color-mix(in srgb, var(--pink) 34%, transparent)}.rekap-bersih-lbl{color:var(--ink);text-transform:uppercase;letter-spacing:.03em;font-size:13px;font-weight:800}.rekap-bersih-val{color:var(--mint-deep);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;line-height:1}.rekap-bersih.is-negatif .rekap-bersih-val{color:var(--pink)}.rekap-hint{color:var(--ink-soft);margin:12px 0 0;font-size:11.5px;font-weight:600;line-height:1.5}.rekap-rekon{border-top:1.5px dashed var(--line);margin-top:16px;padding-top:14px}.rekap-rekon-head{color:var(--ink);text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px;font-size:13px;font-weight:800}.rekap-rekon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width<=560px){.rekap-rekon-grid{grid-template-columns:1fr}}.rekap-rekon-item{flex-direction:column;gap:6px;display:flex}.rekap-rekon-field{flex-direction:column;gap:5px;display:flex}.rekap-rekon-field>span{color:var(--ink-soft);font-size:12.5px;font-weight:700}.rekap-rekon-status{font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.rekap-rekon-status.is-ok{color:var(--mint-deep)}.rekap-rekon-status.is-off{color:var(--pink)}.rekap-rekon-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.rekap-rekon-topbar .rekap-rekon-head{margin-bottom:0}.rekap-rekon-setoran{margin-bottom:12px}.rekap-rekon-expect{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:600}.rekap-rekon-sd{color:var(--ink-soft);text-transform:none;letter-spacing:0;margin-left:6px;font-size:11px;font-weight:700}.rekap-rekon-awal{border-radius:var(--radius-sm);background:var(--surface-2);border:1.5px dashed var(--line);margin-bottom:12px;padding:12px 14px}.rekap-rekon-awal-head{color:var(--ink);margin-bottom:10px;font-size:12.5px;font-weight:800}.rekap-rekon-awal-hint{color:var(--ink-soft);margin-top:8px;font-size:11px;font-weight:600;line-height:1.5}.gaji-pokok-field{flex-direction:column;gap:6px;margin-top:4px;display:flex}.gaji-pokok-field>span{color:var(--ink-soft);font-size:12.5px;font-weight:700}.gaji-pokok-input{background:var(--surface-2);border:1.8px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:0 12px;display:flex}.gaji-pokok-input:focus-within{border-color:var(--mint-deep)}.gaji-pokok-rp{color:var(--ink-soft);font-size:14px;font-weight:800}.gaji-pokok-input input{color:var(--ink);font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;flex:1;padding:11px 0;font-size:15px;font-weight:700}.gaji-pokok-tarif{color:var(--ink-soft);font-size:11.5px;font-weight:600}.rupiah-input{background:var(--surface-2);border:1.8px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:6px;width:100%;padding:0 15px;display:flex}.rupiah-input:focus-within{border-color:var(--primary-2,var(--mint-deep))}.rupiah-input.is-disabled{opacity:.55}.rupiah-input-rp{color:var(--ink-soft);font-size:14px;font-weight:800}.rupiah-input input{min-width:0;color:var(--ink);font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;flex:1;padding:13px 0;font-size:15px;font-weight:600}.rupiah-input input::placeholder{color:var(--ink-soft);opacity:.6}.gaji-bayar-via-edit select,.gaji-bayar-via-edit input{background:var(--surface-2);border:1.8px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);outline:none;padding:11px 12px;font-size:15px;font-weight:700}.gaji-bayar-via-edit select{cursor:pointer}.gaji-bayar-via-edit input{font-variant-numeric:tabular-nums}.gaji-bayar-via-edit select:focus,.gaji-bayar-via-edit input:focus{border-color:var(--mint-deep)}.gaji-bayar-via{justify-content:space-between;align-items:center;gap:12px;padding:2px 4px;display:flex}.gaji-bayar-via-lbl{color:var(--ink-soft);font-size:12.5px;font-weight:700}.gaji-bayar-via-val{color:var(--ink);font-size:13.5px;font-weight:800}.gaji-card-actions{justify-content:flex-end;gap:10px;margin-top:-4px;display:flex}.gaji-print-head,.gaji-print-sign,.gaji-print-watermark{display:none}.gaji-absen{grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:8px;display:grid}.gaji-chip{text-align:center;background:var(--surface-2);border:1.3px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:3px;padding:9px 8px;display:flex}.gaji-chip.is-warn{border-color:var(--pink);background:color-mix(in srgb, var(--pink) 10%, var(--surface-2))}.gaji-chip-lbl{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;font-size:10px;font-weight:800}.gaji-chip-val{color:var(--ink);font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:700}.gaji-rincian{border-radius:var(--radius-sm);background:var(--surface-2);flex-direction:column;gap:11px;padding:16px;display:flex}.gaji-line{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.gaji-line-lbl{color:var(--ink);flex-direction:column;gap:2px;font-size:13.5px;font-weight:600;line-height:1.35;display:flex}.gaji-line-sub{color:var(--ink-soft);font-size:11px;font-weight:600}.gaji-line-val{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:700}.gaji-line.is-plus .gaji-line-val{color:var(--mint-deep)}.gaji-line.is-minus .gaji-line-val{color:var(--pink)}.mode-row{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.mode-row+.mode-row{margin-top:8px}.mode-info{flex:1;min-width:180px}.mode-judul{color:var(--ink);font-size:14px;font-weight:700}.mode-desc{color:var(--ink-soft);margin-top:2px;font-size:12.5px;line-height:1.4}.mode-pick{gap:6px;display:flex}.mode-btn{border-radius:var(--radius-sm);color:var(--ink-soft);background:var(--surface);border:1.5px solid var(--line);align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.mode-btn:hover{background:var(--surface-2);color:var(--ink)}.mode-btn.is-active{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.mode-ikon{font-family:monospace;font-size:14px;line-height:1}.emp-list{flex-direction:column;gap:8px;display:flex}.emp-row{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);border:var(--card-border,none);grid-template-columns:auto 1.5fr auto auto;align-items:center;gap:16px;padding:12px 16px;transition:background .15s;display:grid}.emp-row:hover{background:var(--surface-2)}.emp-row.status-kerja{border-left:4px solid var(--mint)}.emp-row.status-selesai{border-left:4px solid var(--primary-2)}.emp-row-info{min-width:0}.emp-row-nama{font-family:var(--font-display);color:var(--ink);font-size:16px;font-weight:600;line-height:1.2}.emp-row-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.emp-row-role{color:var(--ink-soft);font-size:12.5px;font-weight:600}.emp-row-stats{grid-template-columns:repeat(4,minmax(60px,auto));gap:16px;display:grid}.emp-row-stat{text-align:center;flex-direction:column;gap:2px;display:flex}.emp-row-stat .k{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:800}.emp-row-stat .v{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600;line-height:1.1}.emp-row-stat .v.empty{color:var(--muted)}.emp-row-stat .v.late{color:#e8590c}.emp-row-stat .v.over{color:var(--mint-deep)}.emp-row-actions{align-items:center;gap:6px;display:flex}.emp-row-actions .btn{padding:8px 14px;font-size:13px}.emp-row-icon{background:var(--surface-2);width:34px;height:34px;color:var(--ink-soft);border:1.5px solid var(--line);border-radius:10px;place-items:center;transition:all .15s;display:grid}.emp-row-icon:hover{background:var(--surface);color:var(--ink)}.emp-row-icon.emp-row-danger:hover{background:var(--pink-bg);color:var(--pink-deep);border-color:var(--pink)}.emp-row-icon svg{width:16px;height:16px}@media (width<=860px){.emp-row{grid-template-columns:auto 1fr;gap:12px}.emp-row-stats{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.emp-row-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end}}.tinta-list{flex-direction:column;gap:6px;display:flex}.tinta-list-row{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);border:var(--card-border,none);grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:10px 14px;transition:background .15s;display:grid}.tinta-list-row:hover{background:var(--surface-2)}.tinta-color-sm{border-radius:10px;width:44px;height:44px;font-size:14px;font-weight:700}.tinta-list-info{min-width:0}.tinta-list-nama{color:var(--ink);font-size:14px;font-weight:700;line-height:1.2}.tinta-list-catatan{color:var(--yellow-deep);margin-top:2px;font-size:12px;font-style:italic;font-weight:600}.tinta-list-stok{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;font-size:22px;font-weight:600;display:flex}.tinta-list-stok.tipis{color:var(--yellow-deep)}.tinta-list-stok.kosong{color:var(--pink-deep)}.tinta-list-unit{font-family:var(--font-body);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.tinta-list-row .btn{padding:8px 14px;font-size:13px}@media (width<=700px){.tinta-list-row{grid-template-columns:auto 1fr auto}.tinta-list-row .btn{grid-column:1/-1;justify-self:stretch;margin-top:4px}}.kertas-list{flex-direction:column;gap:8px;display:flex}.kertas-row{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);border:var(--card-border,none);grid-template-columns:1.5fr auto auto;align-items:center;gap:16px;padding:12px 16px;transition:background .15s;display:grid}.kertas-row:hover{background:var(--surface-2)}.kertas-row-info{min-width:0}.kertas-row-nama{font-family:var(--font-display);color:var(--ink);font-size:17px;font-weight:600;line-height:1.2}.kertas-row-sub{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:2px;font-size:11px;font-weight:800}.kertas-row-stok{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink);align-items:baseline;gap:6px;font-size:28px;font-weight:600;display:flex}.kertas-row-stok.tipis{color:var(--yellow-deep)}.kertas-row-stok.kosong{color:var(--pink-deep)}.kertas-row-unit{font-family:var(--font-body);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.kertas-row-actions{align-items:center;gap:6px;display:flex}.kertas-row-actions .btn{padding:8px 14px;font-size:13px}@media (width<=700px){.kertas-row{grid-template-columns:1fr auto}.kertas-row-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end}}.settings-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:var(--card-border,none);flex-direction:column;gap:22px;padding:clamp(20px,3vw,32px);display:flex}.settings-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.settings-head-ikon{background:var(--surface-2);border:1.5px solid var(--line);border-radius:14px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:22px;display:grid}.settings-head>div:nth-child(2){flex:1;min-width:200px}.settings-title{font-family:var(--font-display);color:var(--ink);font-size:20px;font-weight:600;line-height:1.2}.settings-sub{color:var(--ink-soft);margin-top:3px;font-size:13.5px;line-height:1.5}.settings-section{flex-direction:column;gap:10px;display:flex}.settings-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.settings-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.settings-card .field{margin-bottom:0}@media (width<=560px){.settings-grid{grid-template-columns:1fr}}.font-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.font-card{text-align:left;background:var(--surface);border:1.8px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr auto;gap:14px;padding:14px 18px;transition:all .15s;display:grid;position:relative}.font-card:hover{background:var(--surface-2)}.font-card.is-active{border-color:var(--primary-2);background:color-mix(in srgb,var(--primary-2) 10%, var(--surface));box-shadow:var(--ring)}.font-preview{color:var(--ink);grid-column:1/-1;font-size:30px;font-weight:600;line-height:1.1}.font-card-info{flex-direction:column;gap:2px;display:flex}.font-name{font-family:var(--font-display);color:var(--ink);font-size:15px;font-weight:600}.font-desc{color:var(--ink-soft);font-size:11.5px;font-weight:600}.font-active-badge{background:var(--primary);width:28px;height:28px;color:var(--on-primary);border-radius:50%;align-self:center;place-items:center;display:grid}.font-active-badge svg{width:16px;height:16px}.size-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.size-card{background:var(--surface);border:1.8px solid var(--line);border-radius:var(--radius);flex-direction:column;align-items:center;gap:6px;padding:16px 12px;transition:all .15s;display:flex}.size-card:hover{background:var(--surface-2)}.size-card.is-active{border-color:var(--primary-2);background:color-mix(in srgb,var(--primary-2) 10%, var(--surface));box-shadow:var(--ring)}.size-preview{font-family:var(--font-display);color:var(--ink);font-weight:600;line-height:1}.size-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:12.5px;font-weight:700}.size-pct{font-family:var(--font-display);color:var(--primary);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.quick-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.quick-card{text-align:left;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);border:var(--card-border,none);cursor:pointer;align-items:center;gap:14px;padding:18px 20px;transition:transform .2s,box-shadow .2s;display:flex;position:relative}.quick-card:hover{box-shadow:var(--shadow-float);transform:translateY(-3px)}.quick-ikon{border-radius:14px;flex-shrink:0;place-items:center;width:52px;height:52px;font-size:26px;display:grid}.quick-absensi .quick-ikon{background:var(--yellow-bg)}.quick-income .quick-ikon{background:var(--mint-bg)}.quick-inventaris .quick-ikon{background:color-mix(in srgb, var(--primary-2) 16%, transparent)}.quick-pengeluaran .quick-ikon{background:var(--pink-bg)}.quick-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.quick-title{font-family:var(--font-display);color:var(--ink);font-size:16px;font-weight:600;line-height:1.2}.quick-sub{color:var(--ink-soft);font-size:12.5px;font-weight:600;line-height:1.4}.quick-arrow{background:var(--surface-2);width:28px;height:28px;color:var(--ink-soft);border-radius:50%;flex-shrink:0;place-items:center;transition:background .15s,color .15s;display:grid}.quick-arrow svg{width:14px;height:14px}.quick-card:hover .quick-arrow{background:var(--primary);color:var(--on-primary)}.quick-badge{letter-spacing:.04em;text-transform:uppercase;background:var(--pink-bg);color:var(--pink-deep);border-radius:var(--radius-pill);align-self:flex-start;margin-top:2px;padding:3px 8px;font-size:10px;font-weight:800;display:inline-flex}.landing-grid{grid-template-columns:repeat(2,1fr);gap:24px;margin-top:28px;display:grid}.thumb{text-align:left;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:var(--card-border,none);cursor:pointer;flex-direction:column;gap:14px;padding:clamp(28px,4vw,44px);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s;display:flex;position:relative;overflow:hidden}.thumb:hover{box-shadow:var(--shadow-float);transform:translateY(-6px)}.thumb:before{content:"";opacity:.12;pointer-events:none;position:absolute;inset:0}.thumb--absensi:before{background:linear-gradient(135deg, var(--yellow), transparent 60%)}.thumb--income:before{background:linear-gradient(135deg, var(--mint), transparent 60%)}.thumb--inventaris:before{background:linear-gradient(135deg, var(--primary-2), transparent 60%)}.thumb--pengeluaran:before{background:linear-gradient(135deg, var(--pink), transparent 60%)}.thumb-ikon{background:var(--surface-2);border:1.5px solid var(--line);border-radius:22px;place-items:center;width:80px;height:80px;font-size:42px;display:grid}.thumb--absensi .thumb-ikon{background:var(--yellow-bg);border-color:color-mix(in srgb, var(--yellow) 50%, transparent)}.thumb--income .thumb-ikon{background:var(--mint-bg);border-color:color-mix(in srgb, var(--mint) 50%, transparent)}.thumb--inventaris .thumb-ikon{background:color-mix(in srgb, var(--primary-2) 18%, transparent);border-color:color-mix(in srgb, var(--primary-2) 50%, transparent)}.thumb--pengeluaran .thumb-ikon{background:var(--pink-bg);border-color:color-mix(in srgb, var(--pink) 50%, transparent)}.thumb-judul{font-family:var(--font-display);color:var(--ink);font-size:clamp(24px,3vw,32px);font-weight:600;line-height:1.1}.thumb-sub{color:var(--ink-soft);font-size:14.5px;line-height:1.5}.thumb-stats{flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:8px;display:flex}.thumb-stat{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:2px;min-width:0;padding:10px 14px;display:flex}.thumb-stat .num{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600;line-height:1.1}.thumb-stat .lbl{color:var(--ink-soft);font-size:11px;font-weight:700}.thumb-cta{font-family:var(--font-display);color:var(--primary);align-items:center;gap:8px;padding-top:4px;font-size:16px;font-weight:600;display:inline-flex}.thumb--income .thumb-cta{color:var(--mint-deep)}.thumb--inventaris .thumb-cta{color:var(--primary)}.thumb--pengeluaran .thumb-cta{color:var(--pink-deep)}.laba-banner{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-soft);margin-top:18px;padding:12px 16px;font-size:14px;font-weight:600}.laba-banner strong{color:var(--ink);font-variant-numeric:tabular-nums}.laba-positif{color:var(--mint-deep);font-weight:800}.laba-negatif{color:var(--pink-deep);font-weight:800}.inv-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.inv-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);border:var(--card-border,none);flex-direction:column;gap:10px;padding:15px;transition:transform .2s,box-shadow .2s;display:flex}.inv-card:hover{box-shadow:var(--shadow-float);transform:translateY(-3px)}.inv-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.inv-card-nama{font-family:var(--font-display);color:var(--ink);font-size:16px;font-weight:600;line-height:1.2}.inv-card-sub{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:3px;font-size:10px;font-weight:800}.inv-stok{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;font-size:32px;font-weight:600;line-height:1;display:flex}.inv-stok.tipis{color:var(--yellow-deep)}.inv-stok.kosong{color:var(--pink-deep)}.inv-stok-unit{font-family:var(--font-body);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12.5px;font-weight:700}.inv-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.inv-actions .btn{text-overflow:ellipsis;min-width:0;padding:8px;font-size:12.5px;overflow:hidden}.inv-actions .btn svg{flex-shrink:0}.tinta-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.tinta-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);border:var(--card-border,none);flex-direction:column;gap:10px;padding:14px;display:flex}.tinta-row{align-items:center;gap:14px;display:flex}.tinta-catatan{color:var(--ink-soft);background:var(--yellow-bg);border:1px solid color-mix(in srgb, var(--yellow) 40%, transparent);border-radius:var(--radius-sm);padding:8px 12px;font-size:12.5px;font-style:italic;font-weight:600;line-height:1.45}.tinta-color{width:60px;height:60px;font-family:var(--font-display);color:#fff;text-shadow:0 1px 2px #0006;border:2px solid #00000026;border-radius:14px;flex:none;place-items:center;font-size:18px;font-weight:700;display:grid}.tinta-info{flex:1;min-width:0}.tinta-label{color:var(--ink-soft);font-size:12px;font-weight:700}.tinta-stok{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;line-height:1.1}.tinta-stok.tipis{color:var(--yellow-deep)}.tinta-stok.kosong{color:var(--pink-deep)}.tinta-unit{font-family:var(--font-body);color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.tinta-card .btn{flex-shrink:0;padding:8px 12px;font-size:13px}.amplop-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:var(--card-border,none);flex-wrap:wrap;align-items:center;gap:20px;padding:22px;display:flex}.amplop-ikon{font-size:56px}.amplop-info{flex:1;min-width:0}.amplop-stok{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:42px;font-weight:600;line-height:1}.amplop-unit{font-family:var(--font-body);color:var(--muted);text-transform:uppercase;font-size:14px;font-weight:700}.amplop-sub{color:var(--ink-soft);margin-top:4px;font-size:13px;font-weight:600}.amplop-card .btn{flex-shrink:0}.salah-list{flex-direction:column;gap:10px;display:flex}.salah-row{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);border:var(--card-border,none);grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:14px 18px;display:grid}.salah-tanggal{font-family:var(--font-display);color:var(--ink);white-space:nowrap;font-size:14px;font-weight:600}.salah-info{min-width:0}.salah-kertas{color:var(--ink);font-size:14px;font-weight:700}.salah-alasan{color:var(--ink-soft);margin-top:2px;font-size:12.5px}.salah-jumlah{font-family:var(--font-display);color:var(--pink-deep);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:4px;font-size:22px;font-weight:600;display:flex}.salah-unit{font-family:var(--font-body);color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.kertas-pick{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.kertas-pick .shift-opt{padding:14px 10px}.kategori-breakdown{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius-sm);margin-top:18px;padding:14px 16px}.kategori-breakdown-judul{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:11px;font-weight:800}.kategori-list{flex-wrap:wrap;gap:8px;display:flex}.kategori-chip{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-soft);align-items:baseline;gap:8px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.kategori-nama{color:var(--ink)}.kategori-jml{font-family:var(--font-display);color:var(--pink-deep);font-variant-numeric:tabular-nums;font-weight:600}.pengeluaran-grup-list{flex-direction:column;gap:16px;display:flex}.pengeluaran-grup{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);border:var(--card-border,none);flex-direction:column;display:flex;overflow:hidden}.pengeluaran-grup-head{background:var(--pink-bg);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.pengeluaran-grup-tanggal{font-family:var(--font-display);color:var(--ink);align-items:center;gap:7px;font-size:15px;font-weight:700;display:inline-flex}.pengeluaran-grup-tanggal svg{width:16px;height:16px;color:var(--pink-deep)}.pengeluaran-grup-count{background:var(--surface);color:var(--pink-deep);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:800}.pengeluaran-grup-total{font-family:var(--font-display);color:var(--pink-deep);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:16px;font-weight:700}.pengeluaran-list{flex-direction:column;display:flex}.pengeluaran-row{border-top:1px solid var(--line,var(--pink-bg));grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:13px 18px;display:grid}.pengeluaran-row:first-child{border-top:none}.pengeluaran-tanggal{font-family:var(--font-display);color:var(--ink);font-size:14px;font-weight:600}.pengeluaran-deskripsi{color:var(--ink);margin-top:3px;font-size:14px;font-weight:600}.pengeluaran-kat{background:var(--pink-bg);color:var(--pink-deep);letter-spacing:.06em;text-transform:uppercase;border-radius:6px;margin-right:6px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-block}.pengeluaran-sumber{background:var(--surface-2);color:var(--ink-soft);letter-spacing:.04em;border:1px solid var(--line);border-radius:6px;margin-right:6px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-block}.pengeluaran-catatan{color:var(--ink-soft);margin-top:3px;font-size:12.5px;font-style:italic}.pengeluaran-jml{font-family:var(--font-display);color:var(--pink-deep);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:20px;font-weight:600}.pengeluaran-actions{align-items:center;gap:6px;display:flex}@media (width<=700px){.landing-grid{grid-template-columns:1fr}.salah-row{grid-template-columns:1fr auto}.salah-tanggal{grid-column:1/-1}.salah-info{grid-column:1}.salah-jumlah{grid-column:2}.pengeluaran-row{grid-template-columns:1fr;gap:8px}.pengeluaran-jml{text-align:right}.pengeluaran-actions{justify-content:flex-end}}.thumb-cta svg{width:18px;height:18px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand .logo{background:var(--yellow);width:52px;height:52px;color:var(--ink);box-shadow:var(--shadow-card);border-radius:16px;flex:none;place-items:center;display:grid;overflow:hidden}.brand .logo img{object-fit:contain;width:70%;height:70%}.brand-text{flex-direction:column;line-height:1.05;display:flex}.brand-text .kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--pink-deep);font-size:11px;font-weight:700}.brand-text .name{font-family:var(--font-display);color:var(--ink);white-space:nowrap;font-size:24px;font-weight:600}.topbar-right{align-items:center;gap:14px;display:flex}.clock-chip{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-pill);box-shadow:var(--shadow-card);align-items:center;gap:12px;padding:8px 8px 8px 18px;display:flex}.clock-chip .lbl{color:var(--ink-soft);font-size:12px;font-weight:700}.clock-chip .now{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:0;font-size:20px;font-weight:600}.clock-chip .now .sec{color:var(--pink)}.clock-chip .pulse{background:var(--yellow);width:38px;height:38px;color:var(--ink);border-radius:50%;place-items:center;display:grid}.clock-chip .pulse svg{width:20px;height:20px}.hero{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:var(--card-border,none);padding:clamp(22px,3vw,36px);position:relative;overflow:hidden}.hero-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.hero .date-pill{background:var(--pink-bg);color:var(--pink-deep);letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius-pill);align-items:center;gap:8px;padding:7px 14px;font-size:12px;font-weight:700;display:inline-flex}.hero .date-pill svg{width:14px;height:14px}.hero h1{color:var(--ink);margin:6px 0 10px;font-size:clamp(34px,5.5vw,58px);font-weight:600;line-height:1}.hero h1 .wave{transform-origin:70% 70%;animation:2.4s ease-in-out infinite wave;display:inline-block}@keyframes wave{0%,60%,to{transform:rotate(0)}10%{transform:rotate(16deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}}.hero .sub{color:var(--ink-soft);max-width:60ch;font-size:clamp(15px,1.6vw,18px);line-height:1.5}.hero--compact{padding:clamp(16px,2vw,26px)}.hero--compact .date-pill{padding:5px 11px;font-size:11px}.hero--compact h1{margin:4px 0 6px;font-size:clamp(26px,3.6vw,40px)}.hero--compact .sub{font-size:clamp(13px,1.2vw,15px);line-height:1.45}.hero--compact .hero-stats{gap:8px;margin-top:14px}.hero--compact .stat{gap:8px;padding:8px 13px}.hero--compact .stat .num{font-size:18px}.hero--compact .stat .lbl{font-size:11px}.hero--compact .stat .dot{width:8px;height:8px}.hero--compact .mini-chart{gap:6px;height:96px;margin-top:14px;padding:10px}.hero--compact .mini-chart-bar{border-radius:5px 5px 0 0;max-width:30px}.hero--compact .mini-chart-lbl{font-size:9.5px}.hero-edit-btn{color:var(--ink-soft);background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:7px 13px;font-size:13px;font-weight:700;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.hero-edit-btn:hover{background:var(--yellow-bg);color:var(--yellow-deep);border-color:var(--yellow)}.hero-edit-btn svg{width:14px;height:14px}.hero-edit-form{background:var(--surface-2);border:1.5px dashed var(--primary-2);border-radius:var(--radius);flex-direction:column;gap:14px;margin-top:10px;padding:18px;display:flex}.hero-edit-form .field{margin:0}.hero-edit-textarea{resize:vertical;min-height:64px;line-height:1.5}.hero-edit-actions{flex-wrap:wrap;gap:8px;display:flex}.harga-cat-head{font-family:var(--font-display);color:var(--ink);margin-bottom:2px;font-size:14px;font-weight:600}.harga-cat-list{flex-direction:column;gap:8px;display:flex}.harga-cat-row{grid-template-columns:56px 1fr 120px 40px;align-items:center;gap:8px;display:grid}.harga-cat-row input{border-radius:var(--radius-sm);border:1.8px solid var(--line);background:var(--surface);color:var(--ink);width:100%;padding:10px 12px;font-size:14px;font-weight:600}.harga-cat-row input:focus{border-color:var(--primary-2);outline:none}.harga-cat-row .rupiah-input{background:var(--surface);padding:0 10px}.harga-cat-row .rupiah-input-rp{font-size:12.5px}.harga-cat-row .rupiah-input input{background:0 0;border:none;padding:10px 0;font-size:14px}.harga-cat-ikon{text-align:center}.harga-cat-del{border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--ink-soft);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.harga-cat-del:hover{color:var(--pink-deep,#c2185b);border-color:var(--pink,#f48fb1)}.harga-cat-del svg{width:16px;height:16px}.btn--sm{align-self:flex-start;padding:8px 12px;font-size:13px}@media (width<=560px){.harga-cat-row{grid-template-columns:48px 1fr 100px 38px;gap:6px}}.hero-stats{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.stat{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius);align-items:center;gap:10px;padding:10px 16px;display:flex}.stat .num{font-family:var(--font-display);color:var(--ink);font-size:22px;font-weight:600;line-height:1}.stat .lbl{color:var(--ink-soft);font-size:12px;font-weight:600}.stat .dot{border-radius:50%;width:10px;height:10px}.shift-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;display:grid}.shift{border-radius:var(--radius-sm);border:1.5px solid #0000;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.shift-head{align-items:center;gap:8px;display:flex}.shift-emoji{flex-shrink:0;font-size:18px;line-height:1}.shift h3{color:var(--ink);font-size:14px;font-weight:700;font-family:var(--font-body);letter-spacing:0;flex:1}.shift-net{letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);white-space:nowrap;padding:3px 8px;font-size:10.5px;font-weight:800;line-height:1.2}.shift-meta{flex-direction:column;gap:2px;display:flex}.shift-time{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:0;font-size:16px;font-weight:600}.shift-desc{color:var(--ink-soft);font-size:12px;line-height:1.4}.shift--pagi{background:var(--yellow-bg);border-color:color-mix(in srgb, var(--yellow) 45%, transparent)}.shift--pagi .shift-net{background:color-mix(in srgb, var(--yellow) 60%, transparent);color:var(--yellow-deep)}.shift--sore{background:var(--pink-bg);border-color:color-mix(in srgb, var(--pink) 35%, transparent)}.shift--sore .shift-net{background:color-mix(in srgb, var(--pink) 50%, transparent);color:var(--pink-deep)}.shift--penuh{background:color-mix(in srgb, var(--primary-2) 10%, var(--surface));border-color:color-mix(in srgb, var(--primary-2) 25%, transparent)}.shift--penuh .shift-net{background:color-mix(in srgb, var(--primary-2) 22%, transparent);color:var(--primary)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.section-head h2{color:var(--ink);align-items:center;gap:12px;font-size:clamp(24px,3vw,34px);font-weight:600;display:flex}.section-head .count-badge{font-family:var(--font-body);background:var(--primary);color:var(--on-primary);border-radius:var(--radius-pill);place-items:center;min-width:30px;height:30px;padding:0 10px;font-size:14px;font-weight:800;display:grid}.btn{border-radius:var(--radius-sm);white-space:nowrap;justify-content:center;align-items:center;gap:9px;min-width:0;padding:13px 20px;font-size:15px;font-weight:700;transition:transform .12s,box-shadow .2s,background .2s;display:inline-flex}.btn:active{transform:translateY(1px)scale(.99)}.btn svg{flex-shrink:0;width:18px;height:18px}.btn--primary{background:var(--primary);color:var(--on-primary);box-shadow:0 10px 22px -12px var(--primary)}.btn--primary:hover{background:var(--primary-2)}.btn--pink{background:var(--pink);color:#fff;box-shadow:0 10px 22px -12px var(--pink)}.btn--pink:hover{filter:brightness(1.04)}.btn--yellow{background:var(--yellow);color:var(--yellow-deep)}.btn--ghost{background:var(--surface-2);color:var(--ink);border:1.5px solid var(--line)}.btn--ghost:hover{background:var(--surface)}.btn--block{width:100%}.btn--lg{padding:16px 24px;font-size:16px}.btn--add{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-card);border-radius:var(--radius);padding:14px 22px;font-size:16px}.btn--add:hover{background:var(--primary-2);transform:translateY(-2px)}.btn[disabled]{opacity:.5;cursor:not-allowed}.emp-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:20px;display:grid}.emp-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:var(--card-border,none);flex-direction:column;gap:16px;padding:22px;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s;display:flex;position:relative;overflow:hidden}.emp-card:hover{box-shadow:var(--shadow-float);transform:translateY(-4px)}.emp-card .accent-strip{background:linear-gradient(90deg, var(--yellow), var(--pink), var(--primary-2));height:6px;position:absolute;top:0;left:0;right:0}.emp-top{align-items:flex-start;gap:14px;display:flex}.avatar{width:54px;height:54px;font-family:var(--font-display);color:#fff;border-radius:16px;flex:none;place-items:center;font-size:20px;font-weight:600;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.emp-id{flex:1;min-width:0}.emp-id .nm{font-family:var(--font-display);color:var(--ink);font-size:21px;font-weight:600;line-height:1.1}.emp-id .role{color:var(--ink-soft);margin-top:2px;font-size:13.5px;font-weight:600}.emp-x{width:32px;height:32px;color:var(--muted);border-radius:10px;flex:none;place-items:center;transition:background .15s,color .15s;display:grid}.emp-x:hover{background:var(--pink-bg);color:var(--pink-deep)}.emp-x svg{width:16px;height:16px}.badges{flex-wrap:wrap;gap:8px;display:flex}.badge{letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:6px;padding:6px 11px;font-size:11.5px;font-weight:800;line-height:1;display:inline-flex}.badge svg{width:13px;height:13px}.badge--pagi{background:var(--yellow-bg);color:var(--yellow-deep)}.badge--sore{background:var(--pink-bg);color:var(--pink-deep)}.badge--penuh{background:color-mix(in srgb,var(--primary-2) 16%, transparent);color:var(--primary)}.badge--none{background:var(--surface-2);color:var(--muted)}.badge--cuti{background:var(--mint-bg);color:var(--mint-deep)}.badge--libur{background:var(--surface-2);color:var(--ink-soft);border:1px dashed var(--line)}.badge--working{background:var(--mint-bg);color:var(--mint-deep)}.badge--done{background:color-mix(in srgb,var(--primary-2) 14%, transparent);color:var(--primary)}.badge--idle{background:var(--surface-2);color:var(--ink-soft)}.badge--pin-on{background:var(--mint-bg);color:var(--mint-deep)}.badge--pin-off{background:var(--yellow-bg);color:var(--yellow-deep)}.badge--late{color:#c2410c;background:#ffe3e0}.badge--overlap{background:var(--yellow-bg);color:var(--yellow-deep)}.badge--skip{background:var(--pink-bg);color:var(--pink-deep)}.badge .live-dot{background:currentColor;border-radius:50%;width:7px;height:7px;animation:1.4s infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.metrics{background:var(--surface-2);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:16px 12px;padding:16px;display:grid}.metric .k{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.metric .v{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;margin-top:3px;font-size:26px;font-weight:600;line-height:1.1}.metric .v.empty{color:var(--muted);font-weight:500}.metric .v.late{color:#e8590c}.metric .v.over{color:var(--mint-deep)}.emp-actions{flex-wrap:wrap;gap:10px;margin-top:auto;display:flex}.emp-actions .btn{flex:1}.emp-actions .btn--ghost{flex:none}.work-banner{white-space:nowrap;background:var(--mint-bg);color:var(--mint-deep);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:10px 14px;font-size:13.5px;font-weight:700;display:flex}.work-banner svg{width:16px;height:16px}.work-banner .timer{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin-left:auto;font-size:16px}.overlay{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#14204c8c;place-items:center;padding:20px;animation:.2s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--radius-lg);width:min(440px,100%);max-height:92vh;box-shadow:var(--shadow-float);border:var(--card-border,none);animation:.28s cubic-bezier(.2,.9,.3,1.2) pop;position:relative;overflow:auto}.modal--wide{width:min(560px,100%)}@keyframes pop{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:none}}.modal-head{border-bottom:1.5px solid var(--line);align-items:center;gap:14px;padding:22px 24px;display:flex}.modal-head .m-title{font-family:var(--font-display);color:var(--ink);font-size:22px;font-weight:600;line-height:1.1}.modal-head .m-sub{color:var(--ink-soft);margin-top:2px;font-size:13px}.modal-head .m-close{background:var(--surface-2);width:36px;height:36px;color:var(--ink-soft);border-radius:12px;place-items:center;margin-left:auto;display:grid}.modal-head .m-close:hover{background:var(--pink-bg);color:var(--pink-deep)}.modal-head svg{width:20px;height:20px}.modal-body{padding:24px}.pin-dots{justify-content:center;gap:14px;margin:8px 0 22px;display:flex}.pin-dot{border:2.5px solid var(--line);border-radius:50%;width:18px;height:18px;transition:transform .15s,background .15s,border-color .15s}.pin-dot.filled{background:var(--primary);border-color:var(--primary);transform:scale(1.12)}.pin-dot.err{border-color:var(--pink);background:var(--pink);animation:.4s shake}.keypad{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.key{border-radius:var(--radius);background:var(--surface-2);height:64px;font-family:var(--font-display);color:var(--ink);border:1.5px solid var(--line);place-items:center;font-size:26px;font-weight:600;transition:transform .1s,background .15s;display:grid}.key:hover{background:var(--yellow-bg)}.key:active{background:var(--yellow);transform:scale(.94)}.key--fn{font-size:15px;font-family:var(--font-body);color:var(--ink-soft);background:0 0;border-color:#0000;font-weight:700}.key--fn:hover{background:var(--surface-2)}.key svg{width:24px;height:24px}.pin-msg{text-align:center;min-height:20px;margin-top:14px;font-size:13.5px;font-weight:700}.pin-msg.err{color:var(--pink-deep);animation:.4s shake}.pin-msg.ok{color:var(--mint-deep)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.pin-hint{text-align:center;color:var(--muted);margin-top:14px;font-size:12.5px;line-height:1.5}.pin-hint b{color:var(--ink-soft)}.field{margin-bottom:18px}.field label{color:var(--ink);margin-bottom:7px;font-size:13px;font-weight:700;display:block}.field input[type=text],.field input[type=email],.field input[type=password],.field input[type=number],.field input[type=date],.field input[type=time],.field input[type=tel],.field input[type=search],.field input:not([type]),.field textarea{border-radius:var(--radius-sm);border:1.8px solid var(--line);background:var(--surface-2);width:100%;color:var(--ink);padding:13px 15px;font-size:15px;font-weight:600;transition:border-color .15s,box-shadow .15s}.field input:focus,.field textarea:focus{border-color:var(--primary-2);box-shadow:var(--ring);background:var(--surface);outline:none}.field label.show-password{color:var(--ink-soft);cursor:pointer;align-items:center;gap:7px;margin:8px 0 0;font-size:13px;font-weight:600;display:flex}.field label.show-password input[type=checkbox]{cursor:pointer;width:auto;accent-color:var(--primary-2);margin:0}.shift-pick{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.shift-opt{border:2px solid var(--line);border-radius:var(--radius-sm);text-align:center;background:var(--surface-2);padding:12px 10px;transition:all .15s}.shift-opt .so-emoji{font-size:22px}.shift-opt .so-name{color:var(--ink);margin-top:4px;font-size:12.5px;font-weight:800}.shift-opt .so-time{color:var(--ink-soft);margin-top:2px;font-size:11px}.shift-opt.sel{border-color:var(--primary-2);background:color-mix(in srgb,var(--primary-2) 10%, var(--surface));box-shadow:var(--ring)}.shift-opt:hover{border-color:var(--primary-2)}.shift-opt--cuti:hover{border-color:var(--mint)}.shift-opt--libur:hover{border-color:var(--ink-soft)}.shift-pick-sep{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:14px 0 8px;font-size:11px;font-weight:700}.shift-pick--off{grid-template-columns:repeat(2,1fr)}.role-pick{flex-wrap:wrap;gap:8px;display:flex}.role-opt{border-radius:var(--radius-pill);border:1.8px solid var(--line);background:var(--surface-2);color:var(--ink-soft);padding:9px 15px;font-size:13px;font-weight:700;transition:all .15s}.role-opt.sel{background:var(--pink);color:#fff;border-color:var(--pink)}.hist-list{flex-direction:column;gap:10px;display:flex}.hist-row{background:var(--surface-2);border-radius:var(--radius-sm);grid-template-columns:1fr auto;align-items:center;gap:14px;padding:13px 16px;display:grid}.hist-row .h-date{color:var(--ink);font-size:13px;font-weight:800}.hist-row .h-shift{color:var(--ink-soft);margin-top:2px;font-size:12px;font-weight:600}.hist-row .h-times{gap:18px;display:flex}.hist-row .h-times .ht{text-align:center}.hist-row .h-times .ht .hk{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:9.5px;font-weight:800}.hist-row .h-times .ht .hv{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.hist-empty{text-align:center;color:var(--muted);padding:30px 0;font-weight:600}.toast-wrap{z-index:80;pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:#fff;border-radius:var(--radius-pill);box-shadow:var(--shadow-float);align-items:center;gap:11px;padding:13px 20px;font-size:14px;font-weight:700;animation:.35s cubic-bezier(.2,.9,.3,1.2) toastIn;display:flex}.toast .t-ic{border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:grid}.toast.ok .t-ic{background:var(--mint);color:#fff}.toast.info .t-ic{background:var(--yellow);color:var(--ink)}.toast.warn .t-ic{background:var(--pink);color:#fff}.toast svg{width:15px;height:15px}@keyframes toastIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.theme-switch:not(.theme-switch--inline){z-index:70;border-radius:var(--radius-pill);background:var(--surface);box-shadow:var(--shadow-float);border:1.5px solid var(--line);gap:7px;padding:7px;display:flex;position:fixed;bottom:22px;right:22px}.theme-switch .ts-btn{border-radius:var(--radius-pill);color:var(--ink-soft);align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:700;transition:all .15s;display:flex}.theme-switch .ts-btn .sw{border-radius:5px;width:16px;height:16px}.theme-switch .ts-btn.active{background:var(--primary);color:var(--on-primary)}.theme-switch .ts-btn:not(.active):hover{background:var(--surface-2)}.emp-empty{text-align:center;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:var(--card-border,none);grid-column:1/-1;padding:50px 20px}.emp-empty .ee-emoji{font-size:46px}.emp-empty h3{margin:12px 0 6px;font-size:22px}.emp-empty p{color:var(--ink-soft);margin:0 0 18px}.back-link{border-radius:var(--radius-pill);color:var(--ink-soft);background:var(--surface);border:1.5px solid var(--line);align-self:flex-start;align-items:center;gap:8px;padding:8px 14px;font-size:13.5px;font-weight:700;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.back-link:hover{background:var(--surface-2);color:var(--ink);border-color:var(--ink-soft)}.back-link svg{flex-shrink:0;width:16px;height:16px}.detail-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:var(--card-border,none);margin-bottom:20px;padding:clamp(20px,3vw,28px)}.detail-card h2{color:var(--ink);margin-bottom:12px;font-size:22px;font-weight:600}.ringkasan-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.ringkasan-item{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius);padding:14px}.ringkasan-item.tone-primary{background:color-mix(in srgb, var(--primary-2) 14%, var(--surface));border-color:color-mix(in srgb, var(--primary-2) 30%, transparent)}.ringkasan-item.tone-success{background:var(--mint-bg);border-color:color-mix(in srgb, var(--mint) 35%, transparent)}.ringkasan-item.tone-danger{background:#ffe3e0;border-color:#c2410c4d}.ringkasan-item.tone-warning{background:var(--yellow-bg);border-color:color-mix(in srgb, var(--yellow) 40%, transparent)}.ringkasan-item.tone-muted{background:var(--surface-2)}.ringkasan-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px;font-weight:800}.ringkasan-value{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;margin-top:4px;font-size:22px;font-weight:600}.ringkasan-item.tone-success .ringkasan-value{color:var(--mint-deep)}.ringkasan-item.tone-danger .ringkasan-value{color:#c2410c}.ringkasan-item.tone-warning .ringkasan-value{color:var(--yellow-deep)}.ringkasan-item.tone-primary .ringkasan-value{color:var(--primary)}.ringkasan-hint{color:var(--ink-soft);margin-top:4px;font-size:12px}.overlap-banner{color:var(--yellow-deep);background:var(--yellow-bg);border:1.5px solid color-mix(in srgb, var(--yellow) 50%, transparent);border-radius:var(--radius);margin-bottom:12px;padding:12px 14px;font-size:14px;line-height:1.5}.overlap-banner.skip-banner{color:var(--pink-deep);background:var(--pink-bg);border-color:color-mix(in srgb, var(--pink) 45%, transparent)}.overlap-banner.skip-banner strong{color:var(--pink-deep)}.overlap-banner strong{color:var(--ink);font-variant-numeric:tabular-nums}.overlap-sub{opacity:.85;margin-top:6px;font-size:13px;font-style:italic}.overlap-banner.manual-banner{color:var(--ink);background:var(--surface-2);border-color:color-mix(in srgb, var(--primary-2) 45%, transparent)}.overlap-banner.pending-banner{color:var(--yellow-deep);background:var(--yellow-bg);border-color:color-mix(in srgb, var(--yellow) 55%, transparent)}.overlap-banner.extra-banner{color:var(--mint-deep);background:color-mix(in srgb, var(--mint) 14%, transparent);border-color:color-mix(in srgb, var(--mint) 45%, transparent)}.overlap-banner.extra-banner strong{color:var(--mint-deep)}.absen-tanggal-pick{flex-direction:column;align-items:flex-start;gap:4px;margin-left:auto;display:flex}.absen-tanggal-label{color:var(--ink-soft);font-size:12px;font-weight:600}.absen-tanggal-pick .edit-time{min-width:150px}.riwayat-row.riwayat-pending{background:var(--yellow-bg);border-radius:var(--radius-sm)}.timeline-help{color:var(--ink-soft);background:var(--surface-2);border-radius:var(--radius-sm);margin:8px 0 14px;padding:10px 14px;font-size:13px}.timeline-help strong{color:var(--primary)}.timeline-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.timeline-item{background:var(--surface-2);border-radius:var(--radius);border:1.5px solid var(--line);grid-template-columns:40px 1fr auto auto;align-items:center;gap:14px;padding:14px;display:grid}.timeline-item.done{background:var(--surface)}.timeline-ikon{text-align:center;font-size:22px}.timeline-label{color:var(--ink);font-weight:700}.timeline-jadwal{color:var(--ink-soft);font-size:12px}.timeline-jam{text-align:right}.timeline-aktual{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.timeline-info{font-size:12px;font-weight:700}.timeline-info.tone-success{color:var(--mint-deep)}.timeline-info.tone-danger{color:#c2410c}.timeline-info.tone-warning{color:var(--yellow-deep)}.timeline-info.tone-muted{color:var(--muted)}.timeline-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.btn-mini{background:color-mix(in srgb, var(--primary-2) 12%, transparent);color:var(--primary);border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700}.btn-mini:hover{background:color-mix(in srgb, var(--primary-2) 22%, transparent)}.btn-mini-edit{background:var(--surface);color:var(--ink-soft);border:1.5px solid var(--line)}.btn-mini-edit:hover{background:var(--surface-2);color:var(--primary);border-color:var(--primary)}.btn-mini-skip{background:var(--pink-bg);color:var(--pink-deep);border:1.5px solid color-mix(in srgb, var(--pink) 30%, transparent)}.btn-mini-skip:hover{background:color-mix(in srgb, var(--pink) 20%, var(--surface))}.audit-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:6px;align-items:center;margin-top:4px;padding:3px 8px;font-size:10.5px;font-weight:800;display:inline-flex}.audit-manual{background:var(--yellow-bg);color:var(--yellow-deep);border:1.5px solid color-mix(in srgb, var(--yellow) 40%, transparent)}.audit-edit{background:color-mix(in srgb, var(--primary-2) 15%, transparent);color:var(--primary);border:1.5px solid color-mix(in srgb, var(--primary-2) 30%, transparent)}.audit-overlap{background:var(--yellow-bg);color:var(--yellow-deep);border:1.5px solid color-mix(in srgb, var(--yellow) 40%, transparent)}.audit-skip{background:var(--pink-bg);color:var(--pink-deep);border:1.5px solid color-mix(in srgb, var(--pink) 40%, transparent)}.audit-extra{background:var(--mint-bg,color-mix(in srgb, var(--mint) 18%, transparent));color:var(--mint-deep);border:1.5px solid color-mix(in srgb, var(--mint) 45%, transparent)}.audit-closing{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary);border:1.5px solid color-mix(in srgb, var(--primary) 32%, transparent);cursor:help}.closing-body{padding:20px 24px 24px}.closing-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.closing-item{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.closing-item:hover{border-color:var(--primary-2)}.closing-item.done{background:color-mix(in srgb, var(--mint) 12%, transparent);border-color:color-mix(in srgb, var(--mint) 45%, transparent)}.closing-item input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);cursor:pointer;flex:none}.closing-item-label{color:var(--ink);flex:1;font-size:15px;font-weight:600}.closing-item.done .closing-item-label{color:var(--ink-soft);text-decoration:line-through}.closing-item-time{color:var(--mint-deep);white-space:nowrap;font-size:12px;font-weight:800}.closing-foot{border-top:1.5px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.closing-status{color:var(--ink-soft);font-size:13px;font-weight:700}.closing-status.ok{color:var(--mint-deep)}.closing-actions{gap:10px;margin-left:auto;display:flex}@media (width<=480px){.closing-actions{width:100%}.closing-actions .btn{flex:1;justify-content:center}}.closing-cfg-list{flex-direction:column;gap:10px;display:flex}.closing-cfg-row{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:8px;padding:12px;display:flex}.closing-cfg-main{align-items:center;gap:8px;display:flex}.closing-cfg-num{color:var(--ink-soft);flex:none;min-width:20px;font-size:13px;font-weight:800}.closing-cfg-main input[type=text]{flex:1;min-width:0}.closing-cfg-shifts{flex-wrap:wrap;align-items:center;gap:8px;padding-left:28px;display:flex}.closing-cfg-shifts-label{color:var(--ink-soft);font-size:12px;font-weight:700}.shift-toggle{border:1.5px solid var(--border);background:var(--surface-2);color:var(--ink-soft);cursor:pointer;text-transform:capitalize;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:800;transition:all .15s}.shift-toggle:hover{border-color:var(--primary-2)}.shift-toggle.on{background:var(--primary);border-color:var(--primary);color:#fff}.closing-cfg-warn{color:var(--pink-deep);font-size:11.5px;font-weight:700}.closing-cfg-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.edit-panel{background:var(--surface);border:1.5px dashed var(--primary-2);border-radius:var(--radius);flex-direction:column;grid-column:1/-1;gap:10px;margin-top:8px;padding:14px;display:flex}.edit-label{color:var(--ink-soft);font-size:13px;font-weight:700}.edit-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.edit-time{min-width:140px;font-family:var(--font-display);font-variant-numeric:tabular-nums;border-radius:var(--radius-sm);border:1.8px solid var(--line);background:var(--surface-2);color:var(--ink);flex:1;padding:10px 14px;font-size:17px;font-weight:600}.edit-hint{color:var(--muted);font-size:12px;font-style:italic}.riwayat-table{flex-direction:column;gap:6px;margin-top:12px;display:flex}.riwayat-row{background:var(--surface-2);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;grid-template-columns:2fr 1.2fr repeat(5,1fr);align-items:center;gap:10px;padding:12px;font-size:14px;display:grid}.riwayat-row.riwayat-head{text-transform:uppercase;color:var(--muted);letter-spacing:.06em;background:0 0;padding:8px 12px;font-size:11px;font-weight:800}.riwayat-bulan{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.riwayat-bulan-head{z-index:2;background:color-mix(in srgb, var(--primary-2) 14%, var(--surface));width:100%;font:inherit;text-align:left;cursor:pointer;border:none;border-bottom:1.5px solid #0000;align-items:center;gap:10px;padding:12px 14px;transition:background .15s;display:flex;position:sticky;top:0}.riwayat-bulan-head:hover{background:color-mix(in srgb, var(--primary-2) 22%, var(--surface))}.riwayat-bulan-buka>.riwayat-bulan-head{border-bottom-color:color-mix(in srgb, var(--primary-2) 30%, var(--line))}.riwayat-bulan-chevron{color:var(--primary);font-size:13px;line-height:1;transition:transform .18s}.riwayat-bulan-buka>.riwayat-bulan-head .riwayat-bulan-chevron{transform:rotate(180deg)}.riwayat-bulan-nama{font-family:var(--font-display);color:var(--ink);letter-spacing:.01em;font-size:15px;font-weight:700}.riwayat-bulan-meta{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:12px;font-weight:700}.riwayat-bulan-rows{flex-direction:column;gap:6px;padding:10px;display:flex}.riwayat-tanggal{color:var(--ink);font-weight:700}.riwayat-edit-btn{margin-top:6px;display:inline-flex}.riwayat-row.riwayat-editing{outline:2px solid color-mix(in srgb, var(--primary-2) 55%, transparent)}.riwayat-edit-panel{background:var(--surface-2);border-radius:var(--radius-sm);border:1.5px dashed color-mix(in srgb, var(--primary-2) 40%, transparent);margin-top:-2px;padding:14px}.riwayat-edit-panel .edit-grid,.riwayat-edit-panel .edit-jam-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 14px;display:grid}.riwayat-edit-panel .edit-jam-grid{margin-top:12px}.riwayat-edit-panel .edit-field{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.riwayat-edit-panel .edit-field .edit-time{width:100%}.riwayat-edit-panel .edit-jadwal{color:var(--muted);font-style:italic;font-weight:500}.riwayat-edit-panel .edit-hint{color:var(--ink-soft);margin:12px 0 10px;font-size:12px;line-height:1.5}.riwayat-edit-panel .edit-row{align-items:center;gap:8px;display:flex}.riwayat-edit-panel .edit-extra-grid{margin-top:12px}.riwayat-edit-panel .edit-field-wide{grid-column:1/-1}.tone-danger{color:#c2410c;font-weight:700}.tone-success{color:var(--mint-deep);font-weight:700}.tone-muted{color:var(--muted)}.bottom-actions{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.bottom-actions .btn{flex:1;min-width:160px}.profil-cards{grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:16px;display:grid}.profil-card{text-align:left;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:14px;padding:18px;transition:border-color .15s,transform .1s,box-shadow .15s;display:flex}.profil-card:hover{border-color:var(--primary-2);box-shadow:var(--shadow-card-hover,var(--shadow-card));transform:translateY(-2px)}.profil-card-top{align-items:center;gap:12px;display:flex}.profil-card-top .avatar{width:56px;height:56px;font-size:21px}.profil-card .nm{font-family:var(--font-display);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:600;line-height:1.15;overflow:hidden}.profil-card .role{color:var(--ink-soft);margin-top:1px;font-size:13px;font-weight:600}.profil-card-meta{flex-direction:column;gap:4px;display:flex}.profil-card-nik{letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:800}.profil-card-hp{color:var(--ink-soft);font-size:13px;font-weight:600}.profil-card-foot{gap:8px;display:flex}.profil-card-stat{background:var(--surface-2);border-radius:var(--radius);flex-direction:column;flex:1;gap:1px;padding:8px 10px;display:flex}.profil-card-stat .k{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:10.5px;font-weight:800}.profil-card-stat .v{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.profil-sheet{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-lg);max-width:680px;box-shadow:var(--shadow-card);padding:clamp(20px,3vw,34px)}.profil-sheet-head{border-bottom:1.5px solid var(--line);align-items:center;gap:16px;margin-bottom:4px;padding-bottom:18px;display:flex}.profil-sheet-head .nm{font-family:var(--font-display);color:var(--ink);font-size:23px;font-weight:600;line-height:1.15}.profil-sheet-head .role{color:var(--ink-soft);margin-top:2px;font-size:14px;font-weight:600}.profil-nik{letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:12.5px;font-weight:800}.profil-sheet-head .avatar{width:64px;height:64px;font-size:24px}.profil-sheet-sect{margin-top:22px}.profil-sheet-sect h3{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:6px;font-size:11.5px;font-weight:800}.profil-row{border-bottom:1px dotted var(--line);justify-content:space-between;gap:16px;padding:10px 0;font-size:15px;display:flex}.profil-row:last-child{border-bottom:none}.profil-row-label{color:var(--ink-soft);font-weight:600}.profil-row-val{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.detail-head{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:var(--card-border,none);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;padding:22px;display:flex}.detail-head .avatar-lg{border-radius:20px;width:70px;height:70px;font-size:26px}.detail-head .nm{font-size:22px;font-weight:600;font-family:var(--font-display);color:var(--ink)}.detail-head .role{color:var(--ink-soft);font-size:14px;font-weight:600}.detail-head .tanggal{color:var(--ink-soft);margin-top:2px;font-size:13px}.detail-clock{background:var(--primary);color:var(--on-primary);border-radius:var(--radius);text-align:center;margin-left:auto;padding:16px 22px}.detail-clock .jam{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:clamp(28px,5vw,40px);font-weight:600}.detail-clock .zone{opacity:.85;letter-spacing:.1em;text-transform:uppercase;font-size:11px}.next-action{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:10px;margin-top:16px;padding:18px;display:flex}.next-action.selesai{background:var(--mint-bg);color:var(--mint-deep);border-color:color-mix(in srgb, var(--mint) 35%, transparent)}.next-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;font-weight:800}.next-action.selesai .next-label{color:var(--mint-deep)}.next-value{font-family:var(--font-display);color:var(--ink);font-size:20px;font-weight:600}.next-jadwal{font-family:var(--font-body);color:var(--ink-soft);font-size:14px;font-weight:600}.next-buttons{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;display:flex}.next-buttons .btn{flex:1;min-width:180px}.shift-bar{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.shift-bar-info{flex-wrap:wrap;flex:1;align-items:center;gap:10px;display:flex}.shift-bar-rentang{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:13px}.shift-bar-opsi{flex-wrap:wrap;gap:8px;width:100%;margin-top:4px;display:flex}.shift-opsi{border-radius:var(--radius-pill);border:1.5px solid var(--line);background:var(--surface);color:var(--ink-soft);padding:8px 14px;font-size:13px;font-weight:700}.shift-opsi:hover{background:var(--surface-2);border-color:var(--primary);color:var(--primary)}.btn-mini-ghost{padding:6px 12px;font-size:13px}.pin-form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.pin-input{letter-spacing:8px;text-align:center;font-size:22px;font-weight:700;font-family:var(--font-display)}.form-hint{color:var(--ink-soft);background:var(--surface-2);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.form-error{color:var(--pink-deep);background:var(--pink-bg);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;font-weight:700}.mini-chart{background:var(--surface-2);border-radius:var(--radius);border:1.5px solid var(--line);grid-template-columns:repeat(7,1fr);align-items:end;gap:8px;height:140px;margin-top:22px;padding:14px;display:grid}.mini-chart-col{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.mini-chart-bar{background:linear-gradient(180deg, var(--primary-2), var(--mint));border-radius:6px 6px 0 0;width:100%;max-width:36px;min-height:4px;transition:height .3s}.mini-chart-bar.today{background:linear-gradient(180deg, var(--yellow), var(--pink));box-shadow:0 0 0 2px var(--ink) inset}.mini-chart-lbl{color:var(--ink-soft);font-size:10px;font-weight:700}.income-list{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px;display:grid}.income-list--list{grid-template-columns:1fr;gap:12px}.income-list--list .income-card{padding:18px 22px}.income-list--list .income-card:hover{box-shadow:var(--shadow-card);transform:none}.income-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:var(--card-border,none);flex-direction:column;gap:14px;padding:22px;transition:transform .2s,box-shadow .2s;display:flex}.income-card:hover{box-shadow:var(--shadow-float);transform:translateY(-3px)}.income-card-head{justify-content:space-between;align-items:flex-start;gap:12px;padding-right:40px;display:flex}.income-card-delete{width:32px;height:32px;color:var(--muted);z-index:2;background:0 0;border-radius:10px;place-items:center;transition:background .15s,color .15s,transform .12s;display:grid;position:absolute;top:12px;right:12px}.income-card-delete:hover{background:var(--pink-bg);color:var(--pink-deep);transform:scale(1.08)}.income-card-delete:active{transform:scale(.94)}.income-card-delete svg{width:16px;height:16px}.income-card-tanggal{font-family:var(--font-display);color:var(--ink);font-size:17px;font-weight:600;line-height:1.2}.income-card-sub{color:var(--ink-soft);margin-top:3px;font-size:12.5px;font-weight:600}.income-card-total{text-align:right}.income-card-total-num{font-family:var(--font-display);color:var(--mint-deep);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1.1}.income-card-total-lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:2px;font-size:10px;font-weight:800}.income-card-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.income-card-mini{background:var(--surface-2);border-radius:var(--radius-sm);border:1.5px solid var(--line);padding:10px 14px}.income-card-mini-lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:800}.income-card-mini-val{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;margin-top:2px;font-size:16px;font-weight:600}.income-perkar{background:var(--surface-2);border-radius:var(--radius-sm);border:1.5px solid var(--line);flex-direction:column;gap:4px;padding:10px 14px;display:flex}.income-perkar-row{grid-template-columns:1fr auto auto;align-items:baseline;gap:10px;font-size:13px;display:grid}.income-perkar-nama{color:var(--ink);font-weight:700}.income-perkar-rinci{color:var(--ink-soft);font-size:12px}.income-perkar-total{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--mint-deep);font-weight:600}.income-keterangan{color:var(--ink-soft);background:var(--yellow-bg);border-radius:var(--radius-sm);border:1.5px solid color-mix(in srgb, var(--yellow) 40%, transparent);padding:10px 14px;font-size:13px;line-height:1.5}.income-keterangan-lbl{color:var(--yellow-deep);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:800}.income-card-actions{gap:8px;display:flex}.income-card-actions .btn{flex:1}.income-group{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius);margin-bottom:14px;padding:16px}.income-group-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.income-group-ikon{font-size:22px}.income-group-judul{font-family:var(--font-display);color:var(--ink);font-size:17px;font-weight:600}.income-group-sub{color:var(--ink-soft);margin-top:2px;font-size:12px;font-weight:600}.acc{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.acc.is-open{border-color:color-mix(in srgb, var(--primary) 35%, var(--line))}.acc-head{cursor:pointer;text-align:left;width:100%;color:var(--ink);font:inherit;background:0 0;border:none;align-items:center;gap:11px;padding:14px 16px;display:flex}.acc-head:hover{background:color-mix(in srgb, var(--primary) 5%, transparent)}.acc-ikon{flex-shrink:0;font-size:21px;line-height:1}.acc-titles{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.acc-judul{font-family:var(--font-display);color:var(--ink);font-size:16px;font-weight:600}.acc-summary{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;font-weight:600;overflow:hidden}.acc-chev{color:var(--ink-soft);flex-shrink:0;transition:transform .18s;display:inline-flex}.acc-chev.is-open{transform:rotate(90deg)}.acc-body{padding:0 16px 16px}.upgrade-section{background:color-mix(in srgb, var(--pink) 6%, var(--surface-2));border:1.5px solid color-mix(in srgb, var(--pink) 25%, transparent);border-radius:var(--radius);margin-bottom:14px;padding:16px}.upgrade-section-head{align-items:center;gap:10px;margin-bottom:14px;display:flex}.upgrade-section-ikon{font-size:22px}.upgrade-section-judul{font-family:var(--font-display);color:var(--ink);font-size:17px;font-weight:600}.upgrade-section-sub{color:var(--ink-soft);margin-top:2px;font-size:12px;font-weight:600}.upgrade-group{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-sm);margin-top:10px;padding:12px 14px}.upgrade-group:first-of-type{margin-top:0}.upgrade-group-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.upgrade-group-ikon{font-size:22px}.upgrade-group-info{flex-direction:column;line-height:1.2;display:flex}.upgrade-group-judul{color:var(--ink);font-size:15px;font-weight:700}.upgrade-group-harga{color:var(--ink-soft);font-size:12px;font-weight:600}.upgrade-rows{flex-direction:column;gap:8px;display:flex}.upgrade-row{background:var(--surface-2);border-radius:var(--radius-sm);border:1px solid var(--line);grid-template-columns:1.4fr 1fr;align-items:end;gap:10px;padding:8px 10px;display:grid}.harga-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}@media (width<=500px){.harga-grid{grid-template-columns:1fr}}.income-breakdown{background:var(--surface-2);border-radius:var(--radius-sm);border:1.5px solid var(--line);flex-direction:column;gap:4px;padding:10px 14px;display:flex}.income-breakdown-row{grid-template-columns:1fr auto auto;align-items:baseline;gap:10px;font-size:13px;display:grid}.income-breakdown-qty{color:var(--ink-soft);font-size:12px;font-weight:600}.income-breakdown-val{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--mint-deep);font-weight:600}.uang-besar-bar{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px 16px;display:flex}.uang-besar-info{flex-direction:column;gap:2px;display:flex}.uang-besar-lbl{color:var(--ink-soft);font-size:12px;font-weight:800}.uang-besar-val{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--mint-deep);font-size:22px;font-weight:800}.uang-besar-hint{color:var(--muted);font-size:11px}.penarikan-riwayat{flex-direction:column;gap:8px;margin-top:18px;display:flex}.penarikan-row{background:var(--surface-2);border:1.5px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 12px;display:flex}.penarikan-row-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.penarikan-row-tgl{color:var(--ink);font-size:13px;font-weight:700}.penarikan-row-cat{color:var(--muted);font-size:11px}.penarikan-row-val{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--warn,#b26a00);white-space:nowrap;font-weight:700}.income-rows{flex-direction:column;gap:10px;display:flex}.income-row{background:var(--surface);border-radius:var(--radius-sm);border:1.5px solid var(--line);grid-template-columns:1.4fr 1fr 1fr;align-items:end;gap:10px;padding:10px;display:grid}.income-row-nama{color:var(--ink);align-self:center;font-weight:700}.income-cell{flex-direction:column;gap:4px;display:flex}.income-cell-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:800}.income-cell-input{border-radius:var(--radius-sm);border:1.8px solid var(--line);background:var(--surface-2);color:var(--ink);font-family:var(--font-display);font-variant-numeric:tabular-nums;text-align:center;width:100%;padding:10px 12px;font-size:17px;font-weight:600}.income-cell-input:focus{border-color:var(--primary-2);box-shadow:var(--ring);outline:none}.income-row.is-locked,.upgrade-row.is-locked{opacity:.55}.income-row.is-locked .income-row-nama,.upgrade-row.is-locked .income-row-nama{color:var(--muted);align-items:center;gap:5px;display:flex}.income-row.is-locked .income-row-nama svg,.upgrade-row.is-locked .income-row-nama svg{width:13px;height:13px}.income-cell-input:disabled{cursor:not-allowed;background:var(--surface);color:var(--muted);border-style:dashed}.income-total{background:var(--mint-bg);border:1.5px solid color-mix(in srgb, var(--mint) 35%, transparent);border-radius:var(--radius);flex-direction:column;gap:6px;margin-bottom:16px;padding:14px 18px;display:flex}.income-total-row{color:var(--ink-soft);justify-content:space-between;align-items:baseline;font-size:14px;font-weight:600;display:flex}.income-total-row.income-total-grand{border-top:1.5px dashed color-mix(in srgb, var(--mint) 40%, transparent);color:var(--ink);margin-top:4px;padding-top:10px;font-size:16px;font-weight:800}.income-total-val{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--mint-deep);font-size:16px;font-weight:600}.income-total-grand .income-total-val{font-size:20px}@media (width<=860px){.landing-grid{grid-template-columns:1fr}.income-row{grid-template-columns:1fr;gap:6px}.income-row-nama{border-bottom:1px dashed var(--line);padding-bottom:4px}}.auth-shell{z-index:1;place-items:center;min-height:100svh;padding:clamp(16px,4vw,32px);display:grid;position:relative}.auth-card{z-index:1;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:var(--card-border,none);width:100%;max-width:440px;padding:clamp(24px,4vw,36px);position:relative}.auth-brand{align-items:center;gap:14px;margin-bottom:22px;display:flex}.auth-logo{background:var(--yellow);border-radius:14px;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid;overflow:hidden}.auth-logo img{object-fit:contain;width:72%;height:72%}:root[data-theme=pop] .auth-logo{border:2px solid var(--ink);box-shadow:2px 3px 0 var(--ink)}.auth-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--pink-deep);font-size:10.5px;font-weight:700}.auth-judul{font-family:var(--font-display);color:var(--ink);margin-top:2px;font-size:22px;font-weight:600;line-height:1.15}.auth-tabs{background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:0;margin-bottom:20px;padding:5px;display:grid}.auth-tab{border-radius:var(--radius-sm);color:var(--ink-soft);padding:10px 16px;font-size:14px;font-weight:700;transition:all .15s}.auth-tab.is-active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card)}.subtabs{background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:20px;padding:5px;display:grid}.subtab{cursor:pointer;border-radius:var(--radius-sm);color:var(--ink-soft);background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:11px 14px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s;display:flex}.subtab:hover{color:var(--ink)}.subtab.is-active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card)}.subtab-ic{font-size:16px;line-height:1}:root[data-theme=pop] .subtab.is-active{box-shadow:3px 4px 0 0 var(--ink)}@media (width<=540px){.subtab{flex-direction:column;gap:3px;padding:9px 6px;font-size:12px}}.event-tipe-pick{grid-template-columns:1fr 1fr;gap:12px;display:grid}.event-tipe-card{text-align:left;border-radius:var(--radius);cursor:pointer;border:1.8px solid var(--line);background:var(--surface-2);flex-direction:column;gap:6px;padding:18px;font-family:inherit;transition:all .15s;display:flex}.event-tipe-card:hover{border-color:var(--primary-2);background:var(--surface);box-shadow:var(--shadow-card)}.event-tipe-ikon{font-size:26px}.event-tipe-judul{color:var(--ink);font-size:15.5px;font-weight:800}.event-tipe-sub{color:var(--ink-soft);font-size:12.5px;line-height:1.4}@media (width<=480px){.event-tipe-pick{grid-template-columns:1fr}}.event-badge{border-radius:999px;padding:2px 10px;font-size:11.5px;font-weight:800;display:inline-block}.event-badge--jam{background:var(--yellow-bg);color:var(--yellow-deep)}.event-badge--voucher{background:var(--mint-bg);color:var(--mint-deep)}.event-field-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=480px){.event-field-grid{grid-template-columns:1fr}}.income-breakdown-row--total{border-top:1px solid var(--line);margin-top:4px;padding-top:10px;font-weight:800}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form .field{margin-bottom:0}.auth-hint{background:var(--surface-2);border-radius:var(--radius-sm);color:var(--ink-soft);margin-top:16px;padding:12px 14px;font-size:12.5px;line-height:1.5}.env-code{background:var(--ink);color:var(--on-primary);border-radius:var(--radius-sm);white-space:pre;margin:0;padding:14px 16px;font-family:ui-monospace,monospace;font-size:12px;line-height:1.6;overflow-x:auto}@media print{@page{size:A4;margin:18mm}html,body,#root{zoom:1!important;color:#1a1a1a!important;background:#fff!important}body:before,body:after{display:none!important}body *{visibility:hidden!important}.income-card.is-printing,.income-card.is-printing *,.gaji-card.is-printing,.gaji-card.is-printing *{visibility:visible!important}.income-card.is-printing{page-break-inside:avoid;width:100%!important;box-shadow:none!important;background:#fff!important;border:2px solid #1a1a1a!important;border-radius:10px!important;padding:22px!important;position:absolute!important;top:0!important;left:0!important;right:0!important;transform:none!important}.income-card.is-printing:before{content:"Kubik Photobox Studio · Laporan Income Harian";font-family:var(--font-display);color:#1a1a1a;letter-spacing:.04em;border-bottom:1.5px solid #999;margin-bottom:14px;padding-bottom:8px;font-size:13px;font-weight:700;display:block}.income-card.income-card--event.is-printing:before{content:"Kubik Photobox Studio · Laporan Event"}.income-card.is-printing .income-card-actions,.income-card.is-printing .income-card-delete{display:none!important}.income-card.is-printing .income-card-head{padding-right:0!important}.income-card.is-printing .income-card-total-num,.income-card.is-printing .income-card-mini-val,.income-card.is-printing .income-breakdown-val,.income-card.is-printing .income-perkar-total{color:#0a5e3e!important}.income-card.is-printing .income-card-mini,.income-card.is-printing .income-perkar,.income-card.is-printing .income-breakdown{background:#f7f7f4!important;border:1px solid #ccc!important}.income-card.is-printing .income-keterangan{color:#5a4500!important;background:#fff8e0!important;border:1px solid #c9b170!important}.gaji-card.is-printing{page-break-inside:avoid;width:100%!important;box-shadow:none!important;background:#fff!important;border:2px solid #1a1a1a!important;border-radius:10px!important;padding:22px!important;position:absolute!important;top:0!important;left:0!important;right:0!important;transform:none!important}.gaji-card.is-printing .gaji-print-watermark{font-family:var(--font-display);letter-spacing:6px;white-space:nowrap;opacity:.1;pointer-events:none;z-index:4;-webkit-print-color-adjust:exact;print-color-adjust:exact;justify-content:center;align-items:center;font-size:44px;font-weight:800;position:absolute;inset:0;transform:rotate(-28deg);visibility:visible!important;display:flex!important}.gaji-card.is-printing .gaji-print-watermark.is-paid{color:#0a7d3c}.gaji-card.is-printing .gaji-print-watermark.is-unpaid{color:#b3123f}.gaji-card.is-printing .gaji-print-head{border-bottom:1.5px solid #999;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:10px;display:flex!important}.gaji-card.is-printing .gaji-print-logo{object-fit:contain;flex-shrink:0;width:42px!important;height:42px!important}.gaji-card.is-printing .gaji-print-title{font-family:var(--font-display);color:#1a1a1a;letter-spacing:.03em;font-size:14px;font-weight:700;line-height:1.3}.gaji-card.is-printing .gaji-pokok-field,.gaji-card.is-printing .gaji-card-actions{display:none!important}.gaji-card.is-printing .gaji-total-val,.gaji-card.is-printing .gaji-line.is-plus .gaji-line-val{color:#0a5e3e!important}.gaji-card.is-printing .gaji-line.is-minus .gaji-line-val{color:#a11045!important}.gaji-card.is-printing .gaji-absen,.gaji-card.is-printing .gaji-chip{background:#f7f7f4!important;border:1px solid #ccc!important}.gaji-card.is-printing .gaji-print-sign{justify-content:flex-end;margin-top:40px;display:flex!important}.gaji-card.is-printing .gaji-sign-box{flex-direction:column;align-items:center;gap:4px;width:210px;display:flex!important}.gaji-card.is-printing .gaji-sign-role{color:#1a1a1a;font-size:12px;font-weight:600}.gaji-card.is-printing .gaji-sign-line{border-bottom:1px solid #1a1a1a;width:100%;margin-top:44px}.gaji-card.is-printing .gaji-sign-name{color:#1a1a1a;margin-top:2px;font-size:12.5px;font-weight:700}}@media (width<=960px){.app-shell{grid-template-columns:1fr}.sidebar{width:280px;height:100svh;box-shadow:var(--shadow-float);transition:transform .25s cubic-bezier(.2,.8,.2,1);position:fixed;top:0;left:0;transform:translate(-105%)}.sidebar.is-open{transform:translate(0)}.menu-btn{display:grid}.dash-greet{grid-template-columns:1fr}}@media (width<=860px){.shift-grid{grid-template-columns:1fr}.riwayat-row{grid-template-columns:1fr 1fr}.riwayat-row.riwayat-head{display:none}}@media (width<=700px){.clock-chip .lbl{display:none}}@media (width<=600px){.main-topbar{padding:14px 16px}.main-content{padding:16px 16px 100px}.hero{padding:20px}.hero h1{font-size:28px}.emp-grid{grid-template-columns:1fr}.section-head{gap:12px}.clock-chip{padding:6px 6px 6px 14px}.clock-chip .now{font-size:17px}.page-title{font-size:20px}.page-sub{display:none}.pin-form-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:32px 1fr}.timeline-jam{text-align:left;grid-column:2}.timeline-actions{grid-column:1/-1;justify-content:flex-start}.detail-clock{width:100%;margin-left:0}}@media (width<=420px){.sidebar{width:100%}}.income-card-head{align-items:flex-start;gap:20px;padding-right:40px}.income-card-head>div:first-child{min-width:0}.income-card-tanggal{letter-spacing:-.01em}.income-card-total{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;line-height:1.15;display:flex}.income-card-total-lbl{white-space:nowrap;order:-1;margin:0 0 2px}.income-card-total-num{white-space:nowrap;letter-spacing:-.01em;font-size:clamp(20px,5.2vw,26px)}.income-breakdown{gap:0;padding:6px 16px}.income-breakdown-row{grid-template-columns:1fr minmax(72px,auto) minmax(104px,auto);align-items:baseline;column-gap:16px;padding:9px 0}.income-breakdown-row+.income-breakdown-row{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent)}.income-breakdown-row>span:first-child{text-overflow:ellipsis;white-space:nowrap;align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.income-breakdown-qty{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.income-breakdown-val{white-space:nowrap}.income-perkar{gap:0;padding:4px 16px}.income-perkar-row{grid-template-columns:1fr minmax(104px,auto);align-items:baseline;column-gap:16px;padding:10px 0}.income-perkar-row+.income-perkar-row{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent)}.income-perkar-nama{grid-column:1}.income-perkar-rinci{grid-area:2/1;margin-top:2px;line-height:1.4}.income-perkar-total{white-space:nowrap;grid-area:1/2/span 2;align-self:center}.kal-wrap{margin-top:4px}.kal-nav{justify-content:center;align-items:center;gap:10px;margin-bottom:8px;display:flex}.kal-nav-lbl{font-family:var(--font-display);text-align:center;min-width:140px;color:var(--ink);text-transform:capitalize;font-size:16px;font-weight:700}.kal-nav-btn{border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--ink);cursor:pointer;place-items:center;font-size:18px;line-height:1;transition:all .15s;display:grid}.kal-nav-btn:hover{background:var(--surface-2);border-color:var(--primary-2)}.kal-legend{background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);border:var(--card-border,none);flex-wrap:wrap;gap:4px 12px;margin-bottom:8px;padding:7px 12px;display:flex}.kal-legend-item{color:var(--ink-soft);align-items:center;gap:5px;font-size:11.5px;font-weight:600;display:flex}.kal-legend-sw{border-radius:4px;width:11px;height:11px;display:inline-block}.kal-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-card);border:var(--card-border,none);padding:12px}.kal-dow{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:5px;display:grid}.kal-dow span{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:700}.kal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.kal-cell{aspect-ratio:1/.74;border:1.5px solid var(--line);background:var(--surface-2);border-radius:10px;flex-direction:column;padding:4px 6px;transition:all .15s;display:flex;position:relative;overflow:visible}.kal-cell--empty{background:0 0;border:none}.kal-cell--kosong{opacity:.7}.kal-dnum{color:var(--ink-soft);font-size:11.5px;font-weight:700;line-height:1.1}.kal-cell.is-today{border-color:var(--primary-2);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary-2) 30%, transparent)}.kal-cell.is-today .kal-dnum{color:var(--primary)}.kal-cell--ada{cursor:pointer;background:var(--surface)}.kal-cell--ada:hover,.kal-cell--ada.is-active{border-color:var(--primary-2);z-index:5;transform:translateY(-2px);box-shadow:0 10px 22px -14px #14204c80}.kal-bar-wrap{flex:1;justify-content:center;align-items:flex-end;min-height:0;margin-top:2px;display:flex}.kal-bar{border-radius:3px;flex-direction:column-reverse;width:56%;max-width:26px;display:flex;overflow:hidden;box-shadow:0 1px 2px #14204c1f}.kal-seg{width:100%}.kal-amt{color:var(--ink-soft);text-align:center;font-variant-numeric:tabular-nums;margin-top:1px;font-size:9px;font-weight:700;line-height:1.1}.kal-dot{background:var(--pink);border-radius:50%;width:5px;height:5px;position:absolute;top:5px;right:6px}.kal-tip{background:var(--ink);color:#fff;min-width:180px;box-shadow:var(--shadow-float);z-index:20;pointer-events:none;opacity:0;text-align:left;border-radius:10px;padding:9px 12px;transition:opacity .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.kal-cell--ada.is-active .kal-tip{opacity:1}@media (hover:hover){.kal-cell--ada:hover .kal-tip{opacity:1}}.kal-tip:after{content:"";border:6px solid #0000;border-top-color:var(--ink);position:absolute;top:100%;left:50%;transform:translate(-50%)}.kal-tip-date{color:#ffffffb3;font-size:11px;font-weight:600}.kal-tip-total{font-size:16px;font-weight:700;font-family:var(--font-display);margin:2px 0 6px}.kal-tip-row{align-items:center;gap:6px;margin:3px 0;font-size:11.5px;display:flex}.kal-tip-sw{border-radius:2px;flex:none;width:9px;height:9px}.kal-tip-lbl{color:#ffffffe6;flex:1}.kal-tip-val{font-variant-numeric:tabular-nums;font-weight:700}.kal-tip-hint{color:var(--yellow);margin-top:6px;font-size:10px;font-weight:600}.kal-foot{border-top:1.5px dashed var(--line);flex-wrap:wrap;gap:8px 18px;margin-top:10px;padding-top:10px;display:flex}.kal-foot-stat .v{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700;line-height:1.1}.kal-foot-stat .l{color:var(--ink-soft);font-size:11px;font-weight:600}.kal-empty-month{text-align:center;color:var(--muted);padding:14px 0;font-size:13px}.income-detail-modal{padding:6px}.income-detail-modal .income-card{box-shadow:none;background:0 0;border:none}.income-detail-modal .income-card:hover{transform:none}@media (width<=560px){.kal-card{padding:8px}.kal-grid,.kal-dow{gap:4px}.kal-cell{aspect-ratio:1/.92;border-radius:8px;padding:3px 4px}.kal-dnum{font-size:10px}.kal-amt{font-size:8px}.kal-bar{width:62%}.kal-tip{min-width:150px}.kal-foot{gap:6px 14px}.kal-foot-stat .v{font-size:14px}}.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}.promo-group-head .count-badge,.promo-inbox-head .count-badge{font-family:var(--font-body);background:var(--primary);color:var(--on-primary);border-radius:var(--radius-pill);place-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 7px;font-size:12px;font-weight:800;display:inline-grid}.promo-inbox{background:var(--pink-bg);border:1.5px solid color-mix(in srgb, var(--pink) 30%, transparent);border-radius:var(--radius-sm);margin-top:18px;padding:14px 16px}.promo-inbox-head{color:var(--pink-deep);align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:800;display:flex}.promo-inbox-head svg{width:18px;height:18px}.promo-inbox-head .count-badge{background:var(--pink-deep)}.promo-group{margin-top:20px}.promo-group-head{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:800;display:flex}.promo-tahap-dot{background:var(--ink-soft);border-radius:50%;flex:none;width:9px;height:9px}.promo-tahap-dot--ide{background:var(--ink-soft)}.promo-tahap-dot--rencana{background:var(--primary-2)}.promo-tahap-dot--comingsoon{background:var(--yellow-deep)}.promo-tahap-dot--berjalan{background:var(--pink)}.promo-tahap-dot--selesai{background:color-mix(in srgb, var(--ink-soft) 60%, transparent)}.promo-list{flex-direction:column;gap:8px;display:flex}.promo-item{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.promo-item.is-open{border-color:var(--primary);box-shadow:var(--shadow-card)}.promo-item-head{cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:none;align-items:center;gap:12px;padding:13px 14px;display:flex}.promo-item-head:hover{background:var(--surface-2)}.promo-item-main{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.promo-item-title{color:var(--ink);font-size:14.5px;font-weight:800;line-height:1.3}.promo-item-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.promo-tahap-chip{border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink-soft);border:1px solid var(--line);text-transform:uppercase;letter-spacing:.02em;padding:2px 8px;font-size:11px;font-weight:800}.promo-tahap-chip--comingsoon{color:var(--yellow-deep);border-color:color-mix(in srgb, var(--yellow-deep) 40%, transparent)}.promo-tahap-chip--berjalan{color:var(--pink-deep);border-color:color-mix(in srgb, var(--pink) 40%, transparent)}.promo-item-flag{color:var(--ink-soft);align-items:center;gap:5px;font-size:12px;font-weight:600;display:inline-flex}.promo-item-flag svg{width:13px;height:13px}.promo-item-chevron{color:var(--ink-soft);flex:none;place-items:center;transition:transform .18s;display:grid}.promo-item-chevron svg{width:18px;height:18px}.promo-item.is-open .promo-item-chevron{color:var(--primary);transform:rotate(90deg)}.promo-item-body{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding:0 14px 14px;display:flex}.promo-item-body>:first-child{margin-top:12px}.promo-card-desc{color:var(--ink);white-space:pre-wrap;font-size:13.5px;line-height:1.55}.promo-card-desc--empty{color:var(--ink-soft);font-style:italic}.promo-card-oleh{color:var(--ink-soft);font-size:11.5px;font-style:italic}.promo-card-desain{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;overflow:hidden}.promo-card-desain img{object-fit:contain;width:100%;max-height:380px;display:block}.promo-desain-edit{flex-direction:column;gap:10px;display:flex}.promo-desain-preview{object-fit:contain;border:1px solid var(--line);background:var(--surface-2);border-radius:10px;width:100%;max-height:320px;display:block}.promo-desain-edit-actions{flex-wrap:wrap;gap:8px;display:flex}.promo-desain-hint{color:var(--ink-soft);margin-top:6px;font-size:12px;display:block}.promo-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.promo-move select{border:1.5px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer;border-radius:8px;padding:6px 8px;font-size:12px;font-weight:700}.promo-badge{border-radius:var(--radius-pill);align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.promo-badge svg{width:12px;height:12px}.promo-badge--menunggu{background:var(--pink-bg);color:var(--pink-deep)}.promo-form-dates{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=560px){.promo-form-dates{grid-template-columns:1fr}}
