/* Independent presentation controls; this is not a declaration of WCAG conformance. */
.adam-a11y-launcher{position:fixed;left:22px;bottom:22px;z-index:45;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:48px;min-height:48px;padding:12px 17px;border:2px solid transparent;border-radius:28px;background:#3a35f4;color:#fff;box-shadow:0 4px 18px #161b3e25;font-size:13px;font-weight:600;line-height:1.3;cursor:pointer}
.adam-a11y-launcher:hover{background:#2b27c8}
.adam-a11y-launcher svg{height:24px;width:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.adam-a11y-launcher svg circle{fill:currentColor;stroke:none}
.adam-a11y-launcher:focus-visible,.adam-a11y-panel :focus-visible{outline:3px solid #3a35f4;outline-offset:4px;box-shadow:0 0 0 3px #fff}
dialog.adam-a11y-panel{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:26px;border:1px solid var(--line,#d8dce5);border-radius:18px;background:var(--surface,#fff);color:var(--text,#202124);overflow-y:auto;overscroll-behavior:contain}
.adam-a11y-panel::backdrop{background:#18233a66;backdrop-filter:blur(2px)}
.adam-a11y-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.adam-a11y-heading h2{font-size:22px;font-weight:600;line-height:1.35;margin:0}
.adam-a11y-panel p{font-size:13px;line-height:1.6;color:var(--muted,#5e6673)}
.adam-a11y-close,.adam-a11y-reset{min-height:44px;border:1px solid var(--line,#d8dce5);padding:10px 13px;border-radius:9px;background:var(--surface,#fff);color:var(--text,#202124);font-size:13px;line-height:1.4;white-space:normal}
.adam-a11y-close:hover,.adam-a11y-reset:hover{background:var(--tint,#e8edff)}
.adam-a11y-panel form{display:flex;flex-direction:column;gap:0}
.adam-a11y-size{margin:0 0 12px;padding:12px 0 16px;border:0;border-bottom:1px solid var(--line,#d8dce5);display:flex;flex-wrap:wrap;gap:8px 15px;min-width:0}
.adam-a11y-size legend{font-size:14px;font-weight:600;padding:0 0 8px;line-height:1.5}
.adam-a11y-size label{display:flex;align-items:center;flex-direction:row;min-height:44px;gap:7px;font-size:13px;line-height:1.4;font-weight:400;cursor:pointer}
.adam-a11y-panel input[type=radio],.adam-a11y-panel input[type=checkbox]{margin:0;accent-color:#3a35f4;flex-shrink:0;width:19px;height:19px}
.adam-a11y-option{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;min-height:50px;border-bottom:1px solid var(--line,#d8dce5);font-size:14px;font-weight:400;line-height:1.5;cursor:pointer}
.adam-a11y-panel .adam-a11y-note{font-size:12px;line-height:1.6;margin:18px 0}
.adam-a11y-footer{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.adam-a11y-footer [role=status]{flex:1;min-width:150px;min-height:1.4em;font-size:12px;line-height:1.5;color:var(--muted,#5e6673)}
/* Existing panel uses fixed pixel type sizes. These settings deliberately establish
   readable minimums without shrinking headings or disabling native browser zoom. */
html[data-adam-text-size=larger]{--adam-accessible-text:16px}
html[data-adam-text-size=large]{--adam-accessible-text:18px}
html:is([data-adam-text-size=larger],[data-adam-text-size=large]) :is(#app,.adam-a11y-panel) :is(p,small,label,button,input,select,textarea,td,th,legend,.note,.badge,.caption,.navlabel,.account,.chart-legend,.chartfoot,.summary-row,.budget-detail,.bubble,.text-body,.footer,.demo-banner,.thread-meta,.eyebrow){font-size:var(--adam-accessible-text)!important;line-height:1.6!important}
html:is([data-adam-text-size=larger],[data-adam-text-size=large]) .sidebar{overflow-y:auto}
html:is([data-adam-text-size=larger],[data-adam-text-size=large]) :is(.head-actions,.top-actions,.card-heading,.thread-head,.reply-foot,.budget-detail,.summary-row,.setup,.readiness){flex-wrap:wrap}
html:is([data-adam-text-size=larger],[data-adam-text-size=large]) :is(.btn,.badge){white-space:normal}
html[data-adam-links=underlined] a{text-decoration:underline!important;text-decoration-thickness:2px;text-underline-offset:3px}
html[data-adam-focus=strong] :focus-visible{outline:4px solid #19158c!important;outline-offset:4px!important;box-shadow:0 0 0 3px #fff!important}
html[data-theme=dark][data-adam-focus=strong] :focus-visible{outline-color:#f6ea51!important;box-shadow:0 0 0 3px #161b23!important}
html[data-adam-motion=reduced] *,html[data-adam-motion=reduced] *::before,html[data-adam-motion=reduced] *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
html[data-adam-contrast=high]{--surface:#000;--page:#000;--text:#fff;--muted:#fff;--line:#fff;--blue:#f6ea51;--tint:#191919;--green:#fff;--shadow:none;color:#fff;background:#000;color-scheme:dark}
html[data-adam-contrast=high] :is(body,.login-shell,.welcome,.search,.note,.card,.badge,.demo-banner,.setup-icon,.workspace-icon,.avatar,.nav,.nav.active,.progress,.error,.btn,.bubble,.thread-item,.adam-a11y-close,.adam-a11y-reset){background:#000!important;color:#fff!important;box-shadow:none!important}
html[data-adam-contrast=high] :is(.card,.note,.badge,.demo-banner,.setup-icon,.workspace-icon,.avatar,.btn,.bubble,.thread-item,.search,.error){border:1px solid #fff!important}
html[data-adam-contrast=high] :is(.nav.active,.tab.selected,.thread-item.selected,.btn.primary,.adam-a11y-launcher){background:#f6ea51!important;color:#000!important;border-color:#f6ea51!important}
html[data-adam-contrast=high] :is(.welcome p,.stat.selected small,a,.btn.flat,.eyebrow){color:#f6ea51!important}
html[data-adam-contrast=high] :is(input,select,textarea){background:#000!important;color:#fff!important;border-color:#fff!important}
html[data-adam-contrast=high] :is(input,textarea)::placeholder{color:#d9d9d9!important;opacity:1}
html[data-adam-contrast=high] .stat.selected{background:#000!important;color:#fff!important;border-color:#fff!important}
html[data-adam-contrast=high] .chart .curve{stroke:#f6ea51}
html[data-adam-contrast=high] .chart .taskline{stroke:#fff}
html[data-adam-contrast=high] .chart .area{fill:none}
html[data-adam-contrast=high] :focus-visible{outline:4px solid #f6ea51!important;outline-offset:4px!important;box-shadow:0 0 0 3px #000!important}
@media(max-width:680px){.adam-a11y-launcher{left:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:11px;min-width:48px;min-height:48px}.adam-a11y-launcher>span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.adam-a11y-panel .adam-a11y-heading{align-items:flex-start}.adam-a11y-panel .adam-a11y-heading h2{font-size:20px}dialog.adam-a11y-panel{padding:20px}}
@media(forced-colors:active){.adam-a11y-launcher{border:2px solid ButtonText;box-shadow:none}.adam-a11y-panel :is(button,input):focus-visible{outline:3px solid Highlight;box-shadow:none}}
/* Appearance chooser follows the two-column panel from the supplied reference. */
.adam-a11y-launcher{border:1px solid var(--line,#d8dce5);border-radius:10px;background:var(--surface,#fff);color:var(--text,#202124);box-shadow:0 3px 12px #161b3e14;font-size:12px;font-weight:500;padding:9px 12px;min-height:44px;white-space:nowrap}
.adam-a11y-launcher:hover{background:var(--tint,#e8edff)}
.adam-a11y-launcher svg{width:18px;height:18px;stroke-width:1.6}
.adam-a11y-launcher svg circle{fill:none;stroke:currentColor}
.adam-a11y-launcher.in-topbar{position:static;box-shadow:none;flex-shrink:0;z-index:auto}
.adam-a11y-launcher.in-topbar>span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip-path:none;white-space:normal}
.top-actions:has(.adam-a11y-launcher){gap:10px}
.topbar:has(.adam-a11y-launcher) .search{min-width:120px}
.topbar:has(.adam-a11y-launcher) .brand{min-width:165px}
.topbar:has(.adam-a11y-launcher) .account{max-width:170px;overflow-wrap:anywhere}
.adam-a11y-panel .adam-a11y-heading{position:sticky;top:0;padding:24px 28px 20px;border-bottom:1px solid var(--line,#d8dce5);background:var(--surface,#fff);z-index:2;margin:0;align-items:flex-start}
.adam-a11y-panel .adam-a11y-heading h2{font-size:25px;letter-spacing:-.4px}
.adam-a11y-panel .adam-a11y-heading p{margin:7px 0 0;font-size:13px}
.adam-a11y-panel .adam-a11y-close{min-width:44px;width:44px;padding:3px;font-size:25px;line-height:1;font-weight:400;flex-shrink:0}
.adam-a11y-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:24px;padding:25px 28px;align-items:start}
.adam-a11y-panel h3{font-size:16px;line-height:1.5;margin:0 0 16px}
.adam-a11y-section{min-width:0;margin:0 0 20px;border:1px solid var(--line,#d8dce5);border-radius:16px;padding:22px;background:var(--page,#f3f6fc)}
fieldset.adam-a11y-section>legend{float:left;width:100%;padding:0;margin:0 0 10px;font-size:15px;font-weight:600;line-height:1.5}
fieldset.adam-a11y-section>legend+*{clear:both}
.adam-a11y-section>p{margin:0 0 18px;font-size:12px}
.adam-theme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;clear:both}
.adam-theme-choice{--preview-header:#fff;--preview-menu:#fff;--preview-page:#f3f6fc;--preview-card:#fff;--preview-accent:#3a35f4;--preview-line:#d8dce5;display:flex;flex-direction:column;position:relative;padding:6px 6px 9px;gap:8px;border:1px solid var(--line,#d8dce5);border-radius:11px;font-size:12px;font-weight:400;line-height:1.4;cursor:pointer;background:var(--surface,#fff)}
.adam-theme-choice:has(input:checked){outline:2px solid var(--blue,#3a35f4);outline-offset:1px}
.adam-theme-choice input{position:absolute;bottom:8px;right:8px;width:14px!important;height:14px!important}
.adam-theme-choice>span:last-child{padding:0 22px 0 2px}
.adam-theme-choice:focus-within{outline:3px solid var(--blue,#3a35f4);outline-offset:2px}
.adam-theme-preview{position:relative;display:block;overflow:hidden;border:1px solid var(--preview-line);border-radius:6px;height:72px;background:var(--preview-page)}
.adam-preview-header{position:absolute;left:0;top:0;right:0;height:12px;background:var(--preview-header);border-bottom:1px solid var(--preview-line)}
.adam-preview-header:after{content:'';position:absolute;left:4px;top:4px;height:3px;width:15px;background:var(--preview-accent);border-radius:2px}
.adam-preview-menu{position:absolute;left:0;top:12px;bottom:0;width:25%;background:var(--preview-menu);border-right:1px solid var(--preview-line)}
.adam-preview-menu:before,.adam-preview-menu:after{content:'';position:absolute;left:4px;right:4px;height:3px;top:9px;background:var(--preview-accent);border-radius:2px}
.adam-preview-menu:after{top:17px;opacity:.3;box-shadow:0 7px var(--preview-accent)}
.adam-preview-card{position:absolute;top:21px;left:33%;right:8%;height:23px;border:1px solid var(--preview-line);background:var(--preview-card);border-radius:3px}
.adam-preview-card:after{content:'';position:absolute;left:5px;right:30%;top:6px;height:3px;border-radius:1px;background:#7c8491}
.adam-preview-accent{position:absolute;left:33%;bottom:8px;width:18px;height:6px;border-radius:2px;background:var(--preview-accent)}
.adam-theme-choice[data-preset=ocean]{--preview-accent:#00758b}
.adam-theme-choice[data-preset=forest]{--preview-accent:#207544}
.adam-theme-choice[data-preset=graphite]{--preview-accent:#374151}
.adam-theme-choice:is([data-preset=adam-night],[data-preset=ocean-night]){--preview-header:#20242d;--preview-menu:#20242d;--preview-page:#171b23;--preview-card:#20242d;--preview-accent:#b7b0ff;--preview-line:#4c5668}
.adam-theme-choice[data-preset=ocean-night]{--preview-accent:#83c8d6}
.adam-preset-default{width:100%;margin:15px 0 4px}
.adam-a11y-section small{font-size:11px;line-height:1.5}
.adam-color-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;clear:both}
.adam-color-grid label{font-size:12px;line-height:1.4;font-weight:500;gap:10px}
.adam-color-control{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.adam-color-control input[type=color]{padding:3px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line,#d8dce5);background:var(--surface,#fff);cursor:pointer}
.adam-color-control input[type=color]::-webkit-color-swatch-wrapper{padding:2px}
.adam-color-control input[type=color]::-webkit-color-swatch{border:0;border-radius:50%}
.adam-color-control input[type=color]::-moz-color-swatch{border:0;border-radius:50%}
.adam-color-control output{font-family:monospace;font-size:12px;color:var(--muted,#5e6673)}
.adam-a11y-mode{display:flex;align-items:center;justify-content:space-between;flex-direction:row;gap:20px;clear:both;font-weight:400;font-size:13px}
.adam-a11y-mode select{font-size:13px;min-height:44px}
.adam-accessibility-column .adam-a11y-size{display:flex;flex-direction:column;gap:8px;border:0;padding:0;margin-top:22px}
.adam-accessibility-column .adam-a11y-size label{background:var(--surface,#fff);border:1px solid var(--line,#d8dce5);border-radius:9px;padding:10px 12px}
.adam-accessibility-column .adam-a11y-size label:has(input:checked){border-color:var(--blue,#3a35f4);outline:1px solid var(--blue,#3a35f4)}
.adam-accessibility-column .adam-a11y-option{border:0;min-height:64px;justify-content:flex-start;flex-direction:row-reverse;gap:11px}
.adam-accessibility-column .adam-a11y-option span{flex:1}
.adam-accessibility-column [data-accessibility-reset]{width:100%;margin-top:5px}
.adam-a11y-panel .adam-a11y-footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 28px;border-top:1px solid var(--line,#d8dce5);background:var(--surface,#fff);z-index:2}
.adam-a11y-panel .adam-a11y-footer [role=status]{min-height:1.5em;font-size:12px}
.adam-a11y-panel .adam-a11y-footer button{flex-shrink:0}
/* Explicit colors override the original dark-theme component colors consistently. */
html[data-adam-appearance=configured]:not([data-adam-contrast=high]){color:var(--text);background:var(--page);color-scheme:light}
html[data-adam-appearance=configured][data-theme=dark]:not([data-adam-contrast=high]){color-scheme:dark}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) .topbar{background:var(--adam-header);color:var(--adam-header-text)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) .topbar :is(small,.account,.iconbtn){color:var(--adam-header-text)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) .sidebar{background:var(--adam-menu);color:var(--adam-menu-text)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) .sidebar :is(.nav,.navlabel,.workspace small,.workspace select){color:var(--adam-menu-text)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) .sidebar .nav:hover{background:var(--surface);color:var(--text)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) :is(.nav.active,.btn.primary,.stat.selected,.logo){background:var(--adam-accent);color:var(--adam-accent-text)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) .stat.selected small{color:var(--adam-accent-text)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) .sidebar .nav.active{background:var(--adam-accent);color:var(--adam-accent-text)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) .main{color:var(--adam-page-text)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) :is(.main>.pagehead,.pagehead p,.footer){color:var(--adam-page-text)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) :is(.card,.credit-mini,.workspace-icon){color:var(--text)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) :is(.welcome,.login-shell){background:var(--page);color:var(--text)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) .welcome{background:var(--surface)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) .welcome p{color:var(--muted)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) :is(.welcome .btn,.search){background:var(--surface);color:var(--blue)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) .avatar{background:var(--tint);color:var(--blue)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) .search{border:1px solid var(--line)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) .search input{color:var(--text)}
html[data-adam-appearance=configured]:not([data-adam-contrast=high]) .search input::placeholder{color:var(--muted);opacity:1}
/* !important lets high contrast override the validated inline CSS custom properties. */
html[data-adam-contrast=high]{--surface:#000!important;--page:#000!important;--text:#fff!important;--muted:#fff!important;--line:#fff!important;--blue:#f6ea51!important;--tint:#191919!important;--green:#fff!important;--adam-header:#000!important;--adam-header-text:#fff!important;--adam-menu:#000!important;--adam-menu-text:#fff!important;--adam-page-text:#fff!important}
html[data-adam-contrast=high] .adam-theme-choice{background:#000;color:#fff;border-color:#fff}
html[data-adam-contrast=high] .adam-a11y-panel :is(.adam-a11y-section,.adam-a11y-heading,.adam-a11y-footer){background:#000;color:#fff;border-color:#fff}
dialog.adam-a11y-panel{width:min(1160px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border-radius:20px}
@media(max-width:1150px){.topbar:has(.adam-a11y-launcher) .account{display:none}.topbar:has(.adam-a11y-launcher){gap:18px}.topbar:has(.adam-a11y-launcher) .search{max-width:400px}}
@media(max-width:850px){.adam-a11y-columns{grid-template-columns:1fr;gap:0}.adam-accessibility-column{margin-bottom:0}.adam-a11y-launcher.in-topbar>span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.adam-a11y-launcher.in-topbar{width:42px;min-width:42px;padding:10px}.adam-a11y-panel .adam-a11y-heading h2{font-size:22px}.adam-a11y-panel .adam-a11y-heading{padding:20px}.adam-a11y-columns{padding:20px}.adam-a11y-panel .adam-a11y-footer{padding:16px 20px}}
@media(max-width:480px){.adam-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.adam-color-grid{gap:15px}.adam-a11y-section{padding:17px}.adam-a11y-panel .adam-a11y-heading h2{font-size:20px}.adam-a11y-panel .adam-a11y-footer{flex-direction:column;align-items:stretch;gap:10px}.adam-a11y-footer [role=status]{min-width:0;flex:auto}.adam-a11y-launcher.in-topbar{width:38px;min-width:38px;height:44px;padding:8px}.topbar:has(.adam-a11y-launcher) .top-actions{gap:3px}.topbar:has(.adam-a11y-launcher) .brand{min-width:0}.topbar:has(.adam-a11y-launcher) .avatar{display:none}}
