@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--font-main: "Inter", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading: "Plus Jakarta Sans", "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--bg-sidebar: #f8fafc;--bg-canvas: #f1f5f9;--bg-card: #ffffff;--bg-subtle: #f8fafc;--bg-auth-input: #edf4ff;--border-subtle: #e2e8f0;--border-medium: #cbd5e1;--border-focus: #10b981;--color-accent-emerald: #10b981;--color-accent-lime: #4c9a00;--color-accent-cyan: #0284c7;--color-accent-purple: #7c3aed;--color-negative: #ef4444;--font-size-xs: clamp(.7rem, .65rem + .25svw, .8rem);--font-size-sm: clamp(.8rem, .75rem + .3svw, .9rem);--font-size-base: clamp(.875rem, .825rem + .35svw, 1rem);--font-size-md: clamp(1rem, .925rem + .4svw, 1.15rem);--font-size-lg: clamp(1.15rem, 1.05rem + .5svw, 1.35rem);--font-size-xl: clamp(1.35rem, 1.2rem + .75svw, 1.65rem);--font-size-2xl: clamp(1.65rem, 1.45rem + 1svw, 2.15rem);--font-size-3xl: clamp(2.15rem, 1.85rem + 1.5svw, 2.85rem);--text-dark: #0f172a;--text-muted: #64748b;--text-subtle: #94a3b8;--shadow-3d-sm: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-3d-md: 0 10px 15px -3px rgba(0, 0, 0, .06), 0 4px 6px -2px rgba(0, 0, 0, .03);--shadow-3d-lg: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-glow-emerald: 0 10px 25px -5px rgba(16, 185, 129, .25);--shadow-glow-purple: 0 10px 25px -5px rgba(124, 58, 237, .25);--shadow-glow-blue: 0 10px 25px -5px rgba(37, 99, 235, .25);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-spring: .3s cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;max-width:100vw;overflow-x:hidden;font-family:var(--font-main);font-size:var(--font-size-base);background-color:var(--bg-canvas);color:var(--text-dark);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-md)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:800;color:var(--text-dark);letter-spacing:-.025em}a{color:var(--color-accent-emerald);text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit}.metric-label{font-size:var(--font-size-xs);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.bm-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-3d-sm);transition:var(--transition-spring);max-width:100%;box-sizing:border-box}.bm-card-interactive{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-3d-sm);transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s ease,border-color .28s ease;cursor:pointer;position:relative;overflow:hidden;max-width:100%;box-sizing:border-box}.bm-card-interactive:hover{transform:translateY(-6px) scale(1.015);border-color:#10b98166;box-shadow:var(--shadow-3d-lg),0 0 20px #10b9811f}.bm-card-interactive:active{transform:translateY(-2px) scale(.99)}.icon-bubble-3d{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px #0000001f;transition:transform .3s ease}.bm-card-interactive:hover .icon-bubble-3d{transform:rotate(8deg) scale(1.1)}.bm-input{width:100%;padding:10px 14px;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-dark);font-size:.875rem;outline:none;transition:var(--transition-fast);box-sizing:border-box}.bm-input:focus{border-color:var(--color-accent-emerald);box-shadow:0 0 0 3px #10b98126}.bm-input-auth{width:100%;padding:12px 16px 12px 40px;background:var(--bg-auth-input);border:1px solid #dbeafe;border-radius:var(--radius-md);color:var(--text-dark);font-size:.9rem;outline:none;transition:var(--transition-fast);box-sizing:border-box}.bm-input-auth:focus{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f626}.bm-btn-lime{width:100%;padding:12px;background:linear-gradient(135deg,#4c9a00,#3f8000);color:#fff;border:none;border-radius:var(--radius-md);font-weight:800;font-size:.9rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 12px #4c9a004d}.bm-btn-lime:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4c9a0066}.bm-btn-emerald{padding:10px 18px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:var(--radius-md);font-weight:700;font-size:.875rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px #10b9814d}.bm-btn-emerald:hover{transform:translateY(-2px);box-shadow:0 6px 18px #10b98173}.bm-btn-outline{padding:8px 16px;background:#fff;color:var(--text-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;box-shadow:var(--shadow-3d-sm)}.bm-btn-outline:hover{background:#f8fafc;border-color:var(--border-medium);transform:translateY(-1px)}.bm-btn-lpm{width:100%;padding:10px 16px;border-radius:10px;border:none;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:700;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 4px 12px #2563eb4d;transition:all .2s ease}.bm-btn-lpm:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #2563eb66}.bm-btn-lpm:disabled,.bm-btn-lpm[disabled],button:disabled,button[disabled]{cursor:not-allowed!important;opacity:.65!important;box-shadow:none!important;transform:none!important}.bm-btn-lpm:disabled,.bm-btn-lpm[disabled]{background:#e2e8f0!important;color:#64748b!important;pointer-events:none!important}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172a80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}.modal-content{width:100%;max-width:600px;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:0 25px 50px -12px #00000026,0 0 30px #10b9811a;overflow:hidden;animation:modalSlideUp .3s cubic-bezier(.34,1.56,.64,1) forwards}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;color:var(--text-dark)}.modal-body{padding:24px;max-height:80vh;overflow-y:auto}.modal-footer{padding:16px 24px;border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end;gap:12px;background:#f8fafc}.app-layout{display:flex;min-height:100vh;background-color:var(--bg-canvas);position:relative;width:100%;max-width:100vw;overflow-x:hidden}.sidebar-container{width:260px;background-color:var(--bg-sidebar);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;height:100vh;position:fixed;top:0;left:0;z-index:100;transition:transform .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1)}.main-content-wrapper{flex:1;margin-left:260px;display:flex;flex-direction:column;min-height:100vh;background-color:var(--bg-canvas);transition:margin-left .25s cubic-bezier(.4,0,.2,1),width .25s cubic-bezier(.4,0,.2,1);width:calc(100% - 260px);max-width:calc(100vw - 260px);overflow-x:hidden;box-sizing:border-box}.main-content-wrapper.sidebar-collapsed{margin-left:80px;width:calc(100% - 80px);max-width:calc(100vw - 80px)}.content-container{flex:1;padding:28px 36px 44px;max-width:1600px;width:100%;margin:0 auto;box-sizing:border-box;overflow-x:hidden}.table-scroll-container{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes floatPulse{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 15px #10b98133}50%{box-shadow:0 0 30px #10b98173}}.animate-fade-in{animation:fadeIn .35s cubic-bezier(.16,1,.3,1) forwards}.animate-float{animation:floatPulse 4s infinite ease-in-out}.animate-glow{animation:glowPulse 3s infinite ease-in-out}.navbar-header{min-height:56px;background-color:#fff;border-bottom:1px solid #e5e7eb;padding:0 16px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;gap:8px}@media (max-width: 1024px){.sidebar-container{transform:translate(-100%);width:260px!important}.sidebar-container.mobile-open{transform:translate(0)!important;box-shadow:0 20px 25px -5px #0000004d}.main-content-wrapper{margin-left:0!important;width:100%!important;max-width:100vw!important}.content-container{padding:16px 14px 32px}}@media (max-width: 768px){.navbar-header{padding:8px 12px;flex-wrap:wrap;row-gap:8px}.navbar-title-sub,.navbar-switch-label,.navbar-role-badge{display:none!important}.navbar-right-container{margin-left:auto}}@media (max-width: 640px){.content-container{padding:12px 10px 24px}.bm-card{border-radius:12px;padding:16px 12px!important}.form-grid-2col{grid-template-columns:1fr!important}table{font-size:.775rem!important}th,td{padding:10px 8px!important}}@media (max-width: 480px){.navbar-header{padding:6px 8px}.navbar-page-title{max-width:120px!important;font-size:.8rem!important}.navbar-period-btn{padding:3px 6px!important;font-size:.7rem!important}}@layer utilities{.text-fluid-xs{font-size:clamp(.7rem,.65rem + .25svw,.8rem)}.text-fluid-sm{font-size:clamp(.8rem,.75rem + .3svw,.9rem)}.text-fluid-base{font-size:clamp(.875rem,.825rem + .35svw,1rem)}.text-fluid-md{font-size:clamp(1rem,.925rem + .4svw,1.15rem)}.text-fluid-lg{font-size:clamp(1.15rem,1.05rem + .5svw,1.35rem)}.text-fluid-xl{font-size:clamp(1.35rem,1.2rem + .75svw,1.65rem)}.text-fluid-2xl{font-size:clamp(1.65rem,1.45rem + 1svw,2.15rem)}.text-fluid-3xl{font-size:clamp(2.15rem,1.85rem + 1.5svw,2.85rem)}}@media print{@page{size:A4 portrait;margin:8mm 10mm}html,body{background:#fff!important;color:#000!important;margin:0!important;padding:0!important;width:100%!important;height:auto!important;overflow:visible!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}*,*:before,*:after{animation:none!important;transition:none!important}.sidebar-container,.navbar-header,.no-print,.bm-card.no-print,button,header,nav,aside,footer,.toast-container{display:none!important}.app-layout,.main-content-wrapper,.content-container{margin:0!important;padding:0!important;width:100%!important;max-width:100%!important;min-height:auto!important;background:transparent!important;box-shadow:none!important;border:none!important;transform:none!important}#official-slip-gaji{width:100%!important;max-width:520px!important;margin:10px auto!important;padding:14px 18px!important;border:1.5px solid #000000!important;box-shadow:none!important;box-sizing:border-box!important;page-break-inside:avoid!important;break-inside:avoid!important;font-size:.8rem!important;line-height:1.25!important}#official-slip-gaji table,#official-slip-gaji tr,#official-slip-gaji td{page-break-inside:avoid!important;break-inside:avoid!important}}
