*{box-sizing:border-box}body{margin:0;background:#101825;color:#e8eef8;font:15px system-ui;display:flex;flex-direction:column;height:100dvh}header,footer{display:flex;gap:16px;align-items:center;padding:14px 20px;background:#172338;flex-shrink:0}header strong{font-size:22px}header strong span{font-size:16px;color:#9fb4d2}.badge{font-size:12px;color:#ffd383;border:1px solid #836331;padding:6px;border-radius:5px}#identity{margin-left:auto}main{min-height:0;flex:1;padding:16px;overflow:auto}#client{height:100%;display:flex;flex-direction:column}nav{display:flex;align-items:center;gap:12px;padding-bottom:12px;flex-shrink:0}.columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:0;flex:1}.panel{background:#172338;border:1px solid #2e4260;padding:18px;border-radius:10px;min-height:0;overflow:auto}h1,h2{margin:0 0 14px}p{color:#bac9df;line-height:1.6}label{display:block;margin-bottom:12px}input,textarea,select{display:block;width:100%;margin-top:5px;padding:9px;background:#0e192b;border:1px solid #577093;border-radius:5px;color:inherit;font:inherit}textarea{min-height:65px;resize:vertical}button{padding:9px 14px;background:#3e79d4;color:white;border:0;border-radius:5px;font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:wait}.pair,.pricegrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}#signin{max-width:480px;margin:40px auto}.card{border:1px solid #415779;background:#102039;border-radius:8px;padding:15px;margin-bottom:12px}.card h3{margin-top:0}.error{color:#ffb0a6}footer{font-size:12px;justify-content:space-between}details{margin:12px 0}summary{cursor:pointer}[hidden]{display:none!important}@media(max-width:760px){body{height:auto;min-height:100dvh}header{flex-wrap:wrap;padding:12px}.badge{order:3;width:100%}main{overflow:visible}.columns{grid-template-columns:1fr}#client{height:auto}.panel{overflow:visible}.pair,.pricegrid{grid-template-columns:1fr}nav{flex-wrap:wrap}nav span{width:100%}footer{flex-direction:column;align-items:flex-start;position:sticky;bottom:0}.card{overflow-wrap:anywhere}}

.review-preview{display:block;width:100%;max-width:640px;max-height:460px;object-fit:contain;background:#0e192b;border-radius:6px}.card h4{overflow-wrap:anywhere}

.transaction-panel{margin-top:12px;border-top:1px solid #405879;padding-top:12px}.purchase-check{width:24px!important;height:24px;accent-color:#378de8;vertical-align:middle;margin-right:10px}.delivery-link{display:inline-block;color:#b8ddff;padding:10px 14px;margin:4px;border:1px solid #6090bd;border-radius:6px}.transaction-panel textarea{min-height:80px}.transaction-panel details{margin:12px 0}.transaction-panel p{overflow-wrap:anywhere}
/* Step4A public photo browser */
.listing-browser{display:flex;flex-direction:column;gap:14px;min-height:0}.listing-browser>.panel:first-child{flex-shrink:0}.listing-browser>.results{flex:1;min-height:0;overflow:auto}.searchbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.searchbar label{flex:1;min-width:140px}.listing-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.listing-card{padding:14px;border:1px solid #425c7a;border-radius:10px;overflow-wrap:anywhere}.listing-card img{width:100%;height:190px;object-fit:contain;background:#091625}.listing-card h2{font-size:18px;margin:10px 0}.listing-card summary{cursor:pointer;padding:8px 0;color:#ade8ef}@media(max-width:700px){.listing-browser>.results{overflow:visible}.searchbar{display:block}.listing-card img{height:auto;max-height:260px}}

.order-photo{max-height:280px;max-width:100%;object-fit:contain}.delivery-link{display:inline-block;padding:12px;margin:8px;color:#7ce4ef}.listing-browser #purchase{border-top:1px solid #31516a;padding-top:12px;margin-top:12px}.listing-browser #orders{display:grid;gap:12px}.listing-browser .toolbar{display:flex;justify-content:space-between;align-items:center}

/* Client UI r001: small header, internal scroll, visible selection and form groups. */
:root{color-scheme:dark;--accent:#3ec3d0}header{padding:10px 18px;min-height:58px}header strong{font-size:20px}header nav{padding:0}a{color:#a7e8ef;text-decoration:none}a:hover{text-decoration:underline}button{min-height:42px;background:#126878;border:1px solid #3b9fab;border-radius:8px}button.secondary{background:transparent;color:#badddf}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #f6ce65;outline-offset:3px}.modebar{padding:6px 18px;background:#102b38;color:#a9dce4;font-size:12px}.columns{grid-template-columns:minmax(240px,28%) minmax(0,1fr)}.mission-row{display:block;width:100%;text-align:left;margin-bottom:10px;background:#102039}.mission-row.selected{border:2px solid #3ec3d0}.panel>.card{border:0;padding:0;background:none}fieldset{border:0;margin:0;padding:0;min-width:0}legend{font-size:18px;font-weight:700;margin-bottom:18px}.wizard-actions{display:flex;justify-content:space-between;gap:12px;position:sticky;bottom:-18px;background:#172338;padding:14px 0;margin-top:16px}.check{display:flex;align-items:flex-start;gap:10px}.check input,input[type=checkbox]{width:24px!important;height:24px;flex-shrink:0;accent-color:#3ec3d0;display:inline-block}details{padding:10px;border:1px solid #354d68;border-radius:8px}summary{color:#aae5ec;min-height:28px}input,textarea,select{min-height:44px;color:#edf4fa}input[type=datetime-local]{color-scheme:dark}h4{font-size:14px}.map-wrap{height:320px;position:relative;border:1px solid #526e89;border-radius:8px;overflow:hidden}#mapcanvas{width:100%;height:320px;touch-action:none;display:block}.map-buttons{position:absolute;left:10px;top:10px;display:flex;gap:5px;flex-wrap:wrap;max-width:calc(100% - 20px)}.map-buttons button{background:#172338;min-height:36px;padding:6px 10px}.attribution{position:absolute;bottom:0;right:0;background:#fff;color:#16466b;padding:3px 7px;font-size:11px}.listing-card img{height:240px;object-fit:cover;border-radius:7px}.listing-card h2{font-size:17px}.order-photo{width:100%;max-height:380px;object-fit:contain}.review-preview{max-height:380px}.listing-browser#purchase-workspace{height:100%}.purchase-columns{display:grid;grid-template-columns:minmax(230px,28%) minmax(0,1fr);gap:16px;min-height:0;flex:1}.purchase-columns>.panel{overflow:auto}.selection-photo{display:block;width:100%;max-height:240px;object-fit:contain}.selection-card:has(input:checked){border:2px solid var(--accent);background:#163b48}.form-note{background:#102b38;padding:10px;border-radius:6px}.reason-form textarea{min-height:100px}.reason-form button{margin-right:8px}footer{padding:8px 18px;min-height:36px;font-size:12px}#message.error{color:#ffc0b6}
@media(max-width:760px){.columns,.purchase-columns{grid-template-columns:1fr}.mission-list{max-height:230px;overflow:auto!important}header nav{gap:14px}header strong{width:100%}.wizard-actions{bottom:0}header #identity{margin-left:0}.listing-card img{height:240px}.map-buttons{max-width:95%}.purchase-columns>.panel{overflow:visible}}
.purchase-shell{display:flex;flex-direction:column;height:100%;overflow:hidden!important}.purchase-shell>.next{margin:5px 0 10px}.purchase-shell>.toolbar{flex-shrink:0}.purchase-shell>.purchase-columns{margin-top:10px}.transaction-panel .selection-card{display:inline-block;vertical-align:top;width:calc(50% - 12px);margin:6px}.selection-card label{display:flex;gap:10px;align-items:center}@media(max-width:760px){.purchase-shell{height:auto;overflow:visible!important}.transaction-panel .selection-card{width:100%}}


/* Dark role theme: client */
:root{color-scheme:dark;--accent:#468bd4}body{background:#101825;color:#e8eef8}header,footer,.panel,.purchase-shell{background:#172338;color:#e8eef8}.modebar,#message{background:#0e192b;color:#b8d8fa}input,textarea,select{background:#0e192b;color:#e8eef8;border-color:#468bd4}input[type=datetime-local]{color-scheme:dark}input[type=checkbox]{min-height:24px;padding:0;margin-top:2px}button{background:#468bd4;color:#fff}button.secondary{color:#b8d8fa}a,summary,.delivery-link{color:#b8d8fa}p{color:#b8d8fa}.card,.mission-row,details,.listing-card{background:#0e192b;border-color:#468bd455}.mission-row.selected,.selection-card:has(input:checked){background:#172338;border-color:#468bd4}.wizard-actions{background:#172338}.map-buttons button{background:#172338;color:#e8eef8;border-color:#468bd4}.step-label{color:#b8d8fa}main:has(>#signin:not([hidden])){overflow:auto}
#mapcanvas{width:100%;height:320px;min-height:320px}.language-switch{display:flex;gap:4px;align-items:center}.language-switch button{padding:6px 9px;min-height:36px;width:auto}.language-switch button[aria-pressed=true]{outline:2px solid currentColor}header{flex-wrap:wrap}details>summary{cursor:pointer}.inline-reason{display:grid;gap:8px;padding:12px}.inline-reason input,.inline-reason textarea{width:100%}.map-wrap{position:relative}#mapcanvas .gm-style button{color:#172338}.map-terms{font-size:12px}
@media(max-width:760px){header{gap:8px}header strong{font-size:20px}header strong span{font-size:14px}header>.language-switch{order:1;margin-left:auto}header>nav:not(.language-switch){order:3;flex-basis:100%;padding-bottom:0}header>#identity{order:2}header>#logout{order:2}.language-switch button{padding:6px;min-width:32px}}

/* Mission location r004: input column and full-height map column. */
.location-fields,.location-map{min-width:0}
@media(min-width:1051px){
 .creation-panel:has(#creation:not([hidden]) [data-step="0"]:not([hidden])){overflow:hidden;position:relative;display:flex;flex-direction:column}
 .creation-panel:has([data-step="0"]:not([hidden])) #creation:not([hidden]){display:flex;flex-direction:column;flex:1;min-height:0;width:calc((100% - 18px)/2)}
 .creation-panel:has([data-step="0"]:not([hidden])) #mission{display:flex;flex-direction:column;flex:1;min-height:0}
 #mission [data-step="0"]{display:flex;flex-direction:column;flex:1;min-height:0}
 #mission [data-step="0"]>legend{flex-shrink:0}
 .location-layout{display:flex;flex-direction:column;flex:1;min-height:0}
 .location-fields{overflow:auto;min-height:0;padding-right:4px}
 .location-map{position:absolute;top:18px;bottom:18px;right:18px;width:calc((100% - 54px)/2);display:flex;flex-direction:column;gap:6px;min-height:0}
 .location-map .map-wrap{height:auto;flex:1;min-height:0}
 .location-map #mapcanvas{height:100%;min-height:0;touch-action:auto}
 .location-map .map-terms{flex-shrink:0}
 .creation-panel:has([data-step="0"]:not([hidden])) .wizard-actions{position:static;flex-shrink:0;margin-top:10px;padding:10px 0 0}
}
@media(max-width:1050px){
 .location-layout{display:flex;flex-direction:column;gap:14px}
 .location-map .map-wrap,.location-map #mapcanvas{height:400px;min-height:400px}
}
@media(max-width:760px){
 .location-map .map-wrap,.location-map #mapcanvas{height:360px;min-height:360px}
}
