:root{--app-primary:#635bff;--sidebar-width:252px;--app-bg:#f7f8fb;--app-border:rgba(15,23,42,.09)}
html,body{min-height:100%}body{font-family:"Plus Jakarta Sans",system-ui,-apple-system,sans-serif}.min-w-0{min-width:0}.app-body{background:var(--app-bg);color:var(--bs-body-color)}
[data-bs-theme=dark] body,[data-bs-theme=dark] .app-body{--app-bg:#111318;--app-border:rgba(255,255,255,.09)}
.app-shell{min-height:100vh;display:flex}.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);padding:14px 12px;flex-direction:column;background:var(--bs-body-bg);border-right:1px solid var(--app-border);z-index:1030}.app-main{flex:1;min-width:0;margin-left:var(--sidebar-width)}
.app-topbar{position:sticky;top:0;z-index:1020;min-height:64px;padding:9px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:color-mix(in srgb,var(--bs-body-bg) 93%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--app-border)}.app-content{max-width:1540px;padding:18px 20px 36px}
.app-brand{min-height:52px;padding:3px 7px 13px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--app-border)}.app-logo{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:11px;color:#fff;background:var(--app-primary);font-size:20px;box-shadow:0 7px 16px color-mix(in srgb,var(--app-primary) 22%,transparent)}.app-logo-lg{width:48px;height:48px;border-radius:14px;font-size:25px}
.app-nav{padding:12px 0;display:flex;flex-direction:column;gap:3px;overflow-y:auto}.app-nav-label{padding:13px 11px 4px;color:var(--bs-secondary-color);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.app-nav-link{min-height:39px;padding:8px 11px;display:flex;align-items:center;gap:10px;border-radius:10px;color:var(--bs-secondary-color);text-decoration:none;font-size:.82rem;font-weight:650;transition:.16s}.app-nav-link i{width:20px;text-align:center;font-size:18px}.app-nav-link:hover{color:var(--bs-body-color);background:var(--bs-tertiary-bg)}.app-nav-link.active{color:var(--app-primary);background:color-mix(in srgb,var(--app-primary) 10%,transparent)}
.sidebar-user{padding:9px;display:flex;align-items:center;gap:9px;border:1px solid var(--app-border);border-radius:12px;background:var(--bs-tertiary-bg)}.avatar-circle{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;color:var(--app-primary);background:color-mix(in srgb,var(--app-primary) 13%,var(--bs-body-bg));font-size:.75rem;font-weight:800}.avatar-xl{width:54px;height:54px;font-size:1.2rem}
.btn-icon{width:35px;height:35px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:9px}.btn-app{color:#fff!important;border-color:var(--app-primary)!important;background:var(--app-primary)!important;box-shadow:0 5px 12px color-mix(in srgb,var(--app-primary) 16%,transparent)}.btn-app:hover{filter:brightness(.92)}
.card{border-color:var(--app-border)!important;box-shadow:0 1px 2px rgba(15,23,42,.02)}.card-hover{transition:transform .16s,border-color .16s,box-shadow .16s}.card-hover:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--app-primary) 24%,var(--app-border))!important;box-shadow:0 9px 22px rgba(15,23,42,.06)}
.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric-card{min-width:0;min-height:82px;padding:13px;display:flex;align-items:center;gap:11px;background:var(--bs-body-bg);border:1px solid var(--app-border);border-radius:14px}.metric-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:11px;font-size:19px}.metric-label{margin-bottom:2px;color:var(--bs-secondary-color);font-size:.7rem}.metric-value{overflow:hidden;font-size:1rem;font-weight:760;line-height:1.22;text-overflow:ellipsis;white-space:nowrap}.metric-note{margin-top:2px;color:var(--bs-secondary-color);font-size:.66rem}
.section-heading{display:flex;align-items:center;gap:9px;margin-bottom:14px}.section-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:9px;color:var(--app-primary);background:color-mix(in srgb,var(--app-primary) 10%,transparent);font-size:17px}
.list-card{min-width:0;min-height:58px;padding:9px 10px;display:flex;align-items:center;gap:10px;border:1px solid var(--app-border);border-radius:12px;background:var(--bs-body-bg)}a.list-card:hover{border-color:color-mix(in srgb,var(--app-primary) 24%,var(--app-border));background:var(--bs-tertiary-bg)}.list-icon{width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:10px;color:var(--app-primary);background:color-mix(in srgb,var(--app-primary) 10%,transparent);font-size:18px}
.mini-stat{height:100%;padding:8px;border:1px solid var(--app-border);border-radius:10px;background:var(--bs-tertiary-bg)}.mini-stat span{display:block;margin-bottom:2px;color:var(--bs-secondary-color);font-size:.64rem}.mini-stat strong{display:block;overflow:hidden;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.filter-bar{padding:9px;border:1px solid var(--app-border);border-radius:13px;background:var(--bs-body-bg)}
.status-dot{width:8px;height:8px;display:inline-block;border-radius:50%}.status-draft{background:#94a3b8}.status-waiting{background:#f59e0b}.status-progress{background:#3b82f6}.status-success{background:#22c55e}.status-danger{background:#ef4444}.status-purple{background:#8b5cf6}
.order-total{padding:12px;border:1px solid var(--app-border);border-radius:12px;background:var(--bs-tertiary-bg)}.order-item-row{padding:10px;border:1px solid var(--app-border);border-radius:12px;background:var(--bs-body-bg)}.detail-list{display:grid}.detail-list>div{padding:7px 0;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--app-border);font-size:.76rem}.detail-list>div:last-child{border-bottom:0}.detail-list span{color:var(--bs-secondary-color)}.detail-list strong{text-align:right}
.empty-state{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}.empty-state>i{color:var(--bs-secondary-color);font-size:31px;opacity:.75}.form-label{margin-bottom:.34rem;font-size:.73rem;font-weight:650}.form-control,.form-select,.input-group-text{min-height:39px;border-radius:9px;font-size:.82rem}.form-control:focus,.form-select:focus{border-color:color-mix(in srgb,var(--app-primary) 48%,#fff);box-shadow:0 0 0 .18rem color-mix(in srgb,var(--app-primary) 11%,transparent)}
.login-page{min-height:100vh;background:radial-gradient(circle at 15% 15%,color-mix(in srgb,var(--app-primary) 13%,transparent),transparent 34%),var(--app-bg)}.login-wrap{min-height:100vh;padding:22px;display:flex;align-items:center;justify-content:center}.login-card{width:min(100%,430px)}.login-theme{position:fixed;top:18px;right:18px}.print-page{min-height:100vh;padding:28px;background:#eef0f4;color:#172033}.print-sheet{max-width:900px;margin:auto;padding:38px;background:#fff;border-radius:14px}.print-header{padding-bottom:20px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e5e7eb}
@media(max-width:1199.98px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:991.98px){.app-main{margin-left:0}.app-content{padding:14px 13px 30px}.app-topbar{min-height:60px;padding:8px 13px}.offcanvas .app-brand,.offcanvas .app-nav,.offcanvas .sidebar-user{margin-left:12px;margin-right:12px}}@media(max-width:575.98px){.metrics-grid{grid-template-columns:1fr;gap:8px}.metric-card{min-height:68px;padding:11px}.print-page{padding:0;background:#fff}.print-sheet{padding:22px 16px;border-radius:0}.print-header{flex-direction:column}}@media print{@page{margin:10mm}.no-print{display:none!important}.print-page{padding:0;background:#fff}.print-sheet{padding:0}}
