:root{
  --primary:#1C1E87;
  --accent:#F7C9AF;
  --bg:#f6f8fc;
  --card:#ffffff;
  --text:#1f2747;
  --muted:#5b6b8f;
  --ok:#16a34a;
  --warn:#d97706;
  --error:#dc2626;
  --sidebar-bg: #ffffff;
  --sidebar-width: 260px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}

/* ESTRUTURA DA PÁGINA COM SIDEBAR */
.page-wrapper{display:flex;height:100vh}
.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid rgba(28,30,135,.12);display:flex;flex-direction:column;padding:20px;flex-shrink:0}
.main-content{flex-grow:1;overflow-y:auto}
.sidebar .brand{padding:0 8px 16px 8px; border-bottom:1px solid rgba(28,30,135,.12); margin-bottom:16px;}
.sidebar-nav{display:flex;flex-direction:column;gap:8px;flex-grow:1}
.nav-item{padding:12px 16px;text-decoration:none;color:var(--muted);font-weight:700;border-radius:12px;font-size:14px;transition:.2s}
.nav-item:hover{background:var(--bg);color:var(--primary)}
.nav-item.active{background:rgba(28,30,135,.08);color:var(--primary)}
.sidebar-footer a{text-decoration:none;color:var(--muted);font-size:14px;font-weight:700;text-align:center;display:block;padding:10px}
.sidebar-footer a:hover{color:var(--primary)}

.header{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;position:relative;z-index:2}
.brand{display:flex;align-items:center;gap:10px}
.brand .logoDot{width:16px;height:16px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(247,201,175,.25)}
.brand .brandText{font-weight:800;color:var(--primary);letter-spacing:.3px;font-size:18px}
.docTitle{font-size:18px;font-weight:800;color:var(--primary)}
/* LOGIN FULLSCREEN */
.hero{position:relative;min-height:100vh;width:100%;display:flex;flex-direction:column}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(12,20,45,.58), rgba(12,20,45,.58)),url('bg.webp');background-size:cover;background-position:center;filter:saturate(.95)}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center;min-height:calc(100vh - 0px);padding:40px 28px}
.hero-copy{color:#eef2ff}
.hero-copy h1{margin:0 0 8px 0;font-size:44px;line-height:1.1}
.hero-copy p{margin:0;color:#dbe4ff;font-size:16px;max-width:760px}
.login-card{background:rgba(255,255,255,.98);border:1px solid rgba(28,30,135,.12);border-radius:16px;padding:22px;backdrop-filter:blur(4px);box-shadow:0 16px 40px rgba(12,20,45,.35)}
.label{display:block;margin:12px 0 6px;color:#22305f;font-weight:700;font-size:14px}
.input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(28,30,135,.18);background:#fff;color:var(--text);outline:none}
.input:focus{box-shadow:0 0 0 4px rgba(28,30,135,.12);border-color:#1C1E87}
.btn{background:var(--primary);border:none;color:white;padding:12px 18px;border-radius:12px;font-weight:700;cursor:pointer;transition:.2s;box-shadow:0 6px 16px rgba(28,30,135,.25)}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn.secondary{background:#eef2ff;color:#1C1E87;border:1px solid rgba(28,30,135,.18)}
.btn.small-btn{padding: 6px 12px; font-size: 12px;}
/* LAYOUT */
.container{max-width:1200px;margin:0 auto;padding:20px}
.grid{display:grid;gap:18px}
.grid.cols-2{grid-template-columns:1fr 1fr}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border:1px solid rgba(28,30,135,.12);border-radius:16px;padding:18px}
.section-title{margin:0 0 10px 0;font-size:20px;color:#22305f}
.sub{color:var(--muted);font-size:13px;margin-bottom:12px}
.small{font-size:12px;color:#44517c}
.table{width:100%;border-collapse:collapse;font-size:13px}
.table th,.table td{border:1px solid rgba(28,30,135,.18);padding:8px; text-align: left; vertical-align: middle;}
.table td.actions {display: flex; gap: 6px; border: none;}
.field-row{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.field-row .lab{width:180px;color:#22305f;font-weight:700;font-size:14px;flex-shrink:0}
.badge{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800;display:inline-block}
.badge.ok{background:rgba(22,163,74,.12);color:#15803d;border:1px solid rgba(22,163,74,.25)}
.badge.warn{background:rgba(217,119,6,.12);color:#b45309;border:1px solid rgba(217,119,6,.25)}
.badge.error{background:rgba(220,38,38,.12);color:#b91c1c;border:1px solid rgba(220,38,38,.25)}
.progress{height:10px;background:#eef2ff;border-radius:999px;overflow:hidden;border:1px solid rgba(28,30,135,.12)}
.progress>div{height:100%;background:linear-gradient(90deg,#1C1E87,#7aa0ff);width:0%}
/* Signature footer centered */
.sigCenter{margin-top:10px;padding-top:8px;text-align:center;border-top:1px solid rgba(28,30,135,.18)}
.sigName{font-family:"Great Vibes",cursive;font-size:26px;color:#1C1E87;line-height:1;margin:0}
.sigRole{font-size:11px;color:#44517c}
.sigStamp{font-size:11px;color:#22305f;margin-top:4px}
.sigGov{display:inline-block;margin-top:6px;padding:6px 10px;border-radius:10px;border:1px dashed rgba(28,30,135,.35);font-size:11px;color:#1C1E87;background:rgba(28,30,135,.05);font-weight:800;letter-spacing:.2px}
/* PRINT */
@media print{@page{size:A4;margin:12mm}body{background:#fff}.no-print,.sidebar{display:none!important}.page-wrapper{display:block;height:auto}.main-content{overflow:visible}}
