/* High specificity is intentional: this unifies legacy scoped Vue components. */
#app.gov-site { min-height:100vh; font-family:'Proba Pro',Arial,sans-serif; }
#app.gov-site :is(p,span,label,td,th,dt,dd,input,select,textarea,button,a,h1,h2,h3,h4,h5,h6,summary,.typography) { font-family:'Proba Pro',Arial,sans-serif !important; }
#app.gov-site .material-icons,#app.gov-site .material-icons span { font-family:'Material Icons' !important; }
#app.gov-site .bi::before { font-family:bootstrap-icons !important; }
#app.gov-site :is(.form-control,.form-group__input,.mx-input,.vs__dropdown-toggle) { min-height:44px; background:white; color:var(--gov-ink); border:1px solid var(--gov-field-line); font-size:16px; border-radius:4px; }
#app.gov-site :is(.form-group__label,.select-element__label,label,.table__label) { font-size:16px !important; line-height:1.5 !important; color:var(--gov-ink) !important; text-transform:none !important; letter-spacing:normal; }
#app.gov-site :is(.form-group__error,.select-element__error,.invalid-feedback) { position:static !important; display:block; color:var(--gov-error) !important; font-size:16px !important; white-space:normal !important; overflow:visible !important; text-overflow:clip !important; line-height:1.5; margin-top:5px; }
#app.gov-site :is(.form-control.is-invalid,.select-element.has-error .vs__dropdown-toggle) { border:2px solid var(--gov-error); }
#app.gov-site :is(.vs__selected,.vs__dropdown-option,.mx-table-date,.form-check-label) { font-size:16px; line-height:1.5; }
#app.gov-site .vs__dropdown-option--highlight { color:white; background:var(--gov-blue); }
#app.gov-site .vs__search { border:0; }
#app.gov-site .form-check-input { appearance:auto !important; width:20px !important; height:20px !important; min-height:20px; accent-color:var(--gov-blue); background-image:none !important; }
#app.gov-site :is(.navbar,.head-table,.secondary-table__header) { background:var(--gov-blue) !important; color:white; }
#app.gov-site .navbar { position:relative; width:100%; }
#app.gov-site .navbar > .container { max-width:1320px; padding:10px 30px; }
#app.gov-site .navbar :is(.nav-link,.navbar-brand,.person,.notification-button span) { color:white !important; font-size:16px !important; }
#app.gov-site .navbar-brand .text-title { text-transform:none; font-weight:600; }
#app.gov-site .navbar-brand img { padding-right:0; margin-right:15px; width:40px; height:40px; }
#app.gov-site .nav-item { margin-left:15px; }
#app.gov-site .navbar .nav-link { min-height:44px; display:flex; align-items:center; }
#app.gov-site .navbar :is(.nav-link.router-link-active,.nav-link:hover) { color:var(--gov-yellow) !important; text-decoration:underline; text-underline-offset:6px; }
#app.gov-site .navbar .dropdown-menu { top:100%; left:0; border:1px solid var(--gov-line); background:white; }
#app.gov-site .navbar .dropdown-item { color:var(--gov-blue); font-size:16px; min-height:44px; }
#app.gov-site .navbar :is(.person,.notification-button span) { font-size:24px !important; }
#app.gov-site .link-profile { left:auto; }
#app.gov-site :is(.head-table,.secondary-table__header) :is(label,span,h3) { color:white !important; }
#app.gov-site table { font-size:16px; line-height:1.5; }
#app.gov-site th { background:var(--gov-surface); }
#app.gov-site :is(.workspace h1,.typography--h1) { font-size:40px; line-height:1.5; font-weight:600; }
#app.gov-site :is(.workspace h2,.typography--h2) { font-size:30px; line-height:1.5; font-weight:600; }
#app.gov-site :is(.workspace .kpi-grid article,.page-content,.table-scroll,.modal-content) { border-radius:4px; box-shadow:none; }
#app.gov-site .workspace button.active { background:var(--gov-blue); color:white; border-color:var(--gov-blue); }
#app.gov-site .base-layout .bg { min-height:60vh; padding-bottom:20px; }
#app.gov-site .auth-page { max-width:1170px; margin:40px auto; padding:0 30px; display:grid; grid-template-columns:1fr 1fr; gap:60px; }
#app.gov-site .auth-intro { align-self:start; padding:30px 0; }
#app.gov-site .auth-intro h2 { font-size:30px; margin:15px 0 25px; }
#app.gov-site .auth-intro p { max-width:60ch; font-size:18px; }
#app.gov-site .auth-intro nav { display:grid; gap:15px; margin-top:30px; }
#app.gov-site .auth-card { padding:30px; border:1px solid var(--gov-line); border-top:5px solid var(--gov-blue); background:white; border-radius:4px; }
#app.gov-site .auth-language { display:flex; justify-content:flex-end; gap:10px; margin-bottom:20px; }
#app.gov-site .auth-language button { min-height:44px; min-width:44px; padding:5px 10px; color:var(--gov-blue); background:white; border:1px solid var(--gov-blue); border-radius:4px; }
#app.gov-site .auth-language button[aria-pressed=true] { background:var(--gov-blue); color:white; }
#app.gov-site :is(.authorization-form,.reset-password-form) { display:block; height:auto; max-width:none; margin:0; }
#app.gov-site :is(.authorization-form,.reset-password-form) .title { font-size:30px; line-height:1.5; font-weight:600; margin:0 0 30px; }
#app.gov-site :is(.authorization-form .inputs-container,.reset-password-form .inputs-form) { width:100%; max-width:none; margin:0; position:relative; }
#app.gov-site .authorization-form .inputs-container .form-group { margin:0 0 20px; }
#app.gov-site .authorization-form .password-field { position:relative; }
#app.gov-site .authorization-form .inputs-container .form-group { max-width:none; }
#app.gov-site .authorization-form .password-field input { padding-right:50px; }
#app.gov-site .authorization-form .show-password { width:44px; height:44px; min-height:44px; top:32px; right:3px; bottom:auto; margin:0; }
#app.gov-site .authorization-form .recovery-toggle { color:var(--gov-blue); font-size:16px; min-height:44px; padding:5px 0; border:0; background:transparent; text-decoration:underline; }
#app.gov-site .authorization-form :is(.row-bottom,.bottom-btn) { max-width:none; width:100%; }
#app.gov-site .authorization-form .row-bottom { gap:15px; flex-wrap:wrap; margin-top:20px; }
#app.gov-site .authorization-form .remind-password a { color:var(--gov-blue); font-size:16px; }
#app.gov-site :is(.login-btn,.get-new-password) { width:100%; height:auto; margin-top:25px; }
#app.gov-site .two-factor-setup__text { font-size:16px; color:var(--gov-muted); line-height:1.5; }
#app.gov-site .auth-help { margin:30px 0 0; border-top:1px solid var(--gov-line); padding-top:20px; }
#app.gov-site .auth-help summary { min-height:44px; color:var(--gov-blue); cursor:pointer; }
#app.gov-site .auth-help p { margin:10px 0; }
@media(max-width:992px) { #app.gov-site .auth-page { grid-template-columns:1fr; gap:20px; max-width:750px; }#app.gov-site .navbar > .container { padding-inline:15px; }#app.gov-site .nav-item { margin-left:0; }#app.gov-site .auth-intro { padding:0; } }
@media(max-width:720px) { #app.gov-site .auth-page { margin:25px auto; padding:0 15px; }#app.gov-site .auth-card { padding:20px; }#app.gov-site :is(.workspace h1,.typography--h1) { font-size:30px; }#app.gov-site :is(.workspace h2,.typography--h2,.auth-intro h2) { font-size:26px; }#app.gov-site .authorization-form .row-bottom { display:grid; } }

#app.gov-site .reset-password-form .btn-container { display:flex; flex-direction:column; align-items:stretch; gap:15px; }
#app.gov-site .reset-password-form .go-back { min-height:44px; display:inline-flex; align-items:center; text-transform:none; font-size:16px; letter-spacing:normal; color:var(--gov-blue); }
@media(max-width:720px) { #app.gov-site .auth-card { order:-1; } }

#app.gov-site .navbar-toggler { border:1px solid white; color:white; min-width:44px; min-height:44px; font-size:24px; }
