/* Shared Light / Dark appearance. Light follows the Blog section's white cards and mint/blue background. */
:root,html[data-theme="light"]{
 color-scheme:light;
 --theme-bg:#f5fbfd;--theme-bg-soft:#ecf8f7;--theme-surface:#ffffff;--theme-surface-soft:#eaf4fa;--theme-card:#ffffff;
 --theme-text:#102033;--theme-muted:#526780;--theme-border:#d8e6ee;--theme-link:#0369a1;--theme-green:#047857;--theme-on-accent:#ffffff;
 --theme-shadow:0 10px 34px rgba(20,58,80,.09);--theme-header:rgba(255,255,255,.97);
 --theme-page-gradient:linear-gradient(135deg,#effaff 0%,#eefcf6 50%,#f8fbff 100%);
 --primary:var(--theme-text)!important;--secondary:var(--theme-surface-soft)!important;--text:var(--theme-text)!important;--text-light:var(--theme-muted)!important;
 --bg:var(--theme-bg)!important;--card:var(--theme-surface)!important;--muted:var(--theme-muted)!important;--border:var(--theme-border)!important;
 --black:var(--theme-bg)!important;--navy:var(--theme-bg)!important;--navy2:var(--theme-surface-soft)!important;
 --card-bg:var(--theme-card)!important;--card-br:var(--theme-border)!important;--bg-light:var(--theme-bg-soft)!important;--bg-section:var(--theme-bg)!important;
 --sidebar-bg:var(--theme-surface)!important;--sidebar-text:var(--theme-muted)!important;--shadow:var(--theme-shadow)!important;
}
html[data-theme="dark"]{
 color-scheme:dark;
 --theme-bg:#071523;--theme-bg-soft:#0b1d30;--theme-surface:#10243a;--theme-surface-soft:#0d2035;--theme-card:#10243a;
 --theme-text:#edf5ff;--theme-muted:#b0c4da;--theme-border:#29445f;--theme-link:#7dd3fc;--theme-green:#6ee7b7;--theme-on-accent:#ffffff;
 --theme-shadow:0 10px 34px rgba(0,0,0,.22);--theme-header:rgba(7,21,35,.97);
 --theme-page-gradient:linear-gradient(135deg,#071523 0%,#0b2031 55%,#0b1b2d 100%);
}
html{background:var(--theme-bg);scroll-behavior:smooth}
body{background:var(--theme-bg)!important;color:var(--theme-text)!important}
h1,h2,h3,h4,h5,h6{color:var(--theme-text)}
.main-header,.main-header.scrolled,.main-header.sticky{background:var(--theme-header)!important;border-color:var(--theme-border)!important;box-shadow:var(--theme-shadow)!important}
.topbar{background:var(--theme-surface-soft)!important;border-color:var(--theme-border)!important}
.topbar a,.topbar .location-tag{color:var(--theme-muted)!important}
.logo-text strong,.logo-text small,.brand-title,.sidebar-brand strong{color:var(--theme-text)!important}
.logo-text strong span{color:var(--theme-link)!important}
.main-nav ul li a{color:var(--theme-muted)!important}
.main-nav ul li a:hover,.main-nav ul li a.active{color:var(--theme-link)!important;background:var(--theme-bg-soft)}
.main-footer,footer.footer{background:var(--theme-surface-soft)!important;color:var(--theme-muted)}
.footer-bottom{border-color:var(--theme-border)!important}
.sec-badge-blue{color:var(--theme-link)!important}
.sec-badge-green{color:var(--theme-green)!important}
.sec-badge-gold{color:#926000!important}
html[data-theme="dark"] .sec-badge-gold{color:#fcd34d!important}
body:not(:has(.admin-wrapper)) .card-lift{box-shadow:var(--theme-shadow)}
.theme-toggle{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;padding:9px 12px;min-height:40px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-surface);color:var(--theme-text);font:600 13px/1.3 system-ui,sans-serif;cursor:pointer;white-space:nowrap;box-shadow:0 2px 8px rgba(15,35,55,.04)}
.theme-toggle:hover{border-color:var(--theme-link)}
.theme-toggle:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}
.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;flex-shrink:0}
.theme-floating{position:fixed;right:18px;top:18px;z-index:1500}
.header-actions{display:flex;align-items:center;gap:10px}
.admin-topbar .theme-toggle{margin-left:8px}
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),select,textarea{color:var(--theme-text);background-color:var(--theme-surface);border-color:var(--theme-border)}
input::placeholder,textarea::placeholder{color:var(--theme-muted);opacity:.85}
.admin-wrapper .card,.admin-topbar,.login-card,.modal-content{background:var(--theme-surface)!important;color:var(--theme-text)!important;border-color:var(--theme-border)!important}
.admin-sidebar{border-right:1px solid var(--theme-border)}
.admin-sidebar a,.admin-sidebar .nav-section-label{color:var(--theme-muted)}
.admin-sidebar a:hover,.admin-sidebar a.active{color:var(--theme-link)}
.table-wrapper td,.table-wrapper th{border-color:var(--theme-border)}
.btn-primary,.btn-blue,.btn-green,.btn-quote,.btn-login{color:#fff!important}
.software-primary{background:#0369a1!important;color:#fff!important}
.software-primary:hover{background:#075985!important}
.software-service summary h3{color:var(--theme-text)}
.software-label,.software-card>i,.software-text-link{color:var(--theme-link)!important}
.software-service details{border-color:var(--theme-border)}
.software-local{border-left-color:var(--theme-link)}
@media(max-width:991px){.main-nav{background:var(--theme-surface)!important;border-color:var(--theme-border)!important}.main-nav ul li a{color:var(--theme-text)!important}.header-actions{gap:7px}.theme-toggle{padding:8px}.header-actions .theme-toggle .theme-toggle-label{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.theme-toggle{display:none!important}:root,html[data-theme]{color-scheme:light;--theme-bg:#fff;--theme-bg-soft:#fff;--theme-surface:#fff;--theme-surface-soft:#fff;--theme-card:#fff;--theme-text:#111;--theme-muted:#333;--theme-border:#ccc;--theme-link:#075985;--theme-shadow:none}body{background:#fff!important;color:#111!important}}
.software-service h2,.software-service h3,.software-service strong{color:var(--theme-text)!important}
body>section,body>main>section{background:var(--theme-page-gradient)!important}
.news-ticker,.dropdown{background:var(--theme-surface-soft)!important;border-color:var(--theme-border)!important}
.ticker-item,.ticker-item a,.dropdown li a{color:var(--theme-muted)!important}
.ticker-label{color:#fff!important}

/* Explicit footer foregrounds also override cached legacy stylesheet rules. */
html[data-theme] .main-footer{
 background:var(--theme-surface-soft)!important;
 color:var(--theme-muted)!important;
 border-top:1px solid var(--theme-border);
}
html[data-theme] .main-footer .footer-col h4,
html[data-theme] .main-footer .footer-logo .logo-text strong{
 color:var(--theme-text)!important;
 opacity:1!important;
}
html[data-theme] .main-footer .footer-col p,
html[data-theme] .main-footer .footer-logo .logo-text small,
html[data-theme] .main-footer .footer-links a,
html[data-theme] .main-footer .footer-contact li,
html[data-theme] .main-footer .footer-contact a,
html[data-theme] .main-footer .footer-bottom p,
html[data-theme] .main-footer .footer-bottom span{
 color:var(--theme-muted)!important;
 opacity:1!important;
}
html[data-theme] .main-footer .footer-links a:hover,
html[data-theme] .main-footer .footer-contact a:hover,
html[data-theme] .main-footer .footer-bottom a,
html[data-theme] .main-footer .footer-links a i,
html[data-theme] .main-footer .footer-contact li i,
html[data-theme] .main-footer .footer-logo .logo-text strong span{
 color:var(--theme-link)!important;
}
html[data-theme] .main-footer .footer-social a{
 background:var(--theme-surface)!important;
 color:var(--theme-link)!important;
 border:1px solid var(--theme-border);
}
html[data-theme] .main-footer .footer-social a:hover{
 background:#0369a1!important;
 color:#fff!important;
 border-color:#0369a1;
}
html[data-theme] .main-footer .footer-social a i{color:inherit!important}
html[data-theme] .main-footer .footer-logo .logo-icon{color:#fff!important}
html[data-theme] .main-footer .footer-bottom{border-color:var(--theme-border)!important}
html[data-theme] .main-footer a:focus-visible{outline:3px solid var(--theme-link);outline-offset:4px}
