.premium-editor{
  --ink:#101114;
  --muted:#62666d;
  --line:#d7d9dd;
  --panel:#fff;
  --canvas:#17191e;
  --soft:#f4f5f6;
  --red:#d5001c;
  --green:#19783b;
  --amber:#a45e00;
  font-family:"Porsche Next",Inter,Arial,sans-serif;
  color:var(--ink);
  background:#eef0f2;
}
.premium-editor *{box-sizing:border-box}
.premium-editor button,.premium-editor input,.premium-editor select{font:inherit}
.premium-editor button{cursor:pointer}
.premium-editor{width:100%;min-height:100vh;background:#eef0f2}
#photo-dialog.photo-workshop-dialog{inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#eef0f2}
#photo-dialog.photo-workshop-dialog::backdrop{background:#111c}
.editor-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 28px 18px;background:#fff;border-bottom:1px solid var(--line)}
.editor-header h1{font-size:25px;line-height:1.1;margin:4px 0 5px;font-weight:600;letter-spacing:-.02em}
.editor-header p{margin:0;color:var(--muted);font-size:13px}
.premium-editor .eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.16em;color:var(--red);font-weight:700}
.header-state{text-align:right;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.status-chip{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-weight:650;font-size:12px;background:#e8eaed;color:#3e4248}
.status-chip.success{background:#e3f3e8;color:#126331}
.status-chip.warning{background:#fff0d5;color:#814600}
.status-chip.danger{background:#fee7e8;color:#a50016}
.status-chip.progress{background:#e2effa;color:#175478}
.revision-label{font-size:12px;color:var(--muted)}
.editor-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 14px;background:#f9f9fa;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.tool-group{display:flex;gap:4px;padding-right:8px;margin-right:1px;border-right:1px solid var(--line)}
.tool-group:last-child{border-right:0}
.tool{border:1px solid transparent;background:transparent;color:#30333a;padding:8px 10px;border-radius:3px;font-size:12px;white-space:nowrap}
.tool:hover{background:#eceef0}
.tool.active{background:#1f2126;color:#fff;border-color:#1f2126}
.tool.vehicle-add.active{background:#237d40;border-color:#237d40}
.tool.vehicle-remove.active{background:#b86a00;border-color:#b86a00}
.tool.plate.active{background:var(--red);border-color:var(--red)}
.tool.identifier.active{background:#6f42c1;border-color:#6f42c1}
.tool:disabled{opacity:.4;cursor:not-allowed}
.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:calc(100vh - 145px)}
.visual-workspace{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#44474e;min-width:0}
.visual-workspace[data-compare-layout="before"]{grid-template-columns:1fr}
.visual-workspace[data-compare-layout="before"] .after-panel{display:none}
.visual-workspace[data-compare-layout="after"]{grid-template-columns:1fr}
.visual-workspace[data-compare-layout="after"] .before-panel{display:none}
.image-panel{min-width:0;position:relative;background:var(--canvas);display:flex;flex-direction:column}
.panel-label{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;color:#f6f6f7;background:#25272d;font-size:12px}
.panel-label span{color:#aeb1b7;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55%}
.image-panel canvas{display:block;width:100%;height:calc(100vh - 185px);min-height:570px;background:var(--canvas);touch-action:none;outline:0;cursor:grab}
.image-panel canvas:focus-visible{box-shadow:inset 0 0 0 3px #68b7ff}
.before-panel canvas.is-polygon{cursor:crosshair}
.before-panel canvas.is-select{cursor:default}
.canvas-tip{position:absolute;left:12px;bottom:12px;background:#111c;color:#fff;padding:7px 9px;border-radius:3px;font-size:11px;pointer-events:none}
.render-overlay{position:absolute;inset:38px 0 0;display:flex;gap:10px;align-items:center;justify-content:center;background:#111c;color:#fff;font-weight:600}
.premium-editor .spinner{width:18px;height:18px;border:2px solid #fff5;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.review-panel{background:#fff;border-left:1px solid var(--line);overflow:auto;max-height:calc(100vh - 145px)}
.review-panel section{padding:18px 20px;border-bottom:1px solid var(--line)}
.review-panel h2{font-size:15px;margin:0 0 8px}
.microcopy,.zero-api,.editor-message,.empty-regions{font-size:11px;line-height:1.45;color:var(--muted);margin:6px 0 12px}
.zero-api{text-align:center;color:var(--green);font-weight:600}
.provider-note{font-size:11px;line-height:1.45;margin:6px 0 12px;color:#814600}
.region-list{display:grid;gap:6px}
.region-row{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:3px;background:#fafafa;font-size:12px}
.region-row.selected{border-color:#80848c;box-shadow:0 0 0 1px #80848c}
.region-swatch{width:8px;height:28px;border-radius:2px}
.region-row button{border:0;background:transparent;color:#7c202c;font-size:16px;padding:2px 5px}
.review-panel label:not(.check){display:block;font-size:12px;font-weight:600;margin:11px 0}
.review-panel input[type="text"],.review-panel input:not([type]),.review-panel select{width:100%;border:1px solid #c9ccd1;border-radius:2px;padding:9px;margin-top:5px;background:#fff}
.premium-editor .check{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.35;margin:10px 0;color:#33363c}
.premium-editor .check input{margin-top:2px;accent-color:var(--red)}
.premium-editor .wide{width:100%}
.premium-editor .primary,.premium-editor .approve{border:1px solid var(--red);background:var(--red);color:#fff;padding:11px 13px;border-radius:2px;font-weight:650;font-size:12px}
.premium-editor .provider-action{border:1px solid #9a5700;background:#fff4df;color:#724000;padding:11px 13px;border-radius:2px;font-weight:700;font-size:12px;margin-top:8px}
.premium-editor .primary:disabled,.premium-editor .provider-action:disabled{opacity:.5;cursor:not-allowed}
.premium-editor .approve{background:#1c6b38;border-color:#1c6b38}
.premium-editor .approve:disabled{background:#d7d9dd;border-color:#d7d9dd;color:#7a7e84;cursor:not-allowed}
.editor-message.error{color:#a50016}
.editor-message.success{color:#126331;font-weight:600}
@media(max-width:1180px){
  .editor-layout{grid-template-columns:minmax(0,1fr) 270px}
  .zoom-group .tool:first-child~.tool{display:none}
}
@media(max-width:900px){
  .editor-layout{display:block}
  .review-panel{max-height:none;border-left:0}
  .visual-workspace{min-height:540px}
  .image-panel canvas{min-height:500px;height:500px}
  .editor-header{align-items:flex-start}
}
@media(max-width:650px){
  .visual-workspace{grid-template-columns:1fr}
  .after-panel{border-top:1px solid #555}
  .image-panel canvas{min-height:380px;height:380px}
  .compare-group{display:none}
  .editor-header{display:block;padding:16px}
  .header-state{margin-top:10px;justify-content:flex-start;text-align:left}
}
