/* Shared desktop theme. Status colours stay semantic and unchanged. */
body.sp-theme {
    --bg:#e9eeef; --panel:#fff; --ink:#252b30; --muted:#526368;
    --line:#cbd6d8; --soft:#f2f6f6; --accent:#087e82; --accent-2:#30383d;
    --radius:7px; --shadow:0 2px 8px rgba(30,45,48,.04);
    --module-color:#087e82; --module-soft:#e3f3f2;
    font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Arial,sans-serif;
    font-size:14px; line-height:1.45; background:var(--bg); color:var(--ink);
}
body.sp-theme[data-module-id^="mws_"] {--module-color:#2366aa;--module-soft:#eaf2fa}
body.sp-theme[data-module-id^="claims_"] {--module-color:#7652a4;--module-soft:#f2edf8}
body.sp-theme::before,body.sp-theme::after,body.sp-theme .portal-page::before {display:none}
body.sp-theme :is(h1,h2,h3,h4,summary,strong,b) {font-weight:600;letter-spacing:0}
body.sp-theme :is(button,input,select,textarea) {font-family:inherit;letter-spacing:0}
body.sp-theme :is(a,button,input,select,textarea,summary):focus-visible {outline:3px solid #138d98;outline-offset:3px}
body.sp-theme :is(.btn,.btn-mini,.badge,.pill,.doc-tab,.field label,.stat span,.top-nav-toggle,.portal-back,.app-update-btn,.pwa-install,.top-more summary) {font-weight:600;letter-spacing:0;text-transform:none}
body.sp-theme .btn {font-size:13px;padding:8px 12px}
body.sp-theme .btn.accent {background:var(--accent);color:#fff}
body.sp-theme .btn.secondary {background:#f5f8f8;color:#33454a;border-color:var(--line)}
body.sp-theme .btn:hover:not(:disabled) {filter:brightness(.95)}
body.sp-theme :is(button:disabled,.btn:disabled) {opacity:.6;cursor:wait}
body.sp-theme :is(.topbar,.top-nav-menu,.top-more-menu) {background:#292f33;box-shadow:none;backdrop-filter:none}
body.sp-theme .topbar {border-bottom:3px solid var(--accent);padding:7px 12px;gap:10px}
body.sp-theme .topbar :is(h1,p) {letter-spacing:0}
body.sp-theme :is(.notice-link,.user-chip,.topbar p,.claims-status-link,.claims-search label) {font-weight:600;letter-spacing:0;text-transform:none}
body.sp-theme .top-nav-link.active {background:var(--accent);color:#fff}
body.sp-theme .top-nav-toggle {font-size:13px}
body.sp-theme .portal-back {background:var(--accent);font-size:12px}
body.sp-theme .content {padding-top:14px}
body.sp-theme :is(.card h2,.inv-head h2) {font-size:20px}
body.sp-theme .card h3 {font-size:16px}
body.sp-theme :is(.card,.module-tile,details,.side-card,.ecosystem-panel,.task-card,.task-panel,.task-kpi) {border-radius:7px;box-shadow:var(--shadow)}
body.sp-theme .detail-body {background:var(--soft)}
body.sp-theme th {background:#edf3f4;font-size:12px;letter-spacing:0;text-transform:none;font-weight:600;color:#42565d}
body.sp-theme td {font-variant-numeric:tabular-nums}
body.sp-theme :is(.ecosystem-top,.task-hero,.mobile-hero) {background:#30383d;border-radius:7px;box-shadow:none;color:#fff}
body.sp-theme .ecosystem-top span {color:#d7e7e7;font-weight:400}
body.sp-theme .ecosystem-panel,body.sp-theme .side-card {background:#fff}
body.sp-theme :is(.ecosystem-panel-head,.side-head) {background:#f7fafa;border-bottom:2px solid var(--accent)}
body.sp-theme .ecosystem-app {--tile-color:#55656d;--tile-soft:#eef2f4;background:#fff;box-shadow:none;border-color:var(--line);border-left:3px solid var(--tile-color);min-height:82px;transition:border-color .15s}
body.sp-theme .ecosystem-app[data-area="mws"] {--tile-color:#2366aa;--tile-soft:#eaf2fa}
body.sp-theme .ecosystem-app[data-area="claims"] {--tile-color:#7652a4;--tile-soft:#f2edf8}
body.sp-theme .ecosystem-app[data-area="tasks"] {--tile-color:#087e82;--tile-soft:#e3f3f2}
body.sp-theme .ecosystem-app:hover {background:var(--tile-soft);border-color:var(--tile-color);transform:none;box-shadow:none}
body.sp-theme .ecosystem-icon {background:var(--tile-soft);color:var(--tile-color);font-weight:700}
body.sp-theme :is(.ecosystem-app small,.side-row small,.ecosystem-stat span) {font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted)}
body.sp-theme .ecosystem-app b {line-height:1.3}
body.sp-theme .ecosystem-stat {border-top:3px solid var(--accent)}
body.sp-theme .ecosystem-stat strong {font-size:21px}
body.sp-theme .inv-head {border-bottom-color:var(--module-color)}
body.sp-theme :is(.inv-tabs a,.inv-filters button,.inv-labels) {font-weight:600;letter-spacing:0;text-transform:none}
body.sp-theme .inv-tabs a[aria-current="page"] {background:var(--module-color);border-color:var(--module-color)}
body.sp-theme .inv-product[open]>summary {box-shadow:inset 3px 0 var(--module-color);background:var(--module-soft)}
body.sp-theme .task-hero {border-left:4px solid var(--accent)}
body.sp-theme .claims-hero {background:#30383d;border-left:4px solid #7652a4;border-radius:7px;box-shadow:none}
body.sp-theme .claims-hero::after {display:none}
body.sp-theme .claims-status-link.active {background:#7652a4;border-color:#7652a4;box-shadow:none}
body.sp-theme .claims-search .claims-search-submit {background:var(--accent);border-color:var(--accent)}
body.sp-theme .claims-search .claims-search-submit:hover {background:#08676b;border-color:#08676b}
body.sp-theme .dre-head {background:#f5f1f9}
body.sp-theme :is(.task-toolbar,.task-form) :is(input,select,textarea) {border-radius:6px}
body.sp-theme .page-loader {background:rgba(233,238,239,.94)}
body.sp-theme .loader-mark {background:var(--accent);color:#fff}
body.sp-theme .loader-bar {background:var(--accent)}
body.sp-theme .install-panel-head {background:#30383d}
body.sp-theme .login-wrap {background:#30383d}
body.sp-theme .login-card {border-top:4px solid var(--accent);border-radius:8px}
body.sp-theme .maintenance-banner {display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#fff3cc;border:1px solid #d9b752;color:#654909;border-radius:6px;padding:10px 12px;margin-bottom:12px}
body.sp-theme .maintenance-banner a {font-weight:600;text-decoration:underline}
body.sp-theme[data-module-id="system"] .grid > * {min-width:0}
body.sp-theme[data-module-id="system"] :is(.mono,input,small) {max-width:100%;overflow-wrap:anywhere}
@media(max-width:680px){body.sp-theme .btn{min-height:36px}body.sp-theme .maintenance-banner{font-size:13px}body.sp-theme .ecosystem-top{flex-wrap:wrap}}
@media print{body.sp-theme{background:#fff}body.sp-theme .maintenance-banner{display:none}}
