:root{
    --bg:#07111f;
    --panel:#0f1b2d;
    --panel-2:#13233a;
    --panel-3:#182c49;
    --text:#e5eefc;
    --muted:#93a7c6;
    --primary:#3b82f6;
    --primary-2:#60a5fa;
    --border:#233754;
    --ok:#16a34a;
    --warn:#f59e0b;
    --danger:#ef4444;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Segoe UI,Arial,sans-serif;
    background:radial-gradient(circle at top left, #10233d 0%, #050d18 52%, #02060d 100%);
    color:var(--text)
}
a{text-decoration:none;color:inherit}
.shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}
.sidebar{
    background:rgba(7,17,31,.95);
    padding:28px 22px;
    border-right:1px solid var(--border);
    display:flex;
    flex-direction:column;
    gap:24px;
    position:sticky;
    top:0;
    height:100vh
}
.brand{font-size:30px;font-weight:800;letter-spacing:-.03em}
.brand span{display:block;color:var(--muted);font-size:13px;margin-top:6px;font-weight:500}
.sidebar nav{display:flex;flex-direction:column;gap:12px}
.sidebar nav a{
    padding:14px 16px;
    background:linear-gradient(180deg, rgba(15,27,45,.95), rgba(11,20,34,.95));
    border-radius:14px;
    border:1px solid var(--border);
    transition:.2s ease;
    font-weight:600
}
.sidebar nav a:hover{transform:translateY(-1px);border-color:#3867a7;background:#142641}
.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:12px}
.sidebar-stat{padding:14px 16px;border-radius:16px;background:rgba(16,31,53,.9);border:1px solid var(--border)}
.sidebar-stat span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}
.sidebar-stat strong{font-size:14px;line-height:1.4}
.main{display:flex;flex-direction:column}
.topbar{
    padding:26px 32px;
    border-bottom:1px solid rgba(35,55,84,.9);
    background:rgba(6,14,24,.82);
    backdrop-filter:blur(12px);
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-start
}
.topbar h1{margin:0 0 6px;font-size:32px;letter-spacing:-.03em}
.topbar p{margin:0;color:var(--muted)}
.topbar-actions{display:flex;flex-wrap:wrap;gap:10px}
.topbar-chip{
    padding:10px 14px;
    border-radius:999px;
    border:1px solid var(--border);
    background:rgba(17,30,50,.9);
    font-size:13px;
    color:#d9e8ff
}
.content{padding:26px 32px 34px}
.eyebrow{display:inline-block;color:#8fc2ff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}
.hero-panel{
    display:grid;
    grid-template-columns:1.7fr 1fr;
    gap:18px;
    margin-bottom:22px
}
.hero-panel-compact{grid-template-columns:1.5fr .9fr}
.hero-copy,.panel-glass{
    border:1px solid rgba(62,96,146,.65);
    border-radius:24px;
    background:linear-gradient(180deg, rgba(15,30,53,.95), rgba(10,18,31,.92));
    box-shadow:0 12px 34px rgba(0,0,0,.26)
}
.hero-copy{padding:28px 28px 24px}
.hero-copy h2{margin:0 0 12px;font-size:36px;line-height:1.08;letter-spacing:-.04em;max-width:14ch}
.hero-copy p{margin:0;color:#c3d4ef;max-width:70ch;line-height:1.6}
.hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;align-items:center}
.hero-range{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;border-radius:999px;background:rgba(8,18,31,.88);border:1px solid var(--border);font-size:13px}
.hero-side{padding:22px 22px 18px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.hero-side-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#8fc2ff}
.hero-side strong{font-size:21px;line-height:1.35}
.hero-side small{color:var(--muted);line-height:1.45}
.filter-bar{
    display:flex;
    gap:16px;
    align-items:end;
    flex-wrap:wrap;
    background:var(--panel);
    padding:16px;
    border:1px solid var(--border);
    border-radius:20px;
    margin-bottom:22px
}
.filter-bar-modern{background:linear-gradient(180deg, rgba(14,25,42,.95), rgba(9,18,31,.95));box-shadow:0 12px 30px rgba(0,0,0,.18)}
.filter-bar div,.form-group{display:flex;flex-direction:column;gap:8px}
label{font-size:13px;color:#d7e6ff;font-weight:600}
input, textarea{
    background:#07111f;
    color:var(--text);
    border:1px solid var(--border);
    border-radius:12px;
    padding:12px 14px;
    min-width:220px
}
textarea.textarea{width:100%;min-height:120px}
.btn-primary,.btn-secondary{
    border:none;
    padding:12px 18px;
    border-radius:12px;
    font-weight:700;
    cursor:pointer;
    transition:.2s ease
}
.btn-primary{background:linear-gradient(180deg, var(--primary), #1d4ed8);color:white;box-shadow:0 10px 20px rgba(29,78,216,.25)}
.btn-secondary{background:#334155;color:#fff}
.btn-primary:hover,.btn-secondary:hover{transform:translateY(-1px)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.card,.panel{
    background:linear-gradient(180deg, rgba(14,25,42,.95), rgba(9,18,31,.95));
    border:1px solid var(--border);
    border-radius:22px;
    padding:18px;
    box-shadow:0 10px 28px rgba(0,0,0,.18)
}
.cards-modern .card{padding:20px}
.card span{display:block;color:var(--muted);margin-bottom:8px;font-size:13px}
.card strong{font-size:28px;letter-spacing:-.03em}
.card small{display:block;margin-top:10px;color:#bfd2ee;line-height:1.45}
.feature-card{position:relative;overflow:hidden}
.feature-card::after{content:'';position:absolute;inset:auto -40px -40px auto;width:120px;height:120px;background:radial-gradient(circle, rgba(96,165,250,.16), transparent 70%)}
.card-alert{border-color:rgba(239,68,68,.45);background:linear-gradient(180deg, rgba(49,18,24,.96), rgba(25,12,16,.96))}
.card-risk{border-color:rgba(245,158,11,.45)}
.card-risk-critical{border-color:rgba(239,68,68,.65);box-shadow:0 0 0 1px rgba(239,68,68,.18), 0 10px 28px rgba(239,68,68,.14)}
.grid-2{display:grid;grid-template-columns:1.7fr 1fr;gap:16px}
.dashboard-main{align-items:start}
.panel-title-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}
.panel-title-row h3,.panel-title-row h4{margin:0}
.legend-pill{padding:9px 12px;border-radius:999px;background:rgba(11,21,37,.9);border:1px solid var(--border);font-size:12px;color:#d7e6ff}
.recommendation-panel{margin-bottom:20px}
.quick-nav-panel{margin-bottom:20px}
.sticky-nav-panel{position:sticky;top:14px;z-index:6;backdrop-filter:blur(10px)}
.quick-nav-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}
.quick-nav-header h3{margin:0 0 8px;font-size:28px;letter-spacing:-.03em}
.quick-nav-header p,.section-header p{margin:0;color:var(--muted);line-height:1.5}
.quick-nav-actions{display:flex;gap:10px;flex-wrap:wrap}
.quick-nav-actions-grid{max-width:620px;justify-content:flex-end}
.nav-chip,.chip,.badge{
    background:#091321;
    border:1px solid var(--border);
    color:var(--text);
    padding:10px 14px;
    border-radius:999px;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    font-weight:600
}
.nav-chip:hover,.chip:hover{border-color:#4f8de7}
.nav-chip-primary{background:linear-gradient(180deg, rgba(59,130,246,.95), rgba(29,78,216,.95));border-color:transparent}
.chart-focus-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.nav-chip-chart.active{background:linear-gradient(180deg, rgba(59,130,246,.95), rgba(29,78,216,.95));border-color:transparent}
.chart-panel-featured{padding:20px}
.chart-wrap{position:relative;height:320px}
.chart-wrap-lg{height:430px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:12px 10px;border-bottom:1px solid rgba(35,55,84,.8);text-align:left;vertical-align:top;line-height:1.5}
.table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.table-compact td,.table-compact th{padding:11px 8px}
.table-decision td:last-child{color:#d8e7ff}
.badge{padding:7px 10px;font-size:12px}
.badge-baixo{background:rgba(22,163,74,.16);border-color:rgba(22,163,74,.35)}
.badge-medio,.badge-alto{background:rgba(245,158,11,.16);border-color:rgba(245,158,11,.35)}
.badge-critico{background:rgba(239,68,68,.16);border-color:rgba(239,68,68,.35)}
.badge-neutral{background:rgba(148,163,184,.12);border-color:rgba(148,163,184,.28)}
.section-panel{margin-top:20px}
.section-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}
.section-header h3{margin:0 0 8px;font-size:28px;letter-spacing:-.03em}
.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.insight-card,.timeline-card{
    padding:18px;
    border-radius:20px;
    border:1px solid var(--border);
    background:linear-gradient(180deg, rgba(17,32,54,.95), rgba(11,20,34,.95));
    min-height:190px;
    display:flex;
    flex-direction:column;
    gap:10px
}
.insight-card span,.timeline-card span{color:var(--muted);font-size:13px}
.insight-card strong,.timeline-card strong{font-size:28px;letter-spacing:-.03em}
.insight-card p,.timeline-card p{margin:0;color:#d9e8ff;line-height:1.5}
.insight-card small,.timeline-card small{margin-top:auto;color:#9bb4d8;line-height:1.45}
.insight-ok{border-color:rgba(22,163,74,.38);background:linear-gradient(180deg, rgba(11,50,34,.9), rgba(9,22,18,.92))}
.insight-alerta{border-color:rgba(245,158,11,.4);background:linear-gradient(180deg, rgba(57,40,11,.92), rgba(23,17,8,.94))}
.insight-critico{border-color:rgba(239,68,68,.45);background:linear-gradient(180deg, rgba(62,20,24,.92), rgba(24,10,14,.94))}
.insight-info{border-color:rgba(59,130,246,.42)}
.timeline-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.section-timeline{border-color:rgba(59,130,246,.35)}
.panel-subtable{margin-top:18px}
.page-panel{margin-bottom:20px}
.upload-form{display:flex;gap:16px;align-items:end;flex-wrap:wrap}
.form-group-wide{min-width:min(620px,100%)}
.cell-break{word-break:break-word;overflow-wrap:anywhere}
.alert{margin-top:16px;padding:14px 16px;border-radius:14px;background:#052e16;border:1px solid #166534;color:#dcfce7}
.chat-shell{display:flex;flex-direction:column;gap:16px;min-height:75vh}
.chat-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.chat-header h3{margin:0 0 8px;font-size:28px}
.chat-header p{margin:0;color:var(--muted)}
.chat-suggestions{display:flex;gap:8px;flex-wrap:wrap}
.chat-messages{display:flex;flex-direction:column;gap:14px;background:#081425;border:1px solid var(--border);border-radius:20px;padding:18px;min-height:420px;max-height:60vh;overflow:auto}
.message{display:flex;width:100%}
.message.user{justify-content:flex-end}
.message.assistant{justify-content:flex-start}
.bubble{max-width:min(820px,100%);padding:14px 16px;border-radius:18px;border:1px solid var(--border);background:#111827;box-shadow:0 10px 22px rgba(0,0,0,.16)}
.message.user .bubble{background:#1d4ed8;border-color:#2563eb}
.message.assistant .bubble{background:#12223a}
.bubble strong{display:block;margin-bottom:8px}
.bubble p{margin:0;white-space:pre-wrap;line-height:1.55}
.bubble.ia{background:#18243f;border-left:4px solid #4ea1ff}
.bubble.erro{background:#3a1f1f;border-left:4px solid #ff6b6b;color:#ffdede}
.chat-inputbar{display:flex;flex-direction:column;gap:12px}
.chat-textarea{min-height:110px}
.chat-actions{display:flex;justify-content:flex-end;gap:10px}
@media (max-width: 1280px){
    .cards,.insight-grid{grid-template-columns:repeat(2,1fr)}
    .hero-panel{grid-template-columns:1fr}
}
@media (max-width: 980px){
    .shell{grid-template-columns:1fr}
    .sidebar{position:relative;height:auto;border-right:none;border-bottom:1px solid var(--border)}
    .topbar{flex-direction:column;padding:20px}
    .grid-2,.timeline-grid,.insight-grid,.cards{grid-template-columns:1fr}
    .content{padding:20px}
    .chart-wrap-lg{height:360px}
    .quick-nav-actions-grid{justify-content:flex-start}
    .sticky-nav-panel{position:relative;top:auto}
}
