@import url('/tokens.css?v=6.3.1');
/* Source: CLEAFE MagicPath Shared.tsx / approved 2026-09-07 revisions. */
/* CLEAFE custom product language. Not a Fluent/Carbon imitation.
   Radius scale: 8px controls, 12px panels, 20px focal surfaces; pills only badges/avatars.
   Layers: sidebar 10, topbar 5, native dialog top layer. */
.ds-root{min-height:100dvh;width:100%;display:flex;color:var(--text);background:var(--bg);font-family:var(--font-ui);font-size:var(--font-size-body);line-height:var(--line-height-body);text-align:left;color-scheme:light}
.ds-root[data-theme=dark]{color-scheme:dark}
.ds-root *{box-sizing:border-box}.ds-root h1,.ds-root h2,.ds-root h3,.ds-root p{margin:0}.ds-root h1{font-size:var(--font-size-h1);letter-spacing:0;line-height:40px;font-weight:600}.ds-root h2{font-size:var(--font-size-h2);line-height:28px;font-weight:600;letter-spacing:0}.ds-root h3{font-size:var(--font-size-h3);line-height:24px;font-weight:600}.ds-root a{text-decoration:none;color:inherit}.ds-root button,.ds-root input,.ds-root select,.ds-root textarea{font:inherit}.ds-root button{cursor:pointer;font-weight:500}.ds-root button:disabled{cursor:not-allowed;color:var(--muted);background:var(--soft)}.ds-root button,.ds-root a,.ds-root input,.ds-root textarea,.ds-root select{transition:background-color .18s,color .18s,border-color .18s}.ds-root button:active:not(:disabled){transform:translateY(1px)}.ds-root :focus-visible{outline:3px solid var(--accent);outline-offset:3px}.ds-root svg{flex-shrink:0}.ds-root ::placeholder{color:var(--muted);opacity:1}.ds-root small{font-size:var(--font-size-secondary)}.ds-root .muted{color:var(--muted)}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.stack{display:grid;gap:16px}.grow{flex:1;min-width:0}.sidebar{width:212px;flex-shrink:0;min-height:100dvh;display:flex;flex-direction:column;padding:28px 16px 16px;border-right:1px solid var(--line);background:var(--surface);position:sticky;top:0;align-self:flex-start;height:100dvh;z-index:10}.brand{padding:0 10px;display:grid;gap:9px}.brand img{width:105px;height:41px;object-fit:contain;object-position:left}.brand>span{font-size:var(--font-size-secondary);color:var(--muted);letter-spacing:.3px}.workspace-switch{margin:32px 0 25px;background:transparent;display:flex;align-items:center;gap:9px;padding:11px 8px;border:1px solid var(--line);border-radius:8px;color:var(--text);text-align:left;font-size:var(--font-size-body)}.workspace-switch small,.profile small,.scope-info small{display:block;color:var(--muted);font-size:var(--font-size-secondary);margin-top:2px}.workspace-mark{width:30px;height:32px;display:grid;place-items:center;background:var(--tint);color:var(--accent);border-radius:6px;font-weight:600;flex-shrink:0}.workspace-switch>svg{margin-left:auto}.sidebar nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 13px;color:var(--text)!important;border:0;background:none;border-radius:8px;text-align:left;width:100%;position:relative;font-weight:500}.nav-link:hover{background:var(--soft)}.nav-link.active{color:var(--accent)!important;background:var(--tint);font-weight:600}.nav-active-mark{position:absolute;right:12px;width:4px;height:18px;border-radius:2px;background:var(--accent)}.nav-separator{margin:18px 12px;border-top:1px solid var(--line)}.sidebar-foot{margin-top:auto;padding-top:24px}.scope-info{display:flex;gap:9px;align-items:flex-start;padding:18px 8px;font-size:var(--font-size-secondary);color:var(--muted)}.profile{background:none;border:0;border-top:1px solid var(--line);padding:18px 6px 2px;display:flex;align-items:center;gap:10px;width:100%;text-align:left;color:var(--text)}.profile>svg{margin-left:auto}.avatar{height:34px;width:34px;border-radius:50%;background:var(--tint);color:var(--accent);display:grid;place-items:center;font-weight:600}.app-column{flex:1;min-width:0}.topbar{height:72px;border-bottom:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--surface);position:relative;z-index:5;font-size:var(--font-size-body)}.topbar strong{font-weight:500}.crumb-divider{color:var(--muted);margin:0 6px}.top-actions{gap:6px}.prototype-note{font-size:var(--font-size-secondary);color:var(--muted);padding-right:15px}.icon-btn{width:36px;height:36px;border-radius:8px;display:inline-grid;place-items:center;background:transparent;border:0;color:var(--muted)}.icon-btn:hover{background:var(--soft);color:var(--text)}.page-main{padding:38px 40px 48px;max-width:var(--measure);margin:0 auto}.page-wide{padding:30px 28px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px}.page-heading p{margin-top:9px;color:var(--muted)}.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;min-height:42px;padding:9px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:500;white-space:nowrap}.btn:hover{background:var(--soft);border-color:var(--muted)}.btn.primary{min-height:44px;background:var(--accent);color:var(--surface);border-color:var(--accent)}.btn.primary:hover{background:var(--accent-hover)}.btn.subtle{border-color:transparent;background:transparent;color:var(--accent)}.btn.danger{color:var(--danger)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;font-size:var(--font-size-secondary);line-height:20px;border-radius:5px;white-space:nowrap;background:var(--tint);color:var(--accent);border:1px solid color-mix(in srgb,currentColor 35%,transparent)}.badge.neutral{background:var(--soft);color:var(--muted)}.badge.warning{background:color-mix(in srgb,var(--warning) 18%,var(--surface));color:var(--warning)}.badge.danger{background:color-mix(in srgb,var(--danger) 18%,var(--surface));color:var(--danger)}.ds-root input:not([type=checkbox]):not([type=radio]),.ds-root select,.ds-root textarea{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:8px;min-height:44px;padding:10px 12px;width:100%;outline-offset:1px}.ds-root input[type=checkbox],.ds-root input[type=radio]{accent-color:var(--accent);width:16px;height:16px;cursor:pointer}.field{display:grid;gap:8px;margin-bottom:18px}.field label{font-size:var(--font-size-body);font-weight:500}.field-error{color:var(--danger);font-size:var(--font-size-secondary)}.field-help{font-size:var(--font-size-secondary);color:var(--muted)}.input-icon{position:relative}.input-icon>svg{position:absolute;top:14px;left:14px;color:var(--muted)}.input-icon input{padding-left:43px!important}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line)}.tabs button{background:none;color:var(--muted);border:0;border-bottom:2px solid transparent;padding:14px 2px;font-weight:500;white-space:nowrap}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.ds-dialog{padding:0;border:1px solid var(--line);border-radius:16px;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 48px);color:var(--text);background:var(--surface);box-shadow:var(--shadow);margin:auto}.ds-dialog.wide{width:min(780px,calc(100% - 32px))}.ds-dialog::backdrop{background:var(--dialog-backdrop);}.dialog-inner{padding:28px}.dialog-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.dialog-inner>p{margin-bottom:16px}.empty{padding:55px 22px;display:grid;justify-items:center;gap:13px;text-align:center;color:var(--muted)}.empty h3{color:var(--text)}.link-list{display:grid}.link-list a{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}.link-list a:hover{color:var(--accent)}.space-row{display:flex;align-items:center;gap:15px;border:1px solid var(--line);padding:18px;border-radius:10px}.space-row .badge{margin-left:auto}.skeleton{padding:30px;display:grid;gap:22px}.skeleton i{height:34px;border-radius:6px;background:var(--soft)}.skeleton i:last-child{width:65%}.notice{padding:13px 16px;border:1px solid var(--line);border-radius:8px;background:var(--soft);font-size:var(--font-size-secondary);color:var(--muted)}.skip-link{position:fixed;top:12px;left:230px;transform:translateY(-160px);background:var(--accent);color:var(--surface)!important;padding:12px 18px;z-index:30}.skip-link:focus{transform:none}.mobile-menu{display:none}.ds-root[data-theme=dark] .brand img{background:#fafcfa;border-radius:4px;padding:2px}.ds-root .data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:var(--font-size-body);font-weight:500;color:var(--muted);padding:14px 18px;background:var(--soft)}.data-table td{padding:18px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--soft)}
@media(max-width:1100px){.sidebar{width:184px;padding-inline:12px}.page-main{padding:30px 26px}.topbar{padding:0 26px}.prototype-note{display:none}}
@media(max-width:767px){.sidebar{display:none;position:fixed;top:72px;left:0;height:calc(100dvh - 72px);min-height:0;width:230px;box-shadow:var(--shadow)}.sidebar.mobile-open{display:flex}.mobile-menu{display:inline-grid}.topbar{padding:0 16px;height:64px}.top-actions .icon-btn:first-of-type{display:none}.page-main,.page-wide{padding:28px 16px}.page-heading{align-items:flex-start;flex-direction:column;gap:18px}.ds-root h1{font-size:26px}.dialog-inner{padding:22px}.ds-dialog{max-height:calc(100dvh - 24px)}.data-table th,.data-table td{padding:13px 10px}.topbar .row{gap:6px}.skip-link{left:12px}.sidebar .brand{display:none}}
@media(prefers-reduced-motion:reduce){.ds-root *, .ds-root *::before,.ds-root *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Vanilla multi-page host bridge. Shared geometry is unchanged from the canvas. */
html{margin:0;min-height:100%;background:#f5f7f6}body.ds-root{display:block;margin:0;padding:72px 0 0 212px;min-width:0}
.ds-root .app-rail{flex-direction:column}.ds-root .app-rail nav{display:grid;gap:5px}.ds-root .app-rail .nav-link{flex-shrink:0}.ds-root .app-rail .brand{flex-shrink:0}.ds-root .app-rail .workspace-switch{flex-shrink:0}.ds-root .app-rail .sidebar-foot{margin-top:auto;padding-top:24px}
.ds-root .header-context>.shell-workspace-name,.ds-root .header-context>.crumb-divider{display:inline;width:auto;height:auto;background:none;white-space:nowrap;flex-shrink:0}.ds-root .header-context>.shell-workspace-name{max-width:240px;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.ds-root .header-context>.crumb-divider{color:var(--muted);margin:0 6px}
.ds-root .app-rail .shell-account-profile{width:100%;display:flex;align-items:center;gap:10px;border:0;border-top:1px solid var(--line);border-radius:0;padding:18px 6px 2px;background:none;color:var(--text);margin:0}.ds-root .shell-account-profile .kb-account__avatar{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;background:var(--tint);color:var(--accent)}.ds-root .shell-account-profile .kb-account__copy{display:grid;min-width:0;gap:2px}.ds-root .shell-account-profile .kb-account__copy strong{font-size:var(--font-size-body);font-weight:500}.ds-root .shell-account-profile .kb-account__copy small{font-size:var(--font-size-secondary);color:var(--muted);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-root .shell-account-profile button{color:var(--muted);padding:4px;background:none;border:0;border-radius:6px;width:28px;height:32px;flex-shrink:0}.ds-root .shell-account-profile button:hover{background:var(--soft)}
.ds-root [hidden]{display:none!important}.ds-root .app-rail{position:fixed;inset:0 auto 0 0;width:212px;height:100dvh;min-height:0;padding:28px 16px 16px;display:flex;align-items:stretch;gap:0;overflow:auto;border-right:1px solid var(--line);background:var(--surface);z-index:20}
.ds-root .workline-header{position:fixed;inset:0 0 auto 212px;height:72px;min-height:72px;margin:0;padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:none;z-index:15;color:var(--text)}
.ds-root .header-context{display:flex;align-items:center;gap:14px;min-width:0;font-size:var(--font-size-body)}.ds-root .header-context strong{font-size:var(--font-size-body);font-weight:500}.ds-root .header-context p{font-size:var(--font-size-body);color:var(--muted)}.ds-root .header-actions{display:flex;align-items:center;gap:6px;margin:0}.ds-root .header-icon{display:inline-grid;place-items:center;width:36px;height:36px;min-height:36px;background:transparent;color:var(--muted);border:0;border-radius:8px;padding:8px}.ds-root .header-icon:hover{background:var(--soft)}.ds-root .header-icon svg{width:20px;height:20px}
.ds-root .shell-legacy-controls{display:none!important}.ds-root .sidebar-foot .account-menu{position:relative;width:100%;border-top:1px solid var(--line);padding-top:16px}.ds-root .sidebar-foot .account-trigger{display:flex;align-items:center;width:100%;gap:10px;padding:2px 6px;background:none;border:0;color:var(--text);text-align:left}.ds-root .account-copy{display:grid;min-width:0;gap:2px}.ds-root .account-copy strong{font-size:var(--font-size-body);font-weight:500;white-space:normal}.ds-root .account-copy small{font-size:var(--font-size-secondary);color:var(--muted);max-width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-root .account-avatar{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;background:var(--tint);color:var(--accent)}.ds-root .account-popover{position:absolute;bottom:calc(100% + 12px);top:auto;left:0;right:auto;min-width:245px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:8px;z-index:30}.ds-root .account-popover a,.ds-root .account-popover button{color:var(--text);background:none;border:0;display:flex;align-items:center;gap:10px;padding:10px 12px;width:100%;text-align:left}.ds-root .account-popover a:hover,.ds-root .account-popover button:hover{background:var(--soft)}.ds-root .account-popover__identity{padding:12px;display:grid;gap:5px}.ds-root .account-popover__identity span{color:var(--muted);font-size:var(--font-size-secondary)}
.ds-root .shell-profile{cursor:default}.ds-root .shell-profile .profile-copy{overflow:hidden}.ds-root .shell-profile strong{display:block;font-size:var(--font-size-body);font-weight:500}.ds-root .shell-profile small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-root .shell-scope-dialog p{margin-bottom:14px}.ds-root .shell-scope-list{display:grid;gap:10px}.ds-root .shell-scope-list>div{padding:14px;background:var(--soft);border-radius:8px}.ds-root .shell-nav-toggle{display:none}
.ds-root .sidebar-foot .account-popover{position:fixed;left:16px;right:auto;bottom:80px;top:auto;width:245px;min-width:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 100px);overflow-y:auto}
.ds-root .portal-main,.ds-root .members-main{margin:0 auto;width:100%;max-width:var(--measure);padding:38px 40px 48px}
.ds-root .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){body.ds-root{padding-left:184px}.ds-root .app-rail{width:184px;padding-inline:12px}.ds-root .workline-header{left:184px;padding-inline:26px}.ds-root .portal-main,.ds-root .members-main{padding:30px 26px}}
@media(max-width:767px){body.ds-root{padding:64px 0 0}.ds-root .app-rail{display:none;top:64px;width:230px;height:calc(100dvh - 64px);padding:20px 16px 16px;box-shadow:var(--shadow)}.ds-root .app-rail.mobile-open{display:flex}.ds-root .app-rail .brand{display:none}.ds-root .workspace-switch{margin:0 0 22px}.ds-root .workline-header{left:0;height:64px;min-height:64px;padding-inline:16px}.ds-root .header-context{gap:8px}.ds-root .shell-nav-toggle{display:inline-grid;flex-shrink:0}.ds-root .portal-main,.ds-root .members-main{padding:28px 16px}.ds-root .header-context>strong{font-size:var(--font-size-secondary)}.ds-root .header-context>p{font-size:var(--font-size-secondary)}.ds-root input:not([type=checkbox]):not([type=radio]),.ds-root select,.ds-root textarea{font-size:16px}}
@media(prefers-contrast:more){.ds-root{--line:currentColor}.ds-root .muted{color:var(--text)}}
@media(forced-colors:active){.ds-root{--bg:Canvas;--surface:Canvas;--raised:Canvas;--text:CanvasText;--muted:CanvasText;--line:CanvasText;--accent:LinkText;--accent-hover:LinkText;--tint:Canvas;--soft:Canvas}.ds-root button,.ds-root a{forced-color-adjust:auto}.ds-root .nav-link.active{outline:2px solid Highlight}}
/* One shared app shell, evolved from the approved redesign, not a parallel shell. */
body.ds-root:not(.auth-root){padding-top:48px}
body.ds-root .workline-header{height:48px;min-height:48px;padding-inline:28px}
body.ds-root .header-context>strong{font-size:var(--font-size-body)}
body.ds-root .app-rail .brand{margin:0 8px 30px;gap:10px}
body.ds-root .shell-brand-mark{display:block;width:52px;height:44px;overflow:hidden}
body.ds-root .shell-brand-mark img{display:block;width:112px!important;min-width:112px;height:44px!important;max-width:none!important;background:none;padding:0}
body.ds-root .brand>span:last-child{font-size:var(--font-size-secondary)}
body.ds-root .app-rail .nav-link svg,body.ds-root .shell-bottom-nav svg{width:20px;height:20px;flex-shrink:0}
body.ds-root .app-rail .nav-link{font-size:var(--font-size-body)}
body.ds-root .scope-info{font-size:var(--font-size-secondary)}
body.ds-root .app-rail{overflow-y:auto;overscroll-behavior:contain}
body.ds-root .app-rail>nav,body.ds-root .shell-agents{flex-shrink:0}
body.ds-root .shell-route-label{min-width:0;overflow-wrap:anywhere}
body.ds-root .shell-agents{padding-top:16px;margin-top:16px;border-top:1px solid var(--line)}
body.ds-root .shell-agents-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px 6px;gap:8px}
body.ds-root .shell-agents-heading h2{font-size:var(--font-size-secondary);font-weight:600;color:var(--muted)}
body.ds-root .shell-agents-heading .icon-btn{width:32px;height:32px;min-height:32px}
body.ds-root .shell-agent-list{display:grid;gap:4px}
body.ds-root .shell-agents-note{font-size:var(--font-size-secondary);color:var(--muted);padding:8px;line-height:1.6}
body.ds-root .shell-agents-note:empty{display:none}
body.ds-root .shell-account{position:relative}
body.ds-root .shell-account-trigger{display:flex;align-items:center;gap:8px;min-height:36px;max-width:260px;padding:6px 10px;border:0;background:none;color:var(--text);border-radius:8px}
body.ds-root .shell-account-trigger .shell-user-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-size-body)}
body.ds-root .shell-account-trigger svg{width:20px;height:20px;flex-shrink:0}
body.ds-root .shell-account-panel{position:absolute;right:0;top:calc(100% + 8px);width:300px;max-width:calc(100vw - 32px);padding:12px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:35}
body.ds-root .shell-account-panel button{display:block;width:100%;padding:10px 12px;min-height:40px;background:none;border:0;text-align:left;color:var(--text);font-size:var(--font-size-body);border-radius:6px}
body.ds-root .shell-account-panel button:hover{background:var(--soft)}
body.ds-root .shell-account-identity{padding:8px 12px 14px;border-bottom:1px solid var(--line);margin-bottom:8px;overflow-wrap:anywhere}
body.ds-root .shell-user-meta,body.ds-root .shell-feedback{font-size:var(--font-size-secondary);color:var(--muted);line-height:1.6}
body.ds-root .shell-feedback:empty{display:none}
body.ds-root .shell-feedback{padding:8px 12px}
body.ds-root .shell-password-form{display:grid;gap:10px;font-size:var(--font-size-body)}
body.ds-root .shell-password-form p{font-size:var(--font-size-body)}
body.ds-root .shell-password-form>button{margin-top:8px}
body.ds-root .shell-dialog .dialog-title h2{font-size:20px;letter-spacing:0}
body.ds-root .shell-bottom-nav{display:none}
body.ds-root .portal-main,body.ds-root .members-main{max-width:var(--measure)}
@media(max-width:767px){
 body.ds-root:not(.auth-root){padding:56px 0 80px}
 body.ds-root .workline-header{height:56px;min-height:56px;padding-inline:16px}
 body.ds-root .shell-account-trigger{width:44px;max-width:44px;height:44px;padding:12px}
 body.ds-root .shell-account-trigger .shell-user-name,body.ds-root .shell-account-trigger svg:last-child{display:none}
 body.ds-root .shell-bottom-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;inset:auto 0 0;background:var(--surface);border-top:1px solid var(--line);padding:6px 8px max(6px,env(safe-area-inset-bottom));z-index:25}
 body.ds-root .shell-bottom-nav>a,body.ds-root .shell-bottom-nav>button{display:grid;gap:4px;justify-items:center;align-content:center;min-height:52px;background:none;border:0;border-radius:8px;color:var(--muted);font-size:var(--font-size-body)}
 body.ds-root .shell-bottom-nav .active{background:var(--tint);color:var(--accent);font-weight:600}
 body.ds-root .app-rail{top:56px;height:calc(100dvh - 126px);bottom:70px;max-height:calc(100dvh - 126px)}
 body.ds-root .header-context>strong{font-size:var(--font-size-body)}
}
body.ds-root .audit-main{max-width:var(--measure)}
body.ds-root .audit-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px;margin:20px 0}
body.ds-root .audit-filters .field{margin:0}
body.ds-root .audit-filters>.btn{align-self:end;min-height:44px}
body.ds-root .audit-table-wrap{overflow:hidden}
body.ds-root .audit-table-wrap table{table-layout:fixed}
body.ds-root .audit-table-wrap td{font-size:var(--font-size-body);overflow-wrap:anywhere}
body.ds-root .audit-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:18px;font-size:var(--font-size-body)}
body.ds-root .audit-pagination>span{margin-right:auto}
@media(max-width:767px){body.ds-root .audit-filters{grid-template-columns:1fr}.ds-root .audit-table-wrap thead{display:none}.ds-root .audit-table-wrap tbody{display:grid}.ds-root .audit-table-wrap tr{display:grid;padding:16px;border-bottom:1px solid var(--line);gap:12px}.ds-root .audit-table-wrap td{display:block;padding:0;border:0}.ds-root .audit-table-wrap td::before{display:block;content:attr(data-label);font-size:var(--font-size-secondary);color:var(--muted)}}

/* F1: shared controls and readable labels retain the approved shell geometry. */

body.ds-root :where(button,label,th,nav a){font-weight:500}
body.ds-root :where(label,th){color:var(--text-body)}
body.ds-root :where(h1,h2,h3){font-weight:600}
body.ds-root .field label{font-size:var(--font-size-body);color:var(--text-body)}
body.ds-root .page-heading p,body.ds-root .empty,body.ds-root .notice{color:var(--text-body)}
body.ds-root .icon-btn,body.ds-root .header-icon{width:40px;height:40px;min-height:40px}
body.ds-root .shell-bottom-nav>a,body.ds-root .shell-bottom-nav>button{font-weight:500;color:var(--text-body)}
body.ds-root .shell-bottom-nav .active{color:var(--accent)}
body.ds-root .shell-agents-heading h2{font-size:var(--font-size-body);color:var(--text-strong)}
body.ds-root .audit-table-wrap td{font-size:var(--font-size-body);color:var(--text-body)}
@media(pointer:coarse){body.ds-root :where(button,.btn,.nav-link,input:not([type=checkbox]):not([type=radio]),select){min-height:44px}body.ds-root .icon-btn,body.ds-root .header-icon{width:44px;height:44px}}

body.ds-root .icon-btn,body.ds-root .header-icon{min-width:40px;min-height:40px}
body.ds-root .shell-account-trigger{min-height:40px}
@media(pointer:coarse){body.ds-root .icon-btn,body.ds-root .header-icon{min-width:44px;min-height:44px}body.ds-root .shell-account-trigger{min-height:44px}}

/* Supporting copy does not inherit the weight of its control or label. */
body.ds-root :is(label small,label em,.field-help,button small){font-weight:400}
body.ds-root :is(b,strong){font-weight:600}
/* Legacy and hidden controls share the same weight roles as the active shell. */
body.ds-root :is(.skip-link,.workspace-item,.rail-link,.field>span,.permission-panel a){font-weight:500}
body.ds-root :is(.account-avatar,.kb-account__avatar,.library-error>span){font-weight:600}
body.ds-root .field-error{font-weight:400}
body.ds-root .member-table-wrap td::before{font-weight:500}
body.ds-root .btn.primary{min-height:44px}

/* Keep icon strokes on the pixel grid when a 24px viewBox is displayed smaller. */
body.ds-root svg :is(path,line,polyline,rect,circle,ellipse,polygon){vector-effect:non-scaling-stroke}

/* Default Lucide geometry; page-specific compact icons may use 12/16/24px. */
:where(body.ds-root) svg.lucide{width:20px;height:20px}
body.ds-root .shell-agents-heading .icon-btn{width:40px;height:40px;min-width:40px;min-height:40px}
@media(pointer:coarse){body.ds-root .shell-agents-heading .icon-btn{width:44px;height:44px;min-width:44px;min-height:44px}}

@media(pointer:coarse){body.ds-root .shell-account-panel button{min-height:44px}}
