: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:hidden}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}.summary-item span.label{color:var(--text-muted);text-transform:uppercase;margin-bottom:.25rem;font-size:.75rem}.summary-item span.value{word-break:break-word;font-size:clamp(.85rem,3.8vw,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}.modal-overlay{-webkit-backdrop-filter:blur(12px)saturate(180%);z-index:9999;background-color:#0f172a73;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1rem;display:flex;position:fixed;top:0;left:0}.modal-content{background-color:var(--surface-white);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:800px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.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)}}
