@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#1e3a5f;--primary-light:#1e40af;--primary-dark:#0f172a;--secondary:#64748b;--accent:#3b82f6;--accent-hover:#2563eb;--surface:#fff;--surface-secondary:#f8fafc;--border:#e2e8f0;--border-light:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--sidebar-width:260px;--header-height:64px;--radius:12px;--radius-sm:8px;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow:0 4px 16px #00000014, 0 2px 6px #0000000d;--shadow-lg:0 10px 40px #0000001a, 0 4px 16px #0000000f}html,body,#root{background-color:var(--surface-secondary);height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.6}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,select,textarea{outline:none;font-family:inherit}table{border-collapse:collapse;width:100%}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.kds-layout{background-color:#f8fafc;background-image:radial-gradient(at 0 0,#dbebff 0,#0000 50%),radial-gradient(at 100% 100%,#eae0ff 0,#0000 50%),radial-gradient(at 100% 0,#dbebffcc 0,#0000 50%);flex-direction:column;min-height:100vh;display:flex}.kds-body{flex:1;display:flex;position:relative}.kds-main{background-color:#0000;flex-direction:column;flex:1;min-width:0;display:flex}.kds-topbar{-webkit-backdrop-filter:blur(12px);z-index:40;background:#ffffffa6;border-bottom:1px solid #e2e8f099;flex-shrink:0;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0;box-shadow:0 4px 20px -2px #00000008}.kds-topbar-left{align-items:center;gap:8px;display:flex}.kds-breadcrumb-base{color:#94a3b8;font-size:13.5px;font-weight:500}.kds-breadcrumb-active{color:#0f172a;font-size:13.5px;font-weight:600}.kds-topbar-right{align-items:center;gap:12px;display:flex}.kds-topbar-notify{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.kds-topbar-notify:hover{background:#f8fafc;border-color:#cbd5e1}.kds-topbar-notify-dot{background:#ef4444;border:1.5px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px}.kds-topbar-user{cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:40px;outline:none;align-items:center;gap:10px;padding:4px 12px 4px 4px;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex}.kds-topbar-user:hover{background:#fff;border-color:#bfdbfe;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f626,0 2px 4px #3b82f60d}.kds-summary-card{-webkit-tap-highlight-color:transparent;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none!important}.kds-summary-card:focus,.kds-summary-card:focus-visible,.kds-summary-card:active{outline:none!important}.kds-summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.kds-topbar-user-avatar{color:#fff;background:linear-gradient(135deg,#1e3a5f,#3b82f6);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex;box-shadow:0 0 0 2px #fff,0 0 0 3px #3b82f633}.kds-topbar-user-name{color:#0f172a;font-size:13px;font-weight:600}.kds-content{flex:1;padding:28px}@keyframes spin{to{transform:rotate(360deg)}}.kds-hamburger-btn{cursor:pointer;color:#0f172a;background:0 0;border:none;padding:4px;display:none}.kds-sidebar-wrapper{align-items:stretch;height:calc(100vh - 64px);display:flex;position:sticky;top:64px}.kds-sidebar-overlay{z-index:40;background:#0006;width:100vw;height:100vh;display:none;position:fixed;top:0;left:0}@media (width<=768px){.kds-hamburger-btn{justify-content:center;align-items:center;display:flex}.kds-sidebar-wrapper{z-index:50;height:100vh;transition:left .3s;position:fixed;top:0;left:-280px}.kds-sidebar-wrapper.open{left:0}.kds-sidebar-overlay.show{display:block}.kds-topbar{justify-content:space-between;padding:0 16px}.kds-topbar-right button[title="Keluar / Logout"]{padding:6px}.kds-topbar-right button[title="Keluar / Logout"] span{display:none}.kds-content{padding:16px}.kds-topbar-user-name{display:none}}@keyframes ring{0%{transform:rotate(0)}10%{transform:rotate(15deg)}20%{transform:rotate(-10deg)}30%{transform:rotate(10deg)}40%{transform:rotate(-10deg)}50%{transform:rotate(5deg)}60%{transform:rotate(-5deg)}70%{transform:rotate(0)}to{transform:rotate(0)}}.kds-topbar-notify.ringing{color:#1d4ed8;animation:1s ease-in-out infinite ring}.kds-topbar-notify.ringing svg{stroke:#1d4ed8}.kds-notification-dropdown{z-index:1000;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:320px;animation:.2s ease-out slideDown;position:absolute;top:40px;right:-10px;overflow:hidden;box-shadow:0 10px 25px #0000001a,0 4px 6px #0000000d}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.kds-notification-header{color:#1e293b;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:12px 16px;font-size:13px;font-weight:700}.kds-notification-item{cursor:pointer;align-items:flex-start;gap:12px;padding:16px;transition:background .2s;display:flex}.kds-notification-item:hover{background:#f1f5f9}.kds-notification-icon{background:#eff6ff;border-radius:50%;justify-content:center;align-items:center;padding:8px;display:flex}.kds-notification-content{flex-direction:column;display:flex}.kds-notification-content p{color:#334155;margin:0;font-size:13px;line-height:1.4}.kds-notification-content span{color:#64748b;margin-top:4px;font-size:11px}.kds-notification-empty{text-align:center;color:#94a3b8;flex-direction:column;align-items:center;gap:8px;padding:32px 20px;font-size:13px;display:flex}.kds-tr{transition:background-color .2s}.kds-tr:hover{background-color:#f8fafc}
