/* Diseño 812: Planos CFE. Estilos acotados al módulo; usa los tokens de OLI (claro y oscuro) y conserva los colores
   técnicos del mapa de OLI Drawing (morado de ruta #813ef2 con contorno oscuro). */
#cfe-drawing{min-width:0}
#cfe-drawing .cfe-module,#cfe-drawing .cfe-project-page{display:flex;flex-direction:column;gap:1rem;min-width:0}
#cfe-drawing small{color:var(--muted)}
#cfe-drawing .cfe-muted{color:var(--muted);margin:0}
#cfe-drawing .cfe-eyebrow{display:block;font-size:.8rem;font-weight:700;letter-spacing:.06em;color:var(--purple)}
#cfe-drawing .cfe-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#cfe-drawing .cfe-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}
#cfe-drawing .segmented{display:flex;flex-wrap:wrap;gap:.5rem}
#cfe-drawing .segmented button[aria-pressed=true],#cfe-drawing .segmented button[aria-selected=true]{background:var(--purple);border-color:var(--purple);color:var(--button-on-brand)}
#cfe-drawing .cfe-inline{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
#cfe-drawing .cfe-inline input,#cfe-drawing .cfe-inline select{width:auto;min-width:min(18rem,100%);flex:1}
#cfe-drawing .cfe-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
#cfe-drawing button.cfe-danger{color:var(--danger)}
#cfe-drawing .cfe-panel,#cfe-drawing .cfe-project-card,#cfe-drawing .cfe-empty{padding:1rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface);min-width:0}
#cfe-drawing .cfe-panel h3{margin:.25rem 0 .75rem}
#cfe-drawing .cfe-empty{text-align:center}
#cfe-drawing .cfe-empty p{color:var(--muted);margin:.5rem 0 0}
#cfe-drawing .cfe-projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1rem}
#cfe-drawing .cfe-project-card{display:flex;flex-direction:column;gap:.75rem}
#cfe-drawing .cfe-project-open{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;text-align:left;background:transparent;border:0;box-shadow:none;padding:0;color:var(--text);white-space:normal;overflow-wrap:anywhere}
#cfe-drawing .cfe-project-open strong{font-size:1.15rem}
#cfe-drawing .cfe-project-open:not(:disabled):hover strong{color:var(--purple)}
#cfe-drawing .cfe-notice{margin:0;padding:.65rem .85rem;border-radius:.6rem;border:1px solid var(--border);background:var(--surface-soft,var(--surface));color:var(--text)}
#cfe-drawing .cfe-notice-error{border-color:color-mix(in srgb,var(--danger) 40%,transparent);background:var(--danger-soft);color:var(--danger)}
#cfe-drawing .cfe-notice-success{border-color:color-mix(in srgb,var(--success) 40%,transparent);background:var(--success-soft);color:var(--success)}
#cfe-drawing .cfe-count{display:inline-grid;place-items:center;min-width:1.8rem;padding:.1rem .5rem;border-radius:999px;background:var(--purple-soft);color:var(--purple);font-weight:700}
#cfe-drawing .cfe-badge{display:inline-block;padding:.1rem .45rem;border-radius:.35rem;font-size:.75rem;font-weight:700}
#cfe-drawing .cfe-badge.is-ready{background:var(--success-soft);color:var(--success)}
#cfe-drawing .cfe-badge.is-pending{background:var(--warning-soft);color:var(--warning)}
#cfe-drawing .cfe-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
#cfe-drawing .cfe-form-grid .cfe-wide{grid-column:1/-1}
#cfe-drawing .cfe-table-wrap{overflow-x:auto}
#cfe-drawing table{width:100%;border-collapse:collapse;font-size:.9rem}
#cfe-drawing th,#cfe-drawing td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid var(--border)}

/* Página del proyecto */
#cfe-drawing .cfe-project-top{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
#cfe-drawing .cfe-project-identity{flex:1;min-width:12rem}
#cfe-drawing .cfe-project-identity h2{margin:0;font-size:1.35rem;overflow-wrap:anywhere}
#cfe-drawing .cfe-project-tab{display:grid;gap:1rem;max-width:48rem}
#cfe-drawing .cfe-assignments{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}
#cfe-drawing .cfe-assignment{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:.6rem}
#cfe-drawing .cfe-assignment div{display:flex;flex-direction:column}

/* Postes y rutas: mapa a la izquierda, inspector a la derecha; abajo a 1100 px o menos (como OLI Drawing). */
#cfe-drawing .cfe-design{display:flex;flex-direction:column;gap:.75rem}
#cfe-drawing .cfe-design-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(19rem,25rem);gap:1rem;align-items:start}
#cfe-drawing .cfe-map-pane{min-width:0}
#cfe-drawing .cfe-inspector{display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - 12rem);overflow:auto;min-width:0}
#cfe-drawing .cfe-inspector label{display:flex;flex-direction:column;gap:.3rem;margin:0}
#cfe-drawing .cfe-inspector-controls,#cfe-drawing .cfe-saved-routes{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface)}
#cfe-drawing .cfe-draft-summary{display:flex;flex-direction:column;gap:.15rem}
#cfe-drawing .cfe-saved-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}
#cfe-drawing .cfe-saved-head>div{display:flex;flex-direction:column;gap:.15rem}
#cfe-drawing .cfe-saved-routes .cfe-saved-head>div{flex-direction:row;align-items:center;gap:.5rem}
#cfe-drawing .cfe-route-card{display:grid;grid-template-columns:.35rem minmax(0,1fr);gap:.35rem .75rem;padding:.75rem;border:1px solid var(--border);border-radius:.6rem}
#cfe-drawing .cfe-route-card>i{grid-row:1/span 5;border-radius:.2rem;background:#813ef2}
#cfe-drawing .cfe-route-card>div{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
#cfe-drawing .cfe-route-card>.cfe-route-actions{flex-direction:row;gap:.5rem}
#cfe-drawing .cfe-route-card details summary{cursor:pointer;font-size:.9rem;color:var(--purple)}
#cfe-drawing .cfe-review{display:flex;flex-direction:column;gap:.5rem}
#cfe-drawing .cfe-review>div:first-child{display:flex;flex-direction:column}
#cfe-drawing .cfe-pole-chips{display:flex;flex-wrap:wrap;gap:.4rem}
#cfe-drawing .cfe-pole-chips button{display:flex;flex-direction:column;align-items:flex-start;padding:.35rem .6rem;border-radius:.5rem;border:1px solid #add12b;background:color-mix(in srgb,#add12b 16%,var(--surface));color:var(--text)}
#cfe-drawing .cfe-pole-chips button.is-shared{border-color:#f68a00;background:color-mix(in srgb,#f68a00 16%,var(--surface))}
#cfe-drawing .cfe-source-note{color:var(--muted)}
@media (max-width:1100px){#cfe-drawing .cfe-design-body{grid-template-columns:minmax(0,1fr)}#cfe-drawing .cfe-inspector{max-height:none;overflow:visible}}

/* Mapa */
#cfe-drawing .cfe-map-shell{position:relative;height:calc(100vh - 16rem);min-height:24rem;border-radius:.75rem;overflow:hidden;border:1px solid var(--border);background:#1b1b22}
#cfe-drawing .cfe-map-canvas{position:absolute;inset:0}
#cfe-drawing .cfe-map-toolbar{position:absolute;top:.6rem;left:.6rem;right:3.5rem;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;pointer-events:none}
#cfe-drawing .cfe-map-toolbar>*{pointer-events:auto}
#cfe-drawing .cfe-map-toolbar button,#cfe-drawing .cfe-map-pan{box-shadow:0 2px 8px rgba(0,0,0,.35)}
#cfe-drawing .cfe-map-toolbar button.is-active,#cfe-drawing .cfe-map-pan.is-active{background:var(--purple);border-color:var(--purple);color:#fff}
#cfe-drawing .cfe-map-chip{padding:.3rem .6rem;border-radius:999px;background:rgba(17,24,32,.82);color:#fff;font-size:.8rem;font-weight:700}
#cfe-drawing .cfe-map-pan{position:absolute;top:104px;right:10px;width:40px;height:40px;border-radius:.6rem;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1.15rem;padding:0}
#cfe-drawing .cfe-map-state{position:absolute;left:.6rem;bottom:1.8rem;max-width:min(36rem,calc(100% - 1.2rem));display:flex;flex-direction:column;gap:.15rem;padding:.55rem .75rem;border-radius:.6rem;background:rgba(17,24,32,.86);color:#fff;pointer-events:none}
#cfe-drawing .cfe-map-state strong{font-size:.8rem;letter-spacing:.05em}
#cfe-drawing .cfe-map-state span{font-size:.85rem;color:#e7e2ee}
#cfe-drawing .cfe-map-error{position:absolute;inset:auto .6rem .6rem .6rem;margin:0;padding:.6rem .8rem;border-radius:.6rem;background:var(--danger);color:#fff}
#cfe-drawing .cfe-pole-menu{position:absolute;z-index:5;display:flex;flex-direction:column;gap:.3rem;width:11.5rem;padding:.6rem;border-radius:.6rem;background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:0 8px 24px rgba(0,0,0,.35)}
#cfe-drawing .cfe-pole-menu button{text-align:left;padding:.4rem .55rem;border-radius:.4rem;background:none;color:var(--text)}
#cfe-drawing .cfe-pole-menu button:not(:disabled):hover{background:var(--purple-soft)}
#cfe-drawing .cfe-pole-menu button.cfe-danger{color:var(--danger)}
.cfe-pole-label,.cfe-route-label,.cfe-internal-label{white-space:nowrap;paint-order:stroke fill}
.cfe-internal-label{color:#fff!important;-webkit-text-stroke:3px #17131d;text-shadow:0 1px 2px rgba(0,0,0,.55)}
.cfe-pole-label{color:#fff!important;-webkit-text-stroke:2px #17131d;text-shadow:0 1px 3px rgba(0,0,0,.9)}
.cfe-route-label{color:#fff!important;-webkit-text-stroke:3px #111820;text-shadow:0 1px 2px rgba(0,0,0,.55)}

/* KMZ */
#cfe-drawing .cfe-kmz{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface)}
#cfe-drawing .cfe-kmz.is-compact{padding:.75rem 1rem}
#cfe-drawing .cfe-kmz.is-compact .cfe-kmz-head small{display:none}
#cfe-drawing .cfe-kmz-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
#cfe-drawing .cfe-kmz-head>div:first-child{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:16rem}
#cfe-drawing .cfe-file-button{position:relative;display:inline-flex;align-items:center;padding:.55rem 1rem;border-radius:.6rem;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-weight:600}
#cfe-drawing .cfe-file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}
#cfe-drawing .cfe-file-button.is-disabled{opacity:.6;pointer-events:none}
#cfe-drawing .cfe-kmz-record,#cfe-drawing .cfe-kmz-result,#cfe-drawing .cfe-kmz-preview>div:first-child{display:flex;flex-direction:column;gap:.2rem}
#cfe-drawing .cfe-kmz-result{padding:.65rem .85rem;border-radius:.6rem}
#cfe-drawing .cfe-kmz-result.is-error{background:var(--danger-soft);color:var(--danger)}
#cfe-drawing .cfe-kmz-result.is-success{background:var(--success-soft);color:var(--success)}
#cfe-drawing .cfe-kmz-preview{display:flex;flex-direction:column;gap:.75rem}
#cfe-drawing .cfe-kmz-sample{display:flex;flex-wrap:wrap;gap:.4rem}
#cfe-drawing .cfe-kmz-sample span{padding:.2rem .5rem;border-radius:.4rem;background:var(--purple-soft);font-size:.85rem}
#cfe-drawing .cfe-kmz-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;border:0;padding:0;margin:0}
#cfe-drawing .cfe-kmz-mode label{display:flex;gap:.6rem;padding:.75rem;border:1px solid var(--border);border-radius:.6rem;cursor:pointer}
#cfe-drawing .cfe-kmz-mode label.is-selected{border-color:var(--purple);background:var(--purple-soft)}
#cfe-drawing .cfe-kmz-mode label span{display:flex;flex-direction:column}
#cfe-drawing .cfe-kmz-routes{display:flex;flex-direction:column;gap:.6rem}
#cfe-drawing .cfe-kmz-routes-head{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
#cfe-drawing .cfe-kmz-routes-head>div{display:flex;flex-direction:column}
#cfe-drawing .cfe-kmz-route{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,1fr);gap:.5rem .75rem;padding:.65rem;border:1px solid var(--border);border-radius:.6rem}
#cfe-drawing .cfe-kmz-route>div{display:flex;flex-direction:column}
#cfe-drawing .cfe-kmz-route .cfe-check{grid-column:1/-1;flex-direction:row;align-items:center;gap:.5rem}
#cfe-drawing .cfe-kmz-confirm{display:flex;gap:.5rem;flex-wrap:wrap}
@media (max-width:700px){#cfe-drawing .cfe-form-grid,#cfe-drawing .cfe-kmz-mode,#cfe-drawing .cfe-kmz-route{grid-template-columns:1fr}#cfe-drawing .cfe-map-shell{height:70vh}}

/* Catálogo */
#cfe-drawing .cfe-catalog{display:grid;grid-template-columns:minmax(0,24rem) minmax(0,1fr);gap:1rem;align-items:start}
#cfe-drawing .cfe-catalog label{display:flex;flex-direction:column;gap:.3rem;margin:0}
#cfe-drawing .cfe-fiber-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem;padding:.75rem;margin-top:.6rem;border:1px solid var(--border);border-radius:.6rem}
#cfe-drawing .cfe-fiber-card>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}
#cfe-drawing .cfe-fiber-card dl{display:flex;gap:1rem;margin:0}
#cfe-drawing .cfe-fiber-card dt{font-size:.75rem;color:var(--muted)}
#cfe-drawing .cfe-fiber-card dd{margin:0;font-weight:700}
#cfe-drawing .cfe-fiber-card .cfe-actions{grid-column:1/-1}
@media (max-width:900px){#cfe-drawing .cfe-catalog{grid-template-columns:1fr}}

/* Diálogos (se montan en <body>, fuera de #cfe-drawing) */
.cfe-dialog{width:min(34rem,94vw);border:1px solid var(--border);border-radius:.9rem;background:var(--surface);color:var(--text);padding:0}
.cfe-dialog::backdrop{background:var(--scrim,rgba(20,13,30,.6))}
.cfe-dialog-form{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem}
.cfe-dialog-form h3{margin:0}
.cfe-dialog-body{display:flex;flex-direction:column;gap:.6rem}
.cfe-dialog-body p{margin:0}
.cfe-dialog-body small{color:var(--muted)}
.cfe-dialog-body label{display:flex;flex-direction:column;gap:.3rem;margin:0}
.cfe-dialog textarea,#cfe-drawing textarea{font:inherit}
.cfe-dialog .cfe-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.cfe-dialog .cfe-form-grid .cfe-wide{grid-column:1/-1}
.cfe-dialog .cfe-notice{margin:0;padding:.6rem .8rem;border-radius:.6rem}
.cfe-dialog .cfe-notice-error{background:var(--danger-soft);color:var(--danger)}
.cfe-dialog .cfe-notice-success{background:var(--success-soft);color:var(--success)}
.cfe-dialog .cfe-notice-info{background:var(--purple-soft);color:var(--text)}
.cfe-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}
.cfe-numbering-dialog{width:min(42rem,94vw)}
.cfe-numbering-routes,.cfe-numbering-changes{display:flex;flex-direction:column;gap:.35rem;max-height:14rem;overflow:auto}
.cfe-numbering-routes>div,.cfe-numbering-changes>div{display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}
@media (max-width:640px){.cfe-dialog .cfe-form-grid{grid-template-columns:1fr}}

/* Fase D · Infraestructura: mapa interno a la izquierda, lista de elementos a la derecha; paneles debajo. */
#cfe-drawing .cfe-infra{display:flex;flex-direction:column;gap:1rem}
#cfe-drawing .cfe-infra-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(19rem,25rem);gap:1rem;align-items:start}
#cfe-drawing .cfe-infra-side{max-height:calc(100vh - 12rem);overflow:auto;min-width:0}
#cfe-drawing .cfe-infra-panels,#cfe-drawing .cfe-deliverables{display:flex;flex-direction:column;gap:1rem}
#cfe-drawing .cfe-panel p.cfe-muted{margin:.25rem 0 .5rem}
#cfe-drawing .cfe-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem;margin:.75rem 0}
#cfe-drawing .cfe-metrics>div{display:flex;flex-direction:column;gap:.15rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:.6rem;background:var(--surface-soft,var(--surface))}
#cfe-drawing .cfe-metrics span{font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--muted)}
#cfe-drawing .cfe-metrics strong{font-size:1.35rem}
#cfe-drawing .cfe-metrics .is-complete strong{color:var(--success)}
#cfe-drawing .cfe-metrics .is-pending strong{color:var(--warning)}
#cfe-drawing .cfe-elements{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0}
#cfe-drawing .cfe-elements article{border:1px solid var(--border);border-radius:.6rem;padding:.5rem}
#cfe-drawing .cfe-elements article.is-selected{border-color:var(--purple);background:var(--purple-soft)}
#cfe-drawing .cfe-element-main{display:grid;grid-template-columns:.8rem minmax(0,1fr) auto;align-items:center;gap:.6rem;width:100%;text-align:left;background:transparent;border:0;box-shadow:none;padding:.2rem;color:var(--text)}
#cfe-drawing .cfe-element-main i{width:.8rem;height:.8rem;border-radius:50%;border:2px solid #fff;background:#add12b}
#cfe-drawing .kind-nap .cfe-element-main i{background:#df4aa8}
#cfe-drawing .kind-splice_closure .cfe-element-main i{background:#f68a00}
#cfe-drawing .cfe-element-main span{display:flex;flex-direction:column}
#cfe-drawing .cfe-element-main em{font-style:normal;font-size:.75rem;font-weight:700;color:var(--muted)}
#cfe-drawing .cfe-elements .cfe-actions{margin-top:.4rem}
#cfe-drawing .cfe-tjunctions{display:flex;flex-direction:column;gap:.5rem}
#cfe-drawing .cfe-tjunctions article{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.65rem;border:1px solid var(--border);border-radius:.6rem}
#cfe-drawing .cfe-tjunctions article>div:first-child{display:flex;flex-direction:column;min-width:14rem;flex:1}
#cfe-drawing .cfe-tjunctions .decision-confirmed{border-color:var(--success)}
#cfe-drawing .cfe-material-row{align-items:flex-end}
#cfe-drawing .cfe-material-row label{display:flex;flex-direction:column;gap:.3rem;margin:0}
#cfe-drawing .cfe-material-row>div{display:flex;flex-direction:column;flex:1}
#cfe-drawing .cfe-summary.status-approved{border-color:color-mix(in srgb,var(--success) 45%,var(--border))}
#cfe-drawing .cfe-summary.status-stale{border-color:color-mix(in srgb,var(--warning) 45%,var(--border))}
#cfe-drawing .cfe-summary{display:flex;flex-direction:column;gap:.75rem}
#cfe-drawing .cfe-fiber-rows{display:flex;flex-direction:column;gap:.6rem}
#cfe-drawing .cfe-fiber-rows article{display:grid;grid-template-columns:minmax(12rem,1.4fr) repeat(3,minmax(9rem,1fr));gap:.75rem;align-items:start;padding:.75rem;border:1px solid var(--border);border-radius:.6rem}
#cfe-drawing .cfe-fiber-rows article>div,#cfe-drawing .cfe-fiber-rows label{display:flex;flex-direction:column;gap:.2rem;margin:0;align-items:flex-start}
#cfe-drawing .cfe-total-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem}
#cfe-drawing .cfe-total-grid label{display:flex;flex-direction:column;gap:.25rem;margin:0}
#cfe-drawing .cfe-total-grid input,#cfe-drawing .cfe-fiber-rows input{min-width:6rem;width:9rem;flex:none}
#cfe-drawing .cfe-history{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}
#cfe-drawing .cfe-history article{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.9rem}
@media (max-width:1100px){#cfe-drawing .cfe-infra-body{grid-template-columns:minmax(0,1fr)}#cfe-drawing .cfe-infra-side{max-height:none}#cfe-drawing .cfe-fiber-rows article{grid-template-columns:1fr 1fr}}

/* Fase D · Entregables */
#cfe-drawing .cfe-controls,#cfe-drawing .cfe-library,#cfe-drawing .cfe-reconciliation{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}
#cfe-drawing .cfe-controls label{display:flex;flex-direction:column;gap:.3rem;margin:0}
#cfe-drawing .cfe-saved-head>div{min-width:0}
#cfe-drawing .cfe-saved-head>div>small{display:block}
#cfe-drawing .cfe-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.6rem}
#cfe-drawing .cfe-details article{display:flex;gap:.6rem;padding:.65rem;border:1px solid var(--border);border-radius:.6rem}
#cfe-drawing .cfe-details article>div{display:flex;flex-direction:column;gap:.15rem}
#cfe-drawing .cfe-details p{margin:0;font-size:.9rem}
#cfe-drawing .cfe-details em{font-size:.8rem;color:var(--muted)}
#cfe-drawing .cfe-detail-code{display:grid;place-items:center;flex:none;width:2.2rem;height:2.2rem;border-radius:.5rem;background:var(--purple);color:#fff;font-weight:800}
#cfe-drawing .cfe-file-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}
#cfe-drawing .cfe-file-row>div{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:14rem}
#cfe-drawing .cfe-file-row em{font-style:normal;font-size:.85rem;color:var(--danger)}
#cfe-drawing .cfe-sheets{display:grid;grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));gap:1rem;margin:.75rem 0}
#cfe-drawing .cfe-sheet{display:flex;flex-direction:column;gap:.6rem;padding:.75rem;border:1px solid var(--border);border-radius:.6rem}
#cfe-drawing .cfe-sheet>div:not(.cfe-actions):not(.cfe-sheet-quantities){display:flex;flex-direction:column}
#cfe-drawing .cfe-sheet-map{width:100%;height:auto;border-radius:.4rem;touch-action:none}
#cfe-drawing .cfe-sheet-bg{fill:#fbfaf7}
#cfe-drawing .cfe-sheet-route{stroke:#813ef2;stroke-width:5;stroke-linecap:round}
#cfe-drawing .cfe-sheet-pole{fill:#813ef2;stroke:#fff;stroke-width:3}
#cfe-drawing .cfe-sheet-guide{stroke:#c8445f;stroke-width:2;stroke-dasharray:6 4}
#cfe-drawing .cfe-sheet-label{fill:#c8445f;font-size:22px;font-weight:700;cursor:grab;user-select:none;paint-order:stroke;stroke:#fbfaf7;stroke-width:5px}
#cfe-drawing .cfe-sheet-label.is-selected{fill:#6f2fd6}
#cfe-drawing .cfe-sheet-number{fill:#17131d;font-size:28px;font-weight:800}
#cfe-drawing .cfe-sheet-quantities{display:flex;flex-direction:column;gap:.35rem}
#cfe-drawing .cfe-sheet-quantities label{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin:0}
#cfe-drawing .cfe-sheet-quantities label>span:first-child{display:flex;flex-direction:column}
#cfe-drawing .cfe-sheet-quantities input{width:6.5rem;min-width:0;flex:none}
#cfe-drawing .cfe-label-editor{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:.75rem 0;padding:.75rem;border:1px solid var(--purple);border-radius:.6rem;background:var(--purple-soft)}
#cfe-drawing .cfe-label-editor>div:first-child{display:flex;flex-direction:column}
