/* Toolnest account, consent, policy and administrator surfaces */
:root{--portal-ink:#26221e;--portal-muted:#776f65;--portal-paper:#f5f1e9;--portal-panel:#fffdf9;--portal-line:#e4dbcf;--portal-accent:#bd482f;--portal-green:#657550;--portal-shadow:0 26px 90px rgba(32,24,17,.22)}
html{font-size:17.9px}body{font-size:17.9px;line-height:1.55}.app-shell{font-size:17.9px}.auth-trigger{min-height:34px;padding:0 14px;font-size:15.7px}.portal-avatar{min-width:34px;min-height:34px;font-size:13.4px}.page-footer button{font-size:13.4px}.page-footer div{gap:12px}
.portal-search-wrap{position:relative}.portal-search-results{position:absolute;top:calc(100% + 9px);left:0;z-index:90;width:min(410px,calc(100vw - 28px));max-height:min(70vh,560px);overflow:auto;padding:8px;border:1px solid var(--portal-line);border-radius:11px;background:#fffdf9;box-shadow:0 20px 55px rgba(39,28,18,.2)}.portal-search-results[hidden]{display:none}.portal-search-heading{padding:8px 9px 5px;color:#968a7b;font-size:13.4px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.portal-search-result{width:100%;display:flex;align-items:center;gap:10px;padding:10px;border:0;border-radius:7px;background:transparent;text-align:left}.portal-search-result:hover,.portal-search-result:focus-visible{background:#f5eee5}.portal-search-result-icon{width:31px;height:31px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #eadfd2;border-radius:8px;background:#f8f2e9;color:var(--portal-accent);font-size:16.8px}.portal-search-result-copy{min-width:0;display:grid;gap:2px}.portal-search-result-copy strong{font-size:15.7px}.portal-search-result-copy small{overflow:hidden;color:#82786c;font-size:13.4px;text-overflow:ellipsis;white-space:nowrap}.portal-search-empty{padding:14px;color:#7b7167;font-size:15.7px}
#portal-root{position:relative;z-index:20000}.portal-screen{position:fixed;z-index:60;inset:0;display:none;overflow:auto;background:#f4f0e8;color:var(--portal-ink)}.portal-screen.portal-visible{display:block}.portal-page-shell{min-height:100vh}.portal-page-topbar{position:sticky;top:0;z-index:3;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(18px,4vw,58px);border-bottom:1px solid #e7ded3;background:rgba(248,245,238,.94);backdrop-filter:blur(15px)}.portal-brand{display:inline-flex;align-items:center;gap:10px;border:0;background:none;color:inherit;text-align:left}.portal-brand-mark{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:var(--portal-accent);color:#fffaf4;font:23.5px var(--serif);box-shadow:0 3px 0 rgba(90,41,27,.14)}.portal-brand-copy{display:grid;line-height:1.05}.portal-brand-copy strong{font:25.8px var(--serif);letter-spacing:-.5px}.portal-brand-copy small{margin-top:4px;color:#8c8174;font-size:12px;font-weight:700;letter-spacing:.12em}.portal-top-actions{display:flex;align-items:center;gap:9px}.portal-link-button,.portal-quiet-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:0 13px;border:1px solid #dfd4c7;border-radius:7px;background:#fffdf9;color:#63594e;font-size:15.7px;font-weight:650}.portal-link-button:hover,.portal-quiet-button:hover{border-color:#caa38f;color:var(--portal-accent)}.portal-primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 17px;border:1px solid var(--portal-accent);border-radius:7px;background:var(--portal-accent);color:#fffaf5;font-size:16.8px;font-weight:700;box-shadow:0 3px 0 #963a28;transition:transform .18s,background .18s}.portal-primary-button:hover{transform:translateY(-1px);background:#a83b27}.portal-danger-button{border-color:#efd0c3;background:#fff7f3;color:#a53b28}.portal-kicker{display:flex;align-items:center;gap:8px;color:#8b7f72;font-size:13.4px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.portal-kicker:before{width:7px;height:7px;border-radius:50%;background:var(--portal-accent);content:""}.portal-page-title{margin:11px 0 7px;font:clamp(35px,5vw,58px)/1.04 var(--serif);letter-spacing:-1.1px}.portal-page-title em{color:var(--portal-accent);font-weight:400}.portal-page-lede{max-width:760px;margin:0;color:#746b60;font-size:19px;line-height:1.7}
.portal-admin-frame{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}.portal-admin-nav{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:23px 15px 18px;border-right:1px solid #e5dccf;background:#efebe2}.portal-admin-nav .portal-brand{padding:0 7px 22px}.portal-admin-nav-label{margin:21px 10px 8px;color:#918676;font-size:12.3px;font-weight:750;letter-spacing:.12em}.portal-admin-tab{width:100%;min-height:44px;display:flex;align-items:center;gap:11px;padding:0 11px;border:0;border-radius:7px;background:transparent;color:#6d645a;text-align:left;font-size:16.8px;font-weight:650}.portal-admin-tab:hover{background:#f8f4ed;color:#332d27}.portal-admin-tab.active{background:#fffaf3;color:var(--portal-accent);box-shadow:inset 0 0 0 1px #eee2d5}.portal-admin-tab .portal-nav-icon{width:23px;text-align:center;font-size:19px}.portal-admin-nav-bottom{margin-top:auto;display:grid;gap:8px}.portal-admin-main{min-width:0}.portal-admin-header{min-height:72px;position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px clamp(19px,3.5vw,52px);border-bottom:1px solid #e6ddd2;background:rgba(248,245,238,.94);backdrop-filter:blur(15px)}.portal-admin-header-label{display:grid;gap:3px}.portal-admin-header-label small{color:#928779;font-size:12.3px;font-weight:700;letter-spacing:.11em}.portal-admin-header-label strong{font:23.5px var(--serif)}.portal-admin-workspace{max-width:1580px;margin:0 auto;padding:35px clamp(19px,3.5vw,52px) 55px}.portal-admin-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:23px}.portal-admin-heading h1{margin:5px 0 0;font:39.2px/1.1 var(--serif);letter-spacing:-.5px}.portal-admin-heading p{margin:7px 0 0;color:#81786d;font-size:16.8px}.portal-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.portal-stat-card{min-height:130px;padding:16px;border:1px solid #e7ded3;border-radius:10px;background:#fffdf9;box-shadow:0 3px 13px rgba(47,35,21,.035)}.portal-stat-label{color:#82776b;font-size:13.4px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.portal-stat-value{display:block;margin-top:8px;font:38.1px/1 var(--serif);color:#342c25}.portal-stat-note{display:block;margin-top:7px;color:#8b8175;font-size:14.6px}.portal-admin-card{min-width:0;padding:19px;border:1px solid #e7ded3;border-radius:10px;background:#fffdf9}.portal-admin-card h2{margin:0 0 9px;font:25.8px/1.2 var(--serif)}.portal-admin-card>p{margin:0;color:#81776b;font-size:15.7px;line-height:1.6}.portal-admin-columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:15px;margin-top:15px}.portal-admin-chart{min-height:300px;position:relative;overflow:hidden;border:1px solid #e7ded3;border-radius:9px;background:radial-gradient(circle at 75% 15%,#f4ece0,#fffdf9 65%)}.portal-admin-chart canvas{position:absolute;inset:0;width:100%;height:100%}.portal-chart-summary{position:absolute;z-index:1;left:15px;top:14px;padding:8px 10px;border:1px solid #eee4d7;border-radius:7px;background:rgba(255,253,249,.89);color:#6c6257;font-size:14.6px;backdrop-filter:blur(5px)}.portal-chart-fallback{padding:54px 16px 18px}.portal-chart-fallback ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}.portal-chart-fallback li{display:grid;grid-template-columns:minmax(80px,1fr) minmax(50px,2fr) 35px;align-items:center;gap:10px;color:#71675c;font-size:14.6px}.portal-chart-bar{height:9px;overflow:hidden;border-radius:8px;background:#eee8de}.portal-chart-bar span{display:block;height:100%;border-radius:inherit;background:#bd482f}.portal-table-wrap{width:100%;overflow:auto;border:1px solid #e7ded3;border-radius:9px;background:#fffdf9}.portal-table{width:100%;border-collapse:collapse;text-align:left}.portal-table th{padding:12px 14px;background:#f7f3eb;color:#8b8073;font-size:12.3px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.portal-table td{padding:13px 14px;border-top:1px solid #eee6db;color:#51483f;font-size:15.7px;vertical-align:top}.portal-table tbody tr:hover{background:#fcf9f3}.portal-table small{display:block;margin-top:3px;color:#93887c;font-size:13.4px}.portal-table-empty{padding:25px;text-align:center;color:#887d71;font-size:15.7px}.portal-search-field{width:min(100%,330px);min-height:42px;padding:0 12px;border:1px solid #ded4c8;border-radius:7px;background:#fffdf9;color:#342d27;font-size:16.8px}.portal-field{width:100%;min-height:44px;padding:10px 12px;border:1px solid #ded4c8;border-radius:7px;background:#fffdf9;color:#342d27;font-size:16.8px}.portal-textarea{min-height:280px;resize:vertical;line-height:1.7}.portal-field-label{display:block;margin:0 0 6px;color:#5e5449;font-size:15.7px;font-weight:700}.portal-field-hint{margin:5px 0 0;color:#8e8477;font-size:13.4px;line-height:1.55}.portal-policy-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.65fr);gap:17px;align-items:start}.portal-policy-form{display:grid;gap:15px}.portal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-checkline{display:flex;align-items:center;gap:9px;color:#62584d;font-size:15.7px}.portal-checkline input{width:18px;height:18px;accent-color:var(--portal-accent)}.portal-history-list{display:grid;gap:8px;margin-top:12px}.portal-version-card{display:grid;gap:7px;padding:12px;border:1px solid #e8ded2;border-radius:8px;background:#fbf8f2}.portal-version-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.portal-version-head strong{font-size:15.7px}.portal-version-card p{margin:0;color:#84796d;font-size:14.6px;line-height:1.45}.portal-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #e5dbcf;border-radius:50px;background:#f5f0e7;color:#71675a;font-size:12.3px;font-weight:700}.portal-badge.success{border-color:#dce4d4;background:#eef2e8;color:#61704d}.portal-badge.warning{border-color:#ebd9ba;background:#fcf3e3;color:#85683e}.portal-draft-callout{padding:13px 15px;border:1px solid #ead9c6;border-radius:8px;background:#faf3e8;color:#705e48;font-size:14.6px;line-height:1.6}.portal-content-status{min-height:20px;color:#81786d;font-size:14.6px}.portal-content-status.error{color:#a33e2a}.portal-content-status.success{color:#657550}.portal-prose{max-width:850px;margin:26px auto 62px;padding:clamp(22px,5vw,54px);border:1px solid #e8dfd4;border-radius:12px;background:#fffdf9;box-shadow:0 12px 30px rgba(50,37,24,.06)}.portal-prose h1{margin:13px 0;font:clamp(38px,5vw,58px)/1.05 var(--serif)}.portal-prose .portal-prose-body{margin-top:25px;color:#4d453d;font-size:19px;line-height:1.85}.portal-prose-body p{margin:0 0 19px}.portal-policy-footer{max-width:850px;margin:0 auto;padding:0 10px 40px;color:#8a8074;font-size:14.6px}.portal-policy-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.portal-policy-links a{padding:7px 10px;border:1px solid #e5dbcf;border-radius:6px;background:#fffaf3;color:#70665a;font-size:14.6px}.portal-policy-links a:hover{color:var(--portal-accent)}
.portal-gate{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;overflow:auto;padding:20px;background:rgba(37,29,22,.62);backdrop-filter:blur(8px)}.portal-gate[hidden]{display:none}.portal-gate-card{width:min(100%,610px);padding:clamp(24px,5vw,43px);border:1px solid #e6dbce;border-radius:15px;background:#fbf8f1;box-shadow:var(--portal-shadow)}.portal-gate-brand{display:flex;align-items:center;gap:11px;margin-bottom:25px}.portal-gate-card h1{margin:11px 0 9px;font:clamp(32px,5vw,46px)/1.04 var(--serif);letter-spacing:-.6px}.portal-gate-card>p{margin:0;color:#766c60;font-size:17.9px;line-height:1.7}.portal-consent-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:21px 0}.portal-consent-category{padding:12px;border:1px solid #e6ddd0;border-radius:8px;background:#fffdf9}.portal-consent-category strong{display:block;font-size:14.6px}.portal-consent-category span{display:block;margin-top:4px;color:#8a8074;font-size:13.4px;line-height:1.4}.portal-gate-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.portal-gate-footnote{margin:14px 0 0;color:#93887a;font-size:13.4px;line-height:1.5}.portal-gate-policy{margin-top:12px}.portal-gate-policy[hidden]{display:none}.portal-gate-policy-copy{max-height:220px;overflow:auto;margin-top:10px;padding:12px;border:1px solid #e6ddd0;border-radius:7px;background:#fffdf9;color:#6d6257;font-size:14.6px;line-height:1.65}.portal-gate-policy-copy p{margin:0 0 8px}.portal-modal-layer{position:fixed;z-index:1300;inset:0;display:none;place-items:center;padding:18px;background:rgba(38,30,23,.5);backdrop-filter:blur(5px)}.portal-modal-layer.is-open{display:grid}.portal-modal-card{position:relative;width:min(100%,510px);max-height:min(88vh,850px);overflow:auto;padding:28px;border:1px solid #e4d9cc;border-radius:13px;background:#faf7f0;box-shadow:var(--portal-shadow)}.portal-modal-card.wide{width:min(100%,720px)}.portal-modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;display:grid;place-items:center;border:1px solid #e3d9cc;border-radius:7px;background:#fffdf9;color:#71665a;font-size:23.5px}.portal-modal-title{margin:0 40px 7px 0;font:34.7px/1.1 var(--serif)}.portal-modal-lede{margin:0 0 21px;color:#81776b;font-size:15.7px;line-height:1.6}.portal-auth-tabs{display:flex;gap:5px;padding:4px;margin-bottom:18px;border:1px solid #e4dbcf;border-radius:8px;background:#f0ebe2}.portal-auth-tab{min-height:37px;flex:1;border:0;border-radius:6px;background:transparent;color:#766c60;font-size:15.7px;font-weight:700}.portal-auth-tab.active{background:#fffdf9;color:var(--portal-accent);box-shadow:0 1px 4px rgba(52,37,22,.1)}.portal-auth-form{display:grid;gap:13px}.portal-auth-error{min-height:18px;color:#9e3928;font-size:14.6px}.portal-auth-help{margin:0;color:#8b8175;font-size:13.4px;line-height:1.55}.portal-modal-action-row{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.portal-notification-list{display:grid;gap:8px}.portal-notification-item{padding:12px;border:1px solid #e8dfd3;border-radius:8px;background:#fffdf9}.portal-notification-item strong{display:block;font-size:15.7px}.portal-notification-item p{margin:4px 0 0;color:#81776b;font-size:14.6px;line-height:1.5}.portal-user-card{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #e5dbce;border-radius:8px;background:#fffdf9}.portal-user-badge{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#e6c9ad;color:#684532;font-weight:800}.portal-user-card-copy{min-width:0;display:grid}.portal-user-card-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16.8px}.portal-user-card-copy small{overflow:hidden;margin-top:3px;color:#82786c;font-size:13.4px;text-overflow:ellipsis;white-space:nowrap}.portal-admin-blocked{min-height:100vh;display:grid;place-items:center;padding:24px}.portal-admin-blocked-card{width:min(100%,520px);padding:30px;border:1px solid #e6dbce;border-radius:12px;background:#fffdf9;text-align:center;box-shadow:0 16px 50px rgba(43,31,20,.1)}.portal-admin-blocked-card h1{margin:12px 0 7px;font:35.8px var(--serif)}.portal-admin-blocked-card p{color:#7d7368;font-size:16.8px;line-height:1.6}.portal-admin-blocked-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:18px}.portal-empty{padding:25px;border:1px dashed #d9ccbc;border-radius:8px;color:#877c70;text-align:center;font-size:15.7px}.portal-admin-status{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;border:1px solid #e5d9c5;border-radius:8px;background:#faf3e7;color:#746047;font-size:14.6px;line-height:1.55}.portal-admin-status strong{color:#574831}.driver-popover.driverjs-theme{border:1px solid #e3d6c5;border-radius:10px;background:#fffdf9;color:#29231e;box-shadow:0 15px 45px rgba(38,29,20,.2)}.driver-popover.driverjs-theme .driver-popover-title{font:24.6px var(--serif)}.driver-popover.driverjs-theme .driver-popover-description{color:#70665b;font:15.7px/1.55 var(--sans)}.driver-popover.driverjs-theme button{font:14.6px var(--sans)}
@media(max-width:1080px){.portal-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-admin-columns,.portal-policy-editor{grid-template-columns:1fr}.portal-admin-frame{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:760px){.portal-admin-frame{grid-template-columns:1fr}.portal-admin-nav{position:relative;height:auto;padding:12px 14px;border-right:0;border-bottom:1px solid #e5dccf}.portal-admin-nav .portal-brand{padding:0 4px 10px}.portal-admin-nav .portal-admin-nav-bottom{display:none}.portal-admin-nav-label{display:none}.portal-admin-nav-list{display:flex;gap:5px;overflow:auto;padding-bottom:3px}.portal-admin-tab{width:auto;min-width:max-content;min-height:39px;padding:0 10px;font-size:15.7px}.portal-admin-tab .portal-nav-icon{display:none}.portal-admin-header{min-height:62px;padding:9px 15px}.portal-admin-workspace{padding:24px 15px 40px}.portal-admin-heading{align-items:flex-start;flex-direction:column}.portal-admin-heading h1{font-size:34.7px}.portal-page-topbar{min-height:62px;padding:10px 14px}.portal-brand-copy small{font-size:12px}.portal-consent-categories{grid-template-columns:1fr}.portal-gate{align-items:start;padding:12px}.portal-gate-card{margin:auto 0;padding:22px}.portal-gate-card>p{font-size:16.8px}.portal-prose{margin:14px 13px 35px;padding:23px 18px}.portal-prose .portal-prose-body{font-size:17.9px}.portal-top-actions .portal-quiet-button{min-height:36px;padding:0 9px;font-size:14.6px}.portal-form-row{grid-template-columns:1fr}.portal-table th,.portal-table td{padding:10px 11px}.portal-search-results{left:auto;right:0}.portal-page-lede{font-size:17.9px}}
@media(max-width:480px){.portal-admin-grid{grid-template-columns:1fr}.portal-stat-card{min-height:110px}.portal-stat-value{font-size:34.7px}.portal-admin-header-label strong{font-size:20.2px}.portal-admin-header-label small{font-size:12px}.portal-top-actions{gap:5px}.portal-top-actions .portal-link-button{min-height:34px;padding:0 9px;font-size:13.4px}.portal-auth-tabs{margin-bottom:15px}.portal-modal-card{padding:23px 19px}.portal-policy-footer{padding:0 17px 32px}.portal-gate-actions{align-items:stretch;flex-direction:column}.portal-gate-actions button{width:100%}.portal-notification-item{padding:10px}}
@media(prefers-reduced-motion:reduce){.portal-screen,.portal-primary-button,.portal-search-result,.portal-admin-tab{scroll-behavior:auto!important;animation:none!important;transition:none!important}.driver-popover{animation:none!important}}

.app-shell.portal-hidden{display:none!important}.portal-inline-notice{margin:0 0 18px;padding:13px 15px;border:1px solid #ead4bf;border-radius:8px;background:#fbf1e4;color:#6e563b;font-size:15.7px;line-height:1.6}.portal-inline-notice[hidden]{display:none!important}.portal-scroll-locked{overflow:hidden}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.toast-region{z-index:1400!important}.portal-gate .portal-consent-category span{line-height:1.5}

.portal-admin-chart.three-chart-ready .portal-chart-fallback{visibility:hidden}

body.pre-consent #app-shell,body.pre-consent #workspace-overlay,body.pre-consent #shortcuts-modal{visibility:hidden!important}

#toast-region{z-index:24000}body.portal-gate-open{overflow:hidden}@media(max-width:560px){.portal-gate{place-items:start center;padding:14px}.portal-gate-card{margin:0 auto}.portal-modal-action-row{flex-wrap:wrap}}


/* Reliable sidebar interactions and local workspace picker */
.workspace-picker{position:relative;z-index:30;margin-bottom:2px}
button.workspace-switcher{width:100%;height:59px;display:flex;align-items:center;padding:8px 9px;border:1px solid #e8e0d5;border-radius:11px;background:rgba(255,253,249,.66);color:var(--ink);text-align:left;gap:10px;transition:border-color .18s,background .18s,box-shadow .18s}
button.workspace-switcher:hover,button.workspace-switcher[aria-expanded="true"]{border-color:#c9a790;background:#fffdf9;box-shadow:0 5px 15px rgba(52,38,25,.07)}
.workspace-switcher .workspace-copy{min-width:0;flex:1}
.workspace-menu{position:absolute;z-index:50;top:calc(100% + 7px);left:0;width:min(310px,calc(100vw - 32px));max-height:min(66vh,500px);overflow:auto;padding:9px;border:1px solid #e2d7ca;border-radius:11px;background:#fffdf9;box-shadow:0 18px 50px rgba(42,30,19,.19)}
.workspace-menu[hidden],.workspace-menu-form[hidden]{display:none!important}
.workspace-menu-heading{display:grid;gap:2px;padding:8px 8px 10px;border-bottom:1px solid #eee7dd}
.workspace-menu-heading strong{font-size:15.7px;color:#342d26}
.workspace-menu-heading span,.workspace-menu-note{color:#857a6e;font-size:13.4px;line-height:1.45}
.workspace-choice-list{display:grid;gap:3px;max-height:245px;overflow:auto;padding:7px 0}
.workspace-choice{width:100%;min-height:48px;display:flex;align-items:center;gap:9px;padding:6px 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:#51483f;text-align:left}
.workspace-choice:hover,.workspace-choice:focus-visible{background:#f8f3eb}
.workspace-choice.active{border-color:#e7d8c9;background:#f7f0e7}
.workspace-choice-mark{width:29px;height:29px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:#e8e7da;color:#5f604e;font:18px var(--serif)}
.workspace-choice-copy{min-width:0;display:grid;gap:1px;flex:1}
.workspace-choice-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14.6px}
.workspace-choice-copy small{color:#8a8074;font-size:12.3px}
.workspace-choice-check{color:var(--accent);font-weight:800}
.workspace-menu-actions{display:flex;gap:6px;padding:6px 0;border-top:1px solid #eee7dd}
.workspace-menu-actions button,.workspace-menu-form button{min-height:35px;padding:0 9px;border:1px solid #e5dbce;border-radius:6px;background:#faf7f0;color:#63584d;font-size:13.4px;font-weight:700}
.workspace-menu-actions button:hover,.workspace-menu-form button:hover{border-color:#c9a790;color:var(--accent)}
.workspace-menu-actions button:disabled{opacity:.5;cursor:not-allowed}
.workspace-menu-form{display:grid;gap:6px;padding:8px 0;border-top:1px solid #eee7dd}
.workspace-menu-form label{color:#6f655a;font-size:13.4px;font-weight:700}
.workspace-menu-form>div{display:flex;gap:6px}
.workspace-menu-form input{min-width:0;flex:1;height:36px;padding:0 9px;border:1px solid #ded4c7;border-radius:6px;background:#fff;color:#302a24;font-size:14.6px}
.workspace-menu-note{margin:5px 2px 2px;padding-top:7px;border-top:1px solid #eee7dd;font-size:12.3px}
.tool-section{scroll-margin-top:88px}
.tool-card-controls{display:flex;align-items:center;gap:6px}
.tool-save-button{width:29px;height:29px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:#a29586;transition:background .16s,border-color .16s,color .16s,transform .16s}
.tool-save-button svg{width:16px;height:16px}
.tool-save-button:hover,.tool-save-button:focus-visible{border-color:#e5d8c9;background:#fffaf4;color:var(--portal-accent)}
.tool-save-button.saved{color:var(--portal-accent)}
.tool-save-button.saved svg path{fill:rgba(189,72,47,.16)}
.tool-save-button:active{transform:scale(.92)}
.nav-item:focus-visible,.help-link:focus-visible{outline:3px solid rgba(189,72,47,.25);outline-offset:2px}
.empty-state .text-button{min-height:38px;padding:0 11px;border:1px solid #e3d8ca;border-radius:7px;background:#fffaf4}
.empty-state .text-button:hover{border-color:#c9a790;color:var(--accent)}
@media(max-width:720px){.workspace-menu{width:min(310px,calc(100vw - 34px));max-height:min(60vh,460px)}.workspace-choice-list{max-height:190px}}

button.workspace-switcher,.workspace-choice,.workspace-menu-actions button,.workspace-menu-form button{font:inherit;cursor:pointer}


/* Quality pass: fixed portal routes keep an independent, touch-friendly scroll root. */
:root { --heading-font: "Google Sans", "Source Sans 3", Inter, system-ui, sans-serif; --serif: var(--heading-font); }
#portal-root :is(h1, h2, h3, h4, h5, h6), .driver-popover-title { font-family: var(--heading-font) !important; }
.portal-screen {
  min-width: 0;
  max-width: 100vw;
  overscroll-behavior-x: none;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}
.portal-admin-nav {
  min-width: 0;
  min-height: 0;
  max-height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.portal-admin-main, .portal-admin-workspace, .portal-prose, .portal-admin-card, .portal-admin-grid, .portal-admin-columns { min-width: 0; }
.portal-table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.portal-prose-body, .portal-version-card, .portal-admin-card, .portal-field-hint { overflow-wrap: anywhere; }
#portal-modal-layer.is-open, #portal-consent-gate {
  max-width: 100vw;
  max-height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.portal-modal-card { box-sizing: border-box; max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); overflow-y: auto; overscroll-behavior: contain; }
@media (max-width: 760px) {
  .portal-admin-nav { max-height: none; }
  .portal-admin-main, .portal-admin-workspace { width: 100%; }
  .portal-admin-header, .portal-top-actions { flex-wrap: wrap; }
  .portal-admin-heading { min-width: 0; flex-wrap: wrap; }
}
@media (max-width: 420px) {
  .portal-page-topbar, .portal-admin-header { padding-inline: 16px; }
  .portal-prose { padding-inline: 16px; }
}
@media (max-height: 640px) {
  #portal-consent-gate { align-items: start; padding-block: 12px; }
}
