/* Seasonal surfaces preserve semantic status colours, reports and signatures. */
:root[data-portal-design="christmas"]{--season-ink:#173e34;--season-accent:#205846;--season-soft:#eaf1eb;--season-border:#d6dfd4;--season-paper:#faf8f2;--season-gold:#bd9655;--primary:#205846;--primary-foreground:#fff;--ring:#bd9655;--sidebar-accent:#eaf1eb;--sidebar-accent-foreground:#173e34}
:root[data-portal-design="easter"]{--season-ink:#324c43;--season-accent:#456c59;--season-soft:#edf3e9;--season-border:#d7dfd4;--season-paper:#faf9f4;--season-gold:#9a7ca8;--primary:#456c59;--primary-foreground:#fff;--ring:#9a7ca8;--sidebar-accent:#edf3e9;--sidebar-accent-foreground:#324c43}
html[data-portal-design="christmas"] body,html[data-portal-design="easter"] body{background:var(--season-paper)}
html[data-portal-design="christmas"] .workspace,html[data-portal-design="easter"] .workspace{background:var(--season-paper)}
html[data-portal-design="christmas"] .topbar,html[data-portal-design="easter"] .topbar{background:#fffdf9;border-color:var(--season-border);box-shadow:0 1px 0 #203c2905}
html[data-portal-design="christmas"] .portal-sidebar [data-slot="sidebar-inner"],html[data-portal-design="easter"] .portal-sidebar [data-slot="sidebar-inner"]{background:var(--season-paper);border-color:var(--season-border)}
html[data-portal-design="christmas"] .portal-sidebar .brand,html[data-portal-design="easter"] .portal-sidebar .brand{background:#fff;border:1px solid var(--season-border);border-radius:14px;padding:12px}
html[data-portal-design="christmas"] .main>.panel,html[data-portal-design="easter"] .main>.panel{border-color:var(--season-border);box-shadow:0 5px 20px #254b3505}
html[data-portal-design="christmas"] .primary,html[data-portal-design="easter"] .primary{background:var(--season-accent)!important;color:white!important;border-color:var(--season-accent)!important}
html[data-portal-design="christmas"] .primary:hover,html[data-portal-design="easter"] .primary:hover{filter:brightness(.92)}
html[data-portal-design="christmas"] .nav-item[data-active="true"],html[data-portal-design="easter"] .nav-item[data-active="true"]{background:var(--season-accent)!important;color:#fff!important}
html[data-portal-design="christmas"] .sidebar-note,html[data-portal-design="easter"] .sidebar-note{background:var(--season-soft);border:1px solid var(--season-border);color:var(--season-ink)}
html[data-portal-design="christmas"] .page-heading,html[data-portal-design="easter"] .page-heading{position:relative;isolation:isolate;padding:26px 30px;border:1px solid var(--season-border);border-radius:16px;overflow:hidden;gap:20px}
html[data-portal-design="christmas"] .page-heading{background:linear-gradient(110deg,#f6f2e8 0%,#f9f7f0 66%,#e4ede4 100%);border-top:3px solid #bd9655}
html[data-portal-design="easter"] .page-heading{background:linear-gradient(110deg,#eff4e9 0%,#f8f7f0 55%,#f0e9f4 100%);border-top:3px solid #b7a0c5}
html[data-portal-design="christmas"] .page-heading:after{content:"✧  ✦  ✧";position:absolute;right:20px;top:-13px;font-size:64px;letter-spacing:13px;line-height:1.6;color:#ab83452b;transform:rotate(-14deg);z-index:-1;pointer-events:none}
html[data-portal-design="easter"] .page-heading:after{content:"";position:absolute;right:18px;top:9px;width:40px;height:56px;border-radius:53% 53% 48% 48% / 63% 63% 39% 39%;background:repeating-linear-gradient(30deg,#d9c7e44d 0 10px,#f2e9f74d 10px 17px);box-shadow:-49px 22px 0 -5px #cbd9b747,30px 42px 0 -7px #e9ce8d4d;transform:rotate(22deg);z-index:-1;pointer-events:none}
html[data-portal-design="christmas"] .page-heading h1,html[data-portal-design="easter"] .page-heading h1{color:var(--season-ink)}
html[data-portal-design="christmas"] .page-heading .eyebrow,html[data-portal-design="easter"] .page-heading .eyebrow{color:var(--season-accent)}
html[data-portal-design="christmas"] .role-badge{background:#f5e9e7;color:#7e3439;border-color:#e6caca}
html[data-portal-design="easter"] .role-badge{background:#f0e9f5;color:#695078;border-color:#d9cbe4}
html[data-portal-design="christmas"] .auth-story{background:radial-gradient(ellipse at 90% 15%,#bc9d5b20,transparent 40%),linear-gradient(145deg,#163d32,#235442);color:#fff;border-color:#315b48}
html[data-portal-design="christmas"] .auth-story .story-body>p,html[data-portal-design="christmas"] .auth-story .story-footer{color:#e0e9dc}
html[data-portal-design="christmas"] .auth-story .story-body h1{color:#fff9e8}
html[data-portal-design="christmas"] .auth-story .story-body h1 span{color:#e4c37e}
html[data-portal-design="christmas"] .auth-story .story-body:after{content:"✧  ✦  ✧";display:block;font-size:34px;letter-spacing:20px;color:#d8b46b;margin-top:30px}
html[data-portal-design="easter"] .auth-story{background:radial-gradient(ellipse at 100% 5%,#e9ddf2,transparent 55%),linear-gradient(145deg,#f0f4e9,#e3ebd9);border-color:var(--season-border)}
html[data-portal-design="easter"] .auth-story .story-body h1{color:#354f41}
html[data-portal-design="easter"] .auth-story .story-body h1 span{color:#78578e}
html[data-portal-design="easter"] .auth-story .story-body:after{content:"";display:block;width:45px;height:60px;border-radius:53% 53% 48% 48% / 63% 63% 39% 39%;background:repeating-linear-gradient(25deg,#c4b0d0 0 10px,#e5d9ed 10px 17px);box-shadow:57px 2px 0 -4px #c6d5b4,111px 8px 0 -6px #e8ce94;margin:35px 0 0 8px;transform:rotate(-8deg)}
.portal-design-settings{margin-bottom:26px;padding:26px!important;min-width:0}
.design-settings-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}
.design-settings-heading h2{font-size:1.35rem;margin:4px 0 8px}.design-kicker{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#667b73;margin:0}
.design-active{border:1px solid #d9e2dd;border-radius:20px;padding:7px 12px;white-space:nowrap;font-size:12px;background:#f8faf7;color:#334e42}
.portal-design-settings fieldset{padding:0;margin:0;border:0;min-width:0}.design-legend{font-weight:600;font-size:14px;margin-bottom:12px}
.design-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.design-option{position:relative;display:flex;flex-direction:column;border:1px solid #d7dfe4;border-radius:12px;padding:9px;cursor:pointer;background:#fff;min-width:0;transition:border-color .15s,box-shadow .15s}
.design-option:has(input:checked){border:2px solid #456c59;padding:8px;box-shadow:0 0 0 3px #456c5910}
.design-option:has(input:focus-visible){outline:3px solid #4b789e;outline-offset:4px}
.design-option:has(input:disabled){cursor:wait;opacity:.7}.design-option>input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.design-option-title{display:flex;justify-content:space-between;align-items:center;padding:12px 5px 5px;font-weight:650;color:#243a32;font-size:15px}.design-check{visibility:hidden;color:#456c59}.design-option:has(input:checked) .design-check{visibility:visible}
.design-option-caption{display:block;padding:0 5px 10px;color:#586876;font-size:12px;line-height:1.6}
.design-preview{height:145px;border-radius:7px;background:#eef3f8;display:flex;overflow:hidden;--mini-accent:#2c6aa2;--mini-banner:#ddeaf6;--mini-bg:#f4f7fb;--mini-side:#fff;position:relative}
.design-preview-christmas{--mini-accent:#285342;--mini-banner:#eae3d1;--mini-bg:#f8f6ef;--mini-side:#edf0e8}
.design-preview-easter{--mini-accent:#617851;--mini-banner:#e8dfef;--mini-bg:#f6f7ef;--mini-side:#edf2e5}
.design-mini-sidebar{width:24%;background:var(--mini-side);padding:13px 8px;display:flex;flex-direction:column;gap:8px;border-right:1px solid #cad4c655}
.design-mini-sidebar:before{content:"";display:block;width:85%;height:8px;border-radius:2px;background:var(--mini-accent);margin-bottom:12px}
.design-mini-sidebar i{display:block;height:5px;border-radius:2px;background:#7b8d862b}.design-mini-sidebar i:first-child{background:var(--mini-accent)}
.design-mini-content{flex:1;background:var(--mini-bg);padding:13px 10px}.design-mini-banner{display:flex;justify-content:flex-end;align-items:center;border-radius:4px;height:35px;background:var(--mini-banner);padding:0 10px;font-size:24px;color:var(--mini-accent)}
.design-preview-christmas .design-mini-banner{border-top:2px solid #b49052;color:#9a7740}.design-preview-easter .design-mini-banner{color:#87649b;border-top:2px solid #c5afd2}
.design-mini-cards{display:flex;gap:5px;margin-top:9px}.design-mini-cards i{flex:1;height:27px;background:#fff;border:1px solid #dfe5dd;border-radius:3px}.design-mini-cards i:first-child{background:var(--mini-accent);border-color:var(--mini-accent)}
.design-mini-lines{display:block;padding:9px 7px;background:#fff;margin-top:9px;border-radius:3px}.design-mini-lines i{display:block;height:3px;background:#d8e0dc;margin:3px 0}.design-mini-lines i:last-child{width:70%}
.design-save-row{display:flex;align-items:center;gap:20px;margin-top:23px}.design-save-row p{font-size:12px;line-height:1.7;max-width:440px;margin:0}
.design-save{border:0;border-radius:7px;background:#285544;color:white;padding:12px 20px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;flex-shrink:0}.design-save:hover{background:#1b4434}.design-save:disabled{opacity:.6;cursor:wait}
.design-save:focus-visible,.design-retry:focus-visible{outline:3px solid #4b789e;outline-offset:3px}
.design-message{font-size:13px;color:#276145;line-height:1.6;margin:12px 0 0}.design-message:empty{display:none}.design-message.design-error{color:#a12727}.design-retry{margin-top:12px;border:1px solid #c9d4ce;border-radius:6px;background:white;padding:8px 12px;cursor:pointer}.design-retry[hidden]{display:none}
@media(max-width:900px){.design-options{gap:10px}.design-preview{height:125px}.design-save-row{align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:600px){.portal-design-settings{padding:18px!important}.design-settings-heading{flex-direction:column;gap:12px}.design-options{grid-template-columns:1fr}.design-preview{height:135px}.design-mini-sidebar{width:23%}.design-mini-content{padding:13px 16px}.design-mini-banner{height:31px}.design-mini-cards i{height:24px}.design-save{width:100%}.design-save-row{align-items:stretch}html[data-portal-design="christmas"] .page-heading,html[data-portal-design="easter"] .page-heading{padding:20px 18px;flex-wrap:wrap}.design-option-caption{font-size:13px}}
@media(prefers-reduced-motion:reduce){.design-option{transition:none}}
@media print{.portal-design-settings{display:none!important}html[data-portal-design] .page-heading{background:white!important;border:0!important}html[data-portal-design] .page-heading:after{display:none!important}}

/* The opaque logo masks the lower half: only heads peek above its edge. */
.portal-season-buddy{display:none;position:absolute;pointer-events:none;user-select:none;z-index:0;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:hidden}
.portal-season-buddy img{display:block;width:100%;height:100%;object-fit:contain;object-position:center top;margin:0;pointer-events:none}
.portal-season-buddy img[hidden]{display:none}
html[data-portal-design="christmas"] [data-slot="sidebar-header"],html[data-portal-design="easter"] [data-slot="sidebar-header"]{position:relative;isolation:isolate;padding-top:92px;overflow:hidden}
html[data-portal-design="christmas"] [data-slot="sidebar-header"]>.portal-season-buddy,html[data-portal-design="easter"] [data-slot="sidebar-header"]>.portal-season-buddy{display:block;top:3px;right:8px;width:190px;height:127px}
html[data-portal-design="christmas"] [data-slot="sidebar-header"]>.brand,html[data-portal-design="easter"] [data-slot="sidebar-header"]>.brand{position:relative;z-index:1;background:#fff;border:1px solid var(--season-border);border-radius:14px;padding:12px;overflow:hidden}
html[data-portal-design="christmas"] .auth-story:has(>.portal-season-buddy),html[data-portal-design="easter"] .auth-story:has(>.portal-season-buddy){position:relative;isolation:isolate;padding-top:132px}
html[data-portal-design="christmas"] .auth-story>.portal-season-buddy,html[data-portal-design="easter"] .auth-story>.portal-season-buddy{display:block;top:24px;left:clamp(28px,4vw,72px);width:225px;height:150px}
.auth-story:has(>.portal-season-buddy)>.joint-brand{position:relative;z-index:1}
@media(max-width:900px){.auth-story>.portal-season-buddy{display:none!important}html[data-portal-design] .auth-story:has(>.portal-season-buddy){padding-top:28px}}
@media(max-width:420px){html[data-portal-design] .auth-story:has(>.portal-season-buddy){padding-top:20px}}
@media print{.portal-season-buddy{display:none!important}html[data-portal-design] [data-slot="sidebar-header"]{padding-top:8px}}

/* Static winter details live in gutters and after content, never over controls. */
html[data-portal-design="christmas"] .workspace,html[data-portal-design="christmas"] .main{position:relative}
html[data-portal-design="christmas"] .main:before{content:"\2744\A\2745\A\2744\A\2745" / "";position:absolute;top:12px;left:6px;width:22px;height:calc(100% - 24px);overflow:hidden;white-space:pre;text-align:center;font-size:19px;line-height:190px;color:#8cabbb;opacity:.65;pointer-events:none;user-select:none}
html[data-portal-design="christmas"] .workspace:before{content:"\2745\A\2744\A\2745\A\2744" / "";position:absolute;right:4px;top:88px;bottom:24px;width:22px;overflow:hidden;white-space:pre;text-align:center;font-size:17px;line-height:230px;color:#8cabbb;opacity:.65;pointer-events:none;user-select:none}
html[data-portal-design="christmas"] .main:after{content:"\2603\FE0E" / "";display:block;padding-top:12px;text-align:right;font-family:"Segoe UI Symbol","Apple Symbols",sans-serif;font-size:52px;line-height:1.1;color:#648893;pointer-events:none;user-select:none}
html[data-portal-design="christmas"] [data-slot="sidebar-content"]:after{content:"\2603\FE0E" / "";display:block;flex-shrink:0;text-align:right;margin:3px 16px 6px;font-family:"Segoe UI Symbol","Apple Symbols",sans-serif;font-size:42px;line-height:1.1;color:#648893;pointer-events:none;user-select:none}
html[data-portal-design="christmas"] [data-slot="sidebar-header"]:after{content:"\2744" / "";position:absolute;left:8px;top:38px;font-size:18px;color:#91b3c0;pointer-events:none;user-select:none}
@media(max-width:780px){html[data-portal-design="christmas"] .main:before{left:0;width:14px;font-size:13px;line-height:210px}html[data-portal-design="christmas"] .workspace:before{right:0;width:14px;font-size:12px}html[data-portal-design="christmas"] .main:after{font-size:40px}}
@media print{html[data-portal-design="christmas"] .main:before,html[data-portal-design="christmas"] .main:after,html[data-portal-design="christmas"] .workspace:before,html[data-portal-design="christmas"] [data-slot="sidebar-content"]:after,html[data-portal-design="christmas"] [data-slot="sidebar-header"]:after{display:none!important}}
