:root{--bg:#f5f7fb;--card:#fff;--ink:#151827;--muted:#73798d;--line:#e7e9f1;--primary:#635bff;--primary2:#4942e9;--green:#16a36a;--red:#df4b57;--orange:#f59e0b;--shadow:0 18px 50px rgba(28,35,70,.08);--radius:18px}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.muted{color:var(--muted)}.small{font-size:12px}.block{display:block}.grow{flex:1}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:800;color:#8c91a5}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{background:#10121b;color:#d7d9e2;padding:20px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:9px 10px 22px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#776fff,#4b43e5);color:#fff;font-weight:900;box-shadow:0 10px 25px rgba(99,91,255,.3)}.brand b{display:block;color:#fff}.brand span{font-size:11px;color:#85899b}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:11px;color:#9ea3b5;font-size:14px}.sidebar nav a>span{width:22px;text-align:center;font-size:18px}.sidebar nav a b{font-weight:650;flex:1}.sidebar nav a em{background:#fb4e67;color:#fff;font-style:normal;border-radius:99px;padding:2px 6px;font-size:10px}.sidebar nav a:hover,.sidebar nav a.active{background:#202330;color:#fff}.logout-link{margin-top:auto;padding:12px;color:#9ea3b5;display:flex;gap:12px}.main{min-width:0}.topbar{height:78px;background:rgba(255,255,255,.85);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.topbar h2{font-size:18px;margin:2px 0 0}.top-actions{display:flex;gap:14px;align-items:center}.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;background:#fff;position:relative}.icon-btn i{position:absolute;top:-5px;right:-5px;background:#fb4e67;color:#fff;border-radius:99px;font-size:10px;padding:2px 5px;font-style:normal}.user-chip{display:flex;align-items:center;gap:9px}.user-chip>span,.identity>span{width:36px;height:36px;border-radius:11px;background:#ecebff;color:#544ceb;display:grid;place-items:center;font-weight:800}.user-chip b,.user-chip small{display:block}.user-chip small{color:var(--muted);font-size:11px}.content{padding:28px;max-width:1600px;margin:auto}.menu-toggle{display:none;background:none;border:0;font-size:21px}.hero-strip,.client-hero{border-radius:24px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.hero-strip{background:#fff;border:1px solid var(--line)}.client-hero{background:linear-gradient(120deg,#29234e,#635bff);color:#fff;box-shadow:0 20px 50px rgba(99,91,255,.22)}.hero-strip h1,.client-hero h1,.section-head h1,.order-title h1{margin:5px 0 6px;font-size:30px;letter-spacing:-.04em}.hero-strip p,.client-hero p{margin:0;color:var(--muted)}.client-hero p{color:#dcd9ff}.hero-actions{display:flex;gap:10px}.btn{border:0;border-radius:11px;padding:11px 15px;font-weight:750;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:8px}.btn.primary{background:var(--primary);color:#fff;box-shadow:0 10px 20px rgba(99,91,255,.2)}.btn.primary:hover{background:var(--primary2)}.btn.soft{background:#f0f1f6;color:#343849}.btn.light{background:#fff;color:#3d36d8}.btn.wide{width:100%}.big-btn{padding:15px}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin:18px 0}.client-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px;min-width:0}.kpi-icon{width:39px;height:39px;border-radius:12px;background:#f1f2f7;display:grid;place-items:center;font-weight:800}.kpi span,.kpi strong{display:block}.kpi span{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.kpi strong{font-size:20px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi.blue .kpi-icon{background:#eaf2ff;color:#3478e5}.kpi.orange .kpi-icon{background:#fff2d7;color:#d88600}.kpi.green .kpi-icon,.kpi.emerald .kpi-icon{background:#e8f8f0;color:#15915f}.kpi.red .kpi-icon{background:#ffebee;color:#d94857}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 1px 0 rgba(20,24,39,.01)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.chart-grid{grid-template-columns:1fr 1.25fr}.section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px}.section-head.big{margin:30px 0 14px}.section-head h2,.section-head h3{margin:3px 0}.section-head p{margin:4px 0 0}.section-head>a{color:#5a52eb;font-size:13px;font-weight:700}.table-card{padding:0;overflow:hidden}.table-tools{padding:14px;border-bottom:1px solid var(--line)}.search,input,select,textarea{width:100%;border:1px solid #dfe2eb;background:#fff;border-radius:10px;padding:10px 12px;outline:none;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:#9d98ff;box-shadow:0 0 0 3px #efeeff}textarea{min-height:84px;resize:vertical}.search{max-width:320px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#858b9f;font-size:10px;text-transform:uppercase;letter-spacing:.07em;background:#fafbfc}th,td{padding:12px 13px;border-bottom:1px solid #edf0f4;vertical-align:middle}tbody tr:hover{background:#fbfbfd}.identity{display:flex;align-items:center;gap:9px}.identity b,.identity small{display:block}.identity small,.mini-product small{color:var(--muted);font-size:11px}.table-link{color:#554ee5;font-weight:700;white-space:nowrap}.badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:99px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#eff1f5;color:#62697a;white-space:nowrap}.badge.blue{background:#e9f2ff;color:#3474cc}.badge.indigo{background:#ecebff;color:#574ed8}.badge.violet,.badge.purple{background:#f3eaff;color:#7e4bc7}.badge.cyan{background:#e6f8fb;color:#17849a}.badge.orange,.badge.amber{background:#fff1d5;color:#ad6e00}.badge.green,.badge.emerald{background:#e6f7ef;color:#118555}.badge.teal{background:#e5f8f6;color:#168378}.badge.red{background:#ffe8eb;color:#bf3341}.badge.xl{padding:9px 12px}.thumb{object-fit:contain;background:#f5f6f8;border:1px solid #eceef2}.thumb.small{width:44px;height:44px;border-radius:10px}.thumb.card{width:100%;height:230px;border:0;border-radius:0;background:#f3f4f7}.thumb.large{width:100%;height:360px;border-radius:14px}.thumb.art{width:100%;height:390px;border:0;background:#f5f6f8}.placeholder{display:grid;place-items:center;color:#a2a7b6}.mini-product{display:flex;align-items:center;gap:9px;min-width:180px}.mini-product b,.mini-product small{display:block}.profile-head,.order-title{display:flex;align-items:center;gap:14px;margin-bottom:18px}.profile-avatar{width:60px;height:60px;border-radius:18px;background:#ecebff;color:#574fe2;display:grid;place-items:center;font-size:22px;font-weight:900}.profile-avatar.large{width:82px;height:82px;font-size:28px}.profile-head h1{margin:2px 0}.profile-head p,.order-title p{margin:0;color:var(--muted)}.form-grid{display:grid;gap:13px}.form-grid.two{grid-template-columns:1fr 1fr}.span-2{grid-column:span 2}label{font-size:12px;font-weight:700;color:#575d70;display:grid;gap:6px}.form-actions{display:flex;justify-content:flex-end;gap:9px}hr{border:0;border-top:1px solid var(--line);margin:18px 0}.sticker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sticker-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.2s}.sticker-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.sticker-image{position:relative;background:#f3f4f7}.ref-pill{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:99px;padding:6px 8px;font-size:10px;font-weight:800}.sticker-body{padding:15px}.sticker-body h3{margin:0 0 4px}.sticker-body p{margin:0;color:var(--muted);font-size:12px}.sticker-specs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.sticker-specs div{background:#f7f8fa;border-radius:10px;padding:10px}.sticker-specs span,.sticker-specs b{display:block}.sticker-specs span{font-size:10px;color:var(--muted)}.sticker-specs b{margin-top:3px;font-size:13px}.order-list{display:grid;gap:9px}.order-row{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px;display:grid;grid-template-columns:1.2fr 1fr 20px;align-items:center;gap:15px}.order-progress>div:first-child{display:flex;justify-content:space-between;align-items:center}.progress{height:6px;background:#eceef3;border-radius:99px;margin:9px 0}.progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#635bff,#8b84ff)}.chevron{font-size:24px;color:#a9adbb}.modal{position:fixed;inset:0;background:rgba(10,12,20,.55);backdrop-filter:blur(7px);z-index:100;display:none;padding:24px;overflow:auto}.modal.show{display:grid;place-items:center}.modal-card{width:min(560px,100%);background:#fff;border-radius:22px;padding:22px;box-shadow:0 30px 90px rgba(0,0,0,.25)}.modal-card.large{width:min(760px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.modal-head h2{margin:3px 0}.modal-head>button{border:0;background:#f1f2f5;width:36px;height:36px;border-radius:10px;font-size:21px;cursor:pointer}.modal-open{overflow:hidden}.formula-card{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f6f6ff;border:1px solid #e7e5ff;border-radius:12px;padding:12px}.formula-card span,.formula-card b{display:block}.formula-card span{font-size:10px;color:#7774a4}.formula-card b{margin-top:4px;font-size:12px}.preview-panel{text-align:center}.preview-panel p{color:var(--muted)}.spec-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);text-align:left}.spec-row span{color:var(--muted)}.order-product{display:flex;gap:13px;align-items:center;background:#f7f8fa;padding:10px;border-radius:13px;margin-bottom:16px}.order-product img{width:78px;height:78px;object-fit:contain;background:#fff;border-radius:10px}.order-product h3{margin:0 0 3px}.order-product p{margin:0;color:var(--muted)}.order-product span{font-size:11px;color:#625be4}.meter-label{margin-bottom:8px}.meter-pills{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.meter-pills button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px;font-weight:800;cursor:pointer}.meter-pills button:hover{border-color:#7871ff;background:#f7f6ff}.stepper{display:grid;grid-template-columns:48px 1fr 48px;gap:7px;margin:9px 0 13px}.stepper button{border:0;background:#efeff6;border-radius:10px;font-size:20px}.stepper input{text-align:center;font-weight:800}.live-summary{background:#12141d;color:#fff;border-radius:16px;padding:14px;margin:14px 0}.live-summary>div{display:flex;justify-content:space-between;padding:6px 2px;color:#b9bdca;font-size:12px}.live-summary b{color:#fff}.live-summary .total{border-top:1px solid #2c3040;margin-top:7px;padding-top:12px}.live-summary strong{font-size:20px;color:#fff}.status-filter{display:flex;gap:7px;overflow:auto;margin-bottom:12px;padding-bottom:3px}.status-filter button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:7px 10px;font-size:11px;white-space:nowrap;cursor:pointer}.status-filter button.active{background:#191c27;color:#fff;border-color:#191c27}.grid-order{display:grid;grid-template-columns:1.05fr 1fr;gap:18px;align-items:start}.order-art{grid-row:span 2}.art-stage{background:#f5f6f8;border-radius:14px;overflow:hidden}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.spec-grid>div{background:#f8f9fb;border-radius:11px;padding:10px}.spec-grid span,.spec-grid b{display:block}.spec-grid span{font-size:10px;color:var(--muted)}.spec-grid b{margin-top:3px}.note-box{background:#fff8df;border:1px solid #f5e5a5;border-radius:11px;padding:12px;margin-top:12px}.note-box span{font-size:10px;font-weight:800;color:#998022}.note-box p{margin:5px 0 0}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:28px 1fr;gap:10px;position:relative;padding-bottom:13px}.timeline-item:before{content:'';position:absolute;left:12px;top:24px;bottom:-2px;width:2px;background:#e9ebf0}.timeline-item:last-child:before{display:none}.timeline-item i{width:25px;height:25px;border-radius:99px;border:2px solid #dfe2ea;background:#fff;display:grid;place-items:center;font-size:10px;font-style:normal;z-index:1}.timeline-item.done i{background:#635bff;border-color:#635bff;color:#fff}.timeline-item b,.timeline-item small{display:block}.timeline-item small{font-size:10px;color:var(--muted);margin-top:2px}.timeline-item.now b{color:#524ae3}.status-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;border-top:1px solid var(--line);padding-top:14px}.money-stack{display:grid;gap:5px}.money-stack>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}.money-stack .due{border:0;margin-top:6px;background:#f5f4ff;border-radius:11px;padding:12px}.money-stack .due strong{font-size:20px;color:#554ee1}.payment-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.payment-form button{grid-column:span 2}.payment-history{border-top:1px solid var(--line);margin-top:13px;padding-top:8px}.payment-history>div{display:flex;justify-content:space-between;padding:7px 0;font-size:11px}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:280px;gap:12px;overflow:auto;padding-bottom:14px}.kanban-col{background:#eef0f4;border-radius:15px;min-height:500px}.kanban-col>header{display:flex;align-items:center;gap:8px;padding:13px}.kanban-col header b{font-size:12px;flex:1}.kanban-col header em{font-style:normal;background:#fff;border-radius:99px;padding:3px 7px;font-size:10px}.dot{width:9px;height:9px;border-radius:99px;background:#9da3b0}.dot.blue{background:#4786e8}.dot.indigo{background:#635bff}.dot.orange,.dot.amber{background:#f59e0b}.dot.green,.dot.emerald{background:#15a26a}.dot.red{background:#df4b57}.kanban-drop{padding:0 9px 12px;min-height:445px}.kanban-drop.over{background:#e5e3ff;border-radius:11px}.kanban-card{background:#fff;border:1px solid #e1e4ea;border-radius:13px;padding:11px;margin-bottom:9px;cursor:grab;box-shadow:0 2px 7px rgba(22,27,44,.04)}.kanban-card.dragging{opacity:.45}.kanban-top{display:flex;justify-content:space-between;align-items:center;color:#777d90;font-size:10px}.kanban-top .thumb{width:34px;height:34px}.kanban-card h4{margin:8px 0 2px}.kanban-card p{margin:0;color:var(--muted);font-size:11px}.kanban-metrics{display:flex;gap:6px;margin:10px 0}.kanban-metrics span{background:#f5f6f8;border-radius:8px;padding:6px 8px;font-size:10px}.kanban-card footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:8px;font-size:11px}.kanban-card footer a{color:#584fe4}.notification-list{display:grid;gap:8px}.notification{display:flex;gap:12px;background:#fff;border:1px solid var(--line);padding:14px;border-radius:13px}.notification.unread{border-left:4px solid #635bff}.notification i{font-style:normal;width:34px;height:34px;border-radius:10px;background:#efeeff;color:#625be6;display:grid;place-items:center}.notification b,.notification p,.notification small{display:block}.notification p{margin:3px 0;color:var(--muted);font-size:12px}.notification small{font-size:10px;color:#a0a4b0}.account-card{max-width:620px;display:grid;grid-template-columns:100px 1fr;gap:18px;align-items:start}.empty-state{background:#fff;border:1px dashed #d9dce5;border-radius:18px;padding:48px 20px;text-align:center;color:var(--muted)}.empty-state>div{font-size:34px}.empty-state h3{color:var(--ink);margin-bottom:4px}.alert{padding:12px 14px;border-radius:11px;margin-bottom:13px;font-size:13px}.alert.success{background:#e7f8f0;color:#147a53}.alert.danger{background:#ffe9ec;color:#b52f3d}.login-body{background:#0f1119}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-visual{padding:45px;color:#fff;background:radial-gradient(circle at 70% 20%,#3c3679 0,transparent 36%),linear-gradient(145deg,#10121b,#171925);display:flex;flex-direction:column}.brand-large,.mobile-brand{display:flex;align-items:center;gap:10px;font-weight:800}.visual-copy{margin:auto 0;max-width:620px}.visual-copy h1{font-size:56px;line-height:1.04;letter-spacing:-.055em;margin:12px 0}.visual-copy p{color:#aeb2c2;font-size:18px;max-width:520px}.visual-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.visual-metrics div{border:1px solid #303343;background:#191c27;border-radius:14px;padding:15px}.visual-metrics b,.visual-metrics span{display:block}.visual-metrics b{color:#817aff}.visual-metrics span{font-size:11px;margin-top:5px;color:#b8bbc8}.login-panel{background:#f7f8fa;display:grid;place-items:center;padding:28px}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow)}.login-card h2{font-size:28px;margin:8px 0 5px}.login-card>label{margin-top:14px}.input-icon{position:relative}.input-icon>span{position:absolute;left:12px;top:10px;color:#a3a7b5}.input-icon input{padding-left:34px;padding-right:55px}.ghost-eye{position:absolute;right:6px;top:6px;border:0;background:#f1f2f6;border-radius:7px;padding:5px 8px;font-size:10px}.login-options{display:flex;align-items:center;justify-content:space-between;margin:12px 0}.check{display:flex;grid-auto-flow:column;align-items:center;justify-content:start;gap:7px}.check input{width:auto}.mobile-brand{display:none}.install-body{background:#f5f7fb;min-height:100vh}.install-shell{width:min(820px,calc(100% - 30px));margin:50px auto}.install-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.install-brand h1,.install-brand p{margin:0}.install-brand p{color:var(--muted);font-size:12px}.install-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow)}.install-card h2{margin-top:0}.success-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#e5f7ef;color:#15835a;font-size:34px;margin-bottom:15px}.mobile-nav{display:none}
@media(max-width:1150px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.sticker-grid{grid-template-columns:repeat(2,1fr)}.grid-order{grid-template-columns:1fr}.order-art{grid-row:auto}}
@media(max-width:820px){.app-shell{display:block}.sidebar{position:fixed;left:-260px;z-index:80;width:240px;transition:.2s}.nav-open .sidebar{left:0;box-shadow:20px 0 50px rgba(0,0,0,.25)}.topbar{padding:0 16px}.menu-toggle{display:block}.topbar>div:first-of-type{flex:1;margin-left:10px}.topbar .eyebrow{display:none}.user-chip div{display:none}.content{padding:16px 14px 84px}.hero-strip,.client-hero{padding:22px;align-items:flex-start;flex-direction:column}.hero-strip h1,.client-hero h1,.section-head h1,.order-title h1{font-size:25px}.kpi-grid,.client-kpis{grid-template-columns:repeat(2,1fr)}.grid-2,.chart-grid{grid-template-columns:1fr}.sticker-grid{grid-template-columns:1fr 1fr}.order-row{grid-template-columns:1fr}.chevron{display:none}.form-grid.two{grid-template-columns:1fr}.span-2{grid-column:span 1}.modal{padding:10px}.status-form{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh}.mobile-brand{display:flex;margin-bottom:28px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:67px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:70;display:grid;grid-template-columns:repeat(5,1fr)}.mobile-nav a{display:grid;place-items:center;align-content:center;gap:2px;color:#8b90a0}.mobile-nav a span{font-size:18px}.mobile-nav a small{font-size:9px}.mobile-nav a.active{color:#5c54e8}.order-title{align-items:flex-start}.account-card{grid-template-columns:1fr}.profile-head{align-items:flex-start;flex-wrap:wrap}.payment-form{grid-template-columns:1fr}.payment-form button{grid-column:span 1}}
@media(max-width:560px){.sticker-grid{grid-template-columns:1fr}.kpi-grid,.client-kpis{grid-template-columns:1fr 1fr}.kpi{padding:12px}.kpi strong{font-size:16px}.sticker-specs{grid-template-columns:1fr 1fr}.thumb.card{height:250px}.meter-pills{grid-template-columns:repeat(5,1fr)}.meter-pills button{padding:9px 4px}.topbar h2{font-size:15px}.install-shell{margin:20px auto}}

/* v2 multi-sticker ordering */
.cart-fab{position:fixed;right:24px;bottom:24px;z-index:62;border:0;border-radius:15px;background:#171925;color:#fff;padding:12px 15px;display:flex;align-items:center;gap:9px;box-shadow:0 18px 40px rgba(17,20,35,.24);cursor:pointer}.cart-fab span{font-size:18px}.cart-fab em{min-width:23px;height:23px;padding:0 6px;border-radius:99px;background:#6760f5;color:#fff;font-style:normal;display:grid;place-items:center;font-size:11px}.cart-fab.has-items{background:var(--primary)}.cart-backdrop{position:fixed;inset:0;background:rgba(15,17,25,.38);backdrop-filter:blur(3px);z-index:89;opacity:0;pointer-events:none;transition:.2s}.cart-backdrop.show{opacity:1;pointer-events:auto}.cart-drawer{position:fixed;right:-520px;top:0;bottom:0;width:min(500px,100%);background:#fff;z-index:90;box-shadow:-24px 0 60px rgba(20,24,39,.16);display:flex;flex-direction:column;transition:right .25s ease}.cart-drawer.show{right:0}.cart-drawer>header{padding:22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.cart-drawer h2{margin:3px 0 0}.cart-drawer>header>button{border:0;background:#f1f2f6;width:36px;height:36px;border-radius:10px;font-size:21px;cursor:pointer}.cart-items{padding:14px 18px;overflow:auto;flex:1}.cart-empty{text-align:center;padding:50px 16px;color:var(--muted)}.cart-empty>div{font-size:38px}.cart-empty h3{color:var(--ink);margin:10px 0 4px}.cart-item{display:grid;grid-template-columns:58px 1fr auto;gap:11px;padding:12px 0;border-bottom:1px solid var(--line);align-items:start}.cart-thumb{width:58px;height:58px;border-radius:11px;background:#f5f6f8;display:grid;place-items:center;overflow:hidden}.cart-thumb img{width:100%;height:100%;object-fit:contain}.cart-item-main b,.cart-item-main small{display:block}.cart-item-main small{font-size:10px;color:var(--muted);margin:3px 0 8px}.cart-stepper{display:flex;align-items:center;gap:7px}.cart-stepper button{border:1px solid var(--line);background:#fff;width:27px;height:27px;border-radius:7px;cursor:pointer}.cart-stepper span{min-width:42px;text-align:center;font-size:11px;font-weight:800}.cart-item-price{text-align:right}.cart-item-price strong,.cart-item-price small{display:block}.cart-item-price small{color:var(--muted);font-size:10px;margin:4px 0}.cart-item-price button{border:0;background:none;color:#d84c58;font-size:10px;cursor:pointer;padding:0}.cart-checkout{padding:18px;border-top:1px solid var(--line);background:#fbfbfd}.cart-checkout textarea{min-height:68px;resize:vertical}.cart-total-row{display:flex;justify-content:space-between;padding:6px 0;font-size:12px}.cart-total-row.grand{border-top:1px solid var(--line);margin-top:6px;padding-top:12px;margin-bottom:12px}.cart-total-row.grand strong{font-size:21px}.cart-submit:disabled,.btn:disabled{opacity:.45;cursor:not-allowed}.order-items-detail{display:grid;gap:10px}.order-item-detail{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px}.item-art .thumb{width:62px;height:62px}.item-main h3{margin:0 0 3px;font-size:15px}.item-main>p{margin:0;color:var(--muted);font-size:10px}.item-metrics{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.item-metrics span{background:#f7f8fa;border-radius:8px;padding:6px 8px}.item-metrics small,.item-metrics b{display:block}.item-metrics small{font-size:9px;color:var(--muted)}.item-metrics b{font-size:11px;margin-top:1px}.item-count-pill,.version-chip{border-radius:99px;background:#efeeff;color:#554ee1;padding:7px 10px;font-size:11px;font-weight:800}.order-aggregate{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.order-aggregate>div{background:#11131c;color:#fff;border-radius:11px;padding:11px}.order-aggregate span,.order-aggregate b,.order-aggregate strong{display:block}.order-aggregate span{font-size:9px;color:#aeb2c0}.order-aggregate b,.order-aggregate strong{margin-top:4px}.order-aggregate strong{font-size:18px}.update-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-bottom:18px}.update-card .update-icon{width:52px;height:52px;border-radius:15px;background:#efeeff;color:#5a52e8;display:grid;place-items:center;font-size:26px;font-weight:900}.update-card h2{margin-bottom:5px}.update-form{margin-top:18px}.safe-update-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0}.safe-update-list span{font-size:11px;background:#f6f7f9;border-radius:9px;padding:8px;color:#4c5162}.backup-list{display:grid;gap:8px}.backup-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:11px;padding:10px}.backup-row b,.backup-row small{display:block}.backup-row small{font-size:10px;color:var(--muted);margin-top:3px}.empty-state.compact{padding:28px 14px}.update-history .table-heading{padding:16px 16px 0}.update-history .table-heading h3{margin:3px 0 12px}
@media(max-width:820px){.cart-fab{bottom:78px;right:14px}.update-grid{grid-template-columns:1fr}.safe-update-list{grid-template-columns:1fr}.order-aggregate{grid-template-columns:1fr}.order-item-detail{grid-template-columns:54px 1fr}.order-item-detail>strong{grid-column:2}.item-art .thumb{width:52px;height:52px}}
@media(max-width:560px){.cart-fab b{display:none}.cart-fab{border-radius:50%;width:52px;height:52px;padding:0;justify-content:center}.cart-fab em{position:absolute;right:-4px;top:-4px}.cart-item{grid-template-columns:48px 1fr}.cart-thumb{width:48px;height:48px}.cart-item-price{grid-column:2;display:flex;justify-content:space-between;align-items:center;text-align:left}.order-item-detail{grid-template-columns:1fr}.order-item-detail>strong{grid-column:1}.item-metrics{display:grid;grid-template-columns:1fr 1fr}}

/* v2.1.0 — complete mobile responsiveness */
html,body{max-width:100%;overflow-x:hidden}
img,svg,canvas{max-width:100%}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
.sidebar-backdrop{display:none;border:0;padding:0}
.table-wrap{-webkit-overflow-scrolling:touch}
.kanban{-webkit-overflow-scrolling:touch;scrollbar-width:thin}

@media(max-width:1024px){
  .content{padding-left:18px;padding-right:18px}
  .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sticker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-strip,.client-hero{padding:24px}
  .grid-2,.chart-grid{grid-template-columns:1fr}
  .update-grid{grid-template-columns:1fr}
}

@media(max-width:820px){
  body{background:var(--bg)}
  body.nav-open{overflow:hidden}
  .sidebar{left:-280px;width:min(270px,84vw);padding-top:14px;z-index:92;box-shadow:none}
  .nav-open .sidebar{left:0;box-shadow:22px 0 60px rgba(0,0,0,.28)}
  .sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(9,11,18,.46);backdrop-filter:blur(2px);z-index:91;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
  .nav-open .sidebar-backdrop{opacity:1;visibility:visible;pointer-events:auto}
  .sidebar .brand{padding-top:4px}
  .sidebar nav a,.logout-link{min-height:46px}

  .topbar{height:66px;padding:0 12px;gap:8px}
  .menu-toggle{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#fff;border:1px solid var(--line);flex:0 0 auto;cursor:pointer}
  .topbar>div:first-of-type{min-width:0;margin-left:0}
  .topbar h2{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:44vw}
  .top-actions{gap:7px}
  .icon-btn{width:40px;height:40px}
  .user-chip>span{width:40px;height:40px}
  .user-chip div{display:none}

  .content{padding:14px 12px calc(86px + env(safe-area-inset-bottom));width:100%;max-width:none}
  .hero-strip,.client-hero{padding:20px;border-radius:19px;margin-bottom:14px;gap:15px}
  .hero-strip h1,.client-hero h1,.section-head h1,.order-title h1{font-size:24px;line-height:1.08}
  .hero-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .hero-actions .btn{min-width:0}

  .section-head,.section-head.big{align-items:flex-start;flex-wrap:wrap;gap:10px}
  .section-head.big{margin:22px 0 12px}
  .section-head>form,.section-head>.btn{max-width:100%}
  .section-head>form .btn{min-height:42px}

  .card{padding:15px;border-radius:16px}
  .grid-2,.chart-grid,.update-grid,.grid-order{grid-template-columns:1fr;gap:12px}
  canvas{width:100%!important;height:auto!important;min-height:220px}

  .kpi-grid,.client-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0 16px}
  .kpi{padding:12px 10px;gap:9px;border-radius:14px}
  .kpi-icon{width:35px;height:35px;flex:0 0 35px}
  .kpi span{font-size:9px;line-height:1.2}
  .kpi strong{font-size:16px}

  .sticker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .sticker-card{border-radius:15px}
  .thumb.card{height:190px}
  .sticker-body{padding:12px}
  .sticker-body h3{font-size:15px}
  .sticker-specs{gap:6px;margin:10px 0}
  .sticker-specs div{padding:8px}
  .sticker-card .btn{min-height:44px}

  .form-grid.two{grid-template-columns:1fr}
  .span-2{grid-column:auto}
  input,select,textarea{font-size:16px;min-height:44px}
  textarea{min-height:90px}
  .form-actions{display:grid;grid-template-columns:1fr;gap:8px}
  .form-actions .btn{width:100%;min-height:45px}

  .profile-head,.order-title{align-items:flex-start;flex-wrap:wrap;gap:10px}
  .profile-avatar{width:52px;height:52px;border-radius:15px}
  .profile-avatar.large{width:68px;height:68px}
  .account-card{grid-template-columns:74px minmax(0,1fr);gap:12px;max-width:none}

  .order-row{grid-template-columns:1fr;gap:10px;padding:12px}
  .order-progress{width:100%}
  .chevron{display:none}
  .mini-product{min-width:0;width:100%}

  .modal{padding:0;align-items:end;place-items:end center}
  .modal.show{display:grid}
  .modal-card,.modal-card.large{width:100%;max-width:none;max-height:92dvh;overflow:auto;border-radius:22px 22px 0 0;padding:18px 14px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -20px 70px rgba(0,0,0,.24)}
  .modal-head{position:sticky;top:-18px;background:#fff;z-index:3;padding:4px 0 10px;margin-bottom:10px}
  .order-product{align-items:flex-start}
  .order-product img{width:66px;height:66px;flex:0 0 66px}
  .meter-pills{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
  .meter-pills button{min-height:44px;padding:8px 2px}
  .stepper{grid-template-columns:48px minmax(0,1fr) 48px}
  .stepper button{min-height:46px}
  .live-summary{position:relative;margin-bottom:10px}
  .big-btn{min-height:50px}

  .status-form{grid-template-columns:1fr;gap:8px}
  .status-form .btn{width:100%}
  .payment-form{grid-template-columns:1fr}
  .payment-form button{grid-column:auto}
  .thumb.large,.thumb.art{height:min(70vw,320px)}
  .spec-grid{grid-template-columns:1fr 1fr}

  .kanban{grid-auto-columns:min(86vw,320px);gap:10px;margin:0 -12px;padding:0 12px 14px;scroll-snap-type:x proximity;scroll-padding-left:12px}
  .kanban-col{min-height:440px;scroll-snap-align:start}
  .kanban-drop{min-height:390px}
  .kanban-card{cursor:default;padding:12px}

  .notification{padding:12px;gap:10px}
  .notification i{flex:0 0 34px}
  .notification p{overflow-wrap:anywhere}

  .update-grid{gap:12px}
  .safe-update-list{grid-template-columns:1fr}
  .backup-row{align-items:flex-start;flex-direction:column}
  .backup-row form,.backup-row .btn{width:100%}

  .cart-fab{bottom:calc(76px + env(safe-area-inset-bottom));right:12px;min-height:50px}
  .cart-drawer{width:100%;max-width:none}
  .cart-drawer>header{padding:17px 14px}
  .cart-items{padding:10px 14px}
  .cart-checkout{padding:14px 14px calc(14px + env(safe-area-inset-bottom))}
  .order-aggregate{grid-template-columns:1fr 1fr 1fr}

  .mobile-nav{height:calc(66px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);z-index:88}
  .mobile-nav a{min-width:0;min-height:60px}
  .mobile-nav a span{font-size:19px}
  .mobile-nav a small{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

  .login-panel{padding:18px 14px;align-items:center}
  .login-card{padding:22px 18px;border-radius:19px}
  .login-card h2{font-size:25px}
  .install-card{padding:20px 16px}
}

/* Turn every dashboard table into readable mobile cards instead of tiny columns */
@media(max-width:700px){
  .table-card{background:transparent;border:0;box-shadow:none;overflow:visible;padding:0}
  .table-card .table-tools,.table-card .table-heading{background:#fff;border:1px solid var(--line);border-radius:15px;margin-bottom:9px;padding:12px}
  .table-card .search{max-width:none}
  .table-wrap{overflow:visible}
  table.mobile-table{display:block;width:100%}
  table.mobile-table thead{display:none}
  table.mobile-table tbody{display:grid;gap:9px;width:100%}
  table.mobile-table tr{display:grid;width:100%;background:#fff;border:1px solid var(--line);border-radius:15px;padding:10px 12px;box-shadow:0 1px 0 rgba(20,24,39,.01)}
  table.mobile-table tr:hover{background:#fff}
  table.mobile-table td{display:grid;grid-template-columns:minmax(92px,38%) minmax(0,1fr);gap:10px;align-items:center;width:100%;padding:8px 0;border:0;border-bottom:1px solid #eff1f4;text-align:right;min-height:36px;overflow-wrap:anywhere}
  table.mobile-table td:last-child{border-bottom:0}
  table.mobile-table td::before{content:attr(data-label);text-align:left;color:#888e9f;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;line-height:1.25}
  table.mobile-table td[colspan]{grid-template-columns:1fr;text-align:left}
  table.mobile-table td[colspan]::before{display:none}
  table.mobile-table .identity,table.mobile-table .mini-product{justify-content:flex-end;text-align:left}
  table.mobile-table .table-link{display:inline-flex;justify-self:end;align-items:center;min-height:38px;padding:0 10px;background:#efeeff;border-radius:9px}
  table.mobile-table .thumb.small{width:42px;height:42px}
  .update-history .table-heading{padding:12px!important}
}

@media(max-width:560px){
  .content{padding-left:10px;padding-right:10px}
  .topbar{padding-left:9px;padding-right:9px}
  .topbar h2{max-width:38vw}
  .hero-strip,.client-hero{padding:17px}
  .hero-actions{grid-template-columns:1fr}
  .kpi-grid,.client-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .kpi{align-items:flex-start;min-height:76px}
  .kpi-icon{width:32px;height:32px;flex-basis:32px}
  .sticker-grid{grid-template-columns:1fr}
  .thumb.card{height:min(68vw,270px)}
  .sticker-specs{grid-template-columns:1fr 1fr}
  .spec-grid{grid-template-columns:1fr 1fr}
  .formula-card{grid-template-columns:1fr}
  .meter-pills{grid-template-columns:repeat(5,1fr)}
  .order-aggregate{grid-template-columns:1fr}
  .order-item-detail{grid-template-columns:54px minmax(0,1fr)}
  .order-item-detail>strong{grid-column:2;text-align:left}
  .item-art .thumb{width:52px;height:52px}
  .cart-item{grid-template-columns:48px minmax(0,1fr)}
  .cart-thumb{width:48px;height:48px}
  .cart-item-price{grid-column:2;display:flex;justify-content:space-between;gap:8px;align-items:center;text-align:left;flex-wrap:wrap}
  .cart-fab{width:52px;height:52px;border-radius:50%;padding:0;justify-content:center}
  .cart-fab b{display:none}
  .cart-fab em{position:absolute;right:-4px;top:-4px}
  .account-card{grid-template-columns:1fr}
  .visual-copy h1{font-size:38px}
  .install-shell{width:min(100% - 18px,820px);margin:12px auto}
}

@media(max-width:380px){
  .topbar h2{max-width:32vw}
  .kpi-grid,.client-kpis{grid-template-columns:1fr}
  .sticker-specs,.spec-grid{grid-template-columns:1fr}
  .meter-pills{grid-template-columns:repeat(3,1fr)}
  table.mobile-table td{grid-template-columns:82px minmax(0,1fr)}
}
