:root{
--portal-ink:#183153;
--portal-slate:#5b6b80;
--portal-line:#d7e1ec;
--portal-surface:#ffffff;
--portal-mist:#f3f7fb;
--portal-deep:#0f4c81;
--portal-deep-2:#0a375d;
--portal-accent:#1f7a8c;
--portal-gold:#d8a628;
--portal-success:#2f855a;
--portal-danger:#b23a48;
--portal-shadow:0 18px 44px rgba(15, 76, 129, 0.12);
}

html,
body{
min-height:100%;
}

body{
font-family:Inter, "Segoe UI", Roboto, Arial, sans-serif;
display:flex;
flex-direction:column;
min-height:100vh;
background:
radial-gradient(circle at top left, rgba(31,122,140,0.14), transparent 30%),
linear-gradient(180deg, #f7fbff 0%, #edf4fa 100%);
color:var(--portal-ink);
line-height:1.6;
}

main{
flex:1 0 auto;
}

h1,h2,h3,h4,h5,h6,.navbar-brand{
font-family:Inter, "Segoe UI", Roboto, Arial, sans-serif;
letter-spacing:-0.02em;
}

.gov-bar{
background:linear-gradient(90deg, var(--portal-deep-2), var(--portal-deep));
color:#fff;
padding:0.45rem 1rem;
font-size:0.82rem;
display:flex;
justify-content:space-between;
align-items:center;
}

.gov-bar .right{
opacity:0.88;
}

.portal-header{
background:
linear-gradient(135deg, rgba(255,255,255,0.94), rgba(231,240,248,0.98)),
linear-gradient(90deg, rgba(216,166,40,0.12), transparent);
border-bottom:1px solid rgba(15,76,129,0.08);
backdrop-filter:blur(8px);
}

.portal-header__inner{
padding:1.25rem 0;
}

.portal-brand{
display:flex;
align-items:center;
gap:1rem;
}

.portal-brand__logo{
height:68px;
width:auto;
filter:drop-shadow(0 8px 16px rgba(15,76,129,0.18));
}

.portal-brand__eyebrow{
margin:0 0 0.25rem;
text-transform:uppercase;
letter-spacing:0.18em;
font-size:0.72rem;
color:var(--portal-accent);
}

.portal-brand__title{
margin:0;
font-size:1.65rem;
font-weight:800;
}

.portal-brand__subtitle{
margin:0.2rem 0 0;
color:var(--portal-slate);
}

.portal-navbar{
background:linear-gradient(90deg, var(--portal-deep), #13649d) !important;
box-shadow:none;
position:sticky;
top:0;
z-index:1030;
backdrop-filter:blur(10px);
transition:box-shadow 0.2s ease, background-color 0.2s ease;
}

.portal-navbar--scrolled{
box-shadow:0 12px 26px rgba(15,76,129,0.16);
}

.portal-navbar__brand{
font-weight:800;
letter-spacing:0.02em;
display:flex;
align-items:center;
gap:0.8rem;
line-height:1.05;
}

.portal-navbar__logo{
height:42px;
width:auto;
filter:drop-shadow(0 6px 12px rgba(0,0,0,0.18));
}

.portal-navbar__brand-copy{
display:flex;
flex-direction:column;
}

.portal-navbar__brand-title{
font-size:1.02rem;
}

.portal-navbar__brand-subtitle{
font-size:0.7rem;
letter-spacing:0.16em;
text-transform:uppercase;
opacity:0.72;
}

.portal-navbar__link{
position:relative;
font-weight:600;
opacity:0.94;
border-radius:999px;
padding:0.75rem 1rem !important;
transition:background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.portal-navbar .dropdown-toggle{
display:inline-flex;
align-items:center;
gap:0.3rem;
}

.portal-navbar__link::after{
content:"";
position:absolute;
left:0.75rem;
right:0.75rem;
bottom:0.35rem;
height:2px;
background:rgba(255,255,255,0.8);
transform:scaleX(0);
transform-origin:center;
transition:transform 0.2s ease;
}

.portal-navbar__link:hover::after,
.portal-navbar__link:focus::after{
transform:scaleX(1);
}

.portal-navbar__link:hover,
.portal-navbar__link:focus{
background:rgba(255,255,255,0.1);
color:#fff;
}

.portal-navbar__link--active{
background:rgba(255,255,255,0.2);
color:#fff;
box-shadow:inset 0 0 0 1px rgba(255,255,255,0.2), 0 6px 14px rgba(9,33,54,0.16);
}

.portal-navbar__link--active::after{
transform:scaleX(1);
}

.portal-navbar .navbar-toggler{
border-color:rgba(255,255,255,0.24);
}

.portal-navbar .navbar-toggler:focus{
box-shadow:0 0 0 0.2rem rgba(255,255,255,0.18);
}

.portal-navbar .navbar-toggler-icon{
filter:invert(1);
}

.portal-dropdown{
border:none;
border-radius:18px;
padding:0.75rem;
min-width:15rem;
box-shadow:0 18px 32px rgba(15,76,129,0.16);
background:rgba(255,255,255,0.98);
margin-top:0.4rem;
}

.portal-dropdown .dropdown-item{
border-radius:12px;
padding:0.7rem 0.85rem;
font-weight:600;
color:var(--portal-ink);
}

.portal-dropdown .dropdown-divider{
margin:0.55rem 0;
border-top-color:rgba(15,76,129,0.1);
}

.portal-dropdown .dropdown-item:hover,
.portal-dropdown .dropdown-item:focus{
background:var(--portal-mist);
color:var(--portal-deep);
}

.gov-footer{
background:linear-gradient(180deg, #11253d, #0b1727);
color:#e7eef6;
padding:2.75rem 0 1.4rem;
margin-top:2.25rem;
}

.gov-footer h4,
.gov-footer h5{
color:#fff;
}

.gov-footer__portal{
display:flex;
justify-content:space-between;
align-items:flex-end;
gap:1rem;
padding-bottom:1.25rem;
margin-bottom:1.5rem;
border-bottom:1px solid rgba(255,255,255,0.14);
}

.gov-footer__portal-meta{
color:rgba(231,238,246,0.72);
font-size:0.92rem;
white-space:nowrap;
}

.gov-footer__grid{
display:grid;
grid-template-columns:minmax(0, 1.2fr) repeat(2, minmax(0, 1fr));
gap:2rem;
}

.gov-footer__lead{
max-width:34rem;
color:rgba(231,238,246,0.8);
}

.gov-footer__links{
list-style:none;
padding:0;
margin:0;
display:grid;
gap:0.65rem;
}

.gov-footer__links a{
color:#e7eef6;
text-decoration:none;
opacity:0.88;
}

.gov-footer__links li{
color:rgba(231,238,246,0.72);
}

.gov-footer__links a:hover,
.gov-footer__links a:focus{
opacity:1;
text-decoration:underline;
}

.gov-footer__links--plain li{
color:rgba(231,238,246,0.8);
}

.gov-footer__bottom{
display:flex;
justify-content:space-between;
align-items:center;
gap:1rem;
padding-top:1.25rem;
margin-top:1.5rem;
border-top:1px solid rgba(255,255,255,0.1);
color:rgba(231,238,246,0.72);
font-size:0.92rem;
}

.portal-home{
padding-bottom:2rem;
}

.portal-hero{
position:relative;
padding:4rem 0 2.8rem;
background:
linear-gradient(135deg, rgba(255,255,255,0.84), rgba(232,240,247,0.94)),
radial-gradient(circle at right top, rgba(72,191,227,0.18), transparent 28%),
radial-gradient(circle at left bottom, rgba(31,122,140,0.12), transparent 30%);
border-bottom:1px solid rgba(15,76,129,0.08);
}

.portal-hero__grid{
display:grid;
grid-template-columns:minmax(0, 1.55fr) minmax(280px, 0.8fr);
gap:1.5rem;
align-items:stretch;
}

.portal-kicker{
margin:0 0 0.5rem;
text-transform:uppercase;
letter-spacing:0.18em;
font-size:0.72rem;
font-weight:700;
color:var(--portal-accent);
}

.portal-trust-badge{
display:inline-flex;
align-items:center;
gap:0.45rem;
margin-bottom:1rem;
padding:0.45rem 0.8rem;
border-radius:999px;
background:rgba(255,255,255,0.82);
border:1px solid rgba(15,76,129,0.1);
box-shadow:0 10px 24px rgba(15,76,129,0.08);
color:var(--portal-deep);
font-size:0.78rem;
font-weight:700;
letter-spacing:0.04em;
text-transform:uppercase;
}

.portal-trust-badge::before{
content:"";
width:0.55rem;
height:0.55rem;
border-radius:50%;
background:linear-gradient(135deg, var(--portal-accent), var(--portal-deep));
box-shadow:0 0 0 4px rgba(31,122,140,0.12);
}

.portal-hero__title{
font-size:clamp(2.45rem, 4.8vw, 4rem);
line-height:1.02;
margin:0 0 1rem;
max-width:11ch;
}

.portal-hero__copy{
font-size:1.05rem;
max-width:58ch;
color:var(--portal-slate);
margin-bottom:1.4rem;
}

.portal-hero__actions{
display:flex;
flex-wrap:wrap;
gap:0.85rem;
margin-bottom:1rem;
}

.portal-hero__badges{
display:flex;
flex-wrap:wrap;
gap:0.6rem;
}

.portal-hero__badges span{
display:inline-flex;
align-items:center;
padding:0.5rem 0.85rem;
border-radius:999px;
background:rgba(15,76,129,0.09);
color:var(--portal-deep);
font-size:0.82rem;
font-weight:700;
}

.portal-hero__stats{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:1rem;
margin-top:1.55rem;
}

.portal-stat-card{
display:grid;
grid-template-columns:auto 1fr;
grid-template-areas:
"icon title"
"icon copy";
column-gap:0.85rem;
row-gap:0.18rem;
align-items:start;
padding:1rem 1.05rem;
border-radius:22px;
background:rgba(255,255,255,0.72);
border:1px solid rgba(15,76,129,0.08);
box-shadow:0 10px 22px rgba(15,76,129,0.07);
min-height:108px;
}

.portal-stat-card__icon{
grid-area:icon;
display:flex;
align-items:center;
justify-content:center;
width:2.75rem;
height:2.75rem;
border-radius:16px;
background:linear-gradient(135deg, rgba(15,76,129,0.12), rgba(31,122,140,0.18));
color:var(--portal-deep);
font-size:0.78rem;
font-weight:800;
letter-spacing:0.08em;
box-shadow:inset 0 0 0 1px rgba(15,76,129,0.08);
}

.portal-stat-card strong{
grid-area:title;
display:block;
margin-bottom:0;
font-size:0.95rem;
line-height:1.25;
}

.portal-stat-card span{
grid-area:copy;
color:var(--portal-slate);
font-size:0.88rem;
line-height:1.45;
}

.portal-hero__panel,
.portal-story-card,
.portal-info-card,
.portal-side-card,
.portal-form-card{
border:none;
border-radius:24px;
background:rgba(255,255,255,0.94);
box-shadow:0 16px 34px rgba(15, 76, 129, 0.1);
}

.portal-hero__panel{
padding:1.5rem;
position:relative;
overflow:hidden;
}

.portal-hero__notice{
margin-top:1rem;
padding:1rem 1.05rem;
border-radius:18px;
background:linear-gradient(135deg, rgba(15,76,129,0.1), rgba(31,122,140,0.08));
}

.portal-hero__notice p{
margin:0.5rem 0 0;
color:var(--portal-slate);
}

.portal-hero__notice-label{
display:inline-flex;
align-items:center;
padding:0.32rem 0.62rem;
border-radius:999px;
background:rgba(255,255,255,0.75);
color:var(--portal-deep);
font-size:0.72rem;
font-weight:800;
letter-spacing:0.06em;
text-transform:uppercase;
}

.portal-hero__panel::before,
.portal-story-card::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(145deg, rgba(15,76,129,0.07), transparent 55%);
pointer-events:none;
}

.portal-contact-list,
.portal-side-list{
list-style:none;
padding:0;
margin:1rem 0 0;
display:grid;
gap:0.85rem;
}

.portal-contact-list li,
.portal-side-list li{
padding:0.85rem 0.95rem;
border-radius:16px;
background:var(--portal-mist);
color:var(--portal-ink);
}

.portal-section{
padding:3.5rem 0 0;
}

.portal-section--muted{
padding-bottom:1.5rem;
background:linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0.54));
}

.section-heading{
max-width:44rem;
margin-bottom:1.85rem;
}

.section-heading h3{
font-size:clamp(1.8rem, 3vw, 2.35rem);
margin-bottom:0.7rem;
}

.section-heading p{
color:var(--portal-slate);
}

.portal-service-grid{
margin-bottom:0;
}

.portal-service-card{
position:relative;
overflow:hidden;
padding:1.55rem;
min-height:100%;
border-radius:24px;
background:rgba(255,255,255,0.95);
box-shadow:0 14px 30px rgba(15,76,129,0.09);
border-top:5px solid transparent;
transition:transform 0.22s ease, box-shadow 0.22s ease;
}

.portal-service-card::after{
content:"";
position:absolute;
right:-18px;
top:-24px;
width:92px;
height:92px;
border-radius:28px;
background:rgba(15,76,129,0.06);
transform:rotate(24deg);
}

.portal-service-card:hover,
.portal-service-card:focus-within{
transform:translateY(-4px);
box-shadow:0 20px 36px rgba(15,76,129,0.12);
}

.portal-service-card--connection{
border-top-color:var(--portal-deep);
}

.portal-service-card--request{
border-top-color:var(--portal-accent);
}

.portal-service-card--billing{
border-top-color:var(--portal-gold);
}

.portal-service-card--tracking{
border-top-color:var(--portal-success);
}

.portal-service-card__tag{
display:inline-flex;
margin-bottom:0.9rem;
padding:0.4rem 0.75rem;
border-radius:999px;
font-size:0.78rem;
font-weight:700;
letter-spacing:0.05em;
text-transform:uppercase;
background:var(--portal-mist);
color:var(--portal-deep);
}

.portal-service-card__icon{
display:flex;
align-items:center;
justify-content:center;
width:3.1rem;
height:3.1rem;
margin-bottom:1rem;
border-radius:18px;
background:linear-gradient(135deg, rgba(15,76,129,0.12), rgba(31,122,140,0.18));
color:var(--portal-deep);
font-size:0.9rem;
font-weight:800;
letter-spacing:0.08em;
box-shadow:inset 0 0 0 1px rgba(15,76,129,0.08);
}

.portal-service-card__content{
display:flex;
flex-direction:column;
gap:0.6rem;
margin-bottom:1.2rem;
}

.portal-service-card h4{
font-size:1.25rem;
margin-bottom:0;
}

.portal-service-card p{
color:var(--portal-slate);
margin-bottom:0;
min-height:5.6rem;
}

.portal-utility-strip{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:1rem;
margin-top:1.4rem;
}

.portal-utility-strip__card{
padding:1.2rem 1.25rem;
border-radius:22px;
background:linear-gradient(180deg, rgba(255,255,255,0.88), rgba(233,241,248,0.92));
border:1px solid rgba(15,76,129,0.08);
box-shadow:0 12px 28px rgba(15,76,129,0.07);
}

.portal-utility-strip__card h4{
margin-bottom:0.55rem;
font-size:1.08rem;
}

.portal-utility-strip__card p:last-child{
margin-bottom:0;
color:var(--portal-slate);
}

.portal-two-column,
.portal-form-layout{
display:grid;
grid-template-columns:minmax(0, 1.45fr) minmax(260px, 0.8fr);
gap:1.35rem;
align-items:start;
}

.portal-story-card{
padding:1.8rem;
position:relative;
overflow:hidden;
}

.portal-checklist{
display:grid;
gap:0.9rem;
margin-top:1.2rem;
}

.portal-checklist div{
padding:1rem 1.05rem;
border-radius:18px;
background:var(--portal-mist);
}

.portal-checklist strong{
display:block;
margin-bottom:0.2rem;
}

.portal-checklist span,
.portal-info-card p,
.portal-side-callout p{
color:var(--portal-slate);
}

.portal-info-stack{
display:grid;
gap:1rem;
}

.portal-info-card,
.portal-side-card{
padding:1.35rem;
}

.portal-home-updates .portal-story-card{
background:rgba(255,255,255,0.9);
}

.portal-home-updates .portal-info-stack{
gap:1.1rem;
}

.portal-info-card--compact h4{
font-size:1.05rem;
line-height:1.35;
margin-bottom:0.5rem;
}

.portal-info-card--compact p{
margin-bottom:0.75rem;
display:-webkit-box;
-webkit-line-clamp:3;
-webkit-box-orient:vertical;
overflow:hidden;
}

.portal-info-card__meta{
display:flex;
flex-wrap:wrap;
align-items:center;
gap:0.45rem;
margin-top:0.35rem;
padding-top:0.2rem;
}

.portal-info-card__chip{
display:inline-flex;
align-items:center;
padding:0.35rem 0.6rem;
border-radius:999px;
background:var(--portal-mist);
color:var(--portal-deep);
font-size:0.72rem;
font-weight:700;
}

.portal-info-card__meta-text{
font-size:0.8rem;
color:var(--portal-slate);
display:inline-flex;
align-items:center;
gap:0.4rem;
}

.portal-info-card__meta-text::before{
content:"";
width:4px;
height:4px;
border-radius:50%;
background:rgba(91,107,128,0.55);
}

.portal-info-card__topline{
display:flex;
align-items:center;
justify-content:space-between;
gap:0.75rem;
margin-bottom:0.8rem;
}

.portal-info-card__status{
display:inline-flex;
align-items:center;
padding:0.32rem 0.6rem;
border-radius:999px;
font-size:0.7rem;
font-weight:800;
letter-spacing:0.06em;
text-transform:uppercase;
}

.portal-info-card__status--live{
background:rgba(15,76,129,0.1);
color:var(--portal-deep);
}

.portal-info-card__status--empty{
background:#edf2f7;
color:#5b6b80;
}

.portal-form-page{
padding:2.65rem 0 1.25rem;
}

.portal-inner-header{
padding:0 0 1.7rem;
}

.portal-inner-header .container{
display:flex;
justify-content:space-between;
align-items:flex-end;
gap:1rem;
}

.portal-inner-header__content{
max-width:44rem;
}

.portal-inner-header__content h2{
margin:0 0 0.55rem;
font-size:clamp(1.95rem, 3.6vw, 2.6rem);
}

.portal-inner-header__content p{
margin:0;
color:var(--portal-slate);
}

.portal-form-page .alert{
max-width:760px;
margin:0 auto 1.25rem;
}

.portal-form-layout{
gap:1.45rem;
}

.portal-form-card,
.portal-result-card,
.portal-side-card{
border:1px solid rgba(15,76,129,0.08);
overflow:hidden;
}

.portal-tracking-layout{
display:grid;
grid-template-columns:minmax(0, 1.1fr) minmax(280px, 0.72fr);
gap:1.35rem;
align-items:start;
}

.portal-lookup-card{
max-width:760px;
margin-inline:auto;
padding:1.7rem;
}

.portal-lookup-card__heading{
margin-bottom:1.15rem;
}

.portal-lookup-card__heading h3{
margin:0.4rem 0 0.45rem;
font-size:1.45rem;
}

.portal-lookup-card__heading p{
margin:0;
color:var(--portal-slate);
max-width:42rem;
}

.portal-lookup-card__badge{
display:inline-flex;
align-items:center;
padding:0.35rem 0.68rem;
border-radius:999px;
background:rgba(15,76,129,0.1);
color:var(--portal-deep);
font-size:0.72rem;
font-weight:800;
letter-spacing:0.06em;
text-transform:uppercase;
}

.portal-lookup-card__form{
display:grid;
gap:1rem;
}

.portal-help-card{
padding:1.55rem;
background:linear-gradient(180deg, rgba(255,255,255,0.96), rgba(244,248,252,0.94));
box-shadow:0 14px 30px rgba(15,76,129,0.08);
}

.portal-alert{
padding:1rem 1.1rem;
border:none;
border-radius:18px;
box-shadow:0 12px 24px rgba(15,76,129,0.08);
}

.portal-alert strong{
display:block;
margin-bottom:0.35rem;
}

.portal-alert--validation{
background:linear-gradient(180deg, rgba(251,241,239,0.98), rgba(249,233,229,0.98));
color:#6f2f28;
}

.portal-alert--validation ul{
padding-left:1.15rem;
margin-top:0.55rem;
}

.portal-alert--validation li + li{
margin-top:0.28rem;
}

.portal-alert--validation code,
.portal-notice-card code,
.portal-form-card .form-text code{
padding:0.12rem 0.38rem;
border-radius:999px;
background:rgba(15,76,129,0.08);
color:var(--portal-deep);
font-size:0.8rem;
}

.portal-help-card .portal-side-list li{
display:flex;
gap:0.7rem;
align-items:flex-start;
}

.portal-help-card .portal-side-list li::before{
content:"";
flex:0 0 0.72rem;
width:0.72rem;
height:0.72rem;
margin-top:0.4rem;
border-radius:50%;
background:linear-gradient(135deg, var(--portal-accent), var(--portal-deep));
box-shadow:0 0 0 4px rgba(31,122,140,0.12);
}

.portal-result-card{
padding:1.75rem;
border:none;
border-radius:24px;
background:rgba(255,255,255,0.95);
box-shadow:0 16px 34px rgba(15, 76, 129, 0.1);
}

.portal-result-card__header{
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:1rem;
padding-bottom:1rem;
margin-bottom:1.2rem;
border-bottom:1px solid rgba(15,76,129,0.08);
}

.portal-result-card__header h3{
margin:0.3rem 0 0;
font-size:1.55rem;
}

.portal-result-card__lead{
margin:0.5rem 0 0;
color:var(--portal-slate);
line-height:1.65;
}

.portal-result-card__lead strong{
color:var(--portal-ink);
font-weight:800;
}

.portal-status-pill{
border:1px solid transparent;
}

.portal-status-pill--pending{
background:#eef1f4;
border-color:#d7dee6;
color:#49596c;
}

.portal-status-pill--processing{
background:#dfeeff;
border-color:#bfd8f4;
color:#14578f;
}

.portal-status-pill--inspection{
background:#dff5fb;
border-color:#b9e7f3;
color:#0e6f88;
}

.portal-status-pill--approved,
.portal-status-pill--completed{
background:#dff3e8;
border-color:#bfe1cf;
color:#206945;
}

.portal-status-pill--rejected{
background:#f9dde2;
border-color:#edc0c8;
color:#8d2f3d;
}

.portal-result-card__eyebrow{
display:inline-flex;
align-items:center;
padding:0.35rem 0.68rem;
border-radius:999px;
background:rgba(15,76,129,0.1);
color:var(--portal-deep);
font-size:0.72rem;
font-weight:800;
letter-spacing:0.06em;
text-transform:uppercase;
}

.portal-result-grid{
display:grid;
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:1rem;
}

.portal-result-item{
position:relative;
padding:1rem 1.05rem;
border-radius:18px;
background:var(--portal-mist);
min-height:100%;
}

.portal-result-item::before{
content:"";
position:absolute;
left:0;
top:14px;
bottom:14px;
width:4px;
border-radius:999px;
background:linear-gradient(180deg, var(--portal-accent), var(--portal-deep));
opacity:0.9;
}

.portal-result-item strong{
display:block;
margin-bottom:0.32rem;
font-size:0.76rem;
letter-spacing:0.08em;
text-transform:uppercase;
color:#587087;
}

.portal-result-item span{
color:var(--portal-ink);
display:block;
padding-left:0.2rem;
line-height:1.65;
}

.portal-result-item span br + br{
display:none;
}

.portal-result-item--wide{
grid-column:1 / -1;
}

.portal-progress-card{
margin-top:1.4rem;
padding:1.25rem;
border-radius:20px;
background:linear-gradient(180deg, rgba(244,248,252,0.96), rgba(236,244,250,0.94));
border:1px solid rgba(15,76,129,0.08);
}

.portal-progress-card__header{
margin-bottom:1rem;
}

.portal-progress-card__header h4{
margin:0;
font-size:1.02rem;
}

.portal-progress-card__header p{
margin:0.35rem 0 0;
color:var(--portal-slate);
max-width:42rem;
}

.portal-progress-steps{
display:grid;
grid-template-columns:repeat(4, minmax(0, 1fr));
gap:0.9rem;
}

.portal-progress-step{
position:relative;
padding:1rem;
border-radius:18px;
background:rgba(255,255,255,0.88);
border:1px solid rgba(15,76,129,0.08);
display:flex;
gap:0.8rem;
align-items:flex-start;
min-height:100%;
}

.portal-progress-step__marker{
flex:0 0 0.95rem;
width:0.95rem;
height:0.95rem;
margin-top:0.22rem;
border-radius:50%;
background:#c9d7e5;
box-shadow:0 0 0 5px rgba(130,157,184,0.16);
}

.portal-progress-step__content strong{
display:block;
margin:0;
font-size:0.94rem;
color:var(--portal-ink);
}

.portal-progress-step__content span{
display:block;
margin-top:0.28rem;
font-size:0.82rem;
color:var(--portal-slate);
line-height:1.55;
}

.portal-progress-step--completed .portal-progress-step__marker{
background:var(--portal-accent);
box-shadow:0 0 0 5px rgba(31,122,140,0.16);
}

.portal-progress-step--current{
background:rgba(255,255,255,0.98);
border-color:rgba(15,76,129,0.18);
box-shadow:0 10px 24px rgba(15,76,129,0.08);
}

.portal-progress-step--current .portal-progress-step__marker{
background:var(--portal-deep);
box-shadow:0 0 0 5px rgba(15,76,129,0.16);
}

.portal-progress-step--pending .portal-progress-step__marker{
background:#d7e1ea;
box-shadow:0 0 0 5px rgba(130,157,184,0.12);
}

.portal-progress-card__note{
display:flex;
align-items:flex-start;
gap:0.85rem;
margin-top:1rem;
padding-top:1rem;
border-top:1px solid rgba(15,76,129,0.08);
}

.portal-progress-card__note p{
margin:0;
color:var(--portal-slate);
line-height:1.65;
}

.portal-history-card{
margin-top:1.35rem;
}

.portal-history-timeline{
display:grid;
gap:1rem;
}

.portal-history-item{
position:relative;
display:grid;
grid-template-columns:auto 1fr;
gap:0.95rem;
align-items:flex-start;
}

.portal-history-item:not(:last-child)::after{
content:"";
position:absolute;
left:0.42rem;
top:1.35rem;
bottom:-1.15rem;
width:2px;
background:rgba(15,76,129,0.12);
}

.portal-history-item__marker{
position:relative;
z-index:1;
display:block;
width:0.9rem;
min-width:2rem;
height:2rem;
margin-top:0.35rem;
border-radius:50%;
background:#c8d6e4;
box-shadow:0 0 0 5px rgba(130,157,184,0.14);
}

.portal-history-item__icon{
display:flex;
align-items:center;
justify-content:center;
width:100%;
height:100%;
font-size:0.78rem;
font-weight:800;
color:#fff;
}

.portal-history-item--completed .portal-history-item__marker{
background:var(--portal-accent);
box-shadow:0 0 0 5px rgba(31,122,140,0.16);
}

.portal-history-item--current .portal-history-item__marker{
background:var(--portal-deep);
box-shadow:0 0 0 5px rgba(15,76,129,0.16);
}

.portal-history-item__body{
padding:1rem 1.05rem;
border-radius:18px;
background:rgba(255,255,255,0.88);
border:1px solid rgba(15,76,129,0.08);
box-shadow:0 8px 18px rgba(15,76,129,0.05);
}

.portal-history-item__head{
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:0.85rem;
margin-bottom:0.65rem;
}

.portal-history-item__head time{
font-size:0.84rem;
color:var(--portal-slate);
white-space:nowrap;
}

.portal-history-item__status{
display:flex;
flex-wrap:wrap;
gap:0.5rem;
align-items:center;
}

.portal-current-pill{
display:inline-flex;
align-items:center;
padding:0.26rem 0.62rem;
border-radius:999px;
background:rgba(15,76,129,0.08);
color:var(--portal-deep);
font-size:0.74rem;
font-weight:800;
letter-spacing:0.04em;
text-transform:uppercase;
}

.portal-history-item__remarks{
margin:0;
color:var(--portal-ink);
line-height:1.65;
}

.portal-history-item__remarks--muted{
color:var(--portal-slate);
}

.portal-history-item--pending .portal-history-item__marker{
background:#7f91a5;
box-shadow:0 0 0 5px rgba(127,145,165,0.14);
}

.portal-history-item--processing .portal-history-item__marker{
background:#1a73b8;
box-shadow:0 0 0 5px rgba(26,115,184,0.15);
}

.portal-history-item--inspection .portal-history-item__marker{
background:#1190aa;
box-shadow:0 0 0 5px rgba(17,144,170,0.15);
}

.portal-history-item--approved .portal-history-item__marker,
.portal-history-item--completed .portal-history-item__marker{
background:#2f855a;
box-shadow:0 0 0 5px rgba(47,133,90,0.14);
}

.portal-history-item--rejected .portal-history-item__marker{
background:#b5485a;
box-shadow:0 0 0 5px rgba(181,72,90,0.14);
}

.portal-history-item--current .portal-history-item__body{
background:rgba(255,255,255,0.98);
border-color:rgba(15,76,129,0.16);
box-shadow:0 14px 30px rgba(15,76,129,0.09);
}

.portal-notice-card{
padding:1.15rem 1.2rem;
border-radius:18px;
border:1px solid rgba(15,76,129,0.1);
background:rgba(244,248,252,0.82);
}

.portal-notice-card strong{
display:block;
margin-bottom:0.4rem;
color:var(--portal-ink);
}

.portal-notice-card p{
margin:0 0 1rem;
color:var(--portal-slate);
line-height:1.65;
}

.portal-notice-card .btn{
align-self:flex-start;
}

.portal-notice-card--warning{
background:linear-gradient(180deg, rgba(255,250,238,0.96), rgba(255,245,220,0.96));
border-color:rgba(190,150,67,0.24);
}

.portal-result-card--empty{
max-width:760px;
margin-inline:auto;
}

.portal-confirmation-card{
max-width:860px;
margin:0 auto;
padding:1.85rem;
border:1px solid rgba(15,76,129,0.08);
border-radius:24px;
background:rgba(255,255,255,0.96);
box-shadow:0 18px 36px rgba(15,76,129,0.1);
}

.portal-confirmation-card__header{
display:flex;
gap:1rem;
align-items:flex-start;
padding-bottom:1.2rem;
margin-bottom:1.25rem;
border-bottom:1px solid rgba(15,76,129,0.08);
}

.portal-confirmation-card__header h3{
margin:0.35rem 0 0.35rem;
font-size:1.55rem;
}

.portal-confirmation-card__header p{
margin:0;
color:var(--portal-slate);
line-height:1.65;
max-width:40rem;
}

.portal-confirmation-card__icon{
flex:0 0 3.2rem;
width:3.2rem;
height:3.2rem;
border-radius:20px;
background:linear-gradient(135deg, rgba(47,133,90,0.16), rgba(31,122,140,0.16));
position:relative;
}

.portal-confirmation-card__icon::before{
content:"";
position:absolute;
inset:0;
margin:auto;
width:1rem;
height:1.75rem;
border-right:4px solid var(--portal-success);
border-bottom:4px solid var(--portal-success);
transform:translateY(-2px) rotate(45deg);
}

.portal-reference-block{
padding:1.2rem 1.25rem;
border-radius:20px;
background:linear-gradient(180deg, rgba(244,248,252,0.98), rgba(235,243,249,0.96));
border:1px solid rgba(15,76,129,0.08);
}

.portal-reference-block__label{
display:block;
margin-bottom:0.45rem;
font-size:0.78rem;
font-weight:800;
letter-spacing:0.08em;
text-transform:uppercase;
color:var(--portal-slate);
}

.portal-reference-block__value{
display:block;
font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
font-size:clamp(1.35rem, 3vw, 1.9rem);
letter-spacing:0.05em;
color:var(--portal-deep);
word-break:break-word;
}

.portal-reference-block__hint{
margin:0.65rem 0 0;
color:var(--portal-slate);
line-height:1.6;
}

.portal-confirmation-card__section{
margin-top:1.25rem;
}

.portal-confirmation-card__section h4{
margin:0 0 0.85rem;
font-size:1.02rem;
}

.portal-confirmation-list{
gap:0.9rem;
}

.portal-confirmation-actions{
display:flex;
flex-wrap:wrap;
gap:0.85rem;
margin-top:1.4rem;
}

.portal-page-shell{
padding-bottom:1.25rem;
}

.portal-page-support{
display:grid;
grid-template-columns:minmax(0, 360px) minmax(0, 1fr);
gap:1.2rem;
margin-top:1.2rem;
align-items:start;
}

.portal-page-hero{
padding:2.75rem 0 1.15rem;
background:
linear-gradient(180deg, rgba(255,255,255,0.82), rgba(237,244,250,0.95)),
radial-gradient(circle at top right, rgba(31,122,140,0.14), transparent 26%);
border-bottom:1px solid rgba(15,76,129,0.08);
}

.portal-page-hero h2{
margin:0 0 0.55rem;
font-size:2.4rem;
}

.portal-page-hero p{
margin:0;
max-width:54rem;
color:var(--portal-slate);
}

.portal-page-grid{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:1.1rem;
}

.portal-page-card{
padding:1.45rem;
border:none;
border-radius:22px;
background:rgba(255,255,255,0.95);
box-shadow:var(--portal-shadow);
}

.portal-page-card h3{
font-size:1.25rem;
margin-bottom:0.65rem;
}

.portal-page-card p{
color:var(--portal-slate);
margin-bottom:1rem;
}

.portal-listing-stack{
display:grid;
gap:1rem;
margin-top:1.25rem;
}

.portal-listing-card{
padding:1.4rem;
border:none;
border-radius:22px;
background:var(--portal-mist);
}

.portal-listing-card h4{
margin:0 0 0.65rem;
font-size:1.18rem;
}

.portal-listing-card p{
color:var(--portal-slate);
margin-bottom:0.85rem;
white-space:normal;
}

.portal-filterbar{
margin-top:1.2rem;
padding:1rem 1.05rem;
border-radius:18px;
background:rgba(255,255,255,0.72);
border:1px solid rgba(15,76,129,0.08);
}

.portal-filterbar label{
display:block;
margin-bottom:0.35rem;
font-size:0.9rem;
font-weight:700;
color:var(--portal-deep);
}

.portal-filterbar__meta{
font-size:0.9rem;
color:var(--portal-slate);
}

.portal-pagination{
display:flex;
align-items:center;
justify-content:space-between;
gap:1rem;
margin-top:1.1rem;
}

.portal-pagination__status{
font-size:0.95rem;
font-weight:700;
color:var(--portal-deep);
}

.transparency-repository{
display:grid;
gap:1.25rem;
}

.transparency-category-card{
padding:1.45rem;
border:none;
border-radius:22px;
background:rgba(255,255,255,0.95);
box-shadow:var(--portal-shadow);
}

.transparency-category-card__header{
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:1rem;
margin-bottom:1rem;
}

.transparency-empty-state{
background:var(--portal-mist);
color:var(--portal-slate);
}

.document-grid{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
gap:1rem;
}

.document-card{
display:grid;
grid-template-columns:auto 1fr;
gap:0.95rem;
align-items:start;
padding:1.15rem;
border-radius:20px;
background:
linear-gradient(180deg, rgba(255,255,255,0.98), rgba(243,247,251,0.96));
border:1px solid rgba(15,76,129,0.08);
box-shadow:0 12px 28px rgba(15,76,129,0.08);
}

.document-card__icon{
display:flex;
align-items:center;
justify-content:center;
width:56px;
height:56px;
border-radius:18px;
background:linear-gradient(135deg, var(--portal-deep), var(--portal-accent));
color:#fff;
font-size:0.8rem;
font-weight:800;
letter-spacing:0.08em;
}

.document-card__body{
min-width:0;
}

.document-card__tone{
display:inline-flex;
align-items:center;
margin-bottom:0.55rem;
padding:0.3rem 0.6rem;
border-radius:999px;
font-size:0.72rem;
font-weight:800;
letter-spacing:0.06em;
text-transform:uppercase;
}

.document-card__tone--active{
background:rgba(47,133,90,0.12);
color:var(--portal-success);
}

.document-card__tone--library{
background:rgba(15,76,129,0.1);
color:var(--portal-deep);
}

.document-card__tone--archive{
background:rgba(216,166,40,0.18);
color:#8a6110;
}

.document-card h4{
margin:0 0 0.6rem;
font-size:1.05rem;
line-height:1.35;
}

.document-card__meta{
display:flex;
flex-wrap:wrap;
gap:0.45rem;
margin-bottom:0.75rem;
}

.document-card__chip{
display:inline-flex;
align-items:center;
padding:0.32rem 0.6rem;
border-radius:999px;
background:var(--portal-mist);
color:var(--portal-deep);
font-size:0.72rem;
font-weight:700;
}

.document-card p{
margin:0;
color:var(--portal-slate);
display:-webkit-box;
-webkit-line-clamp:3;
-webkit-box-orient:vertical;
overflow:hidden;
}

.document-card__footer{
grid-column:1 / -1;
display:flex;
justify-content:flex-end;
padding-top:0.25rem;
}

.portal-form-hero{
display:flex;
justify-content:space-between;
align-items:flex-end;
gap:1rem;
margin-bottom:1.4rem;
}

.portal-form-hero h2{
margin:0 0 0.45rem;
font-size:2.15rem;
}

.portal-form-hero p{
margin:0;
max-width:48rem;
color:var(--portal-slate);
}

.portal-form-card{
padding:1.5rem;
}

.portal-action-band{
display:flex;
justify-content:space-between;
align-items:center;
gap:1rem;
padding:1rem 1.2rem;
margin-bottom:1.35rem;
border-radius:20px;
background:rgba(255,255,255,0.86);
border:1px solid rgba(15,76,129,0.08);
box-shadow:0 10px 24px rgba(15,76,129,0.06);
}

.portal-action-band__copy{
max-width:42rem;
}

.portal-action-band__copy p{
margin:0.3rem 0 0;
color:var(--portal-slate);
}

.portal-action-band__eyebrow{
display:inline-flex;
align-items:center;
padding:0.32rem 0.65rem;
border-radius:999px;
background:rgba(15,76,129,0.1);
color:var(--portal-deep);
font-size:0.72rem;
font-weight:800;
letter-spacing:0.06em;
text-transform:uppercase;
}

.portal-longform-card{
padding:1.7rem;
}

.portal-form-section + .portal-form-section{
margin-top:1.6rem;
padding-top:1.4rem;
border-top:1px solid var(--portal-line);
}

.portal-form-section--card{
padding:1.2rem 1.2rem 1.3rem;
border-radius:22px;
background:linear-gradient(180deg, rgba(255,255,255,0.96), rgba(242,247,251,0.9));
border:1px solid rgba(15,76,129,0.08);
}

.portal-form-section--card + .portal-form-section--card{
margin-top:1.1rem;
padding-top:1.2rem;
}

.portal-form-section__head{
display:flex;
align-items:center;
gap:0.7rem;
margin-bottom:1rem;
}

.portal-form-section__head h3{
margin-bottom:0;
}

.portal-form-section__badge{
display:inline-flex;
align-items:center;
padding:0.34rem 0.65rem;
border-radius:999px;
background:rgba(15,76,129,0.1);
color:var(--portal-deep);
font-size:0.72rem;
font-weight:800;
letter-spacing:0.06em;
text-transform:uppercase;
}

.portal-form-section h3{
font-size:1.15rem;
margin-bottom:1rem;
}

.portal-form-card label{
display:block;
margin-bottom:0.45rem;
font-size:0.92rem;
font-weight:700;
color:var(--portal-deep);
}

.portal-form-card .form-control,
.portal-form-card .form-select{
min-height:52px;
}

.portal-form-card textarea.form-control{
min-height:140px;
resize:vertical;
}

.portal-form-card .form-text{
margin-top:0.45rem;
font-size:0.82rem;
color:var(--portal-slate);
line-height:1.55;
}

.portal-required-indicator{
color:#a6493c;
font-weight:800;
}

.portal-form-card .form-control.is-invalid,
.portal-form-card .form-select.is-invalid,
.portal-form-card .was-validated .form-control:invalid,
.portal-form-card .was-validated .form-select:invalid{
border-color:#b2473e;
background-image:none;
box-shadow:0 0 0 0.22rem rgba(178,71,62,0.12);
}

.portal-form-card .form-control.is-invalid:focus,
.portal-form-card .form-select.is-invalid:focus,
.portal-form-card .was-validated .form-control:invalid:focus,
.portal-form-card .was-validated .form-select:invalid:focus{
border-color:#a03f36;
box-shadow:0 0 0 0.25rem rgba(178,71,62,0.18);
}

.portal-invalid-feedback{
margin-top:0.5rem;
font-size:0.84rem;
font-weight:600;
color:#a03f36;
line-height:1.5;
}

.portal-form-card .row.g-3 > [class*="col-"] > .invalid-feedback:last-child,
.portal-form-card .row.g-3 > [class*="col-"] > .form-text:last-child{
margin-bottom:0;
}

.portal-form-card .btn,
.portal-result-card .btn,
.portal-alert .btn,
.portal-notice-card .btn{
font-weight:700;
}

.portal-select-control{
background-image:linear-gradient(45deg, transparent 50%, var(--portal-deep) 50%), linear-gradient(135deg, var(--portal-deep) 50%, transparent 50%);
background-position:calc(100% - 18px) calc(1.2em), calc(100% - 12px) calc(1.2em);
background-size:6px 6px, 6px 6px;
background-repeat:no-repeat;
}

.portal-form-actions{
display:flex;
justify-content:flex-start;
padding-top:1.1rem;
}

.portal-form-actions .btn{
min-width:220px;
}

.portal-side-callout{
margin-top:1rem;
padding:1rem 1.05rem;
border-radius:18px;
background:linear-gradient(135deg, rgba(15,76,129,0.08), rgba(31,122,140,0.08));
}

.portal-reminder-card .portal-side-list{
gap:0.95rem;
}

.portal-reminder-card .portal-side-callout + .portal-side-callout{
margin-top:0.9rem;
}

.portal-form-layout .portal-side-card{
align-self:start;
}

.portal-side-callout strong{
display:block;
margin-bottom:0.35rem;
}

.service-card,
.admin-card,
.admin-panel,
.admin-detail-card{
border:none;
border-radius:20px;
background:rgba(255,255,255,0.94);
box-shadow:var(--portal-shadow);
}

.service-card{
transition:transform 0.22s ease, box-shadow 0.22s ease;
overflow:hidden;
}

.service-card:hover{
transform:translateY(-6px);
box-shadow:0 24px 40px rgba(15,76,129,0.16);
}

.admin-shell{
padding:2.25rem 0 3rem;
}

.admin-hero{
display:flex;
justify-content:space-between;
align-items:flex-end;
gap:1rem;
margin-bottom:1.5rem;
}

.admin-hero__eyebrow{
margin:0 0 0.35rem;
text-transform:uppercase;
letter-spacing:0.18em;
font-size:0.72rem;
color:var(--portal-accent);
}

.admin-hero__title{
margin:0;
font-size:2rem;
}

.admin-hero__copy{
max-width:44rem;
margin:0.35rem 0 0;
color:var(--portal-slate);
}

.admin-metrics{
margin-top:1.5rem;
}

.admin-card{
height:100%;
padding:1.4rem;
position:relative;
overflow:hidden;
}

.admin-card::before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(135deg, rgba(15,76,129,0.08), transparent 52%);
pointer-events:none;
}

.admin-card--applications{
border-top:4px solid var(--portal-deep);
}

.admin-card--requests{
border-top:4px solid var(--portal-gold);
}

.admin-card--billing{
border-top:4px solid var(--portal-success);
}

.admin-card__label{
display:block;
font-size:0.82rem;
letter-spacing:0.12em;
text-transform:uppercase;
color:var(--portal-slate);
margin-bottom:0.65rem;
}

.admin-card__value{
font-size:2.4rem;
font-weight:800;
line-height:1;
margin:0 0 0.4rem;
}

.admin-card__meta{
color:var(--portal-slate);
margin-bottom:1rem;
}

.admin-card__stats{
display:grid;
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:0.65rem;
margin:0 0 1rem;
}

.admin-card__stats div{
padding:0.7rem 0.8rem;
border-radius:14px;
background:rgba(255,255,255,0.76);
border:1px solid rgba(15,76,129,0.07);
}

.admin-card__stats strong{
display:block;
font-size:1.05rem;
color:var(--portal-ink);
}

.admin-card__stats span{
display:block;
margin-top:0.2rem;
font-size:0.78rem;
line-height:1.4;
color:var(--portal-slate);
}

.admin-panel{
padding:1.5rem;
}

.admin-toolbar{
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:1rem;
margin-bottom:1rem;
}

.admin-toolbar__copy p{
margin:0.25rem 0 0;
color:var(--portal-slate);
}

.admin-filterbar{
background:var(--portal-mist);
border:1px solid var(--portal-line);
border-radius:18px;
padding:1rem;
margin-bottom:1.25rem;
}

.admin-quick-filters{
display:flex;
flex-wrap:wrap;
gap:0.65rem;
margin-bottom:0.85rem;
}

.admin-filter-chip{
display:inline-flex;
align-items:center;
justify-content:center;
padding:0.45rem 0.85rem;
border-radius:999px;
border:1px solid rgba(15,76,129,0.12);
background:#fff;
color:var(--portal-deep);
font-size:0.85rem;
font-weight:700;
text-decoration:none;
}

.admin-filter-chip:hover,
.admin-filter-chip:focus{
background:rgba(15,76,129,0.06);
color:var(--portal-deep);
}

.admin-filter-chip--active{
background:var(--portal-deep);
border-color:var(--portal-deep);
color:#fff;
}

.admin-table{
margin-bottom:0;
vertical-align:middle;
}

.admin-table thead th{
background:#eef5fb;
border-bottom-width:1px;
font-size:0.82rem;
text-transform:uppercase;
letter-spacing:0.08em;
color:#47627d;
}

.admin-table tbody tr:hover{
background:rgba(15,76,129,0.03);
}

.admin-table__row--new{
background:rgba(255,244,216,0.38);
}

.admin-table__primary{
font-weight:700;
color:var(--portal-ink);
}

.admin-table__actions{
white-space:nowrap;
}

.admin-table__timeline-row td{
background:transparent;
}

.admin-timeline-panel{
padding:1.1rem 1.15rem 1.25rem;
border-top:1px solid rgba(15,76,129,0.08);
background:linear-gradient(180deg, rgba(249,252,255,0.96), rgba(241,247,252,0.94));
}

.admin-timeline-panel__head{
margin-bottom:0.95rem;
}

.admin-timeline-panel__head h3{
margin:0;
font-size:1rem;
}

.admin-timeline-panel__head p{
margin:0.3rem 0 0;
color:var(--portal-slate);
}

.admin-inline-note{
display:inline-flex;
align-items:center;
margin-top:0.3rem;
padding:0.2rem 0.55rem;
border-radius:999px;
background:rgba(15,76,129,0.08);
color:var(--portal-slate);
font-size:0.75rem;
font-weight:700;
}

.status-pill{
display:inline-flex;
align-items:center;
padding:0.3rem 0.75rem;
border-radius:999px;
font-size:0.82rem;
font-weight:700;
letter-spacing:0.02em;
background:#edf4fa;
color:var(--portal-deep);
}

.status-pill--submitted,
.status-pill--received,
.status-pill--pending{
background:#fff4d8;
color:#8d6611;
}

.status-pill--under_review,
.status-pill--in_progress,
.status-pill--processing{
background:#ddeefe;
color:#135b99;
}

.status-pill--approved,
.status-pill--completed,
.status-pill--resolved,
.status-pill--installed{
background:#dff3e8;
color:#206945;
}

.status-pill--rejected,
.status-pill--closed{
background:#f9dde2;
color:#8d2f3d;
}

.status-pill--draft{
background:#eceff3;
color:#4b5b70;
}

.status-pill--scheduled{
background:#efe5ff;
color:#6d3bb6;
}

.status-pill--published{
background:#dff3e8;
color:#206945;
}

.status-pill--expired{
background:#f4e4e4;
color:#8a4444;
}

.admin-detail-grid{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
gap:0.9rem 1rem;
}

.admin-detail-card{
padding:1.5rem;
margin-bottom:1.25rem;
}

.admin-quick-actions{
display:flex;
flex-wrap:wrap;
gap:0.65rem;
margin-bottom:1rem;
}

.admin-quick-actions__button{
min-width:150px;
}

.admin-alert{
border:none;
border-radius:18px;
box-shadow:0 12px 22px rgba(15,76,129,0.08);
}

.admin-alert--success{
background:linear-gradient(180deg, rgba(231,247,238,0.98), rgba(217,241,228,0.98));
color:#1f5f3f;
}

.admin-alert--info{
background:linear-gradient(180deg, rgba(235,244,252,0.98), rgba(225,238,249,0.98));
color:#15496f;
}

.admin-detail-item{
padding:0.85rem 0.95rem;
border-radius:14px;
background:var(--portal-mist);
}

.admin-detail-item strong{
display:block;
font-size:0.76rem;
text-transform:uppercase;
letter-spacing:0.09em;
color:#597086;
margin-bottom:0.35rem;
}

.admin-login{
max-width:520px;
margin:3rem auto;
}

.admin-login .admin-panel{
padding:2rem;
}

.btn{
border-radius:999px;
font-weight:700;
letter-spacing:0.01em;
padding-inline:1rem;
}

.btn-primary{
background:var(--portal-deep);
border-color:var(--portal-deep);
}

.btn-primary:hover,
.btn-primary:focus{
background:#0c416d;
border-color:#0c416d;
}

.btn-success{
background:var(--portal-success);
border-color:var(--portal-success);
}

.btn-outline-secondary{
border-color:#b8c7d7;
color:#486177;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus{
background:#eaf1f7;
border-color:#a9bdd2;
color:#294c67;
}

.form-control,
.form-select{
border-radius:14px;
border-color:#c9d7e5;
padding:0.78rem 0.9rem;
}

a:focus-visible,
button:focus-visible,
.btn:focus-visible{
outline:3px solid rgba(31,122,140,0.24);
outline-offset:2px;
}

.alert{
border:none;
border-radius:16px;
box-shadow:0 12px 24px rgba(15,76,129,0.08);
}

@media (max-width: 768px){
  .portal-navbar{
    position:static;
  }

  .gov-footer__portal,
  .gov-footer__grid,
  .portal-hero__stats,
  .portal-utility-strip{
    grid-template-columns:1fr;
  }

  .gov-footer__portal{
    flex-direction:column;
    align-items:flex-start;
  }

  .gov-footer__bottom{
    flex-direction:column;
    align-items:flex-start;
  }

  .portal-brand{
    align-items:flex-start;
  }

  .portal-brand__title{
    font-size:1.25rem;
  }

  .admin-hero,
  .admin-toolbar,
  .portal-form-hero{
    flex-direction:column;
    align-items:flex-start;
  }

  .admin-card__stats{
    grid-template-columns:1fr;
  }

  .admin-table__actions{
    white-space:normal;
  }

  .admin-timeline-panel{
    padding:0.95rem 0.95rem 1.1rem;
  }

  .admin-quick-actions{
    width:100%;
  }

  .admin-quick-actions__button{
    width:100%;
  }

  .admin-card__value{
    font-size:2rem;
  }

  .portal-history-item__head{
    flex-direction:column;
    align-items:flex-start;
  }

  .portal-hero__grid,
  .portal-page-grid,
  .portal-two-column,
  .portal-form-layout,
  .portal-page-support{
    grid-template-columns:1fr;
  }

  .portal-inner-header .container,
  .portal-tracking-layout,
  .portal-result-grid,
  .portal-progress-steps{
    grid-template-columns:1fr;
    display:grid;
  }

  .portal-action-band,
  .portal-form-section__head{
    flex-direction:column;
    align-items:flex-start;
  }

  .portal-inner-header .container{
    align-items:start;
  }

  .portal-hero__stats{
    grid-template-columns:1fr;
  }

  .portal-inner-header .container > .btn,
  .portal-action-band .btn,
  .portal-form-actions .btn{
    width:100%;
  }

  .portal-service-card p{
    min-height:0;
  }

  .portal-hero__title{
    max-width:none;
  }

  .portal-hero__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .portal-navbar__brand-subtitle{
    letter-spacing:0.1em;
  }
}

@media (min-width: 992px){
  .portal-navbar .dropdown:hover .portal-dropdown,
  .portal-navbar .dropdown:focus-within .portal-dropdown{
    display:block;
  }
}
