:root {
  --blue:#0a3f7f; --blue-dark:#082f5d; --orange:#da512d;
  --orange-dark:#b83e20; --black:#101418; --bg:#f7f8fa;
  --gray:#586574; --line:#dbe2e9; --white:#fff;
  --danger:#a62929; --success:#1f7a4c;
}
*{box-sizing:border-box} body{margin:0;min-height:100vh;background:var(--bg);
color:var(--black);font-family:Inter,Segoe UI,Arial,sans-serif}
a{color:var(--blue);text-decoration:none} a:hover{text-decoration:underline}
.topbar{min-height:76px;padding:8px 3vw;display:flex;align-items:center;gap:28px;
background:#fff;border-bottom:4px solid transparent;
border-image:linear-gradient(90deg,var(--blue) 0 25%,var(--orange) 55%,transparent 92%) 1;
box-shadow:0 4px 16px rgba(10,63,127,.08)}
.brand{display:flex;align-items:center;gap:12px;color:var(--black);font-weight:800}
.brand img{width:112px;height:58px;object-fit:contain}
nav{display:flex;gap:6px;flex:1} nav a{padding:10px 12px;border-radius:8px;
color:var(--blue-dark);font-weight:650} nav a:hover{background:#eaf1f8;text-decoration:none}
.user-menu{display:flex;align-items:center;gap:12px;color:var(--gray);font-size:.9rem}
.user-menu form{margin:0}.container{width:min(1440px,94vw);margin:28px auto 70px}
footer{padding:24px;text-align:center;color:var(--gray);font-size:.85rem}
.hero{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:38px;
border-radius:18px;color:#fff;background:linear-gradient(120deg,var(--blue-dark),var(--blue) 58%,#245f9e);
box-shadow:0 18px 45px rgba(10,63,127,.20)}
.hero h1{margin:4px 0 8px;font-size:clamp(2rem,4vw,3.6rem)}.hero p{margin:0;opacity:.9}
.eyebrow{color:var(--orange);font-size:.76rem;font-weight:900;letter-spacing:.18em}
.hero .eyebrow{color:#ffd3c5}.cards{display:grid;grid-template-columns:repeat(4,1fr);
gap:18px;margin:24px 0}.cards-3{grid-template-columns:repeat(3,1fr)}
.card,.panel{background:#fff;border:1px solid #eef1f4;box-shadow:0 8px 24px rgba(16,20,24,.06)}
.card{padding:22px;border-radius:14px}.card span{display:block;color:var(--gray);font-size:.88rem}
.card strong{display:block;margin-top:10px;color:var(--blue);font-size:2.1rem}
.card strong.small{font-size:1.15rem}.panel{margin:20px 0;padding:24px;border-radius:14px}
.panel h1,.panel h2{margin-top:0}.narrow{max-width:720px;margin-left:auto;margin-right:auto}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.page-heading h1{margin:3px 0 0;font-size:2rem}.page-heading.compact{margin-bottom:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;
padding:11px 16px;font:inherit;font-weight:750;cursor:pointer}
.btn-primary{color:#fff;background:var(--orange)}.btn-primary:hover{background:var(--orange-dark)}
.btn-secondary{color:#fff;background:var(--blue)}.btn-danger{color:#fff;background:var(--danger)}
.btn-link{padding:6px;color:var(--blue);background:transparent}.full{width:100%}
form label{display:block;margin:12px 0 6px;color:var(--blue-dark);font-size:.9rem;font-weight:700}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cbd2da;border-radius:8px;
background:#fff;color:var(--black);font:inherit}
input:focus,select:focus{outline:3px solid rgba(10,63,127,.15);border-color:var(--blue)}
form .btn{margin-top:16px}.check{display:flex;align-items:center;gap:8px;font-weight:500}
.check input{width:auto}fieldset{margin:18px 0;border:1px solid #cbd2da;border-radius:8px}
.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.filter-grid .btn{grid-column:1/-1}.alert{margin:14px 0;padding:14px 16px;border-radius:9px;border-left:5px solid}
.alert.success{background:#e7f6ed;border-color:var(--success)}
.alert.danger{background:#faeaea;border-color:var(--danger)}
.alert.info{background:#eaf1f8;border-color:var(--blue)}
.validation,[data-valmsg-for]:not(:empty){color:var(--danger);font-size:.85rem}
.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}
th{padding:11px 10px;color:var(--blue-dark);text-align:left;background:#edf3f9;border-bottom:2px solid #d5e1ed}
td{padding:12px 10px;border-bottom:1px solid #eef1f4;vertical-align:top}
.status{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef1f4;font-size:.76rem;font-weight:800}
.status.concluido{color:#17643c;background:#dcf2e5}
.status.rejeitado,.status.concluidocomerros{color:#8c2525;background:#f8dfdf}
.status.processando{color:#754d00;background:#fff0c9}
.flow{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}
.flow div{min-width:160px;padding:16px;border:1px solid var(--line);border-radius:10px;text-align:center}
.flow b{display:block;width:34px;height:34px;margin:0 auto 8px;padding-top:7px;border-radius:50%;
color:#fff;background:var(--orange)}.flow i{color:var(--blue);font-size:1.5rem}
.timeline{list-style:none;padding:0}.timeline li{display:grid;grid-template-columns:280px 1fr;gap:18px;
padding:12px 0;border-bottom:1px solid #eef1f4}.timeline span{color:var(--gray)}
.login-shell{min-height:72vh;display:grid;grid-template-columns:1.15fr .85fr;border-radius:20px;
overflow:hidden;background:#fff;box-shadow:0 24px 65px rgba(16,20,24,.13)}
.login-brand{padding:60px;color:#fff;background:linear-gradient(145deg,var(--blue-dark),var(--blue))}
.login-brand img{width:min(390px,90%);padding:16px;background:#fff;border-radius:14px}
.login-brand h1{margin-top:45px;font-size:2.6rem}.login-card{align-self:center;padding:50px}
@media(max-width:980px){.topbar{flex-wrap:wrap}nav{order:3;flex-basis:100%;overflow-x:auto}
.cards{grid-template-columns:1fr 1fr}.grid-2,.login-shell{grid-template-columns:1fr}}
@media(max-width:620px){.hero,.page-heading{align-items:stretch;flex-direction:column}
.cards,.cards-3,.filter-grid{grid-template-columns:1fr}.timeline li{grid-template-columns:1fr}}


.integration-test-form {
    display: grid;
    gap: .45rem;
    margin-top: .6rem;
    min-width: 220px;
}

.integration-test-form input {
    width: 100%;
    min-height: 2.25rem;
    padding: .45rem .55rem;
    border: 1px solid #cbd5e1;
    border-radius: .4rem;
    background: #fff;
}
