/* Paper — restyles seenry-ui. Load after seenry-ui.css and tokens.css. Every value comes from tokens.css. */

/* Base */
body{background:var(--bg);color:var(--text);font:var(--type-body);letter-spacing:var(--tracking-ui);font-feature-settings:"cv11","ss01","tnum" 0}
h1,h2,h3{letter-spacing:var(--tracking-ui)}
:focus-visible{outline:var(--rule) solid var(--accent);outline-offset:var(--rule)}
::selection{background:var(--accent-subtle)}
.ph{font-size:var(--icon);line-height:1;flex:none}
.num,.ui-num{font-variant-numeric:tabular-nums}

/* Buttons */
.ui-button,.ui-button:not([data-size=sm]){--button-h:var(--control-h);gap:var(--space-2);padding:0 var(--space-4);border:var(--hairline) solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:var(--type-label);letter-spacing:var(--tracking-ui)}
.ui-button:hover:not(:disabled){background:var(--hover)}
.ui-button[data-size=sm]{--button-h:var(--control-h-sm);padding-inline:var(--space-3);font:var(--type-label)}
.ui-button[data-size=lg]{--button-h:var(--row-h);padding-inline:var(--space-5);border-radius:var(--r-md)}
.ui-button[data-variant=primary]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.ui-button[data-variant=primary]:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}
.ui-button[data-variant=ghost]{background:transparent;border-color:transparent;color:var(--text-2)}
.ui-button[data-variant=ghost]:hover:not(:disabled){background:var(--hover);color:var(--text)}
.ui-button[data-variant=danger]{background:transparent;border-color:var(--bad);color:var(--bad)}
.ui-button[data-variant=danger]:hover:not(:disabled){background:var(--bad-bg);filter:none}
.ui-button[data-icon]{width:var(--button-h);padding:0}
.ui-button .ph{font-size:var(--icon)}

/* Fields */
.ui-field{gap:var(--space-2)}
.ui-label,.ui-radio-group legend{font:var(--type-label);color:var(--text)}
.ui-help,.ui-error{font:var(--type-small);color:var(--text-3)}
.ui-error{color:var(--bad)}
.ui-input,.ui-textarea,.ui-select,.ui-button~.ui-input{min-height:var(--control-h);padding:var(--space-2) var(--space-3);border:var(--hairline) solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:var(--type-body)}
.ui-select{padding-right:var(--space-7);background-image:var(--chevron-image);background-repeat:no-repeat;background-position:right var(--space-3) center}
.ui-textarea{min-height:calc(var(--row-h) * 2)}
.ui-input:hover:not(:disabled),.ui-textarea:hover:not(:disabled),.ui-select:hover:not(:disabled){border-color:var(--text-3)}
.ui-input:focus,.ui-textarea:focus,.ui-select:focus{border-color:var(--accent);box-shadow:var(--focus)}
.ui-affix{color:var(--text-3);font:var(--type-body);display:inline-flex}
.ui-affix:first-child{left:var(--space-3)}
.ui-affix:last-child{right:var(--space-3)}
.ui-affix:first-child+.ui-input{padding-left:calc(var(--space-3) + var(--icon) + var(--space-2))}

.ui-choice{gap:var(--space-3);min-height:var(--control-h);padding:var(--space-2) 0;font:var(--type-body)}
.ui-choice input{width:var(--check);height:var(--check);border:var(--hairline) solid var(--line-strong);border-radius:var(--space-1);background:var(--surface)}
.ui-choice input:checked{background-color:var(--accent);border-color:var(--accent)}
.ui-choice input[type=checkbox]:checked{background-image:var(--check-image)}
.ui-choice input[type=radio]:checked{background:var(--surface);box-shadow:inset 0 0 0 var(--space-1) var(--accent)}
.ui-choice small{font:var(--type-small);color:var(--text-3)}

.ui-switch{gap:var(--space-3);min-height:var(--control-h);font:var(--type-body)}
.ui-switch input{width:var(--switch-w);height:var(--switch-h);border:var(--hairline) solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface-2)}
.ui-switch input::after{top:var(--knob-inset);left:var(--knob-inset);width:var(--knob);height:var(--knob);background:var(--surface);box-shadow:0 var(--hairline) var(--knob-inset) var(--scrim)}
.ui-switch input:not(:checked)::after{background:var(--knob-off)}
.ui-switch input:checked{background:var(--accent);border-color:var(--accent)}
.ui-switch input:checked::after{transform:translateX(calc(var(--switch-w) - var(--knob) - var(--knob-inset) * 2 - var(--hairline) * 2))}

/* Selection and navigation */
.ui-segmented{gap:var(--hairline);padding:var(--knob-inset);border:var(--hairline) solid var(--line);border-radius:var(--r-md);background:var(--surface-2)}
.ui-segmented button{min-height:calc(var(--control-h) - var(--space-2));padding:0 var(--space-3);border-radius:var(--r-sm);color:var(--text-2);font:var(--type-label)}
.ui-segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 0 0 var(--hairline) var(--line)}
.ui-tabs{gap:var(--space-6);border-bottom:var(--hairline) solid var(--line)}
.ui-tabs [role=tab]{min-height:var(--row-h);color:var(--text-2);font:var(--type-label)}
.ui-tab-indicator{height:var(--rule);bottom:calc(var(--hairline) * -1);background:var(--accent)}
.ui-tab-panel{padding-top:var(--space-5)}
.ui-breadcrumb{gap:var(--space-2);color:var(--text-3);font:var(--type-label)}
.ui-breadcrumb li+li::before{margin-right:var(--space-2);color:var(--line-strong)}
.ui-breadcrumb a{display:inline-flex;align-items:center;min-height:var(--space-6)}
.ui-breadcrumb [aria-current=page]{color:var(--text)}
.ui-kbd{min-width:calc(var(--space-5) + var(--knob-inset));padding:var(--knob-inset) var(--space-1);border:var(--hairline) solid var(--line-strong);border-radius:var(--space-1);background:var(--surface);color:var(--text-3);font:var(--type-small);box-shadow:none}

/* Floating layers */
.ui-menu,.ui-tooltip,[data-ui=popover]{padding:var(--space-1);border:var(--hairline) solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-float)}
.ui-menu [role=menuitem],.ui-menu [role=menuitemcheckbox]{gap:var(--space-3);min-height:var(--control-h);padding:var(--space-2) var(--space-3);border-radius:var(--r-sm);font:var(--type-body)}
.ui-menu hr{height:var(--hairline);margin:var(--space-1) calc(var(--space-1) * -1)}
.ui-menu kbd{color:var(--text-3);font:var(--type-small)}
.ui-tooltip{padding:var(--space-2) var(--space-3);font:var(--type-small);color:var(--text)}
.ui-dialog,.ui-sheet,.ui-command{border:var(--hairline) solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.ui-dialog::backdrop,.ui-sheet::backdrop,.ui-command::backdrop{background:var(--scrim)}
.ui-dialog__head,.ui-dialog__body,.ui-dialog__foot{padding:var(--space-5) var(--space-6)}
.ui-dialog__head{padding-bottom:0}
.ui-dialog__head h2,.ui-sheet__content h2{font:var(--type-stat);letter-spacing:var(--tracking-display)}
.ui-dialog__body{color:var(--text-2);font:var(--type-body)}
.ui-dialog__foot{gap:var(--space-2);padding-top:0}
.ui-sheet{border-radius:var(--r-lg) 0 0 var(--r-lg);transition-duration:var(--t-sheet)}
.ui-sheet__content{padding:var(--space-6)}
.ui-command input{height:calc(var(--row-h) + var(--space-2));padding:0 var(--space-5);border-bottom:var(--hairline) solid var(--line);font:var(--type-body)}
.ui-command__list{padding:var(--space-2)}
.ui-command__list button{gap:var(--space-3);min-height:var(--control-h);padding:var(--space-2) var(--space-3);border-radius:var(--r-sm);font:var(--type-body)}
.ui-command__empty{padding:var(--space-6) var(--space-3);font:var(--type-body);color:var(--text-2)}
.ui-command__footer{padding:var(--space-3) var(--space-5);border-top:var(--hairline) solid var(--line);font:var(--type-small);color:var(--text-3)}
.ui-toast-stack{right:var(--space-6);bottom:var(--space-6);gap:var(--space-2)}
.ui-toast{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--hairline) solid var(--line);border-radius:var(--r-md);font:var(--type-body)}
.ui-toast strong{font:var(--type-label)}
.ui-toast p{font:var(--type-small);color:var(--text-2)}
.ui-accordion{border-top:var(--hairline) solid var(--line)}
.ui-accordion:last-child{border-bottom:var(--hairline) solid var(--line)}
.ui-accordion summary{min-height:var(--row-h);font:var(--type-label)}
.ui-accordion summary::after{font:var(--type-heading);color:var(--text-3)}
.ui-accordion__body{padding:0 0 var(--space-4);font:var(--type-body);color:var(--text-2);max-width:var(--measure)}

/* Display and data */
.ui-badge{gap:var(--space-1);min-height:calc(var(--space-6) - var(--knob-inset));padding:0 var(--space-2);border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-2);font:var(--type-small);font-weight:500}
.ui-badge[data-tone=ok]{background:var(--ok-bg);color:var(--ok)}
.ui-badge[data-tone=warn]{background:var(--warn-bg);color:var(--warn)}
.ui-badge[data-tone=bad]{background:var(--bad-bg);color:var(--bad)}
.ui-badge[data-tone=info]{background:var(--info-bg);color:var(--info)}
.ui-status,.ui-status[data-tone]{--mark-color:var(--text-3);display:inline-flex;align-items:center;gap:var(--space-2);min-height:auto;padding:0;border-radius:0;background:none;color:var(--text-2);font:var(--type-small);font-weight:500;white-space:nowrap}
.ui-status::before{content:"";flex:none;width:var(--mark);height:var(--mark);border-radius:50%;background:var(--mark-color)}
.ui-status[data-status=ok],.ui-status[data-tone=ok]{--mark-color:var(--ok);background:none;color:var(--text-2)}
.ui-status[data-status=warn],.ui-status[data-tone=warn]{--mark-color:var(--warn);background:none;color:var(--text-2)}
.ui-status[data-status=bad],.ui-status[data-tone=bad]{--mark-color:var(--bad);background:none;color:var(--bad)}
.ui-status[data-status=info],.ui-status[data-tone=info]{--mark-color:var(--info);background:none;color:var(--text-2)}
.ui-status[data-status=idle]{--mark-color:transparent}
.ui-status[data-status=idle]::before{box-shadow:inset 0 0 0 var(--hairline) var(--text-3)}
.ui-avatar{width:var(--avatar);height:var(--avatar);border:0;background:var(--accent-subtle);color:var(--accent);font:var(--type-small);font-weight:600}
.ui-avatar[data-size=lg]{width:var(--avatar-lg);height:var(--avatar-lg);font:var(--type-label);font-weight:600}
.ui-avatar-group{padding-left:var(--space-1)}
.ui-avatar-group .ui-avatar{margin-left:calc(var(--space-1) * -1);box-shadow:0 0 0 var(--rule) var(--surface)}

.ui-card{padding:var(--space-6);border:var(--hairline) solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.ui-card h3{font:var(--type-heading)}
.ui-card p{margin-top:var(--space-1);color:var(--text-2);font:var(--type-body)}
.ui-card[data-link]:hover{border-color:var(--line-strong);background:var(--surface)}

.ui-stat-strip{border:var(--hairline) solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.ui-stat{margin:0;padding:var(--space-5) var(--space-6)}
.ui-stat+.ui-stat{border-left:var(--hairline) solid var(--line)}
.ui-stat dt{color:var(--text-2);font:var(--type-label)}
.ui-stat dd{margin:var(--space-2) 0 var(--space-1);font:var(--type-stat);letter-spacing:var(--tracking-display);font-variant-numeric:lining-nums tabular-nums}
.ui-stat small{display:block;color:var(--text-3);font:var(--type-small)}

.ui-table-wrap{border:var(--hairline) solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.ui-table th{height:var(--row-h);padding:0 var(--space-5);border-bottom:var(--hairline) solid var(--line);background:var(--surface);color:var(--text-3);font:var(--type-label)}
.ui-table th button{gap:var(--space-1);padding:var(--space-1) 0}
.ui-table td{height:calc(var(--row-h) + var(--space-2));padding:0 var(--space-5);border-bottom:var(--hairline) solid var(--line);color:var(--text-2);font:var(--type-body)}
.ui-table td:first-child{color:var(--text-2);font-weight:400}
.ui-table tbody tr:hover td{background:var(--bg)}
.ui-table .num{font-variant-numeric:tabular-nums}
.ui-table strong{color:var(--text);font-weight:500}
.ui-pagination{gap:var(--space-1)}
.ui-pagination button{min-width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--r-sm);color:var(--text-2);font:var(--type-label)}
.ui-pagination button[aria-current=page]{border-color:var(--line);background:var(--surface);color:var(--text)}
.ui-empty{gap:var(--space-2);padding:var(--space-8) var(--space-6)}
.ui-empty h3{font:var(--type-stat);letter-spacing:var(--tracking-display)}
.ui-empty p{color:var(--text-2);font:var(--type-body)}
.ui-empty .ui-button{margin-top:var(--space-3)}
.ui-skeleton{height:var(--space-4);border-radius:var(--r-sm);background:var(--surface-2);animation:paper-pulse var(--t-pulse) var(--ease-in-out) infinite alternate}
@keyframes paper-pulse{from{opacity:1}to{opacity:.55}}

/* App shell */
.ui-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100dvh}
.ui-shell>main{min-width:0;padding:0 var(--gutter) var(--space-8)}
.ui-shell>main>*{max-width:var(--content-max);margin-inline:auto}
.ui-shell>main>*+*:not(.ui-page-header){margin-top:var(--space-7)}

.ui-sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:var(--space-6);height:100dvh;overflow-y:auto;padding:0 var(--space-3) var(--space-4);border-right:var(--hairline) solid var(--line);background:var(--bg)}
.ui-sidebar-head{display:flex;align-items:center;gap:var(--space-3);min-height:var(--topbar-h);padding:0 var(--space-2)}
.ui-sidebar-head strong{display:block;font:var(--type-label);color:var(--text)}
.ui-sidebar-head small{display:block;font:var(--type-small);color:var(--text-3)}
.ui-sidebar-head .ui-avatar{border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent)}
.ui-sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2) 0;border-top:var(--hairline) solid var(--line)}
.ui-sidebar-foot strong{display:block;font:var(--type-label)}
.ui-sidebar-foot small{display:block;font:var(--type-small);color:var(--text-3)}
.ui-sidebar-foot .ui-button{margin-left:auto}

.ui-nav{display:grid;gap:var(--hairline)}
.ui-nav-label{padding:0 var(--space-3) var(--space-2);color:var(--text-3);font:var(--type-small)}
.ui-nav-item{display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-h);padding:0 var(--space-3);border:var(--hairline) solid transparent;border-radius:var(--r-sm);color:var(--text-2);font:var(--type-label);text-decoration:none;transition:background-color var(--t-fast),color var(--t-fast)}
.ui-nav-item .ph{color:var(--text-3)}
.ui-nav-item:hover{background:var(--hover);color:var(--text)}
.ui-nav-item[aria-current=page]{border-color:var(--line);background:var(--surface);color:var(--text)}
.ui-nav-item[aria-current=page] .ph{color:var(--accent)}
.ui-nav-count{margin-left:auto;color:var(--text-3);font:var(--type-small);font-variant-numeric:tabular-nums}

.ui-shell>main>.ui-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-3);min-height:var(--topbar-h);max-width:none;margin-inline:calc(var(--gutter) * -1);padding:0 var(--gutter);background:var(--bg)}
.ui-topbar>nav{margin-right:auto;min-width:0}
.ui-topbar .ui-control{width:min(100%,calc(var(--detail-w) - var(--space-8) * 2))}
.ui-topbar [data-nav-toggle]{display:none}

.ui-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;padding-top:var(--space-6)}
.ui-page-title{font:var(--type-title);letter-spacing:var(--tracking-display);color:var(--text)}
.ui-page-sub{margin-top:var(--space-1);color:var(--text-2);font:var(--type-body);max-width:var(--measure)}
.ui-page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}

.ui-section{min-width:0}
.ui-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}
.ui-section-head h2,.ui-section-head h3{font:var(--type-heading);color:var(--text)}
.ui-section-head p{color:var(--text-3);font:var(--type-small)}
.ui-section-head a{display:inline-flex;align-items:center;min-height:var(--space-6);color:var(--text-2);font:var(--type-label);text-decoration:none;text-underline-offset:var(--space-1)}
.ui-section-head a:hover{color:var(--text);text-decoration:underline}

/* Lists */
.ui-list{display:grid;margin:0;padding:0;list-style:none;border:var(--hairline) solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}
.ui-card .ui-list{border:0;border-radius:0;background:transparent;margin-inline:calc(var(--space-6) * -1);margin-bottom:calc(var(--space-6) * -1)}
.ui-list-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);min-height:calc(var(--row-h) + var(--space-4));width:100%;padding:var(--space-3) var(--space-6);border:0;border-radius:0;border-top:var(--hairline) solid var(--line);background:transparent;color:var(--text);font:var(--type-body);text-align:left;text-decoration:none}
.ui-list>.ui-list-item:first-child,.ui-list>li:first-child>.ui-list-item{border-top:0}
.ui-list-item:is(a,button):hover{background:var(--bg)}
.ui-list-item:is(a,button):active:not(:disabled){transform:none}
.ui-list-item[aria-current=true],.ui-list-item[aria-selected=true]{background:var(--accent-subtle)}
.ui-list-item>.ph{display:grid;place-items:center;width:var(--icon-tile);height:var(--icon-tile);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-2)}
.ui-list-item strong{display:block;overflow:hidden;font:var(--type-body);font-weight:500;color:var(--text);text-overflow:ellipsis;white-space:nowrap}
.ui-list-meta{display:block;overflow:hidden;color:var(--text-3);font:var(--type-small);text-overflow:ellipsis;white-space:nowrap}
.ui-list-item>:last-child:not(:first-child){justify-self:end;text-align:right;font-variant-numeric:tabular-nums}
.ui-list>li.ui-list-meta{padding:var(--space-4) var(--space-6) var(--space-2);border-top:var(--hairline) solid var(--line);background:var(--bg);color:var(--text-3);font:var(--type-small);font-weight:500}
.ui-list>li.ui-list-meta:first-child{border-top:0}

.ui-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.ui-filter-bar>.ui-control,.ui-filter-bar>.ui-input{flex:1 1 calc(var(--detail-w) / 2);max-width:calc(var(--detail-w) - var(--space-8))}
.ui-filter-bar>.ui-select{width:auto}
.ui-filter-bar>output,.ui-filter-bar>[data-count]{margin-left:auto;color:var(--text-3);font:var(--type-small);font-variant-numeric:tabular-nums}

/* Charts */
.ui-chart{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-3);color:var(--chart-axis)}
.ui-chart>svg{display:block;width:100%;height:var(--chart-h);overflow:visible}
.ui-chart .grid{stroke:var(--chart-grid);stroke-width:1;vector-effect:non-scaling-stroke}
.ui-chart .series{fill:none;stroke:var(--chart-1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ui-chart .series[data-series="2"]{stroke:var(--chart-2)}
.ui-chart .series[data-series="3"]{stroke:var(--chart-3)}
.ui-chart .area{fill:var(--accent-subtle);stroke:none}
.ui-chart-axis{display:flex;justify-content:space-between;gap:var(--space-2);color:var(--chart-axis);font:var(--type-small);font-variant-numeric:tabular-nums}
.ui-chart>.ui-chart-axis{grid-column:1;padding-top:var(--space-2)}
.ui-chart>.ui-chart-axis[data-axis=x]{position:relative;display:block;height:calc(var(--lh-small) + var(--space-2))}
.ui-chart-axis[data-axis=x]>*{position:absolute;left:calc(var(--x) * 100%);transform:translateX(-50%);white-space:nowrap}
.ui-chart-axis[data-axis=x]>:first-child{transform:none}
.ui-chart-axis[data-axis=x]>:last-child{transform:translateX(-100%)}
.ui-chart-axis[data-axis=x][data-align=center]>*{transform:translateX(-50%)}
.ui-chart>.ui-chart-axis[data-axis=y]{grid-column:2;grid-row:1;flex-direction:column;align-items:flex-end;margin-block:calc(var(--lh-small) / -2);padding-top:0}
.ui-chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);color:var(--text-2);font:var(--type-small)}
.ui-chart-legend>*{display:inline-flex;align-items:center;gap:var(--space-2)}
.ui-chart-legend>*::before{content:"";width:var(--space-3);height:var(--rule);border-radius:var(--r-pill);background:var(--swatch,var(--chart-1))}
.ui-chart-legend[data-form=bar]>*::before{height:var(--space-3);border-radius:var(--knob-inset)}
.ui-chart-legend [data-estimate]::before{background:var(--surface-2);box-shadow:inset 0 0 0 var(--hairline) var(--chart-1)}
.ui-chart .bar{fill:var(--chart-1)}
.ui-chart .bar[data-estimate]{fill:var(--surface-2);stroke:var(--chart-1);stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}
.ui-chart>.ui-chart-legend{grid-column:1/-1;padding-top:var(--space-3)}

/* List-detail */
.ui-detail{position:sticky;top:calc(var(--topbar-h) + var(--space-4));display:grid;gap:var(--space-5);padding:var(--space-6);border:var(--hairline) solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.ui-detail-head{display:grid;gap:var(--space-2)}
.ui-detail-head h2{font:var(--type-heading);color:var(--text)}
.ui-detail-head p{color:var(--text-3);font:var(--type-small)}
.ui-detail-head data,.ui-detail-head .ui-num{font:var(--type-figure);letter-spacing:var(--tracking-display);color:var(--text);font-variant-numeric:lining-nums tabular-nums}
.ui-detail dl{margin:0}
.ui-detail-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center;gap:var(--space-3);min-height:var(--row-h);margin:0;border-top:var(--hairline) solid var(--line)}
.ui-detail-row>:first-child{margin:0;color:var(--text-3);font:var(--type-label);font-weight:400}
.ui-detail-row>:last-child{margin:0;min-width:0;color:var(--text);font:var(--type-body);display:flex;align-items:center;gap:var(--space-2)}
.ui-detail-row .ui-select{min-height:var(--control-h-sm);padding-block:var(--space-1)}

/* Settings */
.ui-settings-group{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-4) var(--space-8);padding-top:var(--space-7);border-top:var(--hairline) solid var(--line)}
.ui-settings-group>header h2{font:var(--type-heading);color:var(--text)}
.ui-settings-group>header p{margin-top:var(--space-1);color:var(--text-3);font:var(--type-small);max-width:calc(var(--measure) / 2)}
.ui-settings-group>:last-child{min-width:0;border:var(--hairline) solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.ui-settings-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2) var(--space-6);min-height:calc(var(--row-h) + var(--space-5));padding:var(--space-4) var(--space-6);border-top:var(--hairline) solid var(--line)}
.ui-settings-row:first-child{border-top:0}
.ui-settings-row:has(>.ui-field){grid-template-columns:minmax(0,1fr)}
.ui-settings-row:has(>.ui-field+.ui-field){grid-template-columns:repeat(2,minmax(0,1fr))}
.ui-settings-row>div>strong,.ui-settings-row>label>strong{display:block;font:var(--type-label);color:var(--text)}
.ui-settings-row>div>p,.ui-settings-row>label>p{margin-top:var(--knob-inset);color:var(--text-3);font:var(--type-small)}
.ui-settings-row .ui-select{width:auto}
.ui-settings-row .ui-switch{min-height:var(--touch)}

.ui-danger{border-top-color:var(--line)}
.ui-danger>header h2{color:var(--bad)}
.ui-danger>:last-child{border-color:var(--bad-bg)}

/* Chips */
.ui-chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-h-sm);padding:0 var(--space-3);border:var(--hairline) solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--text-2);font:var(--type-label);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--t-fast),border-color var(--t-fast),color var(--t-fast)}
.ui-chip:hover:not(:disabled){background:var(--hover);color:var(--text)}
.ui-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}
.ui-chip small{color:var(--text-3);font:var(--type-small);font-variant-numeric:tabular-nums}
.ui-chip[aria-pressed=true] small{color:inherit}
.ui-chip:active:not(:disabled){transform:none}

/* Alerts */
.ui-alert{--alert-color:var(--info);--alert-bg:var(--info-bg);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--r-md);background:var(--alert-bg);color:var(--text);font:var(--type-body)}
.ui-alert[data-status=ok]{--alert-color:var(--ok);--alert-bg:var(--ok-bg)}
.ui-alert[data-status=warn]{--alert-color:var(--warn);--alert-bg:var(--warn-bg)}
.ui-alert[data-status=bad]{--alert-color:var(--bad);--alert-bg:var(--bad-bg)}
.ui-alert[data-status=idle]{--alert-color:var(--text-3);--alert-bg:var(--surface-2)}
.ui-alert>.ph{color:var(--alert-color)}
.ui-alert p{margin:0;min-width:0}
.ui-alert strong{font-weight:600}
.ui-alert>:last-child:not(:nth-child(2)){justify-self:end}
.ui-alert:not(:has(>:nth-child(3))){grid-template-columns:auto minmax(0,1fr)}

/* Progress and meter: label left, number right, bar under both */
.ui-progress,.ui-meter{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:var(--space-2) var(--space-3);font:var(--type-label);color:var(--text)}
.ui-progress>:nth-child(2),.ui-meter>:nth-child(2){font-variant-numeric:tabular-nums}
.ui-progress small,.ui-meter small{color:var(--text-3);font:var(--type-small);font-variant-numeric:tabular-nums}
.ui-progress>:is(progress,meter),.ui-meter>:is(progress,meter){grid-column:1/-1}
:is(progress.ui-progress,.ui-progress progress,meter.ui-meter,.ui-meter meter){--meter-color:var(--chart-1);-webkit-appearance:none;appearance:none;display:block;width:100%;height:var(--bar-h);margin:0;border:0;border-radius:var(--r-pill);background:var(--chart-track);overflow:hidden}
.ui-meter[data-status=warn],meter.ui-meter[data-status=warn]{--meter-color:var(--warn)}
.ui-meter[data-status=bad],meter.ui-meter[data-status=bad]{--meter-color:var(--bad)}
.ui-meter[data-status=bad] small{color:var(--bad)}
.ui-meter[data-status=warn] small{color:var(--warn)}
.ui-meter[data-status] meter{--meter-color:inherit}
:is(.ui-progress progress,progress.ui-progress)::-webkit-progress-bar{background:var(--chart-track);border-radius:var(--r-pill)}
:is(.ui-progress progress,progress.ui-progress)::-webkit-progress-value{background:var(--accent);border-radius:var(--r-pill);transition:width var(--t-base) var(--ease-out)}
:is(.ui-progress progress,progress.ui-progress)::-moz-progress-bar{background:var(--accent);border-radius:var(--r-pill)}
:is(.ui-progress progress,progress.ui-progress):not([value]){background:var(--accent-subtle);animation:paper-pulse var(--t-pulse) var(--ease-in-out) infinite alternate}
:is(.ui-progress progress,progress.ui-progress):not([value])::-webkit-progress-bar{background:var(--accent-subtle)}
:is(.ui-meter meter,meter.ui-meter)::-webkit-meter-bar{height:var(--bar-h);border:0;border-radius:var(--r-pill);background:var(--chart-track)}
:is(.ui-meter meter,meter.ui-meter)::-webkit-meter-optimum-value,:is(.ui-meter meter,meter.ui-meter)::-webkit-meter-suboptimum-value,:is(.ui-meter meter,meter.ui-meter)::-webkit-meter-even-less-good-value{border-radius:var(--r-pill);background:var(--meter-color)}
.ui-meter[data-status=warn] meter::-webkit-meter-optimum-value,.ui-meter[data-status=warn] meter::-webkit-meter-suboptimum-value{background:var(--warn)}
.ui-meter[data-status=bad] meter::-webkit-meter-optimum-value,.ui-meter[data-status=bad] meter::-webkit-meter-suboptimum-value,.ui-meter[data-status=bad] meter::-webkit-meter-even-less-good-value{background:var(--bad)}
:is(.ui-meter meter,meter.ui-meter)::-moz-meter-bar{border-radius:var(--r-pill);background:var(--meter-color)}
.ui-meter[data-status=bad] meter::-moz-meter-bar{background:var(--bad)}
.ui-meter[data-status=warn] meter::-moz-meter-bar{background:var(--warn)}
.ui-meter{position:relative}
.ui-meter[data-pace]::after{content:"";position:absolute;bottom:calc(var(--knob-inset) * -1);left:var(--pace);width:var(--rule);height:calc(var(--bar-h) + var(--space-1));border-radius:var(--hairline);background:var(--text);box-shadow:0 0 0 var(--hairline) var(--surface);transform:translateX(-50%)}
.ui-meter[data-pace]:not([data-pace=""])::before{content:attr(data-pace);position:absolute;top:100%;left:var(--pace);margin-top:var(--knob-inset);transform:translateX(-50%);color:var(--text-2);font:var(--type-small);font-weight:500;white-space:nowrap}
.ui-meter[data-pace]:not([data-pace=""]){margin-bottom:var(--lh-small)}
ul:has(>li>.ui-meter),ol:has(>li>.ui-meter){display:grid;gap:var(--space-5);margin:0;padding:0;list-style:none}

/* Data list */
.ui-data-list{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);margin:0}
.ui-data-list>div{display:grid;grid-column:1/-1;grid-template-columns:subgrid}
.ui-data-list dt,.ui-data-list dd{display:flex;align-items:center;gap:var(--space-2);min-width:0;min-height:var(--row-h);margin:0;padding-block:var(--space-2);border-top:var(--hairline) solid var(--line)}
.ui-data-list dt{color:var(--text-3);font:var(--type-label);font-weight:400}
.ui-data-list dd{padding-left:var(--space-3);color:var(--text);font:var(--type-body);overflow-wrap:break-word}
.ui-data-list>div:first-child>*,.ui-data-list>dt:first-child,.ui-data-list>dt:first-child+dd{border-top:0}

/* Timeline */
.ui-timeline{display:grid;margin:0;padding:0;list-style:none}
.ui-timeline-item{position:relative;display:grid;grid-template-columns:var(--step) minmax(0,1fr) auto;column-gap:var(--space-3);padding-bottom:var(--space-5);color:var(--text-2);font:var(--type-body)}
.ui-timeline-item:last-child{padding-bottom:0}
.ui-timeline-item::before{content:"";grid-column:1;grid-row:1;justify-self:center;width:var(--mark);height:var(--mark);margin-top:calc((var(--lh-body) - var(--mark)) / 2);border-radius:50%;background:var(--surface);box-shadow:inset 0 0 0 var(--rule) var(--line-strong)}
.ui-timeline-item::after{content:"";position:absolute;top:calc(var(--lh-body) / 2 + var(--mark) / 2 + var(--space-1));bottom:calc(var(--space-1) - (var(--lh-body) - var(--mark)) / 2);left:calc(var(--step) / 2 - var(--hairline) / 2);width:var(--hairline);background:var(--line)}
.ui-timeline-item:last-child::after{content:none}
.ui-timeline-item[data-status=ok]::before{background:var(--ok);box-shadow:none}
.ui-timeline-item[data-status=warn]::before{background:var(--warn);box-shadow:none}
.ui-timeline-item[data-status=bad]::before{background:var(--bad);box-shadow:none}
.ui-timeline-item[data-status=info]::before{background:var(--info);box-shadow:none}
.ui-timeline-item>*{grid-column:2;margin:0;min-width:0}
.ui-timeline-item strong{color:var(--text);font-weight:500}
.ui-timeline-item small,.ui-timeline-item p+p{color:var(--text-3);font:var(--type-small)}
.ui-timeline-item>time{grid-column:3;grid-row:1;color:var(--text-3);font:var(--type-small);line-height:var(--lh-body);white-space:nowrap;font-variant-numeric:tabular-nums}

/* Code */
code.ui-code,.ui-code:not(pre,div,figure) {padding:0 var(--space-1);border:var(--hairline) solid var(--line);border-radius:var(--space-1);background:var(--surface-2);color:var(--text);font:var(--type-small);font-family:var(--font-mono)}
:is(div,figure,pre).ui-code{position:relative;margin:0;border:var(--hairline) solid var(--line);border-radius:var(--r-md);background:var(--surface-2);color:var(--text)}
:is(div,figure).ui-code pre,pre.ui-code{margin:0;padding:var(--space-4) var(--space-5);overflow:auto;font:var(--type-small);font-family:var(--font-mono);line-height:var(--lh-body);tab-size:2}
:is(div,figure).ui-code:has([data-copy]) pre{padding-right:calc(var(--space-8) + var(--space-7))}
.ui-code [data-copy]{position:absolute;top:var(--space-2);right:var(--space-2)}
.ui-code figcaption{padding:var(--space-2) var(--space-5);border-bottom:var(--hairline) solid var(--line);color:var(--text-3);font:var(--type-small)}

/* Steps */
.ui-steps{display:flex;align-items:center;gap:var(--space-3);margin:0;padding:0;list-style:none;counter-reset:step}
.ui-step{display:flex;flex:1 1 0;align-items:center;gap:var(--space-2);min-width:0;color:var(--text-3);font:var(--type-label);counter-increment:step;white-space:nowrap}
.ui-step:last-child{flex:none}
.ui-step::before{content:counter(step);display:grid;flex:none;place-items:center;width:var(--step);height:var(--step);border-radius:50%;box-shadow:inset 0 0 0 var(--hairline) var(--line-strong);background:var(--surface);color:var(--text-2);font:var(--type-small);font-weight:600;font-variant-numeric:tabular-nums}
.ui-step:not(:last-child)::after{content:"";flex:1 1 auto;min-width:var(--space-4);height:var(--hairline);margin-left:var(--space-1);background:var(--line-strong)}
.ui-step[aria-current=step]{color:var(--text)}
.ui-step[aria-current=step]::before{background:var(--surface);box-shadow:inset 0 0 0 var(--rule) var(--accent);color:var(--accent)}
.ui-step:has(~.ui-step[aria-current=step]),.ui-step[data-status=ok]{color:var(--text-2)}
.ui-step:has(~.ui-step[aria-current=step])::before,.ui-step[data-status=ok]::before{content:"";background:var(--accent) var(--check-image) center/var(--check) no-repeat;box-shadow:none}
.ui-step:has(~.ui-step[aria-current=step])::after{background:var(--accent)}
.ui-step a{color:inherit;text-decoration:none}

/* Slider */
.ui-slider{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2) var(--space-3);font:var(--type-label);color:var(--text)}
.ui-slider output{color:var(--text);font:var(--type-label);font-variant-numeric:tabular-nums}
.ui-slider>input,input.ui-slider{--fill:50%;grid-column:1/-1;-webkit-appearance:none;appearance:none;width:100%;height:var(--touch);margin:0;background:transparent;cursor:pointer}
:is(.ui-slider>input,input.ui-slider)::-webkit-slider-runnable-track{height:var(--space-1);border-radius:var(--r-pill);background:linear-gradient(to right,var(--accent) var(--fill),var(--chart-track) var(--fill))}
:is(.ui-slider>input,input.ui-slider)::-moz-range-track{height:var(--space-1);border-radius:var(--r-pill);background:var(--chart-track)}
:is(.ui-slider>input,input.ui-slider)::-moz-range-progress{height:var(--space-1);border-radius:var(--r-pill);background:var(--accent)}
:is(.ui-slider>input,input.ui-slider)::-webkit-slider-thumb{-webkit-appearance:none;width:var(--knob);height:var(--knob);margin-top:calc((var(--space-1) - var(--knob)) / 2);border:var(--hairline) solid var(--line-strong);border-radius:50%;background:var(--surface);box-shadow:0 var(--hairline) var(--knob-inset) var(--scrim);transition:box-shadow var(--t-fast)}
:is(.ui-slider>input,input.ui-slider)::-moz-range-thumb{width:var(--knob);height:var(--knob);border:var(--hairline) solid var(--line-strong);border-radius:50%;background:var(--surface)}
:is(.ui-slider>input,input.ui-slider):focus-visible{outline:0}
:is(.ui-slider>input,input.ui-slider):focus-visible::-webkit-slider-thumb{border-color:var(--accent);box-shadow:var(--focus)}
:is(.ui-slider>input,input.ui-slider):disabled{cursor:not-allowed}
.ui-slider small{grid-column:1/-1;color:var(--text-3);font:var(--type-small)}

/* Combobox: a native input list styled as the field */
.ui-combobox input[list],input.ui-combobox{width:100%;min-height:var(--control-h);padding:var(--space-2) var(--space-7) var(--space-2) var(--space-3);border:var(--hairline) solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface) var(--chevron-image) right var(--space-3) center no-repeat;color:var(--text);font:var(--type-body)}
.ui-combobox .ui-affix:first-child+input[list]{padding-left:calc(var(--space-3) + var(--icon) + var(--space-2))}
.ui-combobox input[list]::-webkit-calendar-picker-indicator,input.ui-combobox::-webkit-calendar-picker-indicator{opacity:0}
.ui-combobox input[list]:hover:not(:disabled),input.ui-combobox:hover:not(:disabled){border-color:var(--text-3)}
.ui-combobox input[list]:focus,input.ui-combobox:focus{outline:0;border-color:var(--accent);box-shadow:var(--focus)}
.ui-combobox input[list]::placeholder{color:var(--text-3)}

/* Sign-in frame */
.ui-auth{display:grid;gap:var(--space-5);width:min(100%,var(--auth-w));margin-inline:auto;padding:var(--space-7);border:var(--hairline) solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.ui-auth>header{display:grid;justify-items:start;gap:var(--space-2)}
.ui-auth>header .ui-avatar{margin-bottom:var(--space-3);border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent)}
.ui-auth h1{font:var(--type-title);letter-spacing:var(--tracking-display);color:var(--text)}
.ui-auth>header p{color:var(--text-2);font:var(--type-body)}
.ui-auth form{display:grid;gap:var(--space-4)}
.ui-auth .ui-button{width:100%}
.ui-auth [role=separator]{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--space-3);color:var(--text-3);font:var(--type-small)}
.ui-auth [role=separator]::before,.ui-auth [role=separator]::after{content:"";height:var(--hairline);background:var(--line)}
.ui-auth .ui-label a,.ui-auth a.ui-label,.ui-auth p a{color:var(--accent);font:var(--type-label);text-decoration:none}
.ui-auth .ui-label a:hover,.ui-auth a.ui-label:hover,.ui-auth p a:hover{text-decoration:underline}
.ui-auth>small,.ui-auth>footer{color:var(--text-3);font:var(--type-small)}
.ui-auth>small a,.ui-auth>footer a{color:var(--text-2);font:inherit;text-decoration:underline}

/* Static layers: an open menu, tooltip, dialog or sheet drawn in place for docs and previews */
.ui-menu:not([popover]),.ui-tooltip:not([popover]){position:static;opacity:1;transform:none}
dialog.ui-dialog[open]:not(:modal),dialog.ui-sheet[open]:not(:modal),dialog.ui-command[open]:not(:modal){position:static;inset:auto;width:100%;max-width:none;height:auto;margin:0;opacity:1;transform:none;box-shadow:var(--shadow-float)}
dialog.ui-sheet[open]:not(:modal){border-radius:var(--r-lg)}

/* Narrow screens: one column, sidebar becomes a sheet behind the menu button */
@media (max-width:47.9375em){
  .ui-shell{grid-template-columns:minmax(0,1fr)}
  .ui-sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:min(var(--sidebar-w),calc(100vw - var(--space-8)));box-shadow:var(--shadow-float);transform:translateX(-100%);visibility:hidden;transition:transform var(--t-layer) var(--ease-out),visibility var(--t-none) linear var(--t-layer)}
  .ui-shell[data-nav-open] .ui-sidebar{transform:none;visibility:visible;transition:transform var(--t-layer) var(--ease-out)}
  .ui-shell[data-nav-open]::after{content:"";position:fixed;inset:0;z-index:30;background:var(--scrim)}
  .ui-topbar{gap:var(--space-2)}
  .ui-topbar [data-nav-toggle]{display:inline-flex;margin-left:calc(var(--space-2) * -1)}
  .ui-topbar .ui-control{display:none}
  .ui-topbar .ui-breadcrumb li:not([aria-current]){display:none}
  .ui-topbar .ui-breadcrumb li+li::before{content:none}
  .ui-page-header{align-items:flex-start;flex-direction:column;gap:var(--space-4);padding-top:var(--space-2)}
  .ui-page-actions{width:100%}
  .ui-page-actions .ui-button{flex:1 1 auto}
  .ui-page-actions .ui-button[data-icon]{flex:none}
  .ui-shell>main>*+*:not(.ui-page-header){margin-top:var(--space-6)}
  .ui-card{padding:var(--space-5)}
  .ui-card .ui-list{margin-inline:calc(var(--space-5) * -1);margin-bottom:calc(var(--space-5) * -1)}
  .ui-list-item{padding-inline:var(--space-4)}
  .ui-list>li.ui-list-meta{padding-inline:var(--space-4)}
  .ui-stat{padding:var(--space-4) var(--space-5)}
  .ui-stat dd{margin-block:var(--space-1) 0}
  .ui-table th,.ui-table td{padding-inline:var(--space-3)}
  .ui-detail{position:static;padding:var(--space-5)}
  .ui-settings-group{grid-template-columns:minmax(0,1fr);padding-top:var(--space-6)}
  .ui-settings-row{padding:var(--space-4)}
  .ui-settings-row:has(>.ui-field+.ui-field){grid-template-columns:minmax(0,1fr)}
  .ui-filter-bar>.ui-control,.ui-filter-bar>.ui-input{flex-basis:100%;max-width:none}
  .ui-switch,.ui-choice,.ui-nav-item,.ui-list-item:is(a,button),.ui-input,.ui-select,.ui-detail-row .ui-select,.ui-segmented button,.ui-button,.ui-button:not([data-size=sm]),.ui-section-head a{min-height:var(--touch)}
  .ui-segmented button{flex:1 1 auto}
  .ui-filter-bar>.ui-segmented{flex:1 1 100%}
  .ui-toast-stack{right:var(--space-4);bottom:var(--space-4)}
  .ui-chart-axis [data-minor]{display:none}
  .ui-chip{min-height:var(--touch)}
  .ui-data-list,.ui-data-list>div{grid-template-columns:minmax(0,1fr)}
  .ui-data-list dt{min-height:0;padding-block:var(--space-3) 0}
  .ui-data-list dd{min-height:0;padding:var(--space-1) 0 var(--space-3);border-top:0}
  .ui-alert{grid-template-columns:auto minmax(0,1fr);padding-right:var(--space-4)}
  .ui-alert>:nth-child(3){grid-column:2;justify-self:start}
  .ui-timeline-item{grid-template-columns:var(--step) minmax(0,1fr)}
  .ui-timeline-item>time{grid-column:2;grid-row:auto;line-height:var(--lh-small)}
  .ui-step:not([aria-current=step]){flex:0 1 auto;font-size:0;gap:0}
  .ui-step:not([aria-current=step]):not(:last-child)::after{margin-left:var(--space-3)}
  .ui-auth{padding:var(--space-6) var(--space-5)}
  .ui-combobox input[list],input.ui-combobox,.ui-slider>input{min-height:var(--touch)}
  .ui-code [data-copy]{min-height:var(--touch)}
}
