:root{--navy:#061B3A;--blue:#0073E6;--light-blue:#EAF4FF;--green:#43B02A;--bg:#F7F9FC;--gray:#5F6B7A;--red:#E53935;--orange:#F59E0B;--white:#FFFFFF;--line:#DDE7F2;--shadow:0 18px 45px rgba(6,27,58,0.08)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,rgba(0,115,230,.08),transparent 30%),var(--bg);color:var(--navy);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}.container{width:min(1180px,calc(100% - 32px));margin:0 auto}.card{background:rgba(255,255,255,.96);border-radius:24px;padding:24px;box-shadow:var(--shadow);border:1px solid rgba(6,27,58,.08)}.btn{display:inline-flex;border:0;align-items:center;justify-content:center;gap:8px;padding:13px 18px;background:var(--blue);color:white;border-radius:14px;font-weight:800;cursor:pointer;font-size:15px;min-height:46px}.btn.secondary{background:var(--light-blue);color:var(--blue)}.btn.success{background:var(--green);color:white}.btn.danger{background:var(--red);color:white}.btn.warning{background:var(--orange);color:white}.btn:disabled{opacity:.5;cursor:not-allowed}.input,select,textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:14px;font-size:15px;background:white;outline:none}.input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,115,230,.12)}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.badge{display:inline-flex;padding:6px 11px;border-radius:99px;background:var(--light-blue);color:var(--blue);font-weight:800;font-size:13px;align-items:center;gap:6px}.badge.green{background:#EAF8E7;color:#168C32}.badge.orange{background:#FFF4DB;color:#9A5F00}.badge.red{background:#FFE8E5;color:#C62828}.muted{color:var(--gray)}.small{font-size:13px}.big-number{font-size:clamp(58px,14vw,130px);font-weight:950;line-height:.9;letter-spacing:-4px}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;background:#F7F9FC;color:var(--gray);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.table td,.table th{padding:12px;border-bottom:1px solid #e6edf5;vertical-align:top}.table tr:hover td{background:#FBFDFF}.nav{gap:10px}.header,.nav{display:flex;flex-wrap:wrap}.header{align-items:center;justify-content:space-between;gap:16px}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:18px}.admin-top{display:grid;grid-template-columns:1fr;gap:14px}.terminal{min-height:100vh;background:#F7F9FC;padding:24px}.terminal-grid{display:grid;grid-template-columns:1fr 330px;gap:22px}.terminal-job{display:grid;grid-template-columns:130px 1fr;gap:14px;align-items:center;padding:16px;border-radius:20px;background:#FFFFFF;color:var(--navy);margin-bottom:10px;border:1px solid var(--line)}pre{white-space:pre-wrap;word-break:break-word;background:#061B3A;color:white;padding:16px;border-radius:16px}@media (max-width:980px){.grid-2,.grid-3,.grid-4,.terminal-grid{grid-template-columns:1fr}}@media (max-width:640px){.container{width:min(100% - 20px,1180px)}.card{padding:18px;border-radius:18px}.btn{width:100%}.terminal{padding:12px}}.client-page{min-height:100vh;padding:24px 0 42px}.client-shell{width:min(1160px,calc(100% - 28px));margin:0 auto}.client-hero,.public-entry{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:center}.client-hero h1,.public-entry h1{font-size:clamp(34px,6vw,62px);line-height:.98;letter-spacing:-2px;margin:18px 0 12px}.client-location,.public-entry-panel{display:grid;gap:14px;background:linear-gradient(180deg,#F7FBFF,#FFFFFF);border:1px solid var(--line);border-radius:22px;padding:20px}.client-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.step{padding:14px 16px;background:white;border:1px solid var(--line);border-radius:16px;color:var(--gray);font-weight:900}.step.active{color:var(--blue);border-color:rgba(0,115,230,.4);background:var(--light-blue)}.step.done{color:#168C32;background:#EAF8E7}.client-upload{display:grid;gap:16px}.dropzone{display:grid;place-items:center;gap:8px;text-align:center;border:2px dashed rgba(0,115,230,.35);background:#F8FBFF;border-radius:22px;padding:34px 18px;cursor:pointer}.dropzone input{display:none}.dropzone span{color:var(--blue);font-weight:950;font-size:20px}.file-list,.job-options-list,.tracking-list{display:grid;gap:12px}.file-row,.tracking-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:18px;background:white;padding:14px}.client-location small,.file-row small{display:block;color:var(--gray);margin-top:4px}.client-layout{display:grid;grid-template-columns:1fr 360px;gap:18px;margin-top:18px}.job-option-card{border:1px solid var(--line);border-radius:22px;padding:18px;background:#FFFFFF}.job-title{display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:start;margin-bottom:14px}.job-title h3{margin:0 0 5px}.job-index{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--light-blue);color:var(--blue);font-weight:950}.job-controls{display:grid;grid-template-columns:120px 170px 1fr 160px;gap:12px;align-items:end}.switch-line,.terms-line{display:flex;gap:10px;align-items:center}.switch-line input,.terms-line input{width:auto}.price-line{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.price-line b{color:var(--blue);font-size:22px}.order-summary{position:sticky;top:18px;align-self:start;display:grid;gap:14px}.summary-row,.summary-total{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.summary-total{font-size:24px;font-weight:950;color:var(--blue);border-bottom:0}.status-card{margin-top:18px}.tracking-row{grid-template-columns:120px 1fr auto}.call-number{font-size:34px;line-height:1;font-weight:950;color:var(--blue)}.public-entry-text{display:grid;gap:12px}.public-actions{display:flex;gap:12px;flex-wrap:wrap}.quick-stat{border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;gap:4px;background:white}.quick-stat b{font-size:34px;color:var(--blue)}.pickup-box{display:grid;gap:6px;background:var(--navy);color:white;border-radius:18px;padding:16px}.kiosk-screen{display:grid;grid-template-columns:1fr 360px;gap:22px;padding:22px;background:radial-gradient(circle at 20% 0,rgba(0,115,230,.16),transparent 28%),linear-gradient(135deg,#F7F9FC,#EDF5FF)}.kiosk-main,.kiosk-side{min-height:calc(100vh - 44px)}.kiosk-section-title,.kiosk-top{display:flex;justify-content:space-between;gap:16px;align-items:center}.kiosk-place{display:grid;gap:8px;text-align:right}.kiosk-current{min-height:345px;display:grid;align-content:center;gap:12px;padding:28px 0}.kiosk-current h1{font-size:clamp(46px,6vw,86px);line-height:.95;margin:0;letter-spacing:-3px}.kiosk-current p{margin:0;color:var(--gray);font-size:22px}.kiosk-state{width:fit-content;background:var(--light-blue);color:var(--blue);border-radius:999px;padding:9px 14px;font-weight:950}.kiosk-state.ready{background:#EAF8E7;color:#168C32}.kiosk-state.printing{background:#FFF4DB;color:#9A5F00}.kiosk-call{font-size:clamp(82px,16vw,190px);font-weight:950;color:var(--green);line-height:.82;letter-spacing:-8px}.kiosk-job{display:grid;grid-template-columns:115px 1fr;gap:14px;align-items:center;background:white;border:1px solid var(--line);border-radius:22px;padding:16px;margin-bottom:10px}.kiosk-job.big{grid-template-columns:170px 1fr;background:#F8FBFF}.kiosk-number{font-size:30px;font-weight:950;color:var(--blue)}.kiosk-job.big .kiosk-number{font-size:54px}.kiosk-job-body{display:grid;gap:5px}.kiosk-job-body b{font-size:18px}.kiosk-job.big .kiosk-job-body b{font-size:25px}.kiosk-job-body span,.kiosk-section-title span{color:var(--gray)}.kiosk-queue{margin-top:10px}.kiosk-empty{background:white;border:1px dashed var(--line);border-radius:18px;padding:22px;color:var(--gray)}.kiosk-side{text-align:center;display:grid;align-content:start;gap:18px}.kiosk-side h2{font-size:32px;margin:0}.kiosk-qr{width:min(100%,280px);height:auto;margin:0 auto;border-radius:22px;background:white;padding:10px;border:1px solid var(--line)}.kiosk-side ol{text-align:left;line-height:1.9;font-size:18px;margin:0;padding-left:24px}.kiosk-support{display:grid;gap:5px;text-align:left;background:var(--light-blue);border-radius:18px;padding:16px;color:var(--navy)}.kiosk-alert{margin-top:18px;border:1px solid #f59e0b;background:#FFF9EA;border-radius:18px;padding:18px}@media (max-width:1040px){.client-hero,.client-layout,.kiosk-screen,.public-entry{grid-template-columns:1fr}.order-summary{position:static}.job-controls{grid-template-columns:1fr 1fr}.kiosk-main,.kiosk-side{min-height:auto}}@media (max-width:680px){.client-steps,.job-controls,.tracking-row{grid-template-columns:1fr}.public-actions{display:grid}.kiosk-screen{padding:12px}.kiosk-section-title,.kiosk-top{align-items:flex-start;flex-direction:column}.kiosk-place{text-align:left}.kiosk-job,.kiosk-job.big{grid-template-columns:1fr}}@media (max-width:760px){body,html{overflow-x:hidden}body{background:#F7F9FC}.client-page{padding:10px 0 96px}.client-shell{width:100%;padding:0 10px}.client-hero,.client-shell .card,.client-upload,.public-entry,.status-card{border-radius:20px;padding:16px;box-shadow:0 8px 24px rgba(6,27,58,.07)}.client-hero,.public-entry{grid-template-columns:1fr;gap:14px}.client-hero h1,.public-entry h1{font-size:34px;line-height:1.02;letter-spacing:-1.2px;margin:14px 0 8px}.client-hero p,.muted,.public-entry p{font-size:15px;line-height:1.5}.client-location,.public-entry-panel{padding:14px;border-radius:18px}.client-steps{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;margin:12px 0;scrollbar-width:none}.client-steps::-webkit-scrollbar{display:none}.step{min-width:138px;padding:11px 12px;font-size:13px;border-radius:14px;white-space:nowrap}.dropzone{min-height:160px;padding:22px 14px;border-radius:20px}.dropzone span{font-size:18px}.dropzone small{font-size:13px;line-height:1.45}.file-row{grid-template-columns:1fr;gap:10px;padding:13px;border-radius:16px}.file-row>div:last-child{justify-content:space-between!important;width:100%}.client-layout{grid-template-columns:1fr;gap:12px;margin-top:12px}.job-options-list{gap:12px}.job-option-card{padding:14px;border-radius:20px}.job-title{grid-template-columns:38px 1fr;gap:10px}.job-index{width:36px;height:36px;border-radius:12px}.job-title h3{font-size:17px;line-height:1.25;word-break:break-word}.job-title p{font-size:13px}.job-controls{grid-template-columns:1fr;gap:11px}.job-controls label{gap:6px;font-size:14px}.client-page input,.client-page select,.input,.job-controls input,.job-controls select{height:48px;font-size:16px;border-radius:14px;padding:12px}.switch-line{min-height:48px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#F8FBFF}.price-line{align-items:flex-start;gap:8px}.price-line b{font-size:24px}.order-summary{position:fixed;left:10px;right:10px;bottom:10px;z-index:50;border-radius:22px;padding:14px;box-shadow:0 14px 40px rgba(6,27,58,.22);gap:8px;max-height:70vh;overflow-y:auto}.order-summary h2{font-size:19px;margin:0}.summary-row{padding:6px 0;font-size:14px}.summary-total{padding:8px 0;font-size:20px}.terms-line{align-items:flex-start;font-size:13px;line-height:1.35}.terms-line input{margin-top:3px}.client-page .btn,.public-actions .btn{width:100%;min-height:50px;border-radius:16px;font-size:16px;justify-content:center;text-align:center}.public-actions{display:grid;grid-template-columns:1fr;gap:10px}.quick-stat{padding:14px;border-radius:16px}.quick-stat b{font-size:30px}.tracking-row{grid-template-columns:1fr;gap:10px;padding:14px;border-radius:18px}.call-number{font-size:42px}.status-card .header{align-items:flex-start;flex-direction:column;gap:10px}.badge{max-width:100%;white-space:normal;text-align:center}.header{align-items:flex-start;flex-direction:column;gap:10px}}@media (max-width:420px){.client-shell{padding:0 8px}.client-hero,.client-shell .card,.client-upload,.public-entry,.status-card{padding:14px;border-radius:18px}.client-hero h1,.public-entry h1{font-size:30px}.order-summary{left:8px;right:8px;bottom:8px}.job-title{grid-template-columns:1fr}.job-index{width:32px;height:32px}.price-line{flex-direction:column}}@media (max-width:760px){.client-page{padding-bottom:32px}.client-layout{display:flex;flex-direction:column}.client-layout>section.card{order:1}.client-layout>.order-summary{order:2}.order-summary{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;z-index:auto!important;max-height:none!important;overflow:visible!important;box-shadow:0 8px 24px rgba(6,27,58,.07)!important;margin-top:12px}.order-summary .btn{position:static}.job-options-list{margin-bottom:0}}.photocopy-card,.service-choice{margin-bottom:16px}.scanner-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}.scanner-header h2{margin-bottom:6px}.scanner-quality{display:inline-grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;background:#EEF6FF;border:1px solid #cfe3ff;border-radius:14px;min-width:230px}.scanner-quality.wide{width:100%;min-width:0}.scanner-quality button{border:0;background:transparent;color:#0B3B75;border-radius:10px;padding:10px 12px;font-weight:900;cursor:pointer}.scanner-quality button.active{background:white;color:var(--blue);box-shadow:0 6px 18px rgba(0,115,230,.14)}.a4-camera-box{width:min(100%,420px);margin:12px auto 0;border-radius:24px}.a4-camera-box:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.08) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 0);background-size:25% 25%;pointer-events:none;opacity:.45}.a4-video{width:100%;height:100%;object-fit:contain;background:#07172f}.a4-placeholder{height:100%;display:grid;place-content:center;text-align:center;color:white;gap:8px}.a4-frame{position:absolute;inset:7%;border:3px solid rgba(255,255,255,.95);border-radius:12px;box-shadow:0 0 0 999px rgba(0,0,0,.25);pointer-events:none}.a4-frame:before{content:"A4";position:absolute;top:-34px;left:0;background:white;color:#0f172a;border-radius:999px;padding:4px 12px;font-weight:800}.scan-frame{border:3px solid rgba(255,255,255,.96);box-shadow:0 0 0 999px rgba(0,0,0,.28);z-index:2}.live-detection-layer,.scan-frame{position:absolute;pointer-events:none}.live-detection-layer{z-index:4;filter:drop-shadow(0 8px 18px rgba(0,0,0,.32))}.live-detection-layer polygon{fill:rgba(67,176,42,.18);stroke:#65F27B;stroke-width:.9;vector-effect:non-scaling-stroke}.scan-frame-a4{inset:7%;border-radius:12px}.scan-frame-id{left:8%;right:8%;top:34%;height:30%;border-radius:16px}.scan-frame:before{position:absolute;top:-34px;left:0;background:white;color:#0f172a;border-radius:999px;padding:4px 12px;font-weight:900;font-size:13px}.scan-frame-a4:before{content:"A4"}.scan-frame-id:before{content:"Pièce"}.scan-hud{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;display:flex;justify-content:space-between;gap:8px;pointer-events:none}.scan-hud span{background:rgba(255,255,255,.92);color:#07172f;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.scanner-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.scan-pages-panel{display:grid;gap:12px;margin-top:14px;background:#F8FBFF;border:1px solid var(--line);border-radius:16px;padding:14px}.scan-pages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;margin-top:12px}.scan-thumb{border:1px solid #cfe3ff;background:white;color:var(--navy);border-radius:14px;padding:10px 8px;text-align:center;display:grid;gap:4px;justify-items:center;align-items:center;cursor:pointer;min-height:64px}.scan-thumb span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--blue);color:white;font-weight:950}.scan-thumb b{font-size:13px;word-break:break-word}.btn{position:relative;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,115,230,.18);filter:brightness(1.03)}.btn:active:not(:disabled){transform:scale(.96)}.btn:after{content:"";position:absolute;inset:0;background:radial-gradient(circle,rgba(255,255,255,.38) 0,rgba(255,255,255,0) 55%);transform:scale(0);opacity:0;transition:transform .35s ease,opacity .35s ease}.btn.btn-loading:after,.btn:active:after{transform:scale(2.4);opacity:1}.btn-loading{animation:buttonPulse .9s ease-in-out infinite;pointer-events:none}@keyframes buttonPulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-1px) scale(1.015)}}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.55);border-top-color:white;border-radius:999px;animation:spin .7s linear infinite;flex:0 0 auto}.btn.secondary .spinner,.small-spin{border-color:rgba(0,115,230,.25);border-top-color:var(--blue)}.small-spin{width:14px;height:14px}@keyframes spin{to{transform:rotate(1turn)}}.action-toast{display:flex;align-items:center;gap:10px;background:#FFFFFF;border:1px solid rgba(0,115,230,.22);color:var(--blue);border-radius:18px;padding:12px 14px;margin:12px 0;box-shadow:var(--shadow);transform:translateY(-8px);opacity:0;transition:transform .22s ease,opacity .22s ease}.action-toast.show{opacity:1;transform:translateY(0)}.icon-btn{min-height:38px;padding:9px 12px;border-radius:12px;width:auto}.job-heading-line{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.preview-btn{white-space:nowrap}.preview-overlay{position:fixed;inset:0;background:rgba(6,27,58,.72);z-index:9999;display:grid;place-items:center;padding:14px}.preview-modal{width:min(980px,100%);height:min(92vh,860px);background:white;border-radius:22px;display:grid;grid-template-rows:auto 1fr;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.35)}.preview-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border-bottom:1px solid var(--line)}.preview-header div{display:grid;gap:3px;min-width:0}.preview-header span{color:var(--gray);font-size:13px;word-break:break-word}.preview-frame{width:100%;height:100%;border:0;background:#F7F9FC}@media (max-width:680px){.job-heading-line{display:grid}.icon-btn,.preview-btn{width:100%}.preview-modal{height:94vh;border-radius:16px}}@media (min-width:1041px){.client-shell{width:min(1280px,calc(100% - 48px))}.client-layout{grid-template-columns:minmax(0,1fr) 390px;align-items:start}.job-controls{grid-template-columns:120px 190px minmax(240px,1fr) 170px}.client-hero,.public-entry{grid-template-columns:1.25fr .75fr}.order-summary{top:22px}}@media (max-width:980px){.client-hero,.client-layout,.public-entry{grid-template-columns:1fr}.job-controls{grid-template-columns:1fr 1fr}.order-summary{position:static}}@media (max-width:620px){.client-steps,.job-controls{grid-template-columns:1fr}.price-line,.summary-row,.summary-total{align-items:flex-start;flex-direction:column}.client-upload,.photocopy-card,.service-choice,.status-card{padding:14px}}.pickup-warning{background:#FFF4DB;color:#8A5200;border:1px solid #f59e0b;padding:12px 14px;border-radius:14px;font-weight:800}.id-copy-status{display:grid;margin-top:12px;background:#F8FBFF;border:1px solid var(--line);border-radius:16px;padding:14px}.id-copy-status div{font-weight:800}.id-copy-status .done{color:#168C32}.id-card-frame{position:absolute;left:8%;right:8%;top:34%;height:30%;border:3px solid rgba(255,255,255,.96);border-radius:16px;box-shadow:0 0 0 999px rgba(0,0,0,.26);pointer-events:none}.id-card-frame:before{content:"Pièce";position:absolute;top:-34px;left:0;background:white;color:#0f172a;border-radius:999px;padding:4px 12px;font-weight:800}.id-crop-modal{width:min(1080px,100%);max-height:94vh;background:white;border-radius:22px;display:grid;grid-template-rows:auto 1fr;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.35)}.id-crop-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;padding:16px;overflow:auto}.id-crop-preview-box{position:relative;overflow:hidden;background:#0f172a;border-radius:18px;touch-action:none}.id-crop-image,.id-crop-preview-box{width:100%;-webkit-user-select:none;user-select:none}.id-crop-image{display:block;max-height:76vh;height:auto;object-fit:contain;pointer-events:none}.id-crop-window{position:absolute;border:3px solid #43b02a;border-radius:14px;box-shadow:0 0 0 999px rgba(0,0,0,.38);pointer-events:none}.id-crop-controls{display:grid;gap:12px;align-content:start}.scan-result-card{display:grid;gap:4px;padding:14px;background:#F8FBFF;border:1px solid var(--line);border-radius:16px}.scan-result-card small,.scan-result-card span{color:var(--gray);font-size:13px}.scan-result-card b{font-size:18px}.side-nudge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%}.side-nudge-grid button{border:1px solid #cfe3ff;background:#F8FBFF;color:#0B3B75;border-radius:10px;padding:10px 8px;font-weight:900;cursor:pointer}.side-nudge-grid button:active{transform:scale(.96)}.id-crop-controls label{display:grid;gap:7px;font-weight:800}.id-crop-controls input[type=range]{width:100%}.pickup-warning{background:#EEF6FF;color:#0B3B75;border-color:#BBD7FF}@media (max-width:860px){.id-crop-body{grid-template-columns:1fr}}.four-point-crop{touch-action:none;-webkit-user-select:none;user-select:none;background:#07172f}.id-crop-window.polygon-window{background:rgba(0,115,230,.18);border:0}.crop-lines,.id-crop-window.polygon-window{position:absolute;inset:0;pointer-events:none}.crop-lines{width:100%;height:100%}.crop-lines polygon{fill:rgba(0,115,230,.1);stroke:#00A3FF;stroke-width:.9;vector-effect:non-scaling-stroke}.crop-point{position:absolute;width:34px;height:34px;transform:translate(-50%,-50%);border-radius:999px;border:3px solid white;background:var(--blue);box-shadow:0 8px 22px rgba(0,0,0,.35);cursor:grab;z-index:5;touch-action:none}.crop-point:active{cursor:grabbing;transform:translate(-50%,-50%) scale(1.1)}.crop-point:after{content:"";position:absolute;inset:8px;border-radius:999px;background:white}.crop-side-handle{position:absolute;transform:translate(-50%,-50%);border:2px solid #fff;background:#43B02A;box-shadow:0 8px 22px rgba(0,0,0,.32);cursor:grab;z-index:4;touch-action:none}.crop-side-handle:active{cursor:grabbing}.crop-side-bottom,.crop-side-top{width:54px;height:18px;border-radius:999px}.crop-side-left,.crop-side-right{width:18px;height:54px;border-radius:999px}.id-card-frame{display:none!important}@media (max-width:680px){.scanner-header{grid-template-columns:1fr}.scanner-quality{width:100%;min-width:0}.scanner-actions .btn{width:100%}.crop-point{width:42px;height:42px}.crop-side-bottom,.crop-side-top{width:64px;height:22px}.crop-side-left,.crop-side-right{width:22px;height:64px}.id-crop-modal{width:min(100%,96vw)}.id-crop-body{grid-template-columns:1fr}}.entry-page{min-height:100vh;min-height:100dvh;padding:max(12px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:radial-gradient(circle at 50% -10%,rgba(0,115,230,.14),transparent 42%),linear-gradient(180deg,#F7F9FC,#EEF4FB)}.entry-shell{width:100%;max-width:520px;margin:0 auto;display:grid;gap:16px}.entry-header{display:grid;gap:12px;justify-items:start}.entry-status{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:800;line-height:1.2}.entry-status.is-online{background:#EAF8E7;color:#168C32}.entry-status.is-offline{background:#FFF4DB;color:#9A5F00}.entry-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.entry-status.is-online .entry-status-dot{box-shadow:0 0 0 4px rgba(22,140,50,.18)}.entry-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.entry-stat{display:grid;gap:2px;padding:14px;border-radius:18px;background:rgba(255,255,255,.92);border:1px solid rgba(6,27,58,.08);box-shadow:0 8px 22px rgba(6,27,58,.06)}.entry-stat-label{font-size:12px;font-weight:800;color:var(--gray);text-transform:uppercase;letter-spacing:.04em}.entry-stat-value{font-size:clamp(28px,8vw,34px);line-height:1;letter-spacing:-1px;color:var(--blue)}.entry-stat-hint{font-size:12px;color:var(--gray);line-height:1.35}.entry-main{display:grid;gap:14px}.entry-main h1{margin:0;font-size:clamp(28px,7vw,36px);line-height:1.05;letter-spacing:-1.2px}.entry-lead{margin:0;color:var(--gray);font-size:15px;line-height:1.55}.entry-services{display:grid;gap:12px}.entry-service{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;width:100%;min-height:88px;padding:16px;border:1px solid rgba(6,27,58,.08);border-radius:20px;background:white;box-shadow:0 10px 28px rgba(6,27,58,.07);color:var(--navy);text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.entry-service:active:not(:disabled){transform:scale(.985)}.entry-service:disabled{opacity:.55}.entry-service-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;flex-shrink:0}.entry-service-icon svg{width:28px;height:28px}.entry-service--print .entry-service-icon{background:#EAF4FF;color:var(--blue)}.entry-service--copy .entry-service-icon{background:#EAF8E7;color:#168C32}.entry-service-body{display:grid;gap:4px;min-width:0}.entry-service-body strong{font-size:17px;line-height:1.2}.entry-service-body span{color:var(--gray);font-size:13px;line-height:1.45}.entry-service-action{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#F3F7FC;color:var(--blue);flex-shrink:0}.entry-service-action svg{width:22px;height:22px}.entry-service--copy .entry-service-action{color:#168C32}.entry-service.is-loading .entry-service-action{background:transparent}.entry-spinner{width:22px;height:22px;border:2px solid rgba(0,115,230,.18);border-top:2px solid var(--blue);border-radius:50%;animation:entry-spin .7s linear infinite}@keyframes entry-spin{to{transform:rotate(1turn)}}.entry-footer{display:grid;gap:12px}.entry-pickup{display:grid;gap:4px;padding:16px;border-radius:18px;background:var(--navy);color:white}.entry-pickup-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;opacity:.72}.entry-pickup strong{font-size:16px;line-height:1.35}.entry-pickup-printer{font-size:13px;opacity:.78}.entry-terms{display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border-radius:14px;background:rgba(255,255,255,.88);border:1px solid var(--line);color:var(--blue);font-weight:800;font-size:14px}.entry-layout{display:grid;gap:16px}.entry-side{gap:12px}.entry-side,.entry-stats-bar{display:grid}.entry-stats-side{display:none}@media (min-width:720px){.entry-stats-bar{display:none}.entry-stats-side{display:grid}.entry-page{padding-top:28px;padding-bottom:40px}.entry-shell{max-width:960px;gap:20px}.entry-header{grid-template-columns:1fr auto;align-items:center;justify-content:space-between}.entry-body-grid{display:grid}.entry-body-grid,.entry-layout{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:18px;align-items:start}.entry-stats{grid-template-columns:1fr}.entry-main h1{font-size:42px}.entry-service{min-height:96px;padding:18px 20px}.entry-service:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 36px rgba(6,27,58,.1);border-color:rgba(0,115,230,.22)}.entry-service--copy:hover:not(:disabled){border-color:rgba(22,140,50,.28)}}@media (min-width:960px){.entry-shell{max-width:1040px}.entry-layout{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:20px}}.client-hero-compact h1{font-size:clamp(26px,6.5vw,36px);margin:12px 0 6px;letter-spacing:-1px}.client-lead,.service-hint{margin:0;color:var(--gray);font-size:14px;line-height:1.45}.mode-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.mode-chip{min-height:48px;padding:10px 8px;border:1px solid var(--line);border-radius:14px;background:white;color:var(--navy);font-weight:800;font-size:13px;cursor:pointer;-webkit-tap-highlight-color:transparent}.mode-chip.active{background:var(--blue);border-color:var(--blue);color:white;box-shadow:0 8px 20px rgba(0,115,230,.22)}.photocopy-card h2,.scan-card h2{margin:0 0 4px;font-size:20px}.photocopy-card,.scan-card{display:grid;gap:12px}.a4-camera-box{position:relative;width:100%;max-width:none;aspect-ratio:1/1.414;margin:14px auto 0;background:#0f172a;border-radius:20px;overflow:hidden;box-shadow:0 20px 50px rgba(15,23,42,.22)}.scan-error{margin:10px 0 0;color:var(--red);font-size:14px;font-weight:700}.scanner-toolbar{display:grid;gap:10px;margin-top:14px}.scanner-primary{width:100%;min-height:52px;font-size:16px}.scanner-secondary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.scanner-secondary .btn{width:100%;min-height:46px;padding:10px 8px;font-size:14px}.scanner-secondary .btn.is-active{background:#FFF4DB;color:#9A5F00}.id-copy-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}.id-copy-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#F3F7FC;border:1px solid var(--line);font-size:13px;font-weight:800}.id-copy-pill.done{background:#EAF8E7;border-color:#B8E6B0;color:#168C32}.id-copy-reset{border:0;background:transparent;color:var(--blue);font-weight:800;font-size:13px;padding:8px 4px;cursor:pointer}.scan-pages-panel{margin-top:12px;padding:12px}.crop-actions{display:grid;gap:10px;margin-top:12px}.crop-actions .btn.success{width:100%;min-height:52px;font-size:16px}.crop-actions-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.crop-actions-row .btn{width:100%;min-height:46px}.id-crop-modal{width:min(100%,96vw);max-height:94dvh;overflow:auto}.id-crop-body{grid-template-columns:1fr}@media (max-width:760px){.client-hero-compact{padding:16px}.client-location{padding:12px}.client-upload,.photocopy-card,.service-choice{padding:16px}.mode-chip{font-size:12px}.scanner-secondary{grid-template-columns:1fr 1fr}.scanner-secondary .btn:last-child{grid-column:1/-1}.client-page .btn,.crop-actions .btn,.scanner-primary{width:100%}.dropzone{min-height:140px;padding:20px 14px}.dropzone span{font-size:16px}.dropzone small{font-size:12px}}.flow-mobile .client-shell{width:100%;max-width:520px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}.flow-top{display:grid;gap:12px;padding:16px;margin-bottom:0}.flow-top-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.flow-top-place{font-size:14px;color:var(--gray);font-weight:700}.flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.flow-steps .step{min-width:0;text-align:center;font-size:12px;padding:10px 8px}.service-choice{padding:14px}.client-upload,.flow-top,.photocopy-card,.scan-card,.service-choice{background:#fff;border:1px solid rgba(6,27,58,.08);box-shadow:0 8px 24px rgba(6,27,58,.08)}.service-choice h2{display:none}.scan-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}.scan-card-head h2{margin:0;font-size:18px}.scan-card-hint{margin:0;font-size:13px;font-weight:800;color:var(--blue);white-space:nowrap}.scan-mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px;padding:4px;background:#EEF6FF;border:1px solid #cfe3ff;border-radius:14px}.scan-mode-toggle button{border:0;background:transparent;color:#0B3B75;border-radius:10px;padding:12px;font-weight:900;font-size:14px;cursor:pointer;min-height:44px}.scan-mode-toggle button.active{background:white;color:var(--blue);box-shadow:0 4px 14px rgba(0,115,230,.14)}.scan-icon-btn{min-width:52px;min-height:48px;padding:0;font-size:20px;line-height:1}.scan-icon-btn.is-active{background:#FFF4DB;color:#9A5F00}.scanner-secondary{grid-template-columns:repeat(3,minmax(52px,1fr));justify-content:center}.upload-tip{margin:10px 0 0;font-size:13px;color:var(--gray)}.upload-tip a{color:var(--blue);font-weight:800}.job-meta,.status-call,.status-pickup,.summary-note{margin:0;font-size:13px;color:var(--gray)}.status-call{font-size:28px;font-weight:950;color:var(--blue);letter-spacing:-1px}.order-pay-btn{width:100%;min-height:52px;font-size:16px}.panel-warn{border-color:#F59E0B;background:#FFF9EA}.crop-validate-btn{width:100%}.crop-actions{grid-template-columns:1fr 1fr}.crop-actions .crop-validate-btn{grid-column:1/-1}@media (min-width:720px){.flow-mobile .client-shell{max-width:960px}.flow-mobile .pay-bar-dock{position:sticky;bottom:12px;z-index:10;box-shadow:0 12px 36px rgba(6,27,58,.12)}}.job-controls-compact{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.job-field-full{grid-column:1/-1}.job-field-label{display:block;font-size:12px;font-weight:800;color:var(--gray);margin-bottom:6px}.copy-stepper{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;border:1px solid var(--line);border-radius:14px;background:#F8FBFF;overflow:hidden}.copy-stepper-btn{border:0;background:transparent;min-height:44px;font-size:22px;font-weight:900;color:var(--blue);cursor:pointer}.copy-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.copy-stepper-value{text-align:center;font-weight:950;font-size:18px}.color-chips{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;background:#EEF6FF;border:1px solid #cfe3ff;border-radius:14px}.color-chips button{border:0;background:transparent;border-radius:10px;min-height:44px;font-weight:900;font-size:14px;color:#0B3B75;cursor:pointer}.color-chips button.active{background:white;color:var(--blue);box-shadow:0 4px 14px rgba(0,115,230,.14)}.file-list-compact{margin-top:12px}.file-row-compact{grid-template-columns:1fr auto;padding:12px 14px;border-radius:14px}.file-row-main{display:flex;align-items:center;gap:10px;min-width:0}.file-row-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.file-status{flex-shrink:0;font-size:11px;font-weight:900;padding:4px 8px;border-radius:999px;background:#E8F5E9;color:#168C32}.file-status.analyzing{background:#FFF4DB;color:#9A5F00}.file-status.error{background:#FFEBEE;color:#C62828}.file-remove{border:0;background:#F3F6FA;color:var(--gray);width:36px;height:36px;border-radius:10px;font-size:16px;cursor:pointer}.flow-continue-btn{margin-top:0}.flow-action-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.flow-action-row .flow-continue-btn,.flow-action-row .scanner-primary:only-child{grid-column:1/-1}.id-preview-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:start}.id-preview-row .flow-text-btn{grid-column:1/-1}.file-row-preview{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;width:100%}.job-title-body{min-width:0}.job-preview-btn{flex-shrink:0;min-height:40px;padding:8px 12px;font-size:13px}.tracking-row-main{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;width:100%;color:inherit}.crop-hint{margin:4px 0 0;font-size:13px;color:var(--gray);font-weight:600}.preview-image{display:block;width:100%;max-height:75vh;object-fit:contain;background:#0f172a;border-radius:0}.preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px 16px;border-top:1px solid var(--line);background:#fff;border-radius:0 0 18px 18px}.preview-actions .btn{width:100%;min-height:48px}.scan-color-field{display:grid;gap:6px}.job-color-badge{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:14px;background:#EEF6FF;border:1px solid #cfe3ff;color:var(--blue);font-weight:900;font-size:14px}.order-summary-pay{display:grid;gap:14px;padding:18px 16px;background:linear-gradient(180deg,#ffffff,#f8fbff);border-top:3px solid var(--blue)}.pay-bar-dock{width:100%;max-width:none;margin-top:18px;border-radius:22px}.client-layout-options{grid-template-columns:1fr;margin-top:18px}.order-summary-pay h2{display:none}.pay-summary-hero{display:grid;gap:6px}.pay-summary-label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--gray)}.pay-summary-amount{display:block;font-size:clamp(34px,9vw,42px);line-height:1;letter-spacing:-1px;color:var(--blue)}.pay-summary-meta{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:13px;color:var(--gray);font-weight:700}.terms-line-pay{margin:0;font-size:14px}.terms-line-pay a{color:var(--blue);font-weight:800}.pay-summary-note{margin:0;text-align:center;font-size:12px}.order-pay-btn{min-height:56px;font-size:17px;border-radius:16px;box-shadow:0 10px 24px rgba(67,176,42,.28)}.flow-continue-bar{display:grid;gap:14px;margin-top:18px;padding:18px 16px;border-radius:22px;background:linear-gradient(180deg,#ffffff,#f8fbff);border-top:3px solid var(--blue)}.flow-continue-summary{display:grid;gap:4px}.flow-continue-amount{font-size:clamp(28px,7vw,36px);line-height:1;color:var(--blue);letter-spacing:-.5px}.flow-continue-meta{margin:0;font-size:13px;color:var(--gray);font-weight:700}.flow-continue-btn{min-height:54px;font-size:16px}.payment-screen{display:grid;gap:16px;margin-top:18px;padding:18px 16px 0}.payment-screen-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.payment-back-btn{margin:0;padding:0}.payment-secure-badge{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:#eef9ea;color:#2d7a1d;font-size:12px;font-weight:900}.payment-hero h2{margin:0 0 4px;font-size:28px;letter-spacing:-.5px}.payment-hero-sub{margin:0}.payment-recap-list{display:grid;gap:10px}.payment-recap-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border-radius:16px;background:#f8fbff;border:1px solid #dde7f2}.payment-recap-main{display:flex;gap:12px;align-items:flex-start;min-width:0}.payment-recap-index{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:var(--blue);color:#fff;font-size:13px;font-weight:900;flex-shrink:0}.payment-recap-main b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payment-recap-meta{margin:4px 0 0;font-size:12px;color:var(--gray);font-weight:700}.payment-recap-price{color:var(--navy);font-size:15px;white-space:nowrap}.payment-total-card{display:grid;gap:10px;padding:16px;border-radius:18px;background:linear-gradient(180deg,#061b3a,#0b3b75);color:#fff}.payment-total-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:700}.payment-total-row span{color:rgba(255,255,255,.78)}.payment-total-final{margin-top:4px;padding-top:12px;border-top:1px solid rgba(255,255,255,.18)}.payment-total-final strong{font-size:clamp(28px,7vw,34px);line-height:1;letter-spacing:-.5px}.payment-info-grid{display:grid;gap:10px}.payment-info-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:16px;background:#fff;border:1px solid var(--line)}.payment-info-icon{font-size:22px;line-height:1}.payment-info-card b{display:block;margin-bottom:2px}.payment-info-card p{margin:0;font-size:13px;color:var(--gray);font-weight:700}.payment-pay-dock{margin:4px -16px 0;border-radius:22px 22px 0 0}@media (max-width:719px){.crop-point{width:44px;height:44px}.crop-side-bottom,.crop-side-top{width:64px;height:22px}.crop-side-left,.crop-side-right{width:22px;height:64px}.flow-action-row{grid-template-columns:1fr}}.flow-text-btn{border:0;background:transparent;color:var(--gray);font-size:13px;font-weight:800;text-decoration:underline;cursor:pointer;padding:8px 0}.tracking-row-compact{grid-template-columns:1fr auto}.status-header{align-items:flex-start}.status-ticket-btn{flex-shrink:0}.crop-header{align-items:center}@media (max-width:719px){.client-layout{grid-template-columns:1fr}.flow-mobile .pay-bar-dock{position:fixed;left:0;right:0;bottom:0;width:100%;max-width:none;margin:0;border-radius:22px 22px 0 0;border-left:0;border-right:0;box-shadow:0 -12px 40px rgba(6,27,58,.18);z-index:40;padding:18px max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.flow-mobile .payment-screen{padding-bottom:180px}.flow-mobile .client-shell{padding-bottom:210px}.client-page{padding-bottom:0}.job-controls-compact{grid-template-columns:1fr}.color-chips:has(button:only-child){grid-template-columns:1fr}}.entry-offline-panel{display:grid;gap:6px;margin:12px 0 0;padding:14px 16px;border-radius:18px;border:1px solid #ffd6a1;background:#fff8ed;color:#713f12;font-size:14px;font-weight:700}.entry-offline-panel span{color:#8a5a20;font-weight:600;line-height:1.4}.entry-service:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.18)}.flow-screen{width:100%;max-width:620px;margin-left:auto;margin-right:auto}.flow-screen-options,.flow-screen-payment,.flow-screen-status{max-width:680px}.flow-screen-files{margin-top:12px}.flow-mobile .client-shell{max-width:720px}.flow-mobile .service-choice{position:sticky;top:8px;z-index:5}.flow-mobile .client-layout-options{display:block;margin-top:12px}.flow-mobile .flow-continue-bar{max-width:680px;margin-left:auto;margin-right:auto}.flow-mobile .payment-screen{margin-left:auto;margin-right:auto;border-radius:24px;padding:18px 16px 0}.scan-card .a4-camera-box{width:min(100%,520px);aspect-ratio:1/1.414;min-height:min(76vh,735px);max-height:78vh;margin:14px auto 0;border-radius:24px}.scan-card .a4-video{width:100%;height:100%;object-fit:cover;object-position:center center;background:#07172f}.scan-card .a4-placeholder{min-height:100%}.scan-card .scan-frame-a4{inset:18px;border-radius:12px}.scan-card .scan-color-field{display:none!important}.job-options-list{gap:12px}.job-option-card{border-radius:20px;border:1px solid #dfeaf5;background:#ffffff;box-shadow:0 10px 26px rgba(6,27,58,.06)}.job-controls-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-screen .payment-recap-list{max-height:38vh;overflow:auto;padding-right:2px}@media (max-width:719px){.flow-mobile .client-shell{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:40px}.flow-mobile .payment-screen{padding-bottom:190px}.flow-mobile .payment-pay-dock{position:fixed;left:0;right:0;bottom:0;margin:0;z-index:45;border-radius:22px 22px 0 0;box-shadow:0 -14px 42px rgba(6,27,58,.2);padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.scan-card .a4-camera-box{width:100%;min-height:min(72vh,680px);max-height:74vh}.scanner-toolbar{position:sticky;bottom:10px;z-index:8;padding:8px;border-radius:18px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.job-controls-compact,.payment-recap-item{grid-template-columns:1fr}.payment-recap-price{justify-self:end}}.client-page.flow-mobile .client-shell>.card,.client-page.flow-mobile .client-shell>section.card{max-width:880px;margin-left:auto;margin-right:auto}.client-page.flow-mobile .client-layout-options,.client-page.flow-mobile .client-upload,.client-page.flow-mobile .payment-screen,.client-page.flow-mobile .scan-card,.client-page.flow-mobile .status-card{min-height:min(760px,calc(100vh - 140px))}.id-crop-modal{width:min(980px,96vw)!important;max-height:96vh!important}.id-crop-body{grid-template-columns:minmax(0,1fr)!important;justify-items:center}.id-crop-preview-box.four-point-crop{aspect-ratio:1/1.414!important;max-height:78vh;margin:0 auto;border-radius:20px;outline:3px solid rgba(255,255,255,.9);outline-offset:-10px}.id-crop-preview-box.four-point-crop:after{content:"A4";position:absolute;top:14px;right:14px;z-index:6;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:#0B3B75;font-weight:900;font-size:12px}.crop-lines polygon{stroke-width:1.35!important}.crop-actions{width:min(100%,620px);position:sticky;bottom:8px;z-index:12;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:18px;padding:10px}.admin-top .nav{gap:8px}@media (min-width:980px){main.container:has(.admin-top){max-width:none;padding-left:292px!important;padding-right:28px!important}.admin-top{position:fixed;left:18px;top:18px;bottom:18px;width:248px;z-index:60;overflow-y:auto;margin-bottom:0!important;display:grid;grid-template-rows:auto 1fr;align-content:start;border-radius:24px;box-shadow:0 24px 70px rgba(6,27,58,.12)}.admin-top .header{display:grid;gap:10px}.admin-top .nav{display:grid;grid-template-columns:1fr;align-content:start;margin-top:12px}.admin-top .nav .btn{width:100%;justify-content:flex-start;border-radius:14px}}.admin-dashboard-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:16px}.admin-chart-card{min-height:260px}.admin-bars{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;min-height:180px;padding-top:12px}.admin-bar-wrap,.admin-bars{display:grid;align-items:end}.admin-bar-wrap{gap:6px;text-align:center;color:var(--gray);font-size:12px}.admin-bar{min-height:12px;border-radius:999px 999px 8px 8px;background:linear-gradient(180deg,#0073E6,#43B02A);box-shadow:0 10px 22px rgba(0,115,230,.18)}.admin-health-list{display:grid;gap:10px}.admin-health-item,.paper-stock-card{display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#F8FBFF}.paper-stock-meter{height:14px;border-radius:999px;background:#E9F1FA;overflow:hidden}.paper-stock-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#43B02A,#0073E6)}.paper-stock-fill.low{background:linear-gradient(90deg,#FFB020,#E53935)}.admin-printer-form .card{border-radius:22px}@media (max-width:900px){.admin-dashboard-hero{grid-template-columns:1fr}}@media (max-width:520px){.id-crop-preview-box.four-point-crop{width:min(100%,92vw)!important;max-height:68vh}}.id-crop-preview-box.four-point-crop{width:min(100%,620px)!important;aspect-ratio:1/1.41421356!important;height:auto!important;max-height:78vh!important;overflow:hidden!important;position:relative!important;background:#07172f!important;touch-action:none!important;-webkit-user-select:none!important;user-select:none!important}.id-crop-preview-box.four-point-crop .id-crop-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center center!important;pointer-events:none!important;z-index:1!important}.id-crop-preview-box.four-point-crop .crop-dim.outside{position:absolute!important;inset:0!important;background:rgba(0,0,0,.18)!important;pointer-events:none!important;z-index:2!important}.id-crop-preview-box.four-point-crop .id-crop-window.polygon-window{z-index:3!important;pointer-events:none!important}.id-crop-preview-box.four-point-crop .crop-lines{z-index:4!important;pointer-events:none!important}.id-crop-preview-box.four-point-crop .crop-lines polygon{fill:rgba(67,176,42,.13)!important;stroke:#43B02A!important;stroke-width:1.7!important}.id-crop-preview-box.four-point-crop .crop-point{z-index:40!important;pointer-events:auto!important;width:44px!important;height:44px!important;border:4px solid #ffffff!important;background:#0073E6!important;box-shadow:0 10px 28px rgba(0,0,0,.45)!important}.id-crop-preview-box.four-point-crop .crop-side-handle{z-index:39!important;pointer-events:auto!important;background:#43B02A!important;border:3px solid #ffffff!important}.id-crop-preview-box.four-point-crop:before{content:"Cadre A4 portrait";position:absolute;left:14px;top:14px;z-index:42;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:#0B3B75;font-size:12px;font-weight:900;pointer-events:none}.crop-hint:after{content:" Le résultat sera généré en A4 portrait.";font-weight:700}@media (max-width:520px){.id-crop-preview-box.four-point-crop{width:min(100%,94vw)!important;max-height:70vh!important}.id-crop-preview-box.four-point-crop .crop-point{width:48px!important;height:48px!important}}.pdf-preview-shell{position:relative;min-height:0;height:100%;display:grid;grid-template-rows:1fr auto;background:#F7F9FC}.pdf-preview-shell .preview-frame{min-height:0}.pdf-preview-fallback{display:none;gap:10px;padding:14px;border-top:1px solid var(--line);background:#ffffff}.pdf-preview-fallback p{margin:0;color:var(--gray);font-size:14px}.pdf-preview-actions{display:flex;flex-wrap:wrap;gap:10px}.pdf-preview-shell.android-pdf{grid-template-rows:1fr;place-items:center;padding:18px}.pdf-preview-shell.android-pdf .pdf-preview-fallback{display:grid;width:min(100%,520px);border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 50px rgba(6,27,58,.12)}@media (max-width:680px){.pdf-preview-actions .btn{width:100%}}.flow-pay-now-bar{align-items:center;gap:18px}.flow-pay-now-actions{display:grid;gap:10px;min-width:min(100%,360px)}.flow-pay-now-actions .terms-line-pay{margin:0;justify-content:flex-start;text-align:left}.flow-pay-now-actions .flow-continue-btn{width:100%}.pdf-preview-shell.android-chrome-pdf{display:block;height:100%;min-height:0;overflow:auto;background:#eef3f9;padding:10px}.pdf-canvas-preview{width:100%;min-height:100%}.pdf-canvas-host{display:grid;gap:14px;justify-items:center;padding-bottom:14px}.pdf-canvas-loading{width:min(100%,520px);padding:18px;border-radius:18px;background:white;box-shadow:0 12px 30px rgba(6,27,58,.12);font-weight:800;text-align:center}.pdf-canvas-page{width:min(100%,720px);background:white;border-radius:14px;box-shadow:0 12px 36px rgba(6,27,58,.16);overflow:hidden}.pdf-canvas-page canvas{display:block;background:white}.pdf-canvas-page-label{padding:8px 12px;font-size:12px;font-weight:900;color:#0B3B75;background:#F5F8FD;border-bottom:1px solid var(--line)}.pdf-preview-fallback-visible{display:grid!important;margin:12px auto;width:min(100%,520px);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(6,27,58,.12)}@media (max-width:720px){.flow-pay-now-bar{grid-template-columns:1fr}.flow-pay-now-actions{width:100%}}.flow-mobile,.flow-mobile .card,.flow-mobile .client-shell,.flow-mobile .flow-screen{min-width:0;max-width:100%}.flow-mobile :where(h1,h2,h3,p,span,b,strong,a,label,button){overflow-wrap:anywhere}.flow-mobile :where(button,.btn,a.btn){width:auto;min-width:0;max-width:100%;height:auto;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.25;text-align:center}.flow-mobile :where(button,.btn,a.btn)>*{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.flow-mobile :where(.mode-chips,.color-chips,.scan-mode-toggle,.scanner-actions,.scanner-primary,.scanner-secondary,.flow-action-row)>*{min-width:0;max-width:100%}.flow-mobile :where(img,video,canvas,iframe){max-width:100%}.mobile-tracker{--tracker-accent:#1473e6;--tracker-soft:#eef6ff;display:grid;gap:18px;width:100%;min-width:0;overflow:hidden;border:1px solid rgba(20,115,230,.16);background:radial-gradient(circle at 100% 0,rgba(20,115,230,.1),transparent 38%),#fff}.mobile-tracker.is-ready{--tracker-accent:#16843a;--tracker-soft:#eaf8ee;border-color:rgba(22,132,58,.28);background:radial-gradient(circle at 100% 0,rgba(39,174,74,.16),transparent 42%),linear-gradient(180deg,#fff,#f5fff7)}.mobile-tracker.has-error{--tracker-accent:#b45309;--tracker-soft:#fff7e8;border-color:rgba(180,83,9,.25)}.tracker-details,.tracker-facts,.tracker-order,.tracker-state-copy,.tracker-toolbar,.tracking-row-main,.tracking-row-main>*{min-width:0}.tracker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.tracker-order{display:grid;gap:2px}.tracker-facts span,.tracker-order span{color:var(--gray);font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.tracker-order strong{color:var(--navy);font-size:clamp(20px,6vw,28px);line-height:1.05;overflow-wrap:anywhere}.tracker-toolbar .status-ticket-btn{width:auto;max-width:52%;min-height:42px;padding:9px 12px;font-size:12px;line-height:1.15;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.tracker-hero{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;padding:18px;border-radius:20px;background:var(--tracker-soft)}.tracker-state-icon{display:grid;place-items:center;width:64px;aspect-ratio:1;border-radius:20px;background:var(--tracker-accent);color:#fff;box-shadow:0 10px 24px rgba(20,115,230,.24);font-size:31px;font-weight:950}.is-printing .tracker-state-icon{animation:tracker-breathe 1.8s ease-in-out infinite}.tracker-state-copy{display:grid;gap:5px}.tracker-eyebrow{color:var(--tracker-accent);font-size:11px;font-weight:950;letter-spacing:.08em}.tracker-state-copy h2{margin:0;color:var(--navy);font-size:clamp(22px,6.5vw,30px);line-height:1.08;letter-spacing:-.55px;overflow-wrap:anywhere}.tracker-state-copy p{margin:0;color:#526176;font-size:13px;font-weight:650;line-height:1.45;overflow-wrap:anywhere}.tracker-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none}.tracker-steps li{position:relative;display:grid;justify-items:center;gap:7px;min-width:0;color:#7a8798;font-size:10px;font-weight:850;line-height:1.15;text-align:center}.tracker-steps li:before{position:absolute;z-index:0;top:14px;right:50%;width:100%;height:3px;content:"";background:#dce4ed}.tracker-steps li:first-child:before{display:none}.tracker-steps li.active:before,.tracker-steps li.complete:before{background:var(--tracker-accent)}.tracker-step-dot{position:relative;z-index:1;display:grid;place-items:center;width:30px;height:30px;border:3px solid #dce4ed;border-radius:50%;background:#fff;color:#7a8798;font-size:11px;font-weight:950}.tracker-steps li.active,.tracker-steps li.complete{color:var(--tracker-accent)}.tracker-steps li.active .tracker-step-dot,.tracker-steps li.complete .tracker-step-dot{border-color:var(--tracker-accent);background:var(--tracker-accent);color:#fff}.tracker-steps li.active .tracker-step-dot{box-shadow:0 0 0 5px rgba(20,115,230,.12)}.tracker-payment-link{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,auto);gap:12px;align-items:center;min-width:0;padding:14px;border:1px solid #cfe3fa;border-radius:18px;background:#f6faff}.tracker-payment-link>div{min-width:0}.tracker-payment-link b{display:block;margin-bottom:4px;color:var(--navy);overflow-wrap:anywhere}.tracker-payment-link p{margin:0;color:var(--gray);font-size:12px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.tracker-payment-link .btn{width:100%;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}.tracker-rank-panel{display:grid;grid-template-columns:minmax(112px,.7fr) minmax(0,1.3fr);gap:12px;padding:14px;border:1px solid #cfe3fa;border-radius:18px;background:linear-gradient(135deg,#f3f8ff,#fff)}.tracker-rank-main{display:grid;align-content:center;justify-items:center;gap:2px;min-width:0;padding:12px;border-radius:14px;background:var(--tracker-accent);color:#fff;text-align:center}.tracker-rank-main>span{font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.tracker-rank-main strong{font-size:clamp(40px,12vw,56px);line-height:.95}.tracker-rank-main sup{margin-left:2px;font-size:.35em;vertical-align:super}.tracker-rank-info{display:grid;align-content:center;gap:10px;min-width:0}.tracker-rank-info>p{margin:0;color:#526176;font-size:13px;font-weight:750;line-height:1.35}.tracker-rank-info>p b{display:block;color:var(--navy);font-size:22px;line-height:1}.tracker-rank-history{display:grid;gap:5px;min-width:0}.tracker-rank-history>span{color:var(--gray);font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.tracker-rank-history>div{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0}.tracker-rank-history>div>span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:27px;padding:4px 7px;border-radius:999px;background:#e6edf5;color:#65748a;font-size:11px;font-weight:900}.tracker-rank-history>div>span:not(:last-child):after{margin-left:6px;content:"›";color:#98a5b5}.tracker-rank-history>div>span.current{background:var(--tracker-accent);color:#fff}.tracker-facts{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:8px}.tracker-facts>div{display:grid;align-content:start;gap:5px;min-width:0;padding:13px;border:1px solid #e2e8f0;border-radius:15px;background:rgba(255,255,255,.82)}.tracker-facts strong{color:var(--navy);font-size:13px;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.tracker-details{width:100%;border-top:1px solid #e6ebf1;padding-top:12px}.tracker-details summary{color:var(--blue);font-size:13px;font-weight:900;cursor:pointer;overflow-wrap:anywhere}.tracker-details[open] summary{margin-bottom:12px}.mobile-tracker .tracking-list,.mobile-tracker .tracking-row,.mobile-tracker .tracking-row-main{width:100%;max-width:100%;min-width:0}.mobile-tracker .tracking-row{grid-template-columns:minmax(0,1fr) auto}.mobile-tracker .tracking-row-main b,.mobile-tracker .tracking-row-main p{display:block;max-width:100%;margin-right:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tracker-live-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:-4px 0 0;color:#68768a;font-size:11px;font-weight:750;line-height:1.35;text-align:center;overflow-wrap:anywhere}.tracker-live-note span{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--tracker-accent);animation:tracker-live 1.5s ease-in-out infinite}@keyframes tracker-breathe{50%{transform:scale(.94);opacity:.88}}@keyframes tracker-live{50%{box-shadow:0 0 0 6px rgba(20,115,230,.12)}}@media (max-width:420px){.mobile-tracker{gap:15px;padding:14px}.tracker-toolbar{align-items:stretch}.tracker-toolbar .status-ticket-btn{max-width:48%;padding-inline:10px;font-size:11px}.tracker-hero{grid-template-columns:52px minmax(0,1fr);gap:11px;padding:14px}.tracker-state-icon{width:52px;border-radius:16px;font-size:25px}.tracker-state-copy h2{font-size:clamp(20px,6.4vw,26px)}.tracker-facts{grid-template-columns:1fr}.tracker-steps li{font-size:9px}.tracker-rank-panel{grid-template-columns:100px minmax(0,1fr);padding:10px}.tracker-payment-link{grid-template-columns:1fr}}@media (max-width:340px){.tracker-toolbar{display:grid}.tracker-toolbar .status-ticket-btn{width:100%;max-width:none}.tracker-hero,.tracker-rank-panel{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.tracker-live-note span,.tracker-state-icon{animation:none!important}}