@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&display=swap";:root{--bg-dark: #f8fafc;--bg-darker: #f1f5f9;--bg-card: #ffffff;--bg-card-hover: #f8fafc;--bg-glass: rgba(255, 255, 255, .96);--border-color: #e2e8f0;--border-glow: rgba(0, 0, 0, .06);--text-main: #0f172a;--text-muted: #475569;--text-subtle: #64748b;--accent-primary: #0284c7;--accent-primary-hover: #0369a1;--accent-indigo: #6366f1;--accent-cyan: #06b6d4;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--sidebar-width: 0px;--header-height: 66px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 28px -4px rgba(0, 0, 0, .08);--shadow-glow: 0 0 20px rgba(0, 0, 0, .04)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f8fafc;color:#0f172a;line-height:1.55;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}@keyframes fluidFadeSlide{0%{opacity:0;transform:translateY(14px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulseGlow{0%{box-shadow:0 0 #f59e0b80}70%{box-shadow:0 0 0 14px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}@keyframes floatBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes shimmerSweep{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes popInSpring{0%{transform:scale(.85);opacity:0}70%{transform:scale(1.04);opacity:1}to{transform:scale(1);opacity:1}}@keyframes progressStripes{0%{background-position:0 0}to{background-position:60px 0}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.module-animated-view{width:100%;max-width:100%;overflow-x:hidden;animation:fluidFadeSlide .35s cubic-bezier(.16,1,.3,1) forwards}.glass-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md);transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.glass-card:hover{border-color:#cbd5e1;box-shadow:0 10px 25px -4px #00000014,0 4px 10px -2px #0000000a}.glass-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:.6s;pointer-events:none}.glass-card:hover:before{left:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.65rem 1.25rem;border-radius:var(--radius-md);font-weight:700;font-size:.85rem;letter-spacing:.01em;cursor:pointer;border:1px solid transparent;transition:all .22s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,#0284c7,#0369a1);color:#fff;font-weight:800;box-shadow:0 4px 15px #0284c759}.btn-primary:hover{transform:translateY(-2px);background:linear-gradient(135deg,#0ea5e9,#0284c7);box-shadow:0 8px 25px #0284c773;color:#fff}.btn-secondary{background:#fff;color:#334155;border:1px solid #cbd5e1;box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:#f8fafc;border-color:#94a3b8;color:#0f172a;transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.btn-outline-danger{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.35)}.btn-outline-danger:hover{background:#ef444440;color:#fff;transform:translateY(-1px);box-shadow:0 4px 15px #ef44444d}.btn-sm{padding:.45rem .85rem;font-size:.775rem;border-radius:var(--radius-sm)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:800;letter-spacing:.02em;transition:all .2s ease}.badge:hover{transform:scale(1.05)}.badge-success{background:#10b9812e;color:#34d399;border:1px solid rgba(16,185,129,.4);box-shadow:0 0 12px #10b9812e}.badge-warning{background:#f59e0b2e;color:#fbbf24;border:1px solid rgba(245,158,11,.4);box-shadow:0 0 12px #f59e0b2e}.badge-danger{background:#ef44442e;color:#f87171;border:1px solid rgba(239,68,68,.4);box-shadow:0 0 12px #ef44442e}.badge-info{background:#6366f12e;color:#818cf8;border:1px solid rgba(99,102,241,.4);box-shadow:0 0 12px #6366f12e}.badge-neutral{background:#94a3b824;color:#cbd5e1;border:1px solid rgba(148,163,184,.25)}.progress-bar-bg{width:100%;height:8px;background-color:#ffffff14;border-radius:999px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;border-radius:999px;background-color:var(--accent-primary);transition:width .8s cubic-bezier(.16,1,.3,1);background-size:30px 30px;background-image:linear-gradient(135deg,rgba(255,255,255,.2) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.2) 75%,transparent 75%,transparent);animation:progressStripes 2s linear infinite}.table-container{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);border:1px solid var(--border-color);background:#fff;position:relative;display:block}.custom-table{width:100%;min-width:960px;border-collapse:collapse;text-align:left;background:#fff}.custom-table th{background:#f1f5f9;color:#0f172a;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.95rem 1rem;border-bottom:1px solid var(--border-color);white-space:nowrap}.custom-table td{padding:.95rem 1rem;border-bottom:1px solid #e2e8f0;font-size:.86rem;color:#0f172a;transition:all .15s ease}.custom-table tbody tr{background:#fff;transition:all .2s ease}.custom-table tbody tr:nth-child(2n){background:#f8fafc}.custom-table tbody tr:hover{background:#f1f5f9}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.8rem;font-weight:700;color:#334155;margin-bottom:.4rem}.form-control{width:100%;padding:.65rem .95rem;border-radius:var(--radius-md);background:#fff;border:1px solid #cbd5e1;color:var(--text-main);font-family:inherit;font-size:.86rem;transition:all .22s ease}.form-control:focus{outline:none;border-color:#0284c7;box-shadow:0 0 0 3px #0284c733;background:#fff}.tab-list{display:flex;gap:.5rem;margin-bottom:1.5rem;overflow-x:auto;padding-bottom:.35rem}.tab-item{padding:.65rem 1.2rem;border-radius:var(--radius-md);background:#fff;border:1px solid var(--border-color);color:var(--text-muted);font-weight:700;font-size:.84rem;cursor:pointer;white-space:nowrap;transition:all .22s cubic-bezier(.16,1,.3,1)}.tab-item:hover{color:var(--text-main);background:#f8fafc;transform:translateY(-2px);border-color:#cbd5e1}.tab-item.active{background:linear-gradient(135deg,#0284c7,#0369a1);border-color:#0284c7;color:#fff;font-weight:800;box-shadow:0 4px 14px #0284c74d}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeInBackdrop .25s ease-out}.modal-content{background:#fff;border:1px solid #cbd5e1;border-radius:var(--radius-lg);width:100%;max-width:600px;box-shadow:0 25px 50px -12px #00000040;animation:popInSpring .35s cubic-bezier(.34,1.56,.64,1);overflow:hidden;color:#0f172a}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:#f8fafc}.modal-title{font-size:1.15rem;font-weight:800;color:var(--text-main)}.modal-body{padding:1.5rem;max-height:70vh;overflow-y:auto;background:#fff}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:.75rem;background:#f8fafc}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (max-width: 1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.75rem;flex-wrap:wrap;gap:1rem}.page-title{font-size:1.65rem;font-weight:900;letter-spacing:-.02em;color:#0f172a}.page-subtitle{font-size:.875rem;color:var(--text-muted);margin-top:.25rem}.app-header{padding:0 1.5rem!important}.sidebar-close-mobile-btn,.sidebar-backdrop,.sidebar-nav{display:none!important}.main-content{margin-left:0!important;width:100%!important;max-width:100%!important;padding:1.5rem;min-height:calc(100vh - var(--header-height));margin-top:var(--header-height);box-sizing:border-box;overflow-x:hidden}@media (max-width: 768px){.app-header{padding:0 .85rem}.sidebar-close-mobile-btn{display:block}.sidebar-backdrop.active{display:block;opacity:1}.sidebar-nav{transform:translate(-100%)!important;box-shadow:10px 0 30px #000c;width:290px!important;max-width:85vw!important}.sidebar-nav.open{transform:translate(0)!important;visibility:visible!important}.main-content{margin-left:0!important;width:100%!important;max-width:100%!important;padding:.75rem!important}.glass-card{padding:1rem!important;border-radius:var(--radius-md)!important}.page-title{font-size:1.3rem!important}.btn{padding:.5rem .85rem!important;font-size:.8rem!important}.table-container{-webkit-overflow-scrolling:touch;max-width:100%;margin-bottom:.75rem}.form-control{font-size:.85rem;padding:.55rem .75rem}}@media (max-width: 480px){.main-content{padding:.5rem!important}.glass-card{padding:.85rem!important}.page-title{font-size:1.15rem!important}}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.teknik-module-wrapper .table-container,.teknik-module-wrapper .table-responsive,.teknik-module-wrapper div[style*="overflowX: 'auto'"],.teknik-module-wrapper div[style*="overflow-x: auto"]{border:1.5px solid #1e3a8a!important;box-shadow:0 4px 18px #1e3a8a1f!important;background:#fff!important}.teknik-module-wrapper table thead tr{background:linear-gradient(135deg,#1e3a8a,#1e40af)!important;color:#fff!important}.teknik-module-wrapper table thead th{background:transparent!important;color:#fff!important;border-color:#1e40af!important}.teknik-module-wrapper table thead th *{color:#fff!important}.teknik-module-wrapper table tbody tr{background:#fff!important;color:#0f172a!important;border-bottom:1px solid #e2e8f0!important}.teknik-module-wrapper table tbody tr:nth-child(2n){background:#f8fafc!important}.teknik-module-wrapper table tbody td{color:#0f172a!important;border-bottom:1px solid #e2e8f0!important}.teknik-module-wrapper table tbody td div:not(button *):not([style*=background]):not([class*=badge]),.teknik-module-wrapper table tbody td span:not(button *):not([style*=background]):not([class*=badge]),.teknik-module-wrapper table tbody td p,.teknik-module-wrapper table tbody td small,.teknik-module-wrapper table tbody td b,.teknik-module-wrapper table tbody td strong{color:#0f172a!important}.teknik-module-wrapper table tbody tr:hover{background:#1e3a8a0f!important}.legal-module-wrapper .table-container,.legal-module-wrapper div[style*="overflowX: 'auto'"],.legal-module-wrapper div[style*="overflow-x: auto"]{border:1.5px solid #7e22ce!important;background:#fff!important}.legal-module-wrapper table thead tr{background:linear-gradient(135deg,#7e22ce,#6b21a8)!important;color:#fff!important;border-bottom:2px solid #7e22ce!important}.legal-module-wrapper table thead th{background:transparent!important;color:#fff!important;border-color:#6b21a8!important}.legal-module-wrapper table thead th *{color:#fff!important}.legal-module-wrapper table tbody tr{background:#fff!important;color:#0f172a!important;border-bottom:1px solid #e2e8f0!important}.legal-module-wrapper table tbody tr:nth-child(2n){background:#f8fafc!important}.legal-module-wrapper table tbody td{color:#0f172a!important;border-bottom:1px solid #e2e8f0!important}.legal-module-wrapper table tbody td div:not(button *):not([style*=background]):not([class*=badge]),.legal-module-wrapper table tbody td span:not(button *):not([style*=background]):not([class*=badge]),.legal-module-wrapper table tbody td p,.legal-module-wrapper table tbody td small,.legal-module-wrapper table tbody td b,.legal-module-wrapper table tbody td strong{color:#0f172a!important}.legal-module-wrapper table tbody tr:hover{background:#7e22ce0f!important}.legal-module-wrapper table th,.legal-module-wrapper table td{font-weight:400!important}.marketing-module-wrapper table:not(#spr-official-print-document *):not(#spr-printable-area *) thead tr{background:linear-gradient(135deg,#0284c7,#0369a1)!important;color:#fff!important;border-bottom:2px solid #0284c7!important}.marketing-module-wrapper table:not(#spr-official-print-document *):not(#spr-printable-area *) thead th{background:transparent!important;color:#fff!important;border:none!important;border-right:1px solid rgba(255,255,255,.2)!important;padding:10px 12px!important;font-size:.82rem!important;font-weight:800!important}.marketing-module-wrapper table:not(#spr-official-print-document *):not(#spr-printable-area *) thead th *{color:#fff!important}.marketing-module-wrapper table:not(#spr-official-print-document *):not(#spr-printable-area *) thead th:last-child{border-right:none!important}.marketing-module-wrapper table:not(#spr-official-print-document *):not(#spr-printable-area *) tbody tr{background:#fff!important;color:#0f172a!important;border-bottom:1px solid #e2e8f0!important}.marketing-module-wrapper table:not(#spr-official-print-document *):not(#spr-printable-area *) tbody tr:nth-child(2n){background:#f8fafc!important}.marketing-module-wrapper table:not(#spr-official-print-document *):not(#spr-printable-area *) tbody td{color:#0f172a!important;font-weight:400!important;border:none!important;border-bottom:1px solid #e2e8f0!important;border-right:1px solid #f1f5f9!important;padding:8px 12px!important;font-size:.8rem!important}.marketing-module-wrapper table:not(#spr-official-print-document *):not(#spr-printable-area *) tbody td:last-child{border-right:none!important}.marketing-module-wrapper table:not(#spr-official-print-document *):not(#spr-printable-area *) tbody td div:not(button *):not([style*=background]):not([class*=badge]),.marketing-module-wrapper table:not(#spr-official-print-document *):not(#spr-printable-area *) tbody td span:not(button *):not([style*=background]):not([class*=badge]),.marketing-module-wrapper table:not(#spr-official-print-document *):not(#spr-printable-area *) tbody td p,.marketing-module-wrapper table:not(#spr-official-print-document *):not(#spr-printable-area *) tbody td small,.marketing-module-wrapper table:not(#spr-official-print-document *):not(#spr-printable-area *) tbody td b,.marketing-module-wrapper table:not(#spr-official-print-document *):not(#spr-printable-area *) tbody td strong{color:#0f172a!important;font-weight:400!important}.marketing-module-wrapper table:not(#spr-official-print-document *):not(#spr-printable-area *) tbody tr:hover{background:#0284c70f!important}.hr-ga-module-wrapper .table-container,.hr-ga-module-wrapper div[style*="overflowX: 'auto'"],.hr-ga-module-wrapper div[style*="overflow-x: auto"]{border:1.5px solid #15803d!important;background:#fff!important}.hr-ga-module-wrapper table thead tr{background:linear-gradient(135deg,#15803d,#166534)!important;color:#fff!important;border-bottom:2px solid #15803d!important}.hr-ga-module-wrapper table thead th{background:transparent!important;color:#fff!important;border-color:#166534!important;font-weight:800!important}.hr-ga-module-wrapper table thead th *{color:#fff!important}.hr-ga-module-wrapper table tbody tr{background:#fff!important;color:#0f172a!important;border-bottom:1px solid #e2e8f0!important}.hr-ga-module-wrapper table tbody tr:nth-child(2n){background:#f8fafc!important}.hr-ga-module-wrapper table tbody td{color:#0f172a!important;border-bottom:1px solid #e2e8f0!important}.hr-ga-module-wrapper table tbody td div:not(button *):not([style*=background]):not([class*=badge]),.hr-ga-module-wrapper table tbody td span:not(button *):not([style*=background]):not([class*=badge]),.hr-ga-module-wrapper table tbody td p,.hr-ga-module-wrapper table tbody td small,.hr-ga-module-wrapper table tbody td b,.hr-ga-module-wrapper table tbody td strong{color:#0f172a!important}.hr-ga-module-wrapper table tbody tr:hover{background:#15803d0f!important}.finance-module-wrapper .table-container,.finance-module-wrapper div[style*="overflowX: 'auto'"],.finance-module-wrapper div[style*="overflow-x: auto"]{border:1.5px solid #7f0000!important;background:#fff!important}.finance-module-wrapper table thead tr{background:linear-gradient(135deg,#7f0000,#991b1b)!important;color:#fff!important;border-bottom:2px solid #7f0000!important}.finance-module-wrapper table thead th{background:transparent!important;color:#fff!important;border-color:#991b1b!important;font-weight:800!important}.finance-module-wrapper table thead th *{color:#fff!important}.finance-module-wrapper table tbody tr{background:#fff!important;color:#0f172a!important;border-bottom:1px solid #e2e8f0!important}.finance-module-wrapper table tbody tr:nth-child(2n){background:#f8fafc!important}.finance-module-wrapper table tbody td{color:#0f172a!important;border-bottom:1px solid #e2e8f0!important}.finance-module-wrapper table tbody td div:not(button *):not([style*=background]):not([class*=badge]),.finance-module-wrapper table tbody td span:not(button *):not([style*=background]):not([class*=badge]),.finance-module-wrapper table tbody td p,.finance-module-wrapper table tbody td small,.finance-module-wrapper table tbody td b,.finance-module-wrapper table tbody td strong{color:#0f172a!important}.finance-module-wrapper table tbody tr:hover{background:#b91c1c0f!important}.todo-attendance-module-wrapper .table-container,.todo-attendance-module-wrapper div[style*="overflowX: 'auto'"],.todo-attendance-module-wrapper div[style*="overflow-x: auto"]{border:1.5px solid #475569!important;background:#fff!important}.todo-attendance-module-wrapper table thead tr{background:linear-gradient(135deg,#475569,#334155)!important;color:#fff!important;border-bottom:2px solid #475569!important}.todo-attendance-module-wrapper table thead th{background:transparent!important;color:#fff!important;border-color:#334155!important;font-weight:800!important}.todo-attendance-module-wrapper table thead th *{color:#fff!important}.todo-attendance-module-wrapper table tbody tr{background:#fff!important;color:#0f172a!important;border-bottom:1px solid #e2e8f0!important}.todo-attendance-module-wrapper table tbody tr:nth-child(2n){background:#f8fafc!important}.todo-attendance-module-wrapper table tbody td{color:#0f172a!important;border-bottom:1px solid #e2e8f0!important}.todo-attendance-module-wrapper table tbody td div:not(button *):not([style*=background]):not([class*=badge]),.todo-attendance-module-wrapper table tbody td span:not(button *):not([style*=background]):not([class*=badge]),.todo-attendance-module-wrapper table tbody td p,.todo-attendance-module-wrapper table tbody td small,.todo-attendance-module-wrapper table tbody td b,.todo-attendance-module-wrapper table tbody td strong{color:#0f172a!important}.todo-attendance-module-wrapper table tbody tr:hover{background:#4755690f!important}.teknik-module-wrapper .glass-card,.legal-module-wrapper .glass-card,.marketing-module-wrapper .glass-card,.finance-module-wrapper .glass-card,.hr-ga-module-wrapper .glass-card,.todo-attendance-module-wrapper .glass-card{background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 1px 3px #0000000d!important;color:#0f172a}.teknik-module-wrapper table,.legal-module-wrapper table,.marketing-module-wrapper table,.finance-module-wrapper table,.hr-ga-module-wrapper table,.todo-attendance-module-wrapper table{background:#fff!important}@media print{@page{size:A4 landscape;margin:10mm}body{background:#fff!important;color:#000!important;font-size:11pt!important;margin:0!important;padding:0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.app-header,.sidebar-nav,.sidebar-backdrop,.page-header,.tab-list,button,.btn,datalist{display:none!important}.main-content{margin:0!important;padding:0!important;width:100%!important;max-width:100%!important}.printable-sheet-area{background:#fff!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0!important;color:#000!important}.printable-sheet-area *{color:#000!important;background-color:transparent!important;box-shadow:none!important;text-shadow:none!important}.printable-sheet-area div[style*=gridTemplateColumns]{background:#fff!important;border:none!important}.printable-sheet-area input{color:#000!important;border:none!important;border-bottom:1px solid #000000!important;background:transparent!important;font-size:10pt!important;padding:1px 0!important}.table-container{overflow:visible!important;border:none!important;box-shadow:none!important;background:transparent!important}.custom-table{width:100%!important;min-width:100%!important;border-collapse:collapse!important}.custom-table th{background-color:#f3f4f6!important;color:#000!important;border:1px solid #000000!important;font-weight:800!important;font-size:9pt!important;padding:6px 4px!important;text-align:center!important;white-space:normal!important}.custom-table td{border:1px solid #000000!important;color:#000!important;font-size:9pt!important;padding:5px 4px!important}.custom-table tr{page-break-inside:avoid!important}.custom-table th:last-child,.custom-table td:last-child{display:none!important}div[style*=Terbilang]{background:#fff!important;border:1px solid #000000!important;color:#000!important;margin-top:10px!important}}
