@font-face {
  font-family: 'Pixelify Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/datacenter/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Pixelify Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/datacenter/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Pixelify Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/datacenter/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Pixelify Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/datacenter/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/datacenter/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/datacenter/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/datacenter/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Ubuntu Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/datacenter/font-7.ttf) format('truetype');
}
@font-face {
  font-family: 'Ubuntu Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/datacenter/font-8.ttf) format('truetype');
}

@keyframes dcbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes dcblink{0%{opacity:1}50%{opacity:.18}100%{opacity:1}}
@keyframes dcdash{from{stroke-dashoffset:0}to{stroke-dashoffset:-40}}
@keyframes dcdash2{from{stroke-dashoffset:2}to{stroke-dashoffset:-38}}
@keyframes dcpulse{0%,100%{box-shadow:0 0 0 0 rgba(57,224,122,.9)}50%{box-shadow:0 0 0 5px rgba(57,224,122,0)}}
@media (prefers-reduced-motion: reduce){.dc-bob,.dc-live{animation:none !important}}
@keyframes dcglow{0%,100%{opacity:.16}50%{opacity:.42}}
@keyframes dcsmoke{0%{transform:translate(0,0);opacity:0}20%{opacity:.95}100%{transform:translate(3px,-26px);opacity:0}}
@keyframes dcwave{0%{transform:translateY(0)}100%{transform:translateY(-3px)}}
@keyframes dczz{0%{opacity:0;transform:translate(-2px,5px)}35%{opacity:1}100%{opacity:0;transform:translate(3px,-6px)}}
.dc-page .d3t:hover,.dc-page .d3t:focus-visible{z-index:890 !important}
.fo-scroll{scrollbar-width:thin;scrollbar-color:#4b6a7f #14202a}
.drw-in{transition:transform .16s ease-out}
.drw:hover .drw-in{transform:translate(5px,2.5px)}
.drw-top{opacity:0;transition:opacity .16s ease-out;pointer-events:none}
.drw:hover .drw-top{opacity:1}
@media (prefers-reduced-motion: reduce){.drw-in,.drw-top{transition:none !important}}
.drw2{transition:transform .16s ease-out,box-shadow .16s ease-out}
.drw2:hover{transform:translate(5px,2.5px) skewY(-26.565deg) !important;box-shadow:-3px -2px 0 rgba(0,0,0,.35)}
@media (prefers-reduced-motion: reduce){.drw2{transition:none !important}}


.dc-page { --dc-pixel:'Pixelify Sans',monospace; padding:0!important; overflow:hidden; border:2px solid #050a0e!important; border-radius:12px!important; background:#14242e!important; color:#eef3f7; font-family:'Ubuntu',var(--md-sys-typescale-body-medium-font,system-ui),sans-serif; }
.dc-page *, .dc-page *::before, .dc-page *::after { box-sizing:border-box; }
.dc-page button { min-width:0; min-height:0; padding:6px 12px; background:#eee; color:#111; border:2px solid #050a0e; border-radius:6px; box-shadow:inset 0 -2px 0 #b1b1b1; font-weight:700; cursor:pointer; }
.dc-page button:focus-visible { outline:3px solid #fff!important; outline-offset:3px!important; box-shadow:0 0 0 6px #1f7ad6!important; }
.dc-page .dc-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; background:#2f718e; border-bottom:2px solid #050a0e; }
.dc-page .dc-header h3 { margin:0; color:#fff; font:700 20px/1.2 var(--dc-pixel); }
.dc-page .dc-header p { margin:4px 0 0; font-size:13px; color:#e0f1fa; }
.dc-viewport { position:relative; overflow:hidden; height:clamp(560px,calc(100dvh - 220px),900px); width:100%; cursor:grab; touch-action:none; user-select:none; isolation:isolate; }
.dc-viewport.is-dragging { cursor:grabbing; }
.dc-scene { position:absolute; left:0; top:0; width:1140px; height:770px; transform-origin:0 0; }
.dc-arrivals { position:absolute;left:1190px;top:20px;width:820px;min-height:730px;background:#1e3341;border:2px dashed #55788c; }
.dc-arrivals:empty { display:none; }
.dc-arrivals span { display:block;padding:12px;color:#dcefff;font:700 18px var(--dc-pixel); }
.dc-page .d3t { position:absolute;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;text-align:left;transform:none; }
.dc-page .d3t[aria-pressed=true], .dc-hero { --dc-plate:#1969bc; }
.dc-controls { position:absolute;right:10px;top:10px;display:flex;gap:6px;z-index:2; }
.dc-controls button { width:34px;height:34px;padding:0;font:700 24px/1 var(--dc-pixel); }
.dc-status { position:absolute;bottom:8px;left:12px;right:12px;width:fit-content;max-width:calc(100% - 24px);margin:0;padding:4px 8px;border-radius:4px;background:#0d1a24e8;color:#c5dce9;font-size:11px;pointer-events:none; }
.dc-overlay { position:absolute;inset:0;z-index:1000;cursor:default;user-select:text;touch-action:auto; }
.dc-veil { position:absolute;inset:0;background:rgba(8,14,20,.72);opacity:0;transition:opacity 250ms; }
.dc-overlay.is-open .dc-veil { opacity:1;backdrop-filter:blur(2px); }
.dc-overlay.is-closing .dc-veil { transition:opacity 480ms; }
.dc-hero { position:absolute;left:0;top:0;width:140px;transform-origin:0 0;pointer-events:none;filter:drop-shadow(0 14px 6px #0008); }
.dc-panel { position:absolute;top:12px;bottom:12px;right:14px;width:var(--panel-width);display:flex;flex-direction:column;border:2px solid #050a0e;border-radius:8px;background:#1c2831;box-shadow:0 0 0 2px #0b141a,0 12px 32px #0008;overflow:hidden;opacity:0;transform:translateX(35px);transition:transform 380ms 180ms,opacity 380ms 180ms;color:#eef3f7; }
.dc-overlay.is-open .dc-panel { opacity:1;transform:translateX(0); }
.dc-overlay.is-closing .dc-panel { transition:transform 200ms,opacity 200ms; }
.dc-panel-header { display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;background:#2f718e;border-bottom:2px solid #050a0e; }
.dc-page .dc-panel-header h2 { display:flex;align-items:center;gap:10px;margin:0;font:700 26px/1.2 var(--dc-pixel);color:#fff; }
.dc-panel-header h2 span { width:18px;height:18px;border:2px solid #000; }
.dc-panel-scroll { overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#4b6a7f #14202a;padding:12px 14px 24px; }
.dc-role { margin:0 0 10px;font-size:14px; }
.dc-badges,.dc-chips { display:flex;flex-wrap:wrap;gap:7px; }
.dc-badges>span { padding:2px 9px;border:2px solid #000;border-radius:18px;background:#e2e8f2;color:#172332;font-size:12px;font-weight:700; }
.dc-badges [data-health=ok] { background:#d6f8e1;color:#0d5c2c; }
.dc-badges [data-health=warning] { background:#ffe2a6;color:#5c3900; }
.dc-badges [data-health=critical],.dc-badges [data-health=down] { background:#ffd2d2;color:#7a1010; }
.dc-panel section { margin-top:24px; }
.dc-page .dc-panel h3 { padding-bottom:6px;margin:0 0 10px;border-bottom:2px solid #2f718e;color:#9fd0ff;font:600 17px/1.2 var(--dc-pixel); }
.dc-page .dc-panel h4 { margin:12px 0 7px;color:#b5c9d6;font-size:11px;text-transform:uppercase;letter-spacing:.6px; }
.dc-gauge { display:grid;grid-template-columns:48px 1fr 85px;align-items:center;gap:9px;margin:8px 0;font:600 12px var(--dc-pixel); }
.dc-gauge strong { text-align:right;color:#fff;font:700 12px 'Ubuntu Mono',monospace; }
.dc-gauge-track { display:flex;gap:3px;height:25px;background:#0b0f16;border:2px solid #000; }
.dc-gauge-track i { flex:1;background:#10151e; }
.dc-gauge-track i.is-on { background:var(--led); }
.dc-muted { color:#bacbd7;font-size:12px;margin:8px 0; }
.dc-programs { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.dc-program { display:flex;flex-direction:column;gap:4px;padding:9px;border:2px solid #000;border-radius:7px;background:var(--program);box-shadow:inset 0 -3px 0 #0003;color:#111;min-width:0;overflow-wrap:anywhere; }
.dc-program strong { font:700 15px var(--dc-pixel);color:#111; }
.dc-program span,.dc-program small { font-size:11px;color:#111; }
.dc-program small { font-family:'Ubuntu Mono',monospace;font-weight:700; }
.dc-program-bar { height:10px;border:1px solid #111;background:#0003; }
.dc-program-bar i { display:block;height:100%;background:#111; }
.dc-chip { display:inline-block;border:2px solid #000;border-radius:5px;padding:3px 7px;background:#b8c5d0;color:#10151e;font:600 12px var(--dc-pixel);overflow-wrap:anywhere; }
.dc-chip.is-muted { background:#8998a5; }
.dc-agents .dc-chip { font-size:11px;background:#3b4658;color:#e3edf5;border-width:1px; }
.dc-chip.dc-native { border:1px dashed #c6d6e2;background:transparent;color:#e3edf5; }
.dc-alert { margin-top:12px;padding:8px;border:1px solid #ffbf47;border-radius:4px;color:#ffe7b3;background:#3b2d15;font-size:12px; }
.dc-contract-time { color:#ffcc67; }.dc-contract-none { color:#a9d1ff; }.dc-contract-ok { color:#83edaa; }
.dc-viewport.has-focus .dc-controls,.dc-viewport.has-focus>.dc-status { visibility:hidden; }
@media(max-width:700px) { .dc-viewport{height:calc(100dvh - 210px);min-height:480px}.dc-header{align-items:flex-start!important}.dc-header p{font-size:11px!important}.dc-header h3{font-size:17px!important}.dc-header .dc-reload{font-size:11px;padding:5px}.dc-hero{display:none}.dc-panel{left:10px;right:10px;width:auto!important}.dc-programs{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(prefers-reduced-motion:reduce) { .dc-page *, .dc-page *::before,.dc-page *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; } }

/* ---- foco: aba Ficha (19 campos do cadastro) ---- */
.dc-panel-fi { display:flex;flex-direction:column;gap:16px; }
.dc-panel-fi[hidden] { display:none; }
.dc-panel .dc-fi-block { margin-top:0; }
.dc-page .dc-panel .dc-fi-block h3 { display:flex;align-items:baseline;justify-content:space-between;gap:10px; }
.dc-fi-block h3 small { font:400 11px 'Ubuntu',sans-serif;color:#b8a9ef;text-align:right; }
.dc-fi-top { display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px; }
.dc-fi-progress { flex:1 1 150px;min-width:0;display:flex;flex-direction:column;gap:5px; }
.dc-fi-progress strong { font:600 14px var(--dc-pixel);color:#e6eef5; }
.dc-fi-progress small { font-size:12px;line-height:1.35;color:#b9c7d3; }
.dc-fi-progress small[data-tone=ok] { color:#39e07a; }
.dc-fi-bar { display:grid;grid-template-columns:repeat(19,1fr);gap:2px;max-width:300px;height:14px;padding:2px;border:2px solid #000;background:#0b0f16; }
.dc-fi-bar i { background:#10151e; }
.dc-fi-bar i.is-on { background:#40d8ff; }
.dc-fi-actions { flex:none;display:flex;flex-wrap:wrap;gap:8px; }
.dc-page .dc-panel .dc-fi-actions button, .dc-page .dc-panel .dc-fi-savebar button { min-height:32px;padding:0 14px;font:700 13px 'Ubuntu',sans-serif; }
.dc-page .dc-panel .dc-fi-sync { background:#cdc4ff;color:#1a1a2e;box-shadow:inset 0 -3px 0 #8f7fd6; }
.dc-page .dc-panel .dc-fi-edit, .dc-page .dc-panel .dc-fi-save { background:#4caf2a;color:#fff;box-shadow:inset 0 -3px 0 #2f7a16;text-shadow:0 1px 0 #2f7a16; }
.dc-page .dc-panel .dc-fi-actions button:disabled, .dc-page .dc-panel .dc-fi-savebar button:disabled { opacity:.65;cursor:progress; }
.dc-fi-msg { margin:0;padding:7px 12px;border:2px solid #000;border-left:8px solid #39e07a;border-radius:5px;background:#14202a;font:600 13px 'Ubuntu',sans-serif;color:#dff7e6; }
.dc-fi-msg[data-tone=err] { border-left-color:#ff4d4d;color:#ffd2d2; }
.dc-fi-msg:empty { display:none; }
.dc-fi-empty { display:flex;align-items:center;gap:12px;padding:10px 12px;border:2px dashed #e3ebf4;border-radius:6px;background:#e8dcc00f; }
.dc-fi-empty svg { flex:none; }
.dc-fi-empty strong { font:600 15px var(--dc-pixel);color:#fff; }
.dc-fi-empty p { margin:3px 0 0;font-size:13px;line-height:1.4;color:#dbe6ee; }
.dc-fi-note { display:flex;align-items:flex-start;gap:8px;margin:0;padding:8px 10px;border:2px solid #000;border-radius:5px;background:#252d4a;font-size:12px;line-height:1.4;color:#dcd6ff; }
.dc-fi-none { margin:0;font-size:13px;color:#8fa3b3; }
.dc-fi-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px 16px;margin:0; }
.dc-fi-row { display:flex;flex-direction:column;gap:4px;min-width:0;margin:0; }
.dc-fi-row.is-wide { grid-column:1/-1; }
.dc-fi-row dt, .dc-fi-lab { display:flex;align-items:center;gap:6px;min-height:16px;font:600 11px 'Ubuntu',sans-serif;letter-spacing:.6px;text-transform:uppercase;color:#8fa3b3; }
.dc-fi-row dd { display:flex;flex-direction:column;gap:3px;margin:0;min-width:0; }
.dc-fi-row small { font-size:11px;line-height:1.35;color:#9fb0bf; }
.dc-fi-row small[data-tone=warn] { color:#ffc531; }
.dc-fi-row small[data-tone=err] { color:#ff7a7a; }
.dc-fi-val { display:flex;align-items:center;gap:7px;min-height:22px;font:600 14px/1.3 'Ubuntu',sans-serif;color:#fff;overflow-wrap:anywhere; }
.dc-fi-val.is-empty { color:#5d7182; }
.dc-fi-dot { flex:none;width:10px;height:10px;border:2px solid #000;background:#9aa5b1; }
.dc-fi-dot[data-tone=ok] { background:#39e07a; }
.dc-fi-dot[data-tone=warn] { background:#ffb020; }
.dc-fi-dot[data-tone=err] { background:#ff4d4d; }
.dc-fi-crit { flex:none;display:grid;grid-template-columns:repeat(4,10px);gap:2px;padding:2px;border:2px solid #000;background:#0b0f16; }
.dc-fi-crit b { height:10px;background:#10151e; }
.dc-fi-crit[data-level="1"] b:nth-child(-n+1) { background:#8fd16a; }
.dc-fi-crit[data-level="2"] b:nth-child(-n+2) { background:#ffc531; }
.dc-fi-crit[data-level="3"] b:nth-child(-n+3) { background:#ff9a3c; }
.dc-fi-crit[data-level="4"] b { background:#ff4d4d; }
.dc-fi-links { display:flex;flex-wrap:wrap;gap:6px; }
.dc-fi-link { display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 11px;border:2px solid #000;border-radius:5px;background:#2f6f8f;color:#fff;font:600 12px var(--dc-pixel);text-decoration:none;box-shadow:inset 0 -3px 0 #1b4a61; }
.dc-fi-link:hover { filter:brightness(1.12);color:#fff; }
.dc-fi-nolink { display:inline-flex;align-items:center;min-height:28px;padding:0 11px;border:2px dashed #4b5d6c;border-radius:5px;color:#6f8394;font-size:12px; }
.dc-fi-h { display:inline-flex;align-items:center;justify-content:center;flex:none;width:14px;height:14px;border:1.5px solid #000;background:#cdc4ff;color:#1a1a2e;font:700 9px/1 'Ubuntu Mono',monospace;letter-spacing:0;text-transform:none; }
.dc-fi-note .dc-fi-h { width:16px;height:16px;font-size:10px; }
.dc-fi-form { display:flex;flex-direction:column;gap:16px; }
.dc-fi-form input:not([type=hidden]) { box-sizing:border-box;width:100%;min-width:0;min-height:34px;padding:0 9px;border:2px solid #000;border-radius:5px;background:#0b141a;color:#fff;font:500 14px 'Ubuntu',sans-serif;box-shadow:inset 0 2px 0 #0008;color-scheme:dark; }
.dc-fi-row.is-synced input { border-left:6px solid #b8a9ef; }
.dc-fi-form input:focus-visible { outline:3px solid #fff;outline-offset:1px; }
.dc-fi-seg { display:flex;flex-wrap:wrap;gap:4px; }
.dc-page .dc-panel .dc-fi-seg button { min-height:28px;padding:0 10px;background:#2a3846;color:#cfd8e3;font:600 12px var(--dc-pixel);border-radius:5px;box-shadow:inset 0 -2px 0 #0000004d; }
.dc-page .dc-panel .dc-fi-seg button[aria-pressed=true] { background:#3b5a73;color:#fff;border-color:#fff;box-shadow:0 0 0 2px #1f7ad6; }
.dc-fi-savebar { position:sticky;bottom:-24px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 -14px -24px;padding:10px 14px 14px;background:#1c2831;border-top:2px solid #000;box-shadow:0 -6px 12px #0006; }
.dc-fi-savebar span { flex:1;min-width:0;font-size:12px;color:#b9c7d3; }
.dc-fi-savebar span[data-tone=err] { color:#ffb4b4;font-weight:700; }
.dc-page .dc-panel .dc-fi-histbtn { display:flex;align-items:center;gap:10px;width:100%;min-height:30px;padding:0 0 4px;border:0;border-bottom:2px solid #2f718e;border-radius:0;background:transparent;box-shadow:none;color:#9fd0ff;font:600 17px var(--dc-pixel);text-align:left; }
.dc-fi-histbtn small { font:400 12px 'Ubuntu',sans-serif;color:#9fb0bf; }
.dc-fi-histbtn b { margin-left:auto;font:700 14px 'Ubuntu Mono',monospace; }
.dc-fi-hist { display:flex;flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none; }
.dc-fi-hist li { display:flex;flex-direction:column;gap:2px;padding:6px 10px;border:2px solid #000;border-left:6px solid #2f718e;border-radius:5px;background:#14202a; }
.dc-fi-hist li[data-src=sync] { border-left-color:#b8a9ef; }
.dc-fi-hist strong { font-size:13px;color:#fff; }
.dc-fi-hist small { font:400 11px 'Ubuntu Mono',monospace;color:#8fa3b3; }
.dc-fi-hist span { font-size:12px;line-height:1.35;color:#b9c7d3; }
.dc-fi-count { margin-left:4px;font:700 11px 'Ubuntu Mono',monospace;color:#9fd0ff; }
.dc-page .dc-panel .dc-fi-open { display:inline-flex;align-items:center;gap:8px;margin-top:4px;min-height:28px;padding:0 12px;background:#2a3846;color:#e6eef5;font:600 13px var(--dc-pixel);box-shadow:inset 0 -3px 0 #0000004d; }
.dc-fi-open span { font:700 12px 'Ubuntu Mono',monospace;color:#9fd0ff; }
/* Once a tower is open, vertical touch gestures belong to its scroll panel. */
.dc-viewport.has-focus { touch-action:pan-y; }
