:root{--blue:#163a5f;--green:#2f7d5a;--cyan:#69b9d0;--paper:#f4f7f8;--ink:#202a33;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{min-height:44px;border:1px solid #cfdce5;border-radius:12px;background:white;color:var(--blue);padding:10px 14px;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.48;cursor:default}button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}button[aria-pressed=true]{border:2px solid var(--blue);background:#eaf3f8}.primary{background:var(--blue);color:white;border-color:var(--blue);font-weight:600}[hidden]{display:none!important}.editor-shell{max-width:768px;margin:auto;background:white;min-height:100dvh}.editor-header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid #e3eaee}.editor-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--blue);font-size:20px;font-weight:700}.test-label{font-size:11px;max-width:120px;text-align:right;color:#526775}main{padding:12px 20px calc(110px + env(safe-area-inset-bottom));max-width:580px;margin:auto}.steps{display:flex;gap:8px;margin:0 0 24px;font-size:12px;color:#758b9c}.steps span{flex:1;padding:9px 0;border-top:3px solid #e3eaee}.steps [aria-current=step]{color:var(--blue);border-color:var(--cyan);font-weight:700}h1{color:var(--blue);font-size:clamp(24px,5vw,34px);line-height:1.12;margin:8px 0 20px;letter-spacing:-.7px}h2{font-size:19px;color:var(--blue)}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--green);font-weight:700}.hint{color:#627584;font-size:12px;line-height:1.5}.color-switch,.source-actions,.compare-actions{display:flex;gap:8px;margin:12px 0}.color-switch>*,.source-actions>*{flex:1}.sizes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:14px 0}.sizes button{padding:14px 3px}.sizes strong{display:block;font-size:14px}.sizes small{display:block;margin-top:5px;color:#687d8d;font-size:11px}.photo-card{margin:14px 0;text-align:center;border:1px solid #dce7ed;border-radius:18px;background:var(--paper);overflow:hidden}.photo-card img{display:block;max-width:100%;max-height:clamp(180px,34dvh,350px);width:auto;min-height:80px;object-fit:contain;margin:auto}.photo-card figcaption{font-size:11px;padding:8px 12px;color:#526775}.main-photo{background:#eaf0f3}.variants{display:flex;gap:6px}.variants button{flex:1;font-size:11px;padding:8px 4px}.variants small{display:block;margin-top:5px}.compare-actions{justify-content:center}.compare-actions button{font-size:12px}.tool-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:12px 0}.tool-tabs button{padding:8px 3px;font-size:11px}details{margin:14px 0;border-top:1px solid #e3eaee;padding:12px 0}summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--blue);font-size:13px}label{display:block;margin:12px 0;color:var(--blue);font-size:13px}input:not([type=checkbox]),select,textarea{display:block;min-height:44px;border:1px solid #cbdbe5;border-radius:10px;background:white;padding:10px;width:100%;margin-top:7px;color:var(--ink)}textarea{min-height:76px;resize:vertical}.fields{display:flex;gap:8px}.fields>*{flex:1;min-width:0}.consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;color:#536b7c}.consent input{min-width:22px;min-height:22px;accent-color:var(--blue)}.editor-bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;justify-content:space-between;width:min(100%,768px);padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#ffffffed;backdrop-filter:blur(12px);border-top:1px solid #dce7ed;z-index:10}.editor-bottom button{font-size:12px;white-space:nowrap}.editor-bottom span{font-size:14px;font-weight:700;white-space:nowrap;color:var(--blue)}.editor-footer{margin-top:24px;color:#6a7f8b;font-size:10px;line-height:1.6}.transition{position:fixed;inset:0;z-index:30;background:linear-gradient(150deg,#163a5f,#245d7c);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.transition h2{color:white;font-size:26px}.transition p{max-width:340px;color:#d3edf3;font-size:14px}.orbit{height:54px;width:54px;border:3px solid #ffffff30;border-top-color:#69b9d0;border-radius:50%;animation:spin 1.4s linear infinite;margin-top:28px}@keyframes spin{to{transform:rotate(360deg)}}dialog{border:0;border-radius:20px;padding:26px;max-width:calc(100vw - 32px);width:400px;color:var(--blue)}dialog::backdrop{background:#163a5f99}.dialog-close{float:right}.sheet-photo{max-height:360px;max-width:100%;display:block;margin:auto}.payment-note{padding:14px;border-radius:12px;background:#edf5f8;font-size:13px;line-height:1.6}.order-summary{background:var(--paper);padding:18px;border-radius:16px;margin:16px 0;font-size:13px}.clothing-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}#status{font-size:13px;line-height:1.6;overflow-wrap:anywhere}#tools-panel{border:1px solid #dce7ed;padding:14px;border-radius:14px;background:var(--paper)}@media(max-width:360px){main{padding-left:12px;padding-right:12px}.editor-header{padding:12px}.editor-bottom{gap:6px;padding-left:8px;padding-right:8px}.editor-bottom button{padding:10px}.sizes strong{font-size:12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}body.busy #editor-main{visibility:hidden}
.source-actions>*{min-width:0;overflow-wrap:anywhere;font-size:13px}.sizes button{min-width:0}.editor-shell{overflow-x:clip}.editor-footer{margin-bottom:8px}.variants>*{min-width:0}#status:empty{display:none}

.source-actions button{font-size:11px;padding:10px 8px}
/* Approved Natigora first screen, 21 October: preserve the generated reference layout. */
:root{--blue:#163a5f;--green:#2f7d5a;--cyan:#69b9d0;--paper:#f4f7f8}body{background:var(--paper)}.editor-shell{background:#f9fbfc;max-width:900px}.editor-header{border:0;padding:26px 30px 14px;max-width:768px;margin:auto}.editor-brand{gap:14px}.editor-brand img{width:60px;height:60px}.editor-brand span{display:flex;flex-direction:column;gap:3px}.editor-brand strong{font-size:30px;letter-spacing:-.8px}.editor-brand small{font-size:15px;font-weight:400;color:#60738a}.editor-account{display:grid;place-items:center;width:46px;height:46px;border:1px solid #dae4ec;border-radius:50%;background:#edf3f7;color:#202a33}.editor-account svg{width:24px;height:24px}main{max-width:768px;padding:12px 30px 130px}.steps{gap:20px;margin:10px 0 28px;align-items:center;font-size:15px}.steps span{border:0;display:flex;align-items:center;gap:10px;white-space:nowrap;padding:0;position:relative}.steps span:not(:last-child):after{content:'';height:2px;background:#dce5eb;flex:1;min-width:14px;margin-left:8px}.steps b{display:grid;place-items:center;background:#e9eff3;border:1px solid #d9e3eb;border-radius:50%;width:34px;height:34px;flex-shrink:0;font-weight:500}.steps [aria-current=step] b{background:var(--blue);color:white;border-color:var(--blue)}.photo-entry h1{font-size:clamp(27px,4vw,38px);font-weight:750;letter-spacing:-1.2px;color:#111e2d;margin:0 0 10px;line-height:1.15}.entry-subtitle{font-size:clamp(15px,2.7vw,21px);line-height:1.4;color:#5c6e82;margin:0 0 22px}.photo-entry .color-switch{border:1px solid #d4dfe7;border-radius:12px;gap:0;margin:0 0 22px;background:white;overflow:hidden}.photo-entry .color-switch button{border:0;border-radius:10px;font-size:17px;min-height:52px;font-weight:600;background:transparent;color:var(--blue)}.photo-entry .color-switch button[aria-pressed=true]{background:var(--blue);color:white}.field-title,.entry-select{font-size:18px;font-weight:600;color:#192a3d;margin:18px 0 10px}.sizes{margin:0 0 18px;gap:8px}.sizes button{min-height:66px;border-radius:11px;background:white;position:relative;padding:10px 7px}.sizes button strong{font-size:15px;font-weight:500;white-space:nowrap}.sizes button[aria-pressed=true]{background:#e5f4fc;border:2px solid var(--blue)}.sizes button[aria-pressed=true]:after{content:'✓';position:absolute;right:6px;top:4px;border-radius:50%;background:var(--blue);color:white;width:17px;height:17px;font-size:12px}.sizes button[data-size=custom]{display:flex;align-items:center;justify-content:center;gap:7px}.sizes svg{width:20px;height:20px;color:#64788a;flex-shrink:0}.entry-select{display:block;margin:18px 0 0}.entry-select select{font-size:17px;font-weight:400;min-height:54px;background:white;border:1px solid #cfdae3;padding:10px 14px;border-radius:10px}.upload-area{margin-top:22px;border:1.5px dashed #69b9d0;border-radius:14px;background:#f0faff;overflow:hidden}.upload-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;min-height:210px;border:0;background:transparent;border-radius:0}.upload-drop svg{width:70px;height:70px;color:#40abd0}.upload-drop strong{font-size:22px}.upload-drop small{font-size:16px;color:#5b7186}.upload-area .photo-card{border:0;border-radius:0;margin:0;background:transparent}.upload-area .photo-card img{max-height:350px;max-width:100%;object-fit:contain}.upload-area .photo-card figcaption{font-size:12px}.source-actions{gap:10px;margin:14px 0}.source-actions button{min-height:62px;border:0;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:11px;font-size:16px!important;font-weight:600;padding:12px 10px!important}.source-actions svg{width:26px;height:26px;flex-shrink:0}#camera{background:var(--green);color:white}.photo-advice{padding:16px 20px;background:#e8f6fc;border-radius:12px;margin-top:16px}.photo-advice h2{font-size:18px;margin:0 0 12px}.photo-advice ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}.photo-advice li{display:flex;gap:12px;align-items:center;font-size:15px;color:#465d73}.photo-advice li:before{content:'✓';display:grid;place-items:center;background:var(--green);color:white;min-width:22px;height:22px;border-radius:50%;font-size:14px}.photo-entry .consent{font-size:13px;margin-top:17px;align-items:flex-start}.editor-bottom{width:min(100%,900px);padding:16px max(20px,calc((min(100vw,900px) - 708px)/2)) calc(16px + env(safe-area-inset-bottom));backdrop-filter:none;background:white;gap:20px}.editor-bottom button{min-height:50px;border-radius:11px;font-size:16px;padding:12px 22px}.editor-bottom #next{background:var(--green);color:white;border-color:var(--green)}.editor-bottom #back{background:#f2f7fa;border-color:#dce5eb}.editor-bottom #total{font-size:20px;color:#14273e}.editor-footer{font-size:10px;text-align:center}.fields label{min-width:0}#custom-dimensions{padding:0 12px;background:#edf5f9;border-radius:12px}#status:not(:empty){padding:12px;border-radius:10px;background:#fff4df;color:#594322}
@media(max-width:600px){.editor-header{padding:18px 18px 10px}.editor-brand img{width:44px;height:44px}.editor-brand strong{font-size:25px}.editor-brand small{font-size:12px}.editor-account{width:38px;height:38px}main{padding:10px 18px 115px}.steps{gap:10px;font-size:12px;margin:10px 0 23px}.steps span{gap:6px}.steps b{width:27px;height:27px}.steps span:not(:last-child):after{min-width:6px;margin-left:3px}.photo-entry h1{font-size:30px}.entry-subtitle{font-size:16px;margin-bottom:18px}.sizes button{min-height:56px;padding:8px 2px}.sizes button strong{font-size:12px}.sizes button[data-size=custom]{gap:3px}.sizes svg{width:16px;height:16px}.field-title,.entry-select{font-size:16px}.entry-select select{font-size:15px;min-height:49px}.upload-drop{min-height:175px}.upload-drop svg{width:57px;height:57px}.upload-drop strong{font-size:20px}.upload-drop small{font-size:13px}.source-actions button{font-size:12px!important;gap:6px;min-height:56px}.source-actions svg{width:23px;height:23px}.photo-advice{padding:14px}.photo-advice h2{font-size:17px}.photo-advice li{font-size:12px;gap:9px}.editor-bottom{padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:12px}.editor-bottom button{font-size:13px;padding:11px 15px;min-height:47px}.editor-bottom #total{font-size:18px}.photo-entry .color-switch button{font-size:15px;min-height:48px}}
@media(max-width:360px){main{padding-left:12px;padding-right:12px}.editor-header{padding-left:12px;padding-right:12px}.photo-entry h1{font-size:27px}.sizes{gap:5px}.sizes button strong{font-size:11px}.sizes svg{width:13px;height:13px}.sizes button[data-size=custom]{gap:2px}.source-actions button{font-size:11px!important;padding-left:5px!important;padding-right:5px!important}.source-actions svg{width:19px;height:19px}.steps{font-size:11px;gap:7px}.editor-bottom{gap:8px;padding-left:10px;padding-right:10px}.editor-bottom button{padding:10px 12px}}

/* Processing stays on the current screen, without an interstitial. */
.inline-progress{margin:16px 0;padding:14px 16px;border-radius:12px;background:#edf5f8;color:var(--blue);font-size:13px;line-height:1.5}.inline-progress p{margin:6px 0}.inline-progress button{margin-top:6px}

.inline-progress progress{display:block;width:100%;height:12px;margin:12px 0 6px;accent-color:var(--green)}#processing-percent{font-weight:700}#processing-elapsed{font-size:12px;color:#526775}

#network-wait{max-width:728px;margin:12px auto;padding:12px 16px}#status:not(:empty){border-left:3px solid var(--cyan);padding:12px;background:#f4f7f8}

.timing-log{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto}

.load-error{max-width:728px;margin:12px auto;padding:14px 16px;background:#fff0ed;color:#8f3025;border:1px solid #edb8ad;border-radius:12px;overflow-wrap:anywhere;font-size:13px;line-height:1.5}#login-wait progress{display:block;width:100%;accent-color:var(--green)}

/* Document catalogue and narrow-screen form layout. */
.document-picker{margin-top:18px;min-width:0}.document-picker select{width:100%;max-width:100%;min-height:50px;font-size:16px;overflow:hidden;text-overflow:ellipsis}.document-picker input{font-size:16px;min-height:48px}.document-picker .entry-select{margin:0}.document-picker .hint{margin:6px 0}.document-requirements{margin:16px 0;padding:16px;border:1px solid #cbdde6;border-radius:12px;background:#f0f7fa;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.document-requirements h2{font-size:17px;margin:0 0 8px}.document-requirements p{margin:8px 0}.document-requirements a{color:var(--blue);text-decoration:underline}.sizes button[data-size=custom]{flex-wrap:wrap}.sizes button strong{white-space:normal;line-height:1.25}.sizes button[aria-pressed=true]:after{right:5px;top:4px}.sizes button{padding:17px 7px 9px}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}#custom-dimensions{padding:6px 14px}#custom-dimensions input,#custom-dimensions select{font-size:16px;min-width:0}#head-percent{max-width:180px}.source-actions>*{min-width:0}.source-actions span{overflow-wrap:anywhere}section,main,.document-picker,.fields>*{min-width:0}#document-requirements input[type=range]{padding:8px 0;min-height:44px}@media(max-width:480px){.sizes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sizes button{min-height:58px;padding:14px 18px 9px}.sizes button strong{font-size:14px}.sizes button[data-size=custom]{gap:8px}.fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fields>label:last-child{grid-column:1/-1}.fields>label:last-child select{max-width:160px}.editor-bottom{gap:8px;padding-left:12px;padding-right:12px}.editor-bottom button{font-size:13px;padding:10px 12px}.editor-bottom #total{font-size:17px}.document-requirements{padding:13px}.source-actions{flex-wrap:wrap}.source-actions button{font-size:13px!important}}@media(max-width:340px){.editor-bottom button{padding:10px 8px;font-size:12px}.editor-bottom #total{font-size:16px}.source-actions button{flex-basis:100%}.steps{gap:5px}.steps span{gap:4px}.steps span:not(:last-child):after{display:none}}

.dv-source img{width:min(100%,350px)!important;aspect-ratio:1;object-fit:cover!important;height:auto!important;max-height:none!important}

@media(max-width:480px){.source-actions{grid-template-columns:1fr}.source-actions button{overflow-wrap:normal;word-break:normal}#camera{font-size:clamp(12px,3.2vw,15px);padding-inline:8px}}
