:root{--primary-blue:#2b708f;--primary-dark:#1a4457;--sky-blue:#0ea5e9;--bg-color:#f5f5f5;--surface-white:#fff;--text-main:#1e293b;--text-muted:#64748b;--alert-red:#ef4444;--success-green:#10b981;--border-color:#e2e8f0;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--radius-md:12px;--radius-lg:16px;--pax-bg:#f8fafc;--overtime-bg:#f1f5f9;--tr-red:#fef2f2;--tr-amber:#fffbeb;--tr-hover:#f1f5f9;--dur-text:#b45309}body.dark-theme{--primary-blue:#2b708f;--primary-dark:#e0f2fe;--sky-blue:#0ea5e9;--bg-color:#0f172a;--surface-white:#1e293b;--text-main:#f8fafc;--text-muted:#94a3b8;--alert-red:#f87171;--success-green:#34d399;--border-color:#334155;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #0009, 0 2px 4px -2px #0006;--pax-bg:#1e293b;--overtime-bg:#1e293b;--tr-red:#ef444426;--tr-amber:#f59e0b26;--tr-hover:#ffffff0d;--dur-text:#fbbf24;--card-amber-bg:#f59e0b26;--card-amber-h3:#fbbf24;--card-amber-val:#fcd34d;--card-red-bg:#ef444426;--card-red-h3:#fca5a5;--card-red-val:#f87171}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;overflow-x:clip}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;line-height:1.5;transition:background-color .7s,color .5s}.app-container{max-width:1200px;margin:0 auto;padding:1rem}@media (width>=768px){.app-container{padding:2rem}}h1,h2,h3,h4{color:var(--text-main);font-weight:600}.text-muted{color:var(--text-muted);font-size:.875rem}.text-alert{color:var(--alert-red);font-weight:600}.text-success{color:var(--success-green);font-weight:600}.text-blue{color:var(--primary-blue);font-weight:600}.card{background-color:var(--surface-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);min-width:0;padding:1.15rem;transition:transform .2s,box-shadow .2s,background-color .7s,border-color .7s;overflow:hidden}@media (width>=768px){.card{padding:1.5rem}}.card:hover{box-shadow:var(--shadow-md)}.dashboard-header{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}@media (width>=768px){.dashboard-header{flex-direction:row;justify-content:space-between;align-items:center}}.header-title h1{color:var(--primary-dark);font-size:1.5rem}@media (width>=768px){.header-title h1{font-size:2rem}}.header-actions{flex-direction:column;gap:1rem;display:flex}@media (width>=768px){.header-actions{flex-direction:row;align-items:flex-start}}.refresh-container{flex-direction:column;align-items:stretch;gap:.35rem;display:flex}@media (width>=768px){.refresh-container{align-items:flex-end}}button,input{font-family:inherit}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;transition:background-color .2s;display:inline-flex}.btn-primary{background-color:var(--primary-blue);color:#fff}.btn-primary:hover{background-color:var(--primary-dark)}body.dark-theme .btn-primary:hover{background-color:var(--primary-dark);color:var(--bg-color)}.input-group{flex-direction:column;gap:.25rem;display:flex}.input-field{border:1px solid var(--border-color);border-radius:var(--radius-md);outline:none;width:100%;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s}.input-group input.input-field{flex:1;width:auto}.input-field:focus{border-color:var(--primary-blue)}.metrics-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem;display:grid}@media (width>=1200px){.metrics-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.metric-card{flex-direction:column;justify-content:center;gap:.5rem;display:flex;position:relative;container-type:inline-size;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)!important}.metric-card:not(.flip-card-face):hover{transform:translateY(-6px);box-shadow:0 15px 30px -10px #0003!important}.metric-card.lunas{border-left:4px solid var(--success-green)}.metric-card.open{border-left:4px solid var(--sky-blue)}.metric-card.total{background-color:var(--primary-blue);border-left:4px solid #ecbe9c}.metric-card.total h3{color:#fffffff2;letter-spacing:.02em;font-size:.875rem}.metric-card.total .metric-value{color:#fff;font-size:clamp(1.1rem,4.5vw,1.75rem)}.metric-card.pax{background-color:var(--pax-bg);border-left:4px solid #8b5cf6}.metric-card.pax h3{color:var(--text-muted)}.metric-card.pax .metric-value{color:var(--text-main)}.metric-card.overtime{border-left:4px solid var(--text-muted);background-color:var(--overtime-bg)}.metric-card.overtime h3{color:var(--text-muted)}.metric-card.overtime .metric-value{color:var(--text-main)}.metric-card.overtime.overtime-amber{background-color:var(--card-amber-bg,#fffbeb);border-left-color:#f59e0b}.metric-card.overtime.overtime-amber h3{color:var(--card-amber-h3,#b45309)}.metric-card.overtime.overtime-amber .metric-value{color:var(--card-amber-val,#d97706)}.metric-card.overtime.overtime-red{border-left-color:var(--alert-red);background-color:var(--card-red-bg,#fef2f2)}.metric-card.overtime.overtime-red h3{color:var(--card-red-h3,#991b1b)}.metric-card.overtime.overtime-red .metric-value{color:var(--card-red-val,#b91c1c)}.flip-card-wrapper{perspective:1000px;cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:140px}.flip-card-inner{width:100%;height:100%;min-height:140px;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,.2,.2,1);position:relative}.flip-card-inner.flipped{transform:rotateY(180deg)}.flip-card-wrapper:hover{transform:translateY(-6px);box-shadow:0 15px 30px -10px #0003!important}.flip-card-face{backface-visibility:hidden;width:100%;height:100%;position:absolute;top:0;left:0}.flip-card-back{flex-direction:column;display:flex;overflow:hidden;transform:rotateY(180deg)}.overtime-flip-table-wrap{flex:1;margin-top:.25rem;overflow-y:auto}.overtime-flip-table{border-collapse:collapse;width:100%;font-size:.72rem}.overtime-flip-table th{text-align:left;color:var(--text-muted);background:inherit;border-bottom:1px solid #ffffff14;padding:.25rem .3rem;font-weight:600;position:sticky;top:0}.overtime-flip-table td{border-bottom:1px solid #ffffff0a;padding:.3rem}.pax-sub{border-top:1px solid var(--border-color);flex-direction:column;align-items:flex-start;gap:.15rem;margin-top:.5rem;padding-top:.5rem;display:flex}.pax-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;font-size:.75rem;font-weight:700}.pax-apc{color:var(--primary-blue);font-size:.95rem;font-weight:700}.metric-card h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding-right:2.5rem;font-size:.75rem;font-weight:500;line-height:1.3}@media (width>=768px){.metric-card h3{padding-right:2.5rem;font-size:.8rem}}.metric-value{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.85rem,9cqi,1.25rem);font-weight:700;overflow:hidden}.summary-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;display:grid}@media (width>=1200px){.summary-grid{grid-template-columns:repeat(6,1fr)}}.analytics-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem;display:grid}@media (width>=768px){.analytics-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1200px){.analytics-grid{grid-template-columns:repeat(3,1fr)}}.analytics-full-tablet{grid-column:1/-1}@media (width>=1200px){.analytics-full-tablet{grid-column:auto}}.span-full-mobile{grid-column:1/-1}@media (width>=1200px){.span-full-mobile{grid-column:span 2}}.summary-item{background-color:var(--surface-white);border-radius:var(--radius-md);border:1px solid var(--border-color);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:1rem;display:flex;overflow:hidden;container-type:inline-size}.summary-item span.label{color:var(--text-muted);text-transform:uppercase;margin-bottom:.25rem;font-size:.75rem}.summary-item span.value{white-space:nowrap;font-size:clamp(.65rem,12cqi,1.125rem);font-weight:600}.chart-card{background-color:var(--surface-white);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:1.75rem 1.75rem 0;overflow:hidden}.chart-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.chart-card-title{color:var(--text-muted);margin-bottom:.25rem;font-size:1rem;font-weight:600}.chart-card-total{color:var(--text-main);margin-bottom:.35rem;font-size:1.75rem;font-weight:700}.chart-card-sub{align-items:center;gap:.35rem;font-size:.85rem;display:flex}.chart-card-icon{background-color:var(--primary-blue);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 4px 12px #2b708f59}.chart-card-filters{border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:.5rem;padding-bottom:.5rem;display:flex}.trend-filters{flex-direction:column;align-items:center;gap:.15rem}.trend-sep{display:none}@media (width>=1200px){.trend-filters{flex-direction:row;align-items:center;gap:.5rem}.trend-sep{display:inline}}.chart-header{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}@media (width>=768px){.chart-header{flex-direction:row;justify-content:space-between;align-items:center}}.chart-filters{flex-wrap:wrap;gap:1rem;display:flex}.data-table-container{border:1px solid var(--border-color);border-radius:var(--radius-md);max-height:350px;margin-top:2rem;overflow:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border-color);text-align:left;padding:.875rem 1.25rem}.data-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .15s}.data-table tbody tr:hover{background-color:var(--tr-hover)}.data-table th{background-color:var(--primary-blue);color:#fff;text-transform:uppercase;letter-spacing:.05em;z-index:10;box-shadow:0 1px 0 var(--border-color);border-bottom:none;font-size:.75rem;font-weight:600;position:sticky;top:0}.data-table tr:last-child td{border-bottom:none}.error-banner{border-left:4px solid var(--alert-red);color:#991b1b;border-radius:var(--radius-md);background-color:#fee2e2;margin-bottom:1rem;padding:1rem}.loading-overlay{color:var(--primary-blue);justify-content:center;align-items:center;padding:3rem;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalContentZoomIn{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-overlay{-webkit-backdrop-filter:blur(12px)saturate(180%);z-index:999999;overscroll-behavior:contain;background-color:#0f172a99;justify-content:center;align-items:center;width:100vw;height:100dvh;padding:1rem;animation:.2s ease-out modalOverlayFadeIn;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--surface-white);border-radius:var(--radius-lg);border:1px solid var(--border-color);flex-direction:column;width:100%;max-width:800px;max-height:88dvh;animation:.25s cubic-bezier(.16,1,.3,1) modalContentZoomIn;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.modal-header{border-bottom:1px solid var(--border-color);background-color:var(--bg-color);justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.modal-header h3{color:var(--text-main);margin:0;font-size:1.1rem;font-weight:600}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.modal-close:hover{color:var(--text-main);background-color:#e2e8f0}.modal-body{flex-grow:1;padding:0;overflow-y:auto}.expand-btn{border:1px solid var(--border-color);color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:#fff;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.expand-btn:hover{background-color:var(--bg-color);color:var(--primary-blue);border-color:var(--primary-blue)}@keyframes skeletonPulse{0%,to{opacity:.45}50%{opacity:1}}.chart-skeleton{box-sizing:border-box;justify-content:space-evenly;align-items:flex-end;gap:6px;width:100%;height:220px;padding:1rem 1rem 0;display:flex}.skel-bar{background:linear-gradient(180deg, var(--border-color) 0%, #94a3b84d 100%);border-radius:6px 6px 0 0;flex:1;animation:1.4s ease-in-out infinite skeletonPulse}body.dark-theme .skel-bar{background:linear-gradient(#334155 0%,#1e293b 100%)}@keyframes perfBounceUp{0%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-3px)}}@keyframes perfBounceDown{0%,to{transform:translateY(0)}40%{transform:translateY(5px)}60%{transform:translateY(3px)}}@keyframes perfPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.perf-icon{flex-shrink:0;transition:color .5s}.perf-up{color:var(--success-green);animation:1.8s ease-in-out infinite perfBounceUp}.perf-down{color:var(--alert-red);animation:1.8s ease-in-out infinite perfBounceDown}.perf-flat{color:#f59e0b;animation:2s ease-in-out infinite perfPulse}.perf-summary-header{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.perf-controls{justify-content:center;width:100%}@media (width>=768px){.perf-summary-header{flex-direction:row;justify-content:space-between;align-items:center}.perf-controls{justify-content:flex-end;width:auto}}.section-heading-container{flex-wrap:nowrap;align-items:center;gap:.5rem;margin:2rem 0 1rem;display:flex;overflow:hidden}.section-heading-title{color:var(--primary-dark);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(1.05rem,4.5vw,1.4rem);overflow:hidden}@media (width>=768px){.section-heading-title{font-size:1.5rem}}@keyframes magicalGlow{0%{background-position:200%}to{background-position:-200%}}@keyframes popSparkle{0%{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1)rotate(15deg)}to{opacity:0;transform:scale(0)rotate(30deg)}}.text-magic-success{background:linear-gradient(110deg, var(--success-green) 0%, #10b981 40%, #fbbf24 50%, #10b981 60%, var(--success-green) 100%);color:var(--success-green);-webkit-text-fill-color:transparent;text-shadow:0 0 15px #10b98166;background-size:200%;-webkit-background-clip:text;font-weight:800;animation:3s linear infinite magicalGlow;display:inline-block}.text-magic-gold{color:#fff;background:linear-gradient(110deg,#fff 0%,#fef3c7 40%,#fbbf24 50%,#fef3c7 60%,#fff 100%) 0 0/200%;-webkit-text-fill-color:transparent;text-shadow:0 0 15px #fbbf2499;-webkit-background-clip:text;font-weight:800;animation:3s linear infinite magicalGlow;display:inline-block}.text-magic-gold-soft{background:linear-gradient(110deg,#fffffff2 0%,#fff0c8e6 40%,#ffdc82d9 50%,#fff0c8e6 60%,#fffffff2 100%) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;animation:4s linear infinite magicalGlow;display:inline-block}.variance-sparkle-1,.variance-sparkle-2,.variance-sparkle-3{color:#fbbf24;pointer-events:none;opacity:0;z-index:10;position:absolute}.variance-sparkle-1{animation:2s ease-in-out infinite popSparkle;top:-8px;left:-10px}.variance-sparkle-2{animation:2.5s ease-in-out .7s infinite popSparkle;bottom:-4px;right:-8px}.variance-sparkle-3{margin-top:-6px;animation:3s ease-in-out 1.2s infinite popSparkle;top:50%;left:105%}.section-heading-date{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:.8rem}@keyframes glowDotPulse{0%,to{opacity:0;transform:scale(.4);box-shadow:0 0 2px 1px #ffdc6400}50%{opacity:1;transform:scale(1);box-shadow:0 0 5px 2px #ffdc64b3}}.glow-dot{pointer-events:none;background-color:#ffdc82e6;border-radius:50%;width:3px;height:3px;animation:2.2s ease-in-out infinite glowDotPulse;position:absolute}.toast-popup{background-color:var(--surface-white);color:var(--text-main);border-radius:var(--radius-lg);z-index:9999;border-top:4px solid var(--success-green);letter-spacing:.01em;justify-content:center;align-items:center;gap:16px;padding:16px 32px;font-size:1.05rem;font-weight:600;animation:.4s cubic-bezier(.16,1,.3,1) forwards popInCenter;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 40px -10px #0000004d}.toast-popup.error{border-top-color:var(--alert-red)}@keyframes popInCenter{0%{opacity:0;transform:translate(-50%,-40%)scale(.95)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.payment-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:.5rem;display:grid}@media (width>=768px){.payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.payment-card{flex-direction:column;gap:.75rem;display:flex;container-type:inline-size}.payment-card-header{border-bottom:1px solid var(--border-color);align-items:center;gap:.5rem;padding-bottom:.6rem;display:flex}.payment-card-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0;font-size:.85rem;font-weight:700}.payment-row{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.payment-row-info{flex-direction:column;min-width:0;display:flex}.payment-media-name{color:var(--text-main);white-space:nowrap;font-size:.9rem;font-weight:600}.payment-media-count{color:var(--text-muted);white-space:nowrap;font-size:.72rem}.payment-media-amount{color:var(--primary-blue);white-space:nowrap;flex-shrink:0;font-size:clamp(.85rem,6cqi,1.05rem);font-weight:700}.payment-row-total{border-top:2px dashed var(--border-color);margin-top:.15rem;padding-top:.65rem}.payment-row-total .payment-media-name{color:var(--primary-dark);font-weight:700}.payment-row-total .payment-media-amount{color:var(--primary-dark);font-size:clamp(.95rem,7cqi,1.2rem)}.payment-date-input{border-radius:8px;flex-shrink:0;width:auto;margin-left:auto;padding:.3rem .5rem;font-size:.78rem}:root{--gold-1:#b8794a;--gold-2:#d0a060;--gold-3:#e8c88a;--gold-4:#f5dfa8;--brand-bright:#3a92b8;--amber-v2:#f59e0b;--surface-2:#f8fafc}body.dark-theme{--surface-2:#1a2740}.topbar{z-index:50;-webkit-backdrop-filter:blur(14px);background:color-mix(in srgb, var(--bg-color) 78%, transparent);border-bottom:1px solid var(--border-color);margin:-1rem -1rem 1.5rem;position:sticky;top:0}@media (width>=768px){.topbar{margin:-2rem -2rem 1.75rem}}.topbar-inner{flex-wrap:wrap;align-items:center;gap:1.5rem .9rem;padding:1.5rem 1rem;display:flex}@media (width>=768px){.topbar-inner{padding:1.5rem 2rem}}.brand{align-items:center;gap:.75rem;min-width:0;margin-right:auto;display:flex}.brand img{object-fit:contain;filter:drop-shadow(0 3px 6px #0000002e);width:56px;height:56px}.brand h1{letter-spacing:-.01em;color:var(--primary-dark);white-space:nowrap;margin:0;font-size:1.2rem;font-weight:700}.brand h1 .version-badge{margin-left:.35rem}.brand-updated{color:var(--text-muted);margin:0;font-size:.62rem;font-weight:500;display:none}.brand p{color:var(--text-muted);margin:0;font-size:.75rem;font-weight:500}.nav-pills{background:var(--surface-white);border:1px solid var(--border-color);scrollbar-width:none;-ms-overflow-style:none;width:100%;box-shadow:var(--shadow-sm);touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:999px;order:5;gap:.3rem;margin:0 auto;padding:.3rem;display:flex;position:relative;overflow-x:auto}.nav-pills::-webkit-scrollbar{display:none}.pill-indicator{background:linear-gradient(135deg, var(--primary-blue), #1a4457);pointer-events:none;z-index:0;border-radius:999px;width:0;transition:left .65s cubic-bezier(.22,1,.36,1),width .65s cubic-bezier(.22,1,.36,1),opacity .2s;position:absolute;top:.3rem;bottom:.3rem;left:0;box-shadow:0 2px 8px #2b708f59}.nav-pills.dragging{cursor:grabbing}.nav-pills.dragging .pill-indicator{transition:none}.nav-pills.dragging .tab-btn{pointer-events:none}.nav-pills.dragging .tab-btn.pill-over{color:#fff}.tab-btn{justify-content:center;align-items:center;display:flex}.haptic-overlay{opacity:0;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;touch-action:manipulation;width:100%;height:100%;margin:0;position:absolute;inset:0}.nav-pills.dragging .haptic-overlay{pointer-events:none}@media (width<=899px){.nav-pills .tab-btn{flex:1}}@media (width>=900px){.nav-pills{order:0;width:auto}}.nav-pills .tab-btn{z-index:1;cursor:pointer;white-space:nowrap;color:var(--text-muted);background:0 0;border:none;border-radius:999px;padding:.45rem 1.05rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:color .25s,background .2s;position:relative}.nav-pills .tab-btn:hover{background:var(--surface-2);color:var(--text-main)}.nav-pills .tab-btn.active,.nav-pills .tab-btn.active:hover{color:#fff;background:0 0}.icon-btn{border:1px solid var(--border-color);background:var(--surface-white);width:42px;height:42px;color:var(--text-main);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.icon-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}body.theme-xfade,body.theme-xfade *{transition:background-color .45s,color .45s,border-color .45s,box-shadow .45s!important}@keyframes iconPop{0%{opacity:.3;transform:rotate(-160deg)scale(.5)}to{opacity:1;transform:rotate(0)scale(1)}}.theme-toggle svg{animation:.45s cubic-bezier(.22,1,.36,1) iconPop}.updated-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;align-items:center;font-size:.72rem;font-weight:600;display:inline-flex}.live-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-right:.35rem;animation:1.6s ease-in-out infinite livePulse;display:inline-block}@keyframes livePulse{0%,to{opacity:1;box-shadow:0 0 #22c55e73}50%{opacity:.55;box-shadow:0 0 0 5px #0000}}.version-badge{letter-spacing:.04em;color:var(--text-muted);border:1px solid var(--border-color);vertical-align:1px;white-space:nowrap;border-radius:999px;padding:.08rem .4rem;font-size:.58rem;font-weight:700}@media (width<=699px){.topbar-inner{gap:1.5rem .55rem;padding:1.5rem 1rem}.brand{gap:.65rem}.brand img{width:48px;height:48px}.brand h1{font-size:1.08rem}.brand p{font-size:.62rem}.brand-updated{align-items:center;display:flex}.updated-label{display:none}.icon-btn{border-radius:11px;width:36px;height:36px}.nav-pills{gap:.18rem;padding:.22rem}.pill-indicator{top:.22rem;bottom:.22rem}.nav-pills .tab-btn{padding:.35rem .8rem;font-size:.78rem}.section-head{margin:.35rem 0 .75rem}.section-head h2{font-size:1.05rem}.m-value{font-size:1.4rem}.m-hero .m-value{font-size:clamp(1.35rem,7cqi,1.9rem)}}@media (width<=420px){.brand img{width:42px;height:42px}.brand h1{font-size:1.02rem}.icon-btn{width:34px;height:34px}.nav-pills{gap:.1rem}.nav-pills .tab-btn{letter-spacing:-.01em;padding:.35rem .45rem;font-size:.72rem}}@media (width<=380px){.brand{gap:.45rem}.brand img{width:38px;height:38px}.icon-btn{width:32px;height:32px}}@media (height<=500px){.topbar-inner{row-gap:1rem;padding:1rem}.brand img{width:40px;height:40px}.nav-pills .tab-btn{padding:.28rem .65rem}}.tab-panel{display:none}.tab-panel.active{display:block}.tab-panel.active>:not(.metrics):not(.grid-2),.tab-panel.active .metrics>*,.tab-panel.active .grid-2>*{will-change:opacity, transform;animation:1.7s cubic-bezier(.16,1,.3,1) both cascadeIn}@keyframes cascadeIn{0%{opacity:0;transform:translateY(22px)}70%{opacity:1}to{opacity:1;transform:translateY(0)}}.tab-panel.active>:nth-child(2):not(.metrics):not(.grid-2){animation-delay:.25s}.tab-panel.active>:nth-child(3):not(.metrics):not(.grid-2){animation-delay:.5s}.tab-panel.active>:nth-child(4):not(.metrics):not(.grid-2){animation-delay:.75s}.tab-panel.active>:nth-child(5):not(.metrics):not(.grid-2){animation-delay:1s}.tab-panel.active>:nth-child(6):not(.metrics):not(.grid-2){animation-delay:1.25s}.tab-panel.active>:nth-child(n+7):not(.metrics):not(.grid-2){animation-delay:1.5s}.tab-panel.active .metrics>:nth-child(2){animation-delay:.22s}.tab-panel.active .metrics>:nth-child(3){animation-delay:.44s}.tab-panel.active .metrics>:nth-child(4){animation-delay:.66s}.tab-panel.active .metrics>:nth-child(n+5){animation-delay:.88s}.tab-panel.active .grid-2>:first-child{animation-delay:.4s}.tab-panel.active .grid-2>:nth-child(2){animation-delay:.65s}.tab-panel.active .grid-2>:nth-child(n+3){animation-delay:.9s}@media (prefers-reduced-motion:reduce){.tab-panel.active,.tab-panel.active>:not(.metrics):not(.grid-2),.tab-panel.active .metrics>*,.tab-panel.active .grid-2>*{animation:none}}.section-head{flex-wrap:wrap;align-items:baseline;gap:.6rem;margin:.6rem 0 1rem;display:flex}.section-head h2{letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:700}.section-head>span{color:var(--text-muted);font-size:.8rem}.card{position:relative}.flip-card-face{position:absolute}.metrics{grid-template-columns:repeat(12,1fr);gap:1rem;display:grid}.m-hero,.m-half,.m-third{grid-column:span 12}@media (width>=700px){.m-hero,.m-half,.m-third{grid-column:span 6}}@media (width>=1000px){.m-third{grid-column:span 4}}.m-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);align-items:center;gap:.45rem;font-size:.68rem;font-weight:700;display:flex}.m-value{letter-spacing:-.02em;white-space:nowrap;color:var(--text-main);margin-top:.35rem;font-size:1.65rem;font-weight:800}.m-sub{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.3rem;font-size:.78rem;display:flex}.m-sub b{color:var(--text-main)}.m-hero{color:#fff;background:radial-gradient(120% 160% at 85% -20%,#e8c88a47,#0000 55%),linear-gradient(135deg,#2b708f 0%,#1a4457 60%,#12303f 100%);border:none}body.dark-theme .m-hero{background:radial-gradient(120% 160% at 85% -20%,#e8c88a2e,#0000 55%),linear-gradient(135deg,#215b76 0%,#143349 60%,#0d2230 100%)}.m-hero .m-label{color:#ffffffbf}.m-hero .m-value{color:#fff;font-size:clamp(1.55rem,7cqi,2.3rem)}.m-hero .m-sub{color:#fffc}.hero-spark{opacity:.5;pointer-events:none;width:55%;height:60%;position:absolute;bottom:0;right:0}.delta{border-radius:999px;align-items:center;gap:.25rem;padding:.18rem .5rem;font-size:.68rem;font-weight:700;display:inline-flex}.delta.up{color:#059669;background:#10b98124}.delta.down{color:#dc2626;background:#ef44441f}.delta.neutral{background:var(--surface-2);color:var(--text-muted)}.delta.warn{color:var(--amber-v2);background:#f59e0b24}body.dark-theme .delta.up{color:#34d399}body.dark-theme .delta.down{color:#f87171}.m-hero .delta.up{color:#d1fae5;background:#ffffff2e}.spark{opacity:.9;pointer-events:none;position:absolute;bottom:.8rem;right:.9rem}.flip-hint{z-index:3;border:1.5px dashed var(--text-muted);width:30px;height:30px;color:var(--text-muted);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;animation:6s linear infinite spinHint;display:flex;position:absolute;top:1rem;right:1rem}@keyframes spinHint{0%,88%{transform:rotate(0)}to{transform:rotate(360deg)}}.flip-hint{transition:opacity .18s}.flip-card-inner.flipped .flip-hint{opacity:0}.flip-card-wrapper{cursor:pointer}.flip-card-wrapper:hover{transform:translateY(-4px)}.overtime-warn{background:linear-gradient(160deg, #f59e0b1a, var(--surface-white) 55%)!important;border-color:#f59e0b80!important}body.dark-theme .overtime-warn{background:linear-gradient(160deg, #f59e0b29, var(--surface-white) 55%)!important}.overtime-warn .m-value{color:var(--amber-v2)}.overtime-danger{background:linear-gradient(160deg, #ef44441a, var(--surface-white) 55%)!important;border-color:#ef444480!important}body.dark-theme .overtime-danger{background:linear-gradient(160deg, #ef444429, var(--surface-white) 55%)!important}.overtime-danger .m-value{color:var(--alert-red)}.ctl-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ctl{border:1px solid var(--border-color);background:var(--surface-2);color:var(--text-main);border-radius:10px;min-width:0;padding:.45rem .6rem;font-family:inherit;font-size:.82rem}.ctl:focus{outline:2px solid var(--brand-bright);outline-offset:1px}.btn-v2{background:var(--primary-blue);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:.5rem .95rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:filter .2s}.btn-v2:hover{filter:brightness(1.1)}.btn-v2.btn-ghost{background:var(--surface-white);color:var(--text-main);border:1px solid var(--border-color)}.ctl-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=700px){.ctl-grid{grid-template-columns:1fr 1fr}}.ctl-field>label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:.4rem;font-size:.68rem;font-weight:700;display:block}.ctl-field .ctl-row{flex-wrap:nowrap}.ctl-field .ctl{flex:auto;width:100%}.ctl-field .btn-v2{flex-shrink:0}.head-controls{flex-direction:column;gap:.5rem;margin-left:auto;display:flex}.head-controls .ctl-month{width:100%}.head-controls .ctl-row{flex-wrap:nowrap}.head-controls .ctl-row .ctl{flex:130px;max-width:100%}@media (width<=699px){.head-controls{width:100%;margin-left:0}}.month-range{flex-wrap:nowrap;align-items:center}.month-range .ctl{flex:0 auto}.month-range-sep{color:var(--text-muted);font-size:.8rem}@media (width<=699px){.month-range{width:100%}.month-range .ctl{flex:auto;width:100%}}.month-controls{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.view-toggle{background:var(--surface-2);border:1px solid var(--border-color);border-radius:10px;gap:2px;padding:2px;display:inline-flex}.view-toggle button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.35rem;padding:.32rem .6rem;font-family:inherit;font-size:.76rem;font-weight:600;transition:background .2s,color .2s;display:inline-flex}.view-toggle button.active{background:var(--surface-white);color:var(--text-main);box-shadow:0 1px 3px #0f172a1a}.table-scroll{max-height:260px;overflow-y:auto}@media (width<=699px){.table-scroll .data-table th,.table-scroll .data-table td{white-space:nowrap;padding:.7rem .55rem;font-size:.82rem}}.monthly-list-empty{text-align:center;color:var(--text-muted);padding:2rem;font-size:.85rem}@media (width<=699px){.month-controls{align-items:stretch;width:100%}.month-controls .view-toggle{align-self:flex-end}}.strip{background:var(--surface-white);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:1fr;gap:0;padding:.5rem 1.25rem;display:grid}.strip .item{border-bottom:1px solid var(--border-color);flex-direction:column;gap:.2rem;min-width:0;padding:.8rem 0;display:flex}.strip .item:last-child{border-bottom:none}.strip .item .k{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-size:.65rem;font-weight:700}.strip .item .v{white-space:nowrap;color:var(--text-main);font-size:1.05rem;font-weight:700}.strip .item .s{color:var(--text-muted);font-size:.72rem}@media (width>=700px){.strip{grid-template-columns:repeat(2,1fr);gap:0 1.5rem}}@media (width>=1000px){.strip{grid-template-columns:repeat(5,1fr);padding:1rem 1.25rem}.strip .item{border-bottom:none;padding:0;container-type:inline-size}.strip .item .v{font-size:clamp(.85rem,10cqi,1.02rem)}}.grid-2{grid-template-columns:1fr;gap:1rem;display:grid}@media (width>=900px){.grid-2{grid-template-columns:1fr 1fr}}.panel-title{letter-spacing:-.01em;color:var(--text-main);font-size:.95rem;font-weight:700}.panel-sub{color:var(--text-muted);margin-top:.15rem;font-size:.76rem}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.9rem;display:flex}.card-footer{color:var(--text-muted);flex-wrap:wrap;gap:1rem;margin-top:.8rem;font-size:.76rem;display:flex}.card-footer b{color:var(--text-main)}.view-report{color:#1a4457;cursor:pointer;background:#d0b899;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.35rem;width:100%;margin:.9rem 0 0;padding:.7rem;font-family:inherit;font-size:.82rem;font-weight:700;text-decoration:none;display:flex}.view-report:hover{filter:brightness(1.05)}.pay-card{flex-direction:column;gap:.8rem;display:flex;container-type:inline-size}.pay-head{border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:.5rem;padding-bottom:.65rem;display:flex}.pay-head h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0;font-size:.78rem;font-weight:700}.pay-date{border:1px solid var(--border-color);background:var(--surface-2);color:var(--text-main);border-radius:8px;max-width:100%;margin-left:auto;padding:.3rem .5rem;font-family:inherit;font-size:.75rem}.pay-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.pay-name{color:var(--text-main);font-size:.9rem;font-weight:600}.pay-count{color:var(--text-muted);font-size:.7rem}.pay-amt{color:var(--brand-bright);white-space:nowrap;font-size:clamp(.9rem,5cqi,1.05rem);font-weight:800}.pay-row.total{border-top:2px dashed var(--border-color);padding-top:.65rem}.pay-row.total .pay-amt{color:var(--text-main);font-size:clamp(1rem,6cqi,1.2rem)}.empty-friendly{color:#059669;background:#10b98114;border:1px solid #10b98140;border-radius:12px;align-items:center;gap:.7rem;padding:.7rem .9rem;font-size:.8rem;font-weight:600;display:flex}body.dark-theme .empty-friendly{color:#34d399}.progress{margin-top:.9rem}.progress-track{background:#ffffff38;border-radius:999px;height:10px;overflow:hidden}.progress-meta{color:#ffffffd9;justify-content:space-between;margin-top:.4rem;font-size:.72rem;font-weight:600;display:flex}.legend-line{vertical-align:middle;border-radius:2px;width:18px;height:3px;margin-right:.3rem;display:inline-block}
