.gpe-dialog{box-sizing:border-box;width:calc(100vw - 24px);max-width:none!important;height:calc(100dvh - 24px);max-height:none!important;margin:auto;padding:16px;border:1px solid #c9dfef;border-radius:14px;background:#f2f8fd;color:#193e5c;font:18px/1.3 'Segoe UI',Arial,sans-serif;overflow:hidden}
.gpe-dialog[open]{display:flex;flex-direction:column;gap:12px}.gpe-dialog *{box-sizing:border-box}.gpe-dialog::backdrop{background:#14334b80}
.gpe-dialog .gpe-head{display:flex;align-items:center;gap:22px;flex-shrink:0}.gpe-dialog .gpe-brand{font-size:26px;color:#147edc}.gpe-dialog h2{font-size:26px;margin:0}.gpe-dialog .gpe-count{flex:1;font-size:20px}.gpe-dialog button,.gpe-dialog input,.gpe-dialog select,.gpe-dialog textarea{font:inherit;color:#193e5c;border:1px solid #c9dfef;border-radius:7px;background:#fff;min-width:0;box-shadow:none}
.gpe-dialog button{padding:8px 12px;cursor:pointer;margin:0}.gpe-dialog button:hover{border-color:#147edc}.gpe-dialog button:disabled{opacity:.5;cursor:default}.gpe-dialog button.gpe-primary,.gpe-dialog button[aria-pressed=true]{color:#fff;background:#147edc;border-color:#147edc}.gpe-dialog input,.gpe-dialog select{height:40px;padding:6px 9px;width:100%}.gpe-dialog textarea{resize:none;width:100%;height:58px;padding:7px 9px;line-height:1.3}
.gpe-dialog .gpe-body{flex:1;min-height:0;overflow:auto}.gpe-dialog .gpe-settings{background:#fff;border:1px solid #c9dfef;padding:12px;border-radius:10px;margin-bottom:12px}.gpe-dialog .gpe-tools,.gpe-dialog .gpe-modes,.gpe-dialog .gpe-source,.gpe-dialog .gpe-panel-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.gpe-dialog .gpe-source select{width:230px}.gpe-dialog .gpe-file{margin-left:auto;display:flex;gap:8px;align-items:center}.gpe-dialog .gpe-file input{max-width:240px;font-size:15px}.gpe-dialog .gpe-fields{display:grid;grid-template-columns:1fr 1fr 1.6fr 1.3fr auto;gap:10px;align-items:end}.gpe-dialog label{display:block;font-size:16px;color:#526e86}.gpe-dialog label>span{display:block;margin:0 0 4px}.gpe-dialog .gpe-toggles{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px}.gpe-dialog .gpe-toggles label{display:flex;gap:5px;align-items:center}.gpe-dialog .gpe-toggles label>span{margin:0}.gpe-dialog input[type=checkbox]{height:18px;width:18px;accent-color:#147edc;padding:0;margin:0}.gpe-dialog small{font-size:14px;color:#526e86}.gpe-dialog .gpe-toggles small{margin-left:auto}
.gpe-dialog .gpe-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.gpe-dialog .gpe-toolbar strong{flex:1;font-size:20px}.gpe-dialog .gpe-toolbar>span{font-size:16px}.gpe-dialog .gpe-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.gpe-dialog .gpe-card{padding:12px;background:#fff;border:1px solid #c9dfef;border-radius:11px;min-width:0}.gpe-dialog .gpe-cardhead{display:flex;align-items:center;gap:10px;margin-bottom:10px}.gpe-dialog .gpe-photo{position:relative;display:grid;place-items:center;flex-shrink:0;width:64px;height:64px;border-radius:50%;background:#e0f0ff;color:#147edc;overflow:hidden;font-size:25px}.gpe-dialog .gpe-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gpe-dialog .gpe-photo input{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.gpe-dialog .gpe-identity{min-width:0}.gpe-dialog .gpe-identity strong{font-size:20px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gpe-dialog .gpe-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.gpe-dialog .gpe-names{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gpe-dialog .gpe-card>label,.gpe-dialog .gpe-names{margin-bottom:6px}.gpe-dialog .gpe-nick-status,.gpe-dialog .gpe-rowstatus{font-size:14px;min-height:18px;overflow-wrap:anywhere}.gpe-dialog .gpe-nick-status{color:#526e86}.gpe-dialog .gpe-rowstatus{margin-top:4px}.gpe-dialog .gpe-card[data-state=done]{border-color:#62af90}.gpe-dialog .gpe-card[data-state=done] .gpe-rowstatus,.gpe-dialog .gpe-nick-status[data-state=available]{color:#16754f}.gpe-dialog .gpe-card[data-state=error] .gpe-rowstatus,.gpe-dialog .gpe-nick-status[data-state=invalid],.gpe-dialog .gpe-nick-status[data-state=occupied],.gpe-dialog .gpe-message[data-error=true]{color:#b72e39}.gpe-dialog .gpe-footer{display:flex;align-items:center;gap:12px;flex-shrink:0;border-top:1px solid #c9dfef;padding-top:10px}.gpe-dialog .gpe-message{flex:1;font-size:16px;overflow-wrap:anywhere}.gpe-dialog [hidden]{display:none!important}
@media(min-width:1500px){.gpe-dialog .gpe-card{padding:10px}.gpe-dialog .gpe-cardhead{margin-bottom:6px}.gpe-dialog .gpe-photo{width:56px;height:56px}.gpe-dialog .gpe-card input{height:36px;font-size:18px}.gpe-dialog .gpe-card textarea{height:52px;font-size:18px}.gpe-dialog .gpe-card label>span{margin-bottom:2px}.gpe-dialog .gpe-card>label,.gpe-dialog .gpe-names{margin-bottom:4px}.gpe-dialog .gpe-card[data-state=ready] .gpe-rowstatus{display:none}}
@media(max-width:1450px){.gpe-dialog .gpe-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.gpe-dialog .gpe-fields{grid-template-columns:1fr 1fr 1.3fr}.gpe-dialog .gpe-fields>label:nth-child(4){grid-column:span 2}}
@media(max-width:1100px){.gpe-dialog .gpe-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.gpe-dialog .gpe-head{gap:12px;flex-wrap:wrap}}
@media(max-width:800px){.gpe-dialog .gpe-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.gpe-dialog .gpe-fields{grid-template-columns:1fr 1fr}.gpe-dialog .gpe-fields>label:nth-child(3){grid-column:span 2}.gpe-dialog .gpe-fields>label:nth-child(4){grid-column:auto}.gpe-dialog .gpe-footer{flex-wrap:wrap}.gpe-dialog .gpe-file{margin-left:0;flex-wrap:wrap}.gpe-dialog .gpe-brand{display:none}}
@media(max-width:500px){.gpe-dialog{padding:10px;width:calc(100vw - 12px);height:calc(100dvh - 12px)}.gpe-dialog .gpe-cards,.gpe-dialog .gpe-fields{grid-template-columns:1fr}.gpe-dialog .gpe-fields>label:nth-child(n){grid-column:auto}.gpe-dialog h2{font-size:22px}.gpe-dialog .gpe-tools,.gpe-dialog .gpe-source{align-items:stretch}.gpe-dialog .gpe-source select{max-width:100%}}
/* Explicit fields and independent photo sources; the common form stays visible. */
.gpe-dialog .gpe-extra{position:relative}.gpe-dialog .gpe-extra summary{padding:8px 12px;cursor:pointer;border-radius:7px;border:1px solid #c9dfef}.gpe-dialog .gpe-extra-actions{position:absolute;z-index:2;right:0;top:calc(100% + 6px);display:grid;gap:5px;min-width:230px;padding:8px;background:#fff;border:1px solid #c9dfef;border-radius:9px;box-shadow:0 5px 16px #193e5c20}.gpe-dialog .gpe-extra-actions button{text-align:left}.gpe-dialog .gpe-common-panel{margin-top:16px}.gpe-dialog .gpe-panel-tools{margin-bottom:10px}.gpe-dialog .gpe-file img{width:36px;height:36px;object-fit:cover;border-radius:50%}
.gpe-dialog .gpe-card{display:flex;flex-direction:column;gap:4px}.gpe-dialog .gpe-photo>span{margin:0}.gpe-dialog .gpe-identity{flex:1}.gpe-dialog .gpe-identity small{font-size:13px;overflow-wrap:anywhere}.gpe-dialog .gpe-identity strong{font-size:18px}.gpe-dialog .gpe-text-button{border:0;background:transparent;color:#147edc;font-size:13px;padding:4px 0;display:block}.gpe-dialog .gpe-inline-field input,.gpe-dialog .gpe-inline-field textarea{width:100%}.gpe-dialog .gpe-inline-field[data-changed=true] input,.gpe-dialog .gpe-inline-field[data-changed=true] textarea{background:#f0f8ff;border-color:#91bbdd}.gpe-dialog .gpe-card[data-state=draft]{border-color:#91bbdd}.gpe-dialog .gpe-rowstatus{margin-top:auto}.gpe-dialog .gpe-names label{min-width:0}
.gpe-dialog .gpe-picker{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #c9dfef;border-radius:12px;padding:20px;background:#f2f8fd;color:#193e5c;font:16px/1.35 'Segoe UI',Arial,sans-serif}.gpe-picker::backdrop{background:#14334b80}.gpe-dialog .gpe-picker-head,.gpe-dialog .gpe-picker-footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gpe-dialog .gpe-picker h3{flex:1;margin:0;font-size:20px}.gpe-dialog .gpe-picker-head{margin-bottom:16px}.gpe-dialog .gpe-picker-head button{margin-left:auto}.gpe-dialog .gpe-picker-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 10px}.gpe-dialog .gpe-picker-filters label{min-width:0}.gpe-dialog .gpe-picker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0}.gpe-dialog .gpe-picker-grid button{aspect-ratio:1;padding:3px;overflow:hidden}.gpe-dialog .gpe-picker-grid button[aria-pressed=true]{border:3px solid #15803d;background:#e6f6ec;padding:1px}.gpe-dialog .gpe-picker-grid img{width:100%;height:100%;object-fit:cover;display:block}.gpe-dialog .gpe-picker-note{font-size:14px;min-height:20px}.gpe-dialog .gpe-picker-footer>span{flex:1}.gpe-dialog .gpe-picker-footer{position:sticky;bottom:-20px;background:#f2f8fd;padding:12px 0;margin-bottom:-8px}
@media(max-width:800px){.gpe-dialog .gpe-tools{align-items:flex-start}.gpe-dialog .gpe-photo{width:52px;height:52px}.gpe-dialog .gpe-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:500px){.gpe-dialog .gpe-picker{padding:12px}.gpe-dialog .gpe-picker-filters{grid-template-columns:1fr}.gpe-dialog .gpe-picker-footer{bottom:-12px}.gpe-dialog .gpe-picker-footer>span{flex-basis:100%}}
.gpe-dialog .gpe-picker-filters option[data-empty=true]{color:#728394}
/* Model-first editor: one preparation action, editable cards always visible. */
.gpe-dialog .gpe-model-source{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-bottom:12px}
.gpe-dialog .gpe-model-identity{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.gpe-dialog .gpe-model-identity>div{display:grid;gap:3px;min-width:0}.gpe-dialog .gpe-model-identity strong,.gpe-dialog .gpe-model-identity small{overflow-wrap:anywhere}.gpe-dialog .gpe-model-identity>img,.gpe-dialog .gpe-model-initial{width:56px;height:56px;border-radius:50%;flex-shrink:0;object-fit:cover}.gpe-dialog .gpe-model-initial{display:grid;place-items:center;background:#e0f0ff;color:#147edc}.gpe-dialog .gpe-model-identity small[data-error=true]{color:#985715}
.gpe-dialog .gpe-tools{padding:12px 0;border-top:1px solid #c9dfef;border-bottom:1px solid #c9dfef}.gpe-dialog .gpe-common-panel{margin-top:12px}.gpe-dialog .gpe-fields{grid-template-columns:1fr 1fr 1.4fr}.gpe-dialog .gpe-fields>label:nth-child(3){grid-column:auto}.gpe-dialog .gpe-fields>label:nth-child(4){grid-column:1/-1}.gpe-dialog .gpe-fields textarea{height:54px;resize:vertical}.gpe-dialog .gpe-prepare-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.gpe-dialog .gpe-prepare-bar small{max-width:70%}.gpe-dialog .gpe-prepare-bar button{flex-shrink:0}.gpe-dialog .gpe-toggles{gap:12px 20px}.gpe-dialog .gpe-cards{grid-template-columns:repeat(var(--gpe-card-columns,5),minmax(0,1fr))}.gpe-dialog .gpe-extra-actions{width:300px}.gpe-dialog .gpe-extra-actions .gpe-source{display:grid;gap:8px}.gpe-dialog .gpe-extra-actions .gpe-source select{width:100%}.gpe-dialog .gpe-extra-actions>.gpe-source{padding-bottom:10px;border-bottom:1px solid #c9dfef}
@media(max-width:1450px){.gpe-dialog .gpe-cards{grid-template-columns:repeat(min(var(--gpe-card-columns,5),4),minmax(0,1fr))}}
@media(max-width:1100px){.gpe-dialog .gpe-cards{grid-template-columns:repeat(min(var(--gpe-card-columns,5),3),minmax(0,1fr))}}
@media(max-width:800px){.gpe-dialog .gpe-cards{grid-template-columns:repeat(min(var(--gpe-card-columns,5),2),minmax(0,1fr))}.gpe-dialog .gpe-fields{grid-template-columns:1fr 1fr}.gpe-dialog .gpe-fields>label:nth-child(n+3){grid-column:1/-1}.gpe-dialog .gpe-prepare-bar{align-items:stretch;flex-direction:column}.gpe-dialog .gpe-prepare-bar small{max-width:none}.gpe-dialog .gpe-model-identity{flex-basis:100%}}
@media(max-width:800px){.gpe-dialog .gpe-footer{flex-direction:column;align-items:stretch}.gpe-dialog .gpe-message{width:100%;min-width:0;flex:auto}}
@media(max-width:500px){.gpe-dialog .gpe-cards,.gpe-dialog .gpe-fields,.gpe-dialog .gpe-model-source{grid-template-columns:1fr}.gpe-dialog .gpe-fields>label:nth-child(n){grid-column:auto}.gpe-dialog .gpe-extra{width:100%}.gpe-dialog .gpe-extra-actions{position:static;margin-top:8px;width:100%;min-width:0}.gpe-dialog .gpe-extra summary{width:max-content}}
