/* CSS do protótipo (prototipo/original.html), verbatim. Não editar aqui sem editar a paridade visual. */
*{box-sizing:border-box;margin:0;padding:0}
html{height:100%;height:100dvh}
body{font-family:'Lato',system-ui,-apple-system,sans-serif;background:#060e1a;height:100%;height:100dvh;overflow:hidden;-webkit-text-size-adjust:100%}
#app{height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}
*::-webkit-scrollbar{display:none}
*{-ms-overflow-style:none;scrollbar-width:none}
/* #app usa a altura real da tela (regra acima) */
input,textarea,select{width:100%;border:1.5px solid #e2e8f0;border-radius:10px;padding:11px 14px;font-size:14px;outline:none;background:#fff;font-family:inherit;color:#1e293b}
input:focus,textarea:focus{border-color:#2E5C8A;box-shadow:0 0 0 3px rgba(46,92,138,.1)}
textarea{resize:none}
.btn{border:none;border-radius:12px;padding:14px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;width:100%;transition:all .15s}
.btn-primary{background:linear-gradient(135deg,#1a3a70,#2E5C8A);color:#fff;box-shadow:0 4px 16px rgba(31,56,100,.4)}
.btn-secondary{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:rgba(200,220,248,.8)}
.card{background:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.12);margin-bottom:14px;overflow:hidden}
.card-head{background:linear-gradient(135deg,#1F3864,#2E5C8A);padding:12px 18px;font-weight:700;color:#fff;font-size:12px;letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.card-body{padding:16px}
.irow{padding:12px 18px;border-bottom:1px solid #f1f5f9;display:flex;align-items:flex-start;gap:10px}
.irow:last-child{border-bottom:none}
.inum{background:#2E5C8A;color:#fff;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:800;flex-shrink:0;margin-top:3px}
.iname{font-size:13px;color:#374151;flex:1;line-height:1.5}
.sbtns{display:flex;gap:4px;flex-shrink:0}
.sb{border:1.5px solid;border-radius:20px;padding:5px 10px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .12s}
.sb.c{background:#f0fdf4;color:#15803d;border-color:#86efac}
.sb.nc{background:#fef2f2;color:#b91c1c;border-color:#fca5a5}
.sb.na{background:#f8fafc;color:#64748b;border-color:#cbd5e1}
.sb.obs{background:#fffbeb;color:#92400e;border-color:#fcd34d}
.sb.on.c{background:#16a34a;color:#fff;border-color:#16a34a}
.sb.on.nc{background:#dc2626;color:#fff;border-color:#dc2626}
.sb.on.na{background:#64748b;color:#fff;border-color:#64748b}
.sb.on.obs{background:#d97706;color:#fff;border-color:#d97706}
.fhdr{background:linear-gradient(135deg,#0d1f42,#1a3a70);color:#fff;padding:12px 18px;padding-top:max(12px,env(safe-area-inset-top));display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:100;box-shadow:0 4px 20px rgba(0,0,0,.4)}
.fhdr-back{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:16px;cursor:pointer;padding:6px 10px;border-radius:8px;flex-shrink:0}
.pb{padding:14px;max-width:500px;margin:0 auto;padding-bottom:max(170px,calc(150px + env(safe-area-inset-bottom)))}
.scorebar{background:rgba(6,14,26,.96);backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.08);padding:10px 18px;padding-bottom:max(14px,env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0;z-index:200}
.obra-card{background:rgba(12,24,48,.8);border:1px solid rgba(255,255,255,.1);border-radius:14px;margin-bottom:10px;overflow:hidden;backdrop-filter:blur(12px)}
.obra-head{background:linear-gradient(135deg,rgba(26,50,100,.9),rgba(46,92,138,.7));padding:12px 18px;display:flex;align-items:center;gap:10px}
.aloj-row{padding:12px 18px;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .1s}
.aloj-row:hover{background:rgba(255,255,255,.05)}
.week-item{border:1.5px solid;border-radius:12px;padding:10px 14px;margin-bottom:8px;display:flex;align-items:center;gap:12px}
.ok{border-color:#86efac;background:#f0fdf4}
.pending{border-color:#fca5a5;background:#fef2f2}
.waiting{border-color:#fde68a;background:#fffbeb}
.badge{border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700}
.badge-g{background:#16a34a;color:#fff}
.badge-r{background:#dc2626;color:#fff}
.badge-y{background:#d97706;color:#fff}
.badge-b{background:#1F3864;color:#fff}
.tab-row{display:flex;gap:0;border-bottom:2px solid #e2e8f0;margin-bottom:16px}
.tab{padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;border:none;background:none;font-family:inherit;color:#64748b;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .15s}
.tab.on{color:#1F3864;font-weight:800;border-bottom-color:#1F3864}
.padd{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1d4ed8;font-size:12px;cursor:pointer;font-weight:700;margin-top:6px}
.pthumb{position:relative;display:inline-block;margin-top:6px}
.pthumb img{width:72px;height:54px;object-fit:contain;background:#0f172a;border-radius:8px;border:1px solid #e2e8f0}
.prm{position:absolute;top:-6px;right:-6px;background:#dc2626;border:none;border-radius:50%;width:18px;height:18px;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
.gen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px 18px}
.gen-add{width:100%;height:72px;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:8px;cursor:pointer;color:#94a3b8;font-size:22px;display:flex;align-items:center;justify-content:center}
.beam-wrap{position:relative;border-radius:30px;padding:2.5px;overflow:hidden}
.beam-wrap::before{content:'';position:absolute;width:250%;height:250%;top:-75%;left:-75%;background:conic-gradient(from 0deg,transparent 0%,transparent 65%,rgba(255,255,255,.65) 75%,#fff 80%,rgba(255,255,255,.65) 85%,transparent 100%);animation:beam 3s linear infinite;z-index:0}
@keyframes beam{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.home-inner{position:relative;z-index:1;background:rgba(8,18,38,.82);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:28px;box-shadow:0 40px 80px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.07);padding:clamp(28px,5vw,44px) clamp(20px,5vw,36px);text-align:center}

/* ── Toast notifications ───────────────────────────────────── */
.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(20px);background:#1e293b;color:#fff;padding:10px 20px;border-radius:12px;font-size:14px;font-weight:600;z-index:9999;opacity:0;transition:all .25s;pointer-events:none;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.success{background:#16a34a}
.toast.error{background:#dc2626}

/* ── Responsive ──────────────────────────────────────────────────────────── */
/* Desktop: wider cards and 2-col admin layout */
@media (min-width: 768px) {
  /* Admin tabs bigger */
  .tab { padding: 10px 20px; font-size: 14px; }
  /* Cards scale */
  .card { margin-bottom: 18px; }
  .card-head { padding: 14px 24px; font-size: 13px; letter-spacing: .6px; }
  .card-body { padding: 20px 24px; }
  /* Admin week items bigger */
  .week-item { padding: 14px 20px !important; }
  /* Obra rows bigger */
  .aloj-row { padding: 14px 24px; }
}
@media (min-width: 1024px) {
  #adm-content .card { margin-bottom: 20px; }
  .tab { padding: 12px 24px; font-size: 15px; }
  .card-head { font-size: 14px; }
}
@media (min-width: 900px) {
  .fpb { padding: 24px 32px 120px; }
  .irow { padding: 14px 22px; }
  .card-head { padding: 13px 22px; }
  .card-body { padding: 22px; }
}
@media (max-width: 480px) {
  /* Status buttons - smaller on mobile */
  .sbtns{gap:3px}
  .sb{padding:5px 7px;font-size:10px;border-radius:16px}
  .irow{padding:10px 12px}
  .inum{font-size:9px;padding:2px 5px}
  .finame{font-size:12.5px}

  /* Form page body */
  .pb{padding:12px 10px max(170px,calc(150px + env(safe-area-inset-bottom)))}
  .card-body{padding:12px}
  .card-head{padding:10px 14px;font-size:11px}

  /* Score bar */
  .scorebar{padding:8px 12px 10px}

  /* Admin tabs - scrollable */
  .tab-row{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  .tab-row::-webkit-scrollbar{display:none}
  .tab{padding:8px 10px;font-size:12px;white-space:nowrap}

  /* Admin header */
  #adm-hdr{padding:10px 14px}
  #adm-hdr > div:first-child > div:first-child{font-size:14px}

  /* Week item in dashboard */
  .week-item{padding:10px 12px!important}

  /* Obra cards */
  .obra-card .obra-head{padding:10px 14px}
  .obra-name{font-size:13px}
  .aloj-row{padding:10px 14px}

  /* Home card */
  .home-inner{padding:24px 18px!important}
  .beam-wrap{border-radius:20px}

  /* Admin content padding */
  #adm-content{padding:0}
}

@media (max-width: 360px) {
  .sb{padding:4px 6px;font-size:9px}
  .sbtns{gap:2px}
}

/* Ensure images scale */
img{max-width:100%;height:auto}

/* Admin panel max-width on desktop */
@media (min-width: 600px) {
  .fpb{padding:clamp(12px,3vw,24px);padding-bottom:110px;max-width:900px;margin:0 auto;width:100%}
  .card-body{padding:20px}
}

/* Fix month grid on small screens */
@media (max-width: 400px) {
  #month-grid{grid-template-columns:repeat(2,1fr)!important}
}

/* Ensure score bar doesn't overflow */
.scorebar *{box-sizing:border-box}

/* ── Safe Area (iPhone notch/dynamic island) */
.fhdr, #adm-hdr { padding-top: max(12px, env(safe-area-inset-top)) !important; }
.scorebar { padding-bottom: max(14px, env(safe-area-inset-bottom)) !important; }

/* ── Mobile Responsive ─────────────────────────────────────────────────────── */
html, body { 
  width: 100%; 
  max-width: 100vw;
  overflow-x: hidden;
}
#app {
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
}
/* Admin panel responsive */
.tab-row {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  flex-wrap: nowrap;
}
.tab {
  white-space: nowrap;
  padding: 10px 12px;
  font-size: 12px;
}
/* Cards full width on mobile */
.card {
  margin-left: 0;
  margin-right: 0;
}
/* Buttons full width on mobile */
.sbtns {
  flex-wrap: wrap;
}
/* Score bar fix */
.scorebar {
  padding: 8px 12px 12px;
}
/* Form padding */
.pb {
  padding: 12px;
  padding-bottom: 120px;
}
/* Week items responsive */
.week-item {
  flex-wrap: wrap;
}
/* History items */
.hist-item {
  overflow: hidden;
}
/* Genera grid responsive */
.gen-grid {
  grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
}
/* Iframe and table overflow */
table {
  max-width: 100%;
}
input, textarea, select {
  max-width: 100%;
  font-size: 16px !important; /* prevents zoom on iOS */
}
/* Admin header wrap */
#adm-hdr {
  flex-wrap: wrap;
  gap: 6px;
}
#global-search::placeholder { color: rgba(255,255,255,.55); }
/* Large screen admin content */
@media (max-width: 600px) {
  .pb { padding: 10px; padding-bottom: 120px; }
  .card-body { padding: 12px; }
  .card-head { padding: 10px 14px; font-size: 11px; }
  .irow { padding: 10px 12px; }
  .iname { font-size: 12px; }
  .sb { padding: 4px 7px; font-size: 10px; }
  .fhdr { padding: 10px 14px; }
  .obra-head { padding: 10px 14px; }
  .aloj-row { padding: 10px 14px; }
  .week-item { padding: 8px 12px; }
  .scorebar { padding: 8px 12px 16px; }
}
@media (max-width: 380px) {
  .tab { padding: 8px 10px; font-size: 11px; }
  .sb { padding: 3px 6px; font-size: 9px; }
}
/* Barra lateral de navegação (Área de Gestão) */
#adm-rail {
  width: 76px; flex-shrink: 0;
  background: linear-gradient(180deg,#1b2c52,#101d38);
  display: flex; flex-direction: column; align-items: center;
  padding: 16px 0 max(14px, env(safe-area-inset-bottom));
  gap: 6px; overflow-y: auto; -webkit-overflow-scrolling: touch;
  border-right: 1px solid rgba(255,255,255,.07);
}
.rail-btn { position: relative; cursor: pointer; border: none; background: none; font-family: inherit; padding: 0; }
.rail-btn .tip {
  position: absolute; left: 64px; top: 50%;
  transform: translateY(-50%) translateX(-4px);
  background: #0f1c33; color: #e7edf8; font-size: 11.5px; font-weight: 700;
  padding: 7px 12px; border-radius: 9px; white-space: nowrap;
  opacity: 0; pointer-events: none;
  transition: opacity .15s ease, transform .15s ease;
  box-shadow: 0 8px 22px rgba(0,0,0,.35); z-index: 20;
}
.rail-lbl{display:none;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}
#adm-rail{transition:width .22s ease}
#adm-rail.open{width:262px;align-items:stretch;padding-left:10px;padding-right:10px}
#adm-rail.open .rail-btn{width:100% !important;justify-content:flex-start !important;gap:2px;padding-right:6px}
#adm-rail.open .rail-btn .rail-ic-box{flex:none;width:46px !important}
#adm-rail.open .rail-lbl{display:block}
#adm-rail.open .rail-btn .tip{display:none}
#adm-rail.open .rail-badge{top:50% !important;right:12px !important;transform:translateY(-50%)}
#adm-rail.open .rail-sep{width:100% !important}
.rail-btn:not(.on):hover{background:#fff !important;box-shadow:0 10px 20px rgba(36,53,79,.16) !important}
.rail-btn{transition:transform .25s,box-shadow .25s,background .25s}
/* telas largas: cards lado a lado em 2 colunas (o que não é card ocupa a linha toda) */
@media (min-width: 1100px) {
  .cols2 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 16px; align-items: start; }
  .cols2 > * { grid-column: 1 / -1; }
  .cols2 > .card, .cols2 > .half { grid-column: auto; }
}
.md{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
@media (min-width: 1100px) {
  .md{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md-detail{order:1} .md-list{order:2}
}
.masonry{display:block}
@media (min-width: 1100px) {
  .masonry { column-count: 2; column-gap: 16px; display: block; }
  .masonry > * { break-inside: avoid; }
  .masonry > :not(.card):not(.half) { column-span: all; }
}
.fbar select { width: auto !important; flex: 1 1 200px; min-width: 0; }
@media (hover: hover) {
  .rail-btn:hover .tip { opacity: 1; transform: translateY(-50%) translateX(0); }
}
@media (max-width: 480px) {
  #adm-rail { width: 60px; gap: 4px; padding-top: 12px; }
  #adm-rail .rail-ic-box { width: 44px !important; height: 44px !important; border-radius: 12px !important; }
  #adm-rail .rail-ic-box svg { width: 19px !important; height: 19px !important; }
  #adm-rail .rail-btn .tip { display: none; }
  /* no celular o menu aberto sobrepõe o conteúdo (não empurra a tela) */
  #adm-rail.open { width: 252px; margin-right: -192px; position: relative; z-index: 40; box-shadow: 8px 0 28px rgba(0,0,0,.35); }
}
/* celular: o menu lateral vira barra fixa na parte de baixo da tela */
@media (max-width: 700px) {
  #adm-body { flex-direction: column-reverse !important; }
  #adm-rail, #adm-rail.open {
    width: 100%; margin-right: 0; position: relative; box-shadow: 0 -4px 18px rgba(0,0,0,.28);
    flex-direction: row; align-items: center; justify-content: space-between; gap: 2px;
    padding: 4px 6px max(6px, env(safe-area-inset-bottom)); overflow-x: auto; overflow-y: hidden;
    border-right: none; border-top: 1px solid rgba(255,255,255,.1); flex-shrink: 0; z-index: 40;
  }
  #adm-rail > div { display: none !important; }
  #adm-rail .rail-menu { display: none !important; }
  #adm-rail .rail-btn, #adm-rail.open .rail-btn {
    width: auto !important; height: 50px !important; flex: 1 1 0; min-width: 34px; padding: 0 !important; justify-content: center !important; gap: 0;
  }
  #adm-rail .rail-ic-box, #adm-rail.open .rail-btn .rail-ic-box { width: 100% !important; height: 100% !important; }
  #adm-rail .rail-ic-box svg { width: 22px !important; height: 22px !important; }
  #adm-rail .rail-lbl, #adm-rail.open .rail-lbl { display: none !important; }
  #adm-rail .rail-btn .tip { display: none !important; }
  #adm-rail .rail-btn.on { border-radius: 16px !important; transform: translateY(-3px); }
  #adm-rail .rail-badge, #adm-rail.open .rail-badge { top: 3px !important; right: 6px !important; transform: none !important; }
}

/* ═══ Tema 3D · Área de Gestão (profundidade, vidro e relevo) ═══ */
#adm-shell{background:radial-gradient(900px 500px at 85% -10%,rgba(91,198,244,.35),rgba(91,198,244,0) 60%),radial-gradient(700px 500px at -5% 100%,rgba(36,53,79,.14),rgba(36,53,79,0) 60%),#E9EFF7 !important;font-family:'Lato',system-ui,-apple-system,sans-serif}
#adm-hdr{background:linear-gradient(145deg,#33496B,#24354F 55%,#1A2740) !important;box-shadow:0 2px 4px rgba(36,53,79,.2),0 14px 28px rgba(36,53,79,.28),inset 0 1px 0 rgba(255,255,255,.18) !important;border-radius:0 0 22px 22px;position:relative;z-index:30}
#adm-hdr::after{content:"";position:absolute;right:0;top:0;width:260px;height:100%;border-radius:0 0 22px 0;background:radial-gradient(circle at 80% 0,rgba(91,198,244,.4),rgba(91,198,244,0) 70%);pointer-events:none}
#adm-rail{background:rgba(255,255,255,.72) !important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(208,215,224,.9) !important;border-radius:28px;margin:18px 0 18px 16px;align-self:flex-start;max-height:calc(100% - 36px);box-shadow:0 2px 4px rgba(36,53,79,.06),0 20px 44px rgba(36,53,79,.16)}
#adm-content .card,#adm-shell .card{background:linear-gradient(160deg,#FFFFFF,#F6F9FD);border:1px solid #D0D7E0;border-radius:20px;box-shadow:0 1px 0 #fff inset,0 2px 4px rgba(36,53,79,.06),0 8px 16px rgba(36,53,79,.07),0 24px 48px rgba(36,53,79,.10);transition:box-shadow .35s}
@media (hover:hover){#adm-content .card:hover{box-shadow:0 1px 0 #fff inset,0 4px 8px rgba(36,53,79,.08),0 18px 32px rgba(36,53,79,.12),0 40px 72px rgba(36,53,79,.16)}}
#adm-content .card-head{background:linear-gradient(145deg,#33496B,#24354F 60%,#1A2740);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 6px 14px rgba(36,53,79,.18);position:relative;overflow:hidden}
#adm-content .card-head::after{content:"";position:absolute;right:-40px;top:-60px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(91,198,244,.45),rgba(91,198,244,0) 70%);pointer-events:none}
#adm-content .week-item,#adm-content .hist-item{border-radius:16px;box-shadow:0 4px 10px rgba(36,53,79,.07);transition:transform .25s,box-shadow .25s}
@media (hover:hover){#adm-content .week-item:hover,#adm-content .hist-item:hover{box-shadow:0 12px 24px rgba(36,53,79,.13)}}
#adm-content .aloj-row{transition:transform .25s,background .25s}
#adm-content button:not(.sb):not(.tab){transition:transform .2s,box-shadow .2s,filter .2s}
@media (hover:hover){#adm-content button:not(.sb):not(.tab):hover{filter:brightness(1.04);box-shadow:0 10px 20px rgba(36,53,79,.18)}}
#adm-shell button:focus-visible,#adm-shell input:focus-visible,#adm-shell select:focus-visible{outline:3px solid #5BC6F4;outline-offset:2px}
#adm-content input,#adm-content select,#adm-content textarea{border-color:#D0D7E0;box-shadow:inset 0 2px 4px rgba(36,53,79,.07)}
#adm-content input:focus,#adm-content select:focus,#adm-content textarea:focus{border-color:#3AA9DC;box-shadow:inset 0 2px 4px rgba(36,53,79,.07),0 0 0 3px rgba(91,198,244,.35)}
.tab.on{color:#24354F;border-bottom-color:#5BC6F4}
.btn-primary{background:linear-gradient(145deg,#5BC6F4,#3AA9DC);color:#0E2238;box-shadow:0 8px 18px rgba(58,169,220,.45),inset 0 1px 0 rgba(255,255,255,.5)}

svg[class*="-svg"] g[class$="-bars"]{filter:drop-shadow(0 6px 5px rgba(36,53,79,.28))}
#adm-content svg[viewBox="0 0 200 200"]{filter:drop-shadow(0 10px 8px rgba(36,53,79,.3));transition:transform .35s}
@media (max-width:700px){
  #adm-rail,#adm-rail.open{margin:0 10px 10px;width:auto;border-radius:26px;background:rgba(255,255,255,.82) !important;border:1px solid rgba(208,215,224,.9) !important;box-shadow:0 2px 4px rgba(36,53,79,.06),0 18px 36px rgba(36,53,79,.22) !important;max-height:none;align-self:stretch}
  #adm-hdr{border-radius:0 0 18px 18px}
}
@media (prefers-reduced-motion:reduce){#adm-shell *{transition:none !important;animation:none !important}}

/* ═══ Tema 3D · ajuste de escala e títulos (fiel ao protótipo) ═══ */
#adm-title{margin:0 0 20px}
#adm-title h1{font-size:34px;font-weight:900;color:#24354F;letter-spacing:-.5px;line-height:1.15}
#adm-title p{margin:6px 0 0;font-size:16px;color:#4A5C75}
@media (min-width:1000px){
  #adm-main{zoom:1.18}
  #adm-rail{zoom:1.12}
  #adm-hdr{zoom:1.1}
}
@media (max-width:700px){#adm-title h1{font-size:26px}#adm-title p{font-size:14px}}
.rail-lbl{font-size:14px}
#adm-content .card-head{background:none !important;box-shadow:none !important;color:#24354F !important;text-transform:none !important;letter-spacing:-.2px !important;font-size:20px !important;font-weight:900 !important;padding:22px 24px 6px !important;overflow:visible}
#adm-content .card-head::after{display:none}
#adm-content .card-head *{color:inherit !important}
#adm-content div[style*="border-left"][style*="4px"]{border-left:1px solid #D0D7E0 !important;border-radius:20px !important;padding:22px 24px !important;background:linear-gradient(160deg,#fff,#F6F9FD) !important;box-shadow:0 1px 0 #fff inset,0 2px 4px rgba(36,53,79,.06),0 8px 16px rgba(36,53,79,.07),0 24px 48px rgba(36,53,79,.10) !important;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
#adm-content div[style*="border-left"][style*="4px"]:first-child{background:linear-gradient(145deg,#33496B,#24354F 55%,#1A2740) !important;border-color:#24354F !important;box-shadow:0 2px 4px rgba(36,53,79,.2),0 14px 28px rgba(36,53,79,.28),0 36px 64px rgba(36,53,79,.30),inset 0 1px 0 rgba(255,255,255,.18) !important}
#adm-content div[style*="border-left"][style*="4px"]:first-child *{color:#fff !important}


/* ── Painel novo ── */
.dz{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}
.dz-kpis{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:20px}
.dz-hero{background:linear-gradient(145deg,#33496B,#24354F 55%,#1A2740);border-radius:20px;color:#fff;position:relative;overflow:hidden;padding:26px;min-height:170px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 2px 4px rgba(36,53,79,.2),0 14px 28px rgba(36,53,79,.28),0 36px 64px rgba(36,53,79,.3),inset 0 1px 0 rgba(255,255,255,.18);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.dz-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(91,198,244,.55),rgba(91,198,244,0) 70%)}
.dz-hero>*{position:relative;z-index:1}
.dz-l{font-size:15px;color:#C9D6EA;font-weight:700}
.dz-big{font-size:60px;font-weight:900;line-height:1;letter-spacing:-2px}
.dz-diff{font-size:15px;color:#9DDCF8;margin-left:10px;font-weight:700}
.dz-k{background:linear-gradient(160deg,#fff,#F6F9FD);border:1px solid #D0D7E0;border-radius:20px;padding:24px;min-height:170px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 1px 0 #fff inset,0 2px 4px rgba(36,53,79,.06),0 8px 16px rgba(36,53,79,.07),0 24px 48px rgba(36,53,79,.1);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.dz-l2{font-size:15px;color:#4A5C75;font-weight:700}
.dz-n{font-size:48px;font-weight:900;color:#24354F;line-height:1}
.dz-n small{font-size:22px;color:#4A5C75;font-weight:700}
.dz-s{font-size:14px;color:#4A5C75}
.dz-track{height:10px;border-radius:6px;background:#E1E8F1;box-shadow:inset 0 2px 3px rgba(36,53,79,.18);overflow:hidden}
.dz-track i{display:block;height:100%;border-radius:6px;background:linear-gradient(180deg,#7ED3F7,#3AA9DC);box-shadow:0 0 8px rgba(58,169,220,.6)}
@media (hover:hover){.dz-hero:hover,.dz-k:hover{filter:brightness(1.03)}}
.dz-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.dz-card{padding:26px;margin-bottom:0 !important}
.dz-card h2{font-size:21px;color:#24354F;font-weight:900}
.dz-card p{margin:4px 0 18px;font-size:14px;color:#4A5C75}
.dz-rank{display:flex;flex-direction:column;gap:6px}
.dz-row{display:grid;grid-template-columns:34px 1fr 52px;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;transition:transform .25s,background .25s,box-shadow .25s}
.dz-row:hover{background:#fff;box-shadow:0 10px 22px rgba(36,53,79,.12)}
.dz-pos{width:30px;height:30px;border-radius:10px;background:#E1E8F1;color:#24354F;display:flex;align-items:center;justify-content:center;font-size:14px}
.dz-pos.first{background:linear-gradient(145deg,#5BC6F4,#3AA9DC);color:#0E2238;box-shadow:0 5px 10px rgba(58,169,220,.45)}
.dz-nm{font-weight:700;font-size:15px;margin-bottom:6px;color:#1B2A41}
.dz-bar{height:14px;border-radius:8px;background:linear-gradient(180deg,#7ED3F7,#3AA9DC);box-shadow:0 4px 8px rgba(58,169,220,.4),inset 0 1px 0 rgba(255,255,255,.6);transform-origin:left;animation:dzbar 1s cubic-bezier(.2,.8,.2,1) both}
.dz-bar.low{background:linear-gradient(180deg,#B8C6DA,#8FA3C0);box-shadow:0 4px 8px rgba(36,53,79,.2),inset 0 1px 0 rgba(255,255,255,.6)}
@keyframes dzbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.dz-pc{text-align:right;font-size:16px;color:#1B2A41}
.dz-cols{min-height:260px;display:grid;gap:22px;align-items:end;padding:16px 14px 0;border-bottom:2px solid #D0D7E0}
.dz-colw{display:flex;flex-direction:column;align-items:center;gap:8px;justify-content:flex-end}
.dz-colw b{font-size:14px;color:#1B2A41}
.dz-col{width:100%;border-radius:10px 10px 4px 4px;position:relative;transform-origin:bottom;animation:dzgrow .9s cubic-bezier(.2,.8,.2,1) both;background:linear-gradient(90deg,#8FA3C0,#6E86A8);box-shadow:8px 0 0 -2px #50678A,0 14px 18px rgba(36,53,79,.18)}
.dz-col::before{content:"";position:absolute;left:0;right:-8px;top:-7px;height:8px;background:#B8C6DA;border-radius:6px 6px 0 0;transform:skewX(-45deg);transform-origin:bottom left}
.dz-col.hi{background:linear-gradient(90deg,#5BC6F4,#3AA9DC 60%,#2B8DBE);box-shadow:8px 0 0 -2px #1F6E96,0 14px 18px rgba(36,53,79,.22)}
.dz-col.hi::before{background:#9DDCF8}
@keyframes dzgrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.dz-labs{display:grid;gap:22px;padding:10px 14px 0;font-size:13px;color:#4A5C75;font-weight:700;text-align:center}
@media (max-width:900px){.dz-kpis{grid-template-columns:1fr 1fr}.dz-two{grid-template-columns:1fr}.dz-big{font-size:48px}}

/* ── Histórico em tabela ── */
#adm-content .hx{border:1px solid #D0D7E0;border-radius:18px;padding:14px 18px;margin-bottom:12px;background:linear-gradient(160deg,#fff,#F6F9FD);box-shadow:0 6px 14px rgba(36,53,79,.07)}
.hx-top{display:grid;grid-template-columns:22px 64px minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) 110px 120px;gap:16px;align-items:center}
.hx-sc{height:48px;border-radius:12px;background:linear-gradient(135deg,#EEF3F9,#D6E0EC);box-shadow:inset 0 1px 0 #fff,0 6px 10px rgba(36,53,79,.14);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px}
.hx-nm b{display:block;font-size:16px;color:#1B2A41}
.hx-nm span{font-size:14px;color:#4A5C75}
.hx-c{font-size:14px;color:#1B2A41;font-weight:700}
.hx-c span{display:block;font-size:12px;color:#4A5C75;font-weight:700;margin-bottom:2px}
.hx-tag{display:inline-block;text-align:center;padding:7px 12px;border-radius:999px;font-weight:700;font-size:13px}
.hx-tag.ok{background:#DDF3E8;color:#14633F}.hx-tag.no{background:#FBE3E1;color:#8E1C15}.hx-tag.wt{background:#E1E8F1;color:#24354F}
.hx-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #E1E8F1}
.hx-b{border-radius:12px;border:1px solid #D0D7E0;background:#fff;color:#24354F;padding:9px 16px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;box-shadow:0 4px 10px rgba(36,53,79,.08)}
.hx-b.ap{background:linear-gradient(145deg,#2FA878,#1F8A5B);color:#fff;border-color:#1F8A5B}
.hx-b.rj{color:#8E1C15;border-color:#F0B8B3;background:#FEF3F2}
.hx-b.pd{background:linear-gradient(145deg,#33496B,#24354F);color:#fff;border-color:#24354F}
.hx-b.dl{margin-left:auto;color:#8E1C15;border-color:#F0B8B3;background:#FEF3F2}
.hx-mot{margin-top:10px;background:#FEF3F2;border:1px solid #F0B8B3;border-radius:12px;padding:10px 14px;font-size:14px;color:#8E1C15}
@media (max-width:900px){.hx-top{grid-template-columns:22px 56px 1fr;row-gap:10px}.hx-c,.hx-tag{grid-column:span 3}.hx-tag{justify-self:start}}

@media (max-width:700px){#adm-content div[style*="border-left"][style*="4px"]{padding:16px !important;min-width:0;overflow-wrap:anywhere}#adm-content div[style*="border-left"][style*="4px"] *{font-size:clamp(15px,5vw,22px) !important}#adm-content div[style*="border-left"][style*="4px"] *:first-child:not(:only-child){font-size:11px !important}}

.ucard{border-radius:20px;background:linear-gradient(160deg,#fff,#F6F9FD);border:1px solid #D0D7E0;box-shadow:0 8px 16px rgba(36,53,79,.08),0 20px 36px rgba(36,53,79,.08);overflow:hidden}
.ucard .av{width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,#5BC6F4,#3AA9DC);color:#0E2238;font-weight:900;font-size:18px;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 8px 14px rgba(58,169,220,.45),inset 0 1px 0 rgba(255,255,255,.5)}
.ucard .av.adm{background:linear-gradient(145deg,#33496B,#24354F);color:#5BC6F4;box-shadow:0 8px 14px rgba(36,53,79,.35),inset 0 1px 0 rgba(255,255,255,.2)}

/* ═══ Tema 3D · telas públicas (iniciar vistoria, formulário, login) ═══ */
#app select option,#app select optgroup,select option{color:#fff !important;background:#1A2740 !important}
#app select option:checked{background:#3AA9DC !important;color:#0E2238 !important}


/* ===== telas públicas: cards em azul #2F4464 com letras claras ===== */

