:root{--navy:#0f1f3d;--navy2:#172b50;--blue:#246bfd;--ink:#172033;--muted:#6f7b91;--line:#e5eaf2;--bg:#f4f6fa;--white:#fff;--gold:#c88732;--gold2:#f5e4ca;--green:#159b64;--red:#d94c4c;--orange:#e8902e;--shadow:0 10px 30px rgba(24,39,75,.08);--radius:16px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--navy);color:#d8e2f2;display:flex;flex-direction:column;padding:22px 16px;z-index:30}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.09)}.brand img{width:48px;height:48px}.brand span{display:flex;flex-direction:column}.brand strong{color:#fff;letter-spacing:.09em;font-family:Georgia,serif}.brand small{margin-top:4px;color:#8fa2c0}.sidebar nav{display:flex;flex-direction:column;gap:5px;padding-top:22px}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:10px;font-size:14px;font-weight:600;transition:.18s}.sidebar nav a span{width:22px;text-align:center;font-size:18px}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:rgba(66,119,224,.26)}.sidebar nav a.active{box-shadow:inset 3px 0 #5e92ff}.sidebar-foot{margin-top:auto;padding:18px 8px 0;border-top:1px solid rgba(255,255,255,.09);font-size:13px}.sidebar-foot>a{display:block;margin-top:15px;color:#aebdd3}.user-chip{display:flex;align-items:center;gap:10px}.user-chip>b{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#2b5ab0;color:#fff}.user-chip span{display:flex;flex-direction:column;font-weight:600}.user-chip small{font-weight:400;color:#93a5bf;margin-top:3px}.main-content{width:calc(100% - 248px);margin-left:248px;min-height:100vh}.topbar{height:84px;padding:15px 30px;display:flex;align-items:center;gap:18px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar .eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--blue)}.topbar h1{font-size:21px;margin:2px 0 0}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:11px;color:var(--muted);font-size:13px}.live-dot{width:8px;height:8px;border-radius:50%;background:#22b573;box-shadow:0 0 0 4px #dcf6eb}.menu-toggle{display:none;border:0;background:transparent;font-size:24px}.page-body{padding:28px 30px 50px}.button{border:0;border-radius:10px;padding:11px 17px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.button.primary{background:var(--blue);color:white}.button.secondary{background:#eaf0ff;color:#2457bd}.button.gold{background:var(--gold);color:white}.button.danger{background:#fff0f0;color:#b83232}.button.ghost{background:white;color:var(--ink);border:1px solid var(--line)}.button.compact{padding:8px 12px;font-size:12px}.button:disabled{opacity:.45;cursor:not-allowed}.grid{display:grid;gap:20px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.kpi{padding:20px}.kpi-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}.kpi-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#edf3ff;color:var(--blue);font-size:18px}.kpi-value{font-size:29px;font-weight:800;margin-top:11px}.kpi small{color:var(--muted)}.split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:20px}.card-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}.card-head h2{font-size:17px;margin:0}.card-body{padding:22px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th{color:#768199;background:#f8f9fc;font-size:11px;letter-spacing:.06em;text-transform:uppercase;text-align:left;padding:12px 14px}.data-table td{padding:13px 14px;border-bottom:1px solid #eef1f6;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tr:hover td{background:#fbfcfe}.status{display:inline-flex;padding:5px 9px;border-radius:20px;font-size:11px;font-weight:800}.status.completed,.status.paid,.status.active{background:#e3f7ef;color:#11734d}.status.new,.status.open{background:#e7efff;color:#2457bd}.status.preparing,.status.pending{background:#fff2db;color:#a26412}.status.cancelled,.status.inactive{background:#fde7e7;color:#b53c3c}.status.ready{background:#eee8ff;color:#6543a7}.muted{color:var(--muted)}.empty{padding:35px;text-align:center;color:var(--muted)}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}.toolbar form{display:flex;gap:10px;flex:1;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:12px;font-weight:700;color:#566177}.input,select.input,textarea.input{width:100%;border:1px solid #dce2ec;background:#fff;border-radius:10px;padding:11px 12px;outline:none;color:var(--ink)}.input:focus{border-color:#75a0ff;box-shadow:0 0 0 3px #e8efff}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field.full{grid-column:1/-1}.check-row{display:flex;align-items:center;gap:9px}.alert{padding:13px 15px;border-radius:11px;margin-bottom:16px;font-size:14px}.alert.success{background:#e3f7ef;color:#116b48}.alert.error{background:#fdeaea;color:#a53232}.alert.info{background:#e9f0ff;color:#2859b0}.pagination{display:flex;gap:6px;padding:18px 0}.pagination a{min-width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13px}.pagination a.active{background:var(--blue);color:#fff;border-color:var(--blue)}.inline-actions{display:flex;gap:6px;align-items:center}.inline-actions form{display:inline}.metric-list{display:flex;flex-direction:column;gap:16px}.metric-row{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:13px}.metric-row .track{grid-column:1/-1;height:7px;background:#eef1f6;border-radius:9px;overflow:hidden}.metric-row .bar{height:100%;background:var(--blue);border-radius:9px}.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr;background:#fff}.login-visual{background:linear-gradient(135deg,rgba(15,31,61,.94),rgba(32,55,94,.92)),radial-gradient(circle at 20% 20%,#c88732,transparent 42%);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:55px}.login-visual .brand{border:0}.login-visual blockquote{font-family:Georgia,serif;font-size:43px;line-height:1.15;margin:0;max-width:620px}.login-visual p{color:#bdc9db}.login-panel{display:grid;place-items:center;padding:40px}.login-box{width:min(390px,100%)}.login-box>img{width:80px;height:80px}.login-box h1{font-size:30px;margin:18px 0 5px}.login-box>p{color:var(--muted);margin:0 0 28px}.login-box .field{margin-bottom:15px}.login-box .button{width:100%;margin-top:8px}.login-help{margin-top:22px;padding:14px;background:#f7f8fb;border-radius:10px;color:var(--muted);font-size:12px}.pos-page{background:#eef1f6;min-height:100vh;overflow:hidden}.pos-header{height:72px;display:flex;align-items:center;padding:10px 20px;background:var(--navy);color:white;gap:16px}.pos-brand{display:flex;align-items:center;gap:10px;min-width:205px}.pos-brand img{width:45px;height:45px}.pos-brand strong{font-family:Georgia,serif;letter-spacing:.08em}.pos-search{flex:1;position:relative}.pos-search input{width:100%;border:0;border-radius:10px;background:rgba(255,255,255,.11);color:#fff;padding:13px 15px}.pos-search input::placeholder{color:#b7c4d7}.pos-header-actions{display:flex;gap:8px;align-items:center}.pos-layout{height:calc(100vh - 72px);display:grid;grid-template-columns:190px minmax(430px,1fr) 370px}.pos-categories{background:#fff;border-right:1px solid var(--line);overflow-y:auto;padding:14px 10px}.category-btn{display:flex;width:100%;align-items:center;gap:9px;border:0;background:transparent;padding:12px 11px;border-radius:9px;text-align:left;font-size:13px;color:#526077;cursor:pointer;margin-bottom:3px}.category-btn.active,.category-btn:hover{background:#edf3ff;color:#2457bd;font-weight:700}.pos-products{padding:18px;overflow-y:auto}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:12px}.product-card{border:1px solid #e0e5ee;background:#fff;border-radius:13px;min-height:134px;padding:14px;display:flex;flex-direction:column;text-align:left;cursor:pointer;box-shadow:0 3px 12px rgba(20,35,60,.05);transition:.16s}.product-card:hover{transform:translateY(-2px);border-color:#8baeff;box-shadow:0 7px 18px rgba(37,81,160,.12)}.product-card .cat-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#8b96a9}.product-card strong{font-size:15px;line-height:1.28;margin:9px 0 6px}.product-card small{font-size:11px;color:#8a94a6;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card .price{margin-top:auto;color:#a6651d;font-size:17px;font-weight:800;padding-top:10px}.cart-panel{background:#fff;border-left:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.cart-head{padding:17px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.cart-head h2{font-size:17px;margin:0}.cart-context{padding:12px 18px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px}.cart-context .full{grid-column:1/-1}.cart-items{flex:1;overflow-y:auto;padding:10px 17px}.cart-empty{height:100%;display:grid;place-items:center;text-align:center;color:#98a2b3;padding:30px}.cart-item{display:grid;grid-template-columns:1fr auto;gap:6px;padding:12px 0;border-bottom:1px solid #edf0f5}.cart-item-name{font-size:13px;font-weight:700}.cart-item-price{font-weight:800;font-size:13px}.qty-controls{display:flex;align-items:center;gap:8px;margin-top:7px}.qty-controls button{width:25px;height:25px;border:1px solid var(--line);background:#f7f8fa;border-radius:7px;cursor:pointer}.qty-controls .remove{color:var(--red);border:0;background:transparent;width:auto;margin-left:5px}.cart-summary{border-top:1px solid var(--line);padding:14px 18px;background:#fafbfc}.summary-line{display:flex;justify-content:space-between;margin:7px 0;font-size:13px}.summary-line.total{font-size:20px;font-weight:800;padding-top:9px;border-top:1px dashed #d8dee9}.payment-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.payment-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 4px;font-size:11px;cursor:pointer}.payment-btn.active{border-color:var(--blue);color:var(--blue);background:#edf3ff;font-weight:700}.cart-summary .button{width:100%}.modal-backdrop{position:fixed;inset:0;background:rgba(9,18,34,.62);z-index:60;display:none;place-items:center;padding:20px}.modal-backdrop.open{display:grid}.modal{background:#fff;border-radius:17px;width:min(470px,100%);box-shadow:0 30px 80px rgba(0,0,0,.25)}.modal h2{margin:0;padding:20px 22px;border-bottom:1px solid var(--line)}.modal-content{padding:22px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;padding:17px 22px;border-top:1px solid var(--line)}.receipt-page{background:#f1f1f1;padding:30px}.receipt{width:80mm;min-height:120mm;background:#fff;margin:auto;padding:7mm 5mm;font-family:"Courier New",monospace;color:#000;box-shadow:0 8px 25px rgba(0,0,0,.12)}.receipt-logo{text-align:center}.receipt-logo img{width:58px}.receipt-logo h1{font-family:Georgia,serif;font-size:19px;margin:4px}.receipt p{font-size:11px;margin:3px 0}.receipt hr{border:0;border-top:1px dashed #222;margin:10px 0}.receipt table{width:100%;font-size:11px;border-collapse:collapse}.receipt th,.receipt td{padding:3px 0;text-align:left}.receipt td:last-child,.receipt th:last-child{text-align:right}.receipt-total{font-size:15px;font-weight:800;display:flex;justify-content:space-between}.receipt-actions{width:80mm;margin:15px auto;display:flex;gap:8px;justify-content:center}.chart-bars{display:flex;align-items:flex-end;gap:9px;height:210px;padding-top:20px}.chart-column{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:7px;color:var(--muted);font-size:10px}.chart-column .column{width:70%;min-height:3px;border-radius:6px 6px 2px 2px;background:linear-gradient(#5f8ff1,#246bfd)}.danger-zone{border-color:#f3c9c9}.install-page{min-height:100vh;background:linear-gradient(135deg,#eef3fb,#fff9ef);padding:40px 20px}.install-box{max-width:720px;margin:auto;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:30px}.install-box header{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}.install-box header img{width:58px}.install-box h1{margin:0;font-size:25px}.install-box pre{white-space:pre-wrap;background:#f6f8fb;padding:13px;border-radius:9px}.text-right{text-align:right}.mt-20{margin-top:20px}.nowrap{white-space:nowrap}
.kitchen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:16px}.kitchen-ticket{overflow:hidden;border-top:5px solid #2f72ef}.kitchen-ticket.preparing{border-top-color:var(--orange)}.kitchen-ticket.ready{border-top-color:var(--green)}.kitchen-ticket header{padding:16px 18px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line)}.kitchen-ticket h2{margin:10px 0 0;font-size:20px}.kitchen-ticket header>b{font-size:18px}.kitchen-items{padding:15px 18px;display:flex;flex-direction:column;gap:10px;min-height:115px}.kitchen-items div{display:flex;gap:9px;font-size:15px}.kitchen-items strong{color:var(--blue)}.kitchen-note{margin:0 18px 14px;padding:11px;background:#fff2db;color:#854d0e;border-radius:9px;font-size:13px}.kitchen-ticket footer{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;background:#f8f9fb}.kitchen-ticket footer small{color:var(--muted)}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.pos-layout{grid-template-columns:150px 1fr 330px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.topbar-actions>span{display:none}}
@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:.2s}.menu-open .sidebar{transform:none}.main-content{width:100%;margin-left:0}.menu-toggle{display:block}.page-body{padding:20px 16px}.split{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.login-page{grid-template-columns:1fr}.login-visual{display:none}.pos-page{overflow:auto}.pos-header{position:sticky;top:0;z-index:30}.pos-brand{min-width:auto}.pos-brand span{display:none}.pos-header-actions .button span{display:none}.pos-layout{height:auto;display:block}.pos-categories{display:flex;gap:5px;overflow-x:auto;border:0;padding:9px;position:sticky;top:72px;z-index:20}.category-btn{white-space:nowrap;width:auto;margin:0}.pos-products{padding:12px;padding-bottom:390px}.product-grid{grid-template-columns:repeat(2,1fr)}.cart-panel{position:fixed;z-index:25;left:0;right:0;bottom:0;height:360px;border-top:2px solid var(--navy)}.cart-items{max-height:105px}.cart-context{padding:7px 14px}.cart-head{padding:10px 14px}.cart-summary{padding:8px 14px}.topbar{padding:13px 16px}.topbar-actions .button{display:none}}
@media print{.no-print,.receipt-actions{display:none!important}.receipt-page{background:#fff;padding:0}.receipt{box-shadow:none;margin:0;width:80mm;min-height:auto}.sidebar,.topbar{display:none}.main-content{margin:0;width:100%}}

/* V18 — presentation inspirée du système de filtres Mixo. Le widget POS conserve son interaction et son panier. */
.pos-categories {padding:22px 12px;background:#fffefb;border-right:1px solid #e8e5db}
.pos-filter-title {font-size:15px;font-weight:800;margin:2px 7px 16px;color:#252b29}
.pos-filter-eyebrow {font-size:10px;letter-spacing:.09em;font-weight:800;color:#879087;margin:0 7px 12px}
.pos-categories .category-btn {display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #e0e9d5;background:#fff;border-radius:999px;padding:10px 11px 10px 14px;min-height:42px;margin-bottom:7px;font-size:12px;color:#56645b;transition:.15s}
.pos-categories .category-btn span {min-width:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.pos-categories .category-btn b {font-size:11px;min-width:24px;height:24px;padding:5px 6px;border-radius:50%;background:#f0f3f0;color:#536258;text-align:center}
.pos-categories .category-btn.active {background:#4d9b27;border-color:#4d9b27;color:white;box-shadow:0 4px 12px rgba(77,155,39,.16)}
.pos-categories .category-btn.active b {background:#ffffff29;color:#fff}
.pos-products {background:#fbfaf7}
.pos-products-top {font-size:14px;padding:2px 0 14px;color:#39423b}
.pos-products .product-grid {grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:13px}
.pos-products .product-card {padding:0;min-height:225px;overflow:hidden;border:1px solid #e8e7e1;border-radius:15px;text-align:left;box-shadow:0 4px 13px rgba(37,33,20,.045)}
.pos-product-picture {height:124px;width:100%;display:block;background:#f1f0eb;overflow:hidden}
.pos-product-picture img {width:100%;height:100%;display:block;object-fit:cover}
.pos-product-picture.image-missing,.pos-product-picture.image-failed {background:#f1f0eb}
.pos-product-content {padding:11px 12px 13px;display:flex;flex-direction:column;flex:1;min-height:104px}
.pos-products .product-card .cat-label {font-size:10px;color:#9a753d}
.pos-products .product-card strong {font-size:13px;line-height:1.3;margin:6px 0 3px}
.pos-products .product-card small {font-size:10px}
.pos-products .product-card .price {font-size:15px;padding-top:6px;color:#9a622c}
@media(max-width:820px){.pos-categories{padding:10px;gap:6px;align-items:center}.pos-filter-title,.pos-filter-eyebrow{display:none}.pos-categories .category-btn {flex:none;margin:0;max-width:185px;padding:8px 11px;min-height:37px}.pos-products .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-product-picture{height:105px}}

/* V19 - POS: catégories horizontales sur plusieurs lignes, sans carousel. */
.pos-brand { min-width:100px; flex:0 0 auto; display:flex; align-items:center; }
.pos-brand strong { color:#fff; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; font-size:24px; font-weight:900; letter-spacing:.035em; }
.pos-layout { display:grid; grid-template-columns:minmax(0,1fr) 370px;
  grid-template-rows:auto minmax(0,1fr); grid-template-areas:"categories cart" "products cart"; }
.pos-categories { grid-area:categories; display:flex; flex-wrap:wrap; align-items:center;
  gap:8px; width:100%; height:auto; max-height:35vh; overflow-y:auto;
  overflow-x:hidden; padding:12px 18px; background:#fff; border-right:0;
  border-bottom:1px solid #e5eaf2; }
.pos-categories .category-btn { display:inline-flex; flex:0 0 auto; width:auto; max-width:none;
  min-height:36px; margin:0; padding:7px 11px 7px 14px; white-space:normal; }
.pos-categories .category-btn span { overflow:visible; text-overflow:clip; white-space:normal; }
.pos-products { grid-area:products; min-width:0; min-height:0; overflow-y:auto; }
.cart-panel { grid-area:cart; min-height:0; }
@media(max-width:1100px) and (min-width:821px) {
  .pos-layout { grid-template-columns:minmax(0,1fr) 330px; }
}
@media(max-width:820px) {
  .pos-page { overflow:auto; }
  .pos-brand { min-width:55px; }
  .pos-brand strong { display:block; font-size:21px; }
  .pos-layout { display:block; height:auto; }
  .pos-categories { position:sticky; top:72px; z-index:20; display:flex;
    flex-wrap:wrap; overflow-x:hidden; overflow-y:auto; max-height:165px;
    padding:9px 12px; gap:6px; }
  .pos-categories .category-btn { width:auto; max-width:none; flex:0 0 auto; }
  .pos-products { overflow:visible; }
  .cart-panel { min-height:0; }
}

/* V20 — en-tête noir adapté au logo fourni. */
.pos-header { background:#000 !important; border-bottom:1px solid #232b38; }
.pos-brand { flex:0 0 170px; min-width:170px; display:flex; align-items:center; justify-content:flex-start; }
.pos-brand .yoorika-pos-logo { display:block; width:165px; height:auto; max-height:61px; object-fit:contain; object-position:left center; }
.pos-search input { background:#1c273a; color:#fff; }
@media(max-width:820px) {
 .pos-brand { flex:0 0 120px; min-width:120px; }
 .pos-brand .yoorika-pos-logo { width:120px; max-height:55px; }
 .pos-header { padding-left:10px; padding-right:10px; gap:8px; }
}


/* V21 — logo POS recadré et réduit pour une bonne lisibilité. */
.pos-header { background:#060b14 !important; border-bottom:1px solid #1e2a40; padding:10px 16px; gap:16px; }
.pos-brand { flex:0 0 215px; min-width:215px; display:flex; align-items:center; justify-content:flex-start; overflow:hidden; }
.pos-brand .yoorika-pos-logo { display:block; width:200px; height:auto; max-height:42px; object-fit:contain; object-position:left center; }
.pos-search input { background:#1a2740; color:#fff; }
.pos-search input::placeholder { color:#b9c3d6; }
@media(max-width:820px) {
  .pos-header { padding:8px 10px; gap:8px; }
  .pos-brand { flex:0 0 145px; min-width:145px; }
  .pos-brand .yoorika-pos-logo { width:136px; max-height:30px; }
}

/* V22 — colonne commande limitée aux articles, résumé sous les produits */
.pos-header{background:#050b16!important;}
.pos-brand{flex:0 0 205px;min-width:205px;width:205px;overflow:visible;}
.pos-brand .yoorika-pos-logo{display:block;width:200px;height:auto;max-height:60px;object-fit:contain;object-position:left center;}
.pos-layout{height:calc(100vh - 72px);display:grid;grid-template-columns:minmax(0,1fr) 370px;grid-template-rows:minmax(0,1fr);grid-template-areas:"main cart";overflow:hidden;}
.pos-main{grid-area:main;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;}
.pos-main .pos-categories{grid-area:auto;display:flex;flex:0 0 auto;flex-wrap:wrap;align-content:flex-start;width:100%;max-height:170px;overflow-y:auto;overflow-x:hidden;padding:10px 12px;}
.pos-main .pos-products{grid-area:auto;flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px 13px;}
.pos-checkout-dock{flex:0 0 auto;display:grid;grid-template-columns:minmax(230px,.9fr) minmax(380px,1.25fr);gap:12px;background:#f4f6fa;border-top:1px solid #dfe5ee;padding:10px 12px;box-shadow:0 -4px 15px rgba(20,40,70,.05);}
.pos-checkout-dock .cart-context{border:1px solid #dfe5ee;border-radius:12px;background:#fff;padding:12px;align-content:start;}
.pos-checkout-dock .cart-summary{border:1px solid #dfe5ee;border-radius:12px;background:#fff;padding:10px 14px;}
.pos-checkout-dock .summary-line{margin:4px 0;}
.pos-checkout-dock .summary-line.total{font-size:19px;padding-top:7px;}
.pos-checkout-dock .payment-methods{margin:7px 0;}
.pos-checkout-dock #received-field{margin-top:6px;}
.pos-checkout-dock #checkout{min-height:40px;}
.pos-layout>.cart-panel{grid-area:cart;display:flex;flex-direction:column;min-height:0;overflow:hidden;}
.pos-layout>.cart-panel .cart-items{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;}
@media(max-width:1200px) and (min-width:821px){
  .pos-layout{grid-template-columns:minmax(0,1fr) 330px;}
  .pos-checkout-dock{grid-template-columns:1fr;max-height:38vh;overflow-y:auto;gap:8px;}
  .pos-checkout-dock .cart-context{padding:10px;}
  .pos-checkout-dock .cart-summary{padding:10px;}
}
@media(max-width:820px){
  .pos-page{overflow:auto;}
  .pos-brand{flex:0 0 130px;min-width:130px;width:130px;}
  .pos-brand .yoorika-pos-logo{width:128px;max-height:44px;}
  .pos-layout{height:auto;display:flex;flex-direction:column;overflow:visible;}
  .pos-main{display:flex;flex-direction:column;overflow:visible;}
  .pos-main .pos-categories{position:relative;top:auto;max-height:none;overflow:visible;}
  .pos-main .pos-products{overflow:visible;padding:12px;}
  .pos-checkout-dock{display:flex;flex-direction:column;max-height:none;overflow:visible;padding:10px;}
  .pos-layout>.cart-panel{position:static;width:100%;height:auto;min-height:240px;overflow:visible;border-left:0;border-top:1px solid #dde4ef;}
  .pos-layout>.cart-panel .cart-items{overflow:visible;max-height:none;}
}


/* V23 : logo 150px, contexte en bas de la colonne Commande et barre de caisse compacte. */
.pos-brand { flex:0 0 156px; min-width:156px; width:156px; overflow:hidden; }
.pos-brand .yoorika-pos-logo { width:150px; max-width:150px; height:auto; max-height:47px; object-fit:contain; object-position:left center; }
.pos-checkout-dock { display:block; padding:8px 11px; overflow:visible; }
.pos-checkout-dock .cart-summary { display:flex; align-items:center; gap:12px; flex-wrap:nowrap; width:100%; padding:7px 9px; min-width:0; border:1px solid #dfe5ee; }
.pos-checkout-dock .summary-line,
.pos-checkout-dock .summary-line.total { display:flex; align-items:center; flex:0 0 auto; gap:5px; margin:0; padding:0; border:0; white-space:nowrap; font-size:12px; }
.pos-checkout-dock .summary-line.total { font-size:16px; font-weight:800; }
.pos-checkout-dock .summary-line.total span:first-child { font-size:12px; }
.pos-checkout-dock .summary-line #discount { width:62px!important; height:32px; padding:4px!important; font-size:12px; }
.pos-checkout-dock .payment-methods { display:flex; flex:0 1 auto; min-width:0; gap:4px; margin:0; }
.pos-checkout-dock .payment-btn { padding:8px 6px; white-space:nowrap; min-width:0; }
.pos-checkout-dock #received-field { display:flex; flex:0 1 120px; min-width:90px; gap:2px; margin:0; }
.pos-checkout-dock #received-field label { font-size:10px; white-space:nowrap; }
.pos-checkout-dock #amount-received { height:32px; padding:5px 7px; }
.pos-checkout-dock #checkout { flex:0 0 auto; width:auto; min-height:36px; padding:8px 12px; font-size:12px; white-space:nowrap; }
/* Pas de retour à la ligne : barre défilante seulement si l'écran est trop étroit. */
.pos-checkout-dock .cart-summary { overflow-x:auto; scrollbar-width:thin; }
.pos-layout>.cart-panel .cart-context { flex:0 0 auto; order:3; background:#fff; border-bottom:0; border-top:1px solid var(--line); padding:11px 14px; }
.pos-layout>.cart-panel .cart-items { order:2; flex:1 1 auto; }
.pos-layout>.cart-panel .cart-head { order:1; }
@media(max-width:1200px) and (min-width:821px) {
 .pos-checkout-dock { max-height:none; overflow:visible; display:block; }
 .pos-checkout-dock .cart-summary { display:flex; flex-wrap:nowrap; overflow-x:auto; }
}
@media(max-width:820px) {
 .pos-brand { flex:0 0 132px; min-width:132px; width:132px; }
 .pos-brand .yoorika-pos-logo { width:128px; max-width:128px; max-height:40px; }
 .pos-checkout-dock { display:block; max-height:none; padding:8px; }
 .pos-checkout-dock .cart-summary { display:flex; flex-wrap:nowrap; overflow-x:auto; }
 .pos-layout>.cart-panel .cart-context { position:relative; }
}

/* V24 — commandes suspendues; garde le POS compact V23 */
.pos-hold-actions {display:flex;align-items:center;gap:7px;margin:0 0 6px;white-space:nowrap;}
.pos-hold-actions .button{padding:5px 10px;font-size:11px;}
.held-current{font-size:11px;color:#135a38;font-weight:700;padding:5px 8px;background:#e9f8f0;border-radius:12px;}
.held-modal-inner{width:min(800px,95vw);max-height:85vh;display:flex;flex-direction:column;}
.held-modal-inner .modal-content{overflow-y:auto;}
.held-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid #e5eaf2;}
.held-row strong{display:block;font-size:13px;}.held-row small{display:block;font-size:11px;color:#6f7b91;margin-top:4px;}
.held-row>div:last-child{display:flex;gap:6px;}
@media(max-width:820px){.pos-hold-actions{overflow-x:auto;padding-bottom:3px;}.held-row{align-items:flex-start;flex-direction:column;}}

/* V25 - état réseau et ventes en attente de synchronisation */
.offline-indicator {font-size:12px;font-weight:800;color:#72d9a4;white-space:nowrap}
.offline-indicator.is-offline {color:#ffbe68}
.offline-indicator.has-pending {color:#ffd47a}
.offline-alert {margin:5px 4px;padding:6px 11px;border-radius:9px;background:#fff4d9;color:#785016;font-size:12px;font-weight:650}
.offline-alert[hidden] {display:none}
#sync-offline {white-space:nowrap}
@media(max-width:1000px){.offline-indicator{font-size:10px}#sync-offline{padding:6px}}
@media(max-width:740px){.offline-indicator{font-size:10px}#sync-offline{font-size:0}#offline-queue-count{font-size:11px}}

/* V26 : suivi local et multi-terminaux */
.sync-v26-modal{width:min(850px,96vw);max-height:90vh;display:flex;flex-direction:column}.sync-v26-modal .modal-content{overflow-y:auto}.sync-v26-modal code{word-break:break-all}.sync-v26-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sync-v26-kpis>div{background:#f4f7fd;padding:12px;border-radius:10px;font-size:12px}.sync-v26-kpis strong{display:block;font-size:19px;margin-top:5px}.sync-v26-row{display:flex;align-items:start;justify-content:space-between;gap:12px;border-bottom:1px solid #e5eaf2;padding:12px 0;font-size:12px}.sync-v26-row small{display:block;color:#66758e;margin-top:5px}.sync-v26-error{color:#bf3434!important}.sync-v26-actions{flex-wrap:wrap}.sync-v26-modal h3{font-size:15px;margin:20px 0 8px}@media(max-width:700px){.sync-v26-kpis{grid-template-columns:1fr}.sync-v26-modal .modal-actions{justify-content:flex-start}.sync-v26-modal .modal-actions button{flex:1 1 140px}}

/* V30 — Cartes POS compactes : photo + nom et prix sur une ligne. */
.pos-products .product-card {min-height:0;}
.pos-products .pos-product-content {min-height:0; padding:9px 10px 10px;}
.pos-products .pos-product-row {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:7px;min-width:0;width:100%;}
.pos-products .pos-product-row strong {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;min-width:0;margin:0;font-size:12px;line-height:1.25;}
.pos-products .pos-product-row .price {white-space:nowrap;flex:none;margin:0;padding:0;font-size:13px;line-height:1.25;text-align:right;}
