.review-launch{margin-top:18px;padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--card)}.review-launch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.review-launch strong{display:block;font-size:21px}.review-launch p{margin:5px 0 0;color:var(--muted);font-size:12px}.review-launch .primary{width:auto;min-width:230px;margin:0}
.review-modal{width:min(1180px,94vw);height:min(820px,92vh);padding:0;border:0;border-radius:24px;background:#fff;color:var(--ink);box-shadow:0 30px 90px rgba(12,31,24,.28);overflow:hidden}.review-modal::backdrop{background:rgba(18,35,29,.48);backdrop-filter:blur(3px)}.review-modal-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.review-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 28px 16px;border-bottom:1px solid var(--line);background:#fff}.review-modal-header h2{font-size:28px}.review-modal-header p{margin:5px 0 0;color:var(--muted);font-size:12px}.modal-close{width:38px;height:38px;flex:none;border:0;border-radius:50%;background:#f1f2ee;color:var(--ink);font-size:22px;cursor:pointer}.review-modal-tools{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.review-modal-body{overflow-y:auto;padding:4px 28px 24px;background:#f8f8f5}.review-line{padding:20px 0;border-bottom:1px solid #dfe4de}.review-line:last-child{border-bottom:0}.review-line-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.review-line-title{display:flex;align-items:center;gap:10px;min-width:0}.review-line-number{width:28px;height:28px;display:grid;place-items:center;flex:none;border-radius:9px;background:#e8f5ef;color:var(--green);font-size:11px;font-weight:900}.review-line-title b{font-size:17px;direction:rtl;text-align:left}.line-clear{border:0;background:none;color:var(--muted);font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}.line-clear:hover{color:#8b3027}
.candidate-strip{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x proximity;scrollbar-width:thin}.candidate-card{position:relative;display:flex!important;flex-direction:column;justify-content:space-between;flex:0 0 250px;min-height:210px;margin:0!important;padding:14px;border:1.5px solid #d9dfdb;border-radius:15px;background:#fff;cursor:pointer;scroll-snap-align:start}.candidate-card:has(.candidate-check:checked){border-color:#39b97d;box-shadow:0 0 0 2px rgba(57,185,125,.12)}.candidate-card.candidate-low-confidence:not(:has(.candidate-check:checked)){border-style:dashed;background:#fffaf8}.candidate-check{position:absolute;top:11px;right:11px;width:22px;height:22px;accent-color:#31b87a}.candidate-copy{padding-right:28px}.candidate-copy b{display:block;min-height:42px;color:var(--ink);font-size:13px;line-height:1.3;text-align:right}.candidate-copy small{display:block;margin-top:5px;color:var(--muted);font-size:9px}.confidence-note{width:max-content;max-width:100%;padding:3px 6px;border-radius:6px}.confidence-faible{background:#fff0ed!important;color:#8b3027!important}.candidate-prices{display:grid;gap:7px;margin-top:10px}.candidate-prices>span{display:block;padding:7px 8px;border-radius:9px;background:#f3f5f2;font-size:10px}.candidate-prices>span.cheapest{background:#e8f5ef}.candidate-price-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.candidate-price-head small{direction:ltr;text-align:left}.candidate-prices b{color:var(--green);white-space:nowrap}.promotion-copy{display:grid!important;gap:3px!important;margin:7px -2px -1px;padding:7px!important;border-radius:7px!important;background:#fff!important;color:var(--ink);direction:ltr;text-align:left}.promotion-copy small{display:block;line-height:1.35}.promotion-raw{unicode-bidi:isolate;direction:rtl;text-align:right;color:#4f5c57}.effective-unit{color:var(--green)!important;font-weight:850;direction:ltr;text-align:left}
.quantity-stepper{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:12px;padding-top:10px;border-top:1px solid #ecefeb}.qty-button{width:30px;height:30px;border:0;border-radius:8px;background:#f0f2ee;color:var(--green);font-size:19px;font-weight:800;cursor:pointer}.qty-input{width:48px;height:30px;border:1px solid #d8ded9;border-radius:7px;text-align:center;font:700 13px inherit}.candidate-card:not(:has(.candidate-check:checked)) .quantity-stepper{opacity:.42}.candidate-card:not(:has(.candidate-check:checked)) .qty-button,.candidate-card:not(:has(.candidate-check:checked)) .qty-input{pointer-events:none}.line-total{font-size:11px;color:var(--muted);white-space:nowrap}.line-total strong{color:var(--green)}
.review-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 28px;background:#fff;border-top:1px solid var(--line)}.review-modal-footer span{color:var(--muted);font-size:11px}.review-modal-footer .primary{width:auto;min-width:280px;margin:0}.review-modal-footer .primary span{color:#fff}.no-candidate-modal{padding:16px;border-radius:12px;background:#fff0ed;color:#8b3027;font-size:12px}
@media(max-width:620px){.review-modal{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0}.review-modal-header,.review-modal-body,.review-modal-footer{padding-left:16px;padding-right:16px}.candidate-card{flex-basis:200px}.review-modal-footer{align-items:stretch;flex-direction:column}.review-modal-footer .primary{width:100%;min-width:0}.review-modal-header h2{font-size:23px}}
