:root{--font-sans: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--space-0-5: .125rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-success-border: #bbf7d0;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-warning-border: #fde68a;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--color-danger-border: #fecaca;--color-info: #0284c7;--color-info-bg: #f0f9ff;--color-info-border: #bae6fd;--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-2: #f1f5f9;--color-surface-hover: #e2e8f0;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-text: #0f172a;--color-text-muted: #64748b;--color-text-subtle: #94a3b8;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--neu-surface: #eef2f6;--neu-item-bg: linear-gradient(145deg, #f5f8fb, #e8edf3);--neu-shadow-raised: 4px 4px 9px rgba(15, 23, 42, .11), 2px 2px 6px rgba(var(--color-primary-rgb, 37, 211, 102), .1), -3px -3px 7px rgba(255, 255, 255, .55);--neu-shadow-hover: 5px 5px 11px rgba(15, 23, 42, .14), 2px 2px 8px rgba(var(--color-primary-rgb, 37, 211, 102), .18), -3px -3px 7px rgba(255, 255, 255, .45);--neu-shadow-inset: inset 3px 3px 7px rgba(15, 23, 42, .16), inset 1px 1px 5px rgba(var(--color-primary-rgb, 37, 211, 102), .22), inset -2px -2px 5px rgba(255, 255, 255, .42);--neu-border: rgba(var(--color-primary-rgb, 37, 211, 102), .14);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1)}[data-mode=dark]{--color-bg: #0b0f19;--color-surface: #111827;--color-surface-2: #1f2937;--color-surface-hover: #374151;--color-border: #374151;--color-border-light: #1f2937;--color-text: #f9fafb;--color-text-muted: #9ca3af;--color-text-subtle: #6b7280;--color-success-bg: rgba(22, 163, 74, .15);--color-success-border: rgba(22, 163, 74, .3);--color-warning-bg: rgba(217, 119, 6, .15);--color-warning-border: rgba(217, 119, 6, .3);--color-danger-bg: rgba(220, 38, 38, .15);--color-danger-border: rgba(220, 38, 38, .3);--color-info-bg: rgba(2, 132, 199, .15);--color-info-border: rgba(2, 132, 199, .3);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .5);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5), 0 2px 4px -2px rgb(0 0 0 / .5);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .6), 0 4px 6px -4px rgb(0 0 0 / .6);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .7), 0 8px 10px -6px rgb(0 0 0 / .7);--neu-surface: #131b2b;--neu-item-bg: linear-gradient(145deg, #182235, #101726);--neu-shadow-raised: 4px 4px 9px rgba(0, 0, 0, .55), 1px 1px 5px rgba(var(--color-primary-rgb, 37, 211, 102), .08), -2px -2px 6px rgba(var(--color-primary-rgb, 37, 211, 102), .06);--neu-shadow-hover: 5px 5px 11px rgba(0, 0, 0, .65), 2px 2px 8px rgba(var(--color-primary-rgb, 37, 211, 102), .18), -2px -2px 6px rgba(var(--color-primary-rgb, 37, 211, 102), .1);--neu-shadow-inset: inset 3px 3px 7px rgba(0, 0, 0, .68), inset 1px 1px 4px rgba(var(--color-primary-rgb, 37, 211, 102), .2), inset -2px -2px 5px rgba(var(--color-primary-rgb, 37, 211, 102), .08);--neu-border: rgba(var(--color-primary-rgb, 37, 211, 102), .18)}:root,[data-theme=hijau-whatsapp]{--color-primary: #25D366;--color-primary-contrast: #0f172a;--color-accent: #128C7E;--color-accent-contrast: #ffffff;--color-primary-rgb: 37, 211, 102;--color-accent-rgb: 18, 140, 126}[data-theme=samudra-biru]{--color-primary: #1E88E5;--color-primary-contrast: #ffffff;--color-accent: #00ACC1;--color-accent-contrast: #ffffff;--color-primary-rgb: 30, 136, 229;--color-accent-rgb: 0, 172, 193}[data-theme=ungu-senja]{--color-primary: #7E57C2;--color-primary-contrast: #ffffff;--color-accent: #EC407A;--color-accent-contrast: #ffffff;--color-primary-rgb: 126, 87, 194;--color-accent-rgb: 236, 64, 122}[data-theme=merah-delima]{--color-primary: #E53935;--color-primary-contrast: #ffffff;--color-accent: #FB8C00;--color-accent-contrast: #ffffff;--color-primary-rgb: 229, 57, 53;--color-accent-rgb: 251, 140, 0}[data-theme=jingga-hangat]{--color-primary: #FB8C00;--color-primary-contrast: #0f172a;--color-accent: #F4511E;--color-accent-contrast: #ffffff;--color-primary-rgb: 251, 140, 0;--color-accent-rgb: 244, 81, 30}[data-theme=teal-laguna]{--color-primary: #00897B;--color-primary-contrast: #ffffff;--color-accent: #26C6DA;--color-accent-contrast: #0f172a;--color-primary-rgb: 0, 137, 123;--color-accent-rgb: 38, 198, 218}[data-theme=pink-sakura]{--color-primary: #EC407A;--color-primary-contrast: #ffffff;--color-accent: #AB47BC;--color-accent-contrast: #ffffff;--color-primary-rgb: 236, 64, 122;--color-accent-rgb: 171, 71, 188}[data-theme=indigo-malam]{--color-primary: #3949AB;--color-primary-contrast: #ffffff;--color-accent: #00BCD4;--color-accent-contrast: #0f172a;--color-primary-rgb: 57, 73, 171;--color-accent-rgb: 0, 188, 212}[data-theme=emas-sultan]{--color-primary: #C9A227;--color-primary-contrast: #0f172a;--color-accent: #8D6E63;--color-accent-contrast: #ffffff;--color-primary-rgb: 201, 162, 39;--color-accent-rgb: 141, 110, 99}[data-theme=lime-segar]{--color-primary: #7CB342;--color-primary-contrast: #0f172a;--color-accent: #FDD835;--color-accent-contrast: #0f172a;--color-primary-rgb: 124, 179, 66;--color-accent-rgb: 253, 216, 53}[data-theme=biru-langit]{--color-primary: #039BE5;--color-primary-contrast: #ffffff;--color-accent: #26A69A;--color-accent-contrast: #ffffff;--color-primary-rgb: 3, 155, 229;--color-accent-rgb: 38, 166, 154}[data-theme=cokelat-kopi]{--color-primary: #6D4C41;--color-primary-contrast: #ffffff;--color-accent: #FFB300;--color-accent-contrast: #0f172a;--color-primary-rgb: 109, 76, 65;--color-accent-rgb: 255, 179, 0}[data-theme=abu-grafit]{--color-primary: #546E7A;--color-primary-contrast: #ffffff;--color-accent: #26A69A;--color-accent-contrast: #ffffff;--color-primary-rgb: 84, 110, 122;--color-accent-rgb: 38, 166, 154}[data-theme=magenta-fuchsia]{--color-primary: #D81B60;--color-primary-contrast: #ffffff;--color-accent: #7E57C2;--color-accent-contrast: #ffffff;--color-primary-rgb: 216, 27, 96;--color-accent-rgb: 126, 87, 194}[data-theme=hijau-zamrud]{--color-primary: #00A86B;--color-primary-contrast: #ffffff;--color-accent: #FFC107;--color-accent-contrast: #0f172a;--color-primary-rgb: 0, 168, 107;--color-accent-rgb: 255, 193, 7}[data-theme=biru-laut-dalam]{--color-primary: #0D47A1;--color-primary-contrast: #ffffff;--color-accent: #00B8D4;--color-accent-contrast: #0f172a;--color-primary-rgb: 13, 71, 161;--color-accent-rgb: 0, 184, 212}[data-theme=ungu-lavender]{--color-primary: #9575CD;--color-primary-contrast: #0f172a;--color-accent: #4DB6AC;--color-accent-contrast: #0f172a;--color-primary-rgb: 149, 117, 205;--color-accent-rgb: 77, 182, 172}[data-theme=merah-marun]{--color-primary: #8E1B3A;--color-primary-contrast: #ffffff;--color-accent: #F06292;--color-accent-contrast: #0f172a;--color-primary-rgb: 142, 27, 58;--color-accent-rgb: 240, 98, 146}[data-theme=kuning-mentari]{--color-primary: #F9A825;--color-primary-contrast: #0f172a;--color-accent: #EF6C00;--color-accent-contrast: #ffffff;--color-primary-rgb: 249, 168, 37;--color-accent-rgb: 239, 108, 0}[data-theme=hijau-mint]{--color-primary: #26C6A0;--color-primary-contrast: #0f172a;--color-accent: #5C6BC0;--color-accent-contrast: #ffffff;--color-primary-rgb: 38, 198, 160;--color-accent-rgb: 92, 107, 192}[data-theme=biru-es]{--color-primary: #4FC3F7;--color-primary-contrast: #0f172a;--color-accent: #7986CB;--color-accent-contrast: #ffffff;--color-primary-rgb: 79, 195, 247;--color-accent-rgb: 121, 134, 203}[data-theme=rose-gold]{--color-primary: #B76E79;--color-primary-contrast: #ffffff;--color-accent: #D4AF37;--color-accent-contrast: #0f172a;--color-primary-rgb: 183, 110, 121;--color-accent-rgb: 212, 175, 55}[data-theme=hijau-hutan]{--color-primary: #2E7D32;--color-primary-contrast: #ffffff;--color-accent: #8D6E63;--color-accent-contrast: #ffffff;--color-primary-rgb: 46, 125, 50;--color-accent-rgb: 141, 110, 99}[data-theme=violet-neon]{--color-primary: #AA00FF;--color-primary-contrast: #ffffff;--color-accent: #00E5FF;--color-accent-contrast: #0f172a;--color-primary-rgb: 170, 0, 255;--color-accent-rgb: 0, 229, 255}[data-theme=slate-modern]{--color-primary: #334155;--color-primary-contrast: #ffffff;--color-accent: #6366F1;--color-accent-contrast: #ffffff;--color-primary-rgb: 51, 65, 85;--color-accent-rgb: 99, 102, 241}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal),color var(--transition-normal);overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-subtle)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.card,.panel{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:background-color var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.panel-header,.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.panel-header .panel-title,.panel-header .card-title,.card-header .panel-title,.card-header .card-title{font-size:1.15rem;font-weight:700;color:var(--color-text);margin:0}.panel-header .panel-subtitle,.panel-header .card-subtitle,.card-header .panel-subtitle,.card-header .card-subtitle{font-size:.825rem;color:var(--color-text-muted);margin:.2rem 0 0}.card-body,.panel-body{color:var(--color-text)}.card-footer,.panel-footer{padding-top:var(--space-4);margin-top:var(--space-4);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.form-group{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.form-group:last-child{margin-bottom:0}.form-label{font-size:.85rem;font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:.25rem}.required{color:var(--color-danger);font-weight:700}.form-control,.form-select{width:100%;min-height:42px;padding:var(--space-2) var(--space-3);font-size:.875rem;color:var(--color-text);background-color:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none;font-family:inherit;box-sizing:border-box}.form-control:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.16)}.form-control:hover:not(:focus),.form-select:hover:not(:focus){border-color:var(--color-text-subtle)}.form-control:disabled,.form-select:disabled{background-color:var(--color-surface-2);cursor:not-allowed;opacity:.65}.form-select{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.2em 1.2em;padding-right:2.25rem;appearance:none}.form-hint{display:block;font-size:.775rem;color:var(--color-text-muted);margin-top:.25rem;line-height:1.4}.modal-backdrop{position:fixed;inset:0;background-color:#0f172aa6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1050;padding:1rem;overflow-y:auto;animation:modalFadeIn .18s ease-out}.modal-card,.modal-dialog{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:580px;max-height:90vh;box-shadow:var(--shadow-xl);overflow:hidden;display:flex;flex-direction:column;animation:modalScaleUp .18s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);background-color:var(--color-surface);flex-shrink:0}.modal-header .modal-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--color-text)}.modal-header .modal-subtitle{margin:var(--space-1) 0 0;font-size:.8rem;color:var(--color-text-muted)}.modal-header .btn-close{background:transparent;border:none;width:32px;height:32px;border-radius:var(--radius-sm);font-size:1.1rem;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-header .btn-close:hover{color:var(--color-text);background-color:var(--color-surface-hover)}.modal-body{padding:var(--space-5);overflow-y:auto;flex:1;color:var(--color-text)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);background-color:var(--color-surface-2);flex-shrink:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:42px;padding:var(--space-2) var(--space-4);font-size:.875rem;font-weight:600;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:all var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.btn-primary{background-color:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary);box-shadow:0 2px 4px rgba(var(--color-primary-rgb),.2)}.btn.btn-primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 4px 10px rgba(var(--color-primary-rgb),.35)}.btn.btn-primary:active:not(:disabled){filter:brightness(.95);transform:translateY(1px)}.btn.btn-accent{background-color:var(--color-accent);color:var(--color-accent-contrast)}.btn.btn-accent:hover:not(:disabled){filter:brightness(.95)}.btn.btn-outline{background-color:transparent;border-color:var(--color-border);color:var(--color-text)}.btn.btn-outline:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-text-subtle)}.btn.btn-danger{background-color:var(--color-danger);color:#fff}.btn.btn-danger:hover:not(:disabled){filter:brightness(.9)}.btn.btn-sm{min-height:34px;padding:var(--space-1) var(--space-3);font-size:.8125rem}.icon-btn,.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background-color:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;font-size:1.05rem;transition:all var(--transition-fast)}.icon-btn:hover,.btn-icon:hover{background-color:var(--color-surface-hover);color:var(--color-primary);border-color:rgba(var(--color-primary-rgb),.35);transform:scale(1.05)}.icon-btn:active,.btn-icon:active{transform:scale(.96)}.icon-badge{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);background:rgba(var(--color-primary-rgb),.12);color:var(--color-primary);font-size:1.25rem;flex-shrink:0;transition:all var(--transition-fast)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.2rem .55rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.badge.badge-success{background-color:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.badge.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border)}.badge.badge-danger{background-color:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}.badge.badge-info{background-color:var(--color-info-bg);color:var(--color-info);border:1px solid var(--color-info-border)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:.875rem;line-height:1.5;margin-bottom:var(--space-4)}.alert.alert-danger{background-color:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger)}.alert.alert-warning{background-color:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning)}.alert.alert-info{background-color:var(--color-info-bg);border:1px solid var(--color-info-border);color:var(--color-info)}.alert.alert-success{background-color:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success)}.table-responsive,.table-container{width:100%;overflow-x:auto!important;overflow-y:auto!important;max-height:72vh;border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);background-color:var(--color-surface);-webkit-overflow-scrolling:touch;scrollbar-width:thin}.table-responsive::-webkit-scrollbar,.table-container::-webkit-scrollbar{width:6px;height:6px}.table-responsive::-webkit-scrollbar-thumb,.table-container::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.table-responsive::-webkit-scrollbar-thumb:hover,.table-container::-webkit-scrollbar-thumb:hover{background:var(--color-text-subtle)}.data-table,.dataview-table,.schedule-table,.health-table,table.table{width:100%;border-collapse:collapse;white-space:nowrap!important;text-align:left}.data-table thead,.dataview-table thead,.schedule-table thead,.health-table thead,table.table thead{position:sticky;top:0;z-index:10;background-color:var(--color-surface-2)}.data-table thead th,.dataview-table thead th,.schedule-table thead th,.health-table thead th,table.table thead th{position:sticky;top:0;z-index:10;background-color:var(--color-surface-2);white-space:nowrap!important;padding:var(--space-3) var(--space-4);font-weight:600;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.data-table tbody tr,.dataview-table tbody tr,.schedule-table tbody tr,.health-table tbody tr,table.table tbody tr{border-bottom:1px solid var(--color-border-light)}.data-table tbody tr td,.dataview-table tbody tr td,.schedule-table tbody tr td,.health-table tbody tr td,table.table tbody tr td{white-space:nowrap!important;padding:var(--space-3) var(--space-4);vertical-align:middle;color:var(--color-text)}
