:root{--ub-bg: #0a0b14;--ub-surface: #0e121b;--ub-surface-2: #131722;--ub-surface-3: #1a1f2b;--ub-border: #2a2f3b;--ub-text: #ffffff;--ub-text-muted: #cacaca;--ub-text-subtle: #9e9e9e;--ub-primary: #00E5FF;--ub-primary-hover: #00c3ff;--ub-primary-soft: #411a0b;--ub-success: #16a34a;--ub-info: #2563eb;--ub-danger: #dc2626;--ub-warning: #d97706;--ub-radius-sm: 8px;--ub-radius: 12px;--ub-radius-lg: 16px;--ub-radius-xl: 24px;--ub-radius-pill: 60px;--ub-font-body: "Urbanist", system-ui, -apple-system, "Segoe UI", sans-serif;--ub-font-heading: "Host Grotesk", "Urbanist", system-ui, sans-serif;--ub-sidebar-width: 240px;--ub-topbar-height: 64px}[data-bs-theme=dark]{--bs-body-bg: var(--ub-bg);--bs-body-color: var(--ub-text);--bs-body-font-family: var(--ub-font-body);--bs-secondary-color: var(--ub-text-muted);--bs-tertiary-color: var(--ub-text-subtle);--bs-border-color: var(--ub-border);--bs-link-color: var(--ub-primary);--bs-link-color-rgb: 250, 89, 1;--bs-link-hover-color: var(--ub-primary-hover);--bs-link-hover-color-rgb: 255, 106, 26;--bs-emphasis-color: var(--ub-text);--bs-primary: var(--ub-primary);--bs-primary-rgb: 250, 89, 1;--bs-success-rgb: 22, 163, 74;--bs-danger-rgb: 220, 38, 38;--bs-focus-ring-color: rgba(250, 89, 1, .35)}body{background:var(--ub-bg);color:var(--ub-text);font-family:var(--ub-font-body);font-weight:400;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6,.ub-heading{font-family:var(--ub-font-heading);font-weight:700;color:var(--ub-text);letter-spacing:-.01em}.ub-title{font-size:clamp(1.5rem,1.2rem + 1.2vw,1.75rem);margin-bottom:.5rem}.ub-title-lg{font-size:clamp(1.75rem,1.3rem + 1.6vw,2.125rem)}.ub-card-title{font-family:var(--ub-font-heading);font-size:1.125rem;font-weight:600;margin-bottom:1rem}.ub-lead{color:var(--ub-text-muted);font-size:1rem;margin-bottom:1.25rem}.ub-hint{color:var(--ub-text-subtle);font-size:.75rem;font-weight:500}.text-subtle{color:var(--ub-text-subtle)!important}.text-muted-ub{color:var(--ub-text-muted)!important}.text-primary-ub{color:var(--ub-primary)!important}a{text-decoration:none}a:hover{text-decoration:underline}.ub-link{color:var(--ub-primary);font-weight:500;background:none;border:0;padding:0}.ub-link:hover{color:var(--ub-primary-hover);text-decoration:underline}.ub-brand{display:inline-flex;align-items:center;gap:.625rem;font-weight:700;font-size:1.125rem;color:var(--ub-text)}.ub-brand:hover{color:var(--ub-text);text-decoration:none}.ub-brand-mark{width:28px;height:28px;border-radius:50%;background:var(--ub-primary);flex-shrink:0}.btn{font-weight:700;border-radius:var(--ub-radius-pill);padding:.75rem 1.5rem}.btn-lg{padding:1rem 2rem;font-size:1rem}.btn-ub-primary{--bs-btn-color: #fff;--bs-btn-bg: var(--ub-primary);--bs-btn-border-color: var(--ub-primary);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: var(--ub-primary-hover);--bs-btn-hover-border-color: var(--ub-primary-hover);--bs-btn-active-color: #fff;--bs-btn-active-bg: #e05000;--bs-btn-active-border-color: #e05000;--bs-btn-disabled-color: rgba(255, 255, 255, .45);--bs-btn-disabled-bg: #6b2a07;--bs-btn-disabled-border-color: #6b2a07}.btn-ub-outline{--bs-btn-color: var(--ub-text);--bs-btn-bg: transparent;--bs-btn-border-color: var(--ub-border);--bs-btn-hover-color: var(--ub-text);--bs-btn-hover-bg: var(--ub-surface-2);--bs-btn-hover-border-color: #3a4050;--bs-btn-active-color: var(--ub-text);--bs-btn-active-bg: var(--ub-surface-3);--bs-btn-active-border-color: #3a4050}.btn-ub-danger{--bs-btn-color: #fff;--bs-btn-bg: var(--ub-danger);--bs-btn-border-color: var(--ub-danger);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #b91c1c;--bs-btn-hover-border-color: #b91c1c;--bs-btn-active-color: #fff;--bs-btn-active-bg: #991b1b;--bs-btn-active-border-color: #991b1b}.btn-ub-text{--bs-btn-color: var(--ub-primary);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--ub-primary-hover);--bs-btn-hover-bg: transparent;--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--ub-primary-hover);--bs-btn-active-border-color: transparent}.ub-pill{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:var(--ub-radius-pill);border:1px solid var(--ub-border);background:var(--ub-surface-2);color:var(--ub-text-muted);font-size:.875rem;font-weight:500;line-height:1.25;white-space:nowrap}.btn-check:checked+.ub-pill,.ub-pill.active{background:var(--ub-primary);border-color:var(--ub-primary);color:#fff}.btn-check+.ub-pill{cursor:pointer}.btn-check:focus-visible+.ub-pill{box-shadow:0 0 0 .25rem var(--bs-focus-ring-color)}.ub-pill-lg{padding:.625rem 1.125rem;font-size:1rem}.form-label{font-size:.875rem;font-weight:500;color:var(--ub-text-muted);margin-bottom:.5rem}.form-control,.form-select{background-color:var(--ub-surface-2);border:1px solid var(--ub-border);border-radius:var(--ub-radius);color:var(--ub-text);font-size:1rem;font-weight:500;min-height:56px;padding:.875rem 1.25rem}.form-control::placeholder{color:var(--ub-text-subtle);font-weight:400}.form-control:focus,.form-select:focus{background-color:var(--ub-surface-2);border-color:var(--ub-primary);color:var(--ub-text);box-shadow:0 0 0 .2rem var(--bs-focus-ring-color)}.form-control:disabled,.form-control[readonly]{background-color:var(--ub-surface);color:var(--ub-text-subtle);opacity:1}textarea.form-control{min-height:96px}.form-check-input{background-color:var(--ub-surface-2);border-color:var(--ub-border)}.form-check-input:checked{background-color:var(--ub-primary);border-color:var(--ub-primary)}.form-check-input:focus{box-shadow:0 0 0 .2rem var(--bs-focus-ring-color);border-color:var(--ub-primary)}.form-check-label{color:var(--ub-text-muted);font-size:.9375rem}.ub-switch.form-switch{padding-left:0;min-height:0;margin-bottom:0}.ub-switch .form-check-input{float:none;width:2.75rem;height:1.5rem;margin:0;flex-shrink:0;cursor:pointer}.ub-switch .form-check-input:not(:checked){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%239e9e9e'/%3e%3c/svg%3e")}.ub-switch .form-check-input:checked{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.ub-rules{list-style:none;padding:0;margin:.75rem 0 0;display:grid;gap:.25rem}.ub-rules li{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;color:var(--ub-text-subtle)}.ub-rules li:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ub-text-subtle);flex-shrink:0}.ub-rules li.is-met{color:var(--ub-success)}.ub-rules li.is-met:before{background:var(--ub-success)}.ub-otp{display:flex;gap:.75rem}.ub-otp .form-control{flex:1 1 0;min-width:0;max-width:56px;height:64px;min-height:0;padding:0;text-align:center;font-family:var(--ub-font-heading);font-size:1.5rem;font-weight:600}@media(max-width:400px){.ub-otp{gap:.5rem}.ub-otp .form-control{height:54px;font-size:1.25rem}}.ub-upload{display:flex;align-items:center;gap:1rem}.ub-upload-box{width:72px;height:72px;border-radius:var(--ub-radius-lg);background:var(--ub-surface-3);display:grid;place-items:center;color:var(--ub-text-subtle);font-size:1.5rem;flex-shrink:0}.ub-map{height:350px;border-radius:var(--ub-radius-lg);background:var(--ub-surface-3);display:grid;place-items:center}.ub-map-pin{width:24px;height:24px;border-radius:50%;background:var(--ub-primary)}.ub-card{background:var(--ub-surface);border:1px solid var(--ub-border);border-radius:var(--ub-radius-xl);padding:1.5rem}@media(min-width:576px){.ub-card{padding:2.5rem}.ub-card.ub-card--compact{padding:1.5rem}}.ub-option{display:block;height:100%;background:var(--ub-surface-2);border:1px solid var(--ub-border);border-radius:var(--ub-radius-lg);padding:1.25rem;cursor:pointer;transition:border-color .15s ease}.ub-option:hover{border-color:#3a4050}.btn-check:checked+.ub-option{border:2px solid var(--ub-primary);padding:calc(1.25rem - 1px)}.btn-check:focus-visible+.ub-option{box-shadow:0 0 0 .25rem var(--bs-focus-ring-color)}.ub-option-name{font-size:1.125rem;font-weight:700;display:block}.ub-option-price{font-family:var(--ub-font-heading);font-size:2rem;font-weight:700;line-height:1.2;display:block;margin:.5rem 0}.ub-option-meta{color:var(--ub-text-muted);font-size:.875rem;display:block}.ub-option-badge{color:var(--ub-primary);font-size:.75rem;font-weight:600;display:none;margin-top:.75rem}.btn-check:checked+.ub-option .ub-option-badge{display:block}.ub-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--ub-surface-2);border:1px solid var(--ub-border);border-radius:var(--ub-radius);padding:1rem 1.25rem}.ub-row+.ub-row{margin-top:1rem}.ub-row-title{font-weight:500}.ub-row-meta{color:var(--ub-text-subtle);font-size:.75rem;font-weight:500}.ub-store-group{background:var(--ub-surface-2);border:1px solid var(--ub-border);border-radius:var(--ub-radius);padding:1rem 1.25rem 1.25rem;margin-top:1rem}.ub-store-group-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.ub-store-group legend{float:none;width:auto;font-size:1rem}.ub-store-group .form-control,.ub-store-group .form-control:focus{background-color:var(--ub-surface)}.ub-link-danger,.ub-link-danger:hover{color:var(--ub-danger)}.ub-list{list-style:none;padding:0;margin:0}.ub-list>li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 0}.ub-steps{list-style:none;padding:0;margin:0 0 1.5rem}.ub-steps>li{display:flex;align-items:center;gap:1rem;padding:1rem 0}.ub-step-dot{width:28px;height:28px;border-radius:50%;background:var(--ub-surface-3);flex-shrink:0;display:grid;place-items:center;color:#fff;font-size:.875rem}.ub-step-dot.is-done{background:var(--ub-success)}.ub-step-body{flex:1;min-width:0}.ub-step-title{font-weight:500}.ub-step-meta{color:var(--ub-text-subtle);font-size:.75rem;font-weight:500}.ub-alert{position:relative;display:flex;align-items:center;gap:1rem;border:1px solid var(--ub-info);background:#2563eb29;border-radius:var(--ub-radius-lg);padding:1rem 1.25rem 1rem 2.5rem}.ub-alert:before{content:"";position:absolute;left:1.125rem;top:1.5rem;width:8px;height:8px;border-radius:50%;background:var(--ub-info)}.ub-alert-body{flex:1;min-width:0}.ub-alert-title{font-weight:500;margin:0}.ub-alert-text{color:var(--ub-text-muted);font-size:.875rem;margin:.125rem 0 0}.ub-alert-action{flex-shrink:0}.ub-alert--success{border-color:var(--ub-success);background:#16a34a29}.ub-alert--success:before{background:var(--ub-success)}.ub-alert--danger{border-color:var(--ub-danger);background:#dc262629}.ub-alert--danger:before{background:var(--ub-danger)}.ub-alert--warning{border-color:var(--ub-warning);background:#d9770629}.ub-alert--warning:before{background:var(--ub-warning)}@media(max-width:575.98px){.ub-alert{flex-wrap:wrap}.ub-alert-action{width:100%}}.ub-status{color:var(--ub-primary);font-weight:500}.ub-status--muted{color:var(--ub-text-subtle)}.ub-auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.ub-auth-card{width:100%;max-width:520px}.ub-auth-card--wide{max-width:720px}.ub-auth-card .ub-brand{margin-bottom:1.25rem}.ub-stepper{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0 0 1.5rem}.ub-stepper .ub-pill{font-size:.8125rem;padding:.5rem .875rem}.ub-shell{min-height:100vh}.ub-sidebar.offcanvas-lg{background-color:var(--ub-surface)!important;border-right:1px solid var(--ub-border)}.ub-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem}.ub-sidebar.offcanvas-lg .offcanvas-body{display:block;padding:0 1rem 1rem}@media(min-width:992px){.ub-sidebar.offcanvas-lg{position:fixed;inset:0 auto 0 0;width:var(--ub-sidebar-width);overflow-y:auto;z-index:1030}.ub-sidebar-head{padding:1.5rem 2rem 1.25rem}.ub-main{margin-left:var(--ub-sidebar-width)}}@media(max-width:991.98px){.ub-sidebar.offcanvas-lg{--bs-offcanvas-width: 280px}}.ub-nav{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.ub-nav-link{display:flex;align-items:center;gap:.875rem;padding:.625rem 1rem;border-radius:var(--ub-radius);color:var(--ub-text-muted);font-weight:500}.ub-nav-link i{font-size:1.125rem;width:1.25rem;text-align:center}.ub-nav-link:hover{background:var(--ub-surface-2);color:var(--ub-text);text-decoration:none}.ub-nav-link.active{background:var(--ub-primary-soft);color:var(--ub-text)}.ub-nav-link.active i{color:var(--ub-primary)}.ub-nav-link.is-locked{color:#5c6170}.ub-nav-link.is-locked:hover{background:transparent;color:#5c6170;cursor:not-allowed}.ub-topbar{position:sticky;top:0;z-index:1020;min-height:var(--ub-topbar-height);display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:var(--ub-bg);border-bottom:1px solid var(--ub-border)}@media(min-width:992px){.ub-topbar{padding:.5rem 2rem}}.ub-topbar-title{font-weight:700;font-size:1.125rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ub-topbar .form-select{min-height:0;width:auto;padding:.375rem 2.25rem .375rem .75rem;font-size:.875rem;border-radius:var(--ub-radius-sm);background-color:transparent}.ub-topbar .btn{padding:.5rem 1.25rem;white-space:nowrap}@media(max-width:575.98px){.ub-topbar{gap:.75rem}.ub-topbar .btn{padding:.4375rem .875rem;font-size:.875rem}}.ub-menu-btn{border:1px solid var(--ub-border);background:transparent;color:var(--ub-text);border-radius:var(--ub-radius-sm);width:40px;height:40px;display:grid;place-items:center;font-size:1.25rem;flex-shrink:0}.ub-user{display:flex;align-items:center;gap:.625rem}.ub-avatar{width:32px;height:32px;border-radius:50%;background:var(--ub-surface-3);flex-shrink:0}.ub-user-name{font-size:.875rem;font-weight:500;line-height:1.2}.ub-user-role{font-size:.75rem;color:var(--ub-text-subtle)}.ub-content{padding:1.5rem 1rem 3rem}@media(min-width:992px){.ub-content{padding:2rem 2rem 3rem}}.ub-page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.ub-page-head .ub-title{margin:0}.ub-content-narrow{max-width:760px}.ub-table-wrap{border-radius:var(--ub-radius-lg);overflow:hidden;border:1px solid var(--ub-border)}.ub-table{--bs-table-bg: var(--ub-surface);--bs-table-color: var(--ub-text);--bs-table-border-color: var(--ub-border);--bs-table-hover-bg: var(--ub-surface-2);margin:0}.ub-table thead th{background:var(--ub-surface-3);color:var(--ub-text-muted);font-size:.875rem;font-weight:500;padding:1rem 1.25rem;border-bottom:0;white-space:nowrap}.ub-table tbody td{padding:1.125rem 1.25rem;vertical-align:middle}.ub-table tbody tr:last-child td{border-bottom:0}@media(max-width:767.98px){.ub-table--stack thead{display:none}.ub-table--stack tbody tr{display:block;padding:.75rem 1rem;background:var(--ub-surface);border-bottom:1px solid var(--ub-border)}.ub-table--stack tbody tr:last-child{border-bottom:0}.ub-table--stack tbody td{display:flex;justify-content:space-between;gap:1rem;padding:.375rem 0;border:0;background:transparent;box-shadow:none;text-align:right;overflow-wrap:anywhere}.ub-table--stack tbody td:before{content:attr(data-label);flex-shrink:0;max-width:40%;color:var(--ub-text-subtle);font-size:.8125rem;text-align:left}.ub-table--stack tbody td:first-child{font-weight:600}}.modal{--bs-modal-bg: var(--ub-surface);--bs-modal-border-color: var(--ub-border);--bs-modal-border-radius: var(--ub-radius-xl)}.modal-content{padding:.5rem}.modal-header,.modal-footer{border:0}.modal-title{font-family:var(--ub-font-heading);font-size:1.375rem;font-weight:700}.modal-backdrop.show{opacity:.6}.ub-modal-open{display:block}.ub-modal-open+.modal-backdrop{z-index:1050}.ub-spinner{width:48px;height:48px;border:3px solid var(--ub-primary);border-right-color:transparent;border-radius:50%;animation:ub-spin 1s linear infinite}@keyframes ub-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ub-spinner{animation:none;border-right-color:var(--ub-primary)}}.ub-index-group+.ub-index-group{margin-top:2rem}.ub-index-link{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1.25rem;background:var(--ub-surface-2);border:1px solid var(--ub-border);border-radius:var(--ub-radius);color:var(--ub-text);font-weight:500}.ub-index-link:hover{border-color:var(--ub-primary);color:var(--ub-text);text-decoration:none}.ub-index-link small{color:var(--ub-text-subtle);font-weight:400}.spinner-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;display:flex;justify-content:center;align-items:center;z-index:9999}.spinner-overlay span{position:relative;margin-top:100px;color:beige}.spinner{width:48px;height:48px;border:5px solid #fff;border-bottom-color:#007bff;border-radius:50%;animation:rotation 1s linear infinite;position:absolute}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
