/* Shared SOPH palette. Semantic success, warning and danger colors remain distinct. */
:root{--soh-bg:#f4f3fa;--soh-surface:#fff;--soh-input:#fbfaff;--soh-text:#26233f;--soh-muted:#82758f;--soh-border:#e4dcf0;--soh-primary:#6545dc;--soh-action:linear-gradient(115deg,#8b60e9,#6964e1 65%,#617adc);--soh-hero:linear-gradient(118deg,#30245e,#5640a0 53%,#7774d7)}
html,body{background-color:var(--soh-bg)!important;color:var(--soh-text)!important}
body{background-image:radial-gradient(at 8% 0%,#e9e2ff 0,transparent 42%),radial-gradient(at 100% 70%,#e0f5f1 0,transparent 32%);background-attachment:fixed}
a{color:var(--soh-primary)!important}
.panel,.card,section,[class*="bg-slate-"],[class*="bg-gray-"],.bg-black{background-color:var(--soh-surface)!important;background-image:none;border-color:var(--soh-border)!important}
.panel,.card{box-shadow:0 8px 30px #30245e09}
[class*="border-slate-"],[class*="border-gray-"],[class*="border-cyan-"],[class*="border-blue-"]{border-color:var(--soh-border)!important}
[class*="text-slate-1"],[class*="text-slate-2"],[class*="text-slate-3"],[class*="text-gray-1"],[class*="text-gray-2"],[class*="text-gray-3"],.text-white{color:var(--soh-text)!important}
[class*="text-slate-4"],[class*="text-slate-5"],[class*="text-slate-6"],[class*="text-gray-4"],[class*="text-gray-5"],[class*="text-gray-6"],.muted,.hint,.placeholder-box{color:var(--soh-muted)!important}
[class*="text-blue-"],[class*="text-indigo-"],[class*="text-purple-"],[class*="text-fuchsia-"],[class*="text-cyan-"],[class*="text-sky-"],.text-glow-gold{color:var(--soh-primary)!important;text-shadow:none}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{background-color:var(--soh-input)!important;color:var(--soh-text)!important;border-color:var(--soh-border)!important}
input::placeholder,textarea::placeholder{color:#9a91aa!important}
input:focus,select:focus,textarea:focus{outline-color:#8a5bea!important;border-color:#8a5bea!important}
button[class*="bg-slate-"],button[class*="bg-gray-"]{background:#f0eaff!important;color:var(--soh-primary)!important}
button[class*="bg-blue-"],button[class*="bg-indigo-"],button[class*="bg-purple-"],button[class*="bg-fuchsia-"],button[class*="bg-amber-"],button[class*="bg-yellow-"]{background:var(--soh-action)!important;color:white!important}
button[class*="bg-red-"],button[class*="bg-rose-"],.freeze{background:#b42348!important;color:white!important}
button[class*="bg-emerald-"],button[class*="bg-green-"]{background:#187c68!important;color:white!important}
button:disabled{opacity:.55;cursor:default}
[class*="bg-red-"],[class*="bg-rose-"]{background-color:#fff1f3!important;border-color:#f3c7d0!important}
[class*="text-red-"],[class*="text-rose-"]{color:#b42348!important}
[class*="bg-amber-"],[class*="bg-yellow-"],[class*="bg-orange-"]{background-color:#fff6e5!important;border-color:#edd3a4!important}
[class*="text-amber-"],[class*="text-yellow-"],[class*="text-orange-"]{color:#986719!important}
[class*="bg-emerald-"],[class*="bg-green-"]{background-color:#edf9f4!important;border-color:#c4e6d9!important}
[class*="text-emerald-"],[class*="text-green-"]{color:#187c68!important}
[class*="bg-blue-"],[class*="bg-indigo-"],[class*="bg-purple-"],[class*="bg-fuchsia-"]{background-color:#f0eaff!important}
tr:hover{background-color:#f6f2ff!important}
thead,[class*="divide-slate-"]>*+*{border-color:var(--soh-border)!important}
pre,code{background-color:#f6f2ff;color:#5640a0}
.invite-box{background:linear-gradient(105deg,#f0eaff,#f8f6ff 58%,#edfaf7)!important;border-color:#b6a0e8!important}
.pg-track{background:#eae5f3!important}.pg-bar:not(.done):not(.fail):not(.stale){background:var(--soh-action)!important}
::-webkit-scrollbar-track{background:#f4f3fa!important}::-webkit-scrollbar-thumb{background:#c8bce0!important}
/* New standalone forms and banners use the same tokens as existing portals. */
body>header{background:var(--soh-hero)!important;color:white!important}
#form .submit,#login{background:var(--soh-action);color:white}
/* Keep the shared login dialog isolated from existing utility classes. */
.soh-login-overlay input{background-color:var(--soh-input)!important;color:var(--soh-text)!important}
.soh-login-overlay [data-sms] input{background:transparent!important}

button:not(.soh-login-overlay button):not([class]){background:var(--soh-action);color:white}

/* Narrow screens scroll wide data inside their container, not the whole page. */
*{box-sizing:border-box}
@media(max-width:640px){
  .font-mono,code{overflow-wrap:anywhere;white-space:normal}
  header{height:auto!important;min-height:48px;flex-wrap:wrap}
  header>*{min-width:0}
  .flex>*{min-width:0;max-width:100%}
 body{min-width:0!important;margin-left:0;margin-right:0}
 header,nav,main,section,.wrap,.container,.panel,.card{min-width:0;max-width:100%}
 .nav-in{height:auto!important;min-height:60px;flex-wrap:wrap;gap:12px;padding-top:12px;padding-bottom:12px}
 .nav-links{flex-wrap:wrap;gap:12px!important}
 .hero h1,h1{overflow-wrap:anywhere}
 .panel,.card{overflow-x:auto}
 main{padding-left:12px!important;padding-right:12px!important}
 .grid{min-width:0}
  .flex{min-width:0}
  .flex:not(.flex-col){flex-wrap:wrap}
  .flex-col{flex-wrap:nowrap}
  .cyber-panel{min-width:0;max-width:100%;overflow-x:auto}
 table{max-width:100%}
 input,select,textarea{max-width:100%}
 pre{max-width:100%;overflow:auto}
}
