:root{
  --bc-teal:#66c4c7;--bc-teal-dark:#3b9fa4;--bc-pink:#e9a4b8;--bc-sage:#9fc6a6;
  --bc-bg:#f5f7f8;--bc-surface:#ffffff;--bc-text:#1d2428;--bc-muted:#6d7780;--bc-border:#e6eaed;
  --bc-sidebar:#151a1d;--bc-sidebar-text:#dce4e6;--bc-shadow:0 10px 30px rgba(25,36,42,.07);
}
[data-bs-theme="dark"]{
  --bc-bg:#101416;--bc-surface:#171d20;--bc-text:#ecf1f2;--bc-muted:#9aa6aa;--bc-border:#2b3438;
  --bc-sidebar:#0b0e0f;--bc-sidebar-text:#dbe4e6;--bc-shadow:0 12px 30px rgba(0,0,0,.24);
}
*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bc-bg);color:var(--bc-text);font-size:.94rem}
a{text-decoration:none}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:270px;background:var(--bc-sidebar);color:var(--bc-sidebar-text);z-index:1035;overflow-y:auto;transition:transform .25s ease}.sidebar-brand{height:78px;padding:16px 20px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-brand img{max-width:185px;max-height:48px;filter:drop-shadow(0 1px 0 rgba(255,255,255,.2))}.sidebar-nav{padding:18px 12px}.nav-section{font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:#7f9298;margin:20px 14px 8px}.sidebar .nav-link{display:flex;align-items:center;gap:12px;color:#c4d0d3;padding:10px 13px;border-radius:10px;margin:3px 0;font-weight:500}.sidebar .nav-link:hover,.sidebar .nav-link.active{color:#fff;background:rgba(102,196,199,.16)}.sidebar .nav-link.active{box-shadow:inset 3px 0 var(--bc-teal)}.sidebar .nav-link i{font-size:1.08rem;width:22px}.main-wrapper{margin-left:270px;min-height:100vh}.topbar{height:78px;position:sticky;top:0;z-index:1025;background:color-mix(in srgb,var(--bc-surface) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--bc-border);display:flex;align-items:center;padding:0 28px}.content{padding:28px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-title{font-weight:750;margin:0;font-size:1.65rem}.page-subtitle{color:var(--bc-muted);margin:.35rem 0 0}.card{background:var(--bc-surface);border:1px solid var(--bc-border);border-radius:16px;box-shadow:none;color:var(--bc-text)}.card-elevated{box-shadow:var(--bc-shadow);border:0}.card-header{background:transparent;border-bottom:1px solid var(--bc-border);padding:17px 20px;font-weight:700}.card-body{padding:20px}.stat-card{position:relative;overflow:hidden}.stat-card .stat-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:1.25rem;background:color-mix(in srgb,var(--bc-teal) 18%,transparent);color:var(--bc-teal-dark)}.stat-card .stat-value{font-size:1.55rem;font-weight:800;line-height:1.15}.stat-card .stat-label{color:var(--bc-muted);font-size:.84rem}.btn{border-radius:10px;font-weight:600}.btn-brand{background:#15191b;border-color:#15191b;color:#fff}.btn-brand:hover{background:#2b3336;border-color:#2b3336;color:#fff}.btn-soft-teal{background:color-mix(in srgb,var(--bc-teal) 18%,transparent);color:var(--bc-teal-dark);border:0}.btn-soft-pink{background:color-mix(in srgb,var(--bc-pink) 18%,transparent);color:#a64c68;border:0}.badge{font-weight:650;padding:.46em .7em;border-radius:999px}.status-draft,.status-queued,.status-pending,.status-assigned{background:#eef1f3;color:#626e75}.status-approved,.status-customer_approved,.status-sales_approved,.status-completed,.status-paid,.status-production_completed,.status-production_created,.status-closed,.status-delivered{background:#def5e7;color:#247348}.status-in_progress,.status-ready,.status-ready_for_production,.status-submitted,.status-sent,.status-sent_to_customer,.status-pending_approval{background:#def2f4;color:#247a80}.status-rejected,.status-overdue,.status-cancelled{background:#fde4e8;color:#a33449}.status-revision_requested,.status-returned,.status-rework,.status-partially_paid,.status-partially_delivered,.status-awaiting_materials,.status-waiting_materials,.status-unpaid,.status-dispatched{background:#fff0d7;color:#8a5b0d}.priority-urgent{background:#fee2e2;color:#a61b1b}.priority-high{background:#fff0d7;color:#8a5b0d}.priority-normal{background:#def2f4;color:#247a80}.priority-low{background:#eef1f3;color:#68757b}.table{--bs-table-bg:transparent;--bs-table-color:var(--bc-text);--bs-table-border-color:var(--bc-border);margin-bottom:0}.table thead th{font-size:.73rem;text-transform:uppercase;letter-spacing:.05em;color:var(--bc-muted);font-weight:700;border-bottom-width:1px;padding:12px 14px}.table tbody td{padding:13px 14px;vertical-align:middle}.table-hover tbody tr:hover{--bs-table-hover-bg:color-mix(in srgb,var(--bc-teal) 5%,transparent);--bs-table-hover-color:var(--bc-text)}.form-control,.form-select{background-color:var(--bc-surface);border-color:var(--bc-border);color:var(--bc-text);border-radius:10px;min-height:42px}.form-control:focus,.form-select:focus{border-color:var(--bc-teal);box-shadow:0 0 0 .2rem rgba(102,196,199,.16);background-color:var(--bc-surface);color:var(--bc-text)}.form-label{font-weight:650;font-size:.83rem}.modal-content,.dropdown-menu{background:var(--bc-surface);color:var(--bc-text);border-color:var(--bc-border);border-radius:14px}.dropdown-item{color:var(--bc-text)}.dropdown-item:hover{background:color-mix(in srgb,var(--bc-teal) 8%,transparent);color:var(--bc-text)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--bc-teal),var(--bc-pink));color:#172023;font-weight:800}.global-search{max-width:520px;flex:1;position:relative}.global-search .form-control{padding-left:40px;background:var(--bc-bg);border-color:transparent}.global-search i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--bc-muted)}.notification-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#e95b6b;right:5px;top:5px}.timeline{position:relative;padding-left:28px}.timeline:before{content:"";position:absolute;left:8px;top:5px;bottom:5px;width:2px;background:var(--bc-border)}.timeline-item{position:relative;padding:0 0 22px}.timeline-item:before{content:"";position:absolute;left:-25px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--bc-teal);border:3px solid var(--bc-surface);box-shadow:0 0 0 2px var(--bc-teal)}.stage-track{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px}.stage-card{border:1px solid var(--bc-border);border-radius:14px;padding:14px;min-width:145px;position:relative}.stage-card.completed{border-color:#9fd4b2;background:color-mix(in srgb,#def5e7 60%,var(--bc-surface))}.stage-card.in_progress,.stage-card.ready{border-color:var(--bc-teal);background:color-mix(in srgb,var(--bc-teal) 10%,var(--bc-surface))}.stage-card.rejected,.stage-card.returned{border-color:#e898a6;background:color-mix(in srgb,#fde4e8 50%,var(--bc-surface))}.artwork-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.artwork-card{border:1px solid var(--bc-border);border-radius:14px;overflow:hidden;background:var(--bc-surface)}.artwork-preview{height:170px;background:#eef2f3;display:grid;place-items:center;overflow:hidden}.artwork-preview img{width:100%;height:100%;object-fit:contain}.drop-zone{border:2px dashed var(--bc-border);border-radius:14px;padding:30px;text-align:center;transition:.2s;background:color-mix(in srgb,var(--bc-bg) 60%,transparent)}.drop-zone.dragover{border-color:var(--bc-teal);background:color-mix(in srgb,var(--bc-teal) 8%,transparent)}.progress{background:var(--bc-border);border-radius:999px}.progress-bar{background:linear-gradient(90deg,var(--bc-teal-dark),var(--bc-teal))}.offcanvas{background:var(--bc-surface);color:var(--bc-text)}.toast{background:var(--bc-surface);color:var(--bc-text);border-color:var(--bc-border)}.mobile-menu{display:none}.empty-state{padding:55px 20px;text-align:center;color:var(--bc-muted)}.empty-state i{font-size:2.4rem;opacity:.7}.search-results{position:absolute;top:48px;left:0;right:0;background:var(--bc-surface);border:1px solid var(--bc-border);border-radius:14px;box-shadow:var(--bc-shadow);z-index:1050;max-height:430px;overflow:auto;display:none}.search-results.show{display:block}.search-result-item{display:block;padding:12px 14px;border-bottom:1px solid var(--bc-border);color:var(--bc-text)}.search-result-item:last-child{border-bottom:0}.search-result-item:hover{background:color-mix(in srgb,var(--bc-teal) 8%,transparent)}.search-type{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--bc-muted)}.pagination .page-link{background:var(--bc-surface);border-color:var(--bc-border);color:var(--bc-text)}.pagination .active .page-link{background:var(--bc-teal-dark);border-color:var(--bc-teal-dark);color:#fff}
@media(max-width:1199.98px){.sidebar{transform:translateX(-100%)}.sidebar.show{transform:translateX(0)}.main-wrapper{margin-left:0}.mobile-menu{display:inline-flex}.content{padding:22px}.stage-track{grid-template-columns:repeat(6,170px)}}
@media(max-width:767.98px){.topbar{padding:0 14px;height:68px}.content{padding:16px}.page-header{flex-direction:column}.global-search{display:none}.page-title{font-size:1.35rem}.card-body{padding:16px}.table-responsive{border-radius:14px}.stat-card .stat-value{font-size:1.3rem}}
@media print{.sidebar,.topbar,.no-print{display:none!important}.main-wrapper{margin:0}.content{padding:0}.card{box-shadow:none;border:1px solid #ddd}.page-break{page-break-before:always}}

/* Multi-file reference and artwork uploaders — v1.1.2 */
.drop-zone.compact{padding:20px}.multi-upload .drop-zone{cursor:pointer}.multi-upload .drop-zone button,.multi-upload .drop-zone input,.multi-upload .drop-zone select,.multi-upload .drop-zone textarea{cursor:default}.upload-selection-summary{padding:10px 13px;border:1px solid var(--bc-border);border-radius:10px;background:color-mix(in srgb,var(--bc-teal) 7%,var(--bc-surface));font-size:.84rem;color:var(--bc-text)}.upload-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.upload-preview-item{position:relative;border:1px solid var(--bc-border);border-radius:13px;overflow:hidden;background:var(--bc-surface)}.upload-preview-thumb{height:125px;background:color-mix(in srgb,var(--bc-bg) 78%,var(--bc-surface));display:grid;place-items:center;overflow:hidden}.upload-preview-thumb img{width:100%;height:100%;object-fit:contain}.upload-file-icon{font-size:2.2rem;color:var(--bc-muted)}.upload-preview-info{padding:10px 42px 10px 12px}.upload-remove{position:absolute;right:8px;bottom:8px;width:30px;height:30px;padding:0;display:grid;place-items:center}.design-upload-preview{display:grid;gap:12px}.design-upload-item{display:grid;grid-template-columns:150px minmax(0,1fr);border:1px solid var(--bc-border);border-radius:14px;overflow:hidden;background:var(--bc-surface)}.design-upload-thumb{min-height:145px;background:color-mix(in srgb,var(--bc-bg) 78%,var(--bc-surface));display:grid;place-items:center;overflow:hidden}.design-upload-thumb img{width:100%;height:100%;max-height:180px;object-fit:contain}.design-upload-fields{padding:15px;min-width:0}.reference-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.reference-card{border:1px solid var(--bc-border);border-radius:14px;overflow:hidden;background:var(--bc-surface)}.reference-preview{height:155px;background:color-mix(in srgb,var(--bc-bg) 78%,var(--bc-surface));display:grid;place-items:center;overflow:hidden}.reference-preview img{width:100%;height:100%;object-fit:contain}.design-reference-list{display:grid;gap:8px}.design-reference-item{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;padding:7px;border:1px solid var(--bc-border);border-radius:10px;color:var(--bc-text)}.design-reference-item:hover{background:color-mix(in srgb,var(--bc-teal) 7%,var(--bc-surface))}.design-reference-thumb{width:44px;height:44px;border-radius:8px;overflow:hidden;display:grid;place-items:center;background:var(--bc-bg)}.design-reference-thumb img{width:100%;height:100%;object-fit:cover}@media(max-width:767.98px){.design-upload-item{grid-template-columns:1fr}.design-upload-thumb{height:180px}.upload-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.upload-preview-grid{grid-template-columns:1fr}}
