:root{
  --bg:#f3f6fb;
  --panel:#ffffff;
  --panel-soft:#f8fbff;
  --text:#102033;
  --muted:#617287;
  --line:#d9e2ec;
  --primary:#183f6b;
  --primary2:#0f2d4d;
  --accent:#2f6fad;
  --accent-soft:#eaf3ff;
  --ok:#1e9e5a;
  --ok-soft:#e9f9ef;
  --warn:#b7791f;
  --danger:#c53030;
  --shadow:0 14px 40px rgba(15, 35, 65, .08);
  --radius:20px;
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at top left,#f9fbff 0,#f3f6fb 45%,#eef3f9 100%);color:var(--text)}
a{text-decoration:none;color:inherit}
.app{display:flex;min-height:100vh}
.sidebar{width:290px;background:linear-gradient(180deg,#132233 0%,#15283d 48%,#1a324d 100%);color:#dbe5ef;padding:24px;position:fixed;inset:0 auto 0 0;overflow-y:auto;box-shadow:inset -1px 0 0 rgba(255,255,255,.05)}
.brand{display:flex;gap:14px;align-items:center;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand-mark{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#4f8ac6,#2f6fad);display:grid;place-items:center;font-weight:900;color:#fff;box-shadow:0 10px 24px rgba(47,111,173,.25)}
.brand strong{font-size:18px;display:block}
.brand small{display:block;color:#a9bdd1;margin-top:2px}
.sidebar nav{display:flex;flex-direction:column;gap:6px}
.sidebar nav a{display:flex;align-items:center;padding:12px 14px;border-radius:14px;color:#dbe5ef;transition:.18s ease;background:transparent;border:1px solid transparent;font-weight:600}
.sidebar nav a:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.06);transform:translateX(2px)}
.main{margin-left:290px;flex:1;padding:28px 28px 34px}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}
.topbar h2{margin:0;font-size:28px;line-height:1.1}
.topbar p{margin:8px 0 0;color:var(--muted);font-size:14px}
.user{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:12px 16px;box-shadow:var(--shadow);font-weight:700}
.user small{display:block;color:var(--muted);font-weight:500}
.hero{background:linear-gradient(135deg,#173f6b 0%,#24578d 55%,#2c6dab 100%);color:#fff;border-radius:28px;padding:28px 28px 26px;box-shadow:0 18px 50px rgba(25,63,107,.18);position:relative;overflow:hidden}
.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}
.hero:before{width:220px;height:220px;right:-80px;top:-60px}
.hero:after{width:150px;height:150px;left:-50px;bottom:-50px}
.hero h1,.hero h3{margin:0 0 8px}
.hero p{margin:0;color:rgba(255,255,255,.9);max-width:780px}
.hero-grid{display:grid;grid-template-columns:1.6fr .9fr;gap:18px;align-items:stretch}
.hero-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}
.hero-action{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px);padding:14px 16px;border-radius:18px;color:#fff;display:block}
.hero-action strong{display:block;margin-bottom:4px}
.hero-side{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:18px;position:relative;z-index:1}
.hero-side .small{font-size:13px;color:rgba(255,255,255,.85)}
.hero-side .big{font-size:34px;font-weight:900;line-height:1;margin-top:8px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.card h3,.card h4{margin-top:0}
.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}
.kpi{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0,#fbfdff 100%)}
.kpi:before{content:"";position:absolute;inset:auto -12px -20px auto;width:110px;height:110px;border-radius:50%;background:var(--accent-soft)}
.kpi strong{font-size:32px;display:block;position:relative;z-index:1}
.kpi span{display:block;color:var(--muted);margin-top:8px;position:relative;z-index:1;font-weight:600}
.kpi small{display:block;color:#2f6fad;margin-top:10px;font-weight:700;position:relative;z-index:1}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.section-head h3{margin:0}
.badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:7px 12px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:13px;font-weight:700}
.badge.ok{background:var(--ok-soft);color:#18633d;border-color:#bde8cd}
.btn{border:0;background:var(--primary);color:#fff;padding:11px 15px;border-radius:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;transition:.18s ease;box-shadow:0 10px 24px rgba(24,63,107,.16)}
.btn:hover{background:var(--primary2);transform:translateY(-1px)}
.btn.light{background:#edf4fb;color:#163a59;box-shadow:none}.btn.light:hover{background:#e2eefb}
.btn.warn{background:var(--warn)}.btn.danger{background:var(--danger)}
.table{width:100%;border-collapse:separate;border-spacing:0 10px}.table th{text-align:left;color:#6b7280;font-size:13px;padding:0 12px 6px}.table td{padding:12px}.table tbody tr{background:#fff}.table tbody td{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.table tbody td:first-child{border-left:1px solid var(--line);border-radius:14px 0 0 14px}.table tbody td:last-child{border-right:1px solid var(--line);border-radius:0 14px 14px 0}
.metric-list{display:grid;gap:12px}.metric-item{display:flex;justify-content:space-between;align-items:center;background:#f8fbff;border:1px solid #e0ebf7;border-radius:16px;padding:12px 14px}.metric-item strong{font-size:18px}.metric-item span{color:var(--muted);font-weight:600}
.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}.field label{display:block;font-size:13px;color:#4b5563;margin-bottom:6px;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 13px;background:#fff;font:inherit;transition:border-color .15s ease, box-shadow .15s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#7db0df;box-shadow:0 0 0 4px rgba(125,176,223,.18)}.field textarea{min-height:90px}
.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.tab{padding:10px 14px;background:#eef2f7;border-radius:999px;color:#334155;font-weight:700}.tab.active{background:var(--primary);color:#fff}
.notice{padding:14px 16px;border-radius:16px;background:#fff7ed;color:#7c2d12;border:1px solid #fed7aa;margin-bottom:14px}.success{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}
.public-wrap{min-height:100vh;background:linear-gradient(180deg,#f1f5fb 0,#edf3f8 100%);padding:0}
.public-hero{background:linear-gradient(135deg,#1b2f7a 0%,#22388b 45%,#2947a2 100%);color:#fff;padding:34px 24px 46px;box-shadow:0 10px 30px rgba(20,37,99,.2)}
.public-hero-inner{max-width:980px;margin:0 auto;text-align:center}
.public-hero h1{margin:8px 0 10px;font-size:30px}.public-hero p{margin:0 auto;max-width:780px;color:rgba(255,255,255,.92)}
.public-card{max-width:980px;margin:-28px auto 0;padding:0 20px 40px;position:relative}
.search-panel{background:#fff;border-radius:24px;padding:18px;border:1px solid #d9e2ec;box-shadow:0 18px 50px rgba(19,47,122,.12)}
.search-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:12px;align-items:end}
.search-grid.secondary{grid-template-columns:1fr 1fr auto}
.mini-field label{display:block;font-size:12px;color:#566779;font-weight:800;margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em}
.mini-field input{width:100%;height:44px;border:1px solid #d3deeb;border-radius:12px;padding:0 12px;font:inherit;background:#fbfdff}
.verification-shell{margin-top:18px;background:#fff;border-radius:24px;border:1px solid #d9e2ec;box-shadow:0 18px 50px rgba(30,48,120,.08);overflow:hidden}
.verification-top{padding:18px 20px;border-bottom:1px solid #e4ebf3;background:#f9fbff}
.verification-top .status{display:flex;align-items:center;gap:12px;justify-content:center;text-align:center}
.status-icon{width:34px;height:34px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 8px 20px rgba(30,158,90,.25)}
.status-title{font-size:22px;font-weight:900;color:#14314f}
.status-sub{margin-top:5px;color:#637282;font-size:14px}
.info-banner{display:flex;gap:10px;align-items:flex-start;background:#eef6ff;border:1px solid #cae0ff;color:#14314f;padding:14px 16px;border-radius:16px;margin-top:14px;font-size:14px}
.info-banner strong{font-size:18px;line-height:1}
.result-card{padding:20px}
.result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.result-head h3{margin:0;font-size:18px;color:#173f6b}.result-head p{margin:4px 0 0;color:#6a7a8c}
.result-actions{display:flex;gap:8px;flex-wrap:wrap}
.result-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.result-box{background:#fbfdff;border:1px solid #dce6f0;border-radius:18px;padding:16px}.result-line{display:grid;grid-template-columns:180px 1fr;gap:10px;padding:7px 0;border-bottom:1px dashed #dce4ee}.result-line:last-child{border-bottom:0}.result-line label{font-weight:800;color:#516171}.result-line div{font-weight:600;color:#12273b}
.result-note{margin-top:14px;padding:14px 16px;border-radius:16px;background:#f7fafc;border:1px solid #dce6f0;color:#4f6275;font-size:13px}
.result-list{display:grid;gap:14px}.empty-state{padding:26px 20px;text-align:center;color:#64748b}
.doc-preview{background:#eef2f7;color:#111;padding:26px;border:1px solid #d1d5db;border-radius:16px;line-height:1.55;overflow:auto}.doc-preview h1{text-align:center;letter-spacing:1px}
.printbar{display:flex;gap:8px;margin-bottom:12px}
.helper-text{font-size:13px;color:var(--muted)}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.hero-grid,.grid-2,.result-grid,.search-grid,.search-grid.secondary{grid-template-columns:1fr}.sidebar{width:100%;position:static}.app{display:block}.main{margin-left:0}.public-card{margin-top:-18px}}
@media(max-width:760px){.main{padding:18px}.topbar{flex-direction:column}.grid-4,.grid-3,.grid-2,.form-row{grid-template-columns:1fr}.search-panel{padding:14px}.public-hero h1{font-size:24px}.result-line{grid-template-columns:1fr}}
@media print{.sidebar,.topbar,.printbar,.btn,.public-hero,.search-panel,.result-actions{display:none!important}.main{margin:0;padding:0}.card,.doc-preview,.verification-shell{border:0;box-shadow:none}.app{display:block}.public-card{margin:0;padding:0}.result-box{border:1px solid #ccc}}

.public-docs{display:grid;gap:10px;margin-top:14px}.public-doc-item{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f8fbff;border:1px solid #dce6f0;border-radius:14px;padding:12px 14px}.public-doc-item strong{display:block;color:#173f6b}.public-doc-item small{display:block;color:#667789;margin-top:3px}.public-doc-empty{padding:14px 16px;border-radius:14px;background:#f7fafc;border:1px dashed #d6e1ec;color:#6a7a8c}.public-code{font-family:Consolas,Monaco,monospace;font-weight:700;letter-spacing:.03em;background:#eef6ff;border:1px solid #cae0ff;border-radius:10px;padding:6px 10px;display:inline-block}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:#eef6ff;border:1px solid #cae0ff;color:#173f6b;font-size:12px;font-weight:700}.result-header-card{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;background:#fbfdff;border:1px solid #dce6f0;border-radius:18px;padding:16px 18px;margin-bottom:14px}.result-header-card h4{margin:0 0 6px;font-size:22px;color:#122b46}.result-header-card .sub{color:#637587}.stack-gap{display:grid;gap:14px}
.declaration-wrap{max-width:980px;margin:26px auto;padding:0 20px 40px}
.declaration-actions{display:flex;gap:10px;justify-content:flex-end;margin:18px 0;flex-wrap:wrap}
.declaration-paper{background:#fff;border:1px solid #dce6f0;border-radius:22px;box-shadow:0 18px 50px rgba(30,48,120,.08);padding:34px 38px;color:#102033}
.timbrado{border-bottom:3px solid #1b2f7a;padding-bottom:16px;margin-bottom:24px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.timbrado-title{font-size:22px;font-weight:900;color:#173f6b;line-height:1.2}
.timbrado-sub{margin-top:6px;color:#617287;font-size:13px}
.doc-title{text-align:center;font-size:24px;font-weight:900;letter-spacing:.06em;color:#132b46;margin:10px 0 24px}
.decl-text{font-size:16px;line-height:1.85;text-align:justify;color:#1d2c3b}
.decl-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}
.decl-box{background:#f8fbff;border:1px solid #dce6f0;border-radius:16px;padding:14px 16px}
.decl-box strong{display:block;color:#173f6b;margin-bottom:10px}
.decl-box .line{display:grid;grid-template-columns:140px 1fr;gap:10px;padding:6px 0;border-bottom:1px dashed #dce6f0}
.decl-box .line:last-child{border-bottom:0}
.decl-box .line span:first-child{font-weight:800;color:#516171}
.assinaturas{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:54px}
.assinatura{text-align:center}
.assinatura .bar{border-top:1px solid #1f2937;margin:0 auto 8px;width:78%}
.assinatura p{margin:0;color:#516171;font-size:13px}
.rodape-doc{margin-top:26px;padding-top:16px;border-top:1px dashed #cdd8e4;color:#5e7083;font-size:12px;line-height:1.6}
.doc-public-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;background:#eef6ff;border:1px solid #cae0ff;color:#173f6b;font-weight:700}
@media(max-width:760px){.decl-meta,.assinaturas{grid-template-columns:1fr}.declaration-paper{padding:22px}.decl-box .line{grid-template-columns:1fr}}
@media print{.declaration-actions,.public-hero{display:none!important}.declaration-wrap{margin:0;padding:0}.declaration-paper{border:0;box-shadow:none;border-radius:0;padding:12mm}.timbrado{margin-bottom:16px}}

.qr-box{display:flex;gap:14px;align-items:center;background:#f8fbff;border:1px solid #dce6f0;border-radius:16px;padding:14px 16px;margin-top:18px}
.qr-box img{width:118px;height:118px;border:1px solid #dce6f0;border-radius:12px;background:#fff;padding:6px}
.qr-box strong{display:block;color:#173f6b;margin-bottom:6px}
.qr-box small{display:block;color:#617287;line-height:1.45}
.decl-meta.three{grid-template-columns:1fr 1fr}
@media print{.qr-box img{width:95px;height:95px}.qr-box{break-inside:avoid}}

.decl-box.full{grid-column:1 / -1}
.decl-meta{align-items:stretch}
.decl-box{height:100%}
.decl-box .line span:last-child{word-break:break-word}
.declaration-paper{max-width:100%;overflow:hidden}
@media(min-width:900px){
  .decl-meta{grid-template-columns:1fr 1fr}
  .decl-box.full{grid-column:1 / -1}
}
@media print{
  .decl-meta{grid-template-columns:1fr 1fr}
  .decl-box.full{grid-column:1 / -1}
  .declaration-paper{padding:10mm 12mm}
}


/* v1.1.9 - ajustes da área de alunos, pesquisa, abas e acervo digital */
.toolbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.search-card{background:#f8fbff;border:1px solid #dce6f0;border-radius:18px;padding:14px;display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.search-card .field{min-width:220px;flex:1}
.search-card .field.small{min-width:150px;flex:0 0 180px}
.search-card input,.search-card select{height:44px;border:1px solid var(--line);border-radius:14px;padding:0 13px;background:#fff;font:inherit}
.search-card button,.search-card a{height:44px}
.aluno-actions{display:flex;gap:8px;flex-wrap:wrap}
.tabs .tab{border:0;cursor:pointer}
.tab-panel{display:none}
.tab-panel.active{display:block}
.section-title{font-size:18px;font-weight:900;color:#173f6b;margin:0 0 14px}
.doc-upload-box{background:#f8fbff;border:1px dashed #b8cce0;border-radius:18px;padding:16px;margin-top:14px}
.doc-list{display:grid;gap:10px}
.doc-item{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #dce6f0;border-radius:14px;padding:12px;background:#fff}
.doc-item strong{display:block;color:#173f6b}
.doc-item small{display:block;color:#617287;margin-top:4px}
.alert.ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;padding:12px 14px;border-radius:14px;margin-bottom:14px}
.alert.warn{background:#fff7ed;color:#7c2d12;border:1px solid #fed7aa;padding:12px 14px;border-radius:14px;margin-bottom:14px}

.aluno-form-card .form-row{align-items:start}
.consulta-publica-box{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#f8fbff;border:1px solid #dce6f0;border-radius:18px;padding:14px 16px;margin-bottom:16px}
.consulta-publica-box strong{display:block;color:#173f6b}
.consulta-publica-box small{display:block;color:#617287;margin-top:3px}
.consulta-publica-box label{display:flex;gap:8px;align-items:center;font-weight:800;color:#173f6b;background:#fff;border:1px solid #dce6f0;border-radius:999px;padding:9px 13px;white-space:nowrap}
.consulta-publica-box input{width:auto}
.form-actions-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid #e0e8f1}
.form-actions-bar .btn{min-height:42px}
.aluno-form-wrap select{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 13px;background:#fff;font:inherit}
@media(max-width:760px){.consulta-publica-box{align-items:flex-start;flex-direction:column}.form-actions-bar .btn{width:100%}}

/* v1.2.3 - estabilidade da ficha do aluno */
.aluno-form-wrap .tab-panel.active{display:block!important}
.aluno-form-wrap .tab-panel:not(.active){display:none}
.aluno-form-wrap .tabs button{appearance:none;-webkit-appearance:none}
.form-actions-bar{position:relative;z-index:2}

/* v1.2.4 - matrícula/vínculo acadêmico */
.field-wide{grid-column:1 / -1}
.matricula-card select{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 13px;background:#fff;font:inherit}
.historico-preview{background:#f8fbff;border:1px solid #dce6f0;border-radius:18px;padding:14px 16px;margin:16px 0}
.historico-preview strong{display:block;color:#173f6b}
.historico-preview small{display:block;color:#617287;margin:4px 0 10px}
.preview-semestres{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.preview-semestres span{background:#fff;border:1px solid #dce6f0;border-radius:999px;padding:7px 10px;font-weight:800;color:#173f6b}

/* v1.2.5 - curso disciplinas e sequências */
.curso-form-card select{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 13px;background:#fff;font:inherit}
.disciplinas-box{display:grid;gap:14px;margin:14px 0}
.disciplina-row{background:#f8fbff;border:1px solid #dce6f0;border-radius:18px;padding:14px}
.disciplina-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.disciplina-row-head strong{color:#173f6b}

.btn.danger{background:#b91c1c;color:#fff;border-color:#b91c1c}
.btn.danger:hover{filter:brightness(.96)}
.aluno-actions form{margin:0}

.pill.muted{background:#f1f5f9;color:#475569;border-color:#cbd5e1}
/* v1.3.3 - destaque de demandas no menu */
.menu-demandas-link{position:relative;display:flex!important;align-items:center;justify-content:space-between;gap:8px}
.menu-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:900;box-shadow:0 0 0 2px rgba(255,255,255,.12)}
.dashboard-demandas-alert{border:1px solid rgba(239,68,68,.24)!important;background:linear-gradient(135deg,#fff 0,#fff7ed 100%)!important}
.dashboard-demandas-alert .big-count{font-size:42px;line-height:1;font-weight:900;color:#b91c1c}
.dashboard-demandas-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:14px}
.dashboard-demandas-list a{display:block;padding:14px;border:1px solid #fed7aa;border-radius:14px;text-decoration:none;color:#111827;background:#fff}
.dashboard-demandas-list strong{display:block;font-size:22px;color:#b45309}.dashboard-demandas-list span{font-size:12px;color:#6b7280}


/* v1.3.5 - destaque premium da central de demandas */
.dashboard-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#fff5f5;color:#b91c1c;border:1px solid #fecaca;font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.dashboard-demandas-priority{display:grid;gap:18px;padding:22px;border-radius:24px;border:1px solid #fed7aa;background:linear-gradient(135deg,#fffaf5 0%,#fff 48%,#fff7ed 100%);box-shadow:0 18px 40px rgba(180,83,9,.08)}
.dashboard-demandas-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.dashboard-demandas-top h3{margin:8px 0 6px}.dashboard-demandas-top p{margin:0;color:#7c5b2d}
.dashboard-demandas-actions{display:flex;gap:10px;flex-wrap:wrap}
.dashboard-demandas-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.dashboard-demandas-kpi{display:block;padding:18px;border-radius:18px;border:1px solid #fde68a;background:#fff;text-decoration:none;color:#111827;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.dashboard-demandas-kpi span{display:block;font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:#8b5e1a}
.dashboard-demandas-kpi strong{display:block;margin:8px 0 6px;font-size:34px;line-height:1;font-weight:900;color:#92400e}
.dashboard-demandas-kpi small{display:block;color:#6b7280;line-height:1.45}
.dashboard-demandas-kpi.urgent{border-color:#fecaca;background:linear-gradient(180deg,#fff 0,#fff5f5 100%)}
.dashboard-demandas-kpi.urgent strong{color:#b91c1c}.dashboard-demandas-kpi.urgent span{color:#991b1b}
.dashboard-demandas-kpi.warn{border-color:#fed7aa;background:linear-gradient(180deg,#fff 0,#fff7ed 100%)}
.dashboard-demandas-kpi.progress{border-color:#bfdbfe;background:linear-gradient(180deg,#fff 0,#eff6ff 100%)}
.dashboard-demandas-kpi.progress strong{color:#1d4ed8}.dashboard-demandas-kpi.progress span{color:#1e40af}
.dashboard-demandas-kpi.total{border-color:#bbf7d0;background:linear-gradient(180deg,#fff 0,#f0fdf4 100%)}
.dashboard-demandas-kpi.total strong{color:#15803d}.dashboard-demandas-kpi.total span{color:#166534}
.dashboard-demandas-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}
.dashboard-demandas-card-list,.dashboard-demandas-card-side{padding:18px}
.dashboard-demandas-rows{display:grid;gap:10px}.dashboard-demandas-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;border:1px solid #e5e7eb;background:#fff;text-decoration:none;color:#111827}.dashboard-demandas-row strong{display:block;color:#111827}.dashboard-demandas-row small{display:block;color:#6b7280;margin-top:4px}.dashboard-demandas-row.empty{justify-content:flex-start;background:#f8fafc}.dashboard-demandas-row .req-status{white-space:nowrap}
@media(max-width:1000px){.dashboard-demandas-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-demandas-grid{grid-template-columns:1fr}.dashboard-demandas-top{flex-direction:column;align-items:flex-start}}
@media(max-width:620px){.dashboard-demandas-kpis{grid-template-columns:1fr}.dashboard-demandas-row{flex-direction:column;align-items:flex-start}.dashboard-demandas-actions{width:100%}.dashboard-demandas-actions .btn{width:100%}}


/* v1.3.6 - consulta pública no mesmo padrão azul-marinho da landing */
.public-wrap{background:radial-gradient(circle at 10% 0%,rgba(255,80,28,.08),transparent 24%),radial-gradient(circle at 90% 6%,rgba(59,130,246,.16),transparent 28%),linear-gradient(135deg,#050816 0%,#0f172a 50%,#111827 100%)!important;min-height:100vh}
.public-hero{background:transparent!important;box-shadow:none!important;padding:42px 24px 62px!important;color:#fff!important}
.public-hero-inner{max-width:1040px}.public-hero h1{font-size:clamp(30px,4vw,48px);line-height:1.04;color:#fff}.public-hero p{color:#cbd5e1!important;font-size:16px;line-height:1.7}.public-card{max-width:1080px;margin:-36px auto 0!important}.search-panel{border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 24px 80px rgba(0,0,0,.28)!important;border-radius:24px!important}.verification-shell{box-shadow:0 24px 80px rgba(0,0,0,.16)!important}.public-wrap .badge{background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}.public-wrap .btn{background:#0f2d4d}.public-wrap .btn:hover{background:#183f6b}


/* v1.3.7 - consulta pública: somente o topo fica azul-marinho; restante volta claro */
.public-wrap{background:linear-gradient(180deg,#f1f5fb 0,#edf3f8 100%)!important;min-height:100vh}
.public-hero{background:linear-gradient(135deg,#050816 0%,#0f172a 55%,#111827 100%)!important;box-shadow:0 12px 34px rgba(15,23,42,.22)!important;padding:34px 24px 46px!important;color:#fff!important}
.public-hero-inner{max-width:980px!important;text-align:center}.public-hero h1{font-size:30px!important;line-height:1.12!important;color:#fff!important}.public-hero p{color:rgba(255,255,255,.92)!important;font-size:inherit!important;line-height:1.6!important}.public-card{max-width:980px!important;margin:-28px auto 0!important}.search-panel{background:#fff!important;border:1px solid #d9e2ec!important;box-shadow:0 18px 50px rgba(19,47,122,.12)!important;border-radius:24px!important}.verification-shell{box-shadow:0 18px 50px rgba(30,48,120,.08)!important}.public-wrap .badge{background:#fff!important;color:var(--muted)!important;border-color:var(--line)!important}.public-wrap .btn{background:var(--primary)}.public-wrap .btn:hover{background:var(--primary2)}
@media(max-width:760px){.public-hero h1{font-size:24px!important}.public-hero{padding:28px 18px 42px!important}}


/* v1.3.8 - dashboard premium, menu em cascata e consulta pública responsiva */
.premium-app{background:radial-gradient(circle at 6% 0%,rgba(47,111,173,.09),transparent 26%),linear-gradient(180deg,#f8fbff 0,#eef3f9 100%)}
.sidebar-toggle-control{position:absolute;opacity:0;pointer-events:none}
.premium-sidebar{width:306px;background:linear-gradient(180deg,#07111f 0%,#0b1a2d 48%,#102843 100%);padding:20px;box-shadow:18px 0 60px rgba(15,23,42,.12)}
.premium-brand{position:relative;margin-bottom:18px;padding-bottom:18px}.premium-brand .brand-text{min-width:0}.premium-brand .brand-text strong{white-space:nowrap}.sidebar-collapse-btn{margin-left:auto;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);color:#e5eef7;cursor:pointer;font-weight:900}
.premium-nav{display:flex;flex-direction:column;gap:8px}.premium-nav .nav-link{display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 12px;border-radius:14px;color:#dce8f4;background:transparent;border:1px solid transparent;font-weight:700}.premium-nav .nav-link:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.08);transform:translateX(2px)}
.nav-icon{flex:0 0 34px;width:34px;height:30px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#fff;font-size:11px;font-weight:900}.nav-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-group{border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.03);overflow:hidden}.nav-group summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;cursor:pointer;color:#95aac0;text-transform:uppercase;font-size:11px;letter-spacing:.08em;font-weight:900}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:"›";transition:.18s ease;font-size:16px;color:#cbd5e1}.nav-group[open] summary:after{transform:rotate(90deg)}.nav-group .nav-link{margin:0 8px 8px}.nav-exit{margin-top:6px;color:#fecaca!important}
.sidebar-toggle-control:checked ~ .premium-sidebar{width:92px;padding-left:14px;padding-right:14px}.sidebar-toggle-control:checked ~ .premium-sidebar .brand-text,.sidebar-toggle-control:checked ~ .premium-sidebar .nav-text,.sidebar-toggle-control:checked ~ .premium-sidebar .nav-group summary span,.sidebar-toggle-control:checked ~ .premium-sidebar .nav-group summary:after,.sidebar-toggle-control:checked ~ .premium-sidebar .menu-count{display:none!important}.sidebar-toggle-control:checked ~ .premium-sidebar .premium-brand{justify-content:center}.sidebar-toggle-control:checked ~ .premium-sidebar .sidebar-collapse-btn{position:absolute;right:10px;top:5px;width:30px;height:30px}.sidebar-toggle-control:checked ~ .premium-main{margin-left:92px}.premium-main{margin-left:306px;transition:margin-left .2s ease}.premium-topbar{background:rgba(255,255,255,.72);border:1px solid rgba(217,226,236,.8);border-radius:24px;padding:18px 20px;box-shadow:0 16px 40px rgba(15,35,65,.06);backdrop-filter:blur(10px)}
.premium-dashboard-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.55fr);gap:20px;align-items:stretch;margin-bottom:20px}.premium-dashboard-copy{border-radius:30px;padding:32px;background:linear-gradient(135deg,#07111f 0%,#0f2d4d 55%,#183f6b 100%);color:#fff;box-shadow:0 24px 70px rgba(15,45,77,.18);position:relative;overflow:hidden}.premium-dashboard-copy:after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08)}.premium-dashboard-copy h1{position:relative;margin:8px 0 12px;font-size:clamp(30px,4vw,48px);line-height:1.02;max-width:820px}.premium-dashboard-copy p{position:relative;color:#d5e3f2;line-height:1.65;max-width:760px;margin:0}.premium-eyebrow{position:relative;display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.premium-hero-actions{position:relative;display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.premium-hero-actions a{padding:12px 16px;border-radius:999px;background:#fff;color:#0f172a;font-weight:900}.premium-hero-actions a+ a{background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.15)}
.premium-dashboard-spotlight{border-radius:30px;padding:28px;background:linear-gradient(180deg,#fff 0,#f8fbff 100%);border:1px solid #d9e2ec;box-shadow:0 18px 50px rgba(15,35,65,.08);display:grid;align-content:center}.premium-dashboard-spotlight span{font-size:12px;color:#617287;text-transform:uppercase;letter-spacing:.06em;font-weight:900}.premium-dashboard-spotlight strong{display:block;margin:8px 0;font-size:56px;line-height:1;color:#0f2d4d}.premium-dashboard-spotlight small{color:#617287;font-weight:700;line-height:1.5}
.premium-demand-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.premium-demand-card{display:block;border-radius:22px;padding:20px;background:#fff;border:1px solid #d9e2ec;box-shadow:0 14px 40px rgba(15,35,65,.06);transition:.18s ease}.premium-demand-card:hover{transform:translateY(-2px);box-shadow:0 20px 50px rgba(15,35,65,.10)}.premium-demand-card span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:900;color:#617287}.premium-demand-card strong{display:block;margin:8px 0 6px;font-size:34px;line-height:1;color:#0f2d4d}.premium-demand-card small{display:block;color:#617287;line-height:1.45}.premium-demand-card.urgent{border-color:#fecaca;background:linear-gradient(180deg,#fff 0,#fff5f5 100%)}.premium-demand-card.urgent strong{color:#b91c1c}.premium-demand-card.warn{border-color:#fed7aa;background:linear-gradient(180deg,#fff 0,#fff7ed 100%)}.premium-demand-card.warn strong{color:#b45309}.premium-demand-card.progress{border-color:#bfdbfe;background:linear-gradient(180deg,#fff 0,#eff6ff 100%)}.premium-demand-card.progress strong{color:#1d4ed8}.premium-demand-card.done{border-color:#bbf7d0;background:linear-gradient(180deg,#fff 0,#f0fdf4 100%)}.premium-demand-card.done strong{color:#15803d}
.premium-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr);gap:20px;align-items:start}.premium-main-column,.premium-side-column{display:grid;gap:20px}.premium-panel{background:#fff;border:1px solid #d9e2ec;border-radius:24px;padding:20px;box-shadow:0 14px 40px rgba(15,35,65,.06)}.premium-chart-box{height:310px;position:relative}.premium-doughnut-box{height:270px;position:relative}.premium-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.premium-kpi{padding:18px;border-radius:22px;background:#fff;border:1px solid #d9e2ec;box-shadow:0 14px 40px rgba(15,35,65,.05)}.premium-kpi span{display:block;color:#617287;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.premium-kpi strong{display:block;font-size:30px;margin:7px 0;color:#0f2d4d}.premium-kpi small{display:block;color:#2f6fad;font-weight:800}.premium-protocol-list,.premium-actions-list,.premium-log-list{display:grid;gap:12px}.premium-protocol-row,.premium-actions-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e1e8f0;border-radius:16px;padding:14px;background:#fbfdff}.premium-protocol-row strong,.premium-actions-list span{display:block;color:#102033}.premium-protocol-row small{display:block;margin-top:4px;color:#617287}.premium-protocol-row.empty{justify-content:flex-start}.premium-log-list div{border:1px solid #e1e8f0;border-radius:16px;padding:12px;background:#fbfdff}.premium-log-list strong{display:block}.premium-log-list small{display:block;color:#617287;margin-top:4px}.table-responsive{width:100%;overflow-x:auto}
@media(max-width:1180px){.premium-demand-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-dashboard-grid,.premium-dashboard-hero{grid-template-columns:1fr}.premium-side-column{grid-template-columns:1fr}.premium-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:860px){.premium-sidebar{position:relative;width:100%;inset:auto;padding:16px;border-radius:0}.premium-main{margin-left:0!important;padding:18px}.app.premium-app{display:block}.premium-nav{display:grid;grid-template-columns:1fr;gap:10px}.premium-brand{margin-bottom:12px}.sidebar-collapse-btn,.sidebar-toggle-control{display:none}.premium-topbar{flex-direction:column}.premium-kpi-grid,.premium-demand-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.premium-main{padding:14px}.premium-dashboard-copy,.premium-dashboard-spotlight,.premium-panel{border-radius:20px;padding:18px}.premium-hero-actions a{width:100%;text-align:center}.premium-demand-strip,.premium-kpi-grid{grid-template-columns:1fr}.premium-dashboard-spotlight strong{font-size:42px}.premium-protocol-row{flex-direction:column;align-items:flex-start}.premium-chart-box{height:260px}.premium-doughnut-box{height:240px}}

/* v1.3.8 - consulta pública: responsiva em celular sem escurecer a página toda */
.public-wrap{background:linear-gradient(180deg,#f1f5fb 0,#edf3f8 100%)!important}
.public-hero{background:linear-gradient(135deg,#050816 0%,#0f172a 55%,#111827 100%)!important}
.search-panel .search-grid{grid-template-columns:1fr 1fr 1fr auto!important}
.status-icon{flex:0 0 34px;width:34px;height:34px;min-width:34px;min-height:34px}
.verification-top .status{max-width:100%}.result-header-card,.public-doc-item{min-width:0}.public-code{max-width:100%;overflow-wrap:anywhere}.result-box{min-width:0}
@media(max-width:760px){
  .public-hero{padding:26px 16px 42px!important}.public-hero h1{font-size:24px!important}.public-hero p{font-size:14px!important}
  .public-card{padding:0 12px 32px!important;margin:-22px auto 0!important}
  .search-panel{padding:14px!important;border-radius:20px!important}
  .search-panel .search-grid{grid-template-columns:1fr!important;gap:10px!important}
  .search-panel .search-grid>div{width:100%!important;display:block!important}
  .search-panel .btn{width:100%;min-height:46px}
  .verification-shell{border-radius:20px!important;overflow:hidden}
  .verification-top{padding:15px!important}
  .verification-top .status{align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important}
  .status-title{font-size:20px!important}.status-sub{font-size:13px!important;line-height:1.5}
  .info-banner{font-size:13px;line-height:1.5}
  .result-card{padding:14px!important}
  .result-header-card{flex-direction:column;align-items:flex-start!important;padding:14px!important}.result-header-card>div[style*="text-align:right"]{text-align:left!important;width:100%}
  .result-grid{grid-template-columns:1fr!important}
  .result-line{grid-template-columns:1fr!important;gap:4px}
  .public-doc-item{flex-direction:column;align-items:flex-start!important}
  .doc-public-link,.result-actions .btn,.public-doc-item a{width:100%;justify-content:center;text-align:center}
}


/* v1.3.8.1 - correção de sobreposição ao recolher/expandir menu */
.app.premium-app{display:block!important;min-width:0;overflow-x:hidden}
.premium-sidebar{z-index:30}
.premium-main{box-sizing:border-box;width:calc(100% - 306px);max-width:calc(100% - 306px);min-width:0;overflow-x:hidden;transition:margin-left .22s ease,width .22s ease,max-width .22s ease}
.sidebar-toggle-control:checked ~ .premium-main{width:calc(100% - 92px);max-width:calc(100% - 92px)}
.premium-dashboard-grid,.premium-dashboard-hero,.premium-demand-strip,.premium-main-column,.premium-side-column,.premium-panel,.premium-kpi-grid{min-width:0;max-width:100%}
.premium-main-column,.premium-side-column{min-width:0;overflow:hidden}
.premium-panel{overflow:hidden}
.premium-chart-box,.premium-doughnut-box{width:100%;min-width:0;overflow:hidden}
.premium-chart-box canvas,.premium-doughnut-box canvas{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important}
.premium-dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr)}
.premium-side-column{align-self:start}
@media(max-width:1180px){.premium-main{width:calc(100% - 306px);max-width:calc(100% - 306px)}.sidebar-toggle-control:checked ~ .premium-main{width:calc(100% - 92px);max-width:calc(100% - 92px)}}
@media(max-width:860px){.premium-main,.sidebar-toggle-control:checked ~ .premium-main{width:100%!important;max-width:100%!important;margin-left:0!important}.premium-main-column,.premium-side-column{overflow:visible}}


/* v1.3.10 - correções de menu, login e emissão visual */
.nav-group{overflow:hidden}.nav-group summary{user-select:none}.nav-group:not([open]) .nav-link{display:none!important}.nav-group[open] summary{background:rgba(255,255,255,.08)}
.sidebar-toggle-control:checked ~ .premium-sidebar .nav-group summary{justify-content:center}.sidebar-toggle-control:checked ~ .premium-sidebar .nav-group summary span,.sidebar-toggle-control:checked ~ .premium-sidebar .nav-group .menu-count{display:none!important}
.login-premium-body{margin:0;min-height:100vh;background:radial-gradient(circle at 12% 0%,rgba(255,82,34,.18),transparent 25%),radial-gradient(circle at 90% 8%,rgba(47,111,173,.20),transparent 28%),linear-gradient(135deg,#050816 0%,#0f172a 56%,#111827 100%);font-family:Inter,Segoe UI,Arial,sans-serif;color:#e5eef7}
.login-premium-shell{min-height:100vh;display:grid;grid-template-columns:minmax(340px,480px) minmax(0,1fr);gap:28px;align-items:center;max-width:1180px;margin:0 auto;padding:28px}
.login-premium-card{background:rgba(255,255,255,.96);color:#102033;border:1px solid rgba(255,255,255,.18);border-radius:30px;padding:30px;box-shadow:0 28px 90px rgba(0,0,0,.32)}
.login-premium-brand{display:flex;align-items:center;gap:14px;margin-bottom:24px}.login-premium-brand strong{display:block;font-size:20px}.login-premium-brand small{display:block;color:#617287;margin-top:2px}
.login-premium-copy span{display:inline-flex;padding:7px 12px;border-radius:999px;background:#eef6ff;color:#173f6b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.login-premium-copy h1{margin:14px 0 10px;font-size:32px;line-height:1.08;color:#0f172a}.login-premium-copy p{margin:0 0 20px;color:#617287;line-height:1.65}
.login-premium-form{display:grid;gap:14px}.login-premium-form .field input{height:48px}.login-btn{width:100%;height:50px;margin-top:4px}.login-notice{margin-bottom:14px}.login-premium-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:18px;color:#617287;font-size:13px}.login-premium-footer a{color:#173f6b;font-weight:900}.login-premium-side{min-height:520px;border-radius:34px;padding:42px;background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.10);box-shadow:0 28px 90px rgba(0,0,0,.22);display:grid;align-items:end}.login-premium-side h2{font-size:52px;line-height:1.02;margin:16px 0;color:#fff}.login-premium-side p{max-width:560px;color:#cbd5e1;line-height:1.7;font-size:17px}
@media(max-width:900px){.login-premium-shell{grid-template-columns:1fr;padding:18px}.login-premium-side{min-height:auto;padding:26px}.login-premium-side h2{font-size:34px}.login-premium-footer{flex-direction:column;align-items:flex-start}}
@media(max-width:520px){.login-premium-card{padding:22px;border-radius:24px}.login-premium-copy h1{font-size:26px}}


/* v1.3.11 - estatísticas de acesso / manutenção */
.analytics-page{display:grid;gap:20px}.analytics-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;background:linear-gradient(135deg,#fff 0,#f8fbff 100%)}
.analytics-hero h3{margin:8px 0 6px}.analytics-hero p{margin:0;color:#617287;max-width:760px;line-height:1.55}.analytics-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.analytics-filters select{height:44px;border:1px solid var(--line);border-radius:14px;padding:0 12px;background:#fff;font:inherit}.analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.analytics-grid-fix{align-items:start}.analytics-page code{background:#f1f5f9;border:1px solid #dbe5ef;border-radius:8px;padding:4px 7px;color:#0f172a}.analytics-page .table small{color:#64748b}.analytics-page .helper-text{margin-top:-8px;margin-bottom:12px;color:#64748b;line-height:1.5}
@media(max-width:1100px){.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-hero{flex-direction:column}.analytics-filters{width:100%}.analytics-filters select,.analytics-filters .btn{flex:1}}
@media(max-width:700px){.analytics-kpis{grid-template-columns:1fr}.analytics-filters{display:grid;grid-template-columns:1fr}.analytics-page .table{display:block;overflow-x:auto;white-space:nowrap}}


/* v1.3.12 - segurança, login anti-bot e backup */
.login-robot-check{margin:14px 0;padding:13px 14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);border-radius:14px;color:#e5eef7}
.login-robot-check label{display:flex;align-items:center;gap:10px;font-weight:800}.login-robot-check input[type="checkbox"]{width:18px;height:18px}.login-robot-check small{display:block;margin-top:6px;color:#aab9ca}.robot-hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;width:0!important}
.security-card .check-line{display:flex;align-items:center;gap:8px;background:#f8fbff;border:1px solid #e0ebf7;border-radius:14px;padding:12px 13px;font-weight:700;color:#173f6b}.security-card .check-line input{width:auto}
