:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}.shell{display:flex;min-height:100vh}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#2dd4bf;color:#062b2a;font-weight:900;font-size:20px}.brand strong{display:block;font-size:15px}.brand small{display:block;color:#8290a6;font-size:10px;margin-top:3px}.status-dot{display:inline-block;width:7px;height:7px;background:#34d399;border-radius:50%;margin-right:7px}.main{flex:1;min-width:0;padding:34px 42px;max-width:1500px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:.12em;color:#71809a;font-weight:800;margin:0 0 7px}.topbar h1{font-size:25px;margin:0;color:#101828}.primary{border:0;background:#0f766e;color:#fff;border-radius:8px;padding:12px 18px;font-weight:700;cursor:pointer}.primary:hover{background:#115e59}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}.stats article,.panel{background:#fff;border:1px solid #e6eaf0;border-radius:12px;box-shadow:0 2px 8px #17203308}.stats article{padding:18px}.stats span,.stats small{display:block;color:#71809a;font-size:12px}.stats strong{display:block;font-size:27px;margin:10px 0 5px;color:#111827}.stats small.up{color:#0f9f78}.stats small.warning{color:#d97706}.grid-two{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-bottom:18px}.panel{padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:16px}.panel h2{margin:0;font-size:16px}.panel p{margin:5px 0 0;color:#8a96a8;font-size:12px}.panel-head a{font-size:12px;text-decoration:none;color:#0f766e;font-weight:700}.timeline{display:grid;gap:0}.event{display:grid;grid-template-columns:50px 15px 1fr auto;gap:12px;align-items:center;padding:15px 0;border-top:1px solid #edf0f4}.event:first-child{border-top:0}.time{font-size:12px;color:#8491a4}.event-dot{width:9px;height:9px;border-radius:50%;display:block}.blue{background:#3b82f6}.green{background:#10b981}.orange{background:#f59e0b}.event strong{font-size:13px}.event p{font-size:11px}.tag{display:inline-block;padding:5px 8px;border-radius:5px;font-size:10px;font-weight:800;white-space:nowrap}.blue-tag{background:#e8f1ff;color:#2563eb}.green-tag{background:#e8f8f1;color:#07875f}.orange-tag{background:#fff4df;color:#b45309}.map{height:234px;border-radius:9px;background:#e5eee9;position:relative;overflow:hidden;background-image:linear-gradient(35deg,transparent 48%,#c5d9cf 49%,transparent 51%),linear-gradient(115deg,transparent 48%,#c5d9cf 49%,transparent 51%);background-size:120px 120px}.map-grid{position:absolute;inset:0;background:radial-gradient(circle at 30% 55%,#bad9c7 0 2px,transparent 3px),radial-gradient(circle at 72% 28%,#bad9c7 0 2px,transparent 3px);background-size:80px 80px}.pin{position:absolute;background:#0f766e;color:white;font-size:10px;padding:5px 7px;border-radius:5px;box-shadow:0 3px 8px #0f766e55}.pin:after{content:"";position:absolute;bottom:-5px;left:11px;border:5px solid transparent;border-top-color:#0f766e;border-bottom:0}.pin-a{left:30%;top:37%}.pin-b{left:65%;top:56%}.pin-c{left:49%;top:24%}.map-label{position:absolute;bottom:11px;left:13px;background:#ffffffc9;padding:6px 9px;border-radius:5px;font-size:10px;color:#536273}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#8a96a8;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;padding:11px 10px;border-bottom:1px solid #edf0f4}td{padding:14px 10px;border-bottom:1px solid #edf0f4;color:#556274}td strong,td small{display:block}td strong{color:#182235;font-size:12px}td small{font-size:10px;color:#93a0b1;margin-top:3px}.modal{position:fixed;inset:0;background:#07101d80;display:grid;place-items:center;padding:20px}.modal.hidden{display:none}.modal-card{background:#fff;width:min(500px,100%);border-radius:14px;padding:28px;position:relative}.close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:26px;color:#8290a6;cursor:pointer}.modal-card h2{margin:0 0 22px}.modal-card label{display:block;font-size:12px;font-weight:700;color:#566477;margin:13px 0}.modal-card input,.modal-card select{display:block;width:100%;margin-top:6px;border:1px solid #dbe2ea;border-radius:7px;padding:11px;font:inherit;font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{width:100%;margin-top:12px}@media(max-width:900px){.main{padding:25px}.stats{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}}@media(max-width:620px){.main{padding:20px 14px}.topbar{align-items:flex-start;gap:15px}.topbar h1{font-size:21px}.topbar .primary{padding:10px 12px;font-size:11px}.stats{gap:10px}.stats strong{font-size:22px}.grid-two{gap:12px}.panel{padding:15px}.event{grid-template-columns:42px 10px 1fr}.event .tag{grid-column:3;margin-top:4px;width:max-content}}

/* ===== Estrutura da aplicação: menu fixo, recolhível, gaveta no celular, busca rápida ===== */
.sidebar{width:260px;flex:none;background:#0b1220;color:#cbd5e1;padding:16px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;overscroll-behavior:contain;transition:width .18s ease;z-index:40}
.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:#1e2c44;border-radius:6px}
.sidebar .brand{display:flex;gap:11px;align-items:center;color:#fff;margin:0 6px 10px;min-height:38px}
.sidebar .brand .brand-mark{flex:none;overflow:hidden}.sidebar .brand>div{min-width:0}.sidebar .brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-search{display:flex;align-items:center;gap:10px;width:100%;border:1px solid #1e2c44;background:#0f1a2e;color:#8ea0b8;border-radius:10px;padding:9px 12px;font:inherit;font-size:12.5px;cursor:pointer;margin-bottom:6px}
.nav-search:hover{border-color:#2dd4bf66;color:#cbd5e1}.nav-search kbd{margin-left:auto;font:inherit;font-size:10px;border:1px solid #27385a;border-radius:5px;padding:1px 6px;color:#7c8ea8}
.sidebar svg.i{width:19px;height:19px;flex:none;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.nav-group{margin-top:9px}.nav-title{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#5d6f8a;margin:0 12px 6px;font-weight:800}
.sidebar nav{display:block}
.sidebar nav a{display:flex;align-items:center;gap:12px;color:#9eacc0;text-decoration:none;padding:8px 12px;border-radius:10px;font-size:13.5px;font-weight:600;margin-bottom:1px;position:relative;transition:background .12s,color .12s}
.sidebar nav a:hover{background:#13213a;color:#fff}
.sidebar nav a.active{background:#15284a;color:#fff}
.sidebar nav a.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:#2dd4bf}
.sidebar nav a:focus-visible,.nav-search:focus-visible,.nav-foot button:focus-visible{outline:2px solid #2dd4bf;outline-offset:2px}
.nav-badge{margin-left:auto;background:#f59e0b;color:#1f2937;border-radius:999px;padding:1px 8px;font-size:10px;font-weight:800;min-width:20px;text-align:center}
.nav-foot{margin-top:auto;padding-top:8px;border-top:1px solid #16243c}
.nav-user{display:flex;align-items:center;gap:10px;padding:6px 6px}.nav-avatar{width:34px;height:34px;border-radius:50%;background:#1e3a5f;color:#e6f0ff;display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}
.nav-user div{min-width:0;line-height:1.25}.nav-user strong{display:block;color:#fff;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user small{display:block;color:#7c8ea8;font-size:10.5px}
.nav-actions{display:flex;gap:6px;margin-top:6px}.nav-actions button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #1e2c44;background:transparent;color:#9eacc0;border-radius:9px;padding:8px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.nav-actions button:hover{background:#13213a;color:#fff}.nav-actions .collapse svg{transition:transform .18s}
/* recolhido: só ícones */
body.nav-collapsed .sidebar{width:76px}body.nav-collapsed .sidebar .lbl,body.nav-collapsed .sidebar .nav-title,body.nav-collapsed .sidebar .brand>div,body.nav-collapsed .sidebar .nav-search kbd,body.nav-collapsed .sidebar .nav-user div,body.nav-collapsed .sidebar .nav-actions .txt{display:none}
body.nav-collapsed .sidebar nav a,body.nav-collapsed .sidebar .nav-search{justify-content:center;padding-left:0;padding-right:0}
body.nav-collapsed .sidebar .nav-badge{position:absolute;top:2px;right:6px;margin:0;padding:0 5px;font-size:9px;min-width:16px}
body.nav-collapsed .sidebar .nav-user{justify-content:center}body.nav-collapsed .nav-actions{flex-direction:column}body.nav-collapsed .nav-actions .collapse svg{transform:rotate(180deg)}
body.nav-collapsed .sidebar nav a.active:before{left:-12px}
/* barra de cima e gaveta no celular */
.mbar{display:none}.scrim{display:none}
@media(max-width:900px){
  .shell{display:block}
  .sidebar{position:fixed;left:0;top:0;bottom:0;height:100%;width:min(300px,86vw);transform:translateX(-102%);transition:transform .22s ease;z-index:70;box-shadow:12px 0 40px #0b122066}
  body.nav-open .sidebar{transform:none}body.nav-open{overflow:hidden}
  .scrim{display:block;position:fixed;inset:0;background:#0b122088;z-index:65;opacity:0;pointer-events:none;transition:opacity .2s}body.nav-open .scrim{opacity:1;pointer-events:auto}
  .mbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:30;background:#0b1220;color:#fff;padding:10px 14px}
  .mbar button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:#15284a;color:#fff;cursor:pointer;position:relative}
  .mbar svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round}.mbar strong{flex:1;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mbar .dot{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:#f59e0b;border:2px solid #15284a}
  body.nav-collapsed .sidebar{width:min(300px,86vw)}body.nav-collapsed .sidebar .lbl,body.nav-collapsed .sidebar .nav-title,body.nav-collapsed .sidebar .brand>div,body.nav-collapsed .sidebar .nav-search kbd,body.nav-collapsed .sidebar .nav-user div,body.nav-collapsed .sidebar .nav-actions .txt{display:revert}
  body.nav-collapsed .sidebar nav a,body.nav-collapsed .sidebar .nav-search{justify-content:flex-start;padding:9px 12px}body.nav-collapsed .sidebar .nav-badge{position:static;margin-left:auto;padding:1px 8px;font-size:10px}
  .nav-actions .collapse{display:none}
}
/* busca rápida (Ctrl+K) */
.cmdk{position:fixed;inset:0;background:#0b122099;display:none;align-items:flex-start;justify-content:center;padding:12vh 14px 0;z-index:90}.cmdk.open{display:flex}
.cmdk-box{background:#fff;border-radius:14px;width:min(620px,100%);box-shadow:0 30px 80px #0b122055;overflow:hidden}
.cmdk-input{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #edf0f4}.cmdk-input svg{width:20px;height:20px;stroke:#71809a;fill:none;stroke-width:1.9;stroke-linecap:round}
.cmdk-input input{flex:1;border:0;outline:0;font:inherit;font-size:16px;color:#101828;background:transparent}
.cmdk-list{max-height:52vh;overflow:auto;padding:6px}.cmdk-h{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8491a4;font-weight:800;padding:10px 10px 4px}
.cmdk-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:9px;text-decoration:none;color:#182235;font-size:14px;cursor:pointer}.cmdk-item small{color:#8491a4;margin-left:auto;font-size:11px}
.cmdk-item.sel,.cmdk-item:hover{background:#eef6f5}.cmdk-empty{padding:26px;text-align:center;color:#8491a4;font-size:13px}
.cmdk-foot{padding:8px 14px;border-top:1px solid #edf0f4;color:#8491a4;font-size:11px;display:flex;gap:14px}
@media(max-width:900px){.main{padding:18px 14px}.topbar{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.sidebar,.scrim{transition:none}}
