:root{--ink:#382923;--muted:#796960;--accent:#9b432f;--highlight:#eecbb4;--paper:#f8f3ed;--line:#e9ddd2;--soft:#f4e8dc;--white:#fffdf9;--red:#972f26;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-size:15px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #be785c;outline-offset:3px}button{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,3.4vw,46px);line-height:1.1;letter-spacing:-1.7px;font-weight:640;margin-bottom:15px}h2{font-size:18px;letter-spacing:-.4px;margin:0}h3{font-size:17px}button{border:0;background:none}a{color:inherit;text-decoration:none}small{font-size:12px}#app{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#fffdf9;border-right:1px solid var(--line);padding:35px 20px 20px;display:flex;flex-direction:column;z-index:4}.brand{display:flex;align-items:center;gap:10px;font-size:27px;font-weight:700;letter-spacing:-1px;padding-left:10px}.brand-icon{display:grid;place-items:center;width:40px;height:43px;background:var(--accent);color:#fff0de;border-radius:12px;font-size:38px;font-weight:400}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:1.9px;margin-top:4px}.workspace{font-size:11px;padding:25px 10px 24px;color:var(--muted);display:flex;align-items:center;gap:7px}.dot{height:6px;width:6px;border-radius:50%;background:#b85c3d}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;align-items:center;text-align:left;gap:12px;border-radius:9px;padding:13px 12px;min-height:48px;font-size:13px;font-weight:550;color:#7e6a60}.nav-item.active{background:var(--accent);color:#fffdf9}.nav-item:hover:not(.active){background:var(--paper)}.nav-icon{font-size:21px;width:21px;text-align:center;font-weight:400}.sidebar-note{margin-top:auto;padding:20px 12px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.6}.sidebar-note b{display:block;color:var(--ink);font-size:12px}.local-icon{float:right;font-size:17px;color:var(--accent)}.version{font-size:9px;letter-spacing:1.7px}.main{margin-left:238px;width:calc(100% - 238px);min-width:0}.topbar{height:75px;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:550}.crumb{color:var(--muted);font-weight:400;margin-left:6px}.demo-tag{background:#f0dfce;color:#825139;padding:7px 11px;border-radius:30px;font-size:10px;letter-spacing:.2px}main{max-width:1440px;margin:auto;padding:40px 38px 20px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 30px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:650;color:#9b543c;margin-bottom:17px}.subtitle{color:var(--muted);font-size:13px;line-height:1.7;margin:0;max-width:640px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#fffdf9;border:1px solid #e1d1c3;border-radius:8px;padding:12px 16px;min-height:44px;font-size:12px;font-weight:600;white-space:nowrap}.btn:hover{background:#f3e8dc}.btn.primary{background:var(--accent);border-color:var(--accent);color:white}.btn.primary:hover{background:#7f3224}.btn.primary:disabled{background:#c6a89a;border-color:#c6a89a}.btn.danger{color:var(--red);border-color:#e5c4b9}.btn.compact{padding:8px 12px;font-size:11px}.wide{width:100%}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:29px}.stats>div{background:#f2e8dc;border:1px solid #e8d6c5;padding:20px 23px;border-radius:11px}.stats>div:first-child{background:#f0d8c4}.stats span{display:block;color:#886349;font-size:11px;margin-bottom:13px}.stats strong{font-size:29px;font-weight:600;letter-spacing:-1px}.stats small{font-size:11px;color:#8e7461;letter-spacing:0;font-weight:400;margin-left:6px}.panel{background:var(--white);border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-bottom:22px}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:18px 21px}.segmented{display:flex;background:var(--paper);border:1px solid var(--line);padding:3px;border-radius:8px;flex-shrink:0}.segmented button{border-radius:5px;padding:8px 12px;min-height:34px;color:var(--muted);font-size:11px}.segmented button.selected{background:#fffdf9;color:var(--accent);box-shadow:0 1px 5px #532b1b12;font-weight:650}.search{display:flex;align-items:center;gap:9px;color:#967b68;max-width:350px;width:100%;border:1px solid var(--line);padding:0 11px;border-radius:7px;background:#fffcf7}.search span{font-size:23px}.search input{border:0;background:none;min-width:0;width:100%;height:38px;font-size:11px;color:var(--ink);outline-offset:0}.search input::placeholder{color:#947d6c}.promo-tabs{display:flex;gap:12px;padding:22px;border-bottom:1px solid var(--line);overflow-x:auto;scroll-snap-type:x proximity}.promo-tab{display:flex;align-items:center;gap:11px;border:1px solid var(--line);padding:14px;text-align:left;border-radius:9px;min-width:210px;scroll-snap-align:start;flex:1}.promo-tab.selected{border-color:var(--accent);background:#fbede0;box-shadow:inset 0 0 0 1px var(--accent)}.promo-tab b{font-size:12px;display:block;white-space:nowrap}.promo-tab small{font-size:10px;color:var(--muted);display:block;margin-top:6px;white-space:nowrap}.product-icon{height:36px;width:36px;min-width:36px;display:grid;place-items:center;border-radius:10px;background:#f4e2cf;color:#a25a38;font-size:19px;font-weight:450}.section-caption{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:23px 23px 0;margin-bottom:19px}.section-caption h2{font-size:15px}.section-caption>span{font-size:10px;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:0 22px 24px}.quantity-card{background:#fffdf9;border:1px solid var(--line);border-radius:10px;padding:18px 16px;text-align:left;transition:transform .15s,box-shadow .15s}.quantity-card:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 15px #50291a0d}.card-top{display:flex;align-items:center;gap:8px;font-size:12px;flex-wrap:wrap}.avatar{width:29px;height:29px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#f3deca;color:#974d32;font-weight:600;font-size:10px}.status-pill{margin-left:auto;background:#f7e8d8;color:#8b4d2e;border-radius:5px;padding:5px 6px;font-size:8px;font-weight:500;white-space:nowrap}.limit{color:#8b3c2a!important;background:#f3ded2!important}.full{background:#fcf2e9}.full .avatar{background:#edd4c4;color:#9a5a3e}.quantity{font-size:37px;letter-spacing:-1.5px;font-weight:600;margin:23px 0 14px;line-height:1}.quantity>span{font-size:16px;color:#a58a77;letter-spacing:0;font-weight:400;margin-left:5px}.progress{height:5px;background:#f1e3d6;border-radius:8px;overflow:hidden}.progress i{display:block;height:100%;background:#b76b45;border-radius:8px}.full .progress i{background:#9f533a}.card-foot{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:16px;gap:8px}.full .card-foot>span:last-child{color:#9b654c}.hint{color:var(--muted);font-size:11px;line-height:1.7}.hint:first-letter{color:inherit}footer{font-size:9px;color:#9b8473;max-width:1440px;margin:5px auto 0;padding:0 38px 24px}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.loyalty-card{padding:23px;text-align:left;background:#fffdf9;border:1px solid var(--line);border-radius:13px}.loyalty-card:hover{border-color:#b87555}.balance-label{font-size:11px;color:var(--muted);margin:28px 0 6px}.balance{display:block;font-size:36px;letter-spacing:-1.3px;font-weight:600}.loyalty-card .status-pill{font-size:8px}.inactive{opacity:.65;background:#f0e8df}.detail-grid{display:grid;grid-template-columns:minmax(260px,350px) minmax(0,1fr);gap:22px}.card-identity{padding:28px;text-align:center;height:fit-content}.card-number{font-family:ui-monospace,monospace;letter-spacing:1px;font-size:13px;overflow-wrap:anywhere}.barcode{background:#fffdf9;margin:28px 0 9px}.barcode svg{width:100%;height:auto;min-height:80px}.secret-placeholder{margin:24px 0;text-align:left;background:var(--paper);border-radius:9px;padding:15px;display:grid;grid-template-columns:1fr auto;font-size:12px;gap:8px}.secret-placeholder small{grid-column:1/-1;font-size:10px;color:var(--muted)}.text-btn{color:var(--accent);font-size:12px;min-height:44px;padding:10px 0}.table-wrap{overflow-x:auto;padding:8px 0 15px;overscroll-behavior-x:contain}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th,td{padding:18px 23px;border-bottom:1px solid var(--line);min-width:180px}thead th{background:#fcf5ec;font-size:11px;font-weight:600}th small{display:block;font-size:9px;color:var(--muted);margin-top:5px}th:first-child{position:sticky;left:0;background:#fffbf5;min-width:120px;z-index:1}tbody th{font-weight:550}.table-qty{display:inline-block;background:#f7e7d7;padding:8px 14px;border-radius:6px;color:var(--accent);font-variant-numeric:tabular-nums}.checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.step-heading{display:flex;align-items:center;gap:11px;padding:23px 22px}.step-heading>span{display:grid;place-items:center;background:#f2deca;color:#8b4d2e;height:25px;width:25px;border-radius:50%;font-size:11px;font-weight:700}.step-heading h2{font-size:15px}.card-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0 20px 23px}.pick-card{border:1px solid var(--line);border-radius:9px;padding:12px 5px;display:flex;align-items:center;flex-direction:column;gap:8px;font-size:11px}.pick-card.selected{border-color:var(--accent);background:#f9e4d1;box-shadow:inset 0 0 0 1px var(--accent)}.pick-card small{color:var(--muted);font-size:10px}.pick-card i{font-size:8px;font-style:normal;color:var(--accent)}.product-search{padding:0 22px 18px}.product-search .search{max-width:none}.product-row{display:flex;align-items:center;gap:12px;padding:20px 21px;border-top:1px solid var(--line)}.product-info{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.product-info b{font-size:12px}.product-info small{color:var(--muted);font-size:10px;line-height:1.5}.remaining{color:#99452c;font-size:10px}.text-muted{color:#99735a;font-size:10px}.stepper{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:8px;background:#fffbf5;flex-shrink:0}.stepper button{height:44px;width:41px;color:var(--accent);font-size:20px}.stepper button:disabled{color:#cfbfae}.stepper output{min-width:22px;text-align:center;font-weight:600;font-size:15px;font-variant-numeric:tabular-nums}.summary{position:sticky;top:20px;padding-bottom:20px}.summary dl,.receipt-dl{margin:0;padding:0 23px}dl>div{display:flex;justify-content:space-between;gap:15px;margin:0 0 15px;font-size:11px}dt{color:var(--muted)}dd{margin:0;font-weight:550;font-variant-numeric:tabular-nums}.summary .check-line{margin:17px 23px}.check-line{display:flex;align-items:center;gap:9px;font-size:11px;line-height:1.5;min-height:30px}.check-line input{accent-color:var(--accent);width:17px;height:17px;flex-shrink:0}.summary details{margin:10px 23px;font-size:10px}.summary details label{display:block;margin-top:15px}.summary details input{margin-top:7px}summary{cursor:pointer;line-height:1.6}.expected{background:#f1dcc5;margin:22px 18px 5px;padding:19px;border-radius:10px;display:flex;flex-direction:column;gap:7px}.expected span{font-size:10px;color:#8c4d30}.expected strong{font-size:33px;letter-spacing:-1px}.question{font-size:12px;line-height:1.6;padding:0 23px;margin:0 0 12px}.confirm-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 22px}.confirm-options button{border:1px solid var(--line);border-radius:7px;padding:12px 7px;font-size:11px;min-height:44px}.confirm-options .selected{border-color:var(--accent);color:var(--accent);background:#f7e3d2}.field{display:flex;flex-direction:column;gap:8px;font-size:11px;margin-bottom:18px;line-height:1.4}input:not([type=checkbox]),textarea,select{border:1px solid #e2d2c2;border-radius:6px;padding:10px 11px;background:#fffdf9;color:var(--ink);width:100%;min-height:41px}textarea{resize:vertical}input[type=date]{min-width:0;appearance:none}.summary>.field{margin:17px 23px}.summary>.hint{margin:12px 23px}.summary .submit-zone{padding:6px 22px 0}.submit-zone small{display:block;text-align:center;font-size:9px;color:var(--muted);margin-top:10px}.summary>.text-btn{margin-left:23px}.form-error{font-size:12px;color:var(--red);line-height:1.6}.summary>.form-error{padding:0 23px}.success{max-width:640px;margin:30px auto;text-align:center;padding:45px 30px;display:flex;flex-direction:column;align-items:center}.success-icon{height:60px;width:60px;display:grid;place-items:center;background:#f3ddc5;color:#9d4f31;border-radius:50%;font-size:28px;margin:0 0 25px}.success h1{font-size:35px}.success p:not(.eyebrow){color:var(--muted);font-size:13px}.success .balance{margin:12px 0}.success>span{font-size:11px;color:var(--muted)}.success-actions{display:flex;flex-direction:column;gap:12px;margin:30px 0 8px;width:100%;max-width:360px}.history-row{width:100%;display:flex;align-items:center;gap:14px;text-align:left;border-bottom:1px solid var(--line);padding:19px 22px}.history-row:hover{background:#fff7ed}.history-row:last-child{border-bottom:0}.history-info{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.history-info b{font-size:12px}.history-info small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-money{display:flex;flex-direction:column;text-align:right;gap:8px;flex-shrink:0}.history-money b{font-size:13px}.history-money small{font-size:9px;color:var(--muted)}.badge{display:inline-block;background:#f3e9df;padding:6px 8px;font-size:9px;border-radius:5px;white-space:nowrap;font-weight:500;color:#92725c}.badge.week{background:#f5e0cb;color:#8c4b2d}.badge.extended{background:#f2e3ca;color:#8b602c}.catalog-row{display:flex;align-items:center;gap:16px;padding:22px;border-bottom:1px solid var(--line)}.catalog-row:last-child{border:0}.filter{min-width:160px}.filter select{font-size:12px}.empty{text-align:center;padding:44px 25px}.empty>span{font-size:36px;color:#b58e6e;display:block;margin-bottom:15px}.empty h3{font-weight:550;font-size:15px;margin-bottom:9px}.empty p{font-size:11px;color:var(--muted);line-height:1.7}.loading{margin:40px}dialog{border:1px solid var(--line);border-radius:15px;max-width:570px;width:calc(100% - 30px);max-height:90dvh;padding:27px;color:var(--ink);box-shadow:0 25px 100px #4f271933;overscroll-behavior:contain}dialog::backdrop{background:#3f251c66;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:22px}.dialog-heading h2{font-size:23px;line-height:1.3}.dialog-heading p{font-size:11px;color:var(--muted);line-height:1.7;margin:8px 0 0}.icon-btn{font-size:26px;color:var(--muted);min-width:40px;min-height:40px;margin:-9px -10px 0 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.dialog-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.receipt-lines{border-block:1px solid var(--line);padding:16px 0}.receipt-lines>div{display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.6;padding:6px 0}.receipt-lines b{white-space:nowrap}.receipt-dl{padding:22px 0 0}.receipt-dl>div{font-size:12px}.notice{background:#f6e7d1;color:#895326;font-size:12px;line-height:1.7;padding:13px;border-radius:8px}.note{font-size:12px;white-space:pre-wrap}.audit{font-size:11px;margin-top:20px}.audit>div{padding:13px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.audit small{font-size:10px;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:20;max-width:calc(100% - 32px);width:max-content;background:var(--accent);color:#fffdf9;padding:15px 20px;border-radius:10px;box-shadow:0 5px 30px #67332328;font-size:12px;line-height:1.5;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.error{background:#903e2b}
@media(min-width:1450px){.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1200px){.sidebar{width:210px;padding-inline:13px}.main{margin-left:210px;width:calc(100% - 210px)}main{padding:30px 24px 20px}.topbar{padding-inline:24px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-grid{grid-template-columns:minmax(0,1fr) 310px;gap:15px}.card-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.product-row{gap:9px;padding:18px 13px}.product-row>.product-icon{display:none}.product-info b{font-size:11px}.stepper button{width:34px}.section-bar{gap:15px}.search{max-width:290px}}
@media(max-width:950px){.checkout-grid{grid-template-columns:1fr}.summary{position:static}.card-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.summary .expected{padding:22px}.product-row>.product-icon{display:grid}.cards-grid{grid-template-columns:1fr}.section-bar{flex-wrap:wrap}.search{max-width:none}.detail-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start}.page-heading>.btn{white-space:normal}.section-caption{align-items:flex-start;flex-direction:column;gap:7px}.stats{gap:10px}.stats>div{padding:15px}.stats small{display:block;margin:6px 0 0}.stats strong{font-size:27px}}
@media(max-width:700px){:root{font-size:14px}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;height:auto;padding:0 4px env(safe-area-inset-bottom);border:0;border-top:1px solid var(--line);box-shadow:0 -4px 20px #532b1b08}.brand,.workspace,.sidebar-note{display:none}.sidebar nav{flex-direction:row;gap:0;justify-content:space-around}.nav-item{display:flex;flex-direction:column;justify-content:center;gap:4px;flex:1;border-radius:0;padding:8px 1px 7px;font-size:9px;line-height:1.2;min-height:61px;text-align:center;color:#947d6b}.nav-item.active{background:#f5e0cd;color:var(--accent);box-shadow:inset 0 2px var(--accent)}.nav-item[data-tab=manage] span:last-child{font-size:0}.nav-item[data-tab=manage] span:last-child:after{content:'Gestion';font-size:9px}.nav-item[data-tab=checkout] span:last-child{font-size:0}.nav-item[data-tab=checkout] span:last-child:after{content:'Passage';font-size:9px}.nav-icon{font-size:23px;line-height:1}.main{width:100%;margin:0;padding-bottom:78px}.topbar{height:57px;padding-inline:18px;font-size:12px}.topbar>span:first-child:before{content:'🛒';color:var(--accent);font-size:23px;vertical-align:middle;margin-right:7px}.crumb{display:none}.demo-tag{font-size:9px;padding:6px 9px}main{padding:26px 16px 12px}.eyebrow{font-size:8px;letter-spacing:1.65px;margin-bottom:13px}h1{font-size:33px;letter-spacing:-1.3px;line-height:1.12;margin-bottom:13px}.page-heading{flex-direction:column;gap:18px;margin-bottom:24px}.page-heading>.btn{align-self:stretch}.subtitle{font-size:12px;line-height:1.6}.stats{gap:7px;margin-bottom:20px}.stats>div{padding:13px 10px;border-radius:9px}.stats span{font-size:9px;line-height:1.4;min-height:26px;margin-bottom:10px}.stats strong{font-size:25px}.stats small{font-size:9px}.panel{border-radius:11px;margin-bottom:18px}.section-bar{padding:14px;gap:13px}.segmented{width:100%}.segmented button{flex:1;font-size:11px;min-height:35px}.search{width:100%}.search input{font-size:12px;min-height:42px;padding-left:0}.promo-tabs{padding:14px;gap:9px}.promo-tab{min-width:212px;padding:13px 12px}.section-caption{padding:18px 15px 0;margin-bottom:14px;gap:6px}.section-caption>span{font-size:9px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 13px 15px;gap:10px}.quantity-card{padding:14px 11px;border-radius:9px}.quantity-card .card-top{gap:6px;font-size:12px}.quantity-card .avatar{height:24px;width:24px;font-size:9px}.quantity-card .status-pill{width:max-content;margin:3px 0 0;font-size:8px}.quantity{font-size:33px;margin:17px 0 12px}.quantity>span{font-size:14px}.card-foot{font-size:8px;gap:4px;line-height:1.5}.quantity-card .card-foot>span:last-child{display:none}.hint{font-size:10px}footer{padding:0 17px 15px;font-size:8px}.loyalty-card{padding:22px}.loyalty-card .status-pill{font-size:9px}.loyalty-card .card-foot{font-size:10px}.card-picker{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 13px 17px;gap:7px}.pick-card{padding:11px 3px;gap:7px;font-size:10px}.pick-card small{font-size:9px}.pick-card i{font-size:7px}.step-heading{padding:20px 16px}.product-search{padding:0 14px 15px}.product-row{padding:17px 14px;gap:10px}.product-row>.product-icon{display:none}.product-info b{font-size:12px}.product-info small{font-size:10px}.stepper button{width:40px;height:46px}.stepper output{font-size:16px;min-width:22px}.summary .step-heading{padding-inline:18px}.summary dl{padding-inline:18px}dl>div{font-size:12px}.summary .check-line,.summary details,.summary>.field,.summary>.hint{margin-inline:18px}.check-line{font-size:12px}.confirm-options{padding-inline:18px}.confirm-options button{font-size:12px}.question{padding-inline:18px}.summary .submit-zone{position:sticky;bottom:61px;background:#fffdf9;padding:12px 16px 0;z-index:2}.submit-zone>.btn{font-size:14px;min-height:50px}.field{font-size:12px}input:not([type=checkbox]),textarea,select{font-size:16px;min-height:45px}.summary details input{font-size:16px}.summary details{font-size:11px}.history-row{padding:17px 14px;gap:10px}.history-info small{font-size:9px}.history-money b{font-size:12px}.history-money small{font-size:8px}.catalog-row{padding:18px 14px;flex-wrap:wrap;gap:10px}.catalog-row>.product-icon{display:none}.catalog-row .product-info{flex-basis:calc(100% - 75px)}.catalog-row>.btn{min-height:40px}.catalog-row>.badge{margin-right:auto}.filter{width:100%}.filter select{font-size:13px}.success{padding:35px 20px;margin:10px 0}.success h1{font-size:30px}.success-actions .btn{white-space:normal}.success>.balance{font-size:40px}.form-grid{gap:10px}dialog{padding:22px 18px;max-height:88dvh}.dialog-heading h2{font-size:22px}.dialog-actions>.btn{width:100%}.receipt-lines>div{font-size:11px}#toast{bottom:83px;font-size:12px}th,td{padding:17px;min-width:180px}th:first-child{min-width:100px}.card-identity{padding:25px}.card-identity .hint{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Keep the search field a single control; the outer label owns its border. */
.search input{border:0;background:transparent;padding:0;box-shadow:none}

/* Discreet daily status; the selected outline remains a separate cue. */
:root{--used-bg:#fcf0e5;--used-border:#ddbea5;--used-ink:#83482f}
.pick-card.used-today,.loyalty-card.used-today{background:var(--used-bg);border-color:var(--used-border)}
.pick-card .used-badge,.loyalty-card .used-badge{display:inline-flex;align-items:center;justify-content:center;background:#f0dcc8;color:var(--used-ink);border-radius:20px;padding:4px 7px;font-size:10px;line-height:1.35;font-weight:550;white-space:normal}
.pick-card .used-badge{max-width:100%;margin-top:2px}
.pick-card.selected{outline:2px solid var(--accent);outline-offset:2px}
.pick-card.used-today.selected{background:#f9e8d8;box-shadow:inset 0 0 0 1px var(--accent)}
.pick-card.used-today .avatar,.loyalty-card.used-today .avatar{background:#f0dbc4;color:#885235}
.startup-error{max-width:650px;margin:10vh auto;padding:30px;background:var(--white);border:1px solid var(--line);border-radius:14px}
.startup-error h1{font-size:29px}.startup-error p{line-height:1.7;color:var(--muted);font-size:14px}
@media(max-width:700px){.pick-card .used-badge{font-size:9px;padding:5px 2px;gap:2px}.loyalty-card .used-badge{font-size:10px}.startup-error{margin:30px 16px}}

/* Simple cart identity, shared by the desktop brand and mobile header. */
.brand-icon{background:none;border-radius:0;font-size:32px;width:40px;height:43px}
.nav-icon{font-size:21px;width:24px;font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif}
.private-balance{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px}
.balance-toggle{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--accent);flex-shrink:0}
.balance-toggle:hover{background:var(--soft)}
.quantity-legend{display:flex;flex-wrap:wrap;gap:10px 22px;padding:16px 23px 5px;color:var(--muted);font-size:10px}
.quantity-legend>span{display:inline-flex;align-items:center;gap:7px}
.legend-dot{display:inline-block;width:12px;height:12px;border-radius:4px}
.table-qty{min-width:94px;text-align:center;padding:9px 13px;border:1px solid transparent;border-radius:7px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.qty-empty{background:#f8f5f1;color:#83776f;border-color:#e8e0d8}
.qty-partial{background:#f0d6bc;color:#754329;border-color:#d8ae86}
.qty-near{background:#dfb07f;color:#4d2d1d;border-color:#8c552f;box-shadow:inset 0 0 0 1px #8c552f;font-weight:700}
.qty-full{background:#8c3827;color:#fff9f2;border-color:#8c3827;font-weight:750}
@media(max-width:700px){.quantity-legend{padding:15px 17px 5px;gap:10px 15px;font-size:9px}.pick-card .used-badge{font-size:9px;padding:3px 4px;font-weight:550}.nav-icon{font-size:22px}.private-balance{gap:9px}.private-balance .balance{font-size:32px}}

.optimizer-ticket{margin:1rem 0}
.optimizer-ticket h3{margin:0}

.optimizer-layout{align-items:start}
.optimizer-panel{min-width:0}
.optimizer-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #ead9cf}
.optimizer-item-name{min-width:0;overflow-wrap:anywhere}
.optimizer-item-name small{display:block;color:#755447;margin-top:2px}
.optimizer-quantity{flex:none;padding:4px 10px;border-radius:8px;background:#f4e2d7;color:#813d2d;font-weight:700;font-variant-numeric:tabular-nums}
.optimizer-extra{display:grid;gap:10px;margin-top:14px;padding:14px;border:1px solid #ead9cf;border-radius:12px;background:#fff9f4}
.optimizer-extra .field{margin:0}
.optimizer-extra-numbers{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:10px}
.optimizer-extra button{justify-self:start}
.optimizer-extra input,.optimizer-qty-input{font-size:16px;min-height:44px}
input.optimizer-qty-input[type=number]{width:76px;flex:none;border:1px solid #cba696;border-radius:8px;padding:5px 7px;background:#fff;text-align:center}
.optimizer-ticket{background:#fffaf6;border:1px solid #ead9cf;border-radius:12px;padding:14px}
.optimizer-ticket .receipt-dl,.optimizer-prepared .receipt-dl{margin:12px 0}
.optimizer-ticket .receipt-dl div:last-child,.optimizer-prepared .receipt-dl div:last-child{font-weight:700;color:#813d2d}
@media(max-width:550px){.optimizer-extra button{justify-self:stretch}.optimizer-panel .dialog-actions{display:grid}.optimizer-ticket{padding:12px}}

.optimizer-layout:has(> .optimizer-preparation-promos){--preparation-inset:22px}
.optimizer-layout:has(> .optimizer-preparation-promos) > .optimizer-panel > :is(.optimizer-item,.hint,.optimizer-extra){
  margin-inline:var(--preparation-inset);
}
.optimizer-layout:has(> .optimizer-preparation-promos) > .optimizer-panel > :last-child{
  margin-block-end:var(--preparation-inset);
}
@media(max-width:700px){
  .optimizer-layout:has(> .optimizer-preparation-promos){--preparation-inset:16px}
}
