@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--sidebar-bg:#2f0e53;--sidebar-text:#fff;--sidebar-active:#8512a1;--sidebar-hover:#4d0d80;--sidebar-border:#ffffff14;--sidebar-width:260px;--page-bg:#f8f5fc;--page-white:#fff;--title-color:#6b0354;--subtitle-color:#ab9595;--text-dark:#1a1a2e;--text-body:#374151;--text-muted:#9ca3af;--accent-purple:#4d0d80;--accent-green:#0cafa9;--accent-orange:#ff9f43;--accent-blue:#54a0ff;--accent-pink:#fd79a8;--color-success:#0cafa9;--color-warning:#ff9f43;--color-danger:#ff6b6b;--color-info:#54a0ff;--gradient-purple:var(--accent-purple);--gradient-green:var(--accent-green);--gradient-orange:var(--accent-orange);--gradient-blue:var(--accent-blue);--border-color:#e8e0f0;--border-light:#f3e8ff;--shadow-sm:0 1px 3px #47235414;--shadow-md:0 4px 16px #4723541f;--shadow-lg:0 8px 32px #47235429;--shadow-card:0 2px 12px #47235417;--radius-sm:3px;--radius-md:5px;--radius-lg:10px;--radius-xl:12px;--transition:all .2s cubic-bezier(.4, 0, .2, 1);--transition-slow:all .3s cubic-bezier(.4, 0, .2, 1);--z-sidebar:100;--z-overlay:99;--z-modal:1100;--z-toast:1200;--page-gap:.75rem;--section-margin:.75rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background-color:var(--page-bg);color:var(--text-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.page-title{color:var(--title-color);letter-spacing:-.02em;align-items:center;gap:.5rem;font-size:1.75rem;font-weight:700;line-height:1.2;display:flex}.page-subtitle{color:var(--subtitle-color);margin-top:.25rem;font-size:.9rem;font-weight:400}.section-title{color:var(--title-color);font-size:1.1rem;font-weight:600}.app-wrapper{height:100vh;display:flex;overflow:hidden}.main-content{margin-left:var(--sidebar-width);height:100vh;transition:var(--transition-slow);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden auto}.page-inner{flex:1;padding:.75rem 2rem}.page-title-icon{color:var(--accent-purple);opacity:.85;flex-shrink:0;width:1em!important;height:1em!important}.card{background:var(--page-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--border-color);overflow:hidden}.card-body{padding:1rem}.card-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:.875rem 1rem;display:flex}.admin-toolbar,.sp-toolbar{color:#fff!important;border-radius:var(--radius-lg)!important;background:#2f0e53!important;border:1px solid #ffffff14!important;flex-wrap:wrap!important;justify-content:space-between!important;align-items:center!important;gap:1rem!important;padding:.875rem 1.25rem!important;display:flex!important}.admin-toolbar .search-input,.sp-toolbar .search-input{border:1.5px solid var(--border-color)!important;color:var(--text-dark)!important;background-color:#fff!important}.admin-toolbar .search-input::placeholder,.sp-toolbar .search-input::placeholder{color:var(--text-muted)!important}.admin-toolbar .search-input:focus,.sp-toolbar .search-input:focus{border-color:var(--accent-purple)!important;background-color:#fff!important;box-shadow:0 0 0 3px #4d0d801f!important}.admin-toolbar .search-input-wrapper .search-icon,.sp-toolbar .search-input-wrapper .search-icon{color:var(--text-muted)!important}.admin-toolbar .form-control,.sp-toolbar .form-control{color:#fff!important;background-color:#ffffff12!important;border:1.5px solid #ffffff1f!important}.admin-toolbar .form-control:focus,.sp-toolbar .form-control:focus{background-color:#ffffff1f!important;border-color:#fff6!important;box-shadow:0 0 0 3px #ffffff0f!important}.admin-toolbar select.form-control,.sp-toolbar select.form-control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")!important}.admin-toolbar select.form-control option,.sp-toolbar select.form-control option{color:#fff!important;background-color:#2f0e53!important}.admin-toolbar .btn-secondary,.sp-toolbar .btn-secondary{color:#fff!important;background:#ffffff12!important;border:1.5px solid #ffffff26!important}.admin-toolbar .btn-secondary:hover,.sp-toolbar .btn-secondary:hover{background:#ffffff26!important}.admin-toolbar span:not(.custom-dropdown-trigger span):not(.custom-dropdown-item span):not(.btn span),.sp-toolbar span:not(.custom-dropdown-trigger span):not(.custom-dropdown-item span):not(.btn span){color:#ffffffb3!important}.stat-cards-grid,.stat-cards-grid-3,.stat-cards-grid-2{grid-auto-rows:1fr;gap:1.25rem;margin-bottom:1.5rem;display:grid}.stat-cards-grid{grid-template-columns:repeat(4,1fr)}.stat-cards-grid-3{grid-template-columns:repeat(3,1fr)}.stat-cards-grid-2{grid-template-columns:repeat(2,1fr)}.stat-card{background:var(--page-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid var(--border-color);transition:var(--transition);align-items:center;gap:.75rem;min-height:90px;padding:1rem;display:flex;position:relative;overflow:hidden}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-icon.purple{color:#7209b7;background:#7209b71f}.stat-icon.indigo{color:#4361ee;background:#4361ee1f}.stat-icon.blue{color:#0077b6;background:#0077b61f}.stat-icon.teal{color:#00b4d8;background:#00b4d81f}.stat-icon.green{color:#38b000;background:#38b0001f}.stat-icon.lime{color:#80b918;background:#80b9181f}.stat-icon.orange{color:#f77f00;background:#f77f0021}.stat-icon.amber{color:#ffa600;background:#ffa60021}.stat-icon.red{color:#e63946;background:#e639461f}.stat-icon.pink{color:#f72585;background:#f725851f}.stat-info{flex:1}.stat-value{color:var(--text-dark);letter-spacing:-.02em;font-size:1.35rem;font-weight:700;line-height:1.1}.stat-label{color:var(--subtitle-color);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem;font-size:.75rem;font-weight:500}.btn{border-radius:var(--radius-md);transition:var(--transition);cursor:pointer;border:none;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.825rem;font-weight:600;line-height:1;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent-purple)!important;color:#fff!important;box-shadow:0 3px 8px #4d0d8040!important}.btn-primary:hover:not(:disabled){background:#8512a1!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px #8512a159!important}.btn-secondary{background:var(--page-white);color:var(--accent-purple);border:1.5px solid var(--accent-purple)}.btn-secondary:hover:not(:disabled){background:#4d0d800f}.btn-danger{color:var(--color-danger);background:#fff0f0;border:1.5px solid #ffcdd2}.btn-danger:hover:not(:disabled){background:#ffe0e0}.btn-success{color:#0cafa9;background:#0cafa926;border:1.5px solid #0cafa966}.btn-success:hover:not(:disabled){background:#0cafa940}.btn-edit{color:#475569!important;background:#f1f5f9!important;border:1.5px solid #cbd5e1!important;box-shadow:0 1px 2px #0000000d!important}.btn-edit:hover:not(:disabled){background:#e2e8f0!important;border-color:#94a3b8!important}.btn-sm{padding:.3rem .6rem;font-size:.75rem}.btn-lg{border-radius:var(--radius-lg);padding:.75rem 1.5rem;font-size:.95rem}.btn-full{justify-content:center;width:100%}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-label{color:var(--text-dark);font-size:.875rem;font-weight:500}.form-label span.required{color:var(--color-danger);margin-left:2px}.form-control{border:1.5px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-dark);background:var(--page-white);transition:var(--transition);outline:none;padding:.5rem .75rem;font-size:.875rem}.form-control:focus{border-color:var(--accent-purple);box-shadow:0 0 0 3px #4d0d801f}.form-control:disabled{cursor:not-allowed;background:#f5f3f7}.form-control.error{border-color:var(--color-danger);box-shadow:0 0 0 3px #ff6b6b1a}.form-error{color:var(--color-danger);font-size:.8rem}.form-hint{color:var(--subtitle-color);font-size:.8rem}textarea.form-control{resize:vertical;min-height:80px}.table-wrapper{border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch;overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:max-content;font-size:.875rem}.table thead th{color:var(--subtitle-color);text-transform:uppercase;letter-spacing:.07em;text-align:left;border-bottom:1.5px solid var(--border-color);white-space:nowrap;background:#f9f5ff;padding:.65rem .875rem;font-size:.72rem;font-weight:600}.table tbody td{border-bottom:1px solid var(--border-light);color:var(--text-body);vertical-align:middle;padding:.75rem .875rem}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:var(--transition)}.table tbody tr:hover{background:#fdf8ff}.table:not(.table-category-mobile-cards) th[data-label=Aksi],.table:not(.table-category-mobile-cards) td[data-label=Aksi],.table:not(.table-category-mobile-cards) th[data-label=Aksi\ Persetujuan],.table:not(.table-category-mobile-cards) td[data-label=Aksi\ Persetujuan],.table:not(.table-category-mobile-cards) th:last-child,.table:not(.table-category-mobile-cards) td:last-child{z-index:5!important;position:sticky!important;right:0!important}.table:not(.table-category-mobile-cards) th[data-label=Aksi],.table:not(.table-category-mobile-cards) th[data-label=Aksi\ Persetujuan],.table:not(.table-category-mobile-cards) th:last-child{background:#f9f5ff!important}.table:not(.table-category-mobile-cards) td[data-label=Aksi],.table:not(.table-category-mobile-cards) td[data-label=Aksi\ Persetujuan],.table:not(.table-category-mobile-cards) td:last-child{background:var(--page-white)!important;box-shadow:-6px 0 10px -6px #00000026!important}.table:not(.table-category-mobile-cards) tbody tr:hover td[data-label=Aksi],.table:not(.table-category-mobile-cards) tbody tr:hover td[data-label=Aksi\ Persetujuan],.table:not(.table-category-mobile-cards) tbody tr:hover td:last-child{background:#fdf8ff!important}.badge{letter-spacing:.02em;border-radius:100px;align-items:center;gap:.3rem;padding:.3rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:#0cafa9;background:#0cafa926}.badge-warning{color:#e17055;background:#ff9f4326}.badge-danger{color:#d63031;background:#ff6b6b26}.badge-info{color:#2e86de;background:#54a0ff26}.badge-purple{color:var(--accent-purple);background:#4d0d801a}.badge-gray{color:#6c757d;background:#f1f3f5}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);background:#1a1a2e99;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-box{background:var(--page-white);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:90vh;box-shadow:var(--shadow-lg);animation:.25s slideUp;overflow-y:auto}.modal-box.modal-lg{max-width:760px}.modal-box.modal-xl{max-width:960px}.modal-box.modal-sm{max-width:420px}.modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-title{color:var(--title-color);font-size:1.1rem;font-weight:700}.modal-close{border-radius:var(--radius-md);width:32px;height:32px;color:var(--subtitle-color);transition:var(--transition);background:#f5f0ff;border:none;justify-content:center;align-items:center;display:flex}.modal-close:hover{color:var(--title-color);background:#ede0ff}.modal-body{padding:1rem 1.25rem}.modal-footer{border-top:1px solid var(--border-light);justify-content:flex-end;gap:.75rem;padding:.75rem 1.25rem;display:flex}.topbar{background:var(--page-white);border-bottom:1px solid var(--border-color);z-index:50;flex-shrink:0;align-items:center;gap:1rem;height:64px;padding:0 2.5rem;display:flex;position:sticky;top:0;box-shadow:0 1px 6px #47235412}.topbar-title{color:var(--title-color);flex:1;font-size:1rem;font-weight:600}.topbar-user{border-radius:var(--radius-lg);transition:var(--transition);cursor:pointer;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.topbar-user:hover{background:#f5f0ff}.avatar{background:var(--gradient-purple);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.95rem;font-weight:700;display:flex}.filter-bar{flex-wrap:wrap;align-items:center;gap:.875rem;margin-bottom:1.5rem;display:flex}.search-input-wrapper{flex:1;min-width:220px;max-width:400px;position:relative}.search-input-wrapper .search-icon{color:var(--subtitle-color);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.search-input{border:1.5px solid var(--border-color);border-radius:var(--radius-md);width:100%;transition:var(--transition);background:var(--page-white);outline:none;padding:.5rem .75rem .5rem 2.25rem;font-size:.85rem}.search-input:focus{border-color:var(--accent-purple);box-shadow:0 0 0 3px #4d0d801a}.pagination{border-top:1px solid var(--border-light);align-items:center;gap:.4rem;padding:1.25rem 1.5rem;display:flex}.page-btn{border-radius:var(--radius-sm);border:1.5px solid var(--border-color);background:var(--page-white);width:34px;height:34px;color:var(--text-body);transition:var(--transition);justify-content:center;align-items:center;font-size:.875rem;font-weight:500;display:flex}.page-btn:hover:not(:disabled){border-color:var(--accent-purple);color:var(--accent-purple)}.page-btn.active{background:var(--gradient-purple);color:#fff;border-color:#0000}.page-btn:disabled{opacity:.4;cursor:not-allowed}.empty-state{color:var(--subtitle-color);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.empty-state svg{color:var(--border-color)}.empty-state p{text-align:center;font-size:.9rem}.toast-container{z-index:var(--z-toast);flex-direction:column;gap:.75rem;display:flex;position:fixed;top:1.25rem;right:1.25rem}.toast{background:var(--page-white);color:var(--text-dark);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);align-items:center;gap:.75rem;min-width:280px;max-width:380px;padding:.875rem 1.25rem;font-size:.875rem;font-weight:500;animation:.3s slideInRight;display:flex}.toast.success{color:#fff;background-color:#0cafa9}.toast.error{color:#fff;background-color:#ef4444}.toast.warning{color:#1e293b;background-color:#facc15}.toast.info{color:#fff;background-color:#3b82f6}.divider{border:none;border-top:1px solid var(--border-light);margin:1.5rem 0}select.form-control{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ab9595' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .875rem center;background-repeat:no-repeat;padding-right:2.5rem}.spinner{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin;display:inline-block}.spinner.dark{border:2.5px solid #4d0d8033;border-top-color:var(--accent-purple)}.steps{align-items:center;gap:0;margin-bottom:2rem;display:flex}.step-item{flex:1;align-items:center;gap:.5rem;display:flex}.step-number{border:2px solid var(--border-color);background:var(--page-white);width:36px;height:36px;color:var(--subtitle-color);transition:var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:flex}.step-item.active .step-number,.step-item.completed .step-number{background:var(--gradient-purple);color:#fff;border-color:#0000}.step-label{color:var(--subtitle-color);white-space:nowrap;font-size:.8rem;font-weight:500}.step-item.active .step-label{color:var(--accent-purple);font-weight:600}.step-item.completed .step-label{color:var(--color-success)}.step-line{background:var(--border-color);flex:1;height:2px;margin:0 .5rem}.step-line.completed{background:var(--gradient-purple)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:1.5s ease-in-out infinite pulse}.hamburger-btn{border-radius:var(--radius-md);width:42px;height:42px;color:var(--title-color);cursor:pointer;transition:var(--transition);background:#f5f0ff;border:none;flex-shrink:0;justify-content:center;align-items:center;display:none}.hamburger-btn:hover{background:#ede0ff}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:calc(var(--z-sidebar) - 1);background:#1a1a2e8c;animation:.2s fadeIn;display:none;position:fixed;inset:0}@media (width<=1200px){.stat-cards-grid,.stat-cards-grid-3,.stat-cards-grid-2{grid-template-columns:repeat(2,1fr);gap:.875rem}}@media (width<=1024px){:root{--sidebar-width:0px;--page-gap:.625rem;--section-margin:.625rem}.hamburger-btn{display:flex}.main-content{margin-left:0}.sidebar-overlay.visible{display:block}.page-inner{padding:.625rem 1.5rem}.topbar{padding:0 1.25rem}.stat-card{gap:.625rem;min-height:85px;padding:.875rem 1rem}.stat-icon{width:40px;height:40px}.stat-icon svg{width:18px!important;height:18px!important}.stat-value{font-size:1.25rem}.stat-label{font-size:.7rem}}@media (width<=768px){:root{--page-gap:.5rem;--section-margin:.5rem}.grid-responsive-layout{grid-template-columns:1fr!important}.grid-2,.grid-3{grid-template-columns:1fr}.hide-mobile{display:none!important}.filter-bar{gap:.625rem}.search-input-wrapper{min-width:100%;max-width:100%}.modal-header,.modal-body,.modal-footer{padding-left:1.25rem;padding-right:1.25rem}.table thead th{padding:.65rem .875rem;font-size:.72rem}.table tbody td{padding:.75rem .875rem;font-size:.8rem}.page-title{font-size:1.35rem;line-height:1.25}.page-subtitle{margin-top:.35rem;font-size:.825rem;line-height:1.4}.page-header{margin-bottom:1.5rem}.page-header.flex{gap:1rem}.page-header .btn{flex-shrink:0;justify-content:center;width:38px;height:38px;padding:0!important}.admin-toolbar,.sp-toolbar{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important;padding:.75rem 1rem!important}.admin-toolbar>div:not(.search-input-wrapper),.sp-toolbar>div:not(.search-input-wrapper){flex-flow:wrap!important;align-items:center!important;gap:.5rem!important;width:100%!important;min-width:100%!important;max-width:100%!important;display:flex!important}.admin-toolbar .search-input-wrapper,.sp-toolbar .search-input-wrapper{width:100%!important;min-width:100%!important;max-width:100%!important}.admin-toolbar .custom-dropdown,.sp-toolbar .custom-dropdown{flex:1!important;width:auto!important;min-width:140px!important}.admin-toolbar .custom-dropdown-trigger,.sp-toolbar .custom-dropdown-trigger{width:100%!important}.admin-toolbar .btn-secondary,.admin-toolbar .btn-primary,.sp-toolbar .btn-secondary,.sp-toolbar .btn-primary{flex:1!important;justify-content:center!important;width:auto!important;min-width:80px!important}.admin-toolbar .hide-below-desktop,.sp-toolbar .hide-below-desktop{display:inline!important}.admin-toolbar div[style*=background],.sp-toolbar div[style*=background]{flex-direction:row!important;width:100%!important;display:flex!important}.admin-toolbar div[style*=background] button,.sp-toolbar div[style*=background] button{flex:1!important;justify-content:center!important}.admin-toolbar .toolbar-count,.sp-toolbar .toolbar-count{text-align:right!important;width:100%!important;margin-top:.25rem!important;font-size:.75rem!important;display:block!important}}@media (width<=576px){.stat-cards-grid,.stat-cards-grid-3,.stat-cards-grid-2{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem}.stat-card{gap:.5rem;min-height:75px;padding:.6rem .75rem}.stat-icon{width:32px;height:32px}.stat-icon svg{width:15px!important;height:15px!important}.stat-value{font-size:1.05rem}.stat-label{margin-top:.15rem;font-size:.625rem}.steps .step-label{display:none}.modal-box{border-radius:var(--radius-lg)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.w-full{width:100%}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}.settings-grid-layout{grid-template-columns:1fr;gap:1.25rem;display:grid}.register-card-body{padding:2rem}.login-card-body{padding:2.5rem 2.25rem}@media (width<=576px){.register-card-body{padding:1.25rem}.login-card-body{padding:1.5rem 1.25rem}}@media (width>=992px){.settings-grid-layout{grid-template-columns:1.2fr 1fr;align-items:start;gap:1.5rem}}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--subtitle-color)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-right{text-align:right!important}.text-center{text-align:center!important}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:var(--radius-md)}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=768px){.grid-2,.grid-3{grid-template-columns:1fr}.hide-mobile{display:none!important}}.custom-dropdown-trigger{color:var(--text-dark)!important;border:1.5px solid var(--border-color)!important;border-radius:var(--radius-md)!important;cursor:pointer!important;width:100%!important;transition:var(--transition)!important;text-align:left!important;background-color:#fff!important;outline:none!important;justify-content:space-between!important;align-items:center!important;gap:.5rem!important;padding:.65rem 1rem!important;font-size:.875rem!important;font-weight:500!important;display:flex!important}.custom-dropdown-trigger:hover{border-color:var(--accent-purple)!important}.custom-dropdown-trigger.active{border-color:var(--accent-purple)!important;box-shadow:0 0 0 3px #4d0d801f!important}.custom-dropdown-menu{border:1.5px solid var(--border-color)!important;border-radius:var(--radius-md)!important;width:max-content!important;min-width:100%!important;max-width:calc(100vw - 2rem)!important;box-shadow:var(--shadow-md)!important;z-index:45!important;scrollbar-width:none!important;-ms-overflow-style:none!important;background-color:#fff!important;max-height:220px!important;margin-top:.25rem!important;position:absolute!important;top:100%!important;left:0!important;overflow:hidden auto!important}.custom-dropdown-menu>:first-child{border-top-left-radius:var(--radius-md)!important;border-top-right-radius:var(--radius-md)!important}.custom-dropdown-menu>:last-child{border-bottom-left-radius:var(--radius-md)!important;border-bottom-right-radius:var(--radius-md)!important}.custom-dropdown-menu::-webkit-scrollbar{display:none!important}.custom-dropdown-item{text-align:left!important;cursor:pointer!important;width:100%!important;color:var(--text-dark)!important;white-space:nowrap!important;transition:var(--transition)!important;background:0 0!important;border:none!important;align-items:center!important;gap:.5rem!important;padding:.65rem 1rem!important;font-size:.875rem!important;font-weight:500!important;display:flex!important}.custom-dropdown-item:hover{color:var(--accent-purple)!important;background-color:#4d0d800d!important}.custom-dropdown-item.selected{color:var(--accent-purple)!important;background-color:#4d0d8014!important;font-weight:600!important}.custom-dropdown-trigger span,.custom-dropdown-item span{color:var(--text-dark)!important}.custom-dropdown-item.selected span,.custom-dropdown-item:hover span{color:var(--accent-purple)!important}.order-item-row{border-bottom:1px dashed var(--border-light);align-items:center;gap:1rem;width:100%;padding:.85rem 0;display:flex}.order-item-left{flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.order-item-left img{border-radius:var(--radius-md);object-fit:cover;border:1px solid var(--border-color);flex-shrink:0;width:48px;height:48px}.order-item-img-placeholder{border-radius:var(--radius-md);border:1px solid var(--border-color);background:#f8f5fc;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.order-item-details{flex:1;min-width:0}.order-item-name{color:var(--text-dark);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:.875rem;font-weight:700;overflow:hidden}.order-item-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.order-item-right{flex-shrink:0;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.order-item-qty-control{background:#f5f0ff;border-radius:4px;align-items:center;gap:.35rem;padding:4px;display:flex}.order-item-qty-btn{cursor:pointer;color:#4d0d80;background:#fff;border:none;border-radius:2px;justify-content:center;align-items:center;width:22px;height:22px;transition:background .2s;display:flex;box-shadow:0 1px 2px #0000000d}.order-item-qty-btn:hover{background:#ede0ff}.order-item-qty-val{text-align:center;width:24px;color:var(--text-dark);font-size:.85rem;font-weight:800}.order-item-qty-input{text-align:center;width:36px;color:var(--text-dark);background:0 0;border:none;outline:none;padding:0;font-size:.85rem;font-weight:800}.order-item-qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.order-item-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.order-item-qty-input{-moz-appearance:textfield}.order-item-price{text-align:right;min-width:100px}.order-item-price-val{color:var(--title-color);font-size:.875rem;font-weight:800}.order-item-delete-btn{color:#ff6b6b;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex}.order-item-delete-btn:hover{color:#ff3b3b}@media (width<=576px){.order-item-row{flex-direction:column;align-items:stretch;gap:.75rem}.order-item-left{width:100%}.order-item-right{border-top:1px dotted var(--border-light);justify-content:space-between;width:100%;padding-top:.5rem}.order-item-price{text-align:right;min-width:unset;flex:1}}.admin-product-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;padding:1.25rem;display:grid}.admin-product-card{background:var(--page-white);border:1.5px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:var(--transition);flex-direction:column;gap:.75rem;min-height:240px;padding:1rem;display:flex;position:relative}.admin-product-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent-purple);transform:translateY(-2px)}.admin-product-card .card-badge-container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.admin-product-card .product-title-row{margin-top:.25rem}.admin-product-card .product-title{color:var(--text-dark);-webkit-line-clamp:2;-webkit-box-orient:vertical;height:2.5rem;margin-bottom:.25rem;font-size:.925rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.admin-product-card .product-sku{color:var(--subtitle-color);font-size:.72rem}.admin-product-card .price-section{border:1px solid var(--border-light);border-radius:var(--radius-md);background:#fcfaff;flex-direction:column;gap:.35rem;margin-top:auto;padding:.5rem .75rem;font-size:.825rem;display:flex}.admin-product-card .price-row{justify-content:space-between;align-items:center;display:flex}.admin-product-card .price-label{color:var(--subtitle-color);font-weight:500}.admin-product-card .price-value{color:var(--text-muted);font-weight:600}.admin-product-card .price-value.member{color:var(--title-color);font-weight:700}.admin-product-card .card-actions{border-top:1px solid var(--border-light);justify-content:flex-end;gap:.5rem;padding-top:.75rem;display:flex}@media (width<=768px){.admin-product-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;padding:.75rem}.admin-product-card{min-height:220px;padding:.875rem}}@media (width<=480px){.admin-product-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;padding:.5rem}.admin-product-card{border-radius:var(--radius-md);gap:.5rem;min-height:180px;padding:.65rem}.admin-product-card .product-title{height:2.2rem;font-size:.8rem}.admin-product-card .price-row{gap:.25rem;font-size:.72rem}.admin-product-card .card-actions{padding-top:.5rem}.admin-product-card .card-actions button{height:28px;padding:0 6px;font-size:.75rem}}.admin-toolbar,.filter-bar,.sp-toolbar,.product-toolbar{align-items:center!important}.admin-toolbar .search-input-wrapper,.filter-bar .search-input-wrapper,.sp-toolbar .search-input-wrapper,.product-toolbar .search-input-wrapper{align-items:center!important;height:38px!important;display:flex!important}.admin-toolbar .search-input,.filter-bar .search-input,.sp-toolbar .search-input,.product-toolbar .search-input,.admin-toolbar .custom-dropdown-trigger,.filter-bar .custom-dropdown-trigger,.sp-toolbar .custom-dropdown-trigger,.product-toolbar .custom-dropdown-trigger,.admin-toolbar select.form-control,.filter-bar select.form-control,.sp-toolbar select.form-control,.product-toolbar select.form-control,.admin-toolbar input.form-control,.filter-bar input.form-control,.sp-toolbar input.form-control,.product-toolbar input.form-control{box-sizing:border-box!important;border-radius:6px!important;height:38px!important;padding-top:0!important;padding-bottom:0!important;line-height:35px!important}.admin-toolbar .btn,.filter-bar .btn,.sp-toolbar .btn,.product-toolbar .btn{box-sizing:border-box!important;border-radius:6px!important;justify-content:center!important;align-items:center!important;height:38px!important;padding-top:0!important;padding-bottom:0!important;display:inline-flex!important}@media (width<=768px){.hide-below-desktop{display:none!important}}.btn-icon{cursor:pointer!important;border-radius:var(--radius-sm)!important;background:0 0!important;border:none!important;justify-content:center!important;align-items:center!important;padding:4px!important;transition:all .2s!important;display:inline-flex!important}.btn-icon:hover{transform:scale(1.1);background-color:#4d0d8014!important}.btn-icon:active{transform:scale(.95)}.btn-icon:disabled{opacity:.4!important;cursor:not-allowed!important;background-color:#0000!important;transform:none!important}.table td[data-label=Aksi] button,.table td:last-child button,.sp-table td[data-label=Aksi] button,.sp-table td:last-child button,.fin-table td[data-label=Aksi] button,.fin-table td:last-child button{box-shadow:none!important;border:none!important;outline:none!important}.table td[data-label=Aksi] button svg,.table td:last-child button svg,.sp-table td[data-label=Aksi] button svg,.sp-table td:last-child button svg,.fin-table td[data-label=Aksi] button svg,.fin-table td:last-child button svg{flex-shrink:0!important;width:14px!important;height:14px!important}:is(.table td[data-label=Aksi] button:not(:has(span)),.table td:last-child button:not(:has(span)),.sp-table td[data-label=Aksi] button:not(:has(span)),.sp-table td:last-child button:not(:has(span)),.fin-table td[data-label=Aksi] button:not(:has(span)),.fin-table td:last-child button:not(:has(span))){justify-content:center!important;align-items:center!important;width:30px!important;height:30px!important;padding:0!important;display:inline-flex!important}@media (width<=768px){.table-category-mobile-cards,.table-category-mobile-cards thead,.table-category-mobile-cards tbody,.table-category-mobile-cards tr,.table-category-mobile-cards td{box-sizing:border-box!important;width:100%!important;display:block!important}.table-category-mobile-cards{background:0 0!important;border:none!important;min-width:100%!important}.table-category-mobile-cards thead{display:none!important}.table-category-mobile-cards tbody{background:0 0!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.5rem!important;padding:.25rem!important;display:grid!important}.table-category-mobile-cards tbody tr{box-sizing:border-box!important;background:#fff!important;border:1.5px solid #882eca0f!important;border-radius:10px!important;flex-direction:column!important;justify-content:space-between!important;min-height:155px!important;margin-bottom:0!important;padding:.75rem!important;transition:all .2s!important;display:flex!important;position:relative!important;box-shadow:0 4px 12px #882eca05!important}.table-category-mobile-cards tbody tr:hover{background:#fff!important;transform:translateY(-2px)!important;box-shadow:0 6px 18px #882eca0f!important}.table-category-mobile-cards tbody tr:has(.empty-state){min-height:auto!important;box-shadow:none!important;background:0 0!important;border:none!important;grid-column:span 2!important;padding:0!important;display:block!important}.table-category-mobile-cards tbody tr:has(.empty-state) td{border:none!important;padding:0!important;display:block!important}.table-category-mobile-cards tbody tr:has(.empty-state) td:before{display:none!important}.table-category-mobile-cards tbody td{background:0 0!important;border-bottom:none!important;justify-content:space-between!important;align-items:center!important;padding:.35rem 0!important;display:flex!important}.table-category-mobile-cards tbody td:before{content:attr(data-label)!important;color:var(--subtitle-color)!important;text-transform:uppercase!important;letter-spacing:.5px!important;font-size:.75rem!important;font-weight:700!important}.table-category-mobile-cards tbody td[data-label=Pilih]{z-index:5!important;border-bottom:none!important;width:auto!important;margin:0!important;padding:0!important;position:absolute!important;top:.65rem!important;left:.65rem!important}.table-category-mobile-cards tbody td[data-label=Pilih]:before{display:none!important}.table-category-mobile-cards tbody td[data-label=Status]{z-index:5!important;border-bottom:none!important;width:auto!important;margin:0!important;padding:0!important;position:absolute!important;top:.75rem!important;right:.75rem!important}.table-category-mobile-cards tbody td[data-label=Status]:before{display:none!important}.table-category-mobile-cards tbody td[data-label=Status] .badge{border:none!important;border-radius:50%!important;width:8px!important;min-width:8px!important;height:8px!important;padding:0!important;font-size:0!important;display:block!important;box-shadow:0 0 0 2px #882eca0a!important}.table-category-mobile-cards tbody td[data-label=Nama\ Kategori]{text-align:center!important;border-bottom:none!important;flex-direction:column!important;align-items:center!important;padding-top:1.25rem!important;padding-bottom:.25rem!important;display:flex!important}.table-category-mobile-cards tbody td[data-label=Nama\ Kategori]:before{display:none!important}.table-category-mobile-cards tbody td[data-label=Nama\ Kategori]>div{text-align:center!important;flex-direction:column!important;align-items:center!important;gap:.4rem!important;width:100%!important;display:flex!important}.table-category-mobile-cards tbody td[data-label=Nama\ Kategori]>div>div[style*=display]{text-align:center!important;align-items:center!important;width:100%!important;min-width:0!important;overflow:hidden!important}.table-category-mobile-cards tbody td[data-label=Nama\ Kategori] div[style*="width: 32px"]{background:0 0!important;width:36px!important;height:36px!important;margin:0 auto!important}.table-category-mobile-cards tbody td[data-label=Nama\ Kategori] div[style*="width: 32px"] svg{width:22px!important;height:22px!important}.table-category-mobile-cards tbody td[data-label=Nama\ Kategori] div[style*="font-weight: 600"]{text-align:center!important;white-space:nowrap!important;text-overflow:ellipsis!important;width:100%!important;max-width:100%!important;font-size:.8rem!important;line-height:1.25!important;overflow:hidden!important}.table-category-mobile-cards tbody td[data-label=Nama\ Kategori] div[style*="font-size: 0.75rem"],.table-category-mobile-cards tbody td[data-label=Nama\ Kategori] div[style*="font-size:0.75rem"]{display:none!important}.table-category-mobile-cards tbody td[data-label=Produk]{color:var(--subtitle-color)!important;border-bottom:none!important;justify-content:center!important;padding:.15rem 0 .35rem!important;font-size:.68rem!important}.table-category-mobile-cards tbody td[data-label=Produk]:before{content:"Jumlah: "!important;color:var(--text-muted)!important;text-transform:none!important;letter-spacing:normal!important;font-size:.68rem!important;font-weight:500!important}.table-category-mobile-cards tbody td[data-label=Aksi]{border-top:1px solid #882eca0f!important;justify-content:center!important;margin-top:.25rem!important;padding-top:.5rem!important}.table-category-mobile-cards tbody td[data-label=Aksi]:before{display:none!important}.table-category-mobile-cards tbody td[data-label=Aksi]>div{justify-content:center!important;gap:.25rem!important;width:100%!important;display:flex!important}.category-container-card{box-shadow:none!important;background:0 0!important;border:none!important}.category-container-card .table-wrapper{overflow-x:hidden!important}.bulk-action-bar{border-radius:8px!important;margin:.25rem!important;padding:.5rem .75rem!important}.page-inner{padding:.5rem .75rem!important}.page-header{margin-bottom:.5rem!important}.stat-cards-grid,.stat-cards-grid-3,.stat-cards-grid-2,.fin-stats-grid{gap:.5rem!important;margin-bottom:.5rem!important}.page-tabs-bar,.page-tabs-card,.fin-card-tabs,.segmented-tabs-container,.tab-container,:is(.card:has(.admin-toolbar),.card:has(.sp-toolbar),.card:has(.product-toolbar),.card:has(.filter-bar),.sp-main-card,.ship-main-card,.fin-main-card,.filter-bar,.fin-toolbar,.toolbar-card){margin-bottom:.5rem!important}}.page-inner{padding:.75rem 2rem!important}.page-header,.stat-cards-grid,.stat-cards-grid-3,.stat-cards-grid-2,.fin-stats-grid,.page-tabs-bar,.page-tabs-card,.fin-card-tabs,.segmented-tabs-container,.tab-container,:is(.card:has(.admin-toolbar),.card:has(.sp-toolbar),.card:has(.product-toolbar),.card:has(.filter-bar),.sp-main-card,.ship-main-card,.fin-main-card,.filter-bar,.fin-toolbar,.toolbar-card){margin-bottom:.75rem!important}@media (width<=1024px){.page-inner{padding:.625rem 1.5rem!important}.page-header{margin-bottom:.625rem!important}.stat-cards-grid,.stat-cards-grid-3,.stat-cards-grid-2,.fin-stats-grid{gap:.625rem!important;margin-bottom:.625rem!important}.page-tabs-bar,.page-tabs-card,.fin-card-tabs,.segmented-tabs-container,.tab-container,:is(.card:has(.admin-toolbar),.card:has(.sp-toolbar),.card:has(.product-toolbar),.card:has(.filter-bar),.sp-main-card,.ship-main-card,.fin-main-card,.filter-bar,.fin-toolbar,.toolbar-card){margin-bottom:.625rem!important}}.segmented-tabs-container{align-self:flex-start;width:auto!important;max-width:100%!important;margin-bottom:var(--section-margin)!important;scrollbar-width:none!important;-ms-overflow-style:none!important;background:#f1f5f9!important;border-radius:8px!important;flex-wrap:nowrap!important;gap:4px!important;padding:4px!important;display:inline-flex!important;overflow-x:auto!important}.segmented-tabs-container::-webkit-scrollbar{display:none!important}@media (width<=576px){.segmented-tabs-container{align-self:stretch!important;width:100%!important;display:flex!important}}.segmented-tab-btn{color:#64748b!important;cursor:pointer!important;white-space:nowrap!important;background:0 0!important;border:none!important;border-radius:6px!important;outline:none!important;flex:none!important;justify-content:center!important;align-items:center!important;gap:8px!important;padding:.6rem 1.25rem!important;font-size:.85rem!important;font-weight:600!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;display:flex!important}.segmented-tab-btn:hover:not(.active){color:var(--accent-purple)!important;background:#882eca0a!important}.segmented-tab-btn.active{color:var(--accent-purple)!important;background:#fff!important;font-weight:700!important;box-shadow:0 2px 8px #882eca14!important}.segmented-tab-btn .tab-badge{color:#fff!important;background:#ff9f43!important;border-radius:50px!important;padding:2px 6px!important;font-size:.68rem!important;font-weight:700!important;line-height:1!important}@media (width>=576px) and (width<=1024px){.display-large{font-size:57px!important;font-weight:400!important}h1,.page-title,.headline-large{font-size:32px!important;font-weight:400!important}h2,.section-title,.title-large,.modal-title{font-size:22px!important;font-weight:500!important}body,html,p,td,.body-large{font-size:16px!important;font-weight:400!important}label,.form-label,button,.btn,.segmented-tab-btn,.label-large{font-size:14px!important;font-weight:500!important}}
