:root{--blue-950:#052f5e;--blue-900:#073f7a;--blue-800:#07509c;--blue-700:#0964bc;--blue-100:#eaf3ff;--gold:#ffb800;--gold-600:#e39d00;--gold-100:#fff6da;--ink:#152032;--muted:#667085;--line:#e4e9f0;--surface:#fff;--canvas:#f5f7fa;--green:#11845b;--red:#d54343;--shadow:0 14px 34px rgba(12,48,85,.08);--radius:18px;--radius-sm:12px;--sidebar:272px;font-family:Inter,"Segoe UI",Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid rgba(255,184,0,.45);outline-offset:2px}.skip-link{position:fixed;left:1rem;top:-100px;z-index:9999;background:#fff;padding:.75rem 1rem;border-radius:8px}.skip-link:focus{top:1rem}.hidden{display:none!important}
.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(175deg,#06386e 0%,#062d58 100%);color:#fff;padding:22px 16px;z-index:50;display:flex;flex-direction:column;box-shadow:12px 0 35px rgba(3,32,62,.12)}.brand-block{min-height:95px;background:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;padding:9px;margin:0 2px 22px;position:relative}.brand-logo{display:block;max-width:100%;max-height:82px;object-fit:contain}.sidebar-close{display:none;position:absolute;right:3px;top:3px;color:var(--ink)}.main-nav{display:flex;flex-direction:column;gap:5px}.nav-item{border:0;background:transparent;color:#c9d8e9;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;width:100%;text-align:left;padding:12px 13px;border-radius:11px;font-weight:600}.nav-item>span:first-child{font-size:19px;text-align:center}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.11);color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--gold)}.nav-badge{font-size:11px;padding:1px 7px;background:var(--gold);color:#18314e;border-radius:99px}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:18px 8px 0}.user-chip{display:flex;gap:10px;align-items:center}.user-chip strong,.user-chip small{display:block}.user-chip small{color:#aebfd2;font-size:12px}.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#ffd45e);color:var(--blue-950);display:grid;place-items:center;font-weight:800;flex:0 0 auto}.sidebar-footer>p{font-size:11px;color:#8197ae;margin:17px 0 0}.version{color:var(--gold)}
.workspace{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));min-width:0}.topbar{height:84px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:30}.topbar-left,.topbar-actions,.profile-button{display:flex;align-items:center}.topbar-left{gap:14px}.topbar h1{font-size:21px;margin:0;color:var(--blue-950)}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--blue-700);margin:0 0 3px}.menu-toggle{display:none}.icon-button{border:0;background:transparent;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:22px;color:var(--blue-950)}.icon-button:hover{background:var(--blue-100)}.topbar-actions{gap:10px}.currency-control{display:flex;align-items:center;gap:8px;padding:6px 9px 6px 12px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:12px}.currency-control select{border:0;background:transparent;color:var(--blue-900);font-weight:800}.notification-button{position:relative}.notification-button span{position:absolute;color:var(--gold);font-size:10px;right:8px;top:7px}.profile-button{border:0;background:transparent;gap:9px;padding:4px 7px;border-radius:12px;color:var(--ink)}.profile-button:hover{background:var(--canvas)}.profile-copy{text-align:left}.profile-copy strong,.profile-copy small{display:block}.profile-copy small{font-size:11px;color:var(--muted)}
main{padding:30px 34px 50px;max-width:1800px;margin:auto}.view{display:none;animation:fadeIn .2s ease}.view.active{display:block}@keyframes fadeIn{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}.hero-card{border-radius:22px;min-height:190px;background:linear-gradient(120deg,rgba(4,50,95,.98),rgba(9,91,164,.93)),url('../images/logo.png') right center/360px auto no-repeat;color:#fff;padding:34px 40px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;width:310px;height:310px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:130px;top:-190px}.hero-kicker{font-size:10px;letter-spacing:.18em;font-weight:800;color:#ffd56b}.hero-card h2{font-size:32px;margin:7px 0}.hero-card p{margin:0;max-width:600px;color:#d9e7f5}.button{border:0;border-radius:10px;padding:11px 17px;font-weight:750;white-space:nowrap;transition:.18s transform,.18s box-shadow,.18s background}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--blue-800);color:#fff;box-shadow:0 8px 20px rgba(7,80,156,.2)}.button-primary:hover{background:var(--blue-900)}.button-gold{background:var(--gold);color:#16385d;box-shadow:0 10px 24px rgba(255,184,0,.22)}.button-gold:hover{background:#ffc630}.button-secondary{background:#fff;border:1px solid var(--line);color:var(--blue-900)}.button-block{width:100%;padding:14px}.text-button{border:0;background:transparent;color:var(--blue-700);font-weight:750;padding:5px}.text-button:hover{text-decoration:underline}.danger{color:var(--red)}.danger-outline{color:var(--red);border:1px solid #f1baba;background:#fff}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:19px;box-shadow:0 6px 22px rgba(10,44,77,.04);display:grid;grid-template-columns:46px 1fr;gap:13px;align-items:start}.metric-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:20px}.metric-icon.blue{background:var(--blue-100);color:var(--blue-800)}.metric-icon.gold{background:var(--gold-100);color:var(--gold-600)}.metric-icon.green{background:#e6f7f0;color:var(--green)}.metric-icon.red{background:#ffeded;color:var(--red)}.metric-card p{grid-column:2;margin:-19px 0 4px;color:var(--muted);font-size:12px;font-weight:650}.metric-card strong{font-size:23px;line-height:1.2}.metric-card small{grid-column:2;color:var(--muted)}.metric-card small.positive{color:var(--green)}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.8fr);gap:18px;margin-bottom:18px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 22px rgba(10,44,77,.04);padding:20px}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:17px}.panel-header h2{font-size:17px;margin:0;color:var(--blue-950)}.panel-header select,.panel-header input{border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:#fff}.chart-summary{display:flex;align-items:baseline;gap:10px}.chart-summary strong{font-size:25px}.chart-summary span{font-size:12px;color:var(--green)}.bar-chart{height:190px;display:flex;align-items:flex-end;gap:10px;padding:20px 4px 0;border-bottom:1px solid var(--line)}.chart-bar-wrap{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}.chart-bar{width:min(34px,72%);min-height:3px;background:linear-gradient(var(--blue-700),var(--blue-900));border-radius:6px 6px 2px 2px;position:relative}.chart-bar:hover:after{content:attr(data-value);position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:3px 6px;border-radius:5px;font-size:10px;white-space:nowrap}.chart-label{font-size:10px;color:var(--muted)}.stack-list{display:flex;flex-direction:column}.alert-row{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.alert-row:last-child{border:0}.alert-row img{width:44px;height:44px;border-radius:9px;object-fit:cover;border:1px solid var(--line)}.alert-row strong,.alert-row small{display:block}.alert-row strong{font-size:12px}.alert-row small{font-size:11px;color:var(--muted)}.stock-number{font-size:12px;color:var(--red);font-weight:800}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;padding:10px;border-bottom:1px solid var(--line)}td{padding:12px 10px;border-bottom:1px solid #edf0f3;font-size:12px}tbody tr:hover{background:#fbfcfe}.align-right{text-align:right}.payment-tag,.stock-pill,.status-pill{display:inline-flex;align-items:center;border-radius:99px;font-size:10px;font-weight:800;padding:4px 8px}.payment-tag{background:#eef4ff;color:var(--blue-800)}.stock-pill.healthy{background:#e6f7f0;color:var(--green)}.stock-pill.low{background:#fff3da;color:#a66b00}.stock-pill.out{background:#ffeded;color:var(--red)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.section-heading h2{font-size:29px;line-height:1.2;margin:3px 0;color:var(--blue-950)}.section-heading p:last-child{margin:0;color:var(--muted)}.heading-actions{display:flex;gap:9px}.inventory-toolbar{display:flex;gap:10px;align-items:center;padding:12px;margin-bottom:18px}.search-field{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:0 12px;min-width:220px;flex:1}.search-field:focus-within{border-color:var(--blue-700);box-shadow:0 0 0 3px rgba(9,100,188,.1)}.search-field input{width:100%;border:0;outline:0;padding:10px 0;background:transparent}.inventory-toolbar>select{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px}.view-toggle{width:39px;height:39px;border:1px solid var(--line);background:#fff;color:var(--muted)}.view-toggle.active{background:var(--blue-900);color:#fff;border-color:var(--blue-900)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:17px}.product-card{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;transition:.2s box-shadow,.2s transform;position:relative}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.product-image-wrap{aspect-ratio:1.35;background:#f3f5f7;position:relative;overflow:hidden}.product-image-wrap img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:.25s transform}.product-card:hover img{transform:scale(1.025)}.product-image-wrap .stock-pill{position:absolute;left:12px;top:12px}.product-menu{position:absolute;right:10px;top:10px;width:34px;height:34px;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.92);border-radius:9px}.product-body{padding:15px}.product-category{color:var(--blue-700);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.product-body h3{font-size:14px;margin:4px 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-sku{font-size:10px;color:var(--muted);font-family:Consolas,monospace}.product-price-row{display:flex;justify-content:space-between;align-items:flex-end;margin-top:14px}.product-price-row strong{font-size:17px;color:var(--blue-950)}.product-price-row small{display:block;color:var(--muted);font-size:10px}.product-actions{display:flex;gap:6px;margin-top:12px}.product-actions button{flex:1;border:1px solid var(--line);background:#fff;color:var(--blue-900);padding:8px;border-radius:8px;font-size:11px;font-weight:700}.product-actions button:hover{background:var(--blue-100)}.product-grid.list-view{display:block}.product-grid.list-view .product-card{display:grid;grid-template-columns:110px 1fr;margin-bottom:10px}.product-grid.list-view .product-image-wrap{aspect-ratio:1}.product-grid.list-view .product-body{display:grid;grid-template-columns:1.5fr 1fr 1fr;align-items:center}.product-grid.list-view .product-price-row{margin:0}.empty-state{text-align:center;padding:80px 20px;color:var(--muted)}.empty-state>span{font-size:45px}.empty-state h3{color:var(--ink)}
.status-pill{background:#e6f7f0;color:var(--green);padding:8px 12px}.status-pill i{width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:7px}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 385px;gap:18px;align-items:start}.pos-catalog{min-width:0}.scan-card{background:linear-gradient(120deg,var(--blue-950),var(--blue-800));color:#fff;border-radius:16px;padding:15px 18px;display:grid;grid-template-columns:42px minmax(170px,1fr) minmax(210px,.7fr) auto;gap:13px;align-items:center;box-shadow:var(--shadow)}.scan-icon{font-size:25px}.scan-card strong,.scan-card p{display:block;margin:0}.scan-card p{font-size:11px;color:#c7d9eb}.scan-card input{border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);color:#fff;border-radius:9px;padding:11px}.scan-card input::placeholder{color:#c5d3e2}.pos-search-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0}.category-chips{display:flex;gap:6px;overflow-x:auto}.chip{border:1px solid var(--line);background:#fff;color:var(--muted);padding:8px 11px;border-radius:99px;font-size:11px;white-space:nowrap}.chip.active{background:var(--blue-900);color:#fff;border-color:var(--blue-900)}.pos-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:11px;max-height:calc(100vh - 295px);overflow-y:auto;padding:1px 5px 20px 1px}.pos-product{background:#fff;border:1px solid var(--line);border-radius:13px;padding:8px;text-align:left;position:relative}.pos-product:hover{border-color:var(--blue-700);box-shadow:0 7px 18px rgba(7,80,156,.09)}.pos-product:disabled{opacity:.52;cursor:not-allowed}.pos-product img{width:100%;aspect-ratio:1.4;object-fit:contain;background:#f6f7f8;border-radius:9px}.pos-product strong{display:block;font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-top:7px}.pos-product span{display:flex;justify-content:space-between;color:var(--blue-900);font-weight:800;font-size:12px}.pos-product small{color:var(--muted)}.cart-panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);position:sticky;top:104px;max-height:calc(100vh - 124px);display:flex;flex-direction:column;overflow:hidden}.cart-header{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.cart-header h2{margin:0;font-size:17px}.cart-header h2 span{font-size:11px;background:var(--blue-100);color:var(--blue-800);border-radius:99px;padding:2px 7px}.cart-items{padding:6px 16px;overflow-y:auto}.cart-item{display:grid;grid-template-columns:45px 1fr auto;gap:9px;padding:11px 0;border-bottom:1px solid var(--line)}.cart-item img{width:45px;height:45px;object-fit:contain;border-radius:8px;background:#f5f6f8}.cart-item strong,.cart-item small{display:block}.cart-item strong{font-size:11px}.cart-item small{font-size:10px;color:var(--muted)}.quantity-control{display:flex;align-items:center;gap:4px;margin-top:5px}.quantity-control button{border:1px solid var(--line);background:#fff;width:24px;height:24px;border-radius:6px}.quantity-control span{min-width:20px;text-align:center;font-size:11px;font-weight:800}.cart-item-price{text-align:right;font-size:11px;font-weight:800}.cart-item-price button{display:block;margin:9px 0 0 auto;border:0;background:transparent;color:var(--red)}.cart-empty{padding:55px 20px;text-align:center;color:var(--muted)}.cart-empty>span{font-size:38px}.cart-empty h3{font-size:14px;color:var(--ink);margin:5px}.cart-empty p{font-size:11px}.cart-footer{margin-top:auto;background:#fafbfc;border-top:1px solid var(--line);padding:15px}.cart-footer>label{display:block;font-size:10px;color:var(--muted);font-weight:700;margin-bottom:9px}.cart-footer>label input,.cart-footer>label select{display:block;width:100%;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px;margin-top:3px;color:var(--ink)}.cart-totals{border-top:1px dashed #ccd3dc;padding:10px 0}.cart-totals>span{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin:5px 0}.inline-input{display:flex;align-items:center}.inline-input input{width:48px;border:1px solid var(--line);border-radius:6px;padding:3px}.cart-totals .grand-total{font-size:14px;color:var(--blue-950);margin-top:9px}.grand-total strong{font-size:20px}
.accounting-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.6fr)}.donut-wrap{display:grid;place-items:center;gap:20px}.donut{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--blue-800) 0 40%,var(--gold) 40% 70%,var(--green) 70% 100%)}.donut:before{content:"";position:absolute;width:112px;height:112px;background:#fff;border-radius:50%}.donut span{z-index:1;font-weight:800;color:var(--blue-950)}.legend{width:100%}.legend-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin:8px 0}.legend-row i{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:7px}.legend-row span:first-child{color:var(--muted)}
.user-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;margin-bottom:18px}.user-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.user-card-head{display:flex;gap:12px;align-items:center}.user-card .avatar{width:48px;height:48px}.user-card h3{margin:0;font-size:14px}.user-card p{margin:1px 0;color:var(--muted);font-size:11px}.user-role{display:flex;justify-content:space-between;align-items:center;margin-top:17px;padding-top:14px;border-top:1px solid var(--line)}.user-role span{font-size:10px;font-weight:800;color:var(--blue-800);background:var(--blue-100);padding:4px 8px;border-radius:99px}.online-dot{font-size:10px;color:var(--green)}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.role-grid>div{padding:15px;border:1px solid var(--line);border-radius:13px}.role-grid h3{font-size:13px;margin:9px 0 2px}.role-grid p{font-size:11px;color:var(--muted);margin:0}.role-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:800}.role-icon.blue{background:var(--blue-100);color:var(--blue-800)}.role-icon.gold{background:var(--gold-100);color:var(--gold-600)}.role-icon.green{background:#e6f7f0;color:var(--green)}
.settings-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px}.settings-nav{display:flex;flex-direction:column;gap:5px}.settings-nav button{border:0;background:transparent;text-align:left;padding:11px 13px;color:var(--muted);border-radius:9px;font-weight:650}.settings-nav button.active{background:var(--blue-100);color:var(--blue-900)}.settings-panel{min-height:430px;padding:27px}.settings-tab{display:none}.settings-tab.active{display:block}.settings-tab h2{margin:0;color:var(--blue-950)}.settings-tab>p{color:var(--muted);margin-top:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.form-grid label,.cart-footer label{color:#405167;font-size:11px;font-weight:700;position:relative}.form-grid input,.form-grid select,.form-grid textarea,.rate-grid input{display:block;width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;margin-top:5px;color:var(--ink);background:#fff}.form-grid textarea{resize:vertical}.form-grid label.full{grid-column:1/-1}.form-grid small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.field-action{position:absolute;right:5px;bottom:5px;border:0;background:var(--blue-100);color:var(--blue-800);border-radius:6px;padding:5px 7px;font-size:10px}.rate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:22px 0}.rate-grid label{font-size:11px;font-weight:700}.info-callout{display:flex;gap:11px;background:var(--blue-100);color:var(--blue-900);padding:14px;border-radius:11px}.info-callout span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--blue-800);color:#fff;flex:0 0 auto}.info-callout p{margin:0;font-size:12px}.toggle-row{display:flex!important;justify-content:space-between;align-items:center;border:1px solid var(--line);padding:14px;border-radius:11px}.toggle-row strong,.toggle-row small{display:block}.toggle-row input{width:42px;height:22px}.data-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.modal-backdrop{position:fixed;inset:0;background:rgba(3,25,48,.58);backdrop-filter:blur(3px);z-index:90}.modal{border:0;border-radius:18px;padding:0;width:min(720px,calc(100% - 30px));max-height:90vh;box-shadow:0 30px 80px rgba(3,25,48,.3);z-index:100;color:var(--ink);overflow:hidden}.modal>form{display:flex;flex-direction:column;max-height:90vh}.modal>form .modal-header,.modal>form .modal-footer{flex:none}.modal>form .modal-body{min-height:0;overflow-y:auto}.modal::backdrop{background:rgba(3,25,48,.58);backdrop-filter:blur(3px)}.modal-header,.modal-footer{display:flex;justify-content:space-between;align-items:center;padding:17px 22px}.modal-header{border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:20px;color:var(--blue-950)}.modal-body{padding:4px 22px 22px;overflow-y:auto}.modal-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;background:#fafbfc}.small-modal{width:min(540px,calc(100% - 30px))}.product-mini{display:flex;align-items:center;gap:10px;background:var(--canvas);border-radius:10px;padding:10px;margin:17px 0}.product-mini img{width:54px;height:54px;object-fit:contain;border-radius:8px;background:#fff}.receipt-modal{width:min(440px,calc(100% - 30px))}.receipt{padding:28px;font-family:Consolas,monospace;color:#172638}.receipt-logo{display:block;width:220px;max-height:110px;object-fit:contain;margin:0 auto 12px}.receipt h2,.receipt>p{text-align:center}.receipt>p{font-size:11px}.receipt hr{border:0;border-top:1px dashed #8996a5;margin:15px 0}.receipt-line,.receipt-total{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin:6px 0}.receipt-total{font-size:16px;font-weight:800}.receipt-meta{font-size:10px}.camera-modal{width:min(620px,calc(100% - 30px))}.camera-modal video{display:block;width:100%;max-height:65vh;background:#061a2e}.camera-modal>p{text-align:center;color:var(--muted)}.toast-region{position:fixed;right:20px;bottom:20px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{background:#102b49;color:#fff;border-radius:11px;padding:12px 15px;min-width:250px;box-shadow:var(--shadow);animation:toastIn .2s ease}.toast.success{border-left:4px solid #26bf84}.toast.error{border-left:4px solid #ef6a6a}@keyframes toastIn{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(2,1fr)}.pos-layout{grid-template-columns:1fr 340px}.scan-card{grid-template-columns:40px 1fr}.scan-card input{grid-column:1/3}.scan-card .button{grid-column:1/3}.product-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}
@media(max-width:920px){:root{--sidebar:255px}.sidebar{transform:translateX(-105%);transition:.24s transform}.sidebar.open{transform:none}.sidebar-close,.menu-toggle{display:grid}.workspace{width:100%;margin:0}.topbar{padding:0 20px}.profile-copy{display:none}main{padding:22px 20px 40px}.dashboard-grid,.pos-layout,.accounting-grid{grid-template-columns:1fr}.cart-panel{position:relative;top:auto;max-height:none}.pos-products{max-height:none}.settings-layout{grid-template-columns:1fr}.settings-nav{flex-direction:row;overflow-x:auto}.settings-nav button{white-space:nowrap}.hero-card{padding:27px}.hero-card h2{font-size:26px}}
@media(max-width:640px){body{font-size:14px}.topbar{height:74px;padding:0 13px}.topbar-actions{gap:4px}.currency-control span{display:none}.currency-control{padding:5px}.topbar h1{font-size:17px}main{padding:16px 13px 35px}.hero-card{display:block;min-height:auto;padding:24px}.hero-card h2{font-size:23px}.hero-card .button{margin-top:20px}.metric-grid{grid-template-columns:1fr 1fr;gap:9px}.metric-card{grid-template-columns:36px 1fr;padding:13px;gap:8px}.metric-icon{width:36px;height:36px}.metric-card p{margin:-14px 0 3px;font-size:10px}.metric-card strong{font-size:17px}.metric-card small{font-size:9px}.panel{padding:14px}.section-heading{align-items:flex-start;flex-direction:column}.section-heading h2{font-size:25px}.heading-actions{width:100%;overflow-x:auto}.inventory-toolbar{flex-wrap:wrap}.search-field{min-width:100%}.inventory-toolbar>select{flex:1}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.product-body{padding:11px}.product-body h3{font-size:12px}.product-price-row strong{font-size:14px}.product-actions{display:block}.product-actions button{width:100%;margin-top:4px}.scan-card{grid-template-columns:32px 1fr;padding:13px}.pos-products{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid,.rate-grid,.role-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.settings-panel{padding:18px}.user-grid{grid-template-columns:1fr}.bar-chart{gap:4px}.modal-body{padding:2px 16px 18px}.modal-header,.modal-footer{padding:14px 16px}}
@media print{body{background:#fff}.app-shell,.toast-region,.modal-footer.no-print{display:none!important}.receipt-modal{display:block!important;position:static;width:100%;max-height:none;box-shadow:none}.receipt{padding:0}@page{margin:8mm}.label-print-sheet{display:grid!important;grid-template-columns:repeat(3,1fr);gap:4mm}.barcode-label{break-inside:avoid;border:1px solid #222;padding:3mm;text-align:center}.barcode-label svg{width:100%;height:18mm}}
.button-secondary{background:#fff;border:1px solid var(--line);color:var(--blue-900)}

/* v3.0 - poste de caisse PREMAX, scanner ED800 et Epson TM-T20III */
.scanned-code-box{background:var(--blue-100);border:1px solid #c9def3;border-radius:12px;padding:14px;margin:17px 0}.scanned-code-box small,.scanned-code-box strong{display:block}.scanned-code-box small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.scanned-code-box strong{font:800 18px Consolas,monospace;color:var(--blue-950);margin-top:5px;overflow-wrap:anywhere}.association-product-label{display:block;font-size:11px;font-weight:750;color:var(--blue-950);margin-bottom:16px}.association-product-label select{display:block;width:100%;border:1px solid var(--line);border-radius:9px;padding:11px;margin-top:6px;background:#fff}
.hardware-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.hardware-card{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:14px;background:var(--canvas)}.hardware-card strong,.hardware-card small{display:block}.hardware-card strong{font-size:12px;color:var(--blue-950)}.hardware-card small{font-size:10px;color:var(--muted);line-height:1.45;margin-top:3px}.hardware-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--blue-100);color:var(--blue-900);font-size:22px}.device-ready{align-self:start;background:#e6f7f0;color:var(--green);font-size:9px;padding:5px 7px;border-radius:99px}.hardware-tests{border:1px solid var(--line);border-radius:13px;padding:16px;margin-bottom:14px}.hardware-tests label{display:block;font-size:11px;font-weight:750;color:var(--blue-950)}.hardware-tests input{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:9px;padding:11px;background:#fff}.hardware-tests>div{display:flex;gap:8px;flex-wrap:wrap}.device-test-status{font-size:10px;color:var(--muted);min-height:16px}.device-test-status.success{color:var(--green);font-weight:800}
@media(max-width:1180px){.hardware-grid{grid-template-columns:1fr}}
@media(max-width:640px){.hardware-card{grid-template-columns:42px 1fr}.device-ready{grid-column:2;justify-self:start}.hardware-tests .button{width:100%}}

/* Authentication, reports and audit */
.login-screen{position:fixed;inset:0;z-index:500;background:#f7f9fc;display:grid;grid-template-columns:minmax(420px,1.15fr) minmax(420px,.85fr);transition:.35s opacity,.35s visibility}.login-screen.authenticated{opacity:0;visibility:hidden;pointer-events:none}.login-visual{position:relative;background:linear-gradient(135deg,rgba(4,43,84,.98),rgba(5,91,167,.92)),url('../images/logo.png') center/620px auto no-repeat;color:#fff;display:flex;align-items:flex-end;padding:8vw;overflow:hidden}.login-visual:before,.login-visual:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}.login-visual:before{width:520px;height:520px;right:-130px;top:-180px}.login-visual:after{width:350px;height:350px;left:-140px;bottom:-130px}.login-visual-content{position:relative;z-index:1;max-width:650px}.login-visual h1{font-size:clamp(38px,4.6vw,72px);line-height:1.04;margin:16px 0 22px}.login-visual p{font-size:17px;color:#d7e6f5;max-width:540px}.login-feature-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:38px;color:#ffe09a;font-size:12px;font-weight:700}.login-panel{display:grid;place-items:center;padding:34px;background:radial-gradient(circle at top right,#eef5ff,transparent 50%),#fff}.login-card{width:min(420px,100%)}.login-logo{display:block;width:300px;max-height:155px;object-fit:contain;margin:0 auto 28px}.login-card h2{font-size:29px;color:var(--blue-950);margin:5px 0}.login-card>p:not(.eyebrow):not(.login-error){color:var(--muted);margin:0 0 26px}.login-card>label{display:block;font-size:12px;font-weight:750;color:#405167;margin:15px 0}.login-card input{display:block;width:100%;border:1px solid var(--line);border-radius:11px;padding:13px;margin-top:6px}.password-field{position:relative}.password-field input{padding-right:48px}.password-field button{position:absolute;right:6px;top:11px;width:38px;height:38px;border:0;background:transparent;color:var(--blue-800)}.login-error{min-height:20px;color:var(--red);font-size:12px;margin:6px 0}.login-card>small{display:block;text-align:center;color:#9aa4b2;margin-top:20px}.logout-button{width:100%;border:1px solid rgba(255,255,255,.15);background:transparent;color:#c9d8e9;padding:8px;border-radius:9px;font-size:11px;margin-top:13px}.logout-button:hover{background:rgba(255,255,255,.09);color:#fff}
.user-avatar-photo{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:0 0 auto}.user-card{position:relative}.user-card-actions{display:flex;gap:6px;margin-top:14px}.user-card-actions button{flex:1;border:1px solid var(--line);background:#fff;color:var(--blue-900);border-radius:8px;padding:7px;font-size:10px;font-weight:750}.user-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:13px}.user-stat-row span{background:var(--canvas);padding:8px;border-radius:8px}.user-stat-row strong,.user-stat-row small{display:block}.user-stat-row strong{font-size:13px}.user-stat-row small{font-size:9px;color:var(--muted)}.panel-intro{color:var(--muted);font-size:12px}.permissions-table{overflow:auto}.permission-row{display:grid;grid-template-columns:minmax(190px,1.5fr) repeat(3,minmax(110px,1fr));border-bottom:1px solid var(--line);align-items:center}.permission-row>span,.permission-row>label{padding:10px;text-align:center;font-size:11px}.permission-row>span:first-child{text-align:left}.permission-row.header{background:var(--canvas);border-radius:9px;font-weight:800;color:var(--blue-950)}.permission-row input{width:18px;height:18px;accent-color:var(--blue-800)}.activity-feed{display:flex;flex-direction:column}.activity-item{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:start;padding:9px 0;border-bottom:1px solid var(--line)}.activity-item:last-child{border:0}.activity-icon{width:34px;height:34px;border-radius:9px;background:var(--blue-100);color:var(--blue-800);display:grid;place-items:center;font-size:12px}.activity-item strong,.activity-item small{display:block}.activity-item strong{font-size:11px}.activity-item small{font-size:10px;color:var(--muted)}.activity-item>time{font-size:9px;color:var(--muted);white-space:nowrap}.audit-full{max-height:430px;overflow:auto}.leaderboard-row{display:grid;grid-template-columns:34px 42px 1fr auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.leaderboard-rank{font-size:17px;font-weight:900;color:var(--gold-600)}.leaderboard-row img,.leaderboard-row .avatar{width:38px;height:38px}.leaderboard-row strong,.leaderboard-row small{display:block}.leaderboard-row small{font-size:10px;color:var(--muted)}.leaderboard-value{text-align:right}.leaderboard-value strong{color:var(--blue-900)}.dashboard-lower-grid{margin-top:18px}
.report-filters{margin-bottom:18px}.quick-periods{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.report-date-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.report-date-fields label{font-size:10px;font-weight:750;color:var(--muted)}.report-date-fields input,.report-date-fields select{display:block;width:100%;border:1px solid var(--line);border-radius:9px;padding:9px;margin-top:4px;background:#fff}.report-chart{height:250px}.report-grid{margin-top:18px}.status-tag{display:inline-flex;padding:4px 8px;border-radius:99px;font-size:9px;font-weight:800}.status-tag.completed{background:#e6f7f0;color:var(--green)}.status-tag.cancelled{background:#ffeded;color:var(--red)}.cancelled-row{opacity:.62;text-decoration-color:var(--red)}.row-actions{display:flex;gap:5px;justify-content:flex-end}.row-actions button{border:1px solid var(--line);background:#fff;color:var(--blue-800);border-radius:7px;padding:5px 7px;font-size:9px;font-weight:750}.row-actions button.cancel-action{color:var(--red)}
.image-uploader{display:flex;align-items:center;gap:16px;background:var(--canvas);border:1px dashed #cbd5e1;border-radius:13px;padding:13px}.image-uploader p{font-size:10px;color:var(--muted);margin:2px 0 8px}.image-uploader .button{display:inline-block;padding:7px 10px;font-size:10px}.image-preview{width:100px;height:100px;border-radius:12px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.image-preview img{width:100%;height:100%;object-fit:cover}.product-photo-preview img{object-fit:contain}.avatar-preview{border-radius:50%;width:88px;height:88px;background:var(--blue-100);color:var(--blue-900);font-weight:900;font-size:22px}.split-footer{display:grid;grid-template-columns:auto 1fr auto auto}.thermal-receipt{width:var(--thermal-width,80mm);max-width:100%;margin:auto}.app-shell[aria-hidden="true"]{visibility:hidden}
@media(max-width:920px){.login-screen{grid-template-columns:1fr}.login-visual{display:none}.report-date-fields{grid-template-columns:1fr 1fr}.permission-row{min-width:650px}}
@media(max-width:640px){.login-panel{padding:25px}.login-logo{width:250px}.login-card h2{font-size:25px}.report-date-fields{grid-template-columns:1fr}.image-uploader{align-items:flex-start}.dashboard-lower-grid{grid-template-columns:1fr}.split-footer{grid-template-columns:1fr 1fr}.split-footer span{display:none}}
@media print{body.printing-report .app-shell{display:block!important}body.printing-report .sidebar,body.printing-report .topbar,body.printing-report .view:not(#view-reports),body.printing-report #view-reports>*:not(.section-heading):not(.metric-grid):not(.panel),body.printing-report .heading-actions,body.printing-report .report-filters,body.printing-report .row-actions{display:none!important}body.printing-report .workspace{margin:0;width:100%}body.printing-report main{padding:0}body.printing-report #view-reports{display:block!important}body.printing-receipt .app-shell,body.printing-receipt .toast-region{display:none!important}body.printing-receipt .receipt-modal{display:block!important;position:static;width:var(--thermal-width,80mm);max-height:none;box-shadow:none;margin:0}body.printing-receipt .receipt{width:calc(var(--thermal-width,80mm) - 4mm);padding:1mm 0;font-size:9pt}body.printing-receipt .receipt-logo{width:56mm;max-height:25mm}body.printing-receipt .receipt-line span{max-width:55mm;overflow-wrap:anywhere}@page{margin:2mm}}

/* v2.1 - heure locale et valorisation du stock */
.live-clock{display:flex;flex-direction:column;align-items:flex-end;padding-right:4px;line-height:1.15;color:var(--blue-950);font-variant-numeric:tabular-nums}.live-clock strong{font-size:15px}.live-clock span{font-size:10px;color:var(--muted);text-transform:capitalize}.inventory-value-metrics{margin-top:0}.product-price-row{gap:10px}.product-price-row strong{display:block}.purchase-price{display:block;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:4px}
@media(max-width:760px){.live-clock span{display:none}.live-clock strong{font-size:12px}}
@media(max-width:480px){.live-clock{display:flex}.live-clock span{display:none}.topbar-actions{gap:2px}.currency-control{max-width:72px}.notification-button{display:none}}

/* v2.2 - personnel, paie et sorties comptables */
.personnel-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:18px}.personnel-toolbar .search-field{flex:1}.personnel-toolbar select,.personnel-toolbar input[type=month]{min-width:170px}.employee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px;margin-bottom:18px}.employee-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(13,49,87,.04)}.employee-card-head{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center}.employee-card-head .avatar,.employee-card-head .user-avatar-photo{width:48px;height:48px;border-radius:14px;object-fit:cover}.employee-card h3{font-size:14px;margin:0;color:var(--blue-950)}.employee-card p{font-size:11px;color:var(--muted);margin:3px 0 0}.employee-details{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.employee-details span{min-width:0}.employee-details small,.employee-details strong{display:block}.employee-details small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.employee-details strong{font-size:11px;margin-top:4px;overflow:hidden;text-overflow:ellipsis}.employee-actions{display:flex;gap:7px;flex-wrap:wrap}.employee-actions button{border:1px solid var(--line);background:#fff;color:var(--blue-800);border-radius:8px;padding:8px 10px;font-size:10px;font-weight:750}.employee-actions button:hover{background:var(--blue-100)}.employee-actions .primary-action{background:var(--blue-800);color:#fff;border-color:var(--blue-800)}.employee-actions button:disabled{opacity:.48;cursor:not-allowed}.personnel-lower-grid{margin-top:0}.settings-tab[data-settings-panel=currency]>.panel-header{align-items:flex-start}.settings-tab[data-settings-panel=currency]>small{display:block;margin-top:12px;color:var(--muted)}
@media(max-width:760px){.personnel-toolbar{align-items:stretch;flex-direction:column}.personnel-toolbar select,.personnel-toolbar input[type=month]{width:100%;min-width:0}.employee-grid{grid-template-columns:1fr}.employee-details{grid-template-columns:1fr 1fr}.employee-card-head{grid-template-columns:48px 1fr}.employee-card-head>.status-tag{grid-column:2}.personnel-lower-grid{grid-template-columns:1fr}}

@media(min-width:761px) and (max-width:1100px){.sidebar .sidebar-close{display:grid}.scan-card input,.scan-card .button{grid-column:auto}.scan-card{grid-template-columns:38px minmax(155px,.7fr) minmax(245px,1fr) 120px}.scan-card .button{padding-left:10px;padding-right:10px}.view[data-view-panel=sales]>.section-heading{margin-bottom:12px}.view[data-view-panel=sales]>.section-heading h2{font-size:25px}.cart-panel{height:calc(100vh - 204px);max-height:none}.cart-empty{padding:28px 14px}.pos-products{height:calc(100vh - 348px);max-height:none}}
@media(max-width:760px){.pos-layout{grid-template-columns:1fr}.scan-card{grid-template-columns:32px 1fr}.scan-card input,.scan-card .button{grid-column:1/3}.pos-products{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;max-height:none}.cart-panel{position:relative;top:auto;height:auto;max-height:none}}
.menu-toggle{display:none}
@media(max-width:1100px){.menu-toggle{display:grid}}

/* v2.3 - menu de compte et préférence de devise */
.profile-menu-wrap{position:relative}.profile-menu{position:absolute;right:0;top:calc(100% + 10px);width:300px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:8px;box-shadow:0 18px 50px rgba(3,25,48,.22);z-index:80}.profile-menu-summary{display:flex;gap:11px;align-items:center;padding:11px 10px 13px;border-bottom:1px solid var(--line);margin-bottom:5px}.profile-menu-summary .avatar,.profile-menu-summary .user-avatar-photo{width:44px;height:44px;border-radius:12px;object-fit:cover;flex:none}.profile-menu-summary strong,.profile-menu-summary small{display:block}.profile-menu-summary strong{font-size:13px;color:var(--blue-950)}.profile-menu-summary small{font-size:10px;color:var(--muted);margin-top:2px}.profile-menu>button{width:100%;border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:9px;color:var(--blue-900);font-size:12px;font-weight:750}.profile-menu>button:hover{background:var(--blue-100)}.profile-menu>button.danger{color:var(--red)}.profile-menu>button.danger:hover{background:#fff0f0}.profile-security-title{border-top:1px solid var(--line);padding-top:15px;margin-top:4px}.profile-security-title strong,.profile-security-title small{display:block}.profile-security-title small{font-weight:400;color:var(--muted);margin-top:3px}.sidebar-footer{padding-bottom:18px}.sidebar-footer>p{margin-top:0}.currency-control select:disabled{cursor:default}.profile-menu-wrap .profile-button .user-avatar-photo{width:34px;height:34px;border-radius:10px;object-fit:cover}
@media(max-width:640px){.profile-menu{position:fixed;right:10px;top:68px;width:min(300px,calc(100vw - 20px))}.profile-button{display:flex;padding:3px}.profile-button>.avatar,.profile-menu-wrap .profile-button .user-avatar-photo{width:32px;height:32px}.profile-button>span:last-child{display:none}}

/* v2.4 - notifications au premier plan et statut de paie */
.main-nav{flex:1;min-height:0;overflow-y:auto;padding-right:3px}.main-nav::-webkit-scrollbar{width:4px}.main-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:99px}.sidebar-footer{flex:none}.dialog-toast-region{position:fixed;top:18px;right:18px;bottom:auto;z-index:2147483647;pointer-events:none}.dialog-toast-region .toast{pointer-events:auto}.paid-action{display:inline-flex;align-items:center;padding:8px 11px;border-radius:8px;background:#e6f7f0;color:var(--green);font-size:10px;font-weight:800}.employee-actions{align-items:center}
@media(max-width:640px){.dialog-toast-region{top:10px;right:10px;left:10px}.dialog-toast-region .toast{min-width:0;width:100%}}
.danger-zone{margin-top:20px;padding:20px;border:1px solid #efb4b4;border-radius:14px;background:#fff8f8}.danger-zone>strong{display:block;color:var(--red);font-size:16px}.danger-zone>p{color:var(--muted);max-width:720px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
input[hidden]{display:none!important}

/* v3.1 — Maison Solaire, prix express et poste tactile PREMAX */
:root{--canvas:#f7f3eb;--surface:#fffdf9;--line:#e8e0d5;--ink:#16243a;--muted:#746f69;--blue-950:#042f62;--blue-900:#06458c;--blue-800:#0759ae;--gold:#ffbd18;--radius:20px;--shadow:0 18px 46px rgba(15,42,73,.09)}
body{background:radial-gradient(circle at 80% 0,#fff9e9 0,transparent 34%),var(--canvas)}
.sidebar{background:linear-gradient(180deg,#063f81 0%,#032f64 100%);box-shadow:14px 0 34px rgba(3,34,70,.16)}
.nav-subitem{border:0;background:transparent;color:#b9cee4;width:calc(100% - 34px);margin:-1px 0 4px 34px;padding:8px 11px;text-align:left;border-left:1px solid rgba(255,255,255,.18);border-radius:0 9px 9px 0;font-size:11px;font-weight:700;display:flex;gap:8px;align-items:center}.nav-subitem:hover,.nav-subitem.active{background:rgba(255,255,255,.09);color:#fff}
.topbar{background:rgba(255,253,249,.92);border-color:#eee5d8}.editorial-hero{min-height:330px;padding:42px 48px;background:linear-gradient(90deg,rgba(3,42,87,.96) 0%,rgba(3,51,103,.88) 34%,rgba(3,45,90,.25) 62%,rgba(3,45,90,.05) 100%),url('../images/dashboard-hero.png') center/cover no-repeat;align-items:center;justify-content:flex-start;border-radius:26px}.editorial-hero:after{display:none}.editorial-hero-copy{max-width:560px;position:relative;z-index:2}.editorial-hero h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(38px,4.1vw,64px);line-height:.98;letter-spacing:-.03em;margin:12px 0 16px}.editorial-hero p{max-width:510px;font-size:15px;line-height:1.65;color:#e5edf6}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.hero-actions .button{text-decoration:none;min-height:48px;display:inline-flex;align-items:center;justify-content:center}.button-hero-secondary{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.62);color:#fff;backdrop-filter:blur(6px)}.button-hero-secondary:hover{background:rgba(255,255,255,.2)}
.metric-card{border-color:#eee4d7;box-shadow:0 9px 28px rgba(37,42,45,.04)}.metric-card strong{font-family:Georgia,'Times New Roman',serif}.panel{border-color:#eee4d7}.dashboard-grid .panel h2{font-family:Georgia,'Times New Roman',serif;font-size:20px}
.price-heading{align-items:flex-end}.price-search{max-width:380px;flex:0 1 380px}.price-editor-head,.price-editor-row{display:grid;grid-template-columns:minmax(230px,1.15fr) minmax(250px,1.45fr) minmax(220px,.85fr) 126px;gap:18px;align-items:center}.price-editor-head{padding:0 20px 9px;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.price-editor-list{display:flex;flex-direction:column;gap:10px}.price-editor-row{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;box-shadow:0 8px 24px rgba(26,49,75,.04)}.price-product{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:center;min-width:0}.price-product img{width:72px;height:64px;object-fit:contain;border-radius:11px;background:#f5f1ea;border:1px solid #eee5d9}.price-product strong,.price-product small{display:block}.price-product strong{color:var(--blue-900);font:700 11px Consolas,monospace}.price-product small{color:var(--muted);font-size:10px;margin-top:3px}.price-editor-row label>span{display:none}.price-editor-row input{width:100%;min-height:44px;border:1px solid #ded6ca;border-radius:10px;background:#fff;padding:10px 12px;color:var(--ink);font-weight:650}.price-editor-row input:focus{border-color:var(--blue-700);box-shadow:0 0 0 3px rgba(9,100,188,.1);outline:0}.price-input-wrap{position:relative}.price-input-wrap input{padding-right:62px;text-align:right;font-variant-numeric:tabular-nums}.price-input-wrap b{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-size:9px;color:var(--muted)}.price-editor-row .button{min-height:44px}.price-editor-row:has(input:focus){border-color:#b8cde3;box-shadow:0 10px 28px rgba(6,69,140,.1)}
.users-settings-tab .section-heading{margin-top:0}.users-settings-tab .section-heading h2{font-size:26px}.users-settings-tab .metric-grid{margin-top:10px}.users-settings-tab .permissions-panel{margin-top:18px}.settings-layout{grid-template-columns:230px minmax(0,1fr)}
.module-order-card,.update-card{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff;margin:20px 0}.module-order-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.module-order-row{display:grid;grid-template-columns:24px 1fr auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:10px;background:var(--canvas)}.module-grip{color:#a99f92;font-size:18px}.module-order-row strong{font-size:12px}.module-order-actions{display:flex;gap:5px}.module-order-actions button{width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--blue-900);font-weight:900}.module-order-actions button:disabled{opacity:.3}.update-card{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(120deg,#fffdf9,#fff7db)}.update-card h3{font-size:20px;margin:9px 0 3px;color:var(--blue-950)}.update-card p{margin:0;color:var(--muted)}.update-badge{display:inline-flex;background:var(--blue-100);color:var(--blue-900);padding:6px 9px;border-radius:99px;font-size:9px;font-weight:800;letter-spacing:.08em}.update-badge strong{margin-left:5px}
@media(max-width:1100px){:root{--sidebar:255px}.sidebar{transform:translateX(-105%);transition:.24s transform}.sidebar.open{transform:none}.sidebar .sidebar-close,.menu-toggle{display:grid}.workspace{width:100%;margin:0}.topbar{height:72px;padding:0 18px}main{padding:18px 18px 38px}.editorial-hero{min-height:280px;padding:34px}.editorial-hero h2{font-size:44px}.metric-grid{gap:10px}.metric-card{padding:14px}.metric-card strong{font-size:20px}.pos-layout{grid-template-columns:minmax(0,1fr) 330px;gap:12px}.scan-card{grid-template-columns:38px 1fr minmax(190px,.8fr) auto;padding:11px 13px}.scan-card p{display:none}.pos-search-row{margin:10px 0}.pos-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:calc(100vh - 220px)}.pos-product{padding:6px}.pos-product img{aspect-ratio:1.7}.cart-panel{position:sticky;top:84px;max-height:calc(100vh - 96px)}.cart-header{padding:12px 14px}.cart-items{padding:4px 12px}.cart-item{padding:8px 0}.cart-footer{padding:10px 12px}.cart-footer>label{margin-bottom:6px}.cart-footer>label input,.cart-footer>label select{padding:7px}.cart-totals{padding:6px 0}.price-editor-head{display:none}.price-editor-row{grid-template-columns:170px minmax(220px,1fr) 200px 110px;gap:10px}.settings-layout{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:760px){.editorial-hero{min-height:420px;padding:28px 24px;background:linear-gradient(180deg,rgba(3,43,88,.96) 0%,rgba(3,43,88,.8) 54%,rgba(3,43,88,.25) 100%),url('../images/dashboard-hero.png') 66% center/cover no-repeat;align-items:flex-start}.editorial-hero h2{font-size:39px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.price-heading{align-items:stretch}.price-search{max-width:none;flex:auto;width:100%}.price-editor-row{grid-template-columns:72px minmax(0,1fr);gap:10px;padding:11px}.price-product{grid-row:1/3;grid-template-columns:1fr}.price-product span{display:none}.price-editor-row label>span{display:block;font-size:9px;color:var(--muted);margin-bottom:3px}.price-editor-row .button{grid-column:2;width:100%}.module-order-list{grid-template-columns:1fr}.update-card{align-items:flex-start;flex-direction:column}.update-card .heading-actions{width:100%;flex-direction:column}.update-card .button{width:100%}.settings-layout{grid-template-columns:1fr}.settings-nav{flex-direction:row}.users-settings-tab .metric-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.editorial-hero h2{font-size:34px}.metric-grid{grid-template-columns:1fr}.price-editor-row{grid-template-columns:58px minmax(0,1fr)}.price-product img{width:58px;height:58px}.topbar .live-clock,.currency-control{display:none}}

/* v2.5 - barre latérale compacte, alignée et lisible */
.sidebar{padding:18px 14px 14px}
.brand-block{min-height:82px;margin:0 2px 14px;padding:8px;border-radius:14px}
.brand-logo{max-height:68px}
.sidebar .sidebar-close{display:none}
.main-nav{gap:3px;padding:1px 2px 8px 0;scrollbar-gutter:stable}
.nav-item{grid-template-columns:26px minmax(0,1fr) auto;gap:9px;min-height:44px;padding:9px 11px;border-radius:10px;font-size:13px;line-height:1.25}
.nav-item>span:first-child{font-size:17px;line-height:1;text-align:center}
.nav-item>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-item.active{background:rgba(255,255,255,.13);box-shadow:inset 3px 0 var(--gold),0 5px 14px rgba(0,0,0,.08)}
.nav-badge{min-width:27px;padding:2px 7px;text-align:center}
.sidebar-footer{margin-top:8px;padding:12px 6px 0;border-top-color:rgba(255,255,255,.14)}
.logout-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;margin:0;padding:8px 10px;border-color:rgba(255,255,255,.22);color:#e7f0f8;font-size:11px;font-weight:750}
.logout-button:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.35)}
.sidebar-footer>p{margin:7px 0 0;font-size:10px;text-align:left}
@media(max-width:920px){.sidebar .sidebar-close{display:grid}.sidebar{padding-top:16px}}
@media(max-height:700px) and (min-width:921px){.sidebar{padding-top:12px}.brand-block{min-height:70px;margin-bottom:9px}.brand-logo{max-height:58px}.main-nav{gap:2px}.nav-item{min-height:40px;padding-top:7px;padding-bottom:7px}.sidebar-footer{padding-top:8px}.logout-button{min-height:34px}.sidebar-footer>p{margin-top:4px}}

/* v3.2 — connexion plein écran centrée */
.login-screen{position:fixed;inset:0;z-index:500;display:grid;grid-template-columns:1fr;place-items:center;overflow:auto;padding:32px;background:linear-gradient(135deg,rgba(2,35,78,.88),rgba(5,74,143,.73)),url('../images/dashboard-hero.png') center/cover no-repeat;transition:.35s opacity,.35s visibility}
.login-screen:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.08),transparent 35%),linear-gradient(180deg,rgba(1,24,54,.08),rgba(1,24,54,.27))}
.login-screen.authenticated{opacity:0;visibility:hidden;pointer-events:none}
body:has(.login-screen:not(.authenticated)){overflow:hidden}
.login-visual,.login-panel{display:contents}
.login-card{position:relative;z-index:1;width:min(470px,calc(100vw - 32px));padding:30px 42px 28px;border:1px solid rgba(255,255,255,.7);border-radius:28px;background:rgba(255,253,247,.97);box-shadow:0 30px 85px rgba(0,24,56,.4);text-align:center;backdrop-filter:blur(12px)}
.login-logo{display:block;width:min(286px,78%);height:118px;max-height:none;object-fit:contain;margin:0 auto 10px}
.login-card>.eyebrow{margin:0 0 9px;color:var(--blue-800);font-size:10px;font-weight:900;letter-spacing:.18em}
.login-card h1{margin:0;color:var(--blue-950);font-family:Georgia,'Times New Roman',serif;font-size:32px;line-height:1.12;letter-spacing:-.02em}
.login-card>.login-intro{margin:10px 0 22px;color:#6f6a64;font-size:13px}
.login-card>label{display:block;margin:13px 0 0;color:#35465a;font-size:11px;font-weight:800;text-align:left}
.login-card input{display:block;width:100%;min-height:52px;margin-top:7px;padding:13px 15px;border:1px solid #ddd6cc;border-radius:12px;background:#fff;color:var(--ink);font-size:14px;outline:0;transition:border-color .18s ease,box-shadow .18s ease}
.login-card input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(255,189,24,.2)}
.password-field{position:relative}
.password-field input{padding-right:76px}
.password-field button{position:absolute;right:7px;top:14px;width:auto;min-width:58px;height:38px;padding:0 9px;border:0;border-radius:8px;background:#edf4fb;color:var(--blue-800);font-size:10px;font-weight:850;cursor:pointer}
.password-field button:hover{background:#dceafa}
.login-error{min-height:18px;margin:5px 0 3px;color:var(--red);font-size:11px;text-align:left}
.login-card .login-submit{min-height:54px;margin-top:0;border-radius:12px;color:#062f60;font-size:14px;font-weight:900;box-shadow:0 12px 28px rgba(235,166,0,.25)}
.login-shop-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px;margin-top:11px;padding:8px 16px;border:2px solid var(--blue-800);border-radius:12px;background:#fff;color:var(--blue-900);font-size:13px;font-weight:900;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease}
.login-shop-button img{width:44px;height:30px;object-fit:cover;border-radius:7px}
.login-shop-button:hover{background:var(--blue-900);color:#fff;transform:translateY(-1px)}
.login-security{display:block;margin-top:17px;color:#8b949f;font-size:10px;line-height:1.45;text-align:center}
@media(max-width:640px){.login-screen{padding:16px;background-position:66% center}.login-card{width:min(440px,calc(100vw - 24px));padding:24px 22px 22px;border-radius:22px}.login-logo{width:min(250px,80%);height:102px}.login-card h1{font-size:27px}.login-card>.login-intro{margin-bottom:17px}.login-card input,.login-card .login-submit,.login-shop-button{min-height:50px}}
@media(max-height:760px){.login-screen{padding:14px}.login-card{padding:18px 34px 17px;border-radius:22px}.login-logo{height:88px;margin-bottom:4px}.login-card>.eyebrow{margin-bottom:6px}.login-card h1{font-size:27px}.login-card>.login-intro{margin:7px 0 12px}.login-card>label{margin-top:9px}.login-card input{min-height:46px;padding-top:10px;padding-bottom:10px}.password-field button{top:11px;height:34px}.login-error{min-height:15px}.login-card .login-submit,.login-shop-button{min-height:46px}.login-security{margin-top:10px}}

/* v2.6 - charges personnelles et confidentialité des prix d'achat */
.charges-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:18px}.charges-toolbar input,.charges-toolbar select{min-width:190px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--blue-950)}.charge-category{display:inline-flex;align-items:center;padding:5px 8px;border-radius:99px;background:var(--blue-100);color:var(--blue-800);font-size:9px;font-weight:800}.purchase-hidden .inventory-value-metrics{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){.charges-toolbar{align-items:stretch;flex-direction:column}.charges-toolbar input,.charges-toolbar select{width:100%;min-width:0}.purchase-hidden .inventory-value-metrics{grid-template-columns:1fr 1fr}}

/* v3.3 — prix de revient, promotions et ergonomie mobile */
.slide-manager-heading{align-items:flex-start;gap:18px}.slide-manager-list{display:grid;gap:18px;margin-top:20px}.slide-editor{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr);gap:20px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(3,43,88,.06)}.slide-editor-preview{position:relative;min-height:245px;border-radius:14px;overflow:hidden;background:#082c58}.slide-editor-preview img{width:100%;height:100%;min-height:245px;object-fit:cover;display:block}.slide-editor-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,27,69,.86),rgba(3,27,69,.08) 65%)}.slide-preview-copy{position:absolute;z-index:1;left:18px;right:18px;bottom:17px;color:#fff}.slide-preview-copy small{display:block;color:#ffd56b;font-size:9px;font-weight:900;letter-spacing:.12em}.slide-preview-copy strong{display:block;margin-top:5px;font-family:Georgia,'Times New Roman',serif;font-size:23px;line-height:1.05}.slide-image-actions{position:absolute;z-index:2;top:12px;left:12px;right:12px;display:flex;gap:8px;justify-content:space-between}.slide-image-actions label{margin:0;background:rgba(255,255,255,.94);border-radius:9px;padding:9px 12px;color:var(--blue-900);font-weight:800;cursor:pointer}.slide-image-actions input{display:none}.slide-editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.slide-editor-fields label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:800}.slide-editor-fields input,.slide-editor-fields textarea{width:100%}.slide-editor-fields .full{grid-column:1/-1}.slide-editor-toolbar{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px;border-top:1px solid var(--line)}.slide-active-toggle{margin-right:auto;display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;color:var(--blue-900)!important}.slide-active-toggle input{width:auto}.slide-order-button{width:38px;height:38px;padding:0}.slide-delete-button{margin-left:4px}.slide-empty{padding:34px;text-align:center;border:1px dashed var(--line);border-radius:16px;background:var(--soft);color:var(--muted)}
@media(max-width:900px){.slide-editor{grid-template-columns:1fr}.slide-editor-preview{min-height:310px}.slide-editor-preview img{min-height:310px}.slide-manager-heading .heading-actions{width:100%;flex-wrap:wrap}.slide-manager-heading .button{flex:1}}
@media(max-width:560px){.slide-editor{padding:12px;gap:14px}.slide-editor-preview,.slide-editor-preview img{min-height:230px}.slide-editor-fields{grid-template-columns:1fr}.slide-editor-fields .full{grid-column:auto}.slide-active-toggle{width:100%;margin-right:0}.slide-delete-button{margin-left:auto}}
.back-button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--blue-900);font-weight:800;cursor:pointer}.back-button:hover{background:var(--blue-100)}
.pricing-calculator,.discount-manager{margin-bottom:20px}.pricing-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pricing-inputs label,.discount-controls label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:800}.pricing-inputs input,.discount-controls input,.discount-controls select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:8px 11px;background:#fff}.pricing-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.pricing-summary{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;padding:12px;border-radius:12px;background:var(--blue-100)}.pricing-summary span,.pricing-summary strong{padding:4px 8px}.pricing-calculator .table-wrap{margin-top:14px;max-height:330px}.pricing-calculator td,.pricing-calculator th{white-space:nowrap}
.price-editor-head,.price-editor-row{grid-template-columns:minmax(190px,1fr) minmax(170px,1fr) minmax(145px,.75fr) minmax(145px,.75fr) minmax(145px,.75fr) 110px}.purchase-hidden .pricing-calculator{display:none}.purchase-hidden [data-price-purchase],.purchase-hidden [data-price-cost]{visibility:hidden}
.discount-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:15px}.discount-product-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;max-height:250px;overflow:auto}.discount-product-list label{display:grid;grid-template-columns:1fr 70px;align-items:center;gap:2px 10px;border:1px solid var(--line);border-radius:10px;padding:9px 10px}.discount-product-list span{font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.discount-product-list small{font-size:9px;color:var(--muted)}.discount-product-list input{grid-column:2;grid-row:1/3;width:100%;min-height:36px;border:1px solid var(--line);border-radius:8px;padding:5px;text-align:center}.discount-badge{position:absolute;right:50px;top:12px;background:#d92d20;color:#fff;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.inline-discount{display:inline-block;margin-left:6px;color:#d92d20;font-size:9px}.camera-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
@media(max-width:1100px){.price-editor-row{grid-template-columns:150px repeat(4,minmax(130px,1fr)) 100px}.pricing-inputs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.back-button span{display:none}.back-button{width:40px;padding:0;justify-content:center}.topbar-left{gap:7px}.pricing-inputs,.discount-controls{grid-template-columns:1fr}.pricing-actions{flex-direction:column}.pricing-actions .button{width:100%}.price-editor-row{grid-template-columns:64px minmax(0,1fr)}.price-product{grid-row:1/6}.price-editor-row .button{grid-column:2}.discount-manager .panel-header{align-items:stretch;flex-direction:column}.discount-manager .button{width:100%}}
.discount-period-help{align-self:end;margin:0;padding:10px 12px;border-radius:10px;background:var(--blue-100);color:var(--muted);font-size:10px}.charge-alerts-panel{margin-bottom:18px}.charge-alerts-panel .button-whatsapp{width:auto;background:#16874f;color:#fff}.alert-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.alert-item:last-child{border-bottom:0}.alert-item strong,.alert-item small{display:block}.alert-item small{margin-top:3px;color:var(--muted)}.alert-dot.warning{background:#f6ad00}.alert-dot.danger{background:var(--red)}.row-actions .primary-action{background:var(--blue-800);border-color:var(--blue-800);color:#fff}.reset-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0}.reset-categories label{display:flex;align-items:center;gap:9px;padding:11px;border:1px solid #efcaca;border-radius:10px;background:#fff;font-size:11px;font-weight:750}.reset-categories input{width:17px;height:17px}@media(max-width:760px){.reset-categories{grid-template-columns:1fr}.charge-alerts-panel .panel-header{align-items:stretch;flex-direction:column}.charge-alerts-panel .button-whatsapp{width:100%}}

/* v2.7 — changement rapide des charges et journal de caisse */
.status-toggle{border:0;cursor:pointer;font:inherit;transition:transform .15s ease,box-shadow .15s ease}.status-toggle:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(3,43,83,.18)}.status-toggle:after{content:" ↔";font-size:8px;opacity:.7}
.cash-type{display:inline-flex;align-items:center;padding:6px 9px;border-radius:99px;font-size:10px;font-weight:800;white-space:nowrap}.cash-type.income{background:#e3f6ed;color:#08764e}.cash-type.outflow{background:#ffebeb;color:#c63737}
#cashEntriesBody td:nth-child(5) small,#chargesBody td:nth-child(4) small{display:block;color:var(--muted);margin-top:4px;max-width:280px}
.alert-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}
.button:disabled{opacity:.48;filter:grayscale(1);cursor:not-allowed;box-shadow:none}

/* v3.3.5 — menu Paramètres figé et reçu centré à l'impression */
.settings-nav{position:sticky;top:102px;align-self:start;z-index:12;max-height:calc(100vh - 122px);overflow-y:auto;padding:8px;background:var(--canvas);border-radius:12px}
@media(max-width:1100px){.settings-nav{top:80px;max-height:calc(100vh - 96px)}}
@media(max-width:920px){.settings-layout{grid-template-columns:1fr}.settings-nav{top:72px;flex-direction:row;max-height:none;overflow-x:auto;overflow-y:hidden;padding:8px 0;border-radius:0}.settings-nav button{white-space:nowrap}}
@media print{body.printing-receipt{margin:0!important;padding:0!important}body.printing-receipt .receipt-modal{margin:0 auto!important}body.printing-receipt #receiptContent{width:100%}}
.attendance-device-panel{margin:18px 0;padding:22px;border-left:4px solid var(--blue-800)}
.attendance-device-panel .panel-header{align-items:flex-start}
.attendance-device-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;margin-top:16px}
.attendance-device-grid label{font-size:11px;font-weight:750;color:#405167}
.attendance-device-grid input{display:block;width:100%;min-height:43px;margin-top:6px;border:1px solid var(--line);border-radius:9px;padding:10px;background:#f8fafc;color:var(--ink)}
.copy-field{display:flex;gap:7px;align-items:flex-end}.copy-field input{min-width:0}.copy-field .button{flex:0 0 auto;margin-top:6px}
.attendance-device-actions{display:flex;gap:14px;align-items:center;margin-top:14px}.attendance-device-actions small{color:var(--muted);line-height:1.5}.attendance-device-actions code{background:#edf4fb;padding:2px 4px;border-radius:4px;color:var(--blue-900)}
.contract-duration-fields{display:grid;grid-template-columns:minmax(0,1fr) 115px;gap:7px}.contract-duration-fields input,.contract-duration-fields select{margin-top:5px!important}
.form-grid input[readonly]{background:#f1f5f9;color:#536174;cursor:not-allowed}
@media(max-width:760px){.attendance-device-grid{grid-template-columns:1fr}.attendance-device-actions{align-items:stretch;flex-direction:column}.copy-field{align-items:stretch;flex-direction:column}.copy-field .button{width:100%}.contract-duration-fields{grid-template-columns:1fr 110px}}

/* v3.3.7 — panier prioritaire et colonnes redimensionnables */
@media(min-width:921px){
  .pos-layout{grid-template-columns:minmax(320px,var(--pos-catalog-width,40%)) 12px minmax(440px,1fr);gap:10px}
  .pos-resizer{display:flex;align-self:stretch;justify-content:center;align-items:center;min-height:420px;border:0;border-radius:10px;background:transparent;cursor:col-resize;touch-action:none;padding:0}
  .pos-resizer span{display:block;width:4px;height:76px;border-radius:99px;background:#b9c8d8;box-shadow:0 0 0 4px rgba(7,80,156,.06)}
  .pos-resizer:hover span,.pos-resizer:focus-visible span,.pos-layout.is-resizing .pos-resizer span{background:var(--blue-700);box-shadow:0 0 0 5px rgba(7,80,156,.14)}
  .pos-layout.is-resizing{cursor:col-resize;user-select:none}
}
.cart-panel{border:2px solid #a9c8e7;box-shadow:0 15px 38px rgba(4,52,101,.16)}
.cart-header{padding:20px 22px;background:linear-gradient(135deg,#f4f9ff,#fff)}
.cart-header h2{font-size:21px;color:var(--blue-950)}
.cart-header h2 span{font-size:13px;padding:3px 9px}
.cart-item{grid-template-columns:56px minmax(0,1fr) auto;gap:12px;padding:14px 0}.cart-item img{width:56px;height:56px}.cart-item strong{font-size:13px}.cart-item small,.cart-item-price{font-size:11px}.quantity-control button{width:29px;height:29px}.quantity-control span{font-size:13px}
.cash-payment-box{margin:8px 0 12px;padding:13px;border:1px solid #bdd2e8;border-radius:12px;background:#f2f8ff}
.cash-payment-box>label{display:block;color:#33465c;font-size:11px;font-weight:800}.cash-payment-box>label>span{float:right;color:var(--blue-800)}
.cash-payment-box input{display:block;width:100%;min-height:45px;margin-top:6px;border:2px solid #8db6dc;border-radius:9px;padding:8px 11px;background:#fff;color:var(--blue-950);font-size:18px;font-weight:850;text-align:right}
.change-due{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px dashed #aac2da;color:#405167;font-size:12px}.change-due strong{font-size:19px;color:var(--green)}
.cash-payment-box small{display:block;margin-top:5px;color:var(--muted)}.cash-payment-box.insufficient input{border-color:var(--red);background:#fff8f7}.cash-payment-box.insufficient .change-due strong{color:var(--red)}
.cash-payment-box.non-cash{background:#f7f8fa;border-color:var(--line)}.cash-payment-box.non-cash input{background:#edf0f4;border-color:var(--line);color:var(--muted)}
.receipt-payment-line{margin-top:8px}.receipt-change-line{margin-top:3px;padding:7px 0;border-top:1px dashed #777;font-size:11pt}.receipt-change-line strong{font-size:13pt}
@media(max-width:920px){.pos-resizer{display:none}.pos-layout{grid-template-columns:1fr}.cart-panel{order:-1}.cart-header{padding:16px}.cart-items{max-height:42vh}}

/* v3.3.8 — espace de vente plein écran, compact et accessible */
.topbar-cash-status{flex:0 0 auto;padding:9px 13px;font-size:11px;box-shadow:inset 0 0 0 1px rgba(17,132,91,.08)}
.cart-payment-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.cart-payment-fields label{display:block;min-width:0;font-size:10px;color:var(--muted);font-weight:750}
.cart-payment-fields input,.cart-payment-fields select{display:block;width:100%;min-height:40px;margin-top:4px;border:1px solid var(--line);border-radius:9px;padding:7px 10px;background:#fff;color:var(--ink)}

@media(min-width:921px){
  body.sales-mode{overflow:hidden}
  body.sales-mode main{max-width:none;overflow:hidden;padding:12px 18px 14px}
  body.sales-mode #view-sales{height:100%}
  body.sales-mode .pos-layout{height:100%;align-items:stretch}
  body.sales-mode .pos-catalog{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;overflow:hidden}
  body.sales-mode .scan-card{min-height:68px;padding:10px 14px;grid-template-columns:34px minmax(125px,.65fr) minmax(150px,1fr) auto;gap:9px;border-radius:14px}
  body.sales-mode .scan-icon{font-size:21px}
  body.sales-mode .scan-card p{display:none}
  body.sales-mode .scan-card input{min-width:0;padding:9px 11px}
  body.sales-mode .scan-card .button{padding:9px 13px}
  body.sales-mode .pos-search-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:9px 0 10px;min-width:0}
  body.sales-mode .pos-search-row .search-field{width:100%;min-width:0;min-height:42px}
  body.sales-mode .category-chips{width:100%;min-width:0;padding:1px 0 3px;scrollbar-width:thin}
  body.sales-mode .chip{padding:7px 11px}
  body.sales-mode .pos-products{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));align-content:start;min-height:0;height:auto;max-height:none;overflow-y:auto;gap:9px;padding:1px 6px 12px 1px;scrollbar-gutter:stable}
  body.sales-mode .pos-product{min-width:0;padding:7px;border-radius:12px}
  body.sales-mode .pos-product img{height:clamp(116px,18vh,168px);aspect-ratio:auto}
  body.sales-mode .pos-product strong{font-size:11px;margin-top:6px}
  body.sales-mode .pos-product span{font-size:12px;gap:7px}
  body.sales-mode .cart-panel{position:relative;top:auto;height:100%;max-height:none;min-height:0;display:grid;grid-template-rows:auto minmax(92px,1fr) auto;border-radius:16px}
  body.sales-mode .cart-header{padding:12px 16px;margin:0;min-height:66px}
  body.sales-mode .cart-header .eyebrow{font-size:9px}
  body.sales-mode .cart-header h2{font-size:20px}
  body.sales-mode .cart-items{min-height:0;max-height:none;overflow-y:auto;padding:3px 14px;scrollbar-gutter:stable}
  body.sales-mode .cart-empty{min-height:0;overflow-y:auto;padding:28px 16px}
  body.sales-mode .cart-item{grid-template-columns:46px minmax(0,1fr) auto;gap:9px;padding:8px 0}
  body.sales-mode .cart-item img{width:46px;height:46px}
  body.sales-mode .cart-item strong{font-size:11px}
  body.sales-mode .quantity-control{margin-top:3px}
  body.sales-mode .quantity-control button{width:25px;height:25px}
  body.sales-mode .cart-footer{margin:0;padding:10px 14px 12px;background:#fbfcfe}
  body.sales-mode .cart-totals{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 18px;padding:8px 0 6px;margin-top:7px}
  body.sales-mode .cart-totals>span{margin:1px 0;min-height:25px}
  body.sales-mode .cart-totals>span:nth-child(1),body.sales-mode .cart-totals>span:nth-child(2){grid-column:1/-1}
  body.sales-mode .cart-totals .grand-total{grid-column:1/-1;margin:4px 0 0;padding-top:6px;border-top:1px solid #e4eaf1;font-size:13px}
  body.sales-mode .grand-total strong{font-size:21px}
  body.sales-mode .cash-payment-box{margin:5px 0 8px;padding:9px 11px;border-radius:10px}
  body.sales-mode .cash-payment-box input{min-height:40px;margin-top:4px;padding:5px 9px;font-size:17px}
  body.sales-mode .change-due{margin-top:7px;padding-top:7px}
  body.sales-mode .change-due strong{font-size:18px}
  body.sales-mode .cash-payment-box small{margin-top:3px;font-size:10px}
  body.sales-mode #checkoutButton{min-height:44px;padding:10px 14px}
}
@media(min-width:1101px){body.sales-mode main{height:calc(100dvh - 84px)}}
@media(min-width:921px) and (max-width:1100px){
  body.sales-mode main{height:calc(100dvh - 72px)}
  body.sales-mode .topbar-cash-status{margin-left:auto}
  body.sales-mode .scan-card{grid-template-columns:30px minmax(0,1fr) auto}
  body.sales-mode .scan-card>div:nth-child(2){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
}
@media(min-width:921px) and (max-height:760px){
  body.sales-mode .scan-card{min-height:58px;padding-top:7px;padding-bottom:7px}
  body.sales-mode .pos-search-row{gap:5px;margin:6px 0 7px}
  body.sales-mode .chip{padding:5px 10px}
  body.sales-mode .cart-header{min-height:58px;padding:8px 14px}
  body.sales-mode .cart-footer{padding:7px 12px 9px}
  body.sales-mode .cart-payment-fields input,body.sales-mode .cart-payment-fields select{min-height:35px;padding-top:5px;padding-bottom:5px}
  body.sales-mode .cart-totals{padding:5px 0 4px;margin-top:5px}
  body.sales-mode .cart-totals>span{min-height:22px}
  body.sales-mode .cash-payment-box{padding:7px 10px;margin:4px 0 6px}
  body.sales-mode .cash-payment-box input{min-height:35px}
  body.sales-mode .change-due{margin-top:5px;padding-top:5px}
  body.sales-mode #checkoutButton{min-height:40px;padding:8px 12px}
}
@media(max-width:920px){
  .topbar-cash-status{padding:7px 10px}
  #view-sales>.pos-layout{gap:14px}
  #view-sales .cart-panel{order:0;max-height:none}
  #view-sales .cart-payment-fields{grid-template-columns:1fr 1fr}
  #view-sales .cart-items{max-height:38vh}
  #view-sales .pos-products{max-height:min(56vh,560px);overflow-y:auto;scrollbar-gutter:stable;padding-bottom:12px}
}
@media(max-width:560px){
  .topbar-cash-status{font-size:0;padding:9px}.topbar-cash-status i{margin:0;width:9px;height:9px}
  #view-sales .cart-payment-fields{grid-template-columns:1fr}
}

/* Label workflow is isolated; its printed document never loads app.css. */
.label-print-dialog{width:min(1000px,calc(100% - 24px));max-height:92vh}
.label-print-dialog[open]{display:flex;flex-direction:column}
.label-print-dialog>.modal-header,.label-print-dialog>.modal-footer{flex-shrink:0}
.label-dialog-content{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;padding:18px 22px;overflow:auto;min-height:0}
.label-selection>p{margin-top:0;color:var(--muted);line-height:1.5}
.label-select-all{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:700}
.label-product-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.label-pick{display:flex;align-items:center;gap:10px;min-width:0;flex:1;cursor:pointer}
.label-pick span{min-width:0}.label-pick strong{display:block;overflow-wrap:anywhere;font-size:13px}
.label-pick small{display:block;color:var(--muted);margin-top:5px}
.label-quantity{display:flex;align-items:center;gap:3px;flex:none}
.label-quantity button{width:30px;height:36px;border:1px solid var(--line);background:#f1f5f9;border-radius:6px;cursor:pointer}
.label-quantity input{width:62px;text-align:center;padding:7px 3px;border:1px solid var(--line);border-radius:6px}
.label-preview-panel{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}
#labelTotal{text-align:center;color:var(--blue-950)}.label-preview-caption{margin:0;font-size:12px;color:var(--muted);text-align:center}
.label-preview-paper{padding:12px;background:#e9edf2;border-radius:8px;max-width:100%}
#labelPreviewFrame{display:block;width:70mm;height:60mm;border:0;background:#fff;box-shadow:0 2px 10px #0002}
#labelPreviewFrame[hidden]{display:none}
.label-preview-navigation{display:flex;align-items:center;gap:9px;font-size:12px;text-align:center}
.label-preview-navigation button{padding:7px 12px}.label-print-error{color:#b42318;margin:0;font-size:13px;overflow-wrap:anywhere}
.label-printer-help{margin:0 22px 12px;padding:10px 12px;background:#f1f5f9;border-radius:8px;flex-shrink:0;font-size:12px;max-height:180px;overflow:auto}
.label-printer-help summary{font-weight:700;cursor:pointer}.label-printer-help p{line-height:1.6}
@media(max-width:700px){.label-dialog-content{grid-template-columns:1fr;padding:14px 12px}.label-preview-panel{order:-1}.label-print-dialog>.modal-footer{flex-wrap:wrap}.label-printer-help{margin:0 12px 10px}.label-product-row{gap:5px}.label-quantity input{width:48px}}
@media print{#labelPrintDialog{display:none!important}}

/* Full A4 preview; this screen scale is absent from the print document. */
.label-selection-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.label-selection-actions .label-select-all{margin:0}.label-selection-actions button{font-size:11px;padding:7px 9px}
.label-preview-paper{position:relative;width:294px;height:406px;padding:12px;flex:none;overflow:hidden}
#labelPreviewFrame{position:absolute;top:12px;left:12px;width:210mm;height:297mm;transform:scale(.34);transform-origin:top left}
