: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;cursor:not-allowed}.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}}