Baseline v2.0.0-dev: fork de ampmInsights_V1

- Copia integral de ampmInsights_V1/ (docs/ + sql/), que o usuário confirma
  ser exatamente o que foi usado para construir e implementar
  ampmInsights_V1_Cliente no cliente.
- Traz docs/10-carga-cmdb-vulnerabilidades.html de V1_Cliente (existia lá,
  faltava em V1 — gap de conteúdo, não só de tom).
- Rebrand mecânico 'Documentação V1' -> 'Documentação V2' nas 10 páginas de
  docs + link de navegação para o capítulo 10 adicionado onde faltava.
- ampmInsights_V1/ e ampmInsights_V1_Cliente/ ficam congelados a partir de
  agora (réplica validada, já implementada no cliente) — todo o trabalho de
  v2.0.0 (schema aditivo: ALTER/MERGE, sem DROP) acontece nesta pasta.
- Adiciona TASKS.md e CHANGELOG.md próprios desta geração.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-09 11:21:14 -03:00
commit 24a1c8bb6a
17 changed files with 82082 additions and 0 deletions

438
docs/assets/main.css Normal file
View File

@@ -0,0 +1,438 @@
/* ampmInsights V1 - documentation styles
Paleta derivada do Oracle_PPT-template_FY26.pptx (tema "Custom 43"):
accent3 #C74634 (Oracle Red), accent1 #04536F (deep teal),
dk1 #2A2F2F (charcoal), lt2 #FBF9F8 (warm off-white),
accent4 #F0CC71 (gold), accent5 #89B2B0, accent6 #86B596 */
:root {
--red: #C74634;
--red-dark: #a8382a;
--teal: #04536F;
--teal-dark: #063C4E;
--charcoal: #2A2F2F;
--paper: #FBF9F8;
--paper-alt: #F1ECE8;
--gold: #F0CC71;
--sage: #86B596;
--dusty-teal: #89B2B0;
--line: #E2DCD6;
--text: #201E1C;
--text-soft: #55524E;
--card-bg: #FFFFFF;
--code-bg: #22282B;
--code-text: #E7EEF0;
--radius: 10px;
--font-head: Georgia, "Oracle Sans", "Oracle Sans Tab", serif;
--font-body: "Oracle Sans", "Oracle Sans Tab", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
}
:root[data-theme="dark"] {
--paper: #1B1E1F;
--paper-alt: #14171A;
--card-bg: #24282A;
--text: #F1ECE8;
--text-soft: #C7C2BC;
--line: #3A3F40;
--code-bg: #101315;
}
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) {
--paper: #1B1E1F;
--paper-alt: #14171A;
--card-bg: #24282A;
--text: #F1ECE8;
--text-soft: #C7C2BC;
--line: #3A3F40;
--code-bg: #101315;
}
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: var(--font-body);
background: var(--paper);
color: var(--text);
line-height: 1.55;
}
a { color: var(--teal); }
:root[data-theme="dark"] a, @media (prefers-color-scheme: dark) { }
a:hover { color: var(--red); }
.layout {
display: flex;
min-height: 100vh;
}
/* ---------- Sidebar ---------- */
.sidebar {
width: 272px;
flex: 0 0 272px;
background: var(--charcoal);
color: #EFECE8;
padding: 20px 16px 32px;
position: sticky;
top: 0;
height: 100vh;
overflow-y: auto;
}
.brand {
display: flex;
align-items: baseline;
gap: 8px;
padding: 6px 8px 18px;
border-bottom: 2px solid var(--red);
margin-bottom: 16px;
}
.brand .oracle {
font-weight: 700;
letter-spacing: 0.06em;
color: var(--red);
font-size: 13px;
}
.brand .name {
font-family: var(--font-head);
font-size: 19px;
color: #fff;
}
.sidebar .kicker {
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.08em;
color: #9FB3B8;
padding: 14px 8px 6px;
}
.nav-list { list-style: none; margin: 0; padding: 0; }
.nav-list li { margin: 2px 0; }
.nav-list a {
display: block;
padding: 9px 10px;
border-radius: 8px;
color: #D8D4CF;
text-decoration: none;
font-size: 14.5px;
border-left: 3px solid transparent;
}
.nav-list a:hover { background: rgba(255,255,255,0.06); color: #fff; }
.nav-list a.active {
background: rgba(199,70,52,0.18);
color: #fff;
border-left-color: var(--red);
font-weight: 600;
}
.nav-list .step-no {
display: inline-block;
width: 20px;
color: var(--gold);
font-variant-numeric: tabular-nums;
}
.sidebar-footer {
margin-top: 24px;
padding: 12px 10px 0;
border-top: 1px solid rgba(255,255,255,0.12);
font-size: 11.5px;
color: #9C9793;
}
/* ---------- Main content ---------- */
.content {
flex: 1;
min-width: 0;
padding: 40px clamp(20px, 5vw, 64px) 80px;
max-width: 980px;
}
.page-kicker {
text-transform: uppercase;
letter-spacing: 0.10em;
font-size: 12px;
color: var(--red);
font-weight: 700;
margin: 0 0 6px;
}
h1 {
font-family: var(--font-head);
font-size: clamp(28px, 3.4vw, 38px);
margin: 0 0 10px;
color: var(--text);
}
h1 + .lede {
font-size: 17px;
color: var(--text-soft);
max-width: 68ch;
margin-bottom: 30px;
}
h2 {
font-family: var(--font-head);
font-size: 23px;
margin: 46px 0 14px;
padding-bottom: 8px;
border-bottom: 1px solid var(--line);
color: var(--teal-dark);
}
:root[data-theme="dark"] h2 { color: var(--dusty-teal); }
h3 {
font-size: 17.5px;
margin: 28px 0 10px;
color: var(--text);
}
p { color: var(--text); max-width: 74ch; }
.content ul, .content ol { max-width: 74ch; }
.content li { margin-bottom: 6px; }
code {
font-family: var(--font-mono);
background: var(--paper-alt);
border: 1px solid var(--line);
padding: 1px 5px;
border-radius: 4px;
font-size: 0.88em;
}
pre {
background: var(--code-bg);
color: var(--code-text);
border-radius: var(--radius);
padding: 16px 18px;
overflow-x: auto;
font-size: 13px;
line-height: 1.55;
margin: 14px 0 22px;
}
pre code { background: none; border: none; padding: 0; color: inherit; }
/* ---------- Copyable code blocks ---------- */
.code-block {
max-width: none;
margin: 14px 0 22px;
border-radius: var(--radius);
overflow: hidden;
border: 1px solid var(--line);
}
.code-block .code-bar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
background: #171b1d;
color: #B9C4C7;
padding: 8px 12px;
font-size: 12px;
}
.code-block .code-label {
font-weight: 700;
letter-spacing: 0.03em;
text-transform: uppercase;
font-size: 11px;
color: #9FB3B8;
}
.code-block pre {
margin: 0;
border-radius: 0;
}
.copy-btn {
border: 1px solid rgba(255,255,255,0.18);
background: rgba(255,255,255,0.06);
color: #EFECE8;
font-family: var(--font-body);
font-size: 12px;
font-weight: 600;
padding: 5px 12px;
border-radius: 999px;
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 6px;
transition: background 0.15s ease;
}
.copy-btn:hover { background: rgba(255,255,255,0.14); }
.copy-btn:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.copy-btn.copied { background: var(--sage); border-color: var(--sage); color: #10231a; }
/* ---------- Callouts ---------- */
.callout {
border-radius: var(--radius);
padding: 16px 18px;
margin: 18px 0 22px;
border: 1px solid var(--line);
background: var(--card-bg);
max-width: 74ch;
}
.callout .callout-title {
font-weight: 700;
font-size: 13px;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 6px;
display: flex;
align-items: center;
gap: 8px;
}
.callout.info { border-left: 4px solid var(--teal); }
.callout.info .callout-title { color: var(--teal-dark); }
.callout.warning { border-left: 4px solid var(--gold); background: color-mix(in srgb, var(--gold) 10%, var(--card-bg)); }
.callout.warning .callout-title { color: #8a6a10; }
.callout.danger { border-left: 4px solid var(--red); background: color-mix(in srgb, var(--red) 7%, var(--card-bg)); }
.callout.danger .callout-title { color: var(--red-dark); }
.callout.success { border-left: 4px solid var(--sage); }
.callout.success .callout-title { color: #2f6b45; }
/* ---------- Cards / grids ---------- */
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 14px;
margin: 18px 0 26px;
}
.card {
background: var(--card-bg);
border: 1px solid var(--line);
border-radius: var(--radius);
padding: 16px 18px;
}
.card h4 {
margin: 0 0 6px;
font-size: 15px;
color: var(--teal-dark);
}
:root[data-theme="dark"] .card h4 { color: var(--dusty-teal); }
.card p { font-size: 14px; color: var(--text-soft); margin: 0; }
.stat {
background: var(--charcoal);
color: #fff;
border-radius: var(--radius);
padding: 16px 14px;
text-align: center;
}
.stat .num { font-family: var(--font-head); font-size: 26px; color: var(--gold); display: block; }
.stat .lbl { font-size: 12px; color: #C9C5C0; }
/* ---------- Steps ---------- */
.steps { counter-reset: step; list-style: none; padding: 0; max-width: 74ch; }
.steps > li {
counter-increment: step;
position: relative;
padding: 4px 0 18px 42px;
border-left: 2px solid var(--line);
margin-left: 14px;
}
.steps > li:last-child { border-left-color: transparent; padding-bottom: 2px; }
.steps > li::before {
content: counter(step);
position: absolute;
left: -15px;
top: 0;
width: 28px;
height: 28px;
border-radius: 50%;
background: var(--red);
color: #fff;
font-weight: 700;
font-size: 13px;
display: flex;
align-items: center;
justify-content: center;
}
.steps h4 { margin: 0 0 4px; font-size: 15.5px; }
.steps p { margin: 0; font-size: 14px; color: var(--text-soft); }
/* ---------- Table ---------- */
.table-wrap { overflow-x: auto; margin: 16px 0 26px; }
table { border-collapse: collapse; width: 100%; min-width: 480px; font-size: 14px; }
th, td { text-align: left; padding: 9px 12px; border-bottom: 1px solid var(--line); }
th { background: var(--paper-alt); font-size: 12.5px; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-soft); }
tr:last-child td { border-bottom: none; }
.badge {
display: inline-block;
font-size: 11.5px;
font-weight: 700;
padding: 2px 9px;
border-radius: 999px;
letter-spacing: 0.02em;
}
.badge.ok { background: rgba(134,181,150,0.22); color: #2f6b45; }
.badge.todo { background: rgba(240,204,113,0.28); color: #8a6a10; }
.badge.risk { background: rgba(199,70,52,0.16); color: var(--red-dark); }
.pillnav {
display: flex;
justify-content: space-between;
margin-top: 56px;
padding-top: 18px;
border-top: 1px solid var(--line);
font-size: 14px;
}
.pillnav a { text-decoration: none; font-weight: 600; }
.pillnav .next { margin-left: auto; }
/* ---------- Diagram (CSS/SVG based, self-contained) ---------- */
.diagram {
display: flex;
flex-wrap: wrap;
gap: 10px;
align-items: center;
margin: 20px 0 28px;
}
.diagram .node {
background: var(--card-bg);
border: 1px solid var(--line);
border-radius: 10px;
padding: 12px 14px;
font-size: 13px;
min-width: 150px;
text-align: center;
}
.diagram .node.accent { border-color: var(--red); }
.diagram .node strong { display: block; font-size: 13.5px; margin-bottom: 2px; }
.diagram .arrow { color: var(--text-soft); font-size: 20px; }
/* ---------- Mobile nav ---------- */
.menu-toggle { display: none; }
@media (max-width: 880px) {
.layout { flex-direction: column; }
.sidebar {
position: relative;
width: 100%;
flex-basis: auto;
height: auto;
max-height: none;
}
.menu-toggle {
display: block;
background: var(--red);
color: #fff;
border: none;
border-radius: 8px;
padding: 8px 12px;
font-size: 13px;
font-weight: 700;
margin-bottom: 12px;
}
.nav-list { display: none; }
.sidebar.open .nav-list { display: block; }
.content { padding: 28px 18px 60px; }
}