/* Extensões do AppSafety Integrado.
   Regra: usar a identidade visual ORIGINAL do AppSafety; nenhum tema paralelo. */
:root{
  --as-bg-dark:#022f35;
  --as-bg-main:#043f46;
  --as-bg-light:#06535d;
  --as-primary:#f57c00;
  --as-primary-hover:#d96f00;
  --as-accent:#ffb84d;
  --as-content-bg:#eef4f7;
  --as-card:#ffffff;
  --as-border:#dbe7ee;
  --as-text:#17313a;
  --as-soft:#5f7680;
}

/* Compatibilidade entre os componentes novos e a shell original. */
.content-area{padding:24px;color:var(--content-text,#17313a)}
.content-area a{color:#a95400}
.content-area a:hover{color:var(--primary,#f57c00)}

.integrated-demo-badge{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:7px 10px;border-radius:999px;background:rgba(245,124,0,.12);border:1px solid rgba(245,124,0,.22);color:#ffd39a;font-size:11px;font-weight:700}
.integrated-demo-badge i{color:var(--primary,#f57c00)}

.panel{background:#fff;border:1px solid var(--content-border,#dbe7ee);border-radius:16px;box-shadow:0 8px 24px rgba(16,24,40,.08);padding:20px;margin-bottom:18px}
.panel h2,.panel h3{color:#0f2f38;margin-top:0}
.panel p{color:var(--content-soft,#5f7680)}
.panel-head,.split-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;margin-bottom:18px}
.metric{background:#fff;border:1px solid var(--content-border,#dbe7ee);border-top:4px solid var(--primary,#f57c00);border-radius:14px;padding:16px;box-shadow:0 6px 18px rgba(16,24,40,.06)}
.metric b{display:block;font-size:30px;color:#0f2f38}.metric span{color:var(--content-soft,#5f7680);font-size:13px}
.metric.bad{border-top-color:#b42318}.metric.warn{border-top-color:#d38b00}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#334b54}
.form-grid input,.form-grid select,.form-grid textarea,.inline-form input{width:100%;border:1px solid var(--content-border,#dbe7ee);border-radius:10px;padding:11px 12px;background:#fff;color:#17313a;outline:none}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.inline-form input:focus{border-color:var(--primary,#f57c00);box-shadow:0 0 0 3px rgba(245,124,0,.12)}
.full{grid-column:1/-1}
.actions,.hero-actions,.inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--primary,#f57c00);color:#fff!important;border:1px solid var(--primary,#f57c00);border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer;text-decoration:none;transition:.2s ease}
.btn:hover{background:var(--primary-hover,#d96f00);border-color:var(--primary-hover,#d96f00);text-decoration:none}
.btn.secondary{background:#fff;color:#17313a!important;border-color:#cad9df}.btn.secondary:hover{border-color:var(--primary,#f57c00);color:#a95400!important;background:#fff8f1}
.btn.danger{background:#fff;color:#9b1c1c!important;border-color:#f0c4c4}.btn.danger:hover{background:#fff1f1}
.link-button{border:0;background:transparent;color:inherit;padding:0;cursor:pointer;font-weight:700}.danger-text{color:#a61b1b}
.table-wrap{overflow:auto}.table-wrap table{width:100%;border-collapse:collapse;min-width:680px;background:#fff}th,td{padding:11px;border-bottom:1px solid #e5edf1;text-align:left;vertical-align:top;font-size:13px}th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#617780;background:#f7fafb}
progress{width:130px;height:10px;accent-color:var(--primary,#f57c00)}
.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stage-card{border:1px solid var(--content-border,#dbe7ee);border-radius:14px;padding:14px;display:grid;grid-template-columns:34px 1fr;gap:4px 10px;background:#fff;color:#17313a!important;transition:.2s}.stage-card:hover{border-color:rgba(245,124,0,.55);box-shadow:0 8px 20px rgba(16,24,40,.07)}.stage-card span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(245,124,0,.10);border:1px solid rgba(245,124,0,.24);color:#b35d00;font-weight:800}.stage-card small{color:var(--content-soft,#5f7680)}
.big-progress{display:grid;gap:10px}.big-progress b{font-size:42px;color:#0f2f38}.big-progress progress{width:100%;height:16px}
.details{display:grid;grid-template-columns:150px 1fr;gap:8px 12px}.details dt{font-weight:700;color:#425c65}.details dd{margin:0;color:#17313a}
.eyebrow{display:inline-block;color:#b35d00;font-size:11px;font-weight:800;letter-spacing:.12em}
.pill{display:inline-block;border:1px solid #d6e1e6;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;background:#fff}.pill.error{color:#9b1c1c;border-color:#efb7b2;background:#fff4f3}.pill.warning{color:#8a5700;border-color:#ead19b;background:#fff9ea}.pill.info{color:#0c5d66;border-color:#b9d6da;background:#f1fbfc}
.flash{padding:12px 14px;border-radius:10px;margin:0 24px 14px;border:1px solid}.flash.success{background:#eff9f5;color:#12634f;border-color:#b6dccf}.flash.error{background:#fff0ef;color:#8a1c13;border-color:#efb7b2}
.empty{padding:18px;border:1px dashed #bdcdd4;border-radius:12px;color:#667e87;text-align:center;background:#fbfdfe}.note,.note-box{font-size:12px;color:#607781}.note-box{border-left:4px solid var(--primary,#f57c00);background:#fff8f1;padding:12px 14px;border-radius:10px;margin:14px 0}
.subpanel{background:#f8fbfc;border:1px solid #d9e6eb;border-radius:14px;padding:16px}.decision-row{display:grid;grid-template-columns:1.3fr 1.3fr 1fr 150px 1fr;gap:8px;margin:8px 0}.decision-row input{min-width:0}.comment{border-left:3px solid var(--primary,#f57c00);padding:10px 12px;background:#fff9f3;margin:10px 0;border-radius:8px}.comment small{display:block;color:#70858d}.archive-form{margin-top:14px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tabs a{background:#fff;border:1px solid #d6e2e7;padding:8px 11px;border-radius:999px;font-weight:700;font-size:12px;color:#17313a!important}.tabs a.active{background:rgba(245,124,0,.10);border-color:rgba(245,124,0,.36);color:#a95400!important}.clean-list{padding-left:20px}.clean-list li{margin:8px 0;color:#425c65}
.api-doc pre{white-space:pre-wrap;background:#022f35;color:#d0e6e8;border-radius:12px;padding:16px;overflow:auto;border:1px solid rgba(255,255,255,.06)}

/* Cabeçalho interno adicional: sem redefinir a paleta original. */
.integrated-home-link{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff!important;padding:10px 13px;border-radius:10px;font-weight:600}.integrated-home-link:hover{background:rgba(255,255,255,.14)}

/* Login – mesmos tons, proporções e linguagem visual do original. */
.original-login-body{min-height:100vh;background:linear-gradient(135deg,rgba(4,63,70,.94),rgba(2,47,53,.96)),url('../img/imagem1.png') center/cover no-repeat;color:#fff;display:flex;flex-direction:column}
.original-login-header{width:100%;padding:18px 34px;display:flex;justify-content:space-between;align-items:center;background:rgba(4,63,70,.40);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.06)}
.original-login-logo{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:800}.original-login-logo i{color:#f57c00}.original-login-nav{display:flex;gap:14px;align-items:center}.original-login-nav a{color:#fff;padding:10px 18px;border-radius:999px;font-weight:600}.original-login-nav .active{background:#f57c00}
.original-login-main{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px}.original-login-card{width:100%;max-width:450px;background:rgba(255,255,255,.98);color:#1f2937;border-radius:16px;padding:36px;box-shadow:0 10px 30px rgba(0,0,0,.20)}.original-login-card h2{text-align:center;color:#043f46;margin-bottom:8px;font-size:30px}.original-login-card .description{text-align:center;color:#52656a;font-size:14px;line-height:1.6;margin-bottom:18px}.original-login-card label{display:block;margin-top:16px;margin-bottom:6px;font-weight:600;font-size:14px}.original-login-card input{width:100%;padding:13px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.original-login-card input:focus{border-color:#f57c00;box-shadow:0 0 0 3px rgba(245,124,0,.12)}.original-login-card button{width:100%;margin-top:24px;padding:13px;border:0;border-radius:8px;background:#f57c00;color:#fff;font-weight:700;cursor:pointer}.original-login-card button:hover{background:#cc6200}.demo-credentials{display:grid;gap:6px;background:#f7faf9;border:1px solid #dbe7ee;border-radius:10px;padding:12px;margin-top:16px;color:#52656a}.demo-credentials code{color:#17313a}

@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.stage-grid{grid-template-columns:repeat(2,1fr)}.decision-row{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.grid2,.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.stage-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.decision-row{grid-template-columns:1fr}.panel-head,.split-head{flex-direction:column}.original-login-header{padding:16px 18px;flex-direction:column;gap:14px}}
@media(max-width:520px){.content-area{padding:16px}.metrics{grid-template-columns:1fr}.original-login-card{padding:26px 20px}.original-login-logo{font-size:24px}}

/* Administração e segurança - mantém a identidade visual original. */
.danger-zone{border-color:#efc4c0;background:#fffafa}.danger-zone h2{color:#8a1c13}.btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.25)}
code{font-family:Consolas,Monaco,monospace;background:#f2f6f7;border:1px solid #dbe7ee;border-radius:6px;padding:2px 5px;color:#17313a}
.demo-credentials small{line-height:1.45;margin-bottom:4px}
