/* Shared visual language. Domain fields, identifiers and routes stay unchanged. */
:root{--wsp-ink:#123746;--wsp-muted:#607889;--wsp-line:#e0e9ed;--wsp-paper:#fff;--wsp-surface:#f4f8f8;--wsp-green:#007e54;--wsp-mint:#e1f6ed;--wsp-shadow:0 3px 16px #183e4810;font-family:'Segoe UI',Arial,sans-serif;color:var(--wsp-ink);background:var(--wsp-surface);font-size:17px}
body{color:var(--wsp-ink);background:radial-gradient(ellipse at 70% 0,#fff 0,transparent 56%),var(--wsp-surface);font-family:'Segoe UI',Arial,sans-serif}
body.wsp-has-sidebar{--wsp-sidebar-width:258px;--wsp-bar-height:70px}
body.wsp-has-sidebar>main{padding:calc(var(--wsp-bar-height) + 24px) 32px 32px;max-width:none;min-width:0}
body.has-wsp-dock>main{padding-bottom:160px}
h1,h2,h3,h4{color:var(--wsp-ink);letter-spacing:-.025em;font-weight:650;line-height:1.25}
h1{font-size:36px;margin:0 0 8px}h2{font-size:23px}h3{font-size:18px}
p{color:var(--wsp-muted);font-size:16px;line-height:1.6}small,footer{font-size:13px;line-height:1.6;color:var(--wsp-muted)}
button,input,select,textarea{font-family:inherit;font-size:16px;line-height:1.4}
button{border-radius:8px;min-height:42px;padding:10px 16px;font-weight:550;transition:background .15s,box-shadow .15s}
button:enabled:hover{filter:brightness(.97)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #36af89;outline-offset:3px}
label{font-size:14px;font-weight:500;color:#4b6577;line-height:1.45}
input,select,textarea{border:1px solid #cbd9e0;color:var(--wsp-ink);background:#fff;border-radius:7px;min-height:43px;padding:9px 12px;margin-top:5px;box-shadow:inset 0 1px 2px #13374803}
input::placeholder,textarea::placeholder{color:#7d8e9e;opacity:1}
input:focus,select:focus,textarea:focus{outline:2px solid #54b69a;outline-offset:1px;border-color:#54b69a}
textarea{line-height:1.6}a{color:var(--wsp-green)}
.banner,.notice{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#fff5dc;border:1px solid #fff0ca;border-radius:9px;font-size:14px;line-height:1.55;color:#715721}
.banner:before,.notice:before{content:'!';display:grid;place-items:center;flex:0 0 23px;height:23px;font-size:16px;font-weight:700;color:#e49b15;border:2px solid #efb33a;border-radius:7px}
.heading{margin:24px 0 22px}.heading .eyebrow{color:#6d898f;font-size:13px;letter-spacing:1.5px}.heading #description{font-size:17px;max-width:900px}
main>header{padding:0 0 20px;color:var(--wsp-muted);font-size:14px}main>header label{min-width:0;width:min(100%,390px)}
.record,.module-card,.panel,.dash-panel,.comm-panel,.overview-card,.metrics article{border:1px solid var(--wsp-line);border-radius:13px;background:#fff;box-shadow:var(--wsp-shadow)}
.record{padding:24px}.record h2{font-size:22px}.record-details dt{font-size:13px;color:var(--wsp-muted)}.record-details dd{font-size:16px;color:var(--wsp-ink)}.record-actions button{background:#eaf5f0;color:#06734f;font-size:14px}
.badge{border-radius:7px;padding:6px 10px;font-size:13px;background:#edf5f1;color:#4c6b5c}.empty{font-size:16px;background:#fff;border-color:#d6e2e7;border-radius:12px}
.stats{background:#edf6f3;border:1px solid #dbece4;border-radius:12px}.stats span{font-size:15px}.stats strong{font-size:26px}
dialog{border:1px solid #d9e6e7;border-radius:16px;box-shadow:0 24px 80px #0b33373b;color:var(--wsp-ink);max-width:calc(100vw - 24px)}
dialog::backdrop{background:#0c32365e;backdrop-filter:blur(3px)}dialog h2{font-size:25px}dialog p{font-size:15px}
footer{margin-top:26px;color:#6c8495;font-size:13px}.context{gap:16px;margin:20px 0}.context label{max-width:520px}
.company-management-context{background:#eaf6f0;border-color:#cbe6da;border-radius:12px;margin:0 0 22px}.company-management-context strong{font-size:23px}.company-management-context small{font-size:13px}.company-management-context span{font-size:14px}
.cards.shortcut-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,245px),1fr))}.shortcut-card{border-radius:14px;box-shadow:var(--wsp-shadow)}.shortcut-primary h2{font-size:18px;font-weight:650}.shortcut-primary p{font-size:14px}.shortcut-toolbar{font-size:14px}
.finance-nav{margin-top:0;border-radius:12px;box-shadow:var(--wsp-shadow)}.finance-nav a{font-size:15px;padding:10px 16px}.finance-nav a:hover{color:var(--wsp-green);background:#edf7f2}.finance-nav a[aria-current=page]{background:var(--wsp-green);color:#fff}
.quote-intro{background:#edf8f2;border-color:#d2e9df}.quote-card-summary strong{color:var(--wsp-green)}.quote-editor h3{font-size:20px}.quote-editor-head h2{font-size:25px}.quote-section>button{margin-bottom:16px}.quote-primary{background:var(--wsp-green)!important}

/* The same sidebar shell on every internal page. Keep the owner's seven destinations. */
body.wsp-has-sidebar>#wsp-sidebar{background:linear-gradient(125deg,#004c44,#00423d 65%,#003c39);padding:18px 15px 24px;border-right:1px solid #327b6b55}
#wsp-sidebar .brand.wsp-symbol{width:78px;border-radius:50%;padding:0;box-shadow:0 3px 12px #002c2318;margin:0 auto}
#wsp-sidebar .wsp-login-code{margin:12px 0 4px}#wsp-sidebar .wsp-login-code small{font-size:13px;color:#b6d8ce}#wsp-sidebar .wsp-login-code strong{font-size:20px;color:#f0fff8;letter-spacing:1.4px}
#wsp-sidebar .wsp-side-tools{margin-bottom:20px;gap:8px}#wsp-sidebar .wsp-side-tools button{font-size:13px;padding:7px 9px;min-height:34px;border-color:#83c4b52e;background:transparent}#wsp-sidebar .wsp-side-tools button[aria-pressed=true]{background:#ffffff0c}
#wsp-sidebar .wsp-primary-nav{margin:24px -5px 28px;gap:7px}#wsp-sidebar .wsp-primary-nav>a{min-height:51px;border-radius:10px;padding:12px 14px;gap:16px;font:400 17px/1.35 'Segoe UI',Arial,sans-serif;color:#e3f3ee}
#wsp-sidebar .wsp-primary-icon{width:25px;height:25px;color:#ddf6ee}#wsp-sidebar .wsp-primary-nav>a[aria-current=page]{background:linear-gradient(90deg,#0b6b5eaa,#12685b80);border-color:#68bca11c;box-shadow:inset 3px 0 #5bcdac;font-weight:600}
#wsp-sidebar>small,#wsp-sidebar>.foot{margin-top:auto;padding:18px 10px 0;border-top:1px solid #96cab32e;color:#a8d0c3;font-size:13px}#wsp-sidebar .workspace,#wsp-sidebar .side-note{display:none}#wsp-sidebar .operator{font-size:13px;margin-top:auto}
.wsp-menu-bar{height:var(--wsp-bar-height);background:#ffffffed;border-bottom:1px solid #e0e9ed;gap:16px;padding:0 32px;color:var(--wsp-ink);backdrop-filter:blur(16px)}
.wsp-menu-bar>.brand{display:none!important}.wsp-menu-bar #wsp-menu-toggle{padding:7px;border:0;background:transparent;min-height:36px;color:#496776}.wsp-menu-bar #wsp-menu-toggle>span{display:none}.wsp-menu-bar #wsp-menu-toggle svg{height:21px;width:21px}
.wsp-breadcrumbs{display:flex;align-items:center;gap:10px;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;margin:0}.wsp-breadcrumbs a{padding:0;border-radius:0;color:#657f93;background:transparent!important}.wsp-breadcrumbs span{color:#9aafba}.wsp-breadcrumbs strong{color:var(--wsp-ink);font-weight:600;text-overflow:ellipsis;overflow:hidden}
.wsp-shell-search{position:relative;margin-left:auto;padding:0;border:0;background:transparent;border-radius:0;width:280px;box-shadow:none;flex:0 1 280px}.wsp-shell-search input{height:39px;min-height:39px;background:#f0f4f6;border-color:transparent;font-size:14px;margin:0;padding:9px 14px 9px 38px;border-radius:9px}.wsp-shell-search>svg{position:absolute;left:12px;top:11px;width:18px;height:18px;color:#6e8897}
.wsp-page-results{position:absolute;top:calc(100% + 9px);right:0;width:350px;max-width:calc(100vw - 28px);max-height:380px;overflow:auto;padding:8px;border:1px solid var(--wsp-line);border-radius:12px;background:#fff;box-shadow:0 12px 40px #173c4224}.wsp-page-results a{display:flex;padding:11px 12px;color:var(--wsp-ink);font-size:15px;border-radius:7px;text-decoration:none}.wsp-page-results a:hover,.wsp-page-results a:focus{background:#eaf6f0}.wsp-page-results p{font-size:14px;margin:12px}
.wsp-shell-account{display:flex;align-items:center;gap:10px;flex:0 0 auto;font-size:14px;max-width:180px}.wsp-shell-account>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wsp-user-avatar{display:grid;place-items:center;width:34px;height:34px;background:#e8eef0;border:1px solid #dae4e8;color:#7b92a0;border-radius:50%;flex-shrink:0}.wsp-menu-bar .wsp-user-avatar svg{width:24px;height:24px}
.wsp-message-shortcut{padding:7px;color:#244e5a;display:flex;border-radius:9px}.wsp-message-shortcut svg{width:23px;height:23px}.wsp-message-shortcut:hover{background:#edf6f2}
.wsp-visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.wsp-dock{background:#f2f8f5ee;border-top:1px solid #dceae3}.wsp-dock .wsp-dock-trigger{color:#365c62;font-size:14px}.wsp-dock .wsp-dock-menu a{color:var(--wsp-ink);font-size:16px}
/* The external portal shares the palette without exposing internal navigation. */
body:not(.wsp-has-sidebar)>header{background:#fff;border-bottom:1px solid var(--wsp-line)}.hero h1{color:var(--wsp-ink)}.login-grid .panel{box-shadow:var(--wsp-shadow);border-color:var(--wsp-line);border-radius:14px}
@media(max-width:1180px){.wsp-shell-search{width:220px;flex-basis:220px}.wsp-breadcrumbs{font-size:13px;gap:7px}.wsp-shell-account{max-width:135px}.wsp-menu-bar{padding:0 22px;gap:12px}}
@media(max-width:1000px){.wsp-shell-account>span:last-child{display:none}.wsp-shell-account{max-width:36px}.wsp-message-shortcut{display:none}body.has-wsp-dock>main{padding-bottom:245px}.wsp-menu-bar{gap:10px}}
@media(max-width:780px){body.wsp-has-sidebar>main{padding:calc(var(--wsp-bar-height) + 20px) 18px 26px}body.has-wsp-dock>main{padding-bottom:245px}body.wsp-has-sidebar>#wsp-sidebar{width:min(288px,88vw)}.wsp-menu-bar{padding:0 14px;gap:10px}.wsp-shell-search{flex:1 1 100px;min-width:100px;width:auto}.wsp-breadcrumbs{max-width:145px}.wsp-breadcrumbs a,.wsp-breadcrumbs span{display:none}.wsp-breadcrumbs strong{font-size:14px}.wsp-shell-account{display:none}.wsp-shell-search input{font-size:13px;padding-left:31px}.wsp-shell-search>svg{left:9px;width:16px}.wsp-page-results{position:fixed;top:64px;left:14px;right:14px;width:auto;max-width:none}h1{font-size:30px}h2{font-size:22px}.heading{flex-wrap:wrap}.banner,.notice{align-items:flex-start;padding:13px;font-size:13px}.record{padding:18px}.company-management-context strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
.mandate-validity{display:inline-block;border-radius:8px;padding:7px 12px;font-size:14px;margin:0 0 18px}.mandate-danger{color:#a23329;background:#fff0ed}.mandate-warning{color:#866019;background:#fff4d9}.mandate-success{color:#006d4a;background:#e5f7ee}.mandate-neutral{color:#526c7a;background:#eef3f5}.mandate-history{border-top:1px solid var(--wsp-line);padding:14px 0}.mandate-history summary{cursor:pointer;font-size:15px;line-height:1.5;color:var(--wsp-green)}.mandate-history .record-details{padding-top:16px}.company-small-actions{flex-wrap:wrap}.company-small-actions .company-mandates{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;color:var(--wsp-green);text-decoration:none;min-height:35px}.company-small-actions .company-mandates:hover{background:#edf7f2;border-radius:5px}.company-context-links{flex-wrap:wrap}.stats .mandate-danger,.stats .mandate-warning{padding:6px 10px;border-radius:6px}

.wsp-settings-link{display:flex;align-items:center;gap:14px;color:#e1f2ed;padding:15px 12px;border-top:1px solid #ffffff29;text-decoration:none;border-radius:8px;margin-top:16px}.wsp-settings-link svg{width:24px;height:24px}.wsp-settings-link[aria-current=page]{background:#ffffff15}

/* Company delivery settings: keep checkbox labels and controls together. */
#epi-access label:has(input[type="checkbox"]) { display:flex; align-items:center; gap:0.65rem; }
#epi-access input[type="checkbox"] { width:1.2rem; height:1.2rem; min-height:0; margin:0; padding:0; flex:0 0 auto; }


.wsp-message-shortcut{position:relative}.wsp-message-shortcut .inbox-count{position:absolute;top:0;right:-5px;min-width:16px;padding:1px 4px;border-radius:12px;background:#007e60;color:white;font-size:11px;text-align:center}

@media(max-width:1000px){.wsp-message-shortcut{display:flex;flex-shrink:0}}
/* Delivery company results: keep text readable on the directory row white background. */
#delivery-company-results > button.company-directory-row{color:#163c32;text-align:left;width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}
