/* Approved desktop constructor: preserve the card, remove only three text outlines. */
#card-constructor{position:fixed;inset:0;z-index:1000;background:#0e2224;color:#f5faf9;display:flex;flex-direction:column;font-family:Arial,sans-serif}
#card-constructor.hidden{display:none}
body.cc-open{overflow:hidden}
#card-constructor>header{display:flex;gap:10px;align-items:center;padding:8px 16px;background:#12292b;flex:none}
#card-constructor>header h2{font-size:17px;flex:1;margin:0}
#card-constructor>main{display:flex;flex-direction:column;gap:8px;width:100%;max-width:none;box-sizing:border-box;min-height:0;overflow:hidden;flex:1;padding:10px 16px 0}
#card-constructor button{padding:5px 10px;min-height:30px;border-radius:5px;color:#fff;background:#1a3032;border:1px solid #476062;box-shadow:none;background-image:none}
#card-constructor button:focus-visible{outline:2px solid #8ed3c6;outline-offset:2px}
#card-constructor .cc-card{container-type:inline-size;position:relative;width:100%;min-width:0;max-width:1600px;margin:0 auto;flex:1;min-height:0;display:flex;flex-direction:column;box-sizing:border-box;padding-bottom:1.25cqw;border:0;background:linear-gradient(135deg,#363f40 0%,#363f40 50%,#5e777a 50%,#5e777a 100%);text-shadow:1px 1px 0 #111,2px 2px 3px #0007}
.cc-header{flex:none;position:relative;min-height:10.9cqw;padding-bottom:.4cqw;box-sizing:border-box}
.cc-header>.cc-faces{position:absolute;top:.75cqw;left:1.25%;width:16.45%;height:9.4cqw;display:flex;gap:.05cqw}
.cc-header>.cc-faces:nth-of-type(3){left:70.5%;width:16.7%}
#card-constructor .cc-face{flex:none;width:8.2cqw;min-width:0;height:100%;min-height:0;border:0;border-radius:0;background:#243135;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1cqw;font-size:1.1cqw;text-shadow:inherit}
#card-constructor .cc-face-filled{border:2px solid white;box-shadow:2px 2px 4px #0007}
.cc-face img{width:100%;height:100%;object-fit:cover}
.cc-plus{font-size:2.6cqw;font-weight:400;line-height:1}
.cc-logo{position:absolute;left:88.5%;top:1.15cqw;width:10%;filter:drop-shadow(2px 3px 3px #0008)}
.cc-info{position:relative;left:19%;width:50.7%;padding-top:3.45cqw;box-sizing:border-box}
.cc-badges{position:absolute;top:.85cqw;left:7.5cqw;width:43.2cqw;height:2.05cqw;display:grid;grid-template-columns:12cqw 12cqw 9.5cqw 5.2cqw;gap:1.5cqw}
#card-constructor .cc-badges>button,#card-constructor .cc-operator{position:relative;top:0;height:2.05cqw;min-height:0;padding:.15cqw .4cqw;border:.1cqw solid #e9eeee;border-radius:.3cqw;background:#263235;box-shadow:2px 2px 4px #0008;display:flex;align-items:center;justify-content:space-between;gap:.4cqw;color:#fff;text-shadow:inherit;box-sizing:border-box}
.cc-badges .cc-number{justify-content:center!important}
.cc-badges small{font-size:.55cqw;letter-spacing:.04cqw;font-weight:400}
.cc-badges strong{font-size:1.15cqw;line-height:1;font-weight:700;white-space:nowrap}
.cc-row{position:relative;display:grid;grid-template-columns:7.5cqw 1fr;gap:0;width:100%;height:1.75cqw;align-items:stretch}
.cc-row+.cc-row{margin-top:.2cqw}
.cc-row.cc-explanation{height:auto;min-height:3.2cqw}
.cc-row>span{align-self:center;text-align:right;font-size:1.05cqw;white-space:nowrap;padding-right:.5cqw}
#card-constructor .cc-row>button{border:0!important;background:transparent;border-radius:0;box-shadow:none;text-align:left;color:white;font-size:1.5cqw!important;font-weight:700;text-shadow:inherit;overflow-wrap:anywhere;line-height:1.12;min-height:0;padding:0!important}
#card-constructor .cc-row>button:hover{background:#ffffff08}
#card-constructor .cc-explanation>button{font-size:1.3cqw!important;line-height:1.15;white-space:pre-wrap;overflow-wrap:anywhere;padding-top:.1cqw!important;padding-bottom:.1cqw!important}
.cc-episodes{flex:1;min-height:0;grid-auto-rows:minmax(0,1fr);display:grid;grid-template-columns:1fr 1fr;margin:0 1.25cqw;border:.25cqw solid #fff;box-shadow:1px 2px 3px #0008}
.cc-episode{min-width:0;min-height:0;position:relative;background:#15272b66;border-right:2px solid #e3eeee;border-bottom:2px solid #e3eeee}
.cc-episode:nth-child(even){border-right:0}
.cc-episode:nth-last-child(-n+2){border-bottom:0}
#card-constructor .cc-episode>button{width:100%;padding:0;height:100%;min-height:0;aspect-ratio:auto;display:block;overflow:hidden;border-radius:0;border:0;background:transparent;position:relative;text-shadow:inherit}
.cc-episode img{display:block;width:100%;height:100%;object-fit:contain}
.cc-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.cc-empty strong{font-size:16px;font-weight:600}
.cc-empty small{font-size:12px;color:#b4c6c7}
.cc-episode-actions{position:absolute;bottom:0;left:0;right:0;display:flex;gap:4px;align-items:center;padding:4px 8px;font-size:12px;background:#172c2ee8}
.cc-episode-actions>span{flex:1}
.cc-after-card{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:1600px;min-width:0;margin:0 auto;flex:none;color:#aec5c6;font-size:15px}
#card-constructor .cc-after-card button{padding:6px 10px;font-size:13px;border-radius:8px}
#card-constructor>footer{display:flex;gap:12px;align-items:center;padding:8px 16px 10px;background:#0e2224;flex:none}
.cc-footer-message{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0;color:#afc6c7;font-size:12px}
#constructor-status{font-size:12px}
#constructor-status:empty{display:none}
#constructor-status.error{color:#ffb4a8}
#card-constructor>footer button{padding:6px 10px;font-size:13px;border-radius:8px}
body.operator-v2 #card-constructor button.primary{background:#83c5b8!important;border-color:#83c5b8!important;color:#102a2d!important}
/* Existing editor and save handlers are reused without altering their geometry. */
.cc-pane-hidden{display:none!important}
.cc-field-overlay{z-index:1100!important;display:block!important;position:fixed!important;inset:0!important}
.cc-field-overlay.hidden{display:none!important}
.cc-field-dialog{position:absolute!important;transform:none!important;margin:0!important;width:min(1000px,calc(100vw - 32px))!important;overflow:auto!important}
.cc-field-dialog .canvas-wrap{max-height:55vh;overflow:auto}
.cc-field-dialog canvas{display:block;width:auto!important;height:auto!important;max-width:100%;max-height:55vh;object-fit:fill;margin:auto}
body.operator-v2 #incident-modal .cc-field-dialog #m-tools button,body.operator-v2 #incident-modal .cc-field-dialog #m-overlay-pick,body.operator-v2 #incident-modal .cc-field-dialog #m-undo-overlay,body.operator-v2 #incident-modal .cc-field-dialog .text-tool-controls button{color:#fff!important}
.cc-field-dialog #constructor-pane-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;padding:12px;background:#172f32}
.cc-field-dialog #m-save-episode{display:none}
.cc-preview{max-width:95vw;width:1500px;background:#172f32;color:white;border:1px solid #567378}
.cc-preview::backdrop{background:#000b}
#constructor-face-library{grid-column:1/-1}
#constructor-face-library button{padding:3px;width:64px;height:76px}
#constructor-face-library img{width:100%;height:100%;object-fit:cover}
body.cc-open .opw-lira-launcher,body.cc-open .opw-sidebar,body.cc-open .opw-nav-toggle,body.cc-open .opw-backdrop{display:none!important}
body.cc-open #op-toast-container{bottom:auto;top:72px;right:16px}

/* Field dialogs follow the approved prototype; all sizing is scoped to the constructor. */
body.operator-v2 #incident-modal .cc-field-dialog{box-sizing:border-box!important;width:min(560px,calc(100vw - 24px))!important;padding:0!important;border-radius:14px!important;display:flex!important;flex-direction:column!important;gap:0!important;font-size:14px!important;background:#142c2e!important;overflow:auto!important}
body.operator-v2 #incident-modal .cc-field-dialog .modal-header{position:static!important;flex:none!important;min-height:0!important;padding:12px 16px!important;margin:0!important;background:#102628!important}
body.operator-v2 #incident-modal .cc-field-dialog .modal-header h3{font-size:18px!important;margin:0!important}
body.operator-v2 #incident-modal .cc-field-dialog :is(button,input,select,textarea){font-size:14px!important;min-height:32px!important;padding:6px 10px!important;border-radius:6px!important;box-sizing:border-box!important}
body.operator-v2 #incident-modal .cc-field-dialog label{font-size:13px!important;gap:6px!important;margin:0!important}
body.operator-v2 #incident-modal .cc-field-dialog> :is(.date-time-row,.compact-pair-row,.custom-violation-label,.situation-template-row,.description-tools-row,.description-template-row,.face-header-row,label){padding:12px 16px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important}
body.operator-v2 #incident-modal .cc-field-dialog :is(.date-time-row,.compact-pair-row){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
body.operator-v2 #incident-modal .cc-field-dialog :is(.compact-pair-row,.face-header-row):has(.cc-part-hidden){grid-template-columns:1fr!important}
.cc-part-hidden{display:none!important}
body.operator-v2 #incident-modal .cc-field-dialog .date-time-row:before{display:none!important}
#cc-date-note{grid-column:1/-1;margin:0;color:#b5c9c9;font-size:12px;line-height:1.5}
body.operator-v2 #incident-modal .cc-field-dialog #constructor-pane-footer{order:99;flex:none;position:sticky;margin:0!important;padding:10px 16px!important;border-top:1px solid #365052;z-index:20}
body.operator-v2 #incident-modal .cc-field-dialog #constructor-pane-footer button{min-width:90px}
body.operator-v2 #incident-modal .cc-field-dialog[data-pane=episode]{width:min(1280px,calc(100vw - 24px))!important;height:calc(100dvh - 24px)!important;overflow:hidden!important}
body.operator-v2 #incident-modal .cc-field-dialog[data-pane=episode] .episode-input-grid{flex:none;margin:8px 12px!important;padding:0!important;border:0!important;display:block!important;background:transparent!important}
body.operator-v2 #incident-modal .cc-field-dialog[data-pane=episode] #m-overlay-drop{display:none!important}
body.operator-v2 #incident-modal .cc-field-dialog[data-pane=episode][data-loaded=false] .episode-input-grid{flex:1;min-height:0;display:flex!important}
body.operator-v2 #incident-modal .cc-field-dialog[data-pane=episode] #m-episode-paste{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0!important;border:1px dashed #8aa6a6!important;border-radius:10px;padding:24px!important;font-size:14px!important;background:#183538!important;cursor:pointer}
body.operator-v2 #incident-modal .cc-field-dialog[data-pane=episode][data-loaded=true] .episode-input-grid{display:none!important}
body.operator-v2 #incident-modal .cc-field-dialog[data-pane=episode][data-loaded=false] :is(.opw-editor-tools,.canvas-wrap){display:none!important}
body.operator-v2 #incident-modal .cc-field-dialog[data-pane=episode] :is(.episode-actions-row,#eva-draft-status,#eva-workflow-mode,#eva-draft-result,#episode-quality-panel){display:none!important}
body.operator-v2 #incident-modal .cc-field-dialog[data-pane=episode] .canvas-wrap{flex:1;min-height:0!important;max-height:none!important;margin:0 12px 10px!important;padding:0!important;border:0!important;display:flex;justify-content:center;align-items:center;overflow:hidden!important;background:#0c1e20!important}
body.operator-v2 #incident-modal .cc-field-dialog[data-pane=episode] canvas{flex:none;border-radius:0!important;max-width:100%!important;max-height:100%!important;margin:auto!important;object-fit:contain}
body.operator-v2 #incident-modal .cc-field-dialog .opw-editor-tools{position:relative;display:flex;align-items:center;gap:8px;flex:none;margin:0!important;padding:8px 12px!important;border:0!important;border-radius:0!important;z-index:25;background:transparent!important}
body.operator-v2 #incident-modal .cc-field-dialog .opw-editor-tools :is(h4,.opw-editor-tool-status,.opw-editor-note,.episode-template-tools-row,.line-tool-controls,.opw-editor-help:not(:last-child)){display:none!important}
body.operator-v2 #incident-modal .cc-field-dialog .opw-editor-tools :is(.episode-primary-tools-row,.tool-group){display:flex!important;flex-wrap:nowrap!important;gap:5px!important;padding:0!important;margin:0!important}
body.operator-v2 #incident-modal .cc-field-dialog .opw-editor-tools button{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:7px!important;display:flex;align-items:center;justify-content:center;color:#fff!important}
.cc-field-dialog .opw-editor-tools button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
body.operator-v2 #incident-modal .cc-field-dialog .opw-editor-tools details{margin:0!important;padding:0!important;border:0!important}
body.operator-v2 #incident-modal .cc-field-dialog .opw-editor-tools summary{padding:7px!important;min-height:20px!important;font-size:12px!important}
body.operator-v2 #incident-modal .cc-field-dialog .opw-editor-tools details[open]>.opw-template-body{position:absolute;right:12px;top:48px;background:#1b383b;border:1px solid #638786;border-radius:8px;padding:12px;max-width:500px;z-index:30;box-shadow:0 8px 24px #0008}
body.operator-v2 #incident-modal .cc-field-dialog .opw-template-body button{width:auto!important;height:auto!important}
body.operator-v2 #incident-modal .cc-field-dialog #constructor-face-editor{padding:12px 16px}
#constructor-face-editor [hidden]{display:none!important}
#constructor-face-library p{margin:0 0 8px;font-size:13px}
.cc-face-bank{display:flex;gap:8px;flex-wrap:wrap;max-height:110px;overflow:auto;color:#b5c9c9;font-size:12px;margin-bottom:12px}
body.operator-v2 #incident-modal .cc-field-dialog #constructor-face-library button{width:64px;height:80px;padding:2px!important}
.cc-face-work{min-height:230px}
body.operator-v2 #incident-modal .cc-field-dialog .cc-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;min-height:230px!important;border:1px dashed #8aa6a6;background:#183538!important;color:#fff}
.cc-upload>span{font-size:32px}
#cc-face-crop{display:flex;align-items:center;gap:24px}
body.operator-v2 #incident-modal .cc-field-dialog #cc-face-canvas{width:224px!important;height:280px!important;margin:0!important;border:1px solid white}
.cc-crop-controls{flex:1;display:grid;gap:10px}.cc-crop-controls label{display:grid}.cc-crop-controls input{width:100%}
.cc-preview{box-sizing:border-box;padding:12px;max-height:calc(100dvh - 24px)}
.cc-preview img{display:block;width:auto!important;max-width:100%;max-height:calc(100dvh - 100px);margin:0 auto 8px}
body.operator-v2 #incident-modal .cc-field-dialog .cc-pane-hidden,body.operator-v2 #incident-modal .cc-field-dialog .cc-part-hidden{display:none!important}
body.operator-v2 #incident-modal .cc-field-dialog .opw-editor-tools :is(.episode-primary-tools-row,.tool-group,button){flex:0 0 auto!important;width:auto}
body.operator-v2 #incident-modal .cc-field-dialog .opw-editor-tools #m-tools{width:auto!important;max-width:none!important}

#cc-face-canvas{cursor:grab;touch-action:none}#cc-face-canvas.dragging{cursor:grabbing}.cc-crop-controls p{margin:0;font-size:13px;line-height:1.5;color:#bed1d0}.cc-crop-zoom{display:flex;gap:8px}

/* One/two faces occupy the left side; keep a 2% card-width gap before the logo. */
.cc-header[data-face-count="0"] .cc-explanation,
.cc-header[data-face-count="1"] .cc-explanation,
.cc-header[data-face-count="2"] .cc-explanation{width:67.5cqw;grid-template-columns:7.5cqw 1fr;column-gap:0}
#card-constructor .cc-header[data-face-count="2"]>.cc-faces:nth-of-type(3) .cc-face{height:4.5cqw;gap:.25cqw}
/* Assistance uses its own state and actions; never reuse the save-status panel. */
body.operator-v2 #incident-modal .cc-field-dialog[data-pane=assistant]{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:min(760px,calc(100vw - 32px))!important;max-height:calc(100dvh - 32px)!important;overflow:hidden!important}
body.operator-v2 #incident-modal .cc-field-dialog[data-pane=assistant] #constructor-pane-footer{display:none!important}
body.operator-v2 #incident-modal .cc-field-dialog[data-pane=assistant] .modal-header{padding:16px 20px!important;flex:none}
body.operator-v2 #incident-modal .cc-field-dialog[data-pane=assistant] .modal-header h3{font-size:21px!important}
#cc-lira-assistant{display:flex;flex-direction:column;min-height:0;overflow:hidden;color:#e8f4f3;font-size:14px;line-height:1.45}
#cc-lira-assistant p{margin:8px 0}#cc-lira-assistant h4{margin:12px 0 8px}
.cc-ai-body{padding:8px 20px 16px;overflow:auto;min-height:0}.cc-ai-intro,.cc-ai-note{color:#b5cbcb}.cc-ai-note{font-size:12px}
.cc-ai-summary{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;margin:14px 0}
.cc-ai-thumbs{display:flex;gap:8px}.cc-ai-thumbs figure{margin:0;position:relative;flex:1;max-width:100px;min-width:0}.cc-ai-thumbs img{display:block;width:100%;height:58px;object-fit:contain;background:#0b2022;border:1px solid #567576;border-radius:4px}.cc-ai-thumbs figcaption{position:absolute;bottom:2px;right:2px;background:#0b2022;padding:0 4px;font-size:10px}
#cc-lira-assistant .cc-ai-context{margin:12px 0;padding:10px 12px;border:1px solid #365457;border-radius:6px;background:transparent}#cc-lira-assistant .cc-ai-context summary{font-size:13px;padding:0;cursor:pointer}#cc-lira-assistant .cc-ai-context p{white-space:pre-wrap;overflow-wrap:anywhere}
.cc-ai-state{display:flex;align-items:center;gap:10px;padding:18px 0}#cc-ai-elapsed{margin-left:auto;font-variant-numeric:tabular-nums;font-size:12px}.cc-ai-spinner{width:16px;height:16px;flex:none;border:2px solid #5b7777;border-top-color:#9cddd2;border-radius:50%;animation:cc-ai-spin 1s linear infinite}@keyframes cc-ai-spin{to{transform:rotate(360deg)}}
#cc-lira-assistant .cc-ai-choice{display:grid!important;gap:6px;padding:0!important;font-size:12px}#cc-lira-assistant select{width:100%;padding:8px;font-size:14px;height:auto}
.cc-ai-diff{display:grid;gap:8px;margin-top:12px}.cc-ai-diff article{display:grid;gap:3px;padding:10px 12px;background:#203c3e;border-radius:6px;overflow-wrap:anywhere}.cc-ai-diff article span{font-size:12px;color:#b9cccc}.cc-ai-diff article strong{font-size:14px;font-weight:500}.cc-ai-preserved{color:#a4dfcd}.cc-ai-error{padding:14px;background:#49332b;border-radius:6px}
.cc-ai-actions{display:flex;justify-content:flex-end;gap:10px;flex:none;padding:12px 20px;border-top:1px solid #365457;background:#173235}
body.operator-v2 #incident-modal #cc-lira-assistant button{font-size:13px!important;padding:9px 13px!important;min-height:36px!important;white-space:normal}
@media(prefers-reduced-motion:reduce){.cc-ai-spinner{animation:none}}

body.operator-v2.op-maintenance-active #incident-modal .cc-field-dialog[data-pane=episode]{height:calc(100dvh - var(--op-maintenance-space) - 24px)!important}
body.operator-v2.op-maintenance-active #incident-modal .cc-field-dialog[data-pane=assistant]{top:calc(50% + var(--op-maintenance-space)/2)!important;max-height:calc(100dvh - var(--op-maintenance-space) - 32px)!important}
body.op-maintenance-active .cc-preview{max-height:calc(100dvh - var(--op-maintenance-space) - 24px);margin-top:calc(var(--op-maintenance-space) + 12px)}
body.op-maintenance-active .cc-preview img{max-height:calc(100dvh - var(--op-maintenance-space) - 100px)}
