/* Viahost Design System — shared by public site, customer portal and administration */
:root{--via-ink:#17273b;--via-muted:#6f7e90;--via-line:#e2eaf3;--via-canvas:#f5f8fc;--via-white:#fff;--via-brand:#ef6527;--via-brand-dark:#c94c16;--via-blue:#174b70;--via-blue-dark:#102c45;--via-radius:18px;--via-shadow:0 12px 32px rgba(19,39,60,.07)}
html{scroll-behavior:smooth}body{color:var(--via-ink);background:var(--via-canvas);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.page-body{min-height:calc(100vh - 160px)}body.customer-body .page-body{background:linear-gradient(180deg,#fbfcff 0,#f5f8fc 100%)}a{transition:color .16s,background .16s,border-color .16s,transform .16s}.btn,.button{border-radius:10px;font-weight:720}.btn.primary,.btn.btn-primary{border-color:var(--via-brand)!important;background:var(--via-brand)!important}.btn.primary:hover,.btn.btn-primary:hover{border-color:var(--via-brand-dark)!important;background:var(--via-brand-dark)!important}.form-control,.form-select,.input,textarea,input[type="text"],input[type="email"],input[type="password"],input[type="tel"],input[type="number"],input[type="date"],select{min-height:43px;border:1px solid var(--via-line);border-radius:10px;box-shadow:none}.form-control:focus,.form-select:focus,.input:focus,textarea:focus,input:focus,select:focus{border-color:var(--via-brand)!important;box-shadow:0 0 0 3px rgba(239,101,39,.13)!important;outline:0}.alert{border-radius:13px;border-width:1px;box-shadow:0 5px 15px rgba(19,39,60,.04)}.table{--bs-table-bg:transparent}.table>:not(caption)>*>*{border-bottom-color:var(--via-line)}.table thead th{color:#738397;font-size:.71rem;font-weight:790;letter-spacing:.055em;text-transform:uppercase}.text-muted{color:var(--via-muted)!important}

/* Customer pages beyond the dashboard */
body.customer-body main.container:not(.front-page):not(.customer-portal),body.customer-body .help-container{max-width:1120px;margin-top:36px!important;margin-bottom:60px!important}.customer-dashboard:not(.customer-portal){padding:30px!important;border:1px solid var(--via-line);border-radius:22px;background:var(--via-white);box-shadow:var(--via-shadow)}.customer-dashboard:not(.customer-portal)>h1,.customer-dashboard:not(.customer-portal)>h2{color:var(--via-ink);font-size:clamp(1.65rem,3vw,2.3rem);font-weight:810;letter-spacing:-.045em}.customer-dashboard:not(.customer-portal) .card{border:1px solid var(--via-line)!important;border-radius:16px!important;box-shadow:0 7px 20px rgba(19,39,60,.045)!important}.customer-dashboard:not(.customer-portal) .card h2,.customer-dashboard:not(.customer-portal) .card h3{color:var(--via-ink);font-weight:790;letter-spacing:-.025em}.profile-card{position:relative;overflow:hidden}.profile-card:before{content:"";position:absolute;width:190px;height:190px;right:-95px;top:-95px;border-radius:50%;background:radial-gradient(circle,rgba(23,75,112,.1),transparent 70%)}.profile-card>*{position:relative}.profile-card label{display:block;margin:15px 0 6px;color:#425469;font-size:.84rem;font-weight:730}.profile-card hr{margin:25px 0 8px;border-color:var(--via-line)}.help-container{padding:36px!important;border:1px solid var(--via-line)!important;border-radius:22px!important;background:#fff!important;box-shadow:var(--via-shadow)!important}.help-container>.intro{max-width:730px;color:var(--via-muted);line-height:1.7}.help-container .help-section{padding:24px 0;border-bottom:1px solid var(--via-line)}.help-container .help-section:last-child{border-bottom:0}.help-container h1{font-size:2.2rem;font-weight:820;letter-spacing:-.055em}.help-container h2{color:var(--via-blue);font-size:1.22rem;font-weight:790;letter-spacing:-.025em}.help-container h3{font-size:1rem;font-weight:780}.help-container p,.help-container li{color:#536579;line-height:1.68}.help-container details{margin-top:11px;padding:13px 15px;border:1px solid var(--via-line);border-radius:11px;background:#fbfcfe}.help-container summary{font-weight:740;cursor:pointer}.help-container .sub-section{margin-top:16px;padding:17px 18px;border-left:3px solid var(--via-brand);border-radius:0 12px 12px 0;background:#fff8f4}.chat-box{border-color:var(--via-line)!important;border-radius:14px!important;background:#fbfcfe!important}.customer-dashboard .table-responsive{border:1px solid var(--via-line);border-radius:12px}.customer-dashboard .table tbody tr:hover{background:#fff8f4}

/* Public pages and conversion screens */
.front-page,.front-contact,.front-legal{position:relative}.front-page .card,.front-contact .card,.front-auth .login-card,.front-auth .register-card{border-color:var(--via-line)!important}.front-page .card .btn,.front-contact .btn{font-weight:760}.front-auth .login-card,.front-auth .register-card{background:rgba(255,255,255,.97)}.front-legal{border-color:var(--via-line)!important}.front-legal p,.front-legal li{line-height:1.75}.front-contact .card{overflow:hidden}.front-contact label{font-size:.84rem;font-weight:730}.front-contact .form-control{min-height:46px}.front-contact textarea.form-control{min-height:130px}

/* Admin consistency */
body.admin-body,.admin-body{background:var(--via-canvas)}.admin-container,.admin-container-fluid{max-width:1440px}.admin-container .card,.admin-container form.card,.admin-container .table-responsive,.container>.card{border-color:var(--via-line)}.admin-container label{color:#43556a}.admin-container .alert{border-radius:13px}.admin-container .table tbody tr:hover{background:#fff8f4}.admin-container .section-title h1,.admin-container .section-title h2{font-weight:810;letter-spacing:-.04em}.admin-container .btn-outline-primary{color:var(--via-blue);border-color:#b7ccdc}.admin-container .btn-outline-primary:hover{border-color:var(--via-blue);background:var(--via-blue)}

/* Premium blue-teal action palette. */
:root{--via-brand:#148b8b;--via-brand-dark:#0e676d;--vh-brand:#148b8b;--vh-brand-dark:#0e676d}
.btn.primary:not(.danger),.btn.btn-primary:not(.danger),button.btn-primary:not(.danger),.button.primary{background:#148b8b!important;border-color:#148b8b!important;color:#fff!important;box-shadow:0 8px 18px rgba(20,139,139,.18)!important}.btn.primary:not(.danger):hover,.btn.btn-primary:not(.danger):hover,button.btn-primary:not(.danger):hover,.button.primary:hover{background:#0e676d!important;border-color:#0e676d!important;transform:translateY(-1px)}
.portal-form-card .btn-primary,.portal-form-card .btn.primary,.front-auth .auth-form .btn{background:#148b8b!important;border-color:#148b8b!important}.portal-form-card .btn-primary:hover,.portal-form-card .btn.primary:hover,.front-auth .auth-form .btn:hover{background:#0e676d!important;border-color:#0e676d!important}.form-control:focus,.form-select:focus,.input:focus,textarea:focus,input:focus,select:focus{border-color:#148b8b!important;box-shadow:0 0 0 3px rgba(20,139,139,.14)!important}

/* Footer and responsive foundation */
footer{margin-top:44px!important;padding:28px 18px!important;border-top:1px solid var(--via-line)!important;background:#fff!important}footer p{font-size:.82rem}footer a{color:#64758a!important;text-decoration:none}footer a:hover{color:var(--via-brand-dark)!important;text-decoration:underline}@media(max-width:768px){body.customer-body main.container:not(.front-page):not(.customer-portal),body.customer-body .help-container{margin-top:22px!important;margin-bottom:38px!important}.customer-dashboard:not(.customer-portal){padding:20px!important;border-radius:17px}.help-container{padding:24px 19px!important;border-radius:17px!important}.help-container h1{font-size:1.8rem}.customer-dashboard .table{min-width:620px}.customer-dashboard .table-responsive{overflow-x:auto}.front-contact{padding-left:16px!important;padding-right:16px!important}}
