:root { --portal-ink:#14221d; --portal-muted:#68756f; --portal-accent:#0b7556; --portal-accent-dark:#07543f; --portal-wash:#f3f7f5; --portal-border:#dce7e1; }
body { min-height:100vh; color:var(--portal-ink); background:radial-gradient(circle at 85% 0,#dcefe7 0,transparent 28rem),var(--portal-wash); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.portal-navbar { background:rgba(8,43,32,.96); box-shadow:0 10px 35px rgba(4,34,25,.16); }
.brand-mark { display:inline-grid; place-items:center; width:31px; height:31px; margin-right:.35rem; border-radius:10px; color:#0b6048; background:#fff; }
.language-select { width:auto; color:#fff; border-color:rgba(255,255,255,.35); background-color:transparent; }
.language-select option { color:#111; }
.account-chip { color:#d7e8e1; padding:.35rem .7rem; border:1px solid rgba(255,255,255,.18); border-radius:999px; font-size:.86rem; }
.nav-link-light { color:#e7f2ed; text-decoration:none; }.nav-link-light:hover{color:#fff;text-decoration:underline}
.eyebrow { margin:0 0 .4rem; color:var(--portal-accent); font-size:.74rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.portal-hero { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2rem clamp(1.4rem,4vw,3rem); overflow:hidden; color:#fff; border-radius:1.3rem; background:linear-gradient(120deg,#074d39,#0d8060 72%,#29a37f); box-shadow:0 18px 45px rgba(7,84,63,.18); }
.portal-hero h1 { margin:.1rem 0 .5rem; font-size:clamp(1.9rem,4vw,3rem); letter-spacing:-.035em; }
.metric-card,.line-card { padding:1.35rem; border:1px solid var(--portal-border); border-radius:1rem; background:rgba(255,255,255,.92); box-shadow:0 8px 28px rgba(20,55,43,.055); }
.metric-card span { display:block; color:var(--portal-muted); font-size:.87rem; }.metric-card strong { display:block; margin-top:.45rem; font-size:clamp(1.35rem,3vw,1.85rem); font-variant-numeric:tabular-nums; }
.section-title { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:1rem; }.section-title h2{margin:0;font-size:1.45rem;letter-spacing:-.02em}
.count-pill { min-width:2rem; padding:.25rem .65rem; text-align:center; color:var(--portal-accent-dark); background:#dcefe7; border-radius:999px; font-weight:800; }
.line-number { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:1.25rem; font-weight:800; letter-spacing:.04em; }
.status-dot,.result { display:inline-flex; align-items:center; gap:.35rem; padding:.3rem .55rem; border-radius:999px; font-size:.76rem; font-weight:750; white-space:nowrap; }.status-active,.result-ok{color:#075a40;background:#d9f4e8}.status-suspended{color:#80570b;background:#fff1d2}.status-closed,.result-failed{color:#8d2e2e;background:#f9dddd}
.line-meta { display:flex; justify-content:space-between; margin-top:1.2rem; padding-top:1rem; color:var(--portal-muted); border-top:1px solid var(--portal-border); }.line-meta strong{color:var(--portal-ink)}
.portal-table th { padding:.9rem 1rem; color:var(--portal-muted); background:#f8fbf9; border-bottom-color:var(--portal-border); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }.portal-table td{padding:1rem;border-bottom-color:#e8efeb}.portal-table tbody tr:last-child td{border-bottom:0}
.empty-state { padding:2.5rem 1rem; text-align:center; color:var(--portal-muted); border:1px dashed #bdd0c7; border-radius:1rem; background:rgba(255,255,255,.58); }
.filter-card { padding:1rem; border:1px solid var(--portal-border); border-radius:1rem; background:rgba(255,255,255,.88); }.filter-card .form-label{color:var(--portal-muted);font-size:.78rem;font-weight:700}.manager-mode{display:flex;gap:.75rem;align-items:center;padding:.65rem 1rem;color:#684d08;border:1px solid #efd688;border-radius:.8rem;background:#fff5cf}.manager-mode span{padding:.18rem .5rem;color:#fff;border-radius:999px;background:#84610b;font-size:.7rem;font-weight:800;text-transform:uppercase}.pagination{--bs-pagination-color:var(--portal-accent);--bs-pagination-active-bg:var(--portal-accent);--bs-pagination-active-border-color:var(--portal-accent)}
.credential-card { display:flex; align-items:center; gap:1rem; margin-bottom:1.25rem; padding:1rem 1.2rem; color:#fff; border-radius:1rem; background:linear-gradient(115deg,#17352b,#0b7556); }.credential-card div{min-width:175px}.credential-card strong,.credential-card span{display:block}.credential-card span{margin-top:.15rem;color:#cfe5dc;font-size:.8rem}.credential-card code{flex:1;padding:.65rem .8rem;overflow-wrap:anywhere;color:#fff;background:rgba(0,0,0,.2);border-radius:.65rem}
.login-layout { min-height:calc(100vh - 160px); display:grid; grid-template-columns:minmax(0,1.05fr) minmax(350px,.75fr); gap:clamp(2rem,7vw,7rem); align-items:center; max-width:1050px; margin:auto; }.login-intro h1{max-width:650px;font-size:clamp(2.6rem,5.5vw,5rem);line-height:1;letter-spacing:-.06em}.login-intro p:last-child{max-width:520px;color:var(--portal-muted);font-size:1.15rem}.login-card{border-radius:1.25rem}.form-wrap{max-width:650px;margin:auto}
.btn-primary { --bs-btn-bg:var(--portal-accent);--bs-btn-border-color:var(--portal-accent);--bs-btn-hover-bg:var(--portal-accent-dark);--bs-btn-hover-border-color:var(--portal-accent-dark); }
button:disabled { cursor:not-allowed; }
@media(max-width:991px){.login-layout{display:block;max-width:520px;padding-top:5vh}.portal-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:575px){.portal-navbar .container-xl{gap:.5rem}.language-select{max-width:74px}.portal-hero{border-radius:1rem}.portal-table td,.portal-table th{padding:.8rem}.section-title{align-items:start;flex-direction:column}}
@media(max-width:767px){.credential-card{align-items:stretch;flex-direction:column}.credential-card .btn{align-self:flex-start}}
