/* Unified portal design adapted from the supplied DCC reference. */
:root{--bg:#f8f9fa;--surface:#fff;--surface-raised:#f4f6f9;--ink:#18202f;--blue:#18202f;--muted:#626d7e;--line:#e2e8f0;--brand:#FF6633;--orange:#FF6633;--brand-soft:#fff3e8;--accent-text:#b74600;--hero:#f8f9fa;--shadow:0 4px 18px #15203b05}
html.dark{--bg:#0f1115;--surface:#1a1d24;--surface-raised:#15181f;--ink:#f8fafc;--blue:#e2e8f0;--muted:#a2adbe;--line:#333843;--brand-soft:#35251c;--accent-text:#ffad70;--hero:#0f1115;--shadow:0 6px 24px #0002}
html .portal-nav{position:sticky;top:0;z-index:30;padding:16px max(24px,calc((100vw - 1280px)/2));border-top:0;border-bottom:1px solid var(--line);gap:14px 24px;background:var(--surface);box-shadow:0 3px 14px #00000005}
html .portal-nav .brand b{display:flex;align-items:center;justify-content:center;background:#FF6633;color:#18181b;width:48px;height:48px;flex-shrink:0;border-radius:12px;font-size:17px;letter-spacing:-1px;box-shadow:0 4px 12px #FF663320}.portal-nav .brand-dot{display:none!important}
html .portal-nav .brand>span{font-size:15px;line-height:1.55}html .portal-nav .brand small{font-size:12px}
html .portal-nav .navlinks{gap:22px;flex:1;justify-content:flex-end}
html .portal-nav .navlinks a,html .digital-nav-menu>summary{font-size:14px!important;font-weight:500!important}
html .nav-tools{gap:8px;padding-top:12px;border-top:1px solid var(--line)}
html .nav-tools .portal-search.compact{margin-right:auto;width:260px}
html .nav-tools .button,html .mode-switch a{font-size:12px!important;padding:9px 12px;border-radius:9px}
html .mode-switch{border-radius:10px;padding:3px}.theme-toggle{width:40px!important;height:40px!important;flex-basis:40px!important}
html .portal-hero{padding:52px 24px 60px;background:var(--hero);border-bottom:1px solid var(--line)}
html .portal-hero h1{max-width:920px;margin:24px auto 20px;font-size:clamp(30px,3.5vw,44px)!important;line-height:1.4!important}
html .portal-hero p{max-width:760px;margin:0 auto;font-size:16px;line-height:1.85}
html .portal-hero .portal-eyebrow{background:var(--brand-soft);color:var(--accent-text);border-color:#FF663330;padding:6px 12px;font-size:11px}
html .hero-search{max-width:720px;border-radius:16px;padding:6px;background:var(--surface);box-shadow:0 10px 30px #0000000a}
html .hero-search input{background:transparent}html .hero-search button{border-radius:11px;font-size:14px}
html .popular a{border-radius:7px;background:var(--surface-raised);color:var(--muted);border:1px solid var(--line)}
html .portal-main{max-width:1280px;padding:0 24px}
html .health-panel{max-width:1050px;margin:28px auto 0;padding:22px 12px;background:var(--surface);border-radius:16px;box-shadow:var(--shadow)}
html .portal-section{padding:44px 0;margin:0;background:transparent;border-radius:0}
html .portal-section h2{font-size:28px!important;color:var(--ink)}
html .portal-section .portal-eyebrow{color:var(--accent-text)}
.hub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.hub-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;min-width:0;box-shadow:var(--shadow);transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s}
.hub-card:hover{border-color:#FF663380;box-shadow:0 8px 24px #FF663308}.hub-card.hub-featured{border-color:#FF663360}
.hub-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--brand-soft);color:var(--accent-text);font-size:24px;margin-bottom:18px}
.hub-kicker{font-size:12px;color:var(--accent-text);font-weight:500;margin-bottom:6px}
.hub-card h3{font-size:18px;line-height:1.6;color:var(--ink);margin:0 0 12px}
.hub-card p{font-size:14px;color:var(--muted);line-height:1.9;margin:0 0 20px}
.hub-links{margin-top:auto;display:grid;gap:11px}.hub-links a{font-size:13px;line-height:1.75;color:var(--ink)}.hub-links a:hover{color:var(--accent-text);text-decoration:underline;text-underline-offset:4px}
html :is(.card,.dashboard-card,.month-panel,.daily-section,.settings-group,.award-panel,.save-bar){border-radius:16px;background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
html .service-item{border-top:1px solid var(--line);padding:24px;gap:12px}html .service-item:hover{border-color:#FF663380}
html .service-item h3{font-size:18px;line-height:1.65}html .service-item p{font-size:14px;line-height:1.85}html .service-icon{border:0;background:var(--brand-soft)}
html .pagehead{padding:36px max(24px,calc((100vw - 1180px)/2));background:var(--bg);border-bottom:1px solid var(--line)}
html .pagehead h1{font-size:32px}html .pagehead p{font-size:14px}
html .brand-strip{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:28px}
html .download-tile{background:var(--surface-raised);border:1px solid var(--line);border-radius:12px}
html .brand-strip-heading h2{font-size:24px}html .brand-strip-heading p,html .brand-strip .portal-eyebrow{color:var(--muted)!important}
html .resource-bottom{border-top:1px solid var(--line);margin-top:36px;padding:32px 0}html .resource-bottom h2{font-size:25px}
html .dcc-footer{background:var(--surface);border-top:1px solid var(--line);margin-top:40px;padding-top:36px}
html .dcc-footer p,html .dcc-footer a,html .dcc-footer small{color:var(--muted)!important}html .dcc-footer .dcc-social a{color:#fff!important}
html .dcc-footer h3,html .dcc-footer strong{color:var(--ink)!important}html .dcc-footer-bottom{border-color:var(--line)}
html .admin-shell{grid-template-columns:240px minmax(0,1fr);background:var(--bg)}
html .admin-shell .sidebar{background:var(--surface);border-right:1px solid var(--line);padding:24px 14px;position:sticky;top:0;height:100dvh;overflow:auto;min-height:0}
html .admin-brand{font-size:24px!important;padding:12px!important;border-bottom:1px solid var(--line);border-radius:0;margin-bottom:14px}
html .admin-brand small{display:block;font-size:10px;letter-spacing:.12em;color:var(--accent-text)!important}
html .admin-shell .sidebar>a:not(.admin-brand){font-size:13px;line-height:1.7;padding:11px 13px;margin-top:5px;border:1px solid transparent;border-radius:10px;color:var(--muted)}
html .admin-shell .sidebar a.active{background:var(--brand-soft);border-color:#FF663340;color:var(--accent-text);font-weight:600}
html .admin-main{padding:28px 32px;max-width:1600px}
html .staff-header{border-radius:16px;padding:22px 24px;gap:18px;border:1px solid var(--line);box-shadow:var(--shadow)}
html .staff-header h2{font-size:22px}html .staff-header .row{gap:8px}html .staff-header .button,html .staff-header button{font-size:12px;padding:9px 12px}
html .admin-welcome{padding:12px 0 22px}html .admin-welcome h1{font-size:30px}html .admin-welcome p{font-size:14px;color:var(--muted)}
html .dashboard-grid{gap:18px}html .dashboard-card{padding:22px;min-height:126px}html .dashboard-card h3{font-size:16px}html .dashboard-card p{font-size:13px}.dashboard-icon{background:var(--brand-soft)!important;color:var(--accent-text)!important}
html .edit-row{padding:20px 24px}html .admin-main .edit-row>strong{font-size:15px;font-weight:400;line-height:1.9}html .edit-row .row{gap:8px}
html .editor-form{padding:26px}html .settings-group{background:var(--surface-raised);padding:18px}html .settings-group summary{font-size:16px}
html :is(input,select,textarea){border-radius:10px;background:var(--surface-raised);border-color:var(--line);font-size:15px}
html .settings-fields{gap:12px 24px}html .save-bar{border-top:2px solid #FF6633}
html .daily-table th,html .award-table th{background:var(--surface-raised);font-size:13px}html .daily-table td,html .award-table td{font-size:14px}
html .calendar-banner{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-left:4px solid #FF6633;border-radius:16px}
@media(max-width:1100px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html .portal-nav .navlinks{gap:14px}html .admin-shell{grid-template-columns:210px minmax(0,1fr)}html .admin-main{padding:22px}html .staff-header .row{width:100%}}
@media(max-width:700px){html .portal-nav{position:relative;padding:16px;gap:18px}html .portal-nav .brand{width:100%}html .portal-nav .navlinks{justify-content:flex-start;gap:14px;row-gap:10px}html .nav-tools{justify-content:flex-start;flex-wrap:wrap}html .nav-tools .portal-search.compact{width:100%;margin:0}html .portal-hero{padding:36px 20px 40px}html .portal-hero p{font-size:14px}html .portal-main{padding:0 16px}.hub-grid{grid-template-columns:1fr}.hub-card{padding:22px}html .health-panel{margin-top:20px}html .portal-section h2{font-size:24px!important}html .portal-section .section-top{align-items:flex-start;flex-wrap:wrap}html .admin-shell{grid-template-columns:1fr}html .admin-shell .sidebar{position:static;height:auto;display:flex;flex-wrap:wrap;gap:6px;padding:14px;border-right:0;border-bottom:1px solid var(--line)}html .admin-brand{width:100%}html .admin-shell .sidebar>a:not(.admin-brand){margin:0;font-size:12px;padding:8px 10px}html .admin-main{padding:16px}html .staff-header{padding:18px}html .staff-header .row{flex-wrap:wrap}html .editor-form{padding:18px}html input,html select,html textarea{font-size:16px}}

/* Consistent Thai reading rhythm across public and admin pages. */
:root{--leading-heading:1.45;--leading-body:1.7;--leading-ui:1.5}
html body{line-height:var(--leading-body)}
html :is(h1,h2,h3,h4){line-height:var(--leading-heading)}
html .portal-hero h1,html .hero-title{line-height:1.4!important}
html :is(.portal-hero p,.pagehead p,.card p,.copy,.faq-item .copy,.service-guide .copy,.service-item p,.hub-card p,.dcc-footer p,.person-card p,.dashboard-card p,.admin-welcome p){line-height:var(--leading-body)}
html :is(.hub-card h3,.service-item h3,.dashboard-card h3,.pillar-title h2,.staff-header h2,.section-title){line-height:var(--leading-heading)}
html :is(.navlinks a,.digital-nav-menu>summary,.digital-submenu a,button,.button,label,input,select,.mode-switch a,.tag,.pending,.hub-links a,.settings-group summary){line-height:var(--leading-ui)}
html :is(textarea,.settings-fields textarea,.admin-main .edit-row>strong,.award-table td,.daily-table td,.award-detail summary,.award-detail .copy){line-height:var(--leading-body)}
html :is(.brand small,.health-panel small,.download-tile small,.dcc-footer small,.staff-header small,.staff-header span,.admin-main .edit-row>strong small){line-height:1.6}
html .portal-hero p{max-width:760px}
@media(max-width:600px){html .portal-hero h1,html .hero-title{line-height:1.45!important}}

/* Official PLVC orange and black palette, shared with the existing theme system. */
:root{--canvas:#FAFAFB;--ink-dark:#000000;--ink-text:#111827;--ink-muted:#6B7280;--accent-orange:#FF6633;--accent-hover:#E65020;--accent-light:#FFF1ED;--card-fill:#F3F4F6;--card-border:#E5E7EB;--bg:var(--canvas);--hero:var(--canvas);--ink:var(--ink-text);--blue:var(--ink-text);--muted:var(--ink-muted);--surface:#fff;--surface-raised:var(--card-fill);--line:var(--card-border);--orange:var(--accent-orange);--brand:var(--accent-orange);--brand-soft:var(--accent-light);--accent-text:#B42F08}
html.dark{--bg:var(--ink-dark);--hero:var(--ink-dark);--surface:#1A1D24;--surface-raised:#15181F;--ink:#F9FAFB;--blue:#E5E7EB;--muted:#A7AFBD;--line:#333843;--brand-soft:#352018;--accent-text:#FFAB8F;--orange:var(--accent-orange);--brand:var(--accent-orange)}
html :is(.primary,.button.primary,.urgent,.portal-nav .urgent,.portal-search button,.mode-switch a.selected,.save-bar .primary,.calendar-banner .button.primary){background:var(--accent-orange);border-color:var(--accent-orange);color:#000000}
html :is(.primary,.button.primary,.urgent,.portal-nav .urgent,.portal-search button,.save-bar .primary):hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#000000}
html .portal-search.compact button{background:transparent;border-color:transparent;color:var(--ink)}
html .portal-nav .brand b,html .dcc-brand-mark{background:var(--accent-orange);color:#000000}
html:not(.dark) :is(.hub-card,.service-item,.dashboard-card,.media-card){background:var(--card-fill);border-color:var(--card-border)}
html .hub-featured{background:var(--ink-dark);border-color:var(--ink-dark)}
html .hub-featured h3,html .hub-featured .hub-links a{color:#fff}
html .hub-featured p{color:#C6CBD4}
html .hub-featured .hub-kicker{color:#FFAB8F}
html .hub-featured .hub-icon{background:var(--accent-orange);color:#000000}
html .hub-featured .hub-links a:hover{color:#FFAB8F}
html .hub-card:hover,html .service-item:hover,html .dashboard-card:hover{border-color:var(--accent-orange)}
html :is(.brand-strip,.dcc-footer){border-top-color:var(--line)}
html:not(.dark) .hub-card.hub-featured{background:var(--ink-dark);border-color:var(--ink-dark)}

/* Higher contrast for editing and administration. */
html .admin-shell{--ink:#111827;--muted:#4B5563;--surface:#FFFFFF;--surface-raised:#F3F4F6;--line:#B8C0CC;--accent-text:#A52A08}
html.dark .admin-shell{--ink:#F9FAFB;--muted:#CBD5E1;--surface:#1A1D24;--surface-raised:#242832;--line:#647084;--accent-text:#FFB49B}
html .admin-main :is(label,summary,h1,h2,h3,strong){color:var(--ink)}
html .admin-main :is(input,select,textarea){background:var(--surface);color:var(--ink);border:1px solid var(--line)}
html .admin-main :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
html .admin-main :is(.muted,small,.field-help,.save-bar>span){color:var(--muted)}
html .admin-shell :is(input,select,textarea,button,a,summary):focus-visible{outline:3px solid var(--accent-orange);outline-offset:3px}
html .admin-shell .sidebar a.active{color:var(--accent-text)!important;border-color:var(--accent-text);background:var(--brand-soft)}
html .admin-main :is(.button.primary,button.primary){background:#FF6633;color:#000000;border-color:#FF6633}

/* Warm editorial gradients and geometric composition from the supplied references. */
html .portal-hero{position:relative;overflow:hidden;padding:60px 24px 68px;background:radial-gradient(ellipse at 92% 20%,#FFB45C75,transparent 48%),linear-gradient(115deg,#FAFAFB 34%,#FFF1E7 70%,#FFD9A3 100%);border-bottom:1px solid #FF66332B}
.hero-composition{max-width:1232px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:48px}
.hero-copy{min-width:0;text-align:left;position:relative;z-index:1}
html .portal-hero h1{margin:22px 0 18px;max-width:900px;font-size:clamp(30px,3.1vw,44px)!important;color:var(--ink)!important}
html .portal-hero h1 em{color:#AC350F}
html .portal-hero p{margin:0;max-width:720px;color:#4B5563}
html .hero-search{margin:28px 0 18px;border:1px solid #D8C6BD;box-shadow:0 16px 40px #7A2E0B0C}
html .portal-hero .popular{justify-content:flex-start;flex-wrap:wrap}
.hero-art{position:relative;width:300px;height:340px;isolation:isolate;pointer-events:none}
.hero-art:before{content:"";position:absolute;inset:12px -20px;background:radial-gradient(ellipse,#FF66334A,transparent 68%);filter:blur(16px);z-index:-1}
.art-orbit{position:absolute;border:1px solid #7A2E0B45;border-radius:50%;width:290px;height:160px;left:5px;top:80px;transform:rotate(-35deg)}
.orbit-two{transform:rotate(50deg);height:220px;top:56px;border-color:#C35A1A40}
.art-core{position:absolute;left:72px;top:82px;width:156px;height:156px;border-radius:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(145deg,#FFD9A3 0%,#FF6633 58%,#C35A1A 100%);box-shadow:inset 0 2px 2px #FFFFFF90,0 25px 60px #7A2E0B25;transform:rotate(-9deg);border:1px solid #FFFFFF80;color:#1A0D06}
.art-core span{font-size:48px;font-weight:700;letter-spacing:-3px;line-height:1.2}.art-core small{font-size:12px;font-weight:600;letter-spacing:5px;margin-left:5px}
.art-node{position:absolute;width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:#FFFFFFE8;border:1px solid #FFF;color:#9A3412;font-size:28px;box-shadow:0 10px 30px #7A2E0B12}
.node-one{left:4px;top:42px;transform:rotate(-8deg)}.node-two{right:0;top:146px;transform:rotate(10deg)}.node-three{left:44px;bottom:30px;transform:rotate(-8deg)}
.art-caption{position:absolute;right:6px;bottom:12px;font-size:10px;font-weight:600;letter-spacing:2px;color:#7A2E0B}
html .hub-card{position:relative;overflow:hidden;border-radius:22px;padding:28px;box-shadow:0 8px 28px #1A0D0606}
html:not(.dark) .hub-card{background:linear-gradient(145deg,#FFFFFF 45%,#FFF8F3);border-color:#E9DFD8}
html .hub-icon{background:linear-gradient(145deg,#FFF1ED,#FFD9A3);border:1px solid #FF663325;color:#9A3412;border-radius:15px;width:52px;height:52px}
html .hub-kicker{position:absolute;right:24px;top:32px;font-size:11px}
html .hub-links{padding-top:18px;border-top:1px solid var(--line)}
html .hub-card.hub-featured{background:radial-gradient(ellipse at 100% 0%,#7A2E0B88,transparent 65%),linear-gradient(145deg,#23160F,#000000);border-color:#71432A}
html .hub-featured .hub-links{border-color:#FFFFFF26}
html .hub-featured .hub-icon{background:linear-gradient(135deg,#FFB45C,#FF6633);color:#000000}
html .brand-strip{position:relative;background:radial-gradient(ellipse at 0 100%,#FFD9A35C,transparent 50%),var(--surface);border-radius:24px;border-color:#FF663332;padding:32px;gap:32px}
html .brand-strip .download-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
html .download-tile{box-shadow:0 4px 18px #1A0D0604;min-width:0;border-radius:16px;transition:background-color .3s,border-color .3s,box-shadow .3s}
html .download-tile:hover{border-color:#FF6633;box-shadow:0 8px 24px #FF663315}
html .health-panel{border-radius:18px;border-top:3px solid #FF6633;box-shadow:0 10px 30px #1A0D0606}
html.dark .portal-hero{background:radial-gradient(ellipse at 95% 15%,#7A2E0B70,transparent 55%),linear-gradient(115deg,#111318 40%,#23160F 100%);border-color:#7A2E0B}
html.dark .portal-hero p{color:#CBD5E1}html.dark .portal-hero h1 em{color:#FFB49B}
html.dark .art-orbit{border-color:#FFB45C60}html.dark .art-caption{color:#FFD9A3}
html.dark .art-node{background:#2B211C;color:#FFD9A3;border-color:#B7784D70}
html.dark .hero-search{border-color:#6A4C3B}html.dark .brand-strip{background:radial-gradient(ellipse at 0 100%,#7A2E0B30,transparent 50%),var(--surface);border-color:#79503A}
@media(max-width:1100px){.hero-composition{grid-template-columns:minmax(0,1fr) 230px;gap:24px}.hero-art{transform:scale(.78);transform-origin:center;width:230px}.hub-grid{gap:18px}}
@media(max-width:760px){html .portal-hero{padding:36px 20px 44px}.hero-composition{grid-template-columns:1fr;gap:0}.hero-art{display:none}html .portal-hero h1{font-size:30px!important}html .hero-search{margin:24px 0 16px}html .brand-strip{padding:24px}html .brand-strip .download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){html .brand-strip .download-grid{grid-template-columns:1fr}html .hub-card{padding:24px}}

.logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.logo-card{overflow:hidden;padding:0!important;display:flex;flex-direction:column}.logo-preview{height:260px;padding:24px;background:#fff;display:grid;place-items:center;border-bottom:1px solid var(--line)}.logo-preview img{width:100%;height:100%;max-height:212px;object-fit:contain}.logo-description{padding:24px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.logo-description h2{font-size:21px;margin:16px 0 8px}.logo-description p{margin:0 0 20px}.logo-description .button{margin-top:auto}.brand-colors{display:flex;flex-wrap:wrap;gap:28px;align-items:center;margin:24px 0}.brand-colors>div:first-child{margin-right:auto}.color-swatch{display:flex;gap:14px;align-items:center}.color-swatch i{width:56px;height:72px;display:block;border-radius:12px;border:1px solid #ffffff30}.color-swatch small{display:block;color:var(--muted);margin-top:6px}@media(max-width:850px){.logo-grid{grid-template-columns:1fr}.logo-preview{height:240px}.brand-colors{align-items:flex-start;flex-direction:column}}

/* Main sections and their subordinate pages. */
html .portal-nav .navlinks{flex-wrap:wrap;gap:12px 20px}
.submenu-heading{display:block;padding:10px 12px 12px;margin-bottom:4px;border-bottom:1px solid var(--line);font-size:12px;font-weight:600;color:var(--muted)}
html .digital-nav-menu.current-group>summary{color:var(--accent-text);box-shadow:inset 0 -2px var(--orange)}
html .digital-submenu a[aria-current="page"]{background:var(--brand-soft);color:var(--accent-text)!important;font-weight:600}
.page-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:18px max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line);background:var(--surface);font-size:13px;line-height:1.6;color:var(--muted)}
.page-breadcrumb a{color:var(--muted)}.page-breadcrumb a:hover{color:var(--accent-text)}.page-breadcrumb [aria-current]{color:var(--ink);font-weight:500}
@media(max-width:700px){html .portal-nav .navlinks{gap:10px 16px}.page-breadcrumb{padding:14px 20px;font-size:12px}html .digital-submenu{max-width:calc(100vw - 32px);width:300px}}

/* Readable shared controls and text palette for public and admin surfaces. */
:root,html .admin-shell{--ink:#111827;--blue:#111827;--muted:#4B5563;--accent-text:#A33410;--brand-dark:#A33410;--action-fill:#C44116;--action-hover:#A93410;--control-border:#9CA3AF}
html.dark,html.dark .admin-shell{--ink:#F9FAFB;--blue:#E5E7EB;--muted:#CBD5E1;--accent-text:#FFB49B;--brand-dark:#FFB49B;--action-fill:#C44116;--action-hover:#A93410;--control-border:#758195}
html :is(input,select,textarea){color:var(--ink);border-color:var(--control-border)}
html :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
html :is(.muted,.copy,.field-help,.service-item p,.dashboard-card p,.hub-card p,.page-breadcrumb a,.health-panel small,.download-tile small){color:var(--muted)}
html :is(.pagehead .eyebrow,.pagehead>span,.number,.text-link,.brand-strip-heading>a){color:var(--accent-text)}
html :is(.tag,.pending,.level-pill,.calendar-badge,.faq-number){background:var(--brand-soft);color:var(--accent-text);border-color:var(--line)}
html :is(.button.primary,button.primary,.button.urgent,.portal-search button){background:var(--action-fill)!important;border-color:var(--action-fill)!important;color:#FFFFFF!important;box-shadow:0 2px 5px #00000010}
html :is(.button.primary,button.primary,.button.urgent,.portal-search button):hover{background:var(--action-hover)!important;border-color:var(--action-hover)!important;color:#FFFFFF!important}
html .portal-search.compact button{background:transparent!important;border-color:transparent!important;color:var(--ink)!important;box-shadow:none}
html .nav-tools{gap:12px;align-items:center}
html .nav-tools>.button{border-radius:12px;padding:8px 16px;font-size:12px!important;font-weight:500;line-height:1.5;min-height:36px}
html .portal-nav .orange-outline{background:#FFFFFF;color:#334155;border:1px solid #CBD5E1;box-shadow:none}
html.dark .portal-nav .orange-outline{background:#18181B;color:#E4E4E7;border-color:#52525B}
html .portal-nav .orange-outline:hover{border-color:#FF5520;background:var(--surface-raised);color:var(--ink)}
html .mode-switch{display:inline-flex;align-items:center;gap:2px;padding:4px;border-radius:12px;background:#F1F5F9;border:1px solid #CBD5E1}
html.dark .mode-switch{background:#27272A;border-color:#52525B}
html .mode-switch a{display:inline-flex;align-items:center;gap:6px;padding:6px 12px!important;border-radius:8px;color:#475569!important;background:transparent!important;border:0!important;font-size:12px!important;font-weight:500;white-space:nowrap;box-shadow:none}
html.dark .mode-switch a{color:#D4D4D8!important}
html .mode-switch a:hover{color:#18181B!important;background:#E2E8F0!important}
html.dark .mode-switch a:hover{color:#FFFFFF!important;background:#3F3F46!important}
html .mode-switch a.selected,html.dark .mode-switch a.selected{background:#18181B!important;color:#FFFFFF!important;box-shadow:0 1px 3px #00000025}
html.dark .mode-switch a.selected{box-shadow:inset 0 0 0 1px #71717A,0 1px 3px #00000025}
html .hub-featured p{color:#D1D5DB}
html .hub-featured .hub-kicker,html .hub-featured .hub-links a:hover{color:#FFB49B}
html :is(.award-table,.daily-table) :is(th,td){color:var(--ink)}
html :is(.award-table,.daily-table) td small{color:var(--muted)}

/* Compact navigation, active underline, and consistent dropdown chevrons. */
html .portal-nav .navlinks{gap:8px;align-items:center}
html .portal-nav .navlinks>a,html .portal-nav .digital-nav-menu>summary{position:relative;padding:8px 12px;font-size:14px!important;font-weight:500!important;line-height:1.5;color:#475569;border:0;border-radius:0;box-shadow:none;text-decoration:none;white-space:nowrap}
html.dark .portal-nav .navlinks>a,html.dark .portal-nav .digital-nav-menu>summary{color:#CBD5E1}
html .portal-nav .digital-nav-menu>summary{gap:6px}
html .portal-nav .navlinks>a:hover,html .portal-nav .digital-nav-menu>summary:hover,html .portal-nav .digital-nav-menu[open]>summary{color:var(--accent-text)}
html .portal-nav .navlinks>a.active,html .portal-nav .digital-nav-menu.current-group>summary{color:var(--accent-text);font-weight:600!important;box-shadow:none}
html .portal-nav .navlinks>a.active:after,html .portal-nav .digital-nav-menu.current-group>summary:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;background:#FF6633;border-radius:999px}
.nav-chevron{width:14px;height:14px;flex-shrink:0;color:#64748B;transition:transform .2s ease,color .2s ease}
html.dark .nav-chevron{color:#94A3B8}
html .digital-nav-menu[open] .nav-chevron{transform:rotate(180deg);color:var(--accent-text)}
@media(hover:hover){html .digital-nav-menu>summary:hover .nav-chevron{transform:rotate(180deg);color:var(--accent-text)}}
html .portal-nav .digital-submenu{left:0;margin-top:8px;min-width:280px}
html .portal-nav .digital-nav-menu:last-child .digital-submenu{left:auto;right:0}
html .portal-nav .digital-submenu a{font-size:14px!important;line-height:1.6;padding:10px 12px;white-space:normal}
@media(max-width:700px){html .portal-nav .navlinks{gap:4px}html .portal-nav .navlinks>a,html .portal-nav .digital-nav-menu>summary{padding:8px;font-size:13px!important}html .portal-nav .digital-submenu{min-width:240px;width:280px}html .portal-nav .digital-nav-menu:last-child .digital-submenu{left:0;right:auto}}
@media(prefers-reduced-motion:reduce){.nav-chevron{transition:none}}

/* Dark brand framing separates navigation and footer from page content. */
html .portal-nav,html .dcc-footer{--surface:#18181B;--surface-raised:#27272A;--ink:#FAFAFA;--blue:#FAFAFA;--muted:#CBD5E1;--line:#45454F;--accent-text:#FFB49B;--brand-soft:#3A241D;background:#18181B;color:#FAFAFA}
html .portal-nav{border-bottom:3px solid #FF6633;box-shadow:0 6px 20px #00000018}
html .portal-nav .brand{color:#FAFAFA}html .portal-nav .brand small{color:#CBD5E1}
html .portal-nav .navlinks>a,html .portal-nav .digital-nav-menu>summary{color:#E2E8F0}
html .portal-nav .navlinks>a:hover,html .portal-nav .navlinks>a.active,html .portal-nav .digital-nav-menu>summary:hover,html .portal-nav .digital-nav-menu[open]>summary,html .portal-nav .digital-nav-menu.current-group>summary{color:#FFB49B}
html .portal-nav .nav-chevron{color:#CBD5E1}
html .portal-nav .portal-search.compact{background:#27272A;border-color:#71717A}
html .portal-nav .portal-search.compact input{color:#FAFAFA;background:transparent}
html .portal-nav .portal-search.compact input::placeholder{color:#CBD5E1}
html .portal-nav .orange-outline{background:#27272A;color:#F4F4F5;border-color:#71717A}
html .portal-nav .orange-outline:hover{border-color:#FF6633;color:#FFFFFF}
html .portal-nav .mode-switch{background:#27272A;border-color:#71717A}
html .portal-nav .mode-switch a{color:#D4D4D8!important}
html .portal-nav .mode-switch a:hover{background:#3F3F46!important;color:#FFFFFF!important}
html .portal-nav .mode-switch a.selected{background:#09090B!important;color:#FFFFFF!important;box-shadow:inset 0 0 0 1px #71717A}
html .portal-nav .digital-submenu{background:#202024;border-color:#52525B;box-shadow:0 14px 35px #00000040}
html .portal-nav .digital-submenu a{color:#E2E8F0}
html .portal-nav .digital-submenu a:hover,html .portal-nav .digital-submenu a[aria-current]{background:#3A241D;color:#FFB49B!important}
html .portal-nav .theme-toggle{background:#27272A;border-color:#71717A;color:#FFFFFF}
html .dcc-footer{background:linear-gradient(115deg,#18181B,#0D0D0F);border-top:3px solid #FF6633}
html .dcc-footer :is(h3,strong,.dcc-footer-brand){color:#FFFFFF!important}
html .dcc-footer :is(p,a,small){color:#CBD5E1!important}
html .dcc-footer a:hover{color:#FFB49B!important}
html .dcc-footer .dcc-social a{color:#FFFFFF!important}
html .dcc-footer-bottom{border-top-color:#45454F}

/* A single active indicator and layered charcoal / warm brand framing. */
html .portal-nav .navlinks>a.active{border-bottom:0!important;box-shadow:none;text-decoration:none}
html .portal-main .brand-strip .download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:440px){html .portal-main .brand-strip .download-grid{grid-template-columns:1fr}}

.brand-logo-frame{display:inline-flex;align-items:center;justify-content:center;flex:0 0 64px;width:64px;height:56px;padding:3px;background:#FFFFFF;border:1px solid #FFFFFF66;border-radius:12px;box-shadow:0 3px 12px #00000020;overflow:hidden}.brand-logo-frame img{display:block;width:100%;height:100%;object-fit:contain}.dcc-footer-brand .brand-logo-frame{width:76px;height:64px;flex-basis:76px}@media(max-width:600px){.brand-logo-frame{width:58px;height:52px;flex-basis:58px}}

html .brand-logo-frame,html .dcc-footer-brand .brand-logo-frame{width:58px;height:58px;flex-basis:58px;background:transparent;border:1px solid #FFB49B60;border-radius:50%;padding:3px;box-shadow:0 3px 12px #00000020}html .brand-logo-frame.logo-square{border-radius:12px}.brand-logo-frame img{object-fit:contain;border-radius:inherit}.logo-editor{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:start}.logo-editor #logo-editor-preview{padding:20px;border-radius:14px;background:repeating-conic-gradient(#ddd 0% 25%,#fff 0% 50%) 50% / 18px 18px}.logo-editor .brand-logo-frame{width:110px!important;height:110px!important;border-color:#9CA3AF}.logo-editor input[type=file]{max-width:100%}.logo-editor p{font-size:13px;line-height:1.7}.logo-editor label{display:block;margin-top:14px}.logo-editor #logo-feedback{color:var(--accent-text)}@media(max-width:600px){.logo-editor{grid-template-columns:1fr}.logo-editor #logo-editor-preview{width:150px}}
.pdf-upload-panel{margin-block:24px;padding:24px;border:1px solid var(--border,#d1d5db);border-radius:18px;background:var(--surface,#fff)}
.pdf-upload-panel p{line-height:1.65}.pdf-upload-panel .pdf-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pdf-upload-panel progress{width:100%;accent-color:#ff6633}.pdf-upload-panel [hidden]{display:none!important}.pdf-upload-panel .row{flex-wrap:wrap}.pdf-upload-panel [data-pdf-status]{font-weight:500}.edit-row .row{flex-wrap:wrap}
@media(max-width:600px){.pdf-upload-panel{padding:16px}.pdf-upload-panel .pdf-options{grid-template-columns:1fr}}
.admin-menu-group{margin-block:16px}.admin-menu-group>p{font-size:.75rem;color:var(--muted,#9ca3af);padding:0 12px;margin:0 0 6px}.sidebar .admin-menu-group a{display:block;padding:10px 12px;border-radius:10px;color:inherit;text-decoration:none}.sidebar .admin-menu-group a.active{background:#ff6633;color:#111;font-weight:600}.menu-visibility-group{margin-top:28px}.menu-visibility-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--border,#ddd)}[hidden]{display:none!important}
@media(max-width:600px){.menu-visibility-row{align-items:flex-start;flex-direction:column}}
/* Theme-aware brand framing: retain depth without forcing dark in light mode. */
html:not(.dark) .portal-nav,html:not(.dark) .dcc-footer{--surface:#FFF8F3;--surface-raised:#FFFFFF;--ink:#18181B;--blue:#18181B;--muted:#4B5563;--line:#D8C8BD;--accent-text:#9C3413;--brand-soft:#FFE8DC;color:#18181B}
html:not(.dark) .portal-nav{background:radial-gradient(ellipse at 0 0,#FFD3BB99,transparent 60%),linear-gradient(115deg,#FFF6EF,#F4EEE9);box-shadow:inset 0 1px #FFFFFF,0 6px 20px #3C251512}
html:not(.dark) .dcc-footer{background:radial-gradient(ellipse at 100% 100%,#FFC8A880,transparent 65%),linear-gradient(120deg,#F1E7DF,#FFF6EF);box-shadow:inset 0 1px #FFFFFF}
html:not(.dark) .portal-nav .brand,html:not(.dark) .portal-nav .navlinks>a,html:not(.dark) .portal-nav .digital-nav-menu>summary{color:#27272A}
html:not(.dark) .portal-nav .brand small,html:not(.dark) .portal-nav .nav-chevron{color:#4B5563}
html:not(.dark) .portal-nav .navlinks>a:is(:hover,.active),html:not(.dark) .portal-nav .digital-nav-menu:is([open],.current-group)>summary{color:#9C3413}
html:not(.dark) .portal-nav .portal-search.compact,html:not(.dark) .portal-nav .orange-outline,html:not(.dark) .portal-nav .theme-toggle{background:#FFFFFF;color:#27272A;border-color:#A89B92}
html:not(.dark) .portal-nav .portal-search.compact input{color:#18181B}html:not(.dark) .portal-nav .portal-search.compact input::placeholder{color:#4B5563}
html:not(.dark) .portal-nav .mode-switch{background:#E9E4DF;border-color:#B9ADA4}html:not(.dark) .portal-nav .mode-switch a{color:#4B5563!important}html:not(.dark) .portal-nav .mode-switch a:hover{background:#D7CFC8!important;color:#18181B!important}html:not(.dark) .portal-nav .mode-switch a.selected{background:#18181B!important;color:#FFFFFF!important}
html:not(.dark) .portal-nav .digital-submenu{background:#FFFCFA;border-color:#D8C8BD;box-shadow:0 14px 35px #3C251522}html:not(.dark) .portal-nav .digital-submenu a{color:#27272A}html:not(.dark) .portal-nav .digital-submenu a:is(:hover,[aria-current]){background:#FFE8DC;color:#9C3413!important}
html:not(.dark) .dcc-footer :is(h3,strong,.dcc-footer-brand){color:#18181B!important}html:not(.dark) .dcc-footer :is(p,a,small){color:#4B5563!important}html:not(.dark) .dcc-footer a:hover{color:#9C3413!important}html:not(.dark) .dcc-footer .dcc-social a{color:#18181B!important}html:not(.dark) .dcc-footer-bottom{border-top-color:#D8C8BD}
html.dark .portal-nav{background:radial-gradient(ellipse at 0 0,#63321E66,transparent 48%),linear-gradient(115deg,#29292F,#17171C 52%,#0D0D10);box-shadow:inset 0 1px #FFFFFF12,0 8px 24px #00000025}html.dark .dcc-footer{background:radial-gradient(ellipse at 100% 100%,#77321B55,transparent 55%),linear-gradient(120deg,#28282F,#16161B 50%,#09090C);box-shadow:inset 0 1px #FFFFFF12}
.receipt-form{max-width:760px;margin:0 auto}.receipt-form>label:not(.receipt-confirm){display:block;margin:18px 0 8px}.receipt-form :is(input:not([type=checkbox]),textarea){width:100%}.receipt-confirm{display:flex;gap:12px;align-items:flex-start;margin:24px 0}.receipt-confirm input{width:20px;height:20px;flex:0 0 20px;margin-top:4px}.receipt-options{margin-top:24px}.receipt-link{margin-top:12px;align-self:flex-start}.receipt-form p{line-height:1.7}
.source-edit-row{padding:18px 0;border-bottom:1px solid var(--line);gap:20px}.source-edit-row p{margin:8px 0;font-size:13px}.source-edit-row strong{font-weight:400}.source-editor-dialog{width:min(700px,calc(100vw - 32px));max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:20px;padding:28px;background:var(--surface);color:var(--ink)}.source-editor-dialog::backdrop{background:#0008}.source-editor-dialog label{display:block;margin:14px 0}.source-editor-dialog input{width:100%;margin-top:6px}.source-editor-dialog .row{flex-wrap:wrap}.live-source-panel{margin-bottom:24px}

/* Network guidelines: shared public/admin typography and responsive reading width. */
.network-policy{max-width:960px;display:grid;gap:24px}.network-policy .policy-section{padding:clamp(20px,4vw,40px);border-inline-start:3px solid #FF6633}.network-policy .policy-section h2{font-size:clamp(1.15rem,2.5vw,1.45rem);line-height:1.55;margin:0 0 20px}.network-policy .policy-section p{font-size:1rem;font-weight:400;line-height:1.9;overflow-wrap:anywhere;margin:0 0 18px}.network-policy .policy-section p:last-child{margin-bottom:0}.network-actions .row{flex-wrap:wrap}.network-actions h2{line-height:1.55}.network-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.network-entry h2{font-size:1.25rem;line-height:1.5}.network-entry p{margin-bottom:0}.network-entry .button{flex-shrink:0}.editor-form textarea,#edit-form[data-kind="networkPolicy"] textarea{min-height:240px;line-height:1.85}@media(max-width:640px){.network-entry{align-items:stretch;flex-direction:column}.network-actions .button{width:100%;text-align:center}.network-policy{gap:16px}}
