/* Shared direct width action and a distinct module menu; no action replaces another. */
:is(#m3-glass, .m3-chart-host) .m3-box-menu { position:absolute;right:44px;top:12px;z-index:2;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;border-radius:7px;background:transparent;color:var(--f-local-muted,var(--m3-chart-label,#74716f));font-size:20px;line-height:1;font-family:inherit;cursor:pointer; }
:is(#m3-glass, .m3-chart-host) .m3-box-menu:hover { background:var(--f-local-hover,var(--m3-chart-control,#eeecea)); }
:is(#m3-glass, .m3-chart-host) [data-board-width] > :is(.m3-box-head,.f-example-heading) { padding-right:var(--f-space-40,40px); }
:is(#m3-glass, .m3-chart-host) .m3-box-menu:focus-visible { outline:2px solid var(--f-local-ink,var(--m3-chart-focus));outline-offset:3px; }

/* Reference action: one fine diagonal arrow on a pale circle, no frame-corner glyph. */
:is(#m3-glass, .m3-chart-host) [data-board-width] > .m3-box-size { width:28px;height:28px;border:0;border-radius:50%;box-shadow:none;background:color-mix(in srgb,var(--m3-size-tint,#000) 3%,var(--f-box-bg,var(--f-card,#fff)));color:var(--f-box-ink,var(--f-card-ink,#29292c)); }
:is(#m3-glass, .m3-chart-host) [data-board-width] > .m3-box-size svg { width:16px;height:16px;stroke-width:1.4; }
:is(#m3-glass, .m3-chart-host) [data-board-width] > .m3-box-size:hover { background:color-mix(in srgb,var(--m3-size-tint,#000) 7%,var(--f-box-bg,var(--f-card,#fff))); }

/* Registered composed cards consume their real shared padding scope. */
#m3-glass :is(.m3-variant,.m3-chart-module)[data-m3-padding-scope] { padding:var(--f-example-padding-y,var(--m3-box-padding-y,20px)) var(--f-example-padding-x,var(--m3-box-padding-x,20px));--m3-card-body-top:var(--f-example-padding-y,var(--m3-box-padding-y,20px)); }
#m3-glass .m3-chart-module[data-board-card] { background:var(--f-preview-color,var(--f-card));color:var(--f-card-ink);border-color:var(--f-card-line); }

/* Shared circular toolbar actions consume standard button feedback and focus states. */
#m3-glass .m3-tools .f-button.f-icon{min-width:var(--f-control-height,34px);width:var(--f-control-height,34px);height:var(--f-control-height,34px);border-radius:50%;padding:var(--f-space-4,4px)}
#m3-glass .m3-tools .f-button.f-icon svg{width:16px;height:16px;flex:none}

/* Shared icon content and compact reset size; feedback remains the standard f-button contract. */
:is(#m3-glass,:root) .f-button.f-icon svg{width:16px;height:16px;flex:none}
:is(#m3-glass,:root) .f-button.f-icon.f-icon-compact{min-width:var(--f-control-compact-height,24px);min-height:var(--f-control-compact-height,24px);width:var(--f-control-compact-height,24px);height:var(--f-control-compact-height,24px);padding:3px}
:is(#m3-glass,:root) .f-button.f-icon.f-icon-compact svg{width:14px;height:14px}

/* Native selects share Foundation surfaces and interaction states; native arrows/keyboard remain. */
:is(#m3-glass,[data-m3-theme]) select{min-width:0;max-width:100%;min-height:var(--f-control-height,34px);padding:var(--f-control-padding-y,6px) var(--f-control-padding-x,10px);border:1px solid var(--f-field-control-line);border-radius:var(--f-ui-radius);background:var(--f-field);color:var(--f-field-ink);font:inherit;cursor:pointer;transition:background-color 150ms ease,border-color 150ms ease}
:is(#m3-glass,[data-m3-theme]) select:not(:disabled):hover{background:var(--f-field-hover)}
:is(#m3-glass,[data-m3-theme]) select:focus-visible{outline:2px solid var(--f-local-ink,var(--f-content-ink));outline-offset:3px}
:is(#m3-glass,[data-m3-theme]) select:disabled{opacity:.5;cursor:default}
[data-m3-theme=light] select{color-scheme:light}
[data-m3-theme=dark] select{color-scheme:dark}
@media(prefers-reduced-motion:reduce){:is(#m3-glass,[data-m3-theme]) select{transition:none}}

/* Global and module searches use the same native input container and leading icon. */
:is(#m3-glass,[data-m3-theme]) .m3-search.f-search{display:flex;align-items:center;gap:var(--f-control-gap,8px);min-width:0;width:100%;max-width:390px;padding:var(--f-space-10,10px) var(--f-space-14,14px);border:0;border-radius:22px;background:var(--f-field);color:var(--f-field-ink)}
:is(#m3-glass,[data-m3-theme]) .f-search>[data-m3-search-icon]{width:16px;height:16px;flex:none;color:var(--f-field-muted)}
:is(#m3-glass,[data-m3-theme]) .f-search>.f-input{width:100%;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;outline:none}
:is(#m3-glass,[data-m3-theme]) .f-search:focus-within{outline:2px solid var(--f-local-ink,var(--f-content-ink));outline-offset:3px}
:is(#m3-glass,[data-m3-theme]) .f-button.f-action{border-radius:20px}

/* Shared accent icon action; white glyph on the selected accent in both themes. */
:is(#m3-glass,[data-m3-theme]) .f-button.f-icon.f-primary{background:var(--f-accent-action,#df641b);color:#fff;border-color:transparent;border-radius:50%}
:is(#m3-glass,[data-m3-theme]) .f-button.f-icon.f-primary:not(:disabled):hover{background:var(--f-accent-action,#df641b);filter:brightness(.95)}
:is(#m3-glass,.m3-chart-host) [data-board-width] > .m3-box-size{transition:background-color 150ms ease,color 150ms ease;cursor:pointer}
:is(#m3-glass,.m3-chart-host) [data-board-width] > .m3-box-size:focus-visible{outline:2px solid var(--f-box-ink,var(--f-local-ink,var(--f-accent)));outline-offset:3px}
:is(#m3-glass,.m3-chart-host) [data-board-width] > .m3-box-size:active{transform:translateY(1px)}
@media(prefers-reduced-motion:reduce){:is(#m3-glass,.m3-chart-host) [data-board-width] > .m3-box-size{transition:none;transform:none}}

/* Pointer reorder keeps native click selection, while only the handle owns touch dragging. */
:is(#m3-glass,.m3-chart-host) .m3-card-header .m3-card-topic-icon.m3-drag-handle{touch-action:none;-webkit-user-drag:none;user-select:none}
[data-m3-board-placeholder]{pointer-events:none;align-self:start}
[data-m3-board-ghost],[data-m3-board-ghost] *{pointer-events:none!important}

/* Every factory-created icon action shares one circle, including Inspector and Gallery. */
:is(#m3-glass,[data-m3-theme]) .f-button[data-m3-control=icon]:not(.m3-drag-handle):not(.m3-box-size){width:var(--f-control-height,34px);height:var(--f-control-height,34px);min-width:var(--f-control-height,34px);min-height:var(--f-control-height,34px);border-radius:50%;padding:var(--f-space-4,4px)}
:is(#m3-glass,[data-m3-theme]) .f-button[data-m3-control=icon]:not(.m3-drag-handle):not(.m3-box-size).f-icon-compact{width:var(--f-control-compact-height,24px);height:var(--f-control-compact-height,24px);min-width:var(--f-control-compact-height,24px);min-height:var(--f-control-compact-height,24px);padding:3px}

/* Subtle size-action surfaces follow theme direction over the actual composited card. */
[data-m3-theme=light]{--m3-size-tint:#000}
[data-m3-theme=dark]{--m3-size-tint:#fff}

/* Shared pointer-DnD replaces the cursor; all cleanup paths remove the body marker. */
body[data-m3-drag-active],body[data-m3-drag-active] *{cursor:none!important}
[data-m3-sortable-handle]{touch-action:none;-webkit-user-drag:none;user-select:none}

/* Shared list/tree/grid selector. Only the selected surface moves; layout stays stable. */
:is(#m3-glass,[data-m3-theme]) .m3-view-switch{position:relative;display:grid;grid-template-columns:repeat(var(--m3-view-count),minmax(0,1fr));gap:0;padding:3px;border-radius:22px;background:var(--f-field-hover);isolation:isolate}
:is(#m3-glass,[data-m3-theme]) .m3-view-switch-indicator{position:absolute;left:3px;top:3px;bottom:3px;width:calc((100% - 6px)/var(--m3-view-count));border-radius:19px;background:var(--f-field);box-shadow:0 1px 3px #0001;transform:translateX(calc(var(--m3-view-index)*100%));transition:transform 180ms cubic-bezier(.2,.7,.2,1);z-index:-1;pointer-events:none}
:is(#m3-glass,[data-m3-theme]) .f-button.m3-view-switch-option{min-width:0;gap:var(--f-space-6,6px);background:transparent;border-color:transparent;border-radius:19px;color:var(--f-field-muted);font-size:12px}
:is(#m3-glass,[data-m3-theme]) .f-button.m3-view-switch-option[aria-pressed=true]{color:var(--f-field-ink)}
:is(#m3-glass,[data-m3-theme]) .m3-view-switch-option svg{width:16px;height:16px;flex:none}
@media(prefers-reduced-motion:reduce){:is(#m3-glass,[data-m3-theme]) .m3-view-switch-indicator{transition:none}}

/* Shared understated controls keep their target size and explicit keyboard feedback. */
:is(#m3-glass,[data-m3-theme]) .f-button:not(.f-primary){border-color:color-mix(in srgb,var(--f-local-control-line,var(--f-field-control-line,#777)) 55%,transparent)}
:is(#m3-glass,[data-m3-theme]) .f-button.f-icon.f-icon-ghost{background:transparent;border-color:transparent;color:var(--f-local-muted,var(--f-field-muted,#74716f));box-shadow:none}
:is(#m3-glass,[data-m3-theme]) .f-button.f-icon.f-icon-ghost:not(:disabled):hover{background:var(--f-local-hover,var(--f-field-hover,#eeecea));color:var(--f-surface-tool-ink,var(--f-local-ink,var(--f-field-ink,#29292c)))}
:is(#m3-glass,[data-m3-theme]) .f-button.f-icon.f-icon-ghost:not(:disabled):active{background:var(--f-local-hover,var(--f-field-hover,#eeecea));transform:translateY(1px)}
:is(#m3-glass,[data-m3-theme]) .f-button.f-icon.f-icon-ghost:focus-visible{outline:2px solid var(--f-local-ink,var(--f-field-ink,#29292c));outline-offset:3px}
:is(#m3-glass,[data-m3-theme]) .f-button.f-icon.f-icon-ghost:disabled{opacity:.45;cursor:default}
:is(#m3-glass,[data-m3-theme]) .f-button.f-icon[data-icon=reset] svg{width:13px;height:13px;margin:auto}
.m3-status-action{display:flex;align-items:center;gap:var(--f-control-gap,8px);position:relative}
.m3-status-action-label{font-size:12px}
.m3-status-action-message{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:is(#m3-glass,[data-m3-theme]) .m3-status-action .f-primary:disabled{background:var(--f-field-hover,#e6e4e2);color:var(--f-field-muted,#74716f);opacity:1;cursor:default}
:is(#m3-glass,[data-m3-theme]) .m3-status-action .f-primary[data-state=busy]{background:var(--f-accent-action,#df641b);color:#fff}
.m3-status-action [data-state=busy] svg{animation:m3-action-spin 850ms linear infinite}
@keyframes m3-action-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.m3-status-action [data-state=busy] svg{animation:none}:is(#m3-glass,[data-m3-theme]) .f-button.f-icon.f-icon-ghost:active{transform:none}}

/* A view selector is one shared surface; options never inherit separate button borders. */
:is(#m3-glass[data-m3-theme],[data-m3-theme]) .m3-view-switch .f-button.m3-view-switch-option{border:0;border-radius:var(--f-ui-radius);background:transparent;box-shadow:none;color:var(--f-field-muted)}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) .m3-view-switch .f-button.m3-view-switch-option:is([aria-pressed=true],:hover,:focus-visible){background:transparent;color:var(--f-field-ink)}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) .m3-view-switch-icons .f-button.m3-view-switch-option{width:var(--f-control-height,34px);min-width:var(--f-control-height,34px);height:var(--f-control-height,34px);padding:var(--f-space-4,4px)}

/* Shared create action, file table and upload target for content browsers. */
:is(#m3-glass[data-m3-theme],[data-m3-theme]) .f-button.f-action-create{padding:0 var(--f-space-8,8px) 0 0;border:0;background:transparent;gap:var(--f-control-gap,8px);font-weight:550}
.f-action-glyph{display:inline-flex;align-items:center;justify-content:center;flex:none}
.f-action-glyph svg{width:16px;height:16px}
.f-action-create .f-action-glyph{width:var(--f-control-height,34px);height:var(--f-control-height,34px);border-radius:50%;background:var(--f-accent-action,var(--f-accent));color:#fff}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) .f-table.f-table-browser{border-spacing:0;table-layout:fixed}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) .f-table.f-table-browser :is(th,td){padding:var(--f-space-8,8px) var(--f-space-10,10px);vertical-align:middle}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) .f-table.f-table-browser .f-choice{min-height:var(--f-control-height,34px)}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) .f-table.f-table-browser .f-column-handle::after{opacity:0;transition:opacity 140ms ease}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) .f-table.f-table-browser .f-resizable-heading:hover .f-column-handle::after,
:is(#m3-glass[data-m3-theme],[data-m3-theme]) .f-table.f-table-browser .f-column-handle:focus-visible::after{opacity:1}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) .f-badge.f-badge-expiry{display:inline-flex;align-items:center;gap:var(--f-space-4,4px);padding:var(--f-space-2,2px) var(--f-space-8,8px);border-radius:var(--f-control-height,34px);background:var(--f-accent-action,var(--f-accent));color:#fff;font-size:var(--f-type-caption-size,11px);font-weight:600;white-space:nowrap;flex:none}
.f-badge-expiry svg{width:12px;height:12px}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) .f-button.f-upload-dropzone{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--f-space-8,8px);width:100%;min-height:calc(var(--f-control-height,34px)*5);padding:var(--f-panel-padding,20px);border:2px dashed var(--f-field-line,var(--f-field-control-line));border-radius:var(--f-ui-radius,12px);background:transparent;text-align:center;white-space:normal;color:var(--f-field-ink)}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) .f-button.f-upload-dropzone>svg{width:44px;height:44px;margin-bottom:var(--f-space-8,8px)}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) .f-button.f-upload-dropzone:not(:disabled):hover{background:var(--f-field-hover);border-color:var(--f-accent-action,var(--f-accent))}

/* One modal treatment across native workspaces and adopted ContentHub previews. */
@keyframes m3-modal-enter{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@keyframes m3-modal-backdrop-enter{from{background:rgba(20,24,28,0);backdrop-filter:blur(0)}to{background:rgba(20,24,28,.42);backdrop-filter:blur(3px)}}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal{border:0!important;border-radius:20px!important;box-shadow:0 18px 70px #0003!important}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal[open]{animation:m3-modal-enter 180ms cubic-bezier(.2,.7,.2,1)!important}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal::backdrop{background:rgba(20,24,28,.42)!important;backdrop-filter:blur(3px)!important;-webkit-backdrop-filter:blur(3px)!important;animation:m3-modal-backdrop-enter 180ms ease-out}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal :is(.f-modal-heading,.dialog-heading){padding-right:30px;margin-bottom:20px}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal :is(.f-modal-heading,.dialog-heading)>h2{font-size:var(--f-modal-title-size,22px)!important;line-height:1.25;margin:0}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal :is(.f-modal-heading,.dialog-heading)>button{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:30px;min-width:30px;height:30px;min-height:30px;padding:5px!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;outline:none!important;color:var(--f-modal-ink,inherit);font-size:20px;line-height:1}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal :is(.f-modal-heading,.dialog-heading)>button:is(:hover,:focus-visible){background:var(--f-modal-hover,rgba(128,128,128,.08))!important;border:0!important;outline:none!important;box-shadow:none!important}
@media(prefers-reduced-motion:reduce){:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal[open],:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal::backdrop{animation:none!important}}

/* Shared compact tabs; panel height is animated by modalTabs. */
.f-modal-tabs{display:flex;gap:4px;flex-wrap:wrap;padding:4px;margin:0 0 18px;border-radius:10px;background:color-mix(in srgb,var(--f-content-ink,#29292c) 5%,transparent)}
.f-modal-tabs>[role=tab]{flex:1;min-width:max-content;padding:8px 12px!important;border:0!important;border-radius:7px!important;background:transparent!important;box-shadow:none!important;font-size:12px!important;line-height:1.4!important;color:var(--f-content-muted,#777)!important}
.f-modal-tabs>[role=tab][aria-selected=true]{background:var(--f-field-bg,#fff)!important;color:var(--f-content-ink,#29292c)!important;font-weight:600}
.f-modal-tabs>[role=tab]:not([aria-selected=true]):hover{background:color-mix(in srgb,var(--f-content-ink,#29292c) 7%,transparent)!important;color:var(--f-content-ink,#29292c)!important}
.f-modal-tab-content>[hidden]{display:none!important}
body.meta3-workspace dialog.account-modal{box-sizing:border-box;width:min(720px,calc(100vw - 48px));max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px);padding:24px;overflow:auto;border:0;border-radius:22px;background:var(--f-modal-bg,#fafafa);color:var(--f-content-ink,#29292c)}
body.meta3-workspace dialog.account-modal #account-page{position:static;display:block;max-width:none;width:auto;margin:0;padding:0;overflow:visible;background:transparent}
body.meta3-workspace dialog.account-modal .account-page-heading{display:none}
body.meta3-workspace dialog.account-modal .account-card{margin:0 0 12px;padding:18px;border:0;border-radius:14px;background:var(--f-card,#f1f0ef)}
body.meta3-workspace dialog.account-modal .account-card:last-child{margin-bottom:0}
body.meta3-workspace dialog.account-modal .account-modal-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px;padding-right:30px}
body.meta3-workspace dialog.account-modal .account-modal-heading h2{margin:0;font-size:22px!important;line-height:1.25!important;font-weight:600}
body.meta3-workspace dialog.account-modal .account-modal-close{position:absolute;right:10px;top:10px;width:32px;height:32px;padding:0;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;border-radius:50%;font-size:22px;color:var(--f-content-muted,#777)}
body.meta3-workspace dialog.account-modal .account-modal-close:hover{background:color-mix(in srgb,var(--f-content-ink,#29292c) 7%,transparent)!important}

/* Shared action feedback: compact, dimensional cards, white on brand orange. */
.f-notification-stack{position:fixed;right:24px;bottom:24px;width:min(340px,calc(100vw - 32px));z-index:20000;pointer-events:none;perspective:900px}
.f-notification{position:absolute;bottom:0;left:0;box-sizing:border-box;width:100%;min-height:100px;padding:18px 42px 16px 18px;border-radius:16px;background:var(--f-accent,#ff741b);color:#fff;box-shadow:0 12px 32px #44200c35,0 2px 6px #44200c15;transform:translateY(calc(var(--notice-depth)*-14px)) translateZ(calc(var(--notice-depth)*-35px)) rotateX(calc(var(--notice-depth)*-2deg));transform-origin:bottom center;transition:transform 260ms cubic-bezier(.2,.7,.2,1),opacity 180ms;pointer-events:auto;cursor:pointer;font-size:12px;line-height:1.45;animation:f-notice-enter 240ms ease-out}
.f-notification>strong{display:block;font-size:13px;color:inherit}.f-notification>p{margin:5px 0 0;color:inherit;font-size:12px;overflow-wrap:anywhere}
.f-notification-stack:is(:hover,:focus-within) .f-notification{transform:translateY(calc(var(--notice-depth)*-126px))}
.f-notification .f-notification-action{font:inherit;font-weight:600;color:#fff;background:#fff2;border:0;border-radius:6px;padding:5px 9px;margin-top:9px;cursor:pointer}.f-notification .f-notification-action:hover{background:#fff4}
.f-notification .f-notification-close{position:absolute;right:7px;top:7px;width:25px!important;height:25px!important;min-width:25px!important;min-height:25px!important;padding:6px!important;background:transparent!important;border:0!important;color:#fff!important;box-shadow:none!important}.f-notification .f-notification-close:hover{background:#fff2!important}.f-notification-close svg{width:13px;height:13px}
@keyframes f-notice-enter{from{opacity:0;translate:24px 12px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.f-notification{animation:none;transition:none}}

/* UI Lab action menus use the same surface and rows as ContentHub context menus. */
#m3-glass .f-context-menu[role=menu]{z-index:1200;min-width:205px;max-width:min(300px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;padding:5px;border:1px solid var(--f-modal-line);border-radius:9px;background:var(--f-modal);color:var(--f-modal-ink);box-shadow:0 10px 30px #0002}
#m3-glass .f-context-menu[role=menu][hidden]{display:none!important}
#m3-glass .f-context-menu[role=menu] button[role=menuitem]{display:flex;align-items:center;gap:9px;width:100%;min-height:33px;padding:7px 10px!important;border:0!important;border-radius:5px!important;box-shadow:none!important;background:transparent!important;text-align:left!important;font-size:13px!important;font-weight:400;color:var(--f-modal-ink);white-space:nowrap;outline:none!important}
#m3-glass .f-context-menu[role=menu] button[role=menuitem]:is(:hover,:focus-visible){background:var(--f-modal-hover)!important}

/* Three shared interaction levels. Existing Lab spacing/type/color values remain
   the source; contexts select a level instead of carrying module-specific sizes. */
:is(#m3-glass,[data-m3-theme]) :where(.m3-top,.m3-heading,.m3-content-toolbar,.m3-business-heading,.m3-business-job-toolbar,.pc-header,.f-gallery-heading,.mail-header,.m3-invoice-heading,.ch-toolbar,.meta3-page-heading,[data-m3-control-level=title]){
 --f-control-height:var(--f-control-title-height,38px);--f-control-compact-height:var(--f-control-title-height,38px);--f-control-icon:18px;--f-control-font:13px;--f-control-gap:8px;--f-control-padding-x:12px;
}
:is(#m3-glass,[data-m3-theme]) :where(.m3-dashboard-box,.m3-chart-module,.m3-variant,.m3-card-header,.mail-list-column,.mail-message-card,.mail-compose-panel,.m3-invoice-list-panel,.m3-invoice-browser-list,.m3-business-collection,.f-example,.f-modal,[data-m3-control-level=box]){
 --f-control-height:var(--f-control-box-height,28px);--f-control-compact-height:var(--f-control-box-height,28px);--f-control-icon:14px;--f-control-font:12px;--f-control-gap:4px;--f-control-padding-x:10px;
}
:is(#m3-glass,[data-m3-theme]) :where(.mail-icon-rail,.m3-business-history-actions,.m3-business-toolbar,.m3-invoice-detail-toolbar,.toolbar,.ad-toolbar,.ad-history,.m3-chart-controls,[data-m3-control-level=tool]){
 --f-control-height:var(--f-control-tool-height,32px);--f-control-compact-height:var(--f-control-tool-height,32px);--f-control-icon:16px;--f-control-font:12px;--f-control-gap:6px;--f-control-padding-x:10px;
}
/* Chart controls stay in their card, even if their historic class says toolbar. */
:is(#m3-glass,[data-m3-theme]) :where(.m3-chart-module,.m3-dashboard-box) .m3-chart-controls{--f-control-height:var(--f-control-box-height,28px);--f-control-compact-height:var(--f-control-box-height,28px);--f-control-icon:14px;--f-control-gap:4px}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) :is(.f-action,.f-icon,.f-select,.f-segmented>.f-button,.m3-view-switch-option){
 box-sizing:border-box;min-height:var(--f-control-height,32px);font-size:var(--m3-target-font-size,var(--f-control-font,13px));line-height:1.35;gap:var(--f-control-gap,6px);margin-block:0;vertical-align:middle;
}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) .f-action{padding:5px var(--f-control-padding-x,10px);border-radius:calc(var(--f-control-height,32px)/2);white-space:normal;overflow-wrap:anywhere}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) .f-button.f-icon:not(.m3-drag-handle):not(.m3-box-size){
 width:var(--f-control-height,32px)!important;min-width:var(--f-control-height,32px)!important;height:var(--f-control-height,32px)!important;min-height:var(--f-control-height,32px)!important;padding:5px!important;flex-shrink:0;border-radius:50%;
}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) :is(.f-icon,.f-action,.m3-view-switch-option) svg{width:var(--m3-target-icon-size,var(--f-control-icon,16px))!important;height:var(--m3-target-icon-size,var(--f-control-icon,16px))!important;flex-shrink:0}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) :is(.f-choice,.f-switch){min-height:var(--f-control-height,32px);gap:var(--f-control-gap,6px);font-size:var(--m3-target-font-size,var(--f-control-font,13px));line-height:1.35}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) :is(.f-actions,.mail-head-actions,.mail-filters,.mail-icon-rail,.m3-tools,.m3-invoice-actions){gap:var(--f-control-gap,6px);align-items:center;flex-wrap:wrap;min-width:0}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) :is(.f-segmented,.m3-view-switch,.f-modal-tabs){gap:0;padding:3px;max-width:100%;border-radius:calc(var(--f-control-height,32px)/2 + 3px);background:var(--f-field-hover);box-sizing:border-box}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) :is(.f-segmented,.m3-view-switch,.f-modal-tabs)>:is(.f-button,[role=tab]){min-height:var(--f-control-height,32px);padding:4px var(--f-control-padding-x,10px)!important;border:0;border-radius:calc(var(--f-control-height,32px)/2);font-size:var(--m3-target-font-size,var(--f-control-font,13px));line-height:1.35;white-space:normal}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) :is(.f-segmented,.f-modal-tabs)>:is([aria-pressed=true],[aria-selected=true]){background:var(--f-field);color:var(--f-field-ink);box-shadow:0 1px 3px #0001}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) :is(.f-button,[role=tab],select):focus-visible{outline:2px solid var(--f-ui-focus,var(--f-content-ink,#29292c))!important;outline-offset:3px}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) :is(.f-button,[role=tab],select):disabled{opacity:.45;cursor:default;transform:none;filter:none}
/* The real select remains the form control. Its shared listbox uses the same
   quiet surfaces, radius and option rhythm as the existing context menu. */
:is(#m3-glass[data-m3-theme],[data-m3-theme]) select:not([multiple]):not([size]),
:is(#m3-glass[data-m3-theme],[data-m3-theme]) select.f-select:not([multiple]){
 appearance:none;-webkit-appearance:none;box-sizing:border-box;min-width:0;max-width:100%;min-height:var(--f-control-height,32px);height:auto;padding:5px 30px 5px var(--f-control-padding-x,10px)!important;
 border:1px solid color-mix(in srgb,var(--f-field-control-line,#777) 55%,transparent);border-radius:var(--f-ui-radius,8px);background-color:var(--f-field,#fff);color:var(--f-field-ink,#29292c);font-family:inherit;font-size:var(--m3-target-font-size,var(--f-control-font,13px));line-height:1.35;
 background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 10px) 50%;background-size:4px 4px;background-repeat:no-repeat;
}
.f-select-popup{position:fixed;inset:auto;z-index:20001;box-sizing:border-box;margin:0;padding:5px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--f-modal-line,#dedbd8);border-radius:9px;background:var(--f-modal,#fff);color:var(--f-modal-ink,#29292c);box-shadow:0 10px 30px #0002;font-size:13px;line-height:1.4;text-align:left}
.f-select-popup [role=option]{position:relative;min-height:32px;box-sizing:border-box;display:flex;align-items:center;padding:6px 28px 6px 10px;border-radius:5px;cursor:pointer;overflow-wrap:anywhere;white-space:normal}
.f-select-popup [role=option][hidden]{display:none}
.f-select-popup [role=option].is-active{background:var(--f-modal-hover,#eeecea)}
.f-select-popup [role=option][aria-selected=true]::after{content:'✓';position:absolute;right:9px;font-size:12px;font-weight:600}
.f-select-popup [role=option][aria-disabled=true]{opacity:.4;cursor:default}
.f-select-group{padding:7px 10px 3px;font-size:11px;font-weight:600;color:var(--f-modal-muted,#777)}
@media(pointer:coarse){:is(#m3-glass[data-m3-theme],[data-m3-theme]){--f-control-title-height:44px;--f-control-tool-height:40px;--f-control-box-height:36px}.f-select-popup [role=option]{min-height:40px}}
@media(prefers-reduced-motion:reduce){:is(#m3-glass[data-m3-theme],[data-m3-theme]) :is(.f-button,select,[role=tab]){transition:none}}

/* Shared inbox/invoice selection: subtly lighter than the actual list surface.
   Selection and hover stay distinct; keyboard focus has an independent cue. */
#m3-glass[data-m3-theme] :is(.mail-list-column,.m3-dashboard-mail){--f-list-base:var(--f-preview-color,var(--f-box-bg,var(--f-card,#f1f0ef)));--f-list-hover:color-mix(in srgb,var(--f-list-base) 76%,#fff);--f-list-selected:color-mix(in srgb,var(--f-list-base) 52%,#fff)}
#m3-glass[data-m3-theme] .mail-workspace .mail-conversation:not(.is-selected):hover,
#m3-glass[data-m3-theme] .m3-dashboard-mail.mail-workspace .mail-row:hover{background:var(--f-list-hover)!important}
#m3-glass[data-m3-theme] .mail-workspace .mail-conversation.is-selected,
#m3-glass[data-m3-theme] .mail-workspace .mail-conversation.is-selected:hover{background:var(--f-list-selected)!important;box-shadow:none!important}
#m3-glass[data-m3-theme] .mail-workspace .mail-conversation .mail-row:focus-visible{outline:2px solid var(--f-ui-focus,var(--f-content-ink))!important;outline-offset:-2px;border-radius:inherit!important}
/* Attach the existing unread marker to the avatar, independent of row padding. */
#m3-glass[data-m3-theme] .mail-workspace .mail-row.has-avatar .mail-list-avatar{overflow:visible}
#m3-glass[data-m3-theme] .mail-workspace .mail-list-avatar img{border-radius:50%}
#m3-glass[data-m3-theme] .mail-workspace .mail-row.has-avatar .mail-list-avatar>.mail-unread-dot{position:absolute;left:-2px;top:-2px;right:auto;bottom:auto;width:8px;height:8px;margin:0;border:2px solid var(--f-list-base,var(--f-card));box-sizing:content-box;z-index:1;animation:none}

.f-control-level-example{display:grid;gap:8px;margin-block:16px}.f-control-level-example>strong{font-size:12px;font-weight:600}.f-control-level-example>.f-inline{gap:var(--f-control-gap);align-items:center;flex-wrap:wrap}
/* Existing panel tabs retain their tab/tabpanel and roving keyboard contracts. */
#m3-glass[data-m3-theme] :is(.m3-orders-tabs,.m3-business-tabs){display:flex;flex-wrap:wrap;gap:0;padding:3px;border-radius:calc(var(--f-control-height,32px)/2 + 3px);background:var(--f-field-hover);max-width:100%;width:fit-content}
#m3-glass[data-m3-theme] :is(.m3-orders-tabs,.m3-business-tabs)>[role=tab]{min-height:var(--f-control-height,32px);padding:4px var(--f-control-padding-x,10px);border:0;border-radius:calc(var(--f-control-height,32px)/2);font:inherit;font-size:var(--m3-target-font-size,var(--f-control-font,12px));line-height:1.35;background:transparent;color:var(--f-field-muted)}
#m3-glass[data-m3-theme] :is(.m3-orders-tabs,.m3-business-tabs)>[role=tab][aria-selected=true]{background:var(--f-field);color:var(--f-field-ink);box-shadow:0 1px 3px #0001}
/* Title actions that live outside the title's DOM row still share its level. */
#m3-glass :is(#m3-details-toggle,#m3-profile){--f-control-height:var(--f-control-title-height,38px);--f-control-icon:18px}
#m3-glass[data-m3-theme] .f-button.f-action:not(.f-icon){height:auto!important;min-height:var(--f-control-height,32px)!important}
#m3-glass[data-m3-theme] .f-button.f-action-create{padding:0 var(--f-space-8,8px) 0 0}
#m3-glass[data-m3-theme] #m3-profile{height:var(--f-control-height,38px);min-height:var(--f-control-height,38px)}
#m3-glass[data-m3-theme] :is(.m3-box-size,.m3-box-link,.m3-box-menu,#m3-sort) svg{width:var(--m3-target-icon-size,var(--f-control-icon,14px))!important;height:var(--m3-target-icon-size,var(--f-control-icon,14px))!important}
/* Period choices adapt to their own available width, not the whole workspace. */
#m3-glass[data-m3-theme] .m3-invoice-period{container-type:inline-size;container-name:m3-period}
@container m3-period (max-width:260px){
 #m3-glass[data-m3-theme] .m3-invoice-period>select[aria-label=Monat]{grid-column:2/4;grid-row:1;width:100%}
 #m3-glass[data-m3-theme] .m3-invoice-period>select[aria-label=Jahr]{grid-column:2/4;grid-row:2;width:100%}
 #m3-glass[data-m3-theme] .m3-invoice-period>button:first-child{grid-column:1;grid-row:1/3;align-self:center}
 #m3-glass[data-m3-theme] .m3-invoice-period>button:last-child{grid-column:4;grid-row:1/3;align-self:center}
}
/* Existing chart switches use the same track as the factory-created switches. */
:is(#m3-glass[data-m3-theme],[data-m3-theme]) input[role=switch]{appearance:none;-webkit-appearance:none;box-sizing:border-box;position:relative;flex:none;width:34px;height:20px;min-height:20px;margin:0;padding:0;border:0;border-radius:12px;background:color-mix(in srgb,var(--f-field-ink,#29292c) 22%,var(--f-field,#fff));cursor:pointer}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) input[role=switch]::after{content:'';position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0002;transition:transform 160ms ease}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) input[role=switch]:checked{background:var(--f-accent-action,var(--f-accent,#ff741b))}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) input[role=switch]:checked::after{transform:translateX(14px)}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) input[role=switch]:disabled{opacity:.45;cursor:default}
:is(#m3-glass[data-m3-theme],[data-m3-theme]) input[role=switch]:focus-visible{outline:2px solid var(--f-ui-focus,var(--f-content-ink));outline-offset:3px}
@media(prefers-reduced-motion:reduce){:is(#m3-glass[data-m3-theme],[data-m3-theme]) input[role=switch]::after{transition:none}}
@media(forced-colors:active){:is(#m3-glass[data-m3-theme],[data-m3-theme]) input[role=switch]{appearance:auto;-webkit-appearance:auto}:is(#m3-glass[data-m3-theme],[data-m3-theme]) input[role=switch]::after{display:none}}

/* Shared control finish, including the shadow-scoped adopted workspace. Borders
   belong to content/drop surfaces; actions use quiet depth plus explicit focus. */
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-button,select,.m3-details-toggle):not(.f-upload-dropzone):not([role=menuitem]){
 border:0!important;box-shadow:var(--f-control-shadow,0 1px 3px #0000000b)!important;
}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-button,select,.m3-details-toggle):not(.f-upload-dropzone):not([role=menuitem]):not(:disabled):hover{box-shadow:var(--f-control-shadow-hover,0 2px 5px #00000010)!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-button,select,.m3-details-toggle):focus-visible{outline:2px solid var(--f-ui-focus,var(--f-content-ink,#29292c))!important;outline-offset:3px!important}
/* Legacy action dimensions must inherit the level, never restart at 40px. */
body.meta3-workspace[data-foundation] #app :is(.toolbar,.ad-toolbar,.ad-history,.footer-actions){--f-control-height:var(--f-control-tool-height,32px);--f-control-icon:16px;--f-control-font:12px;--f-control-padding-x:10px}
body.meta3-workspace[data-foundation] #app :is(.toolbar,.ad-toolbar,.ad-history,.footer-actions) .f-button{height:var(--f-control-height)!important;min-height:var(--f-control-height)!important;font-size:var(--f-control-font)!important;line-height:1.35;padding:0 var(--f-control-padding-x)!important}
body.meta3-workspace[data-foundation] #app :is(.toolbar,.ad-toolbar,.ad-history,.footer-actions) .f-button.f-icon{width:var(--f-control-height)!important;min-width:var(--f-control-height)!important;padding:0!important;border-radius:50%!important}
body.meta3-workspace[data-foundation] #app .hub-sort-trigger{border:0!important;border-radius:calc(var(--f-control-height)/2)!important;background:var(--f-field)!important;color:var(--f-field-ink)!important;gap:8px;min-width:84px}
body.meta3-workspace[data-foundation] #app :is(.toolbar,.ad-toolbar,.ad-history,.footer-actions) svg{width:var(--f-control-icon)!important;height:var(--f-control-icon)!important}
/* Selection stays visible through a moving/filled surface; the whole group is
   exactly one control high, rather than a taller control plus extra padding. */
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.m3-view-switch,.f-segmented,.f-modal-tabs,.m3-orders-tabs,.m3-business-tabs,.view-switch,.bh-view-switch){box-sizing:border-box;padding:0!important;gap:0;min-height:var(--f-control-height,32px);border:0!important;border-radius:calc(var(--f-control-height,32px)/2)!important;background:var(--f-field-hover)!important;box-shadow:var(--f-control-shadow)!important;overflow:visible}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.m3-view-switch,.f-segmented,.f-modal-tabs,.m3-orders-tabs,.m3-business-tabs,.view-switch,.bh-view-switch)>button{box-sizing:border-box;min-height:var(--f-control-height,32px)!important;height:var(--f-control-height,32px)!important;border:0!important;border-radius:calc(var(--f-control-height,32px)/2)!important;padding:0 var(--f-control-padding-x,10px)!important;background:transparent!important;color:var(--f-field-muted)!important;box-shadow:none!important}
body.meta3-workspace[data-foundation] #app :is(.view-switch,.bh-view-switch)>button{width:var(--f-control-height,32px)!important;min-width:var(--f-control-height,32px)!important;padding:0!important;display:inline-flex;align-items:center;justify-content:center}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-segmented,.f-modal-tabs,.m3-orders-tabs,.m3-business-tabs,.view-switch,.bh-view-switch)>button:is(.active,[aria-pressed=true],[aria-selected=true]){background:var(--f-field)!important;color:var(--f-field-ink)!important;box-shadow:var(--f-control-shadow)!important}
body.meta3-workspace[data-foundation] #app .view-switch::before{display:none}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) .m3-view-switch-indicator{left:0;top:0;bottom:0;width:calc(100% / var(--m3-view-count));border-radius:calc(var(--f-control-height,32px)/2)}
#m3-glass[data-m3-theme] .m3-business-period{background:transparent;border-radius:calc(var(--f-control-height,32px)/2)}
#m3-glass[data-m3-theme] .m3-business-period>svg{display:none}
#m3-glass[data-m3-theme] .m3-business-period-select{height:var(--f-control-height,32px)!important;min-height:var(--f-control-height,32px)!important;border-radius:inherit}
/* Upload targets share the collection reference's visual primitives. Their
   labels, restrictions, file inputs, drop handlers and progress stay intact. */
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-upload-dropzone,.dropzone,.ad-sidebar-drop,.bh-drop){box-sizing:border-box;display:flex!important;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:150px;height:auto;gap:8px!important;padding:var(--f-drop-padding,16px)!important;border:2px dashed var(--f-drop-line)!important;border-radius:var(--f-drop-radius,16px)!important;background:var(--f-drop-background)!important;color:var(--f-content-ink,#29292c)!important;box-shadow:none!important;text-align:center;white-space:normal;line-height:1.4;font-family:inherit;font-size:13px;transition:background-color 180ms ease,border-color 180ms ease}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-upload-dropzone,.dropzone,.ad-sidebar-drop,.bh-drop):is(:hover,.drag,.drag-over,.is-dragover,.is-over,[data-dragover=true]){background:var(--f-drop-hover)!important;border-color:var(--f-drop-active-line)!important;box-shadow:none!important;transform:none}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-upload-dropzone,.dropzone,.ad-sidebar-drop,.bh-drop):is(:focus-visible,:focus-within){outline:2px solid var(--f-ui-focus,var(--f-content-ink))!important;outline-offset:3px}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-upload-dropzone,.dropzone,.ad-sidebar-drop,.bh-drop) :is(.drop-icon,svg),
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) .f-button.f-upload-dropzone>svg{width:var(--f-drop-icon-size,32px)!important;height:var(--f-drop-icon-size,32px)!important;min-width:var(--f-drop-icon-size,32px);margin:0!important;padding:0;flex:none;color:var(--f-content-muted,#888);stroke-width:1.4;transform:none!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-upload-dropzone,.dropzone,.ad-sidebar-drop,.bh-drop)>:is(strong,span:not(.drop-icon),small){font-family:inherit;font-size:13px;line-height:1.4}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-upload-dropzone,.dropzone,.ad-sidebar-drop,.bh-drop)>:is(span:not(.drop-icon),small){color:var(--f-content-muted);font-size:12px}
@media(prefers-reduced-motion:reduce){:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-upload-dropzone,.dropzone,.ad-sidebar-drop,.bh-drop){transition:none}}
@media(forced-colors:active){:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-button,select):not(.f-upload-dropzone){border:1px solid ButtonText!important}}

#m3-glass[data-m3-theme] :is(#m3-details-toggle,#m3-lab-toggle,#m3-profile){border:0!important;box-shadow:var(--f-control-shadow)!important}

/* User refinement: a very faint hairline keeps the soft depth legible. */
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-button,select,.m3-details-toggle):not(.f-upload-dropzone):not([role=menuitem]){border:1px solid var(--f-control-hairline)!important}
#m3-glass[data-m3-theme] :is(#m3-details-toggle,#m3-lab-toggle,#m3-profile),body.meta3-workspace[data-foundation] #app .hub-sort-trigger{border:1px solid var(--f-control-hairline)!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) .f-button:disabled{opacity:1;background:color-mix(in srgb,var(--f-field,#fff) 96%,var(--f-field-ink,#29292c))!important;color:color-mix(in srgb,var(--f-field-ink,#29292c) 38%,var(--f-field,#fff))!important;box-shadow:0 1px 2px #00000005!important;border-color:color-mix(in srgb,var(--f-field-ink,#29292c) 4%,transparent)!important}
/* A 1px inset around the selected circle leaves the track visible while the
   button hit target and its keyboard/focus contract retain the full size. */
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.view-switch,.bh-view-switch)>button{border:1px solid transparent!important;background-clip:padding-box!important;box-shadow:none!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.view-switch,.bh-view-switch)>button:is(.active,[aria-pressed=true]){background:var(--f-field)!important;background-clip:padding-box!important;box-shadow:none!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) .m3-view-switch-indicator{left:1px;top:1px;bottom:1px;width:calc(100% / var(--m3-view-count) - 2px);transform:translateX(calc(var(--m3-view-index) * (100% + 2px)))}

/* Surface-relative neutral overlays: only the fill is translucent, never text.
   The actual module/card remains visible beneath controls and count badges. */
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-button,select,.m3-details-toggle):not(.f-primary):not(.f-upload-dropzone):not([role=menuitem]):not(.m3-view-switch-option):not(:disabled){background-color:var(--f-control-neutral-fill)!important;color:var(--f-surface-tool-ink,var(--f-local-ink,var(--f-field-ink,#29292c)))}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-button,select,.m3-details-toggle):not(.f-primary):not(.f-upload-dropzone):not([role=menuitem]):not(.m3-view-switch-option):not(:disabled):hover{background-color:var(--f-control-neutral-hover)!important}
body.meta3-workspace[data-foundation] #app .hub-sort-trigger{background-color:var(--f-control-neutral-fill)!important}
#m3-glass[data-m3-theme] .m3-content-sidebar-action #m3-details-toggle[aria-expanded]{border:1px solid var(--f-control-hairline)!important;background-color:var(--f-control-neutral-fill)!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) .f-button:disabled{opacity:1!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.m3-neutral-badge,.m3-collection-count,.m3-invoice-result-count,.mail-message-count,.f-badge:not(.f-badge-expiry),[data-badge-tone=neutral]){background:var(--f-neutral-badge-fill)!important;color:var(--f-local-ink,var(--f-content-ink,#29292c))!important;opacity:1;transition:background-color 180ms ease,color 180ms ease}
@media(prefers-reduced-motion:reduce){:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.m3-neutral-badge,.m3-collection-count,.m3-invoice-result-count,.mail-message-count,.f-badge,[data-badge-tone=neutral]){transition:none}}

/* Neutral round content tools keep the actual parent surface visible.
   Stateful view/toggle choices and primary actions retain their own fill. */
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.m3-content-scroll,#app) .f-button.f-icon:not(.f-primary):not(.f-action-create):not([data-mail-action=compose]):not([data-mail-action=send]):not(.mail-thread-toggle):not(.f-upload-dropzone):not(.m3-view-switch-option):not([role=tab]):not([aria-pressed=true]):not([aria-selected=true]):not(.active):not(.is-active):hover{background:var(--f-surface-tool-hover,transparent)!important;color:var(--f-surface-tool-ink,var(--f-content-ink,#29292c))!important;box-shadow:var(--f-control-shadow,0 1px 3px #0000000b)!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.m3-content-scroll,#app) .f-button.f-icon:not(.f-primary):not(.f-action-create):not([data-mail-action=compose]):not([data-mail-action=send]):not(.mail-thread-toggle):not(.f-upload-dropzone):not(.m3-view-switch-option):not([role=tab]):not([aria-pressed=true]):not([aria-selected=true]):not(.active):not(.is-active){background:var(--f-surface-tool-bg,transparent)!important;color:var(--f-surface-tool-ink,var(--f-content-ink,#29292c))!important;box-shadow:var(--f-control-shadow,0 1px 3px #0000000b)!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.m3-content-scroll,#app) .f-button.f-icon:disabled:not(.f-primary):not(.f-action-create):not([data-mail-action=compose]):not([data-mail-action=send]):not(.mail-thread-toggle){background:var(--f-surface-tool-bg,transparent)!important;color:color-mix(in srgb,var(--f-surface-tool-ink,var(--f-content-ink,#29292c)) 38%,transparent)!important;box-shadow:var(--f-control-disabled-shadow,0 1px 2px #00000005)!important}

/* Numeric columns are part of the shared table component. */
.f-table [data-numeric]{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}

/* Action role outranks tool geometry: true primary actions remain brand orange. */
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.m3-content-scroll,#app,dialog) .f-button:is(.f-primary,.f-action-create,[data-mail-action=compose],[data-mail-action=send]):not([data-mail-action=save]){background:var(--f-accent-action,var(--f-accent,#ff741b))!important;color:#fff!important;border:0!important;box-shadow:var(--f-control-shadow)!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.m3-content-scroll,#app,dialog) .f-button:is(.f-primary,.f-action-create,[data-mail-action=compose],[data-mail-action=send]):not([data-mail-action=save]) :is(svg,span,i){color:inherit!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.m3-content-scroll,#app,dialog) .f-button:is(.f-primary,.f-action-create,[data-mail-action=compose],[data-mail-action=send]):disabled:not([data-mail-action=save]):not([aria-busy=true]){background:color-mix(in srgb,var(--f-accent-action,var(--f-accent,#ff741b)) 38%,transparent)!important;color:color-mix(in srgb,var(--f-content-ink,#29292c) 45%,transparent)!important;cursor:default}
#m3-glass[data-m3-theme] :is(.m3-content-scroll,dialog) .mail-compose [data-mail-action=save]{background:transparent!important;color:var(--f-content-ink)!important;border:1px solid var(--f-control-hairline)!important;box-shadow:var(--f-control-shadow)!important}
#m3-glass[data-m3-theme] :is(.m3-content-scroll,dialog) .mail-compose [data-mail-action=save]:disabled{color:var(--f-content-muted)!important}
/* Conversation disclosure is local text navigation, not a round header action. */
#m3-glass[data-m3-theme] :is(.m3-content-scroll,#app) .mail-workspace .f-button.mail-thread-toggle{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}

/* Neutral dropdowns on a resolved dark box share its white tool surface. */
#m3-glass[data-m3-theme] :is(.m3-content-scroll,#app) select:not([multiple]){color:var(--f-surface-tool-ink,var(--f-field-ink,#29292c))!important}

/* Shared width picker: the current fraction stays in place, alternatives reveal below it. */
:is(#m3-glass,.m3-chart-host) [data-board-width] > [data-size-picker]{font-family:inherit;font-size:10px;font-weight:600;line-height:1;padding:0;z-index:6}
:is(#m3-glass,.m3-chart-host) .m3-box-size-menu{position:absolute;right:var(--f-box-header-inset,16px);top:calc(var(--f-box-header-inset,16px) + var(--f-control-box-height,28px));z-index:7;display:flex;flex-direction:column;gap:var(--f-box-action-gap,4px);padding-top:var(--f-box-action-gap,4px);width:var(--f-control-box-height,28px);opacity:0;clip-path:inset(0 0 100% 0 round 14px);translate:0 -4px;pointer-events:none;transition:clip-path var(--m3-panel-motion-duration,280ms) var(--m3-panel-motion-easing,cubic-bezier(.2,.7,.2,1)),opacity var(--m3-panel-motion-duration,280ms) var(--m3-panel-motion-easing,cubic-bezier(.2,.7,.2,1)),translate var(--m3-panel-motion-duration,280ms) var(--m3-panel-motion-easing,cubic-bezier(.2,.7,.2,1));transition-delay:0s}
:is(#m3-glass,.m3-chart-host) .m3-box-size-menu[data-open=true]{opacity:1;clip-path:inset(-3px -3px -3px -3px round 14px);translate:0 0;pointer-events:auto}
:is(#m3-glass,.m3-chart-host) .m3-box-size-option{box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex:none;width:var(--f-control-box-height,28px);height:var(--f-control-box-height,28px);min-width:0;padding:0;border:1px solid var(--f-control-hairline,transparent);border-radius:50%;background:var(--f-box-bg,var(--f-card,#fff));color:var(--f-surface-tool-ink,var(--f-content-ink,#29292c));box-shadow:var(--f-control-shadow,none);font-family:inherit;font-size:10px;font-weight:600;line-height:1;cursor:pointer}
:is(#m3-glass,.m3-chart-host) .m3-box-size-option[hidden]{display:none}
:is(#m3-glass,.m3-chart-host) .m3-box-size-option:hover{background:var(--f-field-hover,#eeecea)}
:is(#m3-glass,.m3-chart-host) .m3-box-size-option:focus-visible{outline:2px solid currentColor;outline-offset:1px}
@media(prefers-reduced-motion:reduce){:is(#m3-glass,.m3-chart-host) .m3-box-size-menu{transition:none}}

/* Context actions and previous/next navigation share the box-header level.
   Future consumers opt in via data-m3-control-level="context". Primary actions
   keep their own size/role; content-wide toolbars remain a separate level. */
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.m3-content-scroll,#app,dialog) :is([data-m3-control-level=context],.mail-icon-rail,.mail-detail-heading,.mail-conversation-nav,.mail-formatting,.m3-invoice-detail-toolbar,.m3-invoice-period,.footer-actions) .f-button.f-icon:not(.f-primary):not(.f-action-create):not([data-mail-action=compose]):not([data-mail-action=send]):not(.mail-thread-toggle){--f-control-height:var(--f-control-box-height,28px);--f-control-icon:14px;box-sizing:border-box;width:var(--f-control-box-height,28px)!important;height:var(--f-control-box-height,28px)!important;min-width:var(--f-control-box-height,28px)!important;min-height:var(--f-control-box-height,28px)!important;padding:5px!important;flex-shrink:0}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.m3-content-scroll,#app,dialog) :is([data-m3-control-level=context],.mail-icon-rail,.mail-detail-heading,.mail-conversation-nav,.mail-formatting,.m3-invoice-detail-toolbar,.m3-invoice-period,.footer-actions) .f-button.f-icon:not(.f-primary):not(.f-action-create):not([data-mail-action=compose]):not([data-mail-action=send]):not(.mail-thread-toggle) svg{width:var(--m3-target-icon-size,14px)!important;height:var(--m3-target-icon-size,14px)!important}

/* Confirmed title-rail contract: opaque white, faint contour, no shadow in any state. */
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.m3-heading,.m3-content-toolbar,.m3-content-sidebar-action,.m3-business-heading,.pc-header,.mail-header,.m3-invoice-heading,.ch-toolbar,.f-gallery-heading,.meta3-page-heading) :is(.f-button,select,.m3-details-toggle):not(.f-primary):not(.f-action-create){background:#fff!important;color:#29292c!important;border:1px solid #29292c17!important;box-shadow:none!important;outline:none}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.m3-heading,.m3-content-toolbar,.m3-content-sidebar-action,.m3-business-heading,.pc-header,.mail-header,.m3-invoice-heading,.ch-toolbar,.f-gallery-heading,.meta3-page-heading) :is(.f-button,select,.m3-details-toggle):not(.f-primary):not(.f-action-create):is(:hover,:focus,:active,:disabled,[aria-expanded=true]){background:#fff!important;border-color:#29292c17!important;box-shadow:none!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-button,select,.m3-details-toggle):focus:not(:focus-visible){outline:none!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.f-button,select,.m3-details-toggle):focus-visible{outline:1px solid var(--f-accent)!important;outline-offset:2px}
/* Settings switches are a label/setting row, including future consumers. */
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation],[data-m3-theme]) .f-choice.f-switch{display:flex;flex-direction:row;justify-content:space-between;width:100%;gap:16px}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation],[data-m3-theme]) .f-choice.f-switch>input{order:2;margin-left:auto;flex:none}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation],[data-m3-theme]) .f-choice.f-switch>span{order:1;text-align:left}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) .f-modal-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;grid-column:1/-1;width:100%;margin-top:20px}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) .f-modal-actions>.f-button{width:auto!important;flex:0 0 auto;justify-self:end}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) .f-modal-actions>.f-primary{background:var(--f-accent-action,var(--f-accent))!important;color:#fff!important;border:0!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) .f-modal-actions>.f-primary:disabled:not([aria-busy=true]){background:#e5e5e5!important;color:#8b8b8b!important;border:0!important;box-shadow:none!important}
.f-modal-actions>.f-button[aria-busy=true]::before{content:'';width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:m3-save-spin 700ms linear infinite}
@keyframes m3-save-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.f-modal-actions>.f-button[aria-busy=true]::before{animation:none}}

/* Close remains in the top layer until the shared motion has completed. */
@keyframes m3-modal-leave{from{opacity:1}to{opacity:0}}
@keyframes m3-modal-backdrop-leave{from{opacity:1}to{opacity:0}}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal[open]{animation-duration:280ms!important;animation-timing-function:cubic-bezier(.2,.7,.2,1)!important}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal[data-m3-modal-closing]{animation:m3-modal-leave var(--m3-modal-exit-duration,var(--m3-panel-motion-duration,280ms)) var(--m3-panel-motion-easing,cubic-bezier(.2,.7,.2,1)) forwards!important;pointer-events:none}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal[data-m3-modal-closing]::backdrop{animation:m3-modal-backdrop-leave var(--m3-modal-exit-duration,var(--m3-panel-motion-duration,280ms)) var(--m3-panel-motion-easing,cubic-bezier(.2,.7,.2,1)) forwards!important}
@media(prefers-reduced-motion:reduce){:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal[open],:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal::backdrop{animation:none!important}}
/* Explicit disabled form state overrides legacy muted-orange primary rules. */
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.m3-content-scroll,#app,dialog) .f-modal-actions>button.f-button.f-primary:disabled:not([aria-busy=true]){background:#e5e5e5!important;color:#8b8b8b!important;border:0!important;box-shadow:none!important}

/* Surface variables keep even legacy high-specificity tool rules on the title rail contract. */
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation]) :is(.m3-heading,.m3-content-toolbar,.m3-content-sidebar-action,.m3-business-heading,.pc-header,.mail-header,.m3-invoice-heading,.ch-toolbar,.f-gallery-heading,.meta3-page-heading){--f-surface-tool-bg:#fff;--f-surface-tool-hover:#fff;--f-surface-tool-ink:#29292c;--f-control-neutral-fill:#fff;--f-control-neutral-hover:#fff;--f-control-shadow:none;--f-control-disabled-shadow:none}

dialog.f-modal{--m3-modal-exit-duration:var(--m3-panel-motion-duration,280ms)}

/* Shared single-choice tracks: one moving CI surface, with a one-pixel inset. */
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation],[data-m3-theme]) [data-m3-tab-rail]{position:relative!important;isolation:isolate;padding:1px!important;gap:0!important;border:0!important;flex-wrap:nowrap;overflow:visible;box-shadow:none!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation],[data-m3-theme]) [data-m3-tab-rail]>.m3-view-switch-indicator{display:none!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation],[data-m3-theme]) [data-m3-tab-rail]>.m3-tab-active-surface{position:absolute;z-index:0;pointer-events:none;border-radius:inherit;background:var(--f-accent-action,var(--f-accent,#ff751d));transition:left 220ms cubic-bezier(.2,.7,.2,1),top 220ms cubic-bezier(.2,.7,.2,1),width 220ms cubic-bezier(.2,.7,.2,1),height 220ms cubic-bezier(.2,.7,.2,1)}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation],[data-m3-theme]) [data-m3-tab-rail]>button[data-m3-tab-active]{position:relative;z-index:1;background:transparent!important;box-shadow:none!important;height:calc(var(--f-control-height,32px) - 2px)!important;min-height:calc(var(--f-control-height,32px) - 2px)!important;border:0!important}
:is(#m3-glass[data-m3-theme],body.meta3-workspace[data-foundation],[data-m3-theme]) [data-m3-tab-rail]>button[data-m3-tab-active=true]{background:transparent!important;color:#fff!important;font-weight:700!important}
@media(prefers-reduced-motion:reduce){[data-m3-tab-rail]>.m3-tab-active-surface{transition:none!important}}
/* Only the size control is quiet at rest; keyboard focus and open menus remain usable. */
@media(hover:hover) and (pointer:fine){
 :is(#m3-glass,.m3-chart-host) [data-board-width]>.m3-box-size{opacity:0;pointer-events:none;transition:opacity 150ms ease}
 :is(#m3-glass,.m3-chart-host) [data-board-width]:is(:hover,:has(.m3-box-size:focus-visible),:has(.m3-box-size-menu[data-open=true]))>.m3-box-size{opacity:1;pointer-events:auto}
}

/* Shared dialog density: consumers keep their form behavior and use the existing controls. */
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal{font-size:var(--f-control-font,13px);line-height:1.4;padding:var(--f-space-24,24px)}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal :is(.f-modal-heading,.dialog-heading)>h2{font-size:var(--f-modal-title-size,18px)!important;line-height:1.3}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal form.f-form{gap:var(--f-gap-form,16px);padding:0;background:transparent}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal form.f-form>label{display:grid;gap:var(--f-space-6,6px);font-size:var(--f-control-font,13px);line-height:1.4}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal :is(.f-input,.f-button){font-size:var(--f-control-font,13px)!important;line-height:1.4}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal :is(input.f-input,select.f-input){box-sizing:border-box;height:var(--f-control-height,32px)!important;min-height:var(--f-control-height,32px)!important;padding-block:0!important}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal .f-modal-actions{margin-top:var(--f-space-8,8px);gap:var(--f-space-8,8px)}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal .f-modal-actions>.f-button{min-height:var(--f-control-height,32px);padding:0 var(--f-control-padding-x,10px);order:0}
:is(#m3-glass,body.meta3-workspace,[data-m3-theme]) dialog.f-modal .f-modal-actions>.f-primary{order:1}

/* Page-level sidebar disclosure uses the existing title hierarchy. */
#m3-glass[data-m3-theme] .m3-content-sidebar-action>button#m3-details-toggle{--m3-action-height:var(--f-control-title-height,38px);--m3-action-icon-size:18px;width:var(--f-control-title-height,38px)!important;min-width:var(--f-control-title-height,38px)!important;height:var(--f-control-title-height,38px)!important;min-height:var(--f-control-title-height,38px)!important;padding:0!important}
#m3-glass[data-m3-theme] .m3-content-sidebar-action>button#m3-details-toggle svg{width:18px!important;height:18px!important}
/* The global create affordance stays primary even where its existing action is disabled. */
#m3-glass[data-m3-theme] button#m3-add.f-primary{background:var(--f-accent-action,var(--f-accent,#ff741b))!important;color:#fff!important;border-color:transparent!important}
#m3-glass[data-m3-theme] button#m3-add.f-primary svg{color:#fff!important;stroke:currentColor}
