
@font-face{font-family:'Geist';src:url('/files/fonts/Geist-wght.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{
  color-scheme:light;
  --upa-ink:#14161A;--upa-body:#374151;--upa-muted:#5C6472;--upa-faint:#8A8F99;
  --upa-accent:#2563EB;--upa-accent-hover:#1D4ED8;--upa-accent-wash:#EFF4FE;--upa-accent-line:#CBDCF2;
  --upa-page:#EDEDEF;--upa-panel:#FFFFFF;--upa-subtle:#F2F4F7;
  --upa-border:#D9DDE3;--upa-soft:#E1E5EA;--upa-softer:#E8EBEF;
  --upa-table-rule:#CBD2DA;--upa-table-major:#B9C1CB;
  --upa-caution:#B7891B;--upa-caution-bg:#FDFAE8;--upa-caution-line:#E8DFA8;
  --upa-problem:#B42318;--upa-problem-dark:#5C130C;--upa-problem-bg:#FBF0EF;
  --upa-good:#1B5E36;--upa-good-bg:#EAF4EC;
  --upa-bar:#14161A;--upa-bar-chip:#22252B;--upa-bar-button:#1C1F25;--upa-bar-line:#30343C;
  --upa-bar-avatar:#454B55;--upa-bar-text:#C7CCD4;--upa-bar-muted:#9BA3AF;
  --upa-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235C6472' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --upa-chevron-bar:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%239BA3AF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  font-family:'Geist',system-ui,sans-serif;font-variant-numeric:tabular-nums;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{min-height:100%;background:var(--upa-page)}html:has(>body.upa-shell){background:var(--upa-bar)}
body.upa-shell{min-height:100dvh;margin:0;background:var(--upa-page);color:var(--upa-ink);font:400 13px/1.5 'Geist',system-ui,sans-serif}
a{color:var(--upa-accent);text-decoration:none}a:hover{color:var(--upa-accent-hover)}button,input,select,textarea{font:inherit}
.upa-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.upa-app-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:10px;height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));background:var(--upa-bar);color:#fff}
.upa-bar-divider{flex:0 0 1px;width:1px;height:24px;margin:0 4px;background:var(--upa-bar-line)}.upa-app-name{flex:0 0 auto;font-size:13.5px;font-weight:600;color:#fff;white-space:nowrap}.upa-app-path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;color:var(--upa-bar-muted)}.upa-bar-spacer{flex:1 1 auto}
.upa-bar-control{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:5px 9px;border:1px solid var(--upa-bar-line);border-radius:8px;background:var(--upa-bar-button);color:var(--upa-bar-text);font-size:12.5px;font-weight:500;white-space:nowrap;cursor:pointer}.upa-bar-control:hover,.upa-menu[open]>.upa-bar-control{border-color:var(--upa-bar-avatar);background:var(--upa-bar-line);color:#fff}
.upa-bar-control::after,.upa-select-trigger::after{content:'';flex:0 0 auto;width:10px;height:6px;background:var(--upa-chevron) center/10px 6px no-repeat;transition:transform .12s ease}.upa-bar-control::after{background-image:var(--upa-chevron-bar)}.upa-menu[open]>.upa-bar-control::after,.upa-select[data-open=true]>.upa-select-trigger::after{transform:rotate(180deg)}
.upa-account-chip{padding:4px 10px 4px 5px;font-size:13px}.upa-account-chip::after{display:none}.upa-avatar{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--upa-bar-avatar);border-radius:50%;background:var(--upa-accent);color:#fff;font-size:11px;font-weight:600}.upa-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:var(--upa-accent);color:#fff;font-size:10.5px;font-weight:600}
.upa-menu{position:relative}.upa-menu>summary{list-style:none}.upa-menu>summary::-webkit-details-marker{display:none}.upa-menu-panel{position:absolute;top:calc(100% + 7px);left:0;z-index:60;width:360px;padding:6px;border:1px solid var(--upa-border);border-radius:10px;background:#fff;box-shadow:0 16px 40px rgba(16,24,40,.24);color:var(--upa-ink)}.upa-menu--end .upa-menu-panel{right:0;left:auto;width:240px}.upa-menu-label{padding:8px 10px 6px;color:var(--upa-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.upa-menu-item{display:flex;width:100%;align-items:flex-start;gap:10px;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:var(--upa-ink);font:inherit;text-align:left}.upa-menu-item:hover,.upa-menu-item[aria-current=page]{background:var(--upa-subtle);color:var(--upa-ink)}button.upa-menu-item{cursor:pointer}.upa-menu-item[aria-disabled=true]{color:var(--upa-faint)}.upa-menu-item strong{display:block;font-size:13.5px;font-weight:600}.upa-menu-item span{display:block;color:var(--upa-body);font-size:12.5px;line-height:1.4}.upa-menu-rule{height:1px;margin:5px 8px;background:var(--upa-softer)}
.upa-page-view .upa-menu-panel{width:262px;padding:8px 4px 4px;border-radius:8px;box-shadow:0 12px 32px rgba(16,24,40,.18)}.upa-page-view .upa-menu-item{align-items:center;gap:9px;min-height:44px;padding:7px 10px}.upa-page-view .upa-menu-item:hover{background:var(--upa-subtle)}.upa-menu-text{flex:1 1 auto;min-width:0}.upa-page-view .upa-menu-text>span{margin-top:1px;color:#4B5563;font-size:12px}.upa-page-view .upa-menu-item .upa-count{display:inline-block;flex:0 0 auto;min-width:0;height:auto;margin:0;padding:1px 7px;color:#fff;font-size:11px;line-height:1.4}.upa-page-view .upa-menu-item .upa-menu-check{flex:0 0 auto;color:var(--upa-muted);font-size:13px}
.upa-main{width:100%;margin:0 auto;padding:14px calc(16px + env(safe-area-inset-right)) 14px calc(16px + env(safe-area-inset-left))}.upa-shell:has(.upa-page-footer) .upa-main{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.upa-public-shell .upa-main{padding-top:calc(14px + env(safe-area-inset-top))}.upa-page-heading{display:flex;align-items:baseline;gap:10px;margin:0 0 12px}.upa-page-heading h1{margin:0;font-size:17px;line-height:1.3;font-weight:600;letter-spacing:-.01em}.upa-page-heading p{margin:0;color:var(--upa-muted);font-size:12.5px}.upa-section-title{margin:20px 0 10px;font-size:19px;line-height:1.3;font-weight:600}.upa-card{margin:0 0 14px;padding:16px 18px;border:1px solid var(--upa-border);border-radius:10px;background:var(--upa-panel);color:var(--upa-ink);box-shadow:0 1px 2px rgba(16,24,40,.05)}.upa-card>h2:first-child{margin:0 0 12px;font-size:15px;font-weight:600}.upa-card>h3:first-child{margin:0 0 10px;font-size:14px;font-weight:600}
.upa-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:35px;padding:8px 13px;border:1px solid var(--upa-border);border-radius:8px;background:#fff;color:var(--upa-body);font-size:13px;font-weight:500;line-height:17px;cursor:pointer;white-space:nowrap}.upa-button:hover{background:#F8F9FB}.upa-button:focus-visible,.upa-field input:focus-visible,.upa-field textarea:focus-visible,.upa-select-trigger:focus-visible{outline:0;border-color:var(--upa-accent);box-shadow:0 0 0 3px rgba(37,99,235,.16)}.upa-primary{padding-inline:16px;border-color:var(--upa-accent);background:var(--upa-accent);color:#fff;font-weight:600;box-shadow:0 1px 2px rgba(37,99,235,.3)}.upa-primary:hover{border-color:var(--upa-accent-hover);background:var(--upa-accent-hover)}
.upa-primary--danger{border-color:var(--upa-problem);background:var(--upa-problem);box-shadow:0 1px 2px rgba(180,35,24,.3)}.upa-primary--danger:hover{border-color:#912018;background:#912018}.upa-danger{border-color:#E4B4AF;background:#fff;color:var(--upa-problem)}.upa-danger:hover{background:var(--upa-problem-bg)}.upa-caution{border-color:var(--upa-caution-line);background:var(--upa-caution-bg);color:#6B5510}.upa-overflow{padding-inline:11px;color:var(--upa-muted)}.upa-small{min-height:30px;padding:5px 10px;font-size:12px}.upa-button:disabled{border-color:#E5E8ED;background:#F4F5F7;color:var(--upa-faint);box-shadow:none;cursor:not-allowed}.upa-button[aria-busy=true]::before,.upa-spinner{content:'';display:inline-block;width:14px;height:14px;border:2px solid #CBD2DA;border-top-color:currentColor;border-radius:50%;animation:upa-spin .8s linear infinite}@keyframes upa-spin{to{transform:rotate(360deg)}}
.upa-field{display:flex;flex-direction:column;gap:5px;margin:0 0 12px;color:var(--upa-muted);font-size:12px;font-weight:500}.upa-field input,.upa-field select,.upa-field textarea{width:100%;max-width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--upa-border);border-radius:8px;background:#fff;color:var(--upa-ink);font-size:15px;font-weight:400;outline:0}.upa-field textarea{min-height:88px;resize:vertical}.upa-field input::placeholder,.upa-field textarea::placeholder{color:var(--upa-faint)}.upa-field input:disabled,.upa-field textarea:disabled{background:#F4F5F7;color:var(--upa-faint)}.upa-field-note{color:var(--upa-muted);font-size:12.5px;font-weight:400}.upa-check{display:flex;align-items:center;gap:8px;min-height:35px;padding:5px 0;color:var(--upa-body);font-size:13px}.upa-check input{width:20px;height:20px;margin:0;accent-color:var(--upa-accent)}
.upa-stepper{display:flex;align-items:center;gap:10px}.upa-stepper>.upa-button{flex:0 0 44px;width:44px;height:44px;padding:0;font-size:18px}.upa-stepper>input[type=number]{flex:0 0 58px;width:58px;min-height:44px;padding:9px 6px;text-align:center;appearance:textfield}.upa-stepper>input[type=number]::-webkit-inner-spin-button,.upa-stepper>input[type=number]::-webkit-outer-spin-button{margin:0;appearance:none}.upa-stepper-unit{color:var(--upa-muted);font-size:12px;font-weight:400}.upa-demo-stepper{margin-top:12px}
.upa-select{position:relative}.upa-select>select[hidden]{display:none}.upa-select-trigger{width:100%;min-height:44px;justify-content:space-between;padding:10px 9px 10px 12px;color:var(--upa-ink);font-size:15px;font-weight:400;text-align:left}.upa-select-options{position:absolute;z-index:70;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow:auto;padding:5px;border:1px solid var(--upa-border);border-radius:8px;background:#fff;color:var(--upa-ink);box-shadow:0 10px 26px rgba(16,24,40,.16)}.upa-select-options[hidden]{display:none}.upa-dialog:has(.upa-select-options:not([hidden])),.upa-dialog:has(.upa-select-options:not([hidden])) .upa-dialog-body{overflow:visible}.upa-select-group{padding:8px 10px 5px;color:var(--upa-muted);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.upa-select-option{min-height:38px;padding:9px 10px;border-radius:6px;color:var(--upa-body);font-size:13.5px;cursor:pointer}.upa-select-option:hover,.upa-select-option:focus{outline:0;background:var(--upa-subtle)}.upa-select-option[aria-selected=true]{background:var(--upa-accent-wash);color:var(--upa-ink);font-weight:600}.upa-select-option[aria-disabled=true]{color:var(--upa-faint);background:transparent;cursor:default}
.upa-segment{display:inline-flex;padding:2px;border:1px solid var(--upa-soft);border-radius:8px;background:#F1F3F6}.upa-segment button{min-height:30px;padding:5px 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--upa-muted);font-size:13px;font-weight:500}@media(pointer:fine){.upa-page-footer .upa-segment button,.upa-page-footer .upa-segment a{height:29px;min-height:29px;padding-top:0;padding-bottom:0}}.upa-segment [aria-pressed=true]{border-color:var(--upa-border);background:#fff;color:var(--upa-ink);font-weight:600}.upa-chip{display:inline-flex;align-items:center;min-height:35px;padding:7px 13px;border:1px solid var(--upa-border);border-radius:999px;background:#fff;color:var(--upa-ink);font-size:13.5px}.upa-chip[aria-pressed=true]{border-color:var(--upa-accent);background:var(--upa-accent);color:#fff;font-weight:600}.upa-badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border:1px solid var(--upa-soft);border-radius:999px;background:var(--upa-subtle);color:var(--upa-muted);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.upa-badge--good{border-color:#CBE4D0;background:var(--upa-good-bg);color:var(--upa-good)}.upa-badge--caution{border-color:var(--upa-caution-line);background:var(--upa-caution-bg);color:#6B5510}.upa-badge--problem{border-color:#E8C9C4;background:var(--upa-problem-bg);color:var(--upa-problem)}
.upa-tabs{display:flex;align-items:flex-end;gap:3px;position:relative;z-index:2;padding:0 16px}.upa-tab{display:inline-flex;align-items:center;min-height:36px;margin-bottom:-1px;padding:8px 16px;border:1px solid var(--upa-border);border-bottom:0;border-radius:8px 8px 0 0;background:#EAECF0;color:var(--upa-muted);font-size:13px;font-weight:500}.upa-tab[aria-current=page],.upa-tab[aria-selected=true]{position:relative;z-index:3;padding-top:7px;border-top:2px solid var(--upa-accent);background:#fff;color:var(--upa-ink);font-weight:600}.upa-tab[aria-current=page]::after,.upa-tab[aria-selected=true]::after{content:"";position:absolute;right:0;bottom:-2px;left:0;height:3px;background:#fff}.upa-tab[aria-disabled=true]{border-color:#E5E8ED;background:#F4F5F7;color:#A6ADB8}.upa-tabs--second,.upa-tabs--third{margin-left:-17px;padding-left:0;border-bottom:1px solid var(--upa-soft)}.upa-tabs--second:has(+.upa-tab-panel--nested),.upa-tabs--third:has(+.upa-tab-panel--third){border-bottom:0}.upa-tabs--second .upa-tab{min-height:31px;padding:5px 12px;border-color:var(--upa-soft);border-radius:7px 7px 0 0;background:#F4F5F7;font-size:12.5px}.upa-tabs--third .upa-tab{min-height:27px;padding:4px 10px;border-color:var(--upa-softer);border-radius:6px 6px 0 0;background:transparent;font-size:11.5px}.upa-tabs--second .upa-tab[aria-current=page],.upa-tabs--third .upa-tab[aria-current=page]{border-top:2px solid var(--upa-accent);background:#fff;color:var(--upa-ink);font-weight:600}.upa-tab-panel{position:relative;z-index:1;padding:16px;border:1px solid var(--upa-border);border-radius:0 10px 10px 10px;background:#fff}.upa-tab-panel--first{margin-left:16px}.upa-tab-panel--first,.upa-tab-panel--nested{padding-top:8px}.upa-tab-panel--nested,.upa-tab-panel--third{margin-right:-17px;margin-left:-17px}.upa-tab-panel--nested{border-color:var(--upa-soft);border-radius:0 8px 8px 8px}.upa-tab-panel--third{border-color:var(--upa-softer);border-radius:0 7px 7px 7px}.upa-tab-panel--third p{margin:0}
.upa-table-wrap{overflow:auto;border:1px solid var(--upa-soft);border-radius:8px;background:#fff}.upa-table{width:100%;border-collapse:collapse;color:var(--upa-ink);font-size:13px}.upa-table caption{padding:10px;text-align:left;color:var(--upa-muted);font-size:12.5px}.upa-table th{height:36px;padding:0 10px;border-bottom:2px solid var(--upa-table-major);background:var(--upa-subtle);color:var(--upa-muted);font-size:11px;font-weight:600;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.upa-table td{height:38px;padding:7px 10px;border-top:1px solid #E3E7EC;vertical-align:middle}.upa-table th+th,.upa-table td+td{border-left:1px solid var(--upa-table-rule)}.upa-table .upa-major{border-left:2px solid var(--upa-table-major)}.upa-table .upa-number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.upa-data-grid{display:grid;overflow:hidden;border:1px solid var(--upa-soft);border-radius:8px;background:#fff}.upa-grid-row{display:grid;grid-template-columns:minmax(0,1fr) 96px 80px;min-width:max-content}.upa-grid-row>*{display:flex;align-items:center;min-height:38px;padding:7px 10px;border-top:1px solid #E3E7EC}.upa-grid-row>*+*{border-left:1px solid var(--upa-table-rule)}.upa-grid-row--head>*{height:36px;min-height:36px;border-top:0;border-bottom:2px solid var(--upa-table-major);background:var(--upa-subtle);color:var(--upa-muted);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.upa-grid-row>.upa-major{border-left:2px solid var(--upa-table-major)}
.upa-state{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid var(--upa-soft);border-radius:8px;background:#F8F9FB;color:var(--upa-body);font-size:13px;line-height:1.45}.upa-state--loading{background:#F4F6F9}.upa-state--empty{border-style:dashed;background:#FBFCFD;color:var(--upa-muted)}.upa-state--good{border-color:#CBE4D0;background:var(--upa-good-bg);color:var(--upa-good)}.upa-state--attention{border-color:var(--upa-caution-line);background:var(--upa-caution-bg);color:#6B5510}.upa-state--error{border-color:#E8C9C4;background:var(--upa-problem-bg);color:var(--upa-problem-dark)}.upa-toast{display:none;padding:10px 12px;border:1px solid var(--upa-soft);border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(16,24,40,.16);color:var(--upa-body)}.upa-toast[data-visible=true]{display:block}
.upa-quote-screen{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 372px;max-width:1180px;margin:0 auto 14px;border:1px solid var(--upa-border);border-radius:10px;background:linear-gradient(to right,#fff 0 calc(100% - 373px),var(--upa-soft) calc(100% - 373px) calc(100% - 372px),#FBFCFD calc(100% - 372px) 100%);box-shadow:0 1px 2px rgba(16,24,40,.05)}.upa-quote-configurator{margin:0;padding:16px 18px;border:0;border-radius:10px 0 0 10px;background:transparent;box-shadow:none}.upa-quote-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 18px}.upa-quote-product{min-height:48px;border-radius:10px;color:var(--upa-ink);font-size:15px}.upa-quote-product[aria-pressed=true]{border-color:var(--upa-accent);background:var(--upa-accent);color:#fff;font-weight:600;box-shadow:0 1px 2px rgba(37,99,235,.3)}.upa-quote-size-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:12px;align-items:end}.upa-quote-size-row .upa-field{margin:0}.upa-quote-size-row input{font-size:17px;font-weight:600}.upa-quote-times{padding-bottom:14px;color:var(--upa-faint);font-size:15px}.upa-quote-sqft{min-width:62px;padding-bottom:10px}.upa-quote-sqft>*{display:block}.upa-quote-sqft strong{margin-top:4px;color:var(--upa-ink);font-size:17px}.upa-quote-size-hint{margin:7px 0 0}.upa-quote-divider{height:1px;margin:18px 0;background:var(--upa-softer)}.upa-quote-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.upa-quote-field-grid .upa-field{margin:0}.upa-quote-calc-status{min-height:20px;margin:10px 0 0;color:var(--upa-muted);font-size:12.5px}.upa-quote-result-column{position:sticky;top:66px;align-self:start;padding:16px;border-radius:0 10px 10px 0;background:transparent}.upa-quote-price-card{padding:16px;border:1px solid #CBE4D0;border-radius:10px;background:var(--upa-good-bg);color:var(--upa-good)}.upa-quote-price{display:flex;align-items:baseline;gap:8px}.upa-quote-price strong{font-size:34px;line-height:1.05;letter-spacing:-.02em}.upa-quote-price span{font-size:14px;font-weight:600}.upa-quote-price-facts{margin:4px 0 0;font-size:13px}.upa-quote-breakdown{margin-top:13px;padding-top:7px;border-top:1px solid #CBE4D0}.upa-quote-breakdown-row{display:flex;align-items:baseline;gap:8px;padding-top:6px;font-size:13px}.upa-quote-breakdown-row>span{flex:1 1 auto;min-width:0}.upa-quote-breakdown-row>strong{flex:0 0 auto;text-align:right}.upa-quote-breakdown-rule{margin-top:7px;padding-top:13px;border-top:1px solid #CBE4D0}.upa-quote-total{margin-top:7px;padding-top:13px;border-top:1px solid #CBE4D0;font-size:16px;font-weight:600}.upa-quote-total strong{font-size:22px}.upa-quote-freight-rule{margin:10px 0 0;padding-top:10px;border-top:1px solid #CBE4D0;font-size:12.5px}.upa-quote-build-summary{margin:14px 0 0;padding:12px 13px;font-size:12.5px;line-height:1.5}.upa-quote-build-summary .upa-eyebrow{margin-bottom:7px}.upa-quote-empty{margin:0;color:var(--upa-muted)}
.upa-quote-switch{align-items:center;margin-top:10px;border-color:var(--upa-accent-line);background:var(--upa-accent-wash);color:#1F4B7A}.upa-quote-switch>span{flex:1 1 auto}.upa-quote-rlt-note{grid-column:1/-1;margin:-8px 0 0}.upa-field--disabled .upa-select-trigger{border-color:var(--upa-softer);background:#F6F7F9;color:var(--upa-faint);opacity:1}.upa-field--locked .upa-select-trigger{border-color:var(--upa-caution-line);background:var(--upa-caution-bg);color:#6B5510;opacity:1}.upa-field--attention input,.upa-field--attention .upa-select-trigger{border-color:var(--upa-caution-line);background:var(--upa-caution-bg)}.upa-quote-call-card{padding:16px;border:1px solid var(--upa-caution-line);border-radius:10px;background:var(--upa-caution-bg);color:#6B5510}.upa-quote-call-heading{display:flex;align-items:center;gap:9px;margin:0 0 8px;font-size:15px}.upa-quote-call-mark{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--upa-caution);color:#fff;font-size:13px}.upa-quote-call-card p{margin:7px 0 0}.upa-quote-call-actions{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--upa-caution-line)}.upa-quote-call-actions .upa-button{margin-left:auto;background:#fff}.upa-quote-lines-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}.upa-quote-lines-heading h2{margin:0}.upa-quote-lines-heading>span{height:1px;flex:1 1 auto;background:var(--upa-softer)}.upa-quote-lines-heading output{color:var(--upa-muted);font-size:12px}.upa-quote-lines-grid{overflow:auto;border:1px solid var(--upa-soft);border-radius:8px;background:#fff}.upa-quote-line-head,.upa-quote-line-row{display:grid;grid-template-columns:28px minmax(190px,1fr) 132px 50px 88px 98px 38px;min-width:624px}.upa-quote-line-head{border-bottom:2px solid var(--upa-table-major);background:var(--upa-subtle)}.upa-quote-line-head>*{display:flex;align-items:center;min-height:34px;padding:0 9px;color:var(--upa-muted);font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.upa-quote-line-row{min-height:52px;border-top:1px solid #E3E7EC}.upa-quote-line-row:first-of-type{border-top:0}.upa-quote-line-row[data-selected=true]{background:var(--upa-accent-wash)}.upa-quote-line-row[data-state=attention]{box-shadow:inset 3px 0 0 var(--upa-caution)}.upa-quote-line-row>*{display:flex;align-items:center;min-width:0;padding:8px 9px;border:0;background:transparent;color:var(--upa-body);font:inherit;text-align:left}.upa-quote-line-row>*+*,.upa-quote-line-head>*+*{border-left:1px solid var(--upa-table-rule)}.upa-quote-line-row .upa-quote-line-total,.upa-quote-line-head .upa-quote-line-total{justify-content:flex-end;border-left:2px solid var(--upa-table-major);font-weight:600}.upa-quote-line-row .upa-number,.upa-quote-line-head .upa-number{justify-content:flex-end}.upa-quote-line-index{justify-content:center!important;color:var(--upa-muted)!important}.upa-quote-line-build-cell{padding:0!important}.upa-quote-line-build{display:block!important;width:100%;min-height:51px;padding:8px 9px;border:0;background:transparent;text-align:left;cursor:pointer}.upa-quote-line-build strong,.upa-quote-line-build span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upa-quote-line-build strong{color:var(--upa-ink);font-size:14px}.upa-quote-line-build span{margin-top:2px;color:var(--upa-muted);font-size:12px}.upa-quote-line-action{justify-content:center!important;padding:0!important}.upa-quote-line-remove{width:30px;height:30px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--upa-muted);font-size:16px;cursor:pointer}.upa-quote-add-line{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:10px;border:1.5px dashed #C3CAD3;border-radius:10px;background:#FBFCFD;color:var(--upa-ink);font:500 14.5px inherit;cursor:pointer}.upa-quote-add-line>span{width:18px;height:18px;border:1px dashed #C3CAD3;border-radius:5px;color:var(--upa-muted);font-size:11px;line-height:16px}.upa-quote-add-line:disabled{cursor:not-allowed;opacity:.6}.upa-quote-lines-note{margin:9px 0 0}.upa-quote-order-lines{margin:10px 0 0;padding-top:4px}.upa-quote-order-selected{margin-top:12px;padding-top:12px;border-top:1px solid #CBE4D0}.upa-quote-order-selected .upa-eyebrow{margin-bottom:7px}.upa-quote-order-message{margin-top:10px}
.upa-rail{display:flex;flex-direction:column;width:100%;min-width:0;max-width:400px;padding:12px 16px;border:1px solid var(--upa-border);border-radius:10px;background:#FBFCFD}.upa-rail>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;height:28px;padding-bottom:9px;border-bottom:1px solid var(--upa-soft);margin-bottom:10px}.upa-rail>header>strong{font-size:13.5px}.upa-rail-value-text,.upa-rail-value>summary{color:var(--upa-body);font-size:12.5px;font-variant-numeric:tabular-nums}.upa-rail-value{position:relative}.upa-rail-value>summary{list-style:none;cursor:pointer}.upa-rail-value>summary::-webkit-details-marker{display:none}.upa-rail-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:10;width:240px;padding:10px 12px;border:1px solid var(--upa-border);border-radius:8px;background:#fff;box-shadow:0 8px 24px rgba(16,24,40,.12)}.upa-rail-popover div{display:flex;justify-content:space-between;gap:10px;padding:4px 0}.upa-rail-popover span{color:var(--upa-muted);font-size:11px;text-transform:uppercase}.upa-rail-popover strong{font-size:12.5px}.upa-rail-body{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:8px}.upa-rail-group{flex:0 0 auto;overflow:hidden;border:1px solid var(--upa-soft);border-radius:8px;background:#fff}.upa-rail-group>summary{display:flex;align-items:center;gap:9px;min-height:39px;padding:9px 11px;list-style:none;cursor:pointer}.upa-rail-group>summary::-webkit-details-marker{display:none}.upa-rail-group>summary::after{content:'';width:10px;height:6px;background:var(--upa-chevron) center/10px 6px no-repeat}.upa-rail-group[open]>summary::after{transform:rotate(180deg)}.upa-rail-group>summary strong{flex:1 1 auto;font-size:14px}.upa-rail-group>summary span:not(.upa-rail-color){color:var(--upa-muted);font-size:12px}.upa-rail-color{flex:0 0 8px;width:8px;height:8px;border-radius:2px;background:var(--upa-faint)}.upa-rail-tone--accent>.upa-rail-color,.upa-rail-row.upa-rail-tone--accent{--upa-rail-color:var(--upa-accent)}.upa-rail-tone--caution>.upa-rail-color,.upa-rail-row.upa-rail-tone--caution{--upa-rail-color:var(--upa-caution)}.upa-rail-tone--problem>.upa-rail-color,.upa-rail-row.upa-rail-tone--problem{--upa-rail-color:var(--upa-problem)}.upa-rail-group>summary .upa-rail-color{background:var(--upa-rail-color,var(--upa-faint))}.upa-rail-rows{border-top:1px solid var(--upa-soft)}.upa-rail-group .upa-rail-row{padding-left:24px}.upa-rail-row{display:flex;align-items:center;gap:10px;min-height:44px;padding:7px 8px 7px 12px;border-left:3px solid var(--upa-rail-color,var(--upa-faint));border-top:1px solid #F1F3F6;background:#fff}.upa-rail-row:first-child{border-top:0}.upa-rail-row>div{flex:1 1 auto;min-width:0}.upa-rail-row>div strong{display:block;overflow:hidden;color:var(--upa-ink);font-size:13.5px;font-weight:500;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.upa-rail-row>div span,.upa-rail-row>div small{display:block;margin-top:4px;color:var(--upa-muted);font-size:12px}.upa-rail-row>b{flex:0 0 auto;color:var(--upa-body);font-size:12.5px}.upa-rail-row--task{height:82px;padding-block:10px}.upa-rail-row--task>div strong{min-height:38px;white-space:normal}.upa-rail-menu{flex:0 0 28px;width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--upa-muted);font-size:15px}.upa-stock-offer{padding:9px 10px;border-top:1px solid var(--upa-soft);background:var(--upa-accent-wash)}.upa-stock-offer>header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.upa-stock-offer>header strong{flex:1;font-size:12.5px}.upa-stock-offer p{margin:4px 0;color:var(--upa-body);font-size:12px}.upa-stock-offer>.upa-button{width:100%;margin-top:5px;text-align:left;white-space:normal}.upa-rail>footer{margin-top:10px;padding-top:10px;border-top:1px solid var(--upa-soft);color:var(--upa-muted);font-size:12px}.upa-gallery-rail .upa-rail{margin-top:12px}
.upa-page-footer,.upa-form-footer{display:flex;align-items:center;gap:8px;min-height:58px;padding:11px 16px;border-top:1px solid var(--upa-border);background:#fff;white-space:nowrap}.upa-page-footer{position:fixed;right:0;bottom:0;left:0;z-index:40;min-height:calc(58px + env(safe-area-inset-bottom));padding:11px calc(16px + env(safe-area-inset-right)) calc(11px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.upa-footer-status{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--upa-body);font-size:12.5px}.upa-footer-spacer{flex:1 1 auto}
.upa-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(16,24,40,.45)}.upa-dialog{display:flex;flex-direction:column;width:min(560px,100%);max-height:82dvh;overflow:hidden;border:1px solid var(--upa-border);border-radius:12px;background:#fff;color:var(--upa-ink);box-shadow:0 20px 48px rgba(16,24,40,.22)}.upa-dialog--question{width:min(420px,100%)}.upa-dialog--editor{width:min(880px,100%)}.upa-dialog--table{width:min(1150px,100%)}.upa-dialog-header{display:flex;align-items:center;gap:10px;flex:0 0 52px;height:52px;padding:0 12px 0 16px;border-bottom:1px solid var(--upa-soft);background:#fff}.upa-dialog-title{flex:1 1 auto;min-width:0;margin:0;font-size:15px;font-weight:600}.upa-dialog-close{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--upa-muted);font-size:15px;cursor:pointer}.upa-dialog-close:hover{background:var(--upa-subtle)}.upa-dialog-body{min-height:0;overflow:auto;padding:14px 16px}.upa-dialog-choice-list{margin:10px 0 12px;overflow:hidden;border:1px solid var(--upa-soft);border-radius:8px}.upa-dialog-choice-list .upa-check{padding:9px 12px;border-top:1px solid var(--upa-soft)}.upa-dialog-choice-list .upa-check:first-child{border-top:0}.upa-dialog-choice-list .upa-check>span{display:flex;flex:1;align-items:center;justify-content:space-between;gap:12px;color:var(--upa-ink)}.upa-dialog-choice-list .upa-check small{color:var(--upa-muted);font-size:12px;font-weight:500}.upa-dialog-footer{display:flex;align-items:center;gap:8px;flex:0 0 58px;min-height:58px;padding:11px 16px;border-top:1px solid var(--upa-soft);background:#fff;white-space:nowrap}.upa-dialog-footer [role=status]{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--upa-body);font-size:12.5px}.upa-dialog-footer .upa-button[data-close]{margin-left:auto}.upa-muted{color:var(--upa-muted)}.upa-review{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit}.upa-engine-page{margin:14px 0;overflow:auto;border:1px solid var(--upa-soft);background:#fff}.upa-engine-page svg{display:block;width:100%;height:auto;min-width:640px}
@media(pointer:coarse){.upa-button,.upa-bar-control,.upa-check{min-height:44px}.upa-field input,.upa-field select,.upa-field textarea{min-height:44px}.upa-quote-line-head,.upa-quote-line-row{grid-template-columns:28px minmax(190px,1fr) 132px 50px 88px 98px 44px;min-width:630px}.upa-quote-line-remove{width:44px;height:44px}}
.upa-orientation-grid button:disabled{border-style:dashed;background:var(--upa-subtle);opacity:.42;cursor:not-allowed}
/* The kit gallery's own specimens (tokens, type scale, demo rows), restored after 55f31be5 dropped them with the drawing workbench (Jake, 2026-09-25: the tokens no longer showed their colors). */
.upa-swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.upa-gallery>.upa-card{margin:0}.upa-swatch{display:grid;grid-template-columns:20px minmax(0,1fr);gap:0 8px;align-items:center;padding:8px;border:1px solid var(--upa-soft);border-radius:8px}.upa-swatch-color{grid-row:1/3;width:18px;height:18px;border:1px solid rgba(20,22,26,.14);border-radius:4px}.upa-swatch strong{font-size:12.5px}.upa-swatch>span:last-child{color:var(--upa-muted);font-size:10.5px}.upa-swatch[data-token=ink] .upa-swatch-color{background:#14161A}.upa-swatch[data-token=body] .upa-swatch-color{background:#374151}.upa-swatch[data-token=muted] .upa-swatch-color{background:#5C6472}.upa-swatch[data-token=faint] .upa-swatch-color{background:#8A8F99}.upa-swatch[data-token=accent] .upa-swatch-color{background:#2563EB}.upa-swatch[data-token=accent-wash] .upa-swatch-color{background:#EFF4FE}.upa-swatch[data-token=page] .upa-swatch-color{background:#EDEDEF}.upa-swatch[data-token=card] .upa-swatch-color{background:#FFF}.upa-swatch[data-token=line] .upa-swatch-color{background:#D9DDE3}.upa-swatch[data-token=line-soft] .upa-swatch-color{background:#E1E5EA}.upa-swatch[data-token=table] .upa-swatch-color{background:#B9C1CB}.upa-swatch[data-token=caution] .upa-swatch-color{background:#FDFAE8}.upa-swatch[data-token=problem] .upa-swatch-color{background:#FBF0EF}.upa-swatch[data-token=good] .upa-swatch-color{background:#EAF4EC}.upa-swatch[data-token=radius] .upa-swatch-color{background:#F1F3F6}.upa-swatch-assigned{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}.upa-swatch-assigned i:nth-child(1){background:#2563EB}.upa-swatch-assigned i:nth-child(2){background:#E8590C}.upa-swatch-assigned i:nth-child(3){background:#2F9E44}.upa-swatch-assigned i:nth-child(4){background:#7048E8}.upa-type-scale{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 18px;margin-top:14px}.upa-type-19{font-size:19px;font-weight:600}.upa-type-17{font-size:17px;font-weight:600}.upa-type-15{font-size:15px;font-weight:600}.upa-type-14{font-size:14px;font-weight:500}.upa-gallery .upa-meta{font-size:12.5px}.upa-label-demo{font-size:12px;font-weight:500}.upa-gallery .upa-floor{font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.upa-demo-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.upa-demo-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.upa-demo-hover{background:#F8F9FB}.upa-demo-focus{border-color:var(--upa-accent)!important;box-shadow:0 0 0 3px rgba(37,99,235,.16)!important}.upa-gallery-menu{display:inline-block;margin-top:10px}.upa-gallery-menu .upa-menu-panel{position:static;width:260px;margin-top:6px;box-shadow:none}.upa-gallery .upa-state-stack{display:grid;gap:8px}.upa-overlay-help{margin:0 0 12px}
@media(max-width:900px){.upa-gallery{grid-template-columns:1fr}.upa-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}.upa-quote-screen{grid-template-columns:1fr;background:#fff}.upa-quote-configurator{border-radius:10px 10px 0 0}.upa-quote-result-column{position:static;border-top:1px solid var(--upa-soft);border-radius:0 0 10px 10px;background:#FBFCFD}}
@media(max-width:600px){.upa-field input,.upa-field select,.upa-field textarea{font-size:16px}.upa-backdrop{padding:0}.upa-dialog,.upa-dialog--question,.upa-dialog--editor,.upa-dialog--table{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.upa-dialog-header{flex-basis:calc(52px + env(safe-area-inset-top));height:calc(52px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.upa-dialog-footer{min-height:calc(58px + env(safe-area-inset-bottom));padding-bottom:calc(11px + env(safe-area-inset-bottom));flex-wrap:wrap}.upa-tabs,.upa-app-bar,.upa-page-footer{overflow-x:auto}.upa-demo-columns,.upa-quote-field-grid,.upa-quote-size-row{grid-template-columns:1fr}.upa-quote-products{grid-template-columns:repeat(2,minmax(0,1fr))}.upa-quote-times{display:none}.upa-quote-sqft{grid-column:auto;padding-bottom:0}.upa-quote-result-column{padding:12px}.upa-quote-price strong{font-size:30px}}
.upa-shell:has(form[data-draw-page]) .upa-page-heading{display:none}.upa-draw-toolbar{display:flex;justify-content:flex-end;gap:8px;margin:0 0 10px}.upa-draw-surface{display:grid;grid-template-columns:minmax(720px,1fr) minmax(420px,580px);min-width:0;margin-bottom:14px;overflow:hidden;border:1px solid var(--upa-border);border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.05)}.upa-draw-surface:has(.upa-draw-source:not([hidden])){grid-template-columns:minmax(720px,1fr) minmax(420px,580px) minmax(320px,380px)}.upa-draw-editor{min-width:0;padding:16px 18px;border-right:1px solid var(--upa-soft);background:#FBFCFD}.upa-build-code-row{display:flex;align-items:stretch;gap:6px}.upa-build-code-row>input{flex:1 1 auto;min-width:0;text-transform:uppercase}.upa-build-code-row>.upa-button{flex:0 0 auto;min-height:0;padding-top:0;padding-bottom:0}.upa-draw-source dt{color:var(--upa-muted);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.upa-draw-source dd{min-height:20px;margin:2px 0 0;color:var(--upa-ink);font-size:13px;font-weight:500}.upa-draw-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:16px}.upa-draw-column{min-width:0}.upa-draw-column h2,.upa-draw-family h2{margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--upa-soft);color:var(--upa-muted);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}:is(.upa-draw-column,[data-advanced-cell]) .upa-field{margin-bottom:10px}.upa-field-label{display:flex;align-items:center;gap:0;min-height:18px}.upa-field-label .upa-help-glyph{margin-left:auto}.upa-required{margin-left:4px;color:var(--upa-problem)}.upa-draw-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.upa-draw-size{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);align-items:end;margin-bottom:10px}.upa-draw-size>.upa-draw-label{grid-column:1/-1}.upa-draw-size>.upa-draw-field .upa-field{margin:0}.upa-draw-size>span[aria-hidden]{align-self:center;text-align:center;color:var(--upa-muted)}.upa-draw-label{display:block;margin-bottom:5px;color:var(--upa-muted);font-size:12px;font-weight:500}.upa-draw-help-row{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:-5px 0 10px;color:var(--upa-muted);font-size:11px}.upa-help-glyph{display:grid;place-items:center;width:20px;height:20px;padding:0;border:1px solid var(--upa-soft);border-radius:50%;background:var(--upa-subtle);color:var(--upa-muted);font-size:11px;font-weight:600;cursor:help}.upa-draw-subgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;padding:10px 12px;margin:-4px 0 10px;border:1px solid var(--upa-soft);border-radius:8px;background:#FBFCFD}.upa-orientation{display:flex;flex-direction:column;gap:5px}.upa-orientation>.upa-field-label{color:var(--upa-muted);font-size:12px;font-weight:500}.upa-orientation-box{padding:12px 14px;border:1px solid var(--upa-soft);border-radius:8px;background:#FBFCFD}.upa-orientation-grid{display:grid;grid-template-columns:repeat(3,40px);gap:6px;justify-content:center}.upa-orientation-grid button,.upa-cut-down button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--upa-border);border-radius:6px;background:#fff;cursor:pointer}.upa-orientation-grid button span{width:11px;height:11px;border:2px solid var(--upa-muted);border-radius:3px}.upa-orientation-grid button[aria-pressed=true],.upa-cut-down button[aria-pressed=true]{border-color:var(--upa-accent);background:var(--upa-accent);box-shadow:0 0 0 3px rgba(37,99,235,.16)}.upa-orientation-grid button[aria-pressed=true] span{border-color:#fff;background:#fff}.upa-cut-down{display:flex;flex-direction:column;align-items:center;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid var(--upa-soft)}.upa-cut-down button{font-size:16px;font-weight:600}.upa-draw-family{margin-top:16px;padding:14px 16px;border:1px solid var(--upa-soft);border-radius:8px;background:#FBFCFD}.upa-draw-family>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.upa-draw-family>header h2{flex:1 1 auto}.upa-drawing-row{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:0 10px;padding:12px 0;border-top:1px solid var(--upa-soft)}.upa-drawing-row:first-child{border-top:0}.upa-draw-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;margin-top:16px;padding-top:14px;border-top:1px solid var(--upa-soft)}.upa-draw-bottom-cell{min-width:0}.upa-draw-notes .upa-field{margin:0}.upa-draw-unit-note{margin-top:12px;padding:8px 10px}.upa-draw-autofilled .upa-field input,.upa-draw-autofilled .upa-field select{background:var(--upa-accent-wash)}.upa-draw-auto-revealed .upa-field-label,.upa-draw-auto-revealed .upa-draw-label{color:var(--upa-caution)}.upa-draw-preview{position:sticky;top:66px;align-self:start;min-width:0;padding:16px 18px;background:#FBFCFD}.upa-draw-preview>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--upa-soft);color:var(--upa-muted);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.upa-draw-preview>header output{font-size:12px;font-weight:400;letter-spacing:0;text-transform:none}.upa-preview-tabs{margin-top:12px}.upa-preview-tabs.upa-segment button[aria-selected=true]{border-color:var(--upa-border);background:#fff;color:var(--upa-ink);font-weight:600}.upa-preview-canvas{min-height:460px;max-height:calc(100dvh - 250px);overflow:auto;border:1px solid var(--upa-border);border-radius:8px;background:repeating-linear-gradient(45deg,#FCFCFD 0 9px,#F4F6F8 9px 18px)}.upa-preview-canvas>.upa-state{margin:18px}.upa-preview-page{min-width:620px;margin:0;background:#fff}.upa-preview-page figcaption{padding:7px 10px;border-bottom:1px solid var(--upa-soft);color:var(--upa-muted);font-size:11px}.upa-preview-page svg{display:block;width:100%;height:auto}.upa-draw-preview>[data-preview-status]{margin-top:12px}.upa-draw-source{min-width:0;padding:16px 18px;border-left:1px solid var(--upa-soft);background:#fff}.upa-draw-footer .upa-menu-panel{bottom:calc(100% + 7px);top:auto}.upa-draw-footer .upa-draw-more .upa-menu-panel{width:300px}.upa-draw-print .upa-menu-panel{width:230px}
@media(max-width:1180px){.upa-draw-surface,.upa-draw-surface:has(.upa-draw-source:not([hidden])){grid-template-columns:1fr}.upa-draw-editor{border-right:0}.upa-draw-preview{position:static;border-top:1px solid var(--upa-soft)}.upa-draw-source{border-top:1px solid var(--upa-soft);border-left:0}.upa-preview-canvas{max-height:720px}}
@media(max-width:900px){.upa-draw-columns,.upa-draw-bottom{grid-template-columns:1fr}.upa-draw-column{padding-top:14px;border-top:1px solid var(--upa-soft)}.upa-draw-column:first-child{padding-top:0;border-top:0}.upa-drawing-row{grid-template-columns:repeat(2,minmax(130px,1fr))}}
@media(max-width:600px){.upa-draw-pair,.upa-draw-subgrid,.upa-drawing-row{grid-template-columns:1fr}.upa-preview-page{min-width:520px}}
.upa-rail-tone--accent{--upa-rail-color:var(--upa-accent)}.upa-rail-tone--caution{--upa-rail-color:var(--upa-caution)}.upa-rail-tone--problem{--upa-rail-color:var(--upa-problem)}.upa-gallery-rail{grid-column:1/-1}.upa-rail-examples{display:flex;align-items:flex-start;gap:18px;overflow-x:auto}.upa-rail-examples>.upa-rail{flex:0 0 390px}
.upa-draw-source-banner{margin-bottom:10px}.upa-draw-source.upa-rail{position:sticky;top:66px;align-self:start;width:auto;max-width:none;height:calc(100dvh - 140px);max-height:780px;overflow:hidden;border-width:0 0 0 1px;border-radius:0;padding:16px 18px;background:#fff}.upa-source-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin:0;padding:2px 0 14px}.upa-source-facts div{min-width:0}.upa-source-facts dt{color:var(--upa-muted);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.upa-source-facts dd{margin:2px 0 0;overflow-wrap:anywhere;color:var(--upa-ink);font-size:13px}.upa-source-heading{padding:4px 0;color:var(--upa-muted);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.upa-source-lines{flex:1 1 auto;min-height:0;overflow:auto}.upa-source-lines>.upa-state{margin-top:8px}.upa-source-line{padding:11px 0;border-top:1px solid var(--upa-soft)}.upa-source-line>div:first-child{display:flex;align-items:baseline;gap:10px}.upa-source-line strong{flex:1 1 auto;min-width:0;color:var(--upa-ink);font-size:13px;font-weight:500;line-height:1.4}.upa-source-line .upa-badge{flex:0 0 auto}.upa-source-description{margin-top:3px;color:var(--upa-body);font-size:13px;line-height:1.5;white-space:pre-wrap}.upa-source-footer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 10px}.upa-source-footer>span:first-child{color:var(--upa-muted);font-size:11.5px}.upa-source-footer>[role=status]{grid-column:1/-1;min-height:17px;color:var(--upa-body);font-size:11.5px}
.upa-gallery-drawing{grid-column:1/-1}.upa-gallery-drawing-row{display:grid;grid-template-columns:auto minmax(280px,1fr);align-items:start;gap:22px;margin-top:14px}.upa-gallery-drawing .upa-orientation{width:max-content}.upa-gallery-drawing .upa-preview-tabs{margin-top:0}
.upa-draw-surface{overflow:visible}
@media(max-width:1180px){.upa-draw-source.upa-rail{position:static;height:auto;max-height:none;overflow:visible;border-width:1px 0 0}.upa-source-lines{max-height:420px}}
@media(min-width:1181px) and (max-width:1839px){.upa-draw-surface:has(.upa-draw-source:not([hidden])){grid-template-columns:minmax(620px,1fr) minmax(360px,500px)}.upa-draw-source.upa-rail{position:static;grid-column:1/-1;width:100%;height:auto;max-height:none;overflow:visible;border-width:1px 0 0}.upa-source-lines{max-height:420px}}
@media(max-width:600px){.upa-gallery-drawing-row{grid-template-columns:1fr}.upa-gallery-drawing .upa-orientation{width:auto}}
@media(min-width:1001px) and (max-width:1180px){.upa-draw-surface,.upa-draw-surface:has(.upa-draw-source:not([hidden])){grid-template-columns:minmax(620px,1fr) minmax(360px,500px)}.upa-draw-editor{border-right:1px solid var(--upa-soft)}.upa-draw-preview{position:sticky;border-top:0}}
.upa-preview-page{width:100%;min-width:0}.upa-preview-page figcaption{display:none}
.upa-app-switch{display:flex;align-items:center;gap:6px}.upa-app-switch a{display:inline-flex;align-items:center;min-height:34px;padding:7px 13px;border:1px solid var(--upa-bar-line);border-radius:8px;background:var(--upa-bar-button);color:var(--upa-bar-text);font-size:13px;font-weight:500}.upa-app-switch a:hover{border-color:var(--upa-bar-avatar);background:var(--upa-bar-line);color:#fff}.upa-app-switch a[aria-current=page]{border-color:var(--upa-accent);background:var(--upa-accent);color:#fff;font-weight:600}.upa-draw-form .upa-field select{-webkit-appearance:none;appearance:none;padding-right:30px;background-image:var(--upa-chevron);background-repeat:no-repeat;background-position:right 9px center;background-size:10px 6px}.upa-orientation-grid{grid-template-columns:repeat(3,34px);gap:5px}.upa-orientation-grid button,.upa-cut-down button{width:34px;height:34px}.upa-draw-position-options{min-width:0;margin:10px 0 0;padding:12px 14px;border:1px solid var(--upa-soft);border-radius:8px;background:#FBFCFD}.upa-draw-position-options legend{padding:0 4px;color:var(--upa-muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.upa-draw-position-options .upa-field{margin-bottom:10px}.upa-draw-position-options .upa-draw-field:last-child .upa-field{margin-bottom:0}.upa-advanced-toggle::after,.upa-draw-print>summary::after{content:'';width:10px;height:6px;background:var(--upa-chevron) center/10px 6px no-repeat;transition:transform .12s ease}.upa-draw-advanced-menu[open]>.upa-advanced-toggle::after,.upa-draw-print[open]>summary::after{transform:rotate(180deg)}.upa-draw-advanced-menu .upa-menu-panel{width:300px}.upa-preview-tabs{display:flex;align-items:flex-end;gap:3px;margin-top:12px}.upa-preview-tabs button{position:relative;z-index:1;min-height:31px;padding:5px 12px;border:1px solid var(--upa-border);border-bottom:0;border-radius:6px 6px 0 0;background:#F0F2F5;color:var(--upa-muted);font-size:12px;font-weight:500;cursor:pointer}.upa-preview-tabs button[aria-selected=true]{z-index:2;margin-bottom:-1px;padding-bottom:6px;border-top:2px solid var(--upa-accent);background:#fff;color:var(--upa-ink);font-weight:600}.upa-preview-canvas{min-height:520px;border-radius:0 8px 8px 8px;background:#fff}.upa-draw-source.upa-rail{padding:14px}.upa-draw-surface{grid-template-columns:minmax(560px,.85fr) minmax(620px,1.15fr)}.upa-draw-surface:has(.upa-draw-source:not([hidden])){grid-template-columns:minmax(560px,1fr) minmax(650px,760px) minmax(260px,300px)}@media(max-width:1000px){.upa-draw-surface,.upa-draw-surface:has(.upa-draw-source:not([hidden])){grid-template-columns:1fr}.upa-draw-editor{border-right:0}.upa-draw-preview{position:static;border-top:1px solid var(--upa-soft)}}@media(min-width:1001px) and (max-width:1180px){.upa-draw-surface,.upa-draw-surface:has(.upa-draw-source:not([hidden])){grid-template-columns:minmax(520px,.9fr) minmax(500px,1.1fr)}}@media(min-width:1181px) and (max-width:1839px){.upa-draw-surface,.upa-draw-surface:has(.upa-draw-source:not([hidden])){grid-template-columns:minmax(560px,.85fr) minmax(620px,1.15fr)}}
.upa-draw-column-head{display:flex;align-items:flex-start;gap:10px}.upa-draw-column-head>h2{flex:1 1 auto;min-width:0}.upa-draw-unit-nav{display:flex;flex:0 0 auto;align-items:center;gap:4px;margin-top:-3px}.upa-draw-editor>.upa-draw-columns:first-child{margin-top:0}.upa-setup-warning{margin:8px 0 0}.upa-draw-unit-nav a,.upa-draw-unit-nav strong{display:grid;place-items:center;min-width:28px;height:26px;border:1px solid var(--upa-border);border-radius:8px;background:#fff;color:var(--upa-body);font-size:12px}.upa-draw-unit-nav strong{min-width:56px;background:var(--upa-subtle);color:var(--upa-ink);font-weight:600}.upa-draw-unit-nav a[aria-disabled=true]{color:var(--upa-faint);pointer-events:none}
.upa-preview-canvas{min-height:620px}.upa-draw-source.upa-rail{padding:12px 14px}.upa-draw-surface{grid-template-columns:minmax(600px,.75fr) minmax(680px,1.25fr)}.upa-draw-surface:has(.upa-draw-source:not([hidden])){grid-template-columns:minmax(600px,.7fr) minmax(780px,960px) minmax(250px,280px)}
@media(min-width:1181px) and (max-width:1839px){.upa-draw-surface,.upa-draw-surface:has(.upa-draw-source:not([hidden])){grid-template-columns:minmax(560px,.75fr) minmax(720px,1.25fr)}.upa-source-lines{max-height:260px}}
@media(min-width:1001px) and (max-width:1180px){.upa-draw-surface,.upa-draw-surface:has(.upa-draw-source:not([hidden])){grid-template-columns:minmax(500px,.8fr) minmax(570px,1.2fr)}.upa-source-lines{max-height:240px}}
@media(max-width:1000px){.upa-draw-surface,.upa-draw-surface:has(.upa-draw-source:not([hidden])){grid-template-columns:1fr}.upa-source-lines{max-height:240px}}
.upa-select-trigger{min-width:0}.upa-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upa-source-lines{margin-right:-12px;padding-right:12px;scrollbar-gutter:stable}.upa-draw-surface{grid-template-columns:minmax(640px,.85fr) minmax(680px,1.15fr)}.upa-draw-surface:has(.upa-draw-source:not([hidden])){grid-template-columns:minmax(640px,.78fr) minmax(780px,1.22fr) minmax(250px,280px)}
@media(min-width:1181px) and (max-width:1839px){.upa-draw-surface{grid-template-columns:minmax(590px,.85fr) minmax(700px,1.15fr)}.upa-draw-surface:has(.upa-draw-source:not([hidden])){grid-template-columns:minmax(580px,1fr) minmax(320px,1fr) minmax(240px,270px)}.upa-draw-source.upa-rail{position:sticky;grid-column:auto;width:auto;height:calc(100dvh - 140px);max-height:780px;overflow:hidden;border-width:0 0 0 1px}}
@media(min-width:1001px) and (max-width:1180px){.upa-draw-surface,.upa-draw-surface:has(.upa-draw-source:not([hidden])){grid-template-columns:minmax(530px,.95fr) minmax(540px,1.05fr)}}
@media(max-width:1000px){.upa-draw-surface,.upa-draw-surface:has(.upa-draw-source:not([hidden])){grid-template-columns:1fr}}
.upa-draw-advanced-menu .upa-menu-panel{width:320px;max-height:min(620px,calc(100dvh - 86px));overflow:auto}.upa-advanced-option{min-height:36px;padding:5px 10px;border-radius:7px}.upa-advanced-option:hover{background:var(--upa-subtle)}[data-submit-purchase-options]:empty{display:none}
.upa-cart-screen{display:grid;grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:16px;margin-bottom:18px}.upa-cart-side{align-self:stretch;min-width:0}.upa-cart-catalog{min-width:0}.upa-draw-form[data-tab-away]{display:none}.upa-draw-inventory{margin:0 0 16px}.upa-floor-notice{align-items:flex-start;justify-content:space-between;gap:10px;margin:8px 0 0}.upa-floor-notice ul{margin:4px 0 0;padding-left:18px}.upa-floor-notice li{margin:2px 0}.upa-floor-notice li span{color:var(--upa-body)}@media (pointer:coarse){.upa-floor-hide{min-width:44px}}.upa-choice>.upa-search{display:block;width:100%}.upa-cart-product{display:grid;gap:4px;margin:0 0 8px}.upa-cart-product .upa-select-trigger{width:100%;justify-content:space-between}.upa-cart-side>.upa-state{margin-bottom:8px}.upa-cart-rail{position:sticky;top:66px;width:400px;max-width:100%;height:calc(100dvh - 206px);max-height:820px;overflow:hidden}.upa-cart-rail .upa-rail-body{overflow:auto}.upa-cart-rail .upa-rail-row--task{height:auto;min-height:82px}.upa-cart-rail-footer{display:block}.upa-cart-rail-footer>.upa-field{margin:0 0 8px}.upa-cart-product-actions{display:flex;align-items:center;gap:8px}.upa-cart-product-actions .upa-menu-panel{right:0;left:auto;bottom:calc(100% + 7px);top:auto;width:260px}.upa-cart-rail-footer>[data-cart-status]{display:block;margin-top:8px;white-space:normal}.upa-cart-rail .upa-button.upa-small{min-height:28px;padding:4px 7px;font-size:11.5px}@media (pointer:coarse){.upa-cart-rail .upa-button.upa-small{min-height:44px}}
@media(max-width:1100px){.upa-cart-screen{grid-template-columns:1fr}.upa-cart-rail{position:static;width:100%;height:auto;max-height:none}.upa-cart-rail .upa-rail-body{max-height:620px}}
.upa-review-screen{display:grid;grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:16px;margin-bottom:18px}.upa-review-screen dl{display:grid;grid-template-columns:minmax(130px,.35fr) 1fr;gap:7px 14px}.upa-review-screen dt{color:var(--upa-muted);font-size:12px}.upa-review-screen dd{margin:0;overflow-wrap:anywhere}.upa-review-rail{position:sticky;top:66px;width:400px;max-width:100%;max-height:calc(100dvh - 140px);overflow:hidden}.upa-review-rail .upa-rail-body{overflow:auto}
@media(max-width:1000px){.upa-review-screen{grid-template-columns:1fr}.upa-review-rail{position:static;width:100%;max-height:none}}
.upa-draw-subgrid{grid-template-columns:minmax(0,1fr);gap:0}
.upa-draw-columns>.upa-draw-window,.upa-draw-columns>.upa-draw-bck{grid-column:2/4;min-width:0;margin-top:0}.upa-window-lite-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;margin-top:8px;padding:10px;border:1px solid var(--upa-soft);border-radius:8px;background:#fff}.upa-window-lite-row>.upa-field{min-width:0}.upa-window-lite-row>.upa-button{grid-column:2;align-self:end;justify-self:end}.upa-window-lite-options{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding-top:8px;border-top:1px solid var(--upa-softer)}.upa-window-grids-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 10px}.upa-window-grid-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px}.upa-window-kit-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 10px}.upa-draw-window>[data-window-warning]{margin:8px 0}.upa-draw-window>[data-rows],.upa-draw-bck>[data-rows]{min-width:0}.upa-bck-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 8px}.upa-bck-row>.upa-field{min-width:0}.upa-bck-row>.upa-button{grid-column:3;align-self:end;justify-self:end}
.upa-code-builder{display:flex;flex-direction:column;gap:5px}.upa-code-builder-row{display:flex;align-items:flex-start;gap:9px;padding:5px 0;border-top:1px solid var(--upa-softer)}.upa-code-builder-row:first-child{padding-top:0;border-top:0}.upa-code-builder-row>span{flex:0 0 68px;padding-top:4px;color:var(--upa-muted);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.upa-code-builder-row>div{display:flex;flex-wrap:wrap;gap:4px}.upa-code-builder-row button{min-height:28px;padding:4px 9px;border:1px solid var(--upa-border);border-radius:7px;background:#fff;color:var(--upa-body);font-size:12px;cursor:pointer}.upa-code-builder-row button[aria-pressed=true]{border-color:var(--upa-accent);background:var(--upa-accent);color:#fff;font-weight:600}.upa-draw-dialog-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.upa-preview-tabs{max-width:100%;overflow-x:auto}.upa-preview-tabs button{text-transform:uppercase;white-space:nowrap}.upa-draw-surface:not(:has(.upa-draw-source:not([hidden]))) .upa-draw-preview{border-radius:0 9px 9px 0}.upa-draw-editor{padding:12px 14px}.upa-draw-columns{gap:14px;margin-top:12px}.upa-draw-bottom{gap:14px}.upa-draw-column h2,.upa-draw-family h2{margin-bottom:10px;padding-bottom:6px}.upa-draw-size,:is(.upa-draw-column,[data-advanced-cell]) .upa-field{margin-bottom:7px}.upa-draw-bottom{margin-top:10px;padding-top:10px}.upa-draw-notes textarea{min-height:62px}.upa-orientation-box{padding:10px 12px}.upa-cut-down{margin-top:10px;padding-top:8px}.upa-draw-position-options{margin-top:8px;padding:9px 11px}.upa-draw-preview{padding:12px 14px}.upa-draw-preview>[data-preview-status]{margin-top:8px}.upa-draw-source.upa-rail{padding:12px 14px}.upa-draw-source.upa-rail>header{height:auto;padding-bottom:8px;margin-bottom:10px;color:var(--upa-muted);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.upa-draw-source.upa-rail>header>strong{font-size:inherit;font-weight:inherit}.upa-draw-bottom{margin-top:18px}.upa-button-icon{flex:none;display:block}
@media(pointer:fine){.upa-draw-form .upa-field input,.upa-draw-form .upa-field select,.upa-draw-form .upa-field textarea,.upa-draw-form .upa-select-trigger{min-height:38px;padding-top:7px;padding-bottom:7px;font-size:13.5px}:is(.upa-draw-column,[data-advanced-cell]) .upa-check{min-height:29px;padding:3px 0}}
@media(min-width:1001px){.upa-preview-canvas{height:clamp(480px,calc(100dvh - 250px),610px);min-height:0;max-height:none;overflow:hidden}.upa-preview-page{display:grid;height:100%;place-items:center}.upa-preview-page svg{width:100%;height:100%;max-height:100%}}
@media(max-width:1000px){.upa-code-builder-row{display:block}.upa-code-builder-row>span{display:block;margin-bottom:5px}.upa-draw-footer{overflow-x:auto}}
@media(max-width:900px){.upa-draw-columns>.upa-draw-window,.upa-draw-columns>.upa-draw-bck{grid-column:1}.upa-draw-bottom{row-gap:0}.upa-draw-bottom>[data-advanced-cell]:has(.upa-draw-field:not([hidden])){padding-top:10px}.upa-window-kit-fields,.upa-window-grids-choice{grid-template-columns:1fr}}@media(max-width:600px){.upa-bck-row{grid-template-columns:repeat(2,minmax(0,1fr))}.upa-bck-row>.upa-button{grid-column:2}}
@media(min-width:1001px){.upa-draw-editor{padding:6px 10px}.upa-draw-columns{gap:10px;margin-top:6px}.upa-draw-bottom{gap:10px}.upa-draw-column h2,.upa-draw-family h2{margin-bottom:11px;padding-bottom:4px}:is(.upa-draw-column,[data-advanced-cell]) .upa-field{gap:3px;margin-bottom:9px}.upa-draw-form .upa-field input,.upa-draw-form .upa-field select,.upa-draw-form .upa-field textarea,.upa-draw-form .upa-select-trigger{min-height:30px;padding-top:3px;padding-bottom:3px;font-size:12.5px}.upa-field-label{min-height:14px}.upa-draw-size{margin-bottom:9px}.upa-draw-size>.upa-draw-label{margin-bottom:3px}.upa-orientation{gap:3px}.upa-orientation>.upa-field-label{height:18px}.upa-orientation-box{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;height:150px;padding:4px 8px}.upa-orientation-grid{grid-template-columns:repeat(3,30px);gap:5px}.upa-orientation-grid button,.upa-cut-down button{width:30px;height:30px}.upa-cut-down{gap:3px;margin-top:4px;padding-top:4px}.upa-draw-position-options{margin-top:5px;padding:6px 8px}.upa-draw-bottom{margin-top:18px;padding-top:10px}.upa-draw-notes .upa-field{display:flex;flex-direction:column;align-items:stretch;gap:3px}.upa-draw-notes textarea{min-height:60px}.upa-draw-preview{padding:8px 10px}.upa-draw-preview>[data-preview-status]{margin-top:5px}}
@media(min-width:1001px) and (pointer:coarse){.upa-draw-form .upa-field input,.upa-draw-form .upa-field select,.upa-draw-form .upa-field textarea,.upa-draw-form .upa-select-trigger{min-height:44px;padding-top:10px;padding-bottom:10px}:is(.upa-draw-column,[data-advanced-cell]) .upa-check{min-height:44px}}
/* The surface lets content spill (sticky preview), so each pane rounds its own outer corners (Jake, 2026-10-05). */
.upa-draw-editor{border-radius:9px 0 0 9px}.upa-draw-surface>.upa-draw-source{border-radius:0 9px 9px 0}.upa-draw-surface:has(.upa-draw-source:not([hidden])) .upa-draw-preview{border-radius:0}
@media(max-width:1000px){.upa-draw-editor{border-radius:9px 9px 0 0}.upa-draw-surface:not(:has(.upa-draw-source:not([hidden]))) .upa-draw-preview,.upa-draw-surface>.upa-draw-source{border-radius:0 0 9px 9px}}
/* Jake, 2026-10-05: the three pane headings (Identity & build etc., Live preview, From Books) sit on one line with one divider line, a step larger than the field titles; field titles read in Capital Case. */
.upa-draw-column h2,.upa-draw-family h2,.upa-draw-preview>header,.upa-draw-source.upa-rail>header{font-size:12.5px;line-height:18px}
@media(min-width:1001px){.upa-draw-editor,.upa-draw-preview,.upa-draw-surface>.upa-draw-source.upa-rail{padding-top:10px}.upa-draw-editor>.upa-draw-columns:first-child{margin-top:0}.upa-draw-column h2,.upa-draw-family h2,.upa-draw-preview>header,.upa-draw-source.upa-rail>header{margin-top:0;padding-bottom:6px}.upa-draw-column-head{min-height:0}}
.upa-draw-form .upa-field,.upa-draw-form .upa-draw-label{text-transform:capitalize}.upa-draw-form .upa-field :is(input,select,textarea,button){text-transform:none}.upa-draw-form .upa-build-code-row>input{text-transform:uppercase}
@media(min-width:1840px){.upa-draw-surface:has(.upa-draw-source:not([hidden])){min-height:calc(100dvh + 64px)}}
.upa-blink-options-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 10px}.upa-blink-options-grid .upa-field{margin-bottom:7px}.upa-draw-blink [data-blink-units]>.upa-drawing-row:first-child{padding-top:0}@media(max-width:900px){.upa-blink-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.upa-blink-options-grid{grid-template-columns:1fr}}
.upa-bills-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:0 0 14px}.upa-bills-strip .upa-card{display:grid;gap:2px;padding:10px 12px}.upa-bills-strip strong{font-size:20px;font-variant-numeric:tabular-nums}.upa-bills-strip [data-tone=problem] strong{color:var(--upa-problem)}.upa-bills-strip [data-tone=caution] strong{color:var(--upa-caution)}.upa-bills-toggle{cursor:pointer;user-select:none}.upa-bills-vendor td{background:var(--upa-subtle);font-weight:600}.upa-bills-held td{color:var(--upa-muted)}.upa-bills-vendors{min-width:760px}.upa-bills-pdf{display:block;width:100%;height:70dvh;border:0;background:#fff}.upa-bills [data-bills-banner]{margin-bottom:14px}.upa-main:has(> .upa-bills){max-width:1100px}.upa-bills-banner{display:grid;gap:8px;padding:12px 14px}.upa-bills-week{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.upa-bills-week strong{font-size:16px}.upa-bills-notes{margin:0;padding:8px 12px 8px 28px;border:1px solid var(--upa-caution-line);border-radius:8px;background:var(--upa-caution-bg);font-weight:600}.upa-bills-notes li+li{margin-top:4px}.upa-bills-banner p{margin:0}.upa-bills [data-trust]{white-space:nowrap}.upa-chevron{display:inline-block;width:10px;height:6px;margin-left:4px;vertical-align:middle;background:var(--upa-chevron) center/10px 6px no-repeat;transition:transform .12s ease}.upa-chevron[data-open]{transform:rotate(180deg)}.upa-bills-copy-text{margin:0;white-space:pre-wrap;user-select:all;font-size:14px}
.upa-vr>[data-review-outcome]:empty{display:none}.upa-vr .upa-tabs{padding-left:0}.upa-vr .upa-tab .upa-count{margin-left:7px}.upa-vr .upa-tab-panel--first{margin-left:0}.upa-vr-strip{display:flex;align-items:flex-end;margin:0 -16px 0 -17px}.upa-vr-strip>.upa-tabs--second{flex:1 1 auto;min-width:0;margin-left:0;border-bottom:0}.upa-vr-strip>.upa-vr-doc-tabs{flex:0 0 max(360px,36%);padding-left:0}
.upa-vr-panel>.upa-vr-panes{grid-template-columns:240px minmax(0,1fr) max(360px,36%);gap:0;align-items:stretch;margin:0 -16px -16px;border:0;border-top:1px solid var(--upa-soft);border-radius:0 0 9px 9px;background:#fff;overflow:hidden}
.upa-vr-panel>.upa-vr-panes>.upa-vr-list{padding:12px;border-right:1px solid #E3E7EC}.upa-vr-panel>.upa-vr-panes>.upa-vr-detail{padding:0}.upa-vr-panel .upa-vr-review{border:0;border-radius:0}.upa-vr-panel>.upa-vr-panes>.upa-vr-detail>.upa-state{margin:12px}
.upa-vr-panel>.upa-vr-panes>.upa-vr-document{border-left:1px solid #E3E7EC;background:#FBFCFD}.upa-vr-panel .upa-vr-document-bar{margin:0;padding:12px 12px 10px;border-bottom:1px solid #E8EBEF;font-size:11.5px;color:var(--upa-muted)}.upa-vr-panel .upa-vr-document-bar a{font-size:12px;font-weight:500}.upa-vr-pdf-wrap{padding:12px}.upa-vr-panel .upa-vr-pdf{border-color:#D9DDE3}.upa-vr-panel>.upa-vr-panes>.upa-vr-document>.upa-state{margin:12px}
.upa-vr-section{display:flex;align-items:center;gap:10px;margin:16px 0 8px;font-size:12px;color:#5C6472}.upa-vr-section>span:first-child{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.upa-vr-section>i{flex:1 1 auto;height:1px;background:#E8EBEF}
.upa-vr-compare{border:1px solid #E1E5EA;border-radius:8px;overflow:hidden;background:#fff}.upa-vr-compare .upa-table{table-layout:fixed;min-width:540px}.upa-vr-compare{overflow-x:auto}.upa-vr-compare .upa-table th{height:36px;padding:0 10px;background:#F2F4F7;border-bottom:2px solid #B9C1CB;border-left:1px solid #CBD2DA;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#5C6472;text-align:left}.upa-vr-compare .upa-table th:first-child{border-left:0;text-align:center;font-size:10.5px}
.upa-vr-compare .upa-table td{height:44px;padding:7px 10px;border-top:1px solid #E3E7EC;border-left:1px solid #CBD2DA;font-size:13px;color:#14161A;vertical-align:middle}.upa-vr-compare .upa-table td:first-child{border-left:0}.upa-vr-compare .upa-vr-line--second td:first-child{border-left:1px solid #CBD2DA}
.upa-vr-compare .upa-vr-no{width:30px;padding:0!important;text-align:center;font-size:12.5px;color:#5C6472}.upa-vr-compare th:nth-child(2){width:72px}.upa-vr-compare .upa-vr-size{white-space:normal;font-size:12.5px;color:#4B5563}.upa-vr-compare th:nth-child(4):not(.upa-vr-qty){width:118px}.upa-vr-compare .upa-vr-qty{width:40px;text-align:center!important}.upa-vr-compare .upa-vr-rate{width:78px;border-left:2px solid #B9C1CB!important;text-align:right!important;font-weight:600}.upa-vr-compare .upa-vr-rate--none{font-weight:400;color:#8A8F99}.upa-vr-compare .upa-vr-differs{width:70px;white-space:normal;line-height:1.25;font-size:12.5px;font-weight:600;color:#5C130C}.upa-vr-compare td.upa-vr-differs--match{font-weight:400;color:#1B5E36}
.upa-vr-compare td.upa-vr-from,.upa-vr-compare th:nth-child(2){padding-left:8px;padding-right:6px}.upa-vr-from{font-size:11px!important;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#8A8F99!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upa-vr-from--po{color:#8A6D1F!important}.upa-vr-line--differs .upa-vr-from--vendor{color:#5C130C!important}
.upa-vr-line--differs{background:#FBF0EF}.upa-vr-line--differs .upa-vr-no{color:#5C130C}.upa-vr-compare .upa-vr-line--second td{border-top:0}.upa-vr-differs-value{text-decoration:underline;text-decoration-color:#DC2626;text-decoration-thickness:2px;text-underline-offset:2px}
.upa-vr-desc-row{display:flex;align-items:center;gap:6px;min-width:0}.upa-vr-desc-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upa-vr-desc--open .upa-vr-desc-text{white-space:normal}.upa-vr-desc--open .upa-vr-desc-line{display:block}
.upa-vr-desc-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:16px;height:20px;padding:0;border:0;background:transparent;cursor:pointer}.upa-vr-chev{display:inline-block;width:10px;height:6px;background:no-repeat center/10px 6px url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2010%206%22%3E%3Cpath%20d=%22M1%201l4%204%204-4%22%20fill=%22none%22%20stroke=%22%235C6472%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E")}.upa-vr-desc--open .upa-vr-chev{transform:rotate(180deg)}.upa-vr-desc--toggles{cursor:pointer}
@media(max-width:1100px){.upa-vr-panel>.upa-vr-panes{grid-template-columns:260px minmax(0,1fr)}.upa-vr-panel>.upa-vr-panes>.upa-vr-document{grid-column:1/-1;border-left:0;border-top:1px solid #E3E7EC}.upa-vr-strip>.upa-vr-doc-tabs{flex-basis:auto}}@media(max-width:700px){.upa-vr-panel>.upa-vr-panes{grid-template-columns:1fr}.upa-vr-panel>.upa-vr-panes>.upa-vr-list{border-right:0}}
.upa-vr-total td{height:38px!important;border-top:2px solid #B9C1CB!important;background:#FBFCFD;font-size:12.5px!important;color:#5C6472!important;text-align:right}.upa-vr-total td.upa-vr-rate{font-size:13.5px!important;font-weight:700;color:#14161A!important}.upa-vr-total td.upa-vr-differs{text-align:left}.upa-vr-breakdown td{height:auto!important;padding:2px 10px 8px!important;border-top:0!important;background:#FBFCFD;font-size:12px!important;color:#5C6472!important;text-align:right}.upa-vr-breakdown span{white-space:nowrap}
.upa-vr-panel .upa-vr-list ul{display:flex;flex-direction:column;gap:7px;border:0;border-radius:0;background:transparent;overflow:visible}.upa-vr-panel .upa-vr-row{padding:9px 11px;border:1px solid #E1E5EA;border-radius:10px;background:#fff}.upa-vr-panel .upa-vr-row:first-child{border-top:1px solid #E1E5EA}.upa-vr-panel .upa-vr-row[aria-current=true]{border-color:#2563EB;background:#EFF4FE}
.upa-vr-row a{gap:5px!important}.upa-vr-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.upa-vr-card-top strong{font-size:14px;font-weight:600;color:#14161A}.upa-vr-card-top span{font-size:11.5px!important;color:#5C6472}.upa-vr-pills{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.upa-vr-pill{font-size:11px!important;font-weight:600;line-height:1.35;color:#6B5510;background:#FDFAE8;border:1px solid #E8DFA8;border-radius:10px;padding:2px 8px}.upa-vr-pill--problem{color:#5C130C;background:#FBF0EF;border-color:#E8C9C4}.upa-vr-card-vendor{font-size:11.5px!important;color:#5C6472}.upa-vr-card-meta{font-size:11.5px!important;color:#5C6472}
.upa-vr-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.upa-vr-head h2{margin:0!important;font-size:19px;font-weight:600;color:#14161A}.upa-vr-head>span{font-size:13px;color:#4B5563}
.upa-vr-reasons{display:flex;flex-direction:column;gap:8px;margin-top:12px}.upa-vr-reason{align-items:flex-start;gap:10px;padding:11px 13px;border-radius:8px}.upa-vr-reason.upa-state--attention{background:#FDFAE8;border-color:#E8DFA8;color:#6B5510}.upa-vr-reason.upa-state--good{background:#ECFDF5;border-color:#6EE7B7;color:#065F46}.upa-vr-reason-icon{flex:0 0 auto;width:18px;height:18px;margin-top:1px;border-radius:50%;background:#B7891B;color:#fff;font-size:12px;font-weight:700;line-height:18px;text-align:center}.upa-state--good .upa-vr-reason-icon{background:#059669}.upa-vr-reason-body{flex:1 1 auto;min-width:0}.upa-vr-reason-title{font-size:13.5px;font-weight:600}.upa-vr-reason-text,.upa-vr-reason ul{margin:2px 0 0;font-size:13px;line-height:1.5}.upa-vr-reason ul{padding-left:18px}
.upa-vr-flagged{margin-top:12px}.upa-vr-reason.upa-state--error{background:#FBF0EF;border-color:#E8C9C4;color:#5C130C}.upa-state--error .upa-vr-reason-icon{background:#DC2626}.upa-vr-overdue{flex:0 0 auto;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:#B42318;border-radius:999px;padding:3px 9px}
.upa-vr-candidates{margin-top:12px;padding:10px 12px;border:1px solid #E1E5EA;border-radius:8px;background:#FBFCFD}.upa-vr-candidates ul{display:flex;flex-direction:column;gap:6px;margin:6px 0 0;padding:0;list-style:none}.upa-vr-candidate{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.upa-vr-po-rows{display:flex;flex-direction:column;gap:6px;max-height:50vh;margin:0;padding:0;overflow:auto;list-style:none}.upa-vr-po-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.upa-vr-po-row small{flex:1 1 100%;color:var(--upa-muted);font-size:12px}
.upa-vr-approve{margin-top:12px;padding:10px 12px;border:1px solid #6EE7B7;border-radius:8px;background:#ECFDF5;color:#065F46}.upa-vr-approve-title{font-size:13px;font-weight:600}.upa-vr-approve-text{margin-top:3px;font-size:12.5px;line-height:1.5}.upa-vr-approve--none{border-color:var(--upa-soft);background:#F8F9FB;color:var(--upa-muted)}
.upa-vr-status{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;align-items:start}.upa-vr-status-card h2{margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5C6472}.upa-vr-status-card:last-child{grid-column:1/-1}
.upa-vr-facts{display:flex;flex-wrap:wrap;gap:10px}.upa-vr-fact{display:flex;flex-direction:column;gap:3px;flex:1 1 0;min-width:120px;padding:10px 12px;border:1px solid #E1E5EA;border-radius:8px;background:#FBFCFD}.upa-vr-fact>span{font-size:12px;color:#5C6472}.upa-vr-fact>strong{font-size:20px;font-weight:600;color:#14161A}.upa-vr-facts--rows{flex-direction:column;gap:0}.upa-vr-facts--rows .upa-vr-fact{flex-direction:row;justify-content:space-between;align-items:baseline;gap:12px;border:0;border-top:1px solid #E8EBEF;border-radius:0;background:transparent;padding:9px 2px}.upa-vr-facts--rows .upa-vr-fact:first-child{border-top:0}.upa-vr-facts--rows .upa-vr-fact>strong{font-size:13.5px;text-align:right}.upa-vr-fact--problem>strong{color:#B42318}.upa-vr-fact--good>strong{color:#1B5E36}
.upa-vr-parity .upa-tabs{padding-left:0}.upa-vr-parity .upa-tab-panel--first{margin-left:0;padding-top:14px}.upa-vr-parity .upa-state{margin:0 0 12px}.upa-vr-parity .upa-vr-facts{margin-bottom:6px}.upa-vr-parity .upa-vr-fact>small{font-size:11.5px;color:#5C6472}.upa-vr-parity-tally{margin:0 0 12px;font-size:12.5px}.upa-vr-parity .upa-card>h2{margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5C6472}
.upa-vr-parity-head,.upa-vr-parity-order>summary{display:grid;grid-template-columns:minmax(200px,2.2fr) repeat(4,minmax(70px,.8fr)) minmax(120px,1.6fr);gap:10px;align-items:start;padding:8px 10px}.upa-vr-parity-head{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5C6472;border-bottom:2px solid #B9C1CB;background:#F2F4F7;border-radius:8px 8px 0 0}.upa-vr-parity-order{border-bottom:1px solid #E3E7EC}.upa-vr-parity-order>summary{font-size:13px;color:#14161A}.upa-vr-parity-order>summary::after{display:none}.upa-vr-parity-order>summary:hover,.upa-vr-parity-order[open]>summary{background:#F8F9FB}.upa-vr-parity-order>.upa-table-wrap{margin:0 10px 12px}
.upa-vr-parity-ref{display:flex;flex-direction:column;gap:2px;min-width:0}.upa-vr-parity-ref>span::before{content:'';display:inline-block;width:10px;height:6px;margin-right:7px;vertical-align:middle;background:var(--upa-chevron) center/10px 6px no-repeat;transform:rotate(-90deg);transition:transform .12s ease}.upa-vr-parity-order[open] .upa-vr-parity-ref>span::before{transform:none}.upa-vr-parity-ref small,.upa-vr-parity-order .upa-number small{display:block;font-size:11.5px;color:#5C6472}.upa-vr-parity-warn{color:#8A5A00!important}
.upa-vr-parity-good{color:#1B5E36}.upa-vr-parity-problem{color:#B42318}.upa-vr-parity .upa-vr-pill--good{color:#1B5E36;background:#ECFDF3;border-color:#ABEFC6}.upa-vr-parity .upa-table td{vertical-align:top}.upa-vr-parity .upa-table td .upa-muted{font-size:11.5px}
@media(max-width:760px){.upa-vr-parity-head{display:none}.upa-vr-parity-order>summary{grid-template-columns:repeat(2,minmax(0,1fr))}.upa-vr-parity-ref{grid-column:1/-1}.upa-vr-parity-order>summary>[data-label]::before{content:attr(data-label);display:block;font-size:11px;color:#5C6472}.upa-vr-parity-order>summary>.upa-number{text-align:left}}
.upa-vr-pricing .upa-tabs{padding-left:0}.upa-vr-pricing .upa-tab-panel--first{margin-left:0;padding-top:14px}.upa-vr-price-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.upa-vr-price-head strong{font-size:17px;font-weight:600;color:#14161A}.upa-vr-price-head span{font-size:12.5px;color:#5C6472}.upa-vr-price-note{margin:8px 0 10px;font-size:12.5px;color:#5C6472}
.upa-vr-price-notes{margin:8px 0;font-size:12.5px;color:#4B5563}.upa-vr-price-notes>summary{font-weight:500}.upa-vr-price-notes p{margin:6px 0 0;line-height:1.5}
.upa-vr-price-table th[scope=row]{height:auto;padding:8px 12px;background:#fff;border-bottom:0;font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:#14161A;white-space:nowrap}.upa-vr-price-table td{vertical-align:middle}.upa-vr-price-over th[scope=row]{padding-left:24px;background:#FBFCFD;font-size:12.5px;font-weight:400;color:#5C6472}.upa-vr-price-over td{background:#FBFCFD}
.upa-vr-price-save{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.upa-vr-price-form{display:flex;align-items:center;gap:6px}.upa-vr-price-form input[name=value]{width:96px;min-height:30px;padding:4px 8px;border:1px solid #CBD2DA;border-radius:6px;font:inherit;font-size:13px;text-align:right}.upa-vr-price-form input[name=value]:not([type=number]){width:200px;text-align:left}.upa-vr-price-form .upa-button{min-height:30px;padding:4px 10px;font-size:12px}
.upa-vr:not([data-bulk]) .upa-vr-row>.upa-check{display:none}.upa-vr-row>.upa-check input:disabled{opacity:.45}.upa-vr-tools{display:inline-flex;gap:8px}.upa-vr-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}.upa-vr-panes{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(300px,38%);gap:12px;align-items:start;margin-top:10px}.upa-vr-list ul{margin:0;padding:0;list-style:none;border:1px solid var(--upa-soft);border-radius:8px;background:#fff;overflow:hidden}.upa-vr-row{display:flex;gap:8px;align-items:flex-start;padding:9px 10px;border-top:1px solid #E3E7EC}.upa-vr-row:first-child{border-top:0}.upa-vr-row[aria-current=true]{background:var(--upa-accent-wash)}.upa-vr-row a{display:grid;gap:1px;flex:1 1 auto;min-width:0;color:inherit;text-decoration:none}.upa-vr-row a span{font-size:12.5px}.upa-vr-detail,.upa-vr-document{min-width:0}.upa-vr-document .upa-tabs--third{margin-left:0}@media(min-width:1101px){.upa-vr[data-vendor-reviews]{display:flex;flex-direction:column;height:calc(100dvh - 142px);min-height:420px}.upa-vr[data-vendor-reviews]>*{flex:0 0 auto}.upa-vr[data-vendor-reviews]>.upa-vr-panel{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.upa-vr-panel>.upa-vr-strip{flex:0 0 auto}.upa-vr-panel>.upa-vr-panes{flex:1 1 auto;min-height:0;grid-template-rows:minmax(0,1fr)}.upa-vr-list,.upa-vr-detail,.upa-vr-document{min-height:0;overflow-y:auto;overscroll-behavior:contain}.upa-vr-document{display:flex;flex-direction:column}.upa-vr-document>.upa-vr-pdf-wrap{flex:1 1 auto;min-height:0}.upa-vr-document .upa-vr-pdf{height:100%}}.upa-vr-review{display:flex;flex-direction:column;border:1px solid var(--upa-soft);border-radius:10px;background:#fff}.upa-vr-review-body{padding:14px 16px}.upa-vr-review-body h2{margin:0 0 2px}.upa-vr-review-body h3{margin:16px 0 6px}.upa-vr-document-bar{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:12.5px}.upa-vr-document-bar a{margin-left:auto}.upa-vr-pdf{display:block;width:100%;height:78dvh;overflow-y:auto;overscroll-behavior:contain;padding:8px;border:1px solid var(--upa-soft);border-radius:8px;background:#E9ECF0}.upa-vr-pdf canvas{display:block;width:100%;height:auto;margin:0 0 8px;background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.18)}.upa-vr-pdf canvas:last-child{margin-bottom:0}.upa-vr-pdf-status{margin:8px;color:var(--upa-muted);font-size:12.5px}@media(max-width:1100px){.upa-vr-panes{grid-template-columns:minmax(200px,260px) minmax(0,1fr)}.upa-vr-document{grid-column:1/-1}}@media(max-width:700px){.upa-vr-panes{grid-template-columns:1fr}}
/* The Hub (Road to Parity item 7): the account menu's name block and the tile front door, values from Hub.dc.html #5a and #5d. */
.upa-menu-person{padding:8px 10px 6px}.upa-menu-person strong{display:block;font-size:13.5px;font-weight:600}.upa-menu-person span{display:block;color:var(--upa-body);font-size:12.5px}
.upa-hub{padding:18px 20px 22px}.upa-card>h2.upa-hub-greeting{margin:0;font-size:20px;font-weight:600;letter-spacing:-.01em}.upa-hub-lead{margin:3px 0 0;color:var(--upa-body);font-size:13.5px}.upa-hub-section{margin:26px 0 10px}.upa-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.upa-tile{display:flex;gap:11px;align-items:flex-start;min-height:44px;padding:12px 13px;border:1px solid var(--upa-soft);border-radius:8px;background:#fff;color:var(--upa-ink)}a.upa-tile:hover{border-color:var(--upa-accent-line);background:var(--upa-accent-wash);color:var(--upa-ink)}.upa-tile[aria-disabled=true]{opacity:.55}.upa-tile--admin{border-style:dashed;border-color:#C3CAD3;background:#FBFCFD}.upa-tile-icon{font-size:17px;line-height:1.2}.upa-tile-text{min-width:0}.upa-tile-name{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600}.upa-tile-blurb{display:block;margin-top:2px;color:var(--upa-body);font-size:12.5px;line-height:1.45}.upa-tile-badge{padding:1px 7px;border-radius:999px;background:#EBF1FA;color:#1F4B7A;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.upa-hub-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}.upa-hub-links{display:flex;flex-wrap:wrap;gap:6px 18px}.upa-hub-list{margin:0;padding:0;list-style:none}.upa-hub-list li{padding:6px 0;border-bottom:1px solid var(--upa-softer)}.upa-hub-diagnostic pre{max-height:320px;overflow:auto;padding:10px;border:1px solid var(--upa-soft);border-radius:8px;background:var(--upa-subtle);font-size:12px;white-space:pre-wrap}@media(max-width:900px){.upa-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.upa-tiles,.upa-hub-columns{grid-template-columns:1fr}}
.upa-shell:has([data-hub-page]) .upa-eyebrow{color:var(--upa-muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.upa-shell:has([data-hub-page]) .upa-page-heading{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.upa-card>h2.upa-card-title,.upa-password-card>h2:first-child{margin:0;font-size:16px;font-weight:600}
.upa-shell:has(.upa-lock) .upa-page-heading{display:none}
.upa-card-lead{margin:3px 0 14px;color:var(--upa-body);font-size:13px;line-height:1.5}
.upa-hub-narrow{max-width:400px}
.upa-people{display:flex;align-items:stretch;min-height:540px;padding:0}
.upa-people-roster{flex:0 0 300px;min-width:0;padding:16px 18px;border-right:1px solid var(--upa-soft)}
.upa-people-roster>header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 10px;margin-bottom:12px}
.upa-people-roster>header>p{grid-column:1/-1}
.upa-people-roster h2{margin:0;font-size:16px;font-weight:600}
.upa-people-roster header p{margin:0;color:var(--upa-body);font-size:13px;line-height:1.45}
.upa-people-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--upa-ink);text-decoration:none}
.upa-people-row:hover{background:#F4F6F8;color:var(--upa-ink)}
.upa-people-row[aria-current=page]{background:var(--upa-accent-wash);box-shadow:inset 3px 0 0 var(--upa-accent)}
.upa-people-row--off{opacity:.6}
.upa-people-avatar{display:flex;flex:0 0 30px;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #C3CAD3;border-radius:50%;background:#DDE1E6;color:var(--upa-body);font-size:13px;font-weight:600}
.upa-people-row[aria-current=page] .upa-people-avatar{border-color:var(--upa-accent);background:var(--upa-accent);color:#fff}
.upa-people-who{display:flex;flex-direction:column;min-width:0}
.upa-people-who strong{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600}
.upa-people-who>span{color:var(--upa-body);font-size:12.5px;line-height:1.35}
.upa-people-who .upa-people-line{color:var(--upa-muted);font-size:12px}
.upa-people-pane{flex:1 1 0;min-width:0;padding:16px 18px;border-radius:0 10px 10px 0;background:#FBFCFD}
.upa-people-editor{max-width:560px;margin:0 auto}
.upa-person-head{display:flex;flex-direction:column;align-items:center;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--upa-soft);text-align:center}
.upa-person-avatar{display:flex;align-items:center;justify-content:center;width:140px;height:140px;border-radius:50%;background:var(--upa-accent);color:#fff;font-size:54px;font-weight:600;line-height:1}
.upa-person-head h2{display:flex;align-items:center;gap:8px;margin:4px 0 0;font-size:19px;font-weight:600;line-height:1.2}
.upa-person-head p{margin:0;color:var(--upa-muted);font-size:12.5px}
.upa-people-names{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 0 4px}
.upa-people-note{margin:0 0 14px;padding:9px 12px;border:1px solid #E3C08A;border-radius:8px;background:#FFFCF5;color:#7A4A0C;font-size:13px}
.upa-people-help{max-width:none;margin:-2px 0 10px;color:var(--upa-body);font-size:12.5px;line-height:1.5}
.upa-people-editor .upa-eyebrow{margin:6px 0 8px}
.upa-people-apps{margin-bottom:18px}
.upa-people-app{gap:6px;min-height:30px;padding:4px 11px;color:var(--upa-muted);font-size:12.5px;font-weight:500;cursor:pointer}
.upa-people-app input{position:absolute;opacity:0;pointer-events:none}
.upa-people-app:has(input:checked){border-color:var(--upa-accent);background:var(--upa-accent);color:#fff;font-weight:600}
.upa-people-app:has(input:checked)::after{content:'✓'}
.upa-people-app:has(input:focus-visible){box-shadow:0 0 0 3px rgba(37,99,235,.16)}
.upa-people-groups{margin-bottom:18px;overflow:hidden;border:1px solid var(--upa-soft);border-radius:8px;background:#fff}
.upa-people-group{position:relative;border-top:1px solid #EDEFF2}
.upa-people-group:first-child{border-top:0}
.upa-people-group summary{display:flex;align-items:center;gap:10px;min-height:40px;padding:9px 12px;cursor:pointer;font-size:13px}
.upa-people-group--section summary{padding-right:44px}
.upa-fold>summary{list-style:none;cursor:pointer}
.upa-fold>summary::-webkit-details-marker{display:none}
.upa-fold>summary::after{content:'';flex:0 0 auto;width:10px;height:6px;background:var(--upa-chevron) center/10px 6px no-repeat;transition:transform .12s ease}
.upa-fold[open]>summary::after{transform:rotate(180deg)}
.upa-fold--inline>summary{display:inline-flex;align-items:center;gap:7px;color:var(--upa-accent);font-size:13px}
.upa-people-group-name{flex:1;min-width:0}
.upa-people-group-count{color:var(--upa-muted);font-size:11.5px}
.upa-people-group>[data-section-toggle]{position:absolute;top:10px;right:12px;z-index:1;width:20px;height:20px;margin:0;accent-color:var(--upa-accent)}
.upa-people-group-body{padding:4px 12px 8px 32px;border-top:1px solid #EDEFF2;background:#FBFCFD}
.upa-people-group-body .upa-check,.upa-people-setup-grants .upa-check{min-height:34px;padding:3px 0;border:0}
.upa-people-setup-grants{margin-bottom:18px}
.upa-people-more{margin-top:14px}
.upa-people-more .upa-people-group-body{padding:10px 12px}
.upa-people-setup{margin:14px 0 0}
.upa-menu-item--danger strong{color:var(--upa-problem)}
@media (max-width:900px){.upa-people{flex-direction:column}.upa-people-roster{flex:none;border-right:0;border-bottom:1px solid var(--upa-soft)}.upa-people-names{grid-template-columns:1fr}}
.upa-menu-icon{flex:0 0 auto;width:20px;font-size:16px;line-height:1.3;text-align:center}
.upa-app-bar .upa-menu-item:has(.upa-menu-icon){flex-direction:row;align-items:flex-start;gap:10px}
.upa-app-bar .upa-menu-item .upa-menu-icon{display:block;font-size:16px;line-height:1.3;color:inherit}
.upa-app-bar>details:first-child>.upa-menu-panel{width:360px}
.upa-device-layout{display:flex;align-items:flex-start;gap:16px}
.upa-device-layout>.upa-device{flex:1;min-width:0;margin:0}
.upa-device-side{flex:0 0 360px}
.upa-device-side .upa-card{margin:0}
.upa-hub-sections{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.upa-hub-sections li{display:flex;flex-direction:column;font-size:13px}
.upa-hub-sections span{color:var(--upa-body);font-size:12.5px;line-height:1.45}
.upa-hub-every{margin-top:10px;font-size:13px}
.upa-hub-every .upa-hub-sections{margin-top:10px}
.upa-device-status{display:flex;align-items:center;gap:9px;margin:14px 0 16px;padding:10px 12px;border:1px solid #DDE2E8;border-radius:8px;background:#F4F6F9;font-size:13px}
.upa-device-status[data-done]{border-color:#CBE4D0;background:#F1F8F2;color:#265B34}
.upa-device-status[data-done] .upa-spinner,.upa-device-status[hidden]{display:none}
.upa-device-install{margin:14px 0 18px;padding:12px 14px;border:1px solid #E3C08A;border-radius:8px;background:#FFFCF5}
.upa-device-install-head{margin:0;color:#7A4A0C;font-size:13px}
.upa-device-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}
.upa-device-steps>div{display:flex;flex-direction:column;gap:2px;font-size:12.5px}
.upa-device-steps span{flex:1;color:var(--upa-body);line-height:1.45}
.upa-device-steps>div>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.upa-device-stores .upa-button:not(:first-child){opacity:.6}
@media (max-width:900px){.upa-device-steps{grid-template-columns:1fr}}
.upa-device-diagnostic{margin-top:20px;padding-top:16px;border-top:1px solid var(--upa-soft)}
.upa-device-note{max-width:640px;margin:0 0 10px;color:var(--upa-body);font-size:12.5px;line-height:1.5}
.upa-device-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0}
.upa-device-actions form{margin:0}
@media (max-width:900px){.upa-device-layout{flex-direction:column;align-items:stretch}.upa-device-side{flex:none}}
.upa-password-submit,.upa-lock-submit{width:100%;margin-top:4px}
.upa-password-card .upa-footer-status{margin:8px 0 0;font-size:12.5px}
.upa-shell.upa-public-shell{background:repeating-linear-gradient(135deg,#F0F2F5 0 14px,#EDEFF3 14px 28px)}
.upa-lock{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 60px)}
.upa-lock-card{width:100%;max-width:380px;padding:28px;border:1px solid var(--upa-border);border-radius:14px;background:#fff;box-shadow:0 24px 60px rgba(16,24,40,.16)}
.upa-lock-logo{display:block;height:30px;width:auto;margin-bottom:22px}
.upa-lock-card h1{margin:0;font-size:19px;font-weight:600;letter-spacing:-.01em}
.upa-lock-lead{margin:5px 0 20px;color:var(--upa-body);font-size:13.5px;line-height:1.55}
.upa-lock-lead strong{color:var(--upa-ink);font-weight:600}
.upa-lock-note{margin:-6px 0 16px;padding:9px 12px;border:1px solid var(--upa-accent-line);border-radius:8px;background:var(--upa-accent-wash);color:var(--upa-body);font-size:13px;line-height:1.45}
.upa-lock-note--problem{border-color:#E4B4AF;background:#FDF3F2;color:var(--upa-problem)}
.upa-lock-foot{margin:16px 0 0;color:var(--upa-body);font-size:12.5px;line-height:1.5;text-align:center}
/* Inventory pages (kit extensions named in the PR: mode switcher, crumb, overflow menu, stock heads, catalog grid, count cell, cart minimum meter) */
:root{--upa-stock-on-hand:#C1E59E;--upa-stock-on-hand-ink:#2C5016;--upa-stock-on-order:#FCFCAD;--upa-stock-on-order-ink:#6B5510;--upa-stock-total:#73BFF9;--upa-stock-total-ink:#123A5E;--upa-stock-short:#E89B90;--upa-stock-short-ink:#5C130C;--upa-stock-on-hand-head:#5CAE32;--upa-stock-on-hand-head-ink:#0F3A10;--upa-stock-on-order-head:#FBFC7E;--upa-stock-on-order-head-ink:#5F4A0E;--upa-grid-head:#BEC0BF;--upa-grid-head-ink:#374151;--upa-grid-identity:#DCDCDC;--upa-grid-line:#D1D5DB;--upa-grid-column-line:#9AA3AF}
.upa-center{justify-content:center;text-align:center}.upa-nowrap{white-space:nowrap}.upa-number{justify-content:flex-end;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.upa-mode-switcher{flex:0 0 auto}.upa-mode-switcher a{display:inline-flex;align-items:center;min-height:30px;padding:5px 12px;border:1px solid transparent;border-radius:7px;color:var(--upa-muted);font-size:13px;font-weight:500}.upa-mode-switcher a[aria-current=page]{border-color:var(--upa-border);background:#fff;color:var(--upa-ink);font-weight:600;box-shadow:0 1px 1px rgba(16,24,40,.06)}.upa-mode-switcher a:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(37,99,235,.16)}
.upa-crumb{display:flex;align-items:baseline;gap:6px;margin:-4px 0 12px;font-size:13px;color:var(--upa-muted)}.upa-crumb a{display:inline-flex;align-items:center;min-height:32px;font-weight:500}.upa-crumb span{color:var(--upa-ink);font-weight:600}
.upa-overflow-menu{position:relative;flex:0 0 auto}.upa-overflow-menu>summary{list-style:none}.upa-overflow-menu>summary::-webkit-details-marker{display:none}.upa-overflow-menu .upa-menu-panel{width:260px}.upa-page-footer .upa-overflow-menu .upa-menu-panel,.upa-menu-panel--up{top:auto;bottom:calc(100% + 7px)}.upa-page-footer .upa-menu-panel{white-space:normal}.upa-rail .upa-overflow-menu .upa-menu-panel,.upa-data-grid .upa-overflow-menu .upa-menu-panel{top:calc(100% + 4px);bottom:auto}.upa-rail .upa-overflow-menu>summary,.upa-data-grid .upa-overflow-menu>summary{min-height:28px;width:28px;height:28px;padding:0;border:0;background:transparent}
.upa-inventory~.upa-page-footer{overflow:visible}
.upa-tabs:has(+[data-build-codes-tab]){padding-left:0}[data-build-codes-tab].upa-tab-panel--first{margin-left:0}@media(min-width:1101px){[data-build-codes-tab].upa-tab-panel--first{height:calc(100dvh - 178px);min-height:360px;overflow-y:auto;overscroll-behavior:contain}[data-build-codes-tab]:has(>.upa-tabs--second){display:flex;flex-direction:column;overflow:hidden}[data-build-codes-tab]>.upa-tabs--second{flex:0 0 auto}[data-build-codes-tab]>.upa-tab-panel--nested{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0 -16px -16px;border-right:0;border-bottom:0;border-left:0;border-radius:0}}.upa-inventory .upa-tabs{padding-left:0}.upa-inventory .upa-tab .upa-count{margin-left:7px}.upa-inventory .upa-tab-panel--first{margin-left:0}
.upa-catalog-panel{padding:0;overflow:visible}.upa-catalog-panel--rail{display:grid;grid-template-columns:minmax(0,1fr) 570px;align-items:stretch}.upa-catalog-main{min-width:0;padding:8px 14px 14px}.upa-catalog-main>.upa-tabs--second{margin-left:-15px}.upa-catalog-main>.upa-tab-panel--nested{margin:0 0 0 -15px;padding:8px 14px 14px}
.upa-catalog-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.upa-search{flex:1 1 220px;min-width:0;min-height:38px;padding:9px 11px;border:1px solid var(--upa-border);border-radius:8px;background:#fff;color:var(--upa-ink);font:inherit;font-size:13.5px}.upa-search:focus-visible{outline:0;border-color:var(--upa-accent);box-shadow:0 0 0 3px rgba(37,99,235,.16)}
.upa-inventory a.upa-chip{display:inline-flex;align-items:center}.upa-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.upa-order-now{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--upa-stock-short);border-left:3px solid var(--upa-problem);border-radius:8px;background:var(--upa-problem-bg)}.upa-order-now-facts{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;flex:1 1 auto}.upa-order-now-facts strong{color:var(--upa-problem-dark);font-size:13.5px}.upa-order-now p{margin:0;color:var(--upa-body);font-size:12.5px}
.upa-grid-scroll{overflow-x:auto;border-radius:8px}
.upa-catalog-grid .upa-grid-row--head>*{height:auto;min-height:36px;padding:6px 8px;font-size:10.5px}.upa-catalog-grid .upa-catalog-row>*{padding-inline:8px}.upa-catalog-grid--boxes.upa-catalog-grid--normal .upa-grid-row,.upa-catalog-grid--boxes.upa-catalog-grid--order .upa-grid-row{grid-template-columns:minmax(120px,1.7fr) repeat(6,minmax(64px,1fr))}.upa-catalog-grid--boxes.upa-catalog-grid--recount .upa-grid-row{grid-template-columns:minmax(120px,1fr) 156px 156px 170px}.upa-catalog-grid--boxes.upa-catalog-grid--item .upa-grid-row{grid-template-columns:repeat(3,minmax(96px,1fr))}.upa-box-derived{font-weight:600;font-variant-numeric:tabular-nums}
.upa-catalog-row{min-width:max-content}.upa-catalog-row>*{min-height:38px}.upa-catalog-row[hidden]{display:none}.upa-catalog-name strong{overflow:hidden;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.upa-catalog-group{font-weight:500}.upa-catalog-row--hidden{color:var(--upa-faint)}.upa-catalog-row--hidden .upa-catalog-name strong::after{content:' · hidden';color:var(--upa-faint);font-weight:400}
.upa-grid-row--head>.upa-stock-head--on-hand{background:var(--upa-stock-on-hand-head);color:var(--upa-stock-on-hand-head-ink)}.upa-grid-row--head>.upa-stock-head--on-order{background:var(--upa-stock-on-order-head);color:var(--upa-stock-on-order-head-ink)}.upa-grid-row--head>.upa-stock-head--total{background:var(--upa-stock-total);color:var(--upa-stock-total-ink)}.upa-catalog-grid .upa-grid-row--head>*{white-space:normal;line-height:1.2}
.upa-stock-cell{padding:3px 6px!important}.upa-stock-add,.upa-stock-static{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:32px;border:1px solid transparent;border-radius:6px;background:var(--upa-stock-on-hand);color:var(--upa-stock-on-hand-ink);font:inherit;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}.upa-stock-static{cursor:default}.upa-stock-add:hover{border-color:#A9CC86}.upa-stock-add:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(37,99,235,.2)}.upa-stock-add--in-cart{border-color:var(--upa-accent);box-shadow:0 0 0 2px var(--upa-accent-line)}.upa-stock-cell--negative .upa-stock-add,.upa-stock-cell--negative .upa-stock-static{background:var(--upa-stock-short);color:var(--upa-stock-short-ink)}.upa-stock-cell--on-order{background:var(--upa-stock-on-order);color:var(--upa-stock-on-order-ink);font-weight:600}.upa-stock-cell--reorder{background:var(--upa-stock-short);color:var(--upa-stock-short-ink);font-weight:700}
.upa-count-cell{padding:3px 8px!important}.upa-count-cell--counted{background:#F7FBF4}.upa-count-empty{width:100%;min-height:32px;padding:0;border:1px dashed #C3CAD3;border-radius:6px;background:#FBFCFD;color:var(--upa-faint);font:inherit;cursor:pointer}.upa-count-stepper{display:inline-flex;align-items:center;gap:6px}.upa-count-stepper .upa-button{flex:0 0 32px;width:32px;height:32px;min-height:32px;padding:0;font-size:15px}.upa-count-stepper input{width:56px;min-height:32px;padding:4px 6px;border:1px solid var(--upa-border);border-radius:6px;text-align:center;font:inherit;font-size:15px;font-weight:600}
/* Catalog table (kit extension): today's per-tab tables in one scroll box — merged identity cells that stay in view, a 3px rule at a new color and 2px at a new type, a header that stays put, blank zeros */
.upa-catalog-scroll{max-height:calc(100dvh - 360px);min-height:280px;overflow:auto;border:1px solid var(--upa-table-rule);border-radius:8px;background:#fff;overscroll-behavior:contain}.upa-catalog-scroll .upa-grid-scroll{border-radius:0}.upa-cart-catalog .upa-catalog-scroll{max-height:none;min-height:0}
.upa-catalog-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;color:var(--upa-ink);font-size:13px;font-variant-numeric:tabular-nums}.upa-catalog-col--recount{width:156px}.upa-catalog-table{min-width:calc((var(--upa-catalog-ids,0) + 1)*72px + var(--upa-catalog-counts,0)*74px + var(--upa-catalog-recounts,0)*156px)}
/* A Glass Single or IG column is half a stock heading, so its narrowest is half a count's too (Jake, 2026-10-04). */
.upa-catalog-table--glass{min-width:calc((var(--upa-catalog-ids,0) + 1)*72px + var(--upa-catalog-counts,0)*44px + var(--upa-catalog-recounts,0)*156px)}.upa-catalog-table--ids-1{--upa-catalog-ids:1}.upa-catalog-table--ids-2{--upa-catalog-ids:2}.upa-catalog-table--ids-3{--upa-catalog-ids:3}.upa-catalog-table--ids-4{--upa-catalog-ids:4}.upa-catalog-table--ids-5{--upa-catalog-ids:5}.upa-catalog-table--ids-6{--upa-catalog-ids:6}.upa-catalog-table--ids-7{--upa-catalog-ids:7}.upa-catalog-table--ids-8{--upa-catalog-ids:8}.upa-catalog-table--ids-9{--upa-catalog-ids:9}.upa-catalog-table--counts-1{--upa-catalog-counts:1}.upa-catalog-table--counts-2{--upa-catalog-counts:2}.upa-catalog-table--counts-3{--upa-catalog-counts:3}.upa-catalog-table--counts-4{--upa-catalog-counts:4}.upa-catalog-table--counts-5{--upa-catalog-counts:5}.upa-catalog-table--counts-6{--upa-catalog-counts:6}.upa-catalog-table--counts-7{--upa-catalog-counts:7}.upa-catalog-table--counts-8{--upa-catalog-counts:8}.upa-catalog-table--recounts-1{--upa-catalog-recounts:1}.upa-catalog-table--recounts-2{--upa-catalog-recounts:2}
.upa-catalog-table th{position:sticky;top:0;z-index:3;box-sizing:border-box;height:64px;padding:5px 10px;border-right:1px solid var(--upa-grid-column-line);border-bottom:2px solid var(--upa-table-major);background:var(--upa-grid-head);color:var(--upa-grid-head-ink);font-size:11px;font-weight:600;letter-spacing:.04em;line-height:1.2;text-align:center;text-transform:uppercase;vertical-align:middle}.upa-catalog-table th.upa-catalog-count,.upa-catalog-table th[colspan]{padding:5px 6px;text-align:center}.upa-catalog-table thead tr+tr th{top:64px;height:28px}
.upa-catalog-table th.upa-stock-head--on-hand{background:var(--upa-stock-on-hand-head);color:var(--upa-stock-on-hand-head-ink)}.upa-catalog-table th.upa-stock-head--on-order{background:var(--upa-stock-on-order-head);color:var(--upa-stock-on-order-head-ink)}.upa-catalog-table th.upa-stock-head--total{background:var(--upa-stock-total);color:var(--upa-stock-total-ink)}
.upa-catalog-table td{box-sizing:border-box;height:38px;padding:0 10px;border-top:1px solid var(--upa-grid-line);border-right:1px solid var(--upa-grid-column-line);text-align:center;vertical-align:middle}.upa-catalog-table td.upa-catalog-count{padding:0 6px;text-align:center}.upa-catalog-table th:last-child,.upa-catalog-table td:last-child{border-right:0}.upa-catalog-table .upa-catalog-first-stock{border-left:1px solid var(--upa-table-major)}.upa-catalog-table tbody tr:first-child>td{border-top:0}
.upa-catalog-table .upa-stock-cell{position:relative}.upa-catalog-makeup,.upa-catalog-open{font-weight:500}
.upa-catalog-merge{background:var(--upa-grid-identity);font-weight:500;vertical-align:top}.upa-catalog-table td.upa-catalog-merge{padding-top:10px;vertical-align:top}.upa-catalog-table td.upa-catalog-merge--sticky{padding:0}.upa-catalog-stick{position:sticky;top:64px;z-index:2;padding:10px 10px;background:var(--upa-grid-identity)}.upa-catalog-merge[data-merge="0"]{font-weight:600}
.upa-catalog-row--major>td{border-top:3px solid #6B7280}.upa-catalog-row--minor>td{border-top:2px solid #9CA3AF}.upa-catalog-row--hidden>td{color:var(--upa-faint)}
.upa-stock-add--zero{background:transparent}.upa-stock-add--zero:hover{border-color:var(--upa-border)}.upa-stock-cell--have{background:var(--upa-stock-on-hand);color:var(--upa-stock-on-hand-ink);font-weight:600}.upa-catalog-table td.upa-stock-cell{padding:0}.upa-catalog-grid .upa-grid-row>.upa-stock-cell{padding:0!important}.upa-catalog-grid .upa-grid-row>.upa-stock-cell:has(.upa-stock-add:not(.upa-stock-add--zero),.upa-stock-static:not(.upa-stock-add--zero)){background:var(--upa-stock-on-hand)}.upa-catalog-grid .upa-grid-row>.upa-stock-cell.upa-stock-cell--negative:has(.upa-stock-add:not(.upa-stock-add--zero),.upa-stock-static:not(.upa-stock-add--zero)){background:var(--upa-stock-short)}.upa-catalog-grid .upa-stock-add,.upa-catalog-grid .upa-stock-static{min-height:37px;border:0;border-radius:0;background:transparent}.upa-catalog-grid .upa-stock-add:hover{border:0;background:rgba(20,22,26,.05)}.upa-catalog-grid .upa-grid-row>.upa-stock-cell:has(.upa-stock-add--in-cart){box-shadow:inset 0 0 0 2px var(--upa-accent)}.upa-catalog-grid .upa-stock-add--in-cart{box-shadow:none}.upa-catalog-table td.upa-stock-cell:has(.upa-stock-add:not(.upa-stock-add--zero),.upa-stock-static:not(.upa-stock-add--zero)){background:var(--upa-stock-on-hand)}.upa-catalog-table td.upa-stock-cell.upa-stock-cell--negative:has(.upa-stock-add:not(.upa-stock-add--zero),.upa-stock-static:not(.upa-stock-add--zero)){background:var(--upa-stock-short)}.upa-catalog-table .upa-stock-add,.upa-catalog-table .upa-stock-static{min-height:34px;border:0;border-radius:0;background:transparent}.upa-catalog-table .upa-stock-add:hover{border:0;background:rgba(20,22,26,.05)}.upa-catalog-table td.upa-stock-cell:has(.upa-stock-add--in-cart){box-shadow:inset 0 0 0 2px var(--upa-accent)}.upa-catalog-table .upa-stock-add--in-cart{box-shadow:none}.upa-stock-cell--short{background:var(--upa-stock-short);color:var(--upa-stock-short-ink);font-weight:600}
.upa-unit-star{position:absolute;top:2px;right:6px;color:var(--upa-accent);font-weight:700;pointer-events:none}
.upa-swatch-chip{display:inline-block;width:14px;height:14px;margin-right:6px;border:1px solid rgba(0,0,0,.35);border-radius:4px;vertical-align:-2px}.upa-swatch-chip--white,.upa-swatch-chip--sky-white{background:#fff}.upa-swatch-chip--pure-white{background:#FFFDF5}.upa-swatch-chip--tan{background:#D2B48C}.upa-swatch-chip--tan-taupe{background:#C2A878}.upa-swatch-chip--bronze{background:#4A3627}.upa-swatch-chip--black{background:#1C1C1C}.upa-swatch-chip--silver{background:#C7C9CC}.upa-swatch-chip--raw{background:#8B8D88}
.upa-catalog-main .upa-tab-panel--nested>.upa-tabs--third{margin-left:-15px}.upa-catalog-main .upa-tab-panel--nested>.upa-tab-panel--third{margin:0 0 0 -15px;padding:8px 14px 14px}
/* ⇅ Reorder list (kit extension): a drag handle and up/down buttons on every row, 44px on a phone */
.upa-reorder-list{display:flex;flex-direction:column;gap:4px;max-height:60vh;margin:0;padding:0;overflow:auto;list-style:none}.upa-reorder-row{display:flex;align-items:center;gap:8px;min-height:40px;padding:3px 6px;border:1px solid var(--upa-soft);border-radius:8px;background:#fff}.upa-reorder-row--dragging{border-color:var(--upa-accent);box-shadow:0 2px 8px rgba(16,24,40,.12)}
.upa-reorder-handle{flex:0 0 auto;padding:4px 8px;color:var(--upa-faint);font-size:18px;cursor:grab;touch-action:none;user-select:none}.upa-reorder-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upa-reorder-move{flex:0 0 36px;width:36px;min-height:32px;padding:0}
@media(pointer:coarse){.upa-reorder-move{flex-basis:44px;width:44px;min-height:44px}.upa-reorder-handle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}}
/* ⇅ Reorder drag, copied from the Scheduler's task list: the lifted row floats under the pointer, a dashed slot marks where it lands */
.upa-reorder-row.upa-reorder-row--dragging{position:fixed;z-index:9999;margin:0;opacity:.9;pointer-events:none;box-shadow:0 8px 22px rgba(16,24,40,.22);transform:scale(1.03);transition:none!important}.upa-reorder-slot{flex:0 0 auto;box-sizing:border-box;border:2px dashed var(--upa-accent);border-radius:8px;background:color-mix(in srgb,var(--upa-accent) 6%,transparent);list-style:none}.upa-reorder-handle:focus-visible{outline:2px solid var(--upa-accent);outline-offset:1px;border-radius:6px}
.upa-catalog-panel .upa-inventory-rail{position:sticky;top:60px;align-self:stretch;max-width:none;height:auto;max-height:none;margin:0;padding:11px 16px 12px;overflow:auto;border:0;border-left:1px solid #E3E7EC;border-radius:0 10px 10px 0;background:#FBFCFD}
.upa-inventory-rail .upa-rail-body{gap:8px}.upa-inventory-rail .upa-rail-row .upa-button{min-height:28px;padding:3px 8px;font-size:12px}.upa-rail-note{margin:0;padding:6px 11px;color:var(--upa-muted);font-size:12px}.upa-recount-order{cursor:pointer}.upa-recount-order input{flex:0 0 auto;width:18px;height:18px}.upa-recount-group .upa-rail-rows{max-height:320px;overflow:auto}.upa-recount-group-foot{padding:8px 11px;border-top:1px solid var(--upa-soft)}.upa-rail-warnings{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--upa-soft)}.upa-scope-chip{padding:2px 8px;border:1px solid var(--upa-soft);border-radius:999px;background:#fff}
.upa-cart-order{display:grid;gap:8px;width:260px}.upa-cart-order .upa-field{margin:0}.upa-cart-minimum{display:flex;align-items:center;gap:8px;padding:6px 11px;color:var(--upa-caution);font-size:12px}.upa-cart-minimum--met{color:var(--upa-good)}.upa-cart-minimum meter{flex:1 1 auto;height:6px}
@media(max-width:1100px){.upa-catalog-panel--rail{grid-template-columns:1fr}.upa-catalog-panel .upa-inventory-rail{position:static;max-height:none;border-left:0;border-top:1px solid #E3E7EC;border-radius:0 0 10px 10px}}
.upa-setup-panel>p.upa-muted:first-child{margin-top:0}.upa-setup-books .upa-grid-row{grid-template-columns:minmax(200px,1fr) 150px 150px 110px}.upa-setup-books--costs .upa-grid-row{grid-template-columns:minmax(200px,1fr) 150px 150px 96px 110px}.upa-setup-minimums .upa-grid-row{grid-template-columns:minmax(220px,1fr) 120px 56px}.upa-setup-products .upa-grid-row{grid-template-columns:minmax(220px,1fr) 64px 80px 80px 110px 56px}.upa-setup-triggers .upa-grid-row{grid-template-columns:minmax(220px,1fr) 110px 56px}.upa-setup-labels .upa-grid-row{grid-template-columns:minmax(160px,1fr) 120px minmax(180px,1fr) 56px}
.upa-data-grid .upa-grid-row>[role=cell]>small{display:block;margin-top:2px;color:var(--upa-muted);font-size:12px}.upa-data-grid .upa-grid-row>[role=cell]:has(small){flex-direction:column;align-items:flex-start;justify-content:center}.upa-row-muted{color:var(--upa-faint)}
.upa-job{margin-top:8px}.upa-job-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.upa-job-head>div{display:flex;align-items:center;gap:10px}.upa-job-head h2{margin:0;font-size:15px}.upa-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 18px;margin:12px 0}.upa-facts div{min-width:0}.upa-facts dt{color:var(--upa-muted);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.upa-facts dd{margin:3px 0 0;color:var(--upa-ink);font-size:13px}
/* Inventory item page (Inventory.dc.html chapter 2): a reader first, with the fields swapped in only for Edit this item. */
.upa-item-panel{padding:16px 18px}.upa-item-reader,.upa-item-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.upa-item-section{min-width:0}.upa-item-section h2{margin:0 0 4px;color:var(--upa-ink);font-size:13px;font-weight:700}.upa-facts--reader{grid-template-columns:1fr;gap:8px;margin:8px 0 12px}.upa-big-number{color:var(--upa-ink);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.upa-item-trigger{margin:10px 0;color:var(--upa-body);font-size:13px;line-height:1.5}.upa-item-editor-grid .upa-field{margin-bottom:10px}.upa-item-panel--editing{border-top:2px solid var(--upa-caution)}.upa-item-lead{margin:0 0 10px;color:var(--upa-body);font-size:13px}
.upa-item-demand .upa-grid-row{grid-template-columns:minmax(110px,1fr) 78px minmax(120px,1fr) minmax(110px,1fr) 56px minmax(110px,1fr)}.upa-item-demand .upa-grid-row--group{grid-template-columns:1fr;background:var(--upa-subtle)}.upa-row-short{background:#FFF5F4}.upa-item-movement .upa-grid-row{grid-template-columns:118px minmax(160px,1.4fr) minmax(90px,1fr) 78px 78px minmax(90px,.8fr)}.upa-item-units .upa-grid-row{grid-template-columns:minmax(110px,1fr) minmax(120px,1fr) minmax(110px,1fr) 78px minmax(110px,1fr) 52px}
.upa-item-usage{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:end;gap:18px;margin-bottom:12px}.upa-item-usage>div:first-child{display:flex;flex-direction:column;gap:2px}.upa-item-usage small{color:var(--upa-muted);font-size:12px}
/* Glass fitment suggestion under Code on the item form: an exact hit names the lite; a dashed amber box says nothing here IS it. */
.upa-fitment-box:empty{display:none}.upa-fitment-box{margin:-4px 0 10px}.upa-fitment{padding:10px 12px;border:1px solid var(--upa-soft);border-radius:8px;background:var(--upa-subtle)}.upa-fitment--inexact{border-style:dashed;border-color:var(--upa-caution-line);background:var(--upa-caution-bg)}.upa-fitment-heading{margin:0 0 6px;color:var(--upa-ink);font-size:12.5px;font-weight:700}.upa-fitment-heading--also{margin-top:10px;color:var(--upa-body);font-weight:600}.upa-fitment-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.upa-fitment-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}.upa-fitment-item .upa-badge{align-self:center}.upa-fitment-title{min-width:0;overflow-wrap:anywhere;color:var(--upa-ink);font-weight:600}.upa-fitment-empty{margin:0;color:var(--upa-muted);font-size:12.5px}.upa-fitment .upa-field-note{display:block;margin-top:8px}
.upa-item-new .upa-item-editor-grid{padding:16px 18px;border:1px solid var(--upa-border);border-radius:10px;background:#fff}.upa-dialog-body [data-adjust-stepper]{margin:6px 0 14px}.upa-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:14px 0}
@media(max-width:1100px){.upa-item-reader,.upa-item-editor-grid{grid-template-columns:1fr}.upa-item-usage{grid-template-columns:1fr}.upa-item-demand,.upa-item-movement,.upa-item-units{overflow-x:auto}}
/* Inventory purchase orders (Inventory.dc.html chapter 5): fixed rows, one Receive and one ⋯, progress as a meter. */
.upa-po-panel{padding:16px 18px}.upa-po-grid .upa-grid-row{grid-template-columns:minmax(140px,180px) minmax(200px,1fr) 176px 150px 150px}.upa-po-grid .upa-grid-row:not(.upa-grid-row--head){min-height:48px}.upa-po-progress{display:flex;align-items:center;gap:8px}.upa-po-progress meter{flex:0 0 52px;width:52px;height:6px}.upa-po-progress meter::-webkit-meter-bar{height:6px;border:0;border-radius:999px;background:#E3E7EC}.upa-po-progress meter::-webkit-meter-optimum-value,.upa-po-progress meter::-webkit-meter-suboptimum-value,.upa-po-progress meter::-webkit-meter-even-less-good-value{border-radius:999px;background:#2F9E44}.upa-po-count{color:var(--upa-body);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.upa-po-count--some{color:var(--upa-ink);font-weight:600}.upa-po-grid .upa-grid-row>[role=cell].upa-po-progress{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:10px}.upa-po-grid .upa-po-actions{gap:6px}.upa-po-progress meter::-moz-meter-bar{border-radius:999px;background:#2F9E44}.upa-po-panel .upa-toolbar{display:flex;gap:8px;margin-bottom:12px}.upa-po-panel .upa-search{flex:0 1 420px;width:auto}.upa-po-progress small{color:var(--upa-muted);font-size:12px;font-variant-numeric:tabular-nums}.upa-po-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.upa-po-lines summary{cursor:pointer;color:var(--upa-muted);font-size:12px;font-variant-numeric:tabular-nums}.upa-po-lines ul{margin:4px 0 0;padding-left:16px;color:var(--upa-body);font-size:12px}.upa-po-progress{flex-wrap:wrap}.upa-po-flag{color:var(--upa-caution)!important}
.upa-po-linking .upa-grid-row{grid-template-columns:minmax(120px,1fr) minmax(150px,1.3fr) 96px minmax(130px,1.2fr) 88px}.upa-po-linking--costs .upa-grid-row{grid-template-columns:minmax(120px,1fr) minmax(150px,1.3fr) 96px minmax(130px,1.2fr) 100px 88px}.upa-po-transit .upa-grid-row{grid-template-columns:minmax(110px,1fr) minmax(140px,1fr) 150px minmax(200px,2fr)}.upa-po-readiness .upa-grid-row{grid-template-columns:minmax(160px,1.4fr) 110px 130px 80px minmax(160px,1.4fr)}.upa-po-received .upa-grid-row{grid-template-columns:minmax(120px,1fr) minmax(140px,1fr) 100px minmax(220px,2.4fr)}.upa-po-vendors .upa-grid-row{grid-template-columns:minmax(160px,1.6fr) 90px 110px 150px}.upa-po-vendors--costs .upa-grid-row{grid-template-columns:minmax(160px,1.6fr) 90px 110px 110px 150px}
.upa-po-empty{flex-direction:column;align-items:flex-start;gap:8px;padding:18px}.upa-po-empty-actions{display:flex;gap:8px;flex-wrap:wrap}.upa-po-folded{margin-top:12px;color:var(--upa-body);font-size:13px}.upa-po-folded summary{cursor:pointer;color:var(--upa-accent)}.upa-po-ignored{margin:6px 0 0;padding-left:18px;font-size:13px}.upa-dialog-subtitle{margin:14px 0 4px;font-size:13px}.upa-section-title{margin:18px 0 8px;font-size:14px}.upa-section-title:first-child{margin-top:0}
.upa-receive-lines .upa-grid-row{grid-template-columns:minmax(0,1fr) 96px 120px}.upa-receive-qty{width:80px;min-height:35px;padding:6px 8px;border:1px solid var(--upa-border);border-radius:6px;font:inherit;text-align:right}.upa-link-summary{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--upa-soft);border-radius:8px;background:#FBFCFD;color:var(--upa-body);font-size:13px}.upa-link-summary>span+span::before{content:'·';margin-right:14px;color:var(--upa-faint)}.upa-choice.upa-choice--card{overflow:hidden;margin:0 0 12px;border:1px solid var(--upa-soft);border-radius:8px}.upa-choice--card>legend{float:left;display:flex;justify-content:space-between;width:100%;margin:0;padding:10px 12px;border-bottom:1px solid var(--upa-soft);background:#FBFCFD;font-size:13px}.upa-choice--card>legend small{font-size:12px}.upa-choice--card>.upa-check{clear:both;display:flex;gap:10px;min-height:0;margin:0;padding:10px 12px;border-top:1px solid var(--upa-softer);color:var(--upa-body);font-size:12.5px;cursor:pointer}.upa-choice--card>legend+.upa-check{border-top:0}.upa-choice--card>.upa-check:has(input:checked){background:var(--upa-accent-wash)}.upa-choice--card>.upa-check strong{color:var(--upa-ink);font-size:13.5px}.upa-link-lines{display:flex;flex-direction:column;gap:10px}.upa-link-line{overflow:hidden;border:1px solid var(--upa-soft);border-radius:8px}.upa-link-line-head{padding:9px 12px;border-bottom:1px solid var(--upa-soft);background:#FBFCFD;color:var(--upa-body);font-size:12.5px}.upa-link-line-head strong{color:var(--upa-ink)}.upa-link-match{display:flex;align-items:center;gap:10px;margin:10px 12px;padding:10px 12px;border:1px solid #CBE4D0;border-radius:8px;background:var(--upa-good-bg);color:var(--upa-ink);font-size:13.5px}.upa-link-match>small{margin-left:auto;color:var(--upa-good);font-size:12px}.upa-link-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#2F9E44}.upa-link-none{margin:10px 12px;padding:10px 12px;border:1px dashed #C3CAD3;border-radius:8px;color:var(--upa-muted);font-size:13px}.upa-choice{margin:10px 0 12px;padding:0;border:0}.upa-choice legend{margin-bottom:6px;font-weight:600;font-size:13px}.upa-choice legend small{margin-left:6px;color:var(--upa-muted);font-weight:400}.upa-choice .upa-check{align-items:flex-start;margin-bottom:8px}.upa-choice .upa-check span strong{display:block}
@media(max-width:1100px){.upa-po-grid,.upa-po-linking,.upa-po-transit,.upa-po-readiness,.upa-po-received,.upa-po-vendors{overflow-x:auto}}
/* Inventory deliveries (Inventory.dc.html chapter 3): the queue, oldest first, beside the open receipt. */
.upa-deliveries{display:grid;grid-template-columns:340px minmax(0,1fr);gap:0;padding:0}.upa-deliveries--single{grid-template-columns:1fr}.upa-delivery-tag{grid-column:1/-1;margin:0;padding:10px 16px;border-bottom:1px solid #E3E7EC}.upa-deliveries>:not(.upa-delivery-tag):not(.upa-delivery-detail){min-width:0;padding:12px;border-right:1px solid #E3E7EC;border-bottom-left-radius:10px;background:#F6F7F9}.upa-deliveries--single>:not(.upa-delivery-tag):not(.upa-delivery-detail){border-right:0;border-bottom-right-radius:10px}.upa-deliveries>.upa-delivery-detail{padding:16px 18px}.upa-delivery-queue{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.upa-delivery-row{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid var(--upa-soft);border-radius:8px;background:#fff;color:var(--upa-body);font-size:13px;text-decoration:none}.upa-delivery-row:hover{border-color:var(--upa-accent-line);color:var(--upa-body)}.upa-delivery-row[aria-current=true]{border-color:var(--upa-accent);background:var(--upa-accent-wash)}.upa-delivery-row--flagged{border-color:var(--upa-problem);box-shadow:inset 3px 0 0 var(--upa-problem)}.upa-delivery-row-head{display:flex;justify-content:space-between;gap:8px;color:var(--upa-ink)}.upa-delivery-row small{color:var(--upa-muted);font-size:12px}.upa-delivery-note{color:var(--upa-body)}.upa-delivery-row>.upa-badge{align-self:flex-start}.upa-delivery-pos [role=cell]{white-space:normal;overflow-wrap:anywhere}.upa-delivery-pos [role=cell]>small{display:block;margin-top:2px;color:var(--upa-caution);font-size:12px}
.upa-delivery-detail{min-width:0}.upa-delivery-head h2{margin:0;font-size:16px}.upa-delivery-head p{margin:2px 0 10px}.upa-delivery-photos{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.upa-delivery-photo img{display:block;width:64px;height:64px;object-fit:cover;border:1px solid var(--upa-soft);border-radius:6px}.upa-delivery-pos .upa-grid-row{grid-template-columns:minmax(180px,1.2fr) minmax(0,1.6fr) 170px;min-width:0}.upa-delivery-queue-head{display:flex;justify-content:space-between;margin:0 0 10px;font-size:13px;font-weight:600}.upa-delivery-queue-head small{color:var(--upa-muted);font-size:12px;font-weight:500}.upa-delivery-detail .upa-facts--reader{gap:0;overflow:hidden;border:1px solid var(--upa-soft);border-radius:8px}.upa-delivery-detail .upa-facts--reader>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:8px 12px;border-top:1px solid var(--upa-softer)}.upa-delivery-detail .upa-facts--reader>div:first-child{border-top:0}.upa-delivery-detail .upa-facts--reader dt{color:var(--upa-muted);font-size:12.5px;font-weight:500;letter-spacing:0;text-transform:none}.upa-delivery-detail .upa-facts--reader dd{margin:0;overflow-wrap:anywhere}.upa-po-folded>summary{display:inline-flex;align-items:center;gap:8px;list-style:none}.upa-po-folded>summary::-webkit-details-marker{display:none}.upa-po-folded>summary .upa-row-chevron{transform:rotate(-90deg)}.upa-po-folded[open]>summary .upa-row-chevron{transform:none}.upa-outcomes{display:flex;flex-direction:column;gap:8px;margin:10px 0;padding:0;list-style:none}.upa-outcomes li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 14px;padding:11px 14px;border:1px solid var(--upa-soft);border-radius:8px;background:#fff;font-size:13px}.upa-outcomes li>strong{grid-column:1;color:var(--upa-ink);font-size:13.5px;font-weight:600}.upa-outcomes li>span{grid-column:1;color:var(--upa-body);font-size:12.5px;line-height:1.45}.upa-outcomes li>:not(strong):not(span){grid-column:2;grid-row:1 / span 2}.upa-outcomes li.upa-outcome--primary{border-color:var(--upa-accent-line);background:var(--upa-accent-wash)}.upa-reservation-ask .upa-grid-row{grid-template-columns:minmax(0,1fr) 160px 110px 110px}.upa-callout{margin:12px 0;padding:11px 14px;border:1px solid #BFE3CB;border-radius:8px;background:#EEF9F1;color:#1B5E36;font-size:12.5px;line-height:1.5}.upa-callout>strong{display:block;margin-bottom:2px;font-size:13px}.upa-card-hints{overflow:hidden;margin:0 0 10px;border:1px solid var(--upa-soft);border-radius:8px}.upa-card-hints p{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;margin:0;padding:8px 12px;border-top:1px solid var(--upa-softer);font-size:13.5px}.upa-card-hints p:first-child{border-top:0}.upa-card-hints p>small.upa-badge{display:inline-flex;color:var(--upa-muted)}.upa-card-hints small,.upa-card-choice small{display:block;color:var(--upa-muted);font-size:12px}.upa-card-choice{align-items:flex-start;margin-bottom:6px}.upa-delivery-empty{flex-direction:column;align-items:flex-start;gap:8px;padding:18px}.upa-delivery-log-panel{padding:16px 18px}.upa-delivery-log{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:4px 16px;max-width:760px}.upa-delivery-log .upa-form-actions{grid-column:1/-1}
@media(max-width:1100px){.upa-deliveries{grid-template-columns:1fr}.upa-deliveries>:not(.upa-delivery-tag):not(.upa-delivery-detail){border-right:0;border-bottom:1px solid #E3E7EC;border-radius:0}.upa-outcomes li{grid-template-columns:1fr}.upa-delivery-pos{overflow-x:auto}}
/* Inventory vendors: one row per vendor, the Order cart column filled in from the server's pricing. */
.upa-vendors-panel{padding:16px 18px}.upa-vendors-grid .upa-grid-row{grid-template-columns:minmax(180px,1.6fr) 90px minmax(150px,1fr) 130px 100px 110px}.upa-vendor-row--ready{background:var(--upa-good-bg)}.upa-vendor-over{grid-column:1/-1;font-size:12.5px;color:var(--upa-muted)}.upa-vendor-over a{font-weight:600}
@media(max-width:1100px){.upa-vendors-grid{overflow-x:auto}}
.upa-shelf-panel{padding:16px 18px}.upa-shelf-grid .upa-grid-row{grid-template-columns:minmax(260px,1fr) 96px 130px 150px}.upa-shelf-ledger .upa-grid-row{grid-template-columns:minmax(260px,1fr) 110px 170px 150px}.upa-shelf-panel .upa-data-grid+.upa-section-title,.upa-shelf-panel .upa-data-grid+.upa-state+.upa-section-title{margin-top:22px}.upa-days-grid .upa-grid-row{grid-template-columns:minmax(260px,1fr) 190px 120px 170px}.upa-shelf-orders{margin-top:6px}.upa-shelf-orders ul{display:flex;flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none}.upa-shelf-orders li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.upa-shelf-orders small{color:var(--upa-muted)}
@media(max-width:1100px){.upa-shelf-grid,.upa-days-grid{overflow-x:auto}}
.upa-history-panel{display:flex;flex-direction:column;gap:12px;padding:16px 18px}.upa-history-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.upa-history-toolbar .upa-search{flex:1 1 260px;max-width:420px}.upa-history-voided{margin-left:auto}.upa-audit{display:flex;align-items:center;gap:10px}.upa-audit>span{flex:1 1 auto}.upa-audit-flags{margin:0;padding-left:20px;font-size:13px}.upa-inline-form{display:inline}
.upa-history-grid .upa-grid-row{grid-template-columns:108px minmax(220px,1fr) 120px minmax(150px,176px) 96px 44px;align-items:stretch}.upa-history-acts .upa-grid-row{grid-template-columns:108px minmax(220px,1.8fr) 96px 72px minmax(120px,1fr)}.upa-history-trail .upa-grid-row{grid-template-columns:108px minmax(240px,2fr) minmax(120px,1fr) 72px 44px}
.upa-history-log>summary{list-style:none;cursor:pointer}.upa-history-log>summary::-webkit-details-marker{display:none}.upa-history-log[open]>summary{background:var(--upa-accent-wash)}.upa-history-log--voided>summary,.upa-history-line--voided{color:var(--upa-muted)}.upa-history-count{min-width:24px;font-weight:500;font-variant-numeric:tabular-nums;text-align:right}.upa-history-grid .upa-grid-row>*{min-height:45px}.upa-history-grid .upa-grid-row--head>*{min-height:36px}.upa-history-grid .upa-grid-row>[role=cell].upa-history-when{flex-direction:column;align-items:flex-start;justify-content:center;font-size:13px}.upa-history-grid .upa-grid-row>[role=cell].upa-history-when>small{margin-top:0;font-size:11.5px}.upa-history-grid .upa-grid-row>[role=cell].upa-history-order{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.upa-history-name{min-width:0;font-weight:500}.upa-history-name>small{display:block;margin-top:1px;color:var(--upa-muted);font-size:12px;font-weight:400}.upa-history-tags{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:6px}.upa-history-tags:empty{display:none}.upa-history-grid .upa-history-items{justify-content:center;gap:14px}.upa-history-grid .upa-grid-row>.upa-history-actions{justify-content:center;padding:0}.upa-item-pick{position:relative;flex:1 1 260px;max-width:420px}.upa-item-pick .upa-search{width:100%;max-width:none}.upa-item-pick-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;display:flex;flex-direction:column;max-height:280px;overflow:auto;border:1px solid var(--upa-border);border-radius:8px;background:#fff;box-shadow:0 12px 32px rgba(16,24,40,.18)}.upa-item-pick:not(:focus-within):not(:hover) .upa-item-pick-list,.upa-item-pick:has(.upa-search:placeholder-shown) .upa-item-pick-list,.upa-item-pick-list:not(:has([data-history-pick]:not([hidden]))){display:none}.upa-item-pick-option{display:flex;align-items:center;min-height:38px;padding:8px 12px;border-top:1px solid var(--upa-softer);color:var(--upa-ink);font-size:13.5px}[data-history-pick]:first-child>.upa-item-pick-option{border-top:0}.upa-item-pick-option:hover,.upa-item-pick-option:focus-visible{background:var(--upa-subtle);color:var(--upa-ink);outline:0}.upa-open-row>summary{list-style:none;cursor:pointer}.upa-open-row>summary::-webkit-details-marker{display:none}.upa-open-row>summary:hover{background:#FBFCFD}.upa-open-row-lead{gap:10px}.upa-open-row-lead .upa-row-chevron{transform:rotate(-90deg)}.upa-open-row[open]>summary .upa-open-row-lead .upa-row-chevron{transform:none}.upa-row-chevron-space{flex:0 0 10px}.upa-open-row-name{min-width:0}.upa-data-grid .upa-grid-row>[role=cell].upa-open-row-lead:has(small){flex-direction:row;align-items:center}.upa-open-row-body{background:#FBFCFD}.upa-open-row-line{display:flex;align-items:center;gap:10px 18px;min-height:38px;padding:7px 14px 7px 34px;border-top:1px solid #F1F3F6;font-size:13px}.upa-open-row-line>strong{min-width:84px;font-weight:600}.upa-open-row-line>small{color:var(--upa-muted);font-size:12px}.upa-open-row-spacer{flex:1 1 auto}.upa-open-row-line .upa-badge{text-transform:none;letter-spacing:0;font-size:12px}.upa-days-item>[role=cell]:first-child{padding-left:34px}.upa-days-item{color:var(--upa-body)}.upa-shelf-orders>summary{list-style:none;cursor:pointer;gap:8px}.upa-shelf-orders>summary::-webkit-details-marker{display:none}.upa-shelf-orders>summary .upa-row-chevron{transform:rotate(-90deg)}.upa-shelf-orders[open]>summary .upa-row-chevron{transform:none}.upa-data-grid .upa-grid-row>[role=cell].upa-number:has(small){flex-direction:row;align-items:baseline;justify-content:flex-end;gap:6px}.upa-grid-row>[role=cell].upa-number>small{margin-top:0}.upa-row-toggle{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:22px;height:22px;margin-left:-4px;padding:0;border:0;border-radius:5px;background:transparent;cursor:pointer}.upa-row-toggle:hover{background:var(--upa-subtle)}.upa-row-toggle[aria-expanded=false] .upa-row-chevron{transform:rotate(-90deg)}.upa-open-row-lead .upa-row-toggle[aria-expanded=true] .upa-row-chevron{transform:none}ul.upa-open-row-body{margin:0;padding:0;list-style:none}.upa-po-grid .upa-open-row-lead{gap:8px}.upa-row-chevron{flex:0 0 auto;width:10px;height:6px;background:var(--upa-chevron) center/10px 6px no-repeat;transition:transform .12s ease}details[open]>summary .upa-row-chevron{transform:rotate(180deg)}
.upa-history-lines{padding:4px 12px 10px 20px;border-top:1px solid var(--upa-soft);background:#FBFCFD}.upa-history-line>a{color:var(--upa-ink)}.upa-history-line>a:hover{color:var(--upa-accent)}.upa-history-group+.upa-history-group{border-top:1px solid var(--upa-softer)}.upa-history-group h4{margin:8px 0 4px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--upa-muted)}.upa-history-line{display:grid;grid-template-columns:minmax(0,1fr) 72px 44px;align-items:center;gap:8px;padding:2px 0}.upa-history-qty{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-align:right}
.upa-history-units{margin:0;padding-left:20px;font-size:13px}.upa-history-units li{margin:2px 0}.upa-history-more{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0}.upa-history-facts{display:flex;flex-wrap:wrap;gap:18px}.upa-product-choices{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow:auto;margin-top:8px}
@media(max-width:1100px){.upa-history-grid{overflow-x:auto}.upa-history-lines{padding-left:14px}}
.upa-not-logged-panel{display:flex;flex-direction:column;gap:12px;padding:16px 18px}.upa-not-logged-lead{display:flex;align-items:center;gap:12px}.upa-not-logged-lead>span{flex:1 1 auto}.upa-not-logged-grid{grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) 80px minmax(300px,auto)}.upa-not-logged-grid .upa-grid-row{grid-column:1/-1;grid-template-columns:subgrid;align-items:stretch;min-width:0}.upa-not-logged-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.upa-not-logged-answer{min-width:132px;justify-content:center}.upa-not-logged-empty{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.upa-not-logged-fallback{display:flex;gap:8px}
@media(max-width:1100px){.upa-not-logged-grid{overflow-x:auto}}
/* Inventory touch targets last, so they win over the fine-pointer sizes above. */
@media(pointer:coarse){.upa-stock-add,.upa-stock-static,.upa-count-empty{min-height:44px}.upa-shelf-orders>summary,.upa-shelf-panel a,.upa-vendors-panel a,.upa-history-panel a,.upa-history-log>summary,.upa-history-voided,.upa-product-choice{display:inline-flex;align-items:center;min-height:44px}.upa-history-log>summary{display:grid}.upa-mode-switcher a,.upa-crumb a,.upa-inventory .upa-chip{min-height:44px}.upa-count-stepper .upa-button{flex-basis:44px;width:44px;height:44px;min-height:44px}.upa-count-stepper input{min-height:44px;font-size:16px}.upa-search{min-height:44px;font-size:16px}.upa-rail .upa-overflow-menu>summary,.upa-data-grid .upa-overflow-menu>summary{width:44px;height:44px;min-height:44px}.upa-recount-order input{width:24px;height:24px}.upa-stepper>input[type=number]{font-size:16px}.upa-receive-qty{min-height:44px;font-size:16px}.upa-po-row .upa-button{min-height:44px}.upa-choice .upa-check{min-height:44px}.upa-delivery-row{min-height:44px}}
/* Full-bleed add targets keep 44px on a touch screen (after the catalog rules they override). */
@media(pointer:coarse){.upa-catalog-table .upa-stock-add,.upa-catalog-table .upa-stock-static,.upa-catalog-grid .upa-stock-add,.upa-catalog-grid .upa-stock-static{min-height:44px}.upa-row-toggle{width:44px;height:44px;margin:-11px -6px -11px -14px}}
/* The catalog with its rail fills the screen down to the footer (Jake, 2026-09-25: the cart ran past the screen, hid its own
   lines and could not be scrolled): the grid and the cart each scroll inside their own column, and neither stretches the page. */
@media(min-width:1101px){.upa-catalog-panel--rail>.upa-catalog-main>.upa-tab-panel--nested{margin:0 -14px -14px -14px!important;border-right:0;border-bottom:0;border-left:0;border-radius:0 0 0 9px;padding-left:14px}}@media(min-width:1101px){.upa-catalog-panel--rail{height:calc(100dvh - 212px);min-height:360px;grid-template-rows:minmax(0,1fr);align-items:stretch}.upa-catalog-panel--rail>.upa-catalog-main{display:flex;flex-direction:column;min-height:0}.upa-catalog-panel--rail>.upa-catalog-main .upa-tab-panel--nested,.upa-catalog-panel--rail>.upa-catalog-main .upa-tab-panel--third{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.upa-catalog-panel--rail .upa-catalog-scroll{flex:1 1 auto;min-height:0;max-height:none}.upa-catalog-panel--rail>.upa-inventory-rail{min-height:0;overflow:auto;overscroll-behavior:contain}}
/* Menus (the kit): an option's name sits over its description, as every menu in the design draws it; a panel inside a box that
   scrolls or clips floats over the page (browser.ts placeMenu). The order's name in the cart rail reads as a dropdown. */
.upa-menu-item{flex-direction:column;align-items:flex-start;gap:1px}.upa-page-view .upa-menu-item{flex-direction:row;align-items:center}.upa-menu-panel.upa-menu-panel--floating,.upa-rail .upa-overflow-menu .upa-menu-panel.upa-menu-panel--floating,.upa-data-grid .upa-overflow-menu .upa-menu-panel.upa-menu-panel--floating,.upa-page-footer .upa-overflow-menu .upa-menu-panel.upa-menu-panel--floating{position:fixed;right:auto;bottom:auto;z-index:90;overflow:auto}.upa-rail-value>summary{display:inline-flex;align-items:center;gap:6px;padding:3px 6px;margin:-3px -6px;border-radius:6px;color:var(--upa-ink);font-weight:600}.upa-rail-value>summary:hover,.upa-rail-value[open]>summary{background:var(--upa-subtle)}.upa-rail-value>summary::after{content:'';flex:0 0 auto;width:10px;height:6px;background:var(--upa-chevron) center/10px 6px no-repeat;transition:transform .12s ease}.upa-rail-value[open]>summary::after{transform:rotate(180deg)}
/* Folder tabs: a nested folder ends on its parent's bottom edge, the way it starts on its parent's left edge (Jake, 2026-09-25:
   the bottoms stacked one above another). Its bottom border lands on the parent's, through the parent's padding. */
.upa-tab-panel--nested:last-child,.upa-tab-panel--third:last-child{margin-bottom:-17px}.upa-catalog-main>.upa-tab-panel--nested:last-child{margin-bottom:-15px}.upa-catalog-main .upa-tab-panel--nested>.upa-tab-panel--third:last-child{margin-bottom:-15px}
.upa-gallery-specimen{margin:14px 0 0}.upa-gallery-specimen .upa-catalog-scroll{min-height:0;max-height:none}.upa-gallery-specimen>figcaption{margin:0 0 6px;color:var(--upa-muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
/* The catalog's Backstock tab: Use Backstock's floor units and consumes under the slots (Jake, 2026-09-25). */
.upa-backstock-parts{padding:14px 12px 16px;border-top:1px solid var(--upa-table-rule)}.upa-backstock-parts>.upa-section-title:first-of-type{margin-top:12px}.upa-backstock-floor{margin-bottom:14px}.upa-backstock-floor .upa-grid-row{grid-template-columns:120px minmax(0,1fr)}.upa-backstock-slots{margin-bottom:14px}.upa-backstock-slots .upa-grid-row{grid-template-columns:80px minmax(0,1fr) minmax(0,1.2fr)}.upa-grid-row--note>*{grid-column:1/-1;color:var(--upa-muted)}.upa-backstock-consumes{margin:0;padding-left:18px;font-size:13px}
/* A dialog footer's status says its whole sentence, wrapping beside the buttons rather than cutting off (Jake, 2026-09-27:
   the Powder coat dialog and others lost the end of it). */
.upa-dialog-footer{flex:0 0 auto;white-space:normal}.upa-dialog-footer [role=status]{flex:1 1 auto;overflow:visible;text-overflow:clip;white-space:normal;line-height:1.35}.upa-dialog-footer .upa-button{flex:0 0 auto;white-space:nowrap}
/* An opened History entry's items sit as one block in the middle of the row, each item set in a step from its category's heading (Jake, 2026-10-04); Deductions, Receipts and Recounts alike. */
.upa-history-lines>*{box-sizing:border-box;max-width:640px;margin-left:auto;margin-right:auto}.upa-history-lines .upa-history-line{padding-left:16px}
/* Show hidden is a plain kit button the size of its neighbors, not a rounded chip (Jake, 2026-10-04); on, it takes the selected wash. */
.upa-show-hidden[aria-pressed=true]{border-color:var(--upa-accent-line);background:var(--upa-accent-wash);color:var(--upa-ink)}
/* A table shorter than its box closes with a line under its last row (Jake, 2026-10-04: "It has no bottom"). */
.upa-catalog-table{border-bottom:1px solid var(--upa-grid-column-line)}
/* Scrolling tables and the cart rail take the Scheduler board's floating bars (Jake, 2026-10-02: "Let's copy those"; it replaces the 2026-09-27 gutter). The native bars are hidden, so nothing reserves a strip; a thin bar floats over the area below its header while it scrolls, and can be dragged (mountOverlayScroll in browser.ts). */
.upa-catalog-scroll,.upa-inventory-rail,.upa-grid-scroll{scrollbar-width:none}.upa-catalog-scroll::-webkit-scrollbar,.upa-inventory-rail::-webkit-scrollbar,.upa-grid-scroll::-webkit-scrollbar{display:none}
.upa-scroll-thumb{position:fixed;z-index:6;width:7px;border-radius:999px;background:rgba(92,100,114,.55);opacity:0;transition:opacity 300ms ease;cursor:grab;touch-action:none}.upa-scroll-thumb[data-axis=x]{height:7px}.upa-catalog-scroll::after{content:"";position:sticky;bottom:0;display:block;height:22px;margin-top:-22px;background:linear-gradient(rgba(255,255,255,0),rgba(16,24,40,.13));pointer-events:none;opacity:0;transition:opacity 300ms ease}.upa-catalog-scroll[data-more-below]::after{opacity:1}.upa-scroll-note{flex:0 0 auto;margin-top:8px;font-size:12.5px;color:#4B5563;opacity:0;transition:opacity 300ms ease}.upa-scroll-note[data-show]{opacity:1}.upa-scroll-thumb[hidden]{display:none}.upa-scroll-thumb[data-show],.upa-scroll-thumb:hover,.upa-scroll-thumb[data-dragging]{opacity:1}.upa-scroll-thumb:hover,.upa-scroll-thumb[data-dragging]{background:rgba(92,100,114,.8)}
/* A count box with − and + beside it carries no browser arrows inside it too (Jake, 2026-09-27). */
.upa-count-stepper input,.upa-stepper input{-moz-appearance:textfield;appearance:textfield}.upa-count-stepper input::-webkit-inner-spin-button,.upa-count-stepper input::-webkit-outer-spin-button,.upa-stepper input::-webkit-inner-spin-button,.upa-stepper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}
.upa-cart-qty input{width:64px;min-height:30px;padding:3px 6px;border:1px solid var(--upa-border);border-radius:6px;background:#fff;color:var(--upa-ink);font:inherit;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;-moz-appearance:textfield;appearance:textfield}.upa-cart-qty input::-webkit-inner-spin-button,.upa-cart-qty input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.upa-cart-qty input:focus{border-color:var(--upa-accent);outline:0;box-shadow:0 0 0 3px rgba(37,99,235,.16)}@media(pointer:coarse){.upa-cart-qty input{min-height:44px}}
/* The item page's This item tab, as Inventory.dc.html chapter 2 draws it (Jake, 2026-09-27): section heads in small caps with a
   rule, the item's name and chips, the on-hand number large beside its three nearest facts, label-and-value rows, the trigger in
   a blue note. The crumb names the item, so the page's own heading is not repeated above it. */
.upa-shell:has([data-item-panel]) .upa-page-heading{display:none}.upa-item-section h2{display:flex;align-items:center;gap:10px;margin:0 0 10px;color:var(--upa-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.upa-item-section h2::after{content:'';flex:1 1 auto;height:1px;background:var(--upa-softer)}.upa-item-name{margin:0 0 8px;color:var(--upa-ink);font-size:19px;font-weight:600;line-height:1.25}.upa-item-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.upa-item-chip{display:inline-flex;align-items:center;min-height:26px;padding:2px 10px;border:1px solid var(--upa-soft);border-radius:999px;background:#fff;color:var(--upa-ink);font-size:12.5px;font-weight:600}.upa-item-chip:first-child{border-color:var(--upa-accent-line);background:var(--upa-accent-wash)}.upa-facts.upa-item-rows{gap:0;margin:0 0 10px;padding-top:6px;border-top:1px solid var(--upa-softer)}.upa-facts.upa-item-rows>div{display:grid;grid-template-columns:minmax(118px,42%) minmax(0,1fr);gap:12px;padding:5px 0}.upa-facts.upa-item-rows dt{color:var(--upa-body);font-size:13px;font-weight:400;letter-spacing:0;text-transform:none}.upa-facts.upa-item-rows dd{margin:0;color:var(--upa-ink);font-size:13px;overflow-wrap:anywhere}.upa-item-section:last-child .upa-item-rows dd{text-align:right;font-variant-numeric:tabular-nums}.upa-item-stock{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:start}.upa-item-stock .upa-item-rows{border-top:0;padding-top:0}.upa-item-onhand{display:flex;flex-direction:column;gap:2px;min-width:92px}.upa-item-onhand>span{color:var(--upa-muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.upa-item-onhand .upa-big-number{font-size:32px;line-height:1.1}.upa-callout.upa-callout--info{border-color:var(--upa-accent-line);background:var(--upa-accent-wash);color:#1F3A68}
/* The item page as drawn (Jake, 2026-10-04: "Item mode inside an item. See picture."): a gray photo panel, then Identity,
   Stock and Reorder logic side by side, then the closed More details fold that holds every other fact. Two columns on a
   narrower screen, one on a phone. */
.upa-item-reader{grid-template-columns:170px minmax(0,1.1fr) minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:start}
.upa-item-photos{min-width:0}.upa-item-photo{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:170px;max-width:100%;aspect-ratio:1;border:1px solid #E1E5EA;border-radius:10px;background:#F1F3F6;color:var(--upa-faint);font-size:11.5px}
.upa-item-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:170px;max-width:100%;margin-top:8px}.upa-item-thumbs span{aspect-ratio:1;border:1px solid #E1E5EA;border-radius:8px;background:#F1F3F6}
.upa-item-photo-note{margin:7px 0 0;color:var(--upa-muted);font-size:12px}
.upa-item-name{font-size:20px;letter-spacing:-.01em}.upa-item-identity .upa-item-rows>div{grid-template-columns:118px minmax(0,1fr);padding:3px 0}.upa-item-chip .upa-swatch-chip{width:11px;height:11px;margin-right:7px;border-radius:3px;vertical-align:0}
.upa-item-onhand>span{font-size:11px}.upa-item-onhand .upa-big-number{font-size:34px;font-weight:600;letter-spacing:-.02em}
.upa-item-stock .upa-item-rows>div{grid-template-columns:84px minmax(0,1fr);padding:3px 0}
.upa-item-verdict{margin-top:12px;font-size:12.5px;line-height:1.5}.upa-item-verdict>strong{display:inline-flex;flex:0 0 16px;align-items:center;justify-content:center;width:16px;height:16px;margin-top:1px;border-radius:50%;font-size:11px;font-weight:700}
.upa-item-verdict>strong{background:var(--upa-muted);color:#fff}.upa-item-verdict.upa-state--error>strong{background:var(--upa-problem)}.upa-item-verdict.upa-state--attention>strong{background:var(--upa-caution)}.upa-item-verdict.upa-state--good>strong{background:var(--upa-good)}
.upa-item-verdict b,.upa-item-trigger b{font-weight:600}
.upa-item-reorder .upa-item-rows{border-top:0;padding-top:0}.upa-item-reorder .upa-item-rows>div{grid-template-columns:minmax(0,1fr) auto;padding:3px 0}.upa-item-reorder .upa-item-rows dd{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.upa-item-reorder .upa-item-trigger{margin:11px 0 0;padding:10px 12px;font-size:12.5px;color:#1F4B7A}
.upa-item-more{grid-column:1/-1;border-top:1px solid var(--upa-softer);padding-top:10px}.upa-item-more>summary{display:inline-flex;align-items:center;gap:8px;min-height:30px;cursor:pointer;list-style:none;color:var(--upa-body);font-size:13px;font-weight:600}.upa-item-more>summary::-webkit-details-marker{display:none}
.upa-item-more>summary .upa-row-chevron{transform:rotate(-90deg)}.upa-item-more[open]>summary .upa-row-chevron{transform:none}
.upa-item-more-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;margin-top:8px}.upa-item-more-body .upa-item-rows{align-content:start}.upa-item-more-body .upa-item-rows{border-top:0;padding-top:0}
/* Demand and Movement: a heading row, the table, and a footer bar inside the card, as drawn. */
.upa-item-tabhead{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px}.upa-item-tabhead .upa-item-lead{margin:0;color:var(--upa-ink);font-size:15px}.upa-item-tabhead .upa-item-lead strong{font-weight:600}
.upa-item-pill{padding:3px 9px;border:1px solid #E8C9C4;border-radius:999px;background:var(--upa-problem-bg);color:var(--upa-problem-dark);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.upa-item-tabfoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;min-height:58px;box-sizing:border-box;margin:14px -18px -16px;padding:11px 18px;border-top:1px solid var(--upa-border);color:var(--upa-body);font-size:12.5px}
.upa-item-demand .upa-grid-row{grid-template-columns:minmax(100px,118px) 96px minmax(120px,1fr) 106px 48px minmax(116px,.6fr) 40px}
.upa-item-demand .upa-grid-row--group{grid-template-columns:1fr;background:#F8F9FB}.upa-item-demand .upa-grid-row.upa-grid-row--group>[role=cell]{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:9px;padding-left:14px}.upa-item-demand .upa-grid-row--group strong{color:var(--upa-ink);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.upa-item-demand .upa-grid-row--group small{color:var(--upa-muted);font-size:11.5px}
.upa-item-group-dot{flex:0 0 8px;width:8px;height:8px;border-radius:2px;background:var(--upa-muted)}.upa-item-group--short .upa-item-group-dot{background:var(--upa-problem)}
.upa-item-demand .upa-row-short{background:var(--upa-problem-bg)}.upa-item-cover{font-weight:600}.upa-item-cover--good{color:var(--upa-good)}.upa-item-cover--po{color:#1F4B7A}.upa-item-cover--problem{color:var(--upa-problem)}
.upa-item-usage{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px;margin:0 -18px 0;padding:0 18px 14px;border-bottom:1px solid var(--upa-softer)}.upa-item-usage>div:first-child{flex:0 0 auto}.upa-item-usage .upa-big-number{font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.15}


/* Movement's chart as drawn: twelve wide bars to scale, light blue, the max months dark blue, each month's initial under it (Jake, 2026-10-04: "look nothing like the photo"). */
.upa-item-usage .upa-usage-chart{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:6px;padding-top:6px}.upa-usage-bars{display:block;width:100%;height:68px}.upa-usage-bar{fill:#CFDDF5}.upa-usage-bar--max{fill:var(--upa-accent)}.upa-usage-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));color:var(--upa-muted);font-size:11.5px;text-align:center}
.upa-item-show{flex:0 0 auto;margin-top:12px}.upa-item-show a{display:inline-flex;align-items:center;min-height:30px;box-sizing:border-box;padding:5px 12px;border:1px solid transparent;border-radius:7px;color:var(--upa-muted);font-size:13px;font-weight:500;text-decoration:none}.upa-item-show a[aria-pressed=true]{border-color:var(--upa-border);background:#fff;color:var(--upa-ink);font-weight:600}
.upa-item-usage+.upa-item-movement{margin-top:14px}.upa-item-movement .upa-grid-row{grid-template-columns:110px minmax(140px,150px) minmax(0,1fr) 70px 90px minmax(90px,110px)}
.upa-item-when small{display:block;color:var(--upa-faint);font-size:11.5px}.upa-item-kind{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--upa-faint)}.upa-item-kind--adjust{background:#7048E8}.upa-item-kind--receive{background:#2F9E44}.upa-item-kind--deduct{background:var(--upa-accent)}.upa-item-kind--recount{background:#B7891B}
.upa-item-change{font-weight:600}.upa-item-change--out{color:var(--upa-problem)}.upa-item-change--in{color:var(--upa-good)}
@media(max-width:1240px){.upa-item-reader{grid-template-columns:170px minmax(0,1fr) minmax(0,1fr)}.upa-item-photos{grid-row:span 2}.upa-item-reorder{grid-column:2/-1}.upa-item-more-body{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.upa-item-reader{grid-template-columns:170px minmax(0,1fr)}.upa-item-photos{grid-row:auto}.upa-item-reader>.upa-item-section:not(.upa-item-identity){grid-column:1/-1}}
@media(max-width:600px){.upa-item-reader,.upa-item-more-body{grid-template-columns:1fr}}
/* Item mode: the whole cell that opens an item is the link, not just its text (Jake, 2026-09-27). */
.upa-catalog-table td.upa-catalog-open,.upa-catalog-table--item td:has(>a[aria-label^="Open "]){padding:0}.upa-catalog-table td>a[aria-label^="Open "]{display:flex;align-items:center;box-sizing:border-box;width:100%;min-height:37px;height:100%;padding:0 10px;color:var(--upa-accent);font-weight:600}.upa-catalog-table td>a[aria-label^="Open "]{justify-content:center}.upa-catalog-table td>a[aria-label^="Open "]:hover{background:var(--upa-accent-wash)}.upa-catalog-table td>a[aria-label^="Open "]::after{content:' →';margin-left:4px}
/* The Drawing page's Inventory cart is the Inventory catalog's own shape: the BOM cart is the panel's right column, joined to the
   grid by one rule, not a box of its own beside it (Jake, 2026-09-27). */
.upa-cart-screen{display:block}.upa-cart-catalog .upa-tab-panel--first.upa-cart-panel{margin-left:0}.upa-cart-catalog>.upa-tabs{padding-left:0}.upa-catalog-panel--rail>.upa-cart-side{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;padding:12px 16px;border-left:1px solid #E3E7EC;border-radius:0 10px 10px 0;background:#FBFCFD}.upa-catalog-panel--rail>.upa-cart-side>.upa-cart-rail{position:static;display:flex;flex:1 1 auto;flex-direction:column;width:auto;min-width:0;min-height:0;max-width:none;height:auto;max-height:none;overflow:hidden;padding:0;border:0;border-radius:0;background:transparent}/* Only the cart's lines scroll; its header and its footer (Inventory product, Reset) stay in view. */.upa-catalog-panel--rail>.upa-cart-side>*:not(.upa-cart-rail){flex:0 1 auto;max-height:40%;min-height:0;overflow:auto}.upa-catalog-panel--rail>.upa-cart-side>.upa-cart-rail>.upa-rail-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.upa-catalog-panel--rail>.upa-cart-side>.upa-cart-rail>:not(.upa-rail-body){flex:0 0 auto}@media(max-width:1100px){.upa-catalog-panel--rail>.upa-cart-side{border-left:0;border-top:1px solid #E3E7EC;border-radius:0 0 10px 10px}}
/* The BOM cart's unit picker: one full-width row per labeled unit, its label over its source and date, then No specific
   unit. A unit already in the cart stays listed, grayed, so a second tap explains itself (Jake, 2026-09-27). */
.upa-unit-choices{display:flex;flex-direction:column;overflow:hidden;margin-top:10px;border:1px solid var(--upa-soft);border-radius:8px}.upa-unit-choice{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:44px;padding:9px 12px;border:0;border-top:1px solid var(--upa-softer);background:transparent;color:var(--upa-ink);font:inherit;text-align:left;cursor:pointer}.upa-unit-choice:first-child{border-top:0}.upa-unit-choice:hover:not(:disabled),.upa-unit-choice:focus-visible{background:var(--upa-accent-wash)}.upa-unit-choice strong{font-size:13.5px}.upa-unit-choice span{color:var(--upa-muted);font-size:12px}.upa-unit-choice:disabled{cursor:default;color:var(--upa-muted)}
.upa-shell:has([data-inventory-page="Catalog"]) .upa-page-heading{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.upa-catalog-grid .upa-grid-row>*{justify-content:center;border-top-color:var(--upa-grid-line);text-align:center}.upa-catalog-grid .upa-grid-row>*+*{border-left-color:var(--upa-grid-column-line)}.upa-catalog-grid .upa-grid-row--head>*{background:var(--upa-grid-head);color:var(--upa-grid-head-ink)}.upa-catalog-grid .upa-grid-row--head>.upa-stock-head--on-hand{background:var(--upa-stock-on-hand-head);color:var(--upa-stock-on-hand-head-ink)}.upa-catalog-grid .upa-grid-row--head>.upa-stock-head--on-order{background:var(--upa-stock-on-order-head);color:var(--upa-stock-on-order-head-ink)}.upa-catalog-grid .upa-grid-row--head>.upa-stock-head--total{background:var(--upa-stock-total);color:var(--upa-stock-total-ink)}.upa-catalog-grid .upa-catalog-row>.upa-catalog-name{background:var(--upa-grid-identity)}.upa-catalog-grid .upa-catalog-row,.upa-catalog-grid .upa-grid-row--head{min-width:0}.upa-catalog-grid .upa-catalog-name strong{white-space:normal;overflow-wrap:anywhere}
.upa-catalog-table td.upa-catalog-plain{background:#fff}.upa-catalog-table td.upa-stock-cell{padding:0!important}.upa-catalog-table td.upa-stock-cell .upa-stock-add{height:100%;min-height:37px}@media(pointer:coarse){.upa-catalog-table td.upa-stock-cell .upa-stock-add{min-height:44px}}.upa-catalog-table .upa-stock-add:hover,.upa-catalog-grid .upa-stock-add:hover{background:transparent}.upa-catalog-table td:is(:has(>.upa-stock-add),:has(>.upa-count-empty:not([hidden])),:has(>a[aria-label^="Open "])):hover,.upa-catalog-grid .upa-grid-row>:is(:has(>.upa-stock-add),:has(>.upa-count-empty:not([hidden])),:has(>a[aria-label^="Open "])):hover{background-image:linear-gradient(rgba(37,99,235,.22),rgba(37,99,235,.22));box-shadow:inset 0 0 0 2px #2563EB}.upa-catalog-table td>a[aria-label^="Open "]:hover{background:transparent}.upa-catalog-grid .upa-grid-row>[role=cell]:has(>a[aria-label^="Open "]){padding:0}.upa-catalog-grid .upa-grid-row>[role=cell]>a[aria-label^="Open "]{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:37px;height:100%;padding:0 10px;color:var(--upa-accent);font-weight:600}.upa-catalog-grid .upa-grid-row>[role=cell]>a[aria-label^="Open "]::after{content:' →';margin-left:4px}.upa-catalog-grid .upa-grid-row>[role=cell]>a[aria-label^="Open "] strong{color:inherit}
@media(min-width:1101px){.upa-inventory-rail[data-inventory-rail=recount]>.upa-rail-body{min-height:0;overflow:auto}.upa-inventory-rail[data-inventory-rail=recount] .upa-recount-group[open]{overflow:clip}.upa-inventory-rail[data-inventory-rail=recount] .upa-recount-group[open]>summary{position:sticky;top:0;z-index:1;background:#fff}.upa-inventory-rail[data-inventory-rail=recount] .upa-recount-group[open]>.upa-rail-rows{max-height:none}}
/* Receiving (Road to Parity item 5): the dock wizard, one question per screen, phone and iPad first. */
.upa-receiving-page{max-width:560px;margin:0 auto}.upa-receiving{display:block;padding-bottom:12px}.upa-receiving--footer{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
.upa-receiving-nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px}.upa-receiving-back{flex:0 0 44px;width:44px;min-height:44px;padding:0;font-size:20px}.upa-receiving-crumb{min-height:44px;padding:9px 14px;font-weight:600}.upa-receiving-sep{color:var(--upa-faint)}
.upa-receiving-question{margin:4px 0 12px;color:var(--upa-ink);font-size:20px;font-weight:650}
.upa-receiving-option,.upa-receiving-photo{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;min-height:64px;margin:0 0 10px;padding:16px 18px;border:1px solid var(--upa-border);border-radius:12px;background:var(--upa-panel);color:var(--upa-ink);font-size:18px;text-align:left;cursor:pointer}
.upa-receiving-option strong,.upa-receiving-photo strong{font-weight:600}.upa-receiving-option span,.upa-receiving-photo span{color:var(--upa-muted);font-size:13.5px}
.upa-receiving-option:active,.upa-receiving-photo:active{background:var(--upa-accent-wash);border-color:var(--upa-accent)}.upa-receiving-photo{border-style:dashed;border-width:2px}
.upa-receiving-line{position:relative;margin:0 0 10px;padding:12px 14px;border:1px solid var(--upa-border);border-radius:12px;background:var(--upa-panel)}
.upa-receiving-line--done{display:flex;align-items:center;gap:10px;padding:8px 12px}.upa-receiving-variant{flex:1;min-width:0;min-height:44px;padding:6px 2px;border:0;background:none;color:var(--upa-ink);font-size:16px;font-weight:600;text-align:left;cursor:pointer}
.upa-receiving-chips{margin:0 0 6px;padding:0;border:0}.upa-receiving-chips legend{margin:0 0 6px;padding:0;color:var(--upa-muted);font-size:12.5px;font-weight:600}.upa-receiving-chips .upa-chip{min-height:44px;padding:9px 15px;font-size:15px}
.upa-receiving-qty{display:flex;align-items:center;gap:12px;margin-top:6px}.upa-receiving-qty-label{color:var(--upa-muted);font-size:13px;font-weight:600}
.upa-receiving-line-po{flex:0 0 150px;margin:0}.upa-receiving-line:not(.upa-receiving-line--done) .upa-receiving-line-po{margin-top:6px}
.upa-receiving-remove{position:absolute;top:-10px;right:-10px;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:var(--upa-body);color:#fff;font-size:13px;cursor:pointer}.upa-receiving-line--done .upa-receiving-remove{position:static;flex:0 0 28px}
.upa-receiving-add{display:block;width:100%;min-height:48px;margin:0 0 16px;border:2px dashed var(--upa-border);border-radius:12px;background:transparent;color:var(--upa-body);font-size:15px;font-weight:600;cursor:pointer}
.upa-receiving-leaf{margin-top:8px}.upa-receiving-leaf .upa-field{display:grid;gap:5px;margin:12px 0 0;font-size:13px;font-weight:600;color:var(--upa-body)}.upa-receiving-leaf .upa-field small{color:var(--upa-faint);font-weight:400}
.upa-receiving-leaf input[type=text],.upa-receiving-leaf textarea{min-height:46px;font-size:16px}.upa-receiving-flag{align-items:center;min-height:52px;margin-top:4px;padding:10px 14px;border:1px solid var(--upa-border);border-radius:12px;background:var(--upa-panel);font-size:15px}.upa-receiving-flag input{width:22px;height:22px}
.upa-receiving-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}.upa-receiving-thumb{position:relative;display:inline-flex;align-items:center;justify-content:center;width:74px;height:74px;border:1px solid var(--upa-border);border-radius:10px;background:var(--upa-subtle);font-size:12px}
.upa-receiving-thumb img{width:100%;height:100%;object-fit:cover;border-radius:10px}.upa-receiving-thumb button{position:absolute;top:-8px;right:-8px;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:var(--upa-body);color:#fff;font-size:12px;cursor:pointer}
.upa-receiving-error{min-height:1em;margin:10px 0 0;color:var(--upa-problem);font-size:14px}.upa-receiving-error:empty{display:none}
.upa-receiving-footer .upa-primary{min-width:120px;min-height:44px;font-size:16px}
.upa-submit-toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));z-index:50;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:12px 26px;border:0;background:var(--upa-ink);color:#fff;font-size:16px}.upa-receiving-toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));z-index:50;transform:translateX(-50%);padding:12px 26px;border:0;background:var(--upa-ink);color:#fff;font-size:16px;white-space:nowrap}
/* Build Codes & Times: the family list's search beside its button; the two panels scroll on their own under fixed tabs;
   the open code's phase lists with a minutes field per task, the Scheduler board's drag (its .board-* drag rules) and a +
   at the end of each phase (Jake, 2026-10-12). Only that page uses these names. */
.upa-bc-search{display:flex;gap:6px;margin:0 0 10px}.upa-bc-search input{flex:1;min-width:0;height:30px;padding:4px 9px;border:1px solid var(--upa-border);border-radius:6px;background:#fff;font:inherit;font-size:13px}.upa-bc-new{margin:0 0 10px}.upa-bc-list-head{position:sticky;top:-12px;z-index:1;margin:-12px -12px 0;padding:12px 12px 2px;background:#F6F7F9}
@media(min-width:1101px){.upa-bc-split{height:calc(100dvh - 236px - env(safe-area-inset-bottom));min-height:320px;grid-template-rows:minmax(0,1fr)}.upa-bc-split>[data-bc-scroll]{min-height:0;overflow-y:auto;overscroll-behavior:contain}}
.upa-bc-code+.upa-bc-code{margin-top:22px;padding-top:18px;border-top:1px solid var(--upa-soft)}.upa-bc-code h2{margin:0 0 4px}.upa-bc-description,.upa-bc-note{margin:0 0 12px;color:var(--upa-muted);font-size:13px}.upa-bc-note{margin-top:10px}
.upa-bc-phase{margin:16px 0 4px;color:var(--upa-ink);font-size:13px;font-weight:600}.upa-bc-tasks{display:flex;flex-direction:column;gap:6px;max-width:520px;margin:0;padding:0 0 0 18px;list-style:none}
.upa-bc-task{display:grid;grid-template-columns:14px minmax(0,1fr) 64px 24px auto;align-items:center;gap:8px;min-height:40px;padding:5px 8px;border:1px solid var(--upa-soft);border-radius:8px;background:#fff;cursor:grab}.upa-bc-task>input[type=hidden]{display:none}.upa-bc-task>.board-handle{grid-column:1}.upa-bc-task>.upa-bc-task-label,.upa-bc-task>.upa-bc-new-label{grid-column:2}.upa-bc-task>.upa-bc-minutes{width:64px;min-height:30px;padding:3px 8px;border:1px solid var(--upa-border);border-radius:6px;background:#fff;color:var(--upa-ink);font:inherit;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;-moz-appearance:textfield;appearance:textfield}.upa-bc-minutes::-webkit-inner-spin-button,.upa-bc-minutes::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.upa-bc-minutes:focus{border-color:var(--upa-accent);outline:0;box-shadow:0 0 0 3px rgba(37,99,235,.16)}.upa-bc-task>.upa-bc-unit{grid-column:4}.upa-bc-task>[data-remove-task]{grid-column:5}.upa-bc-task input,.upa-bc-task button{cursor:auto}.upa-bc-task .board-handle{width:14px;text-align:center}
.upa-bc-task-label{min-width:0;font-size:13.5px}.upa-bc-new-label{min-width:0;height:28px;padding:2px 8px;border:1px solid var(--upa-border);border-radius:6px;font:inherit;font-size:13px}
.upa-bc-minutes{width:72px;height:28px;padding:2px 6px;border:1px solid var(--upa-border);border-radius:6px;font:inherit;font-size:13px;text-align:right}.upa-bc-unit{color:var(--upa-muted);font-size:12px}
.upa-bc-task[data-removed] .upa-bc-task-label{color:var(--upa-faint);text-decoration:line-through}.upa-bc-task[data-removed] .upa-bc-minutes{opacity:.45}
.upa-bc-add{display:block;margin:4px 0 0 18px;padding:2px 10px;border:1px dashed var(--upa-border);border-radius:6px;background:transparent;color:var(--upa-accent);font:inherit;font-size:15px;line-height:22px;cursor:pointer}.upa-bc-add:hover{border-color:var(--upa-accent);background:var(--upa-accent-wash)}
.upa-bc-task.board-dragging{position:fixed;z-index:9999;margin:0;opacity:.9;pointer-events:none;box-shadow:0 8px 22px rgba(16,24,40,.22);transform:scale(1.03);transition:none!important}.upa-bc-tasks>.board-drag-slot{border-radius:8px}
.upa-bc-phase-group--empty .upa-bc-phase{color:var(--upa-faint);font-weight:500}
.upa-bc-list-phase{margin:14px 2px 6px;padding-bottom:4px;border-bottom:1px solid var(--upa-border);color:var(--upa-muted);font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.upa-bc-list-head+.upa-bc-list-phase{margin-top:4px}
.upa-bc-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:0 0 12px}.upa-bc-fields>.upa-field{flex:0 1 220px;margin:0}.upa-bc-fields>.upa-button{margin-bottom:2px}
.upa-bc-picker{margin:4px 0 14px;padding:10px 12px;border:1px solid var(--upa-soft);border-radius:8px;background:#FBFCFD}.upa-bc-pick-head{display:flex;gap:8px;align-items:baseline;margin:0 0 8px;font-size:13px}.upa-bc-pick-head span{color:var(--upa-muted)}
.upa-bc-picks{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}.upa-bc-pick-family h4{margin:10px 0 4px;color:var(--upa-muted);font-size:12px;font-weight:600}.upa-bc-checks{display:flex;flex-wrap:wrap;gap:4px 14px}
.upa-bc-check{display:inline-flex;align-items:center;gap:5px;min-height:26px;font-size:12.5px;font-variant-numeric:tabular-nums}.upa-bc-check small{color:var(--upa-muted)}.upa-bc-add-rest{margin-top:16px}.upa-bc-add-rest form{margin-top:10px}
.upa-bc-review{padding:6px 18px 14px}.upa-bc-review-group h3{margin:14px 0 6px;color:var(--upa-ink);font-size:14px}.upa-bc-review-group ul{margin:0;padding:0 0 0 18px;list-style:none}.upa-bc-review-group li{padding:3px 0;font-size:13.5px;font-variant-numeric:tabular-nums}
.upa-bc-review-add{color:var(--upa-good)}.upa-bc-review-remove{color:var(--upa-problem)}.upa-bc-review-change{color:var(--upa-ink)}.upa-bc-review-move{color:var(--upa-muted)}.upa-bc-review-codes{margin:4px 0 0 18px;color:var(--upa-muted);font-size:12px;line-height:1.6}.upa-bc-review-raw{margin-top:16px}.upa-bc-review-raw .upa-table-wrap{margin-top:8px}

.cutplan-disclosure>summary{display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;font-weight:600}
.cutplan-disclosure>summary::-webkit-details-marker{display:none}
.cutplan-disclosure>summary::after{content:'';margin-left:auto;width:10px;height:6px;background:var(--upa-chevron) center/10px 6px no-repeat;transition:transform .12s ease}
.cutplan-disclosure[open]>summary::after{transform:rotate(180deg)}
.upa-cp-sheet { background:#fff; max-width:1100px; margin:0 auto; border-radius:12px; padding:18px 22px 26px; box-shadow:0 12px 40px rgba(0,0,0,.3); font-size:13px; color:#1f2937; }
.upa-cp-print-title { display:none; margin:0 0 10px; font-size:18px; }
.upa-cp-pool { border-top:1px solid #e5e7eb; margin-top:16px; padding-top:10px; }
.upa-cp-pool h3 { margin:0 0 8px; font-size:15px; }
.upa-cp-pool-meta { font-weight:400; color:#6b7280; font-size:12px; margin-left:8px; }
.upa-cp-len { font-variant-numeric:tabular-nums; }
.upa-cp-bar { margin:10px 0 14px; }
.upa-cp-bar-head { font-size:12px; font-weight:600; color:#374151; margin-bottom:3px; }
.upa-cp-bar-diagram { display:flex; height:34px; border:1px solid #9ca3af; border-radius:4px; overflow:hidden; background:#f8fafc; }
.upa-cp-seg { background:#9ca3af; border-right:2px solid #4b5563; display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; overflow:hidden; cursor:pointer; }
.upa-cp-seg-len { font-size:11px; font-weight:700; white-space:nowrap; background:rgba(255,255,255,.8); color:#111827; border-radius:3px; padding:0 4px; }
.upa-cp-seg-num { font-size:9.5px; font-weight:600; color:#111827; white-space:nowrap; background:rgba(255,255,255,.8); border-radius:3px; padding:0 3px; margin-top:1px; }
/* Card-identity color (dataviz-validated 7-hue categorical palette), cycled by
   card number — see the colorClass/swatch comment in renderPoolResults. Green
   is reserved for upa-cp-done below, so it's excluded from the rotation. Label
   text sits in a semi-opaque pill (above) so it reads over every hue without
   per-color tuning. */
.upa-cp-c1 { background:#2a78d6; }
.upa-cp-c2 { background:#1baf7a; }
.upa-cp-c3 { background:#eda100; }
.upa-cp-c4 { background:#4a3aa7; }
.upa-cp-c5 { background:#e34948; }
.upa-cp-c6 { background:#e87ba4; }
.upa-cp-c7 { background:#eb6834; }
.upa-cp-swatch { display:inline-block; width:8px; height:8px; border-radius:2px; margin-right:4px; vertical-align:middle; background:#9ca3af; }
.upa-cp-cardtag { display:inline-flex; align-items:center; margin-right:8px; }
.upa-cp-waste { background:repeating-linear-gradient(45deg,#f1f5f9,#f1f5f9 6px,#e2e8f0 6px,#e2e8f0 12px); display:flex; align-items:center; justify-content:center; font-size:10px; color:#64748b; }
.upa-cp-bar-list { font-size:11.5px; color:#374151; margin-top:2px; }
.upa-cp-mini { color:#6b7280; font-size:11px; }
.upa-cp-pool-totals { background:#f9fafb; border:1px solid #e5e7eb; border-radius:8px; padding:7px 10px; font-size:12.5px; margin:6px 0 4px; }
.upa-cp-note { background:#eff6ff; border:1px solid #bfdbfe; color:#1e3a8a; border-radius:8px; padding:6px 10px; margin:6px 0; font-size:12px; }
.upa-cp-warn { background:#fef2f2; border:1px solid #fecaca; color:#991b1b; border-radius:8px; padding:6px 10px; margin:6px 0; font-size:12px; }
.upa-cp-flag { color:#b45309; font-size:11px; font-weight:600; }
.upa-cp-empty { color:#374151; font-size:14px; padding:14px 0; }
#upa-cp-footer h3, #upa-cp-print-pull h3 { margin:14px 0 6px; font-size:14px; }
#upa-cp-footer div, #upa-cp-print-pull div { margin:2px 0; }
.upa-cp-keytable { border-collapse:collapse; margin:8px 0 2px; }
.upa-cp-keytable th, .upa-cp-keytable td { padding:2px 14px 2px 0; text-align:left; font-size:11.5px; }
.upa-cp-keytable thead th { color:#6b7280; font-weight:600; border-bottom:1px solid #e5e7eb; }
.upa-cp-keynum { font-weight:700; }
.upa-cp-bylen { border-collapse:collapse; margin:6px 0 10px; }
.upa-cp-bylen th, .upa-cp-bylen td { padding:3px 16px 3px 0; text-align:left; font-size:12.5px; }
.upa-cp-bylen thead th { color:#6b7280; font-weight:600; border-bottom:1px solid #e5e7eb; }
.upa-cp-printonly { display:none; }
.upa-cp-printbox { display:none; }
#upa-cp-print-stamp { color:#374151; font-size:11px; margin:-4px 0 8px; }
/* Screen-only readability revamp (2026-08-07, Jake's ask — color +
   readability of the modal itself; a print color pass already landed in
   0.10.0). Purely cosmetic on top of markup that already existed: a color
   swatch by each pool header (rebuildPools), a left accent per material
   matching the print banner's own plastic/metal hues, boxed pool separation,
   and zebra-striped cut tables. No functional change, and nothing here
   touches @media print — the existing print pass is untouched on purpose. */
@media screen {
  .upa-cp-pool { border:1px solid #e5e7eb; border-left-width:4px; border-left-color:#1e40af; border-radius:8px; margin-top:18px; padding:12px 14px 14px; }
  .upa-cp-pool:first-of-type { margin-top:12px; }
  .upa-cp-pool[data-material="metal"] { border-left-color:#9a3412; }
  .upa-cp-pool h3 { font-size:16px; font-weight:700; padding-bottom:6px; border-bottom:1px solid #f1f5f9; margin-bottom:10px; }
  .upa-cp-pool-swatch { width:11px; height:11px; border-radius:50%; margin-right:6px; border:1px solid rgba(0,0,0,.18); }
  .upa-cp-pool-swatch.upa-cp-swatch-unmapped { border-style:dashed; }
  .upa-cp-bylen tbody tr:nth-child(even) td,
  .upa-cp-keytable tbody tr:nth-child(even) td { background:#f3f4f6; }
  .upa-cp-bylen th, .upa-cp-bylen td { padding:4px 16px 4px 0; font-size:13px; }
  .upa-cp-keytable th, .upa-cp-keytable td { padding:3px 14px 3px 0; font-size:12px; }
  .upa-cp-pool-meta, .upa-cp-mini { color:#57606f; }
}

@media print {
  /* The scheduler popup pins html,body to height:100%;overflow:hidden for its app-shell
     layout — that clips printing to a single page. Release it while the sheet prints. */
  html.upa-cp-printing, body.upa-cp-printing { height:auto !important; min-height:0 !important; overflow:visible !important; }
  /* Without print-color-adjust the browser strips every background — the
     7-hue card palette, swatches, waste hatch — and the sheet printed B/W
     (Jake, 2026-08-04: "needs some color, hard to read"). Keep the ink. */
  body.upa-cp-printing, body.upa-cp-printing * { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  /* Pool headers get a banner (accented per material) so pools separate at a
     glance on paper; the by-length stop column + row stripes aid the saw. */
  body.upa-cp-printing .upa-cp-pool h3 { background:#1f2937; color:#fff; padding:4px 10px; border-radius:4px; }
  body.upa-cp-printing .upa-cp-pool[data-material="plastic"] h3 { background:#1e40af; }
  body.upa-cp-printing .upa-cp-pool[data-material="metal"] h3 { background:#9a3412; }
  body.upa-cp-printing .upa-cp-pool h3 .upa-cp-pool-meta { color:#e5e7eb; }
  body.upa-cp-printing .upa-cp-bylen tbody tr:nth-child(even) td { background:#f3f4f6; }
  /* Specificity ties the stripe rule above (and follows it), so the amber
     stop column wins on every row, striped or not. */
  body.upa-cp-printing .upa-cp-bylen tbody tr td.upa-cp-len { background:#fef3c7; padding-left:6px; padding-right:6px; }
  body.upa-cp-printing #upa-cp-overlay { position:static; background:none; padding:0; overflow:visible; }
  body.upa-cp-printing .upa-cp-sheet { box-shadow:none; max-width:none; border-radius:0; padding:0; }
  body.upa-cp-printing .upa-cp-noprint { display:none !important; }
  body.upa-cp-printing .upa-cp-print-title { display:block; }
  body.upa-cp-printing .upa-cp-printonly { display:block; }
  body.upa-cp-printing .upa-cp-printbox { display:inline; }
  body.upa-cp-printing .upa-cp-pool { break-inside:avoid; }
  body.upa-cp-printing .upa-cp-bar { break-inside:avoid; }
  body.upa-cp-printing .upa-cp-keytable { break-inside:avoid; }
  body.upa-cp-printing .upa-cp-bylen tr { break-inside:avoid; }
  /* A+ big type — print only, so the screen layout stays compact. */
  body.upa-cp-printing .upa-cp-big .upa-cp-bar-list { font-size:16px; }
  body.upa-cp-printing .upa-cp-big .upa-cp-bar-head { font-size:14px; }
  body.upa-cp-printing .upa-cp-big .upa-cp-bar-diagram { height:44px; }
  body.upa-cp-printing .upa-cp-big .upa-cp-seg-len { font-size:14px; }
  body.upa-cp-printing .upa-cp-big .upa-cp-seg-num { font-size:12px; }
  body.upa-cp-printing .upa-cp-big .upa-cp-bylen th, body.upa-cp-printing .upa-cp-big .upa-cp-bylen td { font-size:16px; }
  body.upa-cp-printing .upa-cp-big .upa-cp-keytable th, body.upa-cp-printing .upa-cp-big .upa-cp-keytable td { font-size:14px; }
  body.upa-cp-printing .upa-cp-big .upa-cp-pool-totals { font-size:15px; }
  body.upa-cp-printing .upa-cp-big #upa-cp-footer div, body.upa-cp-printing .upa-cp-big #upa-cp-print-pull div { font-size:15px; }
  body.upa-cp-printing .upa-cp-big #upa-cp-print-stamp { font-size:13px; }
}

.upa-main:has(.schedule-shell){max-width:1800px}
.schedule-shell{min-height:100dvh;padding-bottom:calc(5rem + env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(15rem,18rem) minmax(0,1fr);gap:1rem}
.schedule-shell form,[data-log-times] form{display:grid;gap:.75rem;padding:1rem;margin:0 0 1rem;background:var(--upa-panel);border:1px solid var(--upa-soft);border-radius:12px}
.schedule-shell label,[data-log-times] label{display:grid;gap:.35rem;font-size:.9rem}
.schedule-shell input:not([type=checkbox]),.schedule-shell select,[data-log-times] input,[data-log-times] select{box-sizing:border-box;width:100%;max-width:100%;padding:.6rem;border:1px solid var(--upa-border);border-radius:8px;background:var(--upa-panel);color:var(--upa-ink);font:inherit;min-height:40px}
.schedule-shell label:has([type=checkbox]){display:flex;align-items:center;gap:.6rem}.schedule-shell input[type=checkbox]{width:20px;height:20px}
.schedule-shell button,[data-log-times] button{min-height:40px;padding:.6rem 1rem;border:1px solid var(--upa-border);border-radius:8px;background:var(--upa-subtle);color:var(--upa-ink);font:inherit;cursor:pointer}
.schedule-shell button[type=submit],[data-log-times] button[type=submit]{background:var(--upa-accent);color:white;border-color:var(--upa-accent)}
.schedule-shell fieldset{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--upa-border);border-radius:8px;min-width:0}.schedule-shell legend{font-weight:600;padding:0 .4rem}.schedule-shell summary{padding:1rem 0;cursor:pointer}.schedule-shell a{color:var(--upa-accent)}
.schedule-readiness{grid-column:1/-1}.schedule-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.schedule-chip{border:1px solid var(--upa-border);border-radius:12px;padding:1rem;margin-bottom:1rem}.schedule-chip>span{display:block;margin:.5rem 0;color:var(--upa-muted)}
[data-schedule-plan]>form{display:inline-flex;padding:.35rem;margin:0 .4rem .75rem 0;gap:0}[data-schedule-plan]>form button{padding:.5rem .8rem}.schedule-rename{margin-bottom:.5rem}.schedule-task-options>summary{font-size:.8rem;padding:.5rem 0}.schedule-chip{padding:.7rem}.schedule-chip b{font-size:.9rem}.schedule-chip [data-drag-handle]{float:right;min-width:36px;padding:.25rem}.schedule-actions{align-items:end}.schedule-actions>button{align-self:end}.schedule-actions label{max-width:12rem}
.schedule-footbar{position:fixed;bottom:0;left:0;right:0;padding:.5rem 1rem calc(.5rem + env(safe-area-inset-bottom));background:var(--upa-panel);border-top:1px solid var(--upa-border);font-size:.85rem;color:var(--upa-muted);z-index:5}
.schedule-matrix{display:grid;grid-template-columns:repeat(5,minmax(18rem,1fr));gap:.75rem;overflow-x:auto;max-height:78dvh}[data-schedule-plan]{min-width:0}.schedule-day>h3{position:sticky;top:0;background:var(--upa-panel);padding:.75rem;z-index:1}.schedule-worker-day{min-height:6rem;border:1px solid var(--upa-border);border-radius:10px;padding:.6rem;margin-bottom:.75rem}.schedule-worker-day[data-drop-active]{outline:2px solid var(--upa-accent)}.schedule-chip[data-dragging]{opacity:.5}.schedule-chip.long-press{outline:2px solid var(--upa-accent)}[data-plan-status="published"] .schedule-chip form,[data-plan-status="archived"] .schedule-chip form,[data-plan-status="published"] [data-drag-handle],[data-plan-status="archived"] [data-drag-handle]{display:none}.schedule-empty{color:var(--upa-muted);font-size:.85rem}.schedule-chip{touch-action:none}.toast[data-kind="blocked"]{display:block}
@media (pointer:coarse){button,[data-drag-handle]{min-height:44px;-webkit-touch-callout:none}input,select,textarea{font-size:16px}}
@media (max-width:1100px){.schedule-shell{grid-template-columns:1fr}.schedule-matrix{max-height:62dvh}}
@media (max-width:640px){.schedule-matrix{overflow-x:auto}.col-type{display:none}}

.upa-shell:has([data-board]) .upa-page-heading{display:none}
.upa-main:has(.board-shell){max-width:none;padding-bottom:calc(72px + env(safe-area-inset-bottom))}
.board-shell{display:grid;gap:0;min-width:0}
.board-shell>.upa-tabs{padding:0}
.board-card-frame{position:relative;z-index:1;background:#fff;border:1px solid #D9DDE3;border-radius:0 10px 10px 10px;min-width:0}
.board-workers{display:flex;gap:3px;align-items:flex-end;margin:0 -14px 10px -15px;border-bottom:1px solid #E1E5EA}
.board-worker-tab,.board-worker-add{display:flex;align-items:center;gap:7px;min-height:31px;box-sizing:border-box;margin-bottom:-1px;padding:5px 12px;border:1px solid #E1E5EA;border-bottom:0;border-radius:7px 7px 0 0;background:#F4F5F7;color:#5C6472;font:inherit;font-size:12.5px;font-weight:500;cursor:pointer}
.board-worker-tab[aria-selected=true]{padding-top:4px;border-top:2px solid var(--board-worker);background:#fff;color:#14161A;font-weight:600}
.board-worker-add{padding:5px 10px;border:1px dashed #D9DDE3;border-bottom:0;background:transparent}
.board-worker-tab .board-dot{width:8px;height:8px}
.board-body{display:flex;align-items:stretch;min-height:60dvh}@media(min-width:1101px){.board-card-frame{display:flex;flex-direction:column;height:calc(100dvh - 178px);min-height:420px}.board-card-frame>.board-body{flex:1 1 auto;min-height:0}.board-main{min-height:0}.board-main>.board-grid-frame{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.board-main>.board-grid-frame>.board-grid-wrap{flex:1 1 auto;max-height:none;min-height:0}}
.board-main{flex:1 1 0;min-width:0;display:flex;flex-direction:column;padding:8px 14px 14px;border-right:1px solid #E1E5EA}
.board-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.board-toolbar .board-spacer{flex:1}.board-toolbar .upa-select-trigger,.board-toolbar .upa-button{height:38px;min-height:38px}
.board-toolbar .upa-segment{background:#F1F3F6;border-color:#E1E5EA}
.board-sortbar{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}
.board-count{font-size:13px;font-weight:600;color:#14161A;font-variant-numeric:tabular-nums}
.board-sortchip{display:inline-flex;align-items:center;gap:2px;padding:0 4px 0 12px;min-height:38px;box-sizing:border-box;border:1px solid #D9DDE3;border-radius:8px;background:#fff;color:#374151;font-size:13px;font-weight:500}
.board-sortchip button{border:0;background:transparent;color:#374151;font:inherit;cursor:pointer;min-width:22px;min-height:28px;padding:0 4px}
.board-sort-add{height:38px;box-sizing:border-box;-webkit-appearance:none;appearance:none;padding:0 30px 0 12px;background:#fff no-repeat right 11px center/10px 6px url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2010%206%22%3E%3Cpath%20d=%22M1%201l4%204%204-4%22%20fill=%22none%22%20stroke=%22%235C6472%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E");line-height:31px;border:1px solid #D9DDE3;border-radius:8px;color:#374151;font:inherit;font-size:13px;font-weight:500;cursor:pointer}
.board-grid-wrap{overflow:auto;max-height:calc(100dvh - 321px);min-width:0;border:1px solid #E1E5EA;border-radius:8px}
/* The native bars are hidden (no reserved strip); a thin bar floats over the content below the
   header while scrolling, and can be dragged (Jake, 2026-09-30). */
.board-grid-wrap,.board-tasks{scrollbar-width:none;overscroll-behavior:contain}
.board-grid-wrap::-webkit-scrollbar,.board-tasks::-webkit-scrollbar{display:none}
.board-grid-frame{position:relative;min-width:0}
.board-thumb{position:absolute;z-index:6;width:7px;border-radius:999px;background:rgba(92,100,114,.55);opacity:0;transition:opacity 300ms ease;cursor:grab;touch-action:none}
.board-thumb[data-axis=x]{height:7px}
.board-thumb[hidden]{display:none}
.board-thumb[data-show],.board-thumb:hover,.board-thumb[data-dragging]{opacity:1}
.board-thumb:hover,.board-thumb[data-dragging]{background:rgba(92,100,114,.8)}
/* A sticky header's collapsed border scrolls away with the rows, so its line is drawn inside it. */
.board-grid-wrap[data-more-above] thead th{box-shadow:inset 0 -2px 0 #B9C1CB,0 6px 8px -6px rgba(16,24,40,.28)}
.board-grid-wrap::after,.board-tasks::after{content:"";position:sticky;bottom:0;display:block;flex:0 0 auto;height:22px;margin-top:-22px;background:linear-gradient(rgba(255,255,255,0),rgba(16,24,40,.13));pointer-events:none;opacity:0;transition:opacity 300ms ease}
.board-grid-wrap[data-more-below]::after,.board-tasks[data-more-below]::after{opacity:1}
.board-tasks::before{content:"";position:sticky;top:0;z-index:2;display:block;flex:0 0 auto;height:16px;margin-bottom:-24px;background:linear-gradient(rgba(16,24,40,.12),rgba(255,255,255,0));pointer-events:none;opacity:0;transition:opacity 300ms ease}
.board-tasks[data-more-above]::before{opacity:1}
.board-scroll-note{margin-top:10px;font-size:12.5px;color:#4B5563;opacity:0;transition:opacity 300ms ease}
.board-scroll-note[data-show]{opacity:1}
/* The fixed columns (906px) plus room for a card name: wider than that the grid never scrolls sideways, narrower it scrolls rather than hiding QC and Shipping. */
.board-grid{width:100%;min-width:1106px;table-layout:fixed;border-collapse:collapse;font-size:13px}
.board-grid th{position:sticky;top:0;z-index:1;padding:9px 4px;background:#E4E7EC;border-bottom:0;box-shadow:inset 0 -2px 0 #B9C1CB;border-left:1px solid #CBD2DA;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#4B5563;text-align:center;white-space:nowrap;overflow:hidden}
.board-grid th:first-child{border-left:0}
.board-grid th.board-col-phase{padding:9px 6px;text-align:center}
.board-grid .board-col-type{width:86px}.board-grid .board-col-list{width:160px}.board-grid .board-col-code{width:84px}.board-grid .board-col-card{width:100%}.board-grid .board-col-due{width:96px}
/* The phase columns are the old Scheduler's 80px each (Jake, 2026-09-30: the drawing's 52-74px were too narrow). */
.board-grid .board-col-phase{width:80px}
.board-grid td{height:38px;box-sizing:border-box;padding:0 10px;border-top:1px solid #BEC5CE;border-left:1px solid #CBD2DA;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.board-grid tbody tr:first-child td{border-top:0}
.board-grid td:first-child{border-left:0}
.board-grid .board-meta{color:#4B5563;text-align:center}.board-grid .board-code{font-weight:500;color:#14161A;text-align:center}
/* Type to Card are shaded, so each row's line reads across the blocked phases (Jake, 2026-09-30). */
.board-grid td.board-due{text-align:center}
/* Due tomorrow or sooner: the whole cell red; the day after: yellow — the Inventory grid's
   order and required fills (Jake, 2026-09-30). */
.board-grid td.board-due.board-due-red{background:#F2C4BC}.board-grid td.board-due.board-due-red .board-install{color:#5C130C;font-weight:700}
.board-grid td.board-due.board-due-yellow{background:#F8F4B8}.board-grid td.board-due.board-due-yellow .board-install{color:#6B5510;font-weight:600}
.board-grid td.board-meta,.board-grid td.board-code,.board-grid td.board-card,.board-grid td.board-due{background:#F2F4F7;border-top-color:#B8BFC9}.board-grid td.board-card:has([data-name-toggle]){cursor:pointer}
.board-grid .board-phase-first{border-left:2px solid #B9C1CB}
.board-card-cell{display:flex;align-items:center;gap:10px;min-width:0}
/* A red Trello cover: priority (Jake, 2026-10-06). */
.board-priority{flex:none;font-size:11px;font-weight:700;color:#fff;background:#B42318;border-radius:999px;padding:1px 8px;white-space:nowrap}
.board-card-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:#14161A}
.board-name-open .board-card-name{white-space:normal}
.board-name-open td{height:auto;white-space:normal}
.board-name-open .board-card-cell{padding:9px 0}
.board-install{padding:0;border:0;background:transparent;color:#14161A;font:inherit;font-size:13px;cursor:pointer}
.board-install-none{color:#9BA3AF;opacity:0}
td.board-due:hover .board-install-none,.board-install-none:focus{opacity:1}
.board-name-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:16px;height:20px;padding:0;border:0;background:transparent;cursor:pointer}
.board-chev{display:inline-block;width:10px;height:6px;margin-top:-2px;background:no-repeat center/10px 6px url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2010%206%22%3E%3Cpath%20d=%22M1%201l4%204%204-4%22%20fill=%22none%22%20stroke=%22%235C6472%22%20stroke-width=%221.6%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E")}
.board-chev-up{transform:rotate(180deg);margin-top:2px}
.board-grid td.board-cell{position:relative;padding:0 6px;text-align:center;cursor:pointer;font-weight:500;color:#14161A}
.board-cell[data-state=ready]:hover,.board-cell[data-state=partial]:hover{background:#F4F7FD}
.board-cell[data-state=blank],.board-cell[data-state=done],.board-cell[data-state=offday]{cursor:default}
.board-cell[data-state=done]{color:#bbb;font-weight:400}
.board-cell[data-state=offday]{color:#9BA3AF;font-weight:400;font-style:italic;font-size:12px}
.board-grid td.board-cell[data-state=blocked]{color:#8A929E;background:#F7F8FA;font-weight:400;font-size:12px;cursor:help}
.board-cell[data-state=assumed]{background:#d1fae5;color:#065f46}
/* An assigned cell is filled solid with the worker's color, white text (Jake, 2026-09-30: the light washes were hard to tell apart). */
.board-grid td.board-cell[data-state=assigned],.board-grid td.board-cell[data-state=items-all]{background:var(--board-worker,#2563EB);color:#fff;font-weight:600}
.board-grid td.board-cell[data-state=assigned] .board-chev,.board-grid td.board-cell[data-state=items-all] .board-chev{filter:brightness(0) invert(1)}
.board-cell[data-state=partial-off]:not([data-expand]){cursor:default}
.board-cell[data-state=partial-off]{color:#9BA3AF;font-weight:400;font-style:italic;font-size:12px;line-height:1.2}
.board-cell[data-state=partial-off] span,.board-cell[data-state=partial-off] small{display:block}.board-cell[data-state=partial-off] small{font-size:10.5px;font-style:normal}
.board-grid td.board-cell[data-state=partial]{color:#14161A;font-weight:600;box-shadow:inset 0 0 0 3px var(--board-worker,#2563EB);background:linear-gradient(to right,color-mix(in srgb,var(--board-worker,#2563EB) 38%,#fff) var(--board-pct,0%),#fff var(--board-pct,0%))}
.board-grid td.board-cell[data-expand]{padding-right:18px;padding-left:18px}
.board-cell-chev{position:absolute;right:9px;top:50%;transform:translateY(-50%);margin-top:-1px;display:inline-flex;align-items:center}
/* "Building complete" heads a second table of its own, set apart by a gap (Jake, 2026-09-30). */
.board-grid tr.board-built-gap td{height:18px;padding:0;background:#fff;border-left:0;border-top:1px solid #CBD2DA}
.board-grid tr.board-built-line td{height:auto;padding:9px 10px;background:#E4E7EC;border-top:1px solid #CBD2DA;border-left:0;border-bottom:2px solid #B9C1CB;color:#4B5563;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-align:center}
.board-grid tr.board-built-line+tr td{border-top:0}
.board-missing{color:#b45309;font-weight:700}
.board-grid tr.board-items-row>td{height:auto;padding:0;background:#FBFAFE;white-space:normal}
.board-grid tr.board-items-row>td.board-items-skip{background:#F2F4F7;border-left:0}
.board-items-inner{padding:12px 14px 14px;border-left:3px solid var(--board-worker,#7048E8)}
.board-items-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.board-items-head strong{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#5C6472}
.board-items-head span{font-size:12.5px;color:#4B5563}
.board-items{display:grid;grid-template-columns:minmax(0,1fr);column-gap:28px}
.board-item{display:flex;align-items:center;gap:10px;padding:5px 0;border-top:1px solid #EDE9FA}
.board-item:first-child{border-top:0}
.board-item-name{flex:1 1 auto;min-width:0;font-size:13px;color:#14161A}
.board-item-fixed{flex:0 0 52px;text-align:right;font-size:12.5px;font-weight:400;color:#4B5563}
/* An item's time is a button, so it reads as something to change (Jake, 2026-09-30). */
button.board-item-time{flex:0 0 auto;min-width:58px;padding:2px 8px;border:1px solid #D9DDE3;border-radius:6px;background:#fff;font:inherit;font-size:12.5px;color:#14161A;text-align:right;cursor:pointer}
button.board-item-time:hover{border-color:#B9C1CB;background:#F4F7FD}
.board-item-assign{flex:0 0 auto;width:16px;height:16px;padding:0;border:1px solid #D9D2F2;border-radius:4px;background:#fff;color:var(--board-worker,#7048E8);font-size:11px;line-height:14px;text-align:center;cursor:pointer}
.board-item-assign.board-blocked{color:#9ca3af;background:#f3f4f6;border-color:#e5e7eb}
.board-item-skip{flex:0 0 auto;padding:0 6px;min-height:20px;border:1px solid #D9DDE3;border-radius:4px;background:#fff;color:#5C6472;font:inherit;font-size:11px;cursor:pointer}
.board-item-skip.board-active{background:#fef3c7;border-color:#fcd34d}
.board-item-unassign{flex:0 0 auto;padding:0 2px;border:0;background:transparent;color:#9BA3AF;font:inherit;font-size:11px;cursor:pointer}
.board-skipped .board-item-name{color:#9ca3af;text-decoration:line-through}
.board-custom{color:#b45309}
.board-owner{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:16px;height:16px;padding:0;border:0;border-radius:4px;background:var(--board-worker);color:#fff;font:inherit;font-size:10px;font-weight:700;cursor:pointer}
.board-day-tab{display:inline-flex;align-items:flex-end;position:relative}
.board-day-remove{position:absolute;right:2px;top:2px;z-index:4;width:18px;height:18px;padding:0;border:0;background:transparent;color:#9BA3AF;font-size:12px;line-height:18px;cursor:pointer;opacity:0}
.board-day-tab:hover .board-day-remove,.board-day-remove:focus{opacity:1}
.board-day-add{border-style:dashed!important;background:transparent!important;padding:8px 12px!important}
.board-panel{position:relative;flex:0 0 400px;display:flex;flex-direction:column;padding:11px 16px 12px;background:#FBFCFD;border-radius:0 10px 10px 0;min-width:0;box-sizing:border-box;contain:size}
.board-panel header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;height:28px;box-sizing:border-box;padding-bottom:9px;margin-bottom:10px;border-bottom:1px solid #E1E5EA}
.board-panel-name{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:#14161A}
.board-panel-load{justify-self:end;font-size:12.5px;color:#4B5563}
.board-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--board-worker)}
.board-tasks{flex:1 1 0;min-height:82px;display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;overflow:auto}
.board-task{position:relative;flex:0 0 auto;display:flex;align-items:flex-start;gap:10px;height:82px;box-sizing:border-box;padding:10px 10px 10px 12px;border:1px solid #E1E5EA;border-left:3px solid var(--board-worker);border-radius:8px;background:#fff;touch-action:pan-y}
.board-task-child{margin-left:14px}
.board-task-done{opacity:.7}
.board-task-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;height:100%}
.board-task strong{flex:0 0 auto;height:38px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13.5px;font-weight:500;line-height:1.4;color:#14161A}
.board-task-meta{display:flex;align-items:center;gap:8px;margin-top:auto;flex-wrap:nowrap;white-space:nowrap;min-width:0}
.board-clock{font-size:12px;color:#4B5563}
.board-clock:empty{display:none}
.board-anytime{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#5C6472;background:#F2F4F7;border:1px solid #E1E5EA;border-radius:999px;padding:1px 8px}
.board-phase-pill{overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#4A3499;background:#EFEBFB;border-radius:999px;padding:2px 8px}
.board-mins{font-size:12px;color:#4B5563}
.board-skip-pill{font-size:11px;font-weight:600;color:#92400e;background:#fef3c7;border-radius:999px;padding:1px 7px;cursor:help}
.board-run-toggle{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:0;border:0;background:transparent;font:inherit;cursor:pointer}
.board-run-toggle:hover .board-phase-pill{background:#E2DBF8}
.board-task{-webkit-user-select:none;user-select:none;cursor:grab}
.board-is-dragging,.board-is-dragging *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}
.board-task-menu{flex:0 0 auto;position:relative;align-self:center}
.board-task-menu>summary{list-style:none;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;color:#5C6472;font-size:15px;line-height:1;cursor:pointer}
.board-task-menu>summary::-webkit-details-marker{display:none}
.board-task-menu>summary:hover,.board-task-menu[open]>summary{background:#F2F4F7}
.board-task-menu-panel{position:absolute;right:0;top:32px;z-index:20;min-width:190px;padding:5px;border:1px solid #D9DDE3;border-radius:8px;background:#fff;box-shadow:0 10px 26px rgba(16,24,40,.16)}
.board-menu-up .board-task-menu-panel{top:auto;bottom:32px}
.board-task-menu-panel button{display:block;width:100%;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:#14161A;font:inherit;font-size:13px;text-align:left;cursor:pointer}
.board-task-menu-panel button:hover{background:#F2F4F7}
.board-task-menu-panel .board-menu-danger{color:#B42318}
.board-handle{display:none;cursor:grab;color:#5C6472;touch-action:none;align-self:center}
@media (pointer:coarse){.board-handle{display:inline}}
.board-warn{color:#f59e0b}
.board-forced{color:#dc2626}
.board-done{color:#059669;font-weight:700}
.board-task.board-dragging{position:fixed;z-index:9999;margin:0;opacity:.9;pointer-events:none;box-shadow:0 8px 22px rgba(16,24,40,.22);transform:scale(1.03);transition:none!important}
.board-drag-slot{flex:0 0 auto;box-sizing:border-box;border:2px dashed var(--board-worker,#2563EB);border-radius:8px;background:color-mix(in srgb,var(--board-worker,#2563EB) 6%,transparent);list-style:none}
.board-empty{color:#5C6472;font-size:12.5px;list-style:none}
.board-extra{margin-top:10px;border:1px solid #D9DDE3;border-radius:8px;background:#fff;overflow:hidden}
.board-extra-head{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;padding:9px 12px;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#5C6472}
.board-extra-head::-webkit-details-marker{display:none}
.board-extra[open]>.board-extra-head{padding-bottom:4px}.board-extra[open]>.board-extra-head .board-chev{transform:rotate(180deg)}
.board-extra-list{padding:0 4px 4px}
.board-extra-list button{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;padding:9px 10px;border:0;border-radius:7px;background:transparent;font:inherit;text-align:left;cursor:pointer}
.board-extra-list button:hover{background:#EFF4FE}
.board-extra-name{flex:1 1 auto;min-width:0;font-size:13.5px;color:#14161A}
.board-extra-min{flex:0 0 auto;font-size:12.5px;color:#5C6472}
.board-extra-plus{flex:0 0 auto;width:18px;height:18px;box-sizing:border-box;border:1px dashed #C3CAD3;border-radius:5px;color:#5C6472;font-size:11px;line-height:16px;text-align:center}
.board-extra-rule{height:1px;margin:4px 8px;background:#E8EBEF}
.board-load-wrap{margin-top:12px}
.board-load{height:6px;border-radius:999px;background:#E8EBEF;overflow:hidden}
.board-load>span{display:block;height:100%;background:var(--board-worker)}
.board-load[data-load=over-target]>span{background:#f59e0b}
.board-load[data-load=over-day]>span{background:#dc2626}
.board-stats{display:flex;justify-content:space-between;gap:10px;margin-top:6px;font-size:12.5px;color:#4B5563}
.board-stats strong{font-weight:600;color:#14161A}
.board-negative{color:#dc2626;font-weight:700}
.board-notice{display:flex;align-items:center;gap:10px;padding:8px 16px;border:1px solid var(--upa-caution-line);background:var(--upa-caution-bg);color:var(--upa-body);font-size:13px}.board-main>.board-notice{margin-bottom:10px;border-radius:8px}
.board-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px;border:1px solid #E1E5EA;border-radius:6px;background:#F8F9FB;color:#4B5563;font:inherit;font-size:12.5px;cursor:pointer}
.board-plans{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.board-plans li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0;border-bottom:1px solid var(--upa-soft)}
.board-plans li span{flex:1;min-width:10rem}
.upa-dialog.board-dialog-plans{width:min(620px,calc(100vw - 32px))}
.board-dialog-plans .upa-dialog-footer [data-value=clear-all]{order:-1;margin-right:auto;color:#B42318}
.board-dialog-plans h3{margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#5C6472}
.board-plan-new{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #E1E5EA}
.board-plan-fields{display:flex;gap:12px}.board-plan-fields .board-field{flex:1}
.board-field-label{margin:0 0 6px;font-size:13px;color:#374151}
.board-plan-who{display:flex;flex-direction:column;align-items:center}
.board-plan-workers{display:grid;gap:6px}
.board-plan-worker{display:flex;align-items:center;gap:12px}
.board-worker-pick{min-width:110px;padding:7px 14px;border:1px solid #D1D5DB;border-radius:8px;background:#fff;color:#374151;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.board-worker-pick:hover{background:#F0F2F5}
.board-worker-pick[aria-pressed=true]{border-color:var(--board-worker);background:var(--board-worker);color:#fff}
.board-hours-pair{display:inline-flex;align-items:center;gap:6px;color:#9CA3AF}
.board-hours-pair input[type=time]{min-height:32px;padding:4px 8px;border:1px solid #D9DDE3;border-radius:7px;font:inherit;font-size:13px;color:#14161A}
.board-hours-pair input:disabled{opacity:.35}
.board-plans li small{display:block;color:#5C6472;font-size:12px}
.board-dialog-note{margin:0 0 10px;color:#5C6472;font-size:12.5px}
.board-hours{justify-self:center;padding:1px 6px;border:1px solid transparent;border-radius:6px;background:transparent;color:#5C6472;font:inherit;font-size:12px;font-weight:500;cursor:pointer}
button.board-hours:hover{border-color:#D9DDE3;background:#fff}
.upa-dialog.board-dialog-narrow{width:min(360px,calc(100vw - 32px))}
.upa-dialog.board-dialog-narrow:has(.board-foams){width:min(420px,calc(100vw - 32px))}
.upa-dialog.board-dialog-insulating{width:min(600px,calc(100vw - 32px))}
.board-dialog-insulating .upa-dialog-header{gap:10px}
.board-dialog-insulating .upa-dialog-title{flex:1 1 auto}
.board-insul-units{flex:0 0 auto;font-size:12px;color:#5C6472}
.board-dialog-insulating .upa-dialog-footer [role=status]{margin-right:auto;font-size:12.5px;color:#4B5563;white-space:nowrap}
.board-insul-banner{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;background:#FDFAE8;border:1px solid #E8DFA8;border-radius:8px;margin-bottom:12px;font-size:12.5px;line-height:1.5;color:#6B5510}
.board-insul-banner>span:first-child{flex:0 0 auto;width:16px;height:16px;border-radius:50%;background:#B7891B;color:#fff;font-size:11px;font-weight:700;line-height:16px;text-align:center;margin-top:1px}
.board-insul-banner strong{font-weight:600}
.board-insul-head{display:flex;align-items:baseline;gap:9px;margin-bottom:8px}
.board-insul-head>span:first-child{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5C6472}
.board-insul-head::after{content:'';order:1;flex:1 1 auto;height:1px;background:#E8EBEF}
.board-insul-head>span:last-child{order:2;font-size:12px;color:#5C6472}
.board-insul-pass{display:flex;align-items:center;gap:12px;min-height:60px;padding:11px 13px;border:1px solid #E1E5EA;border-radius:10px;background:#fff;margin-bottom:8px}
.board-insul-pass-on{border-color:#CBDCF2;background:#F7FAFF}
.board-insul-num{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:#14161A;color:#fff;font-size:11.5px;font-weight:600;display:flex;align-items:center;justify-content:center}
.board-insul-step{flex:1 1 auto;min-width:0}
.board-insul-step b{display:block;font-size:14.5px;font-weight:600;color:#14161A}
.board-insul-step small{display:block;font-size:12.5px;color:#5C6472;margin-top:2px}
.board-insul-who{flex:0 0 auto;display:flex;align-items:center;gap:5px}
.board-insul-avatar{width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid #D9DDE3;color:#5C6472;font:600 11px/1 inherit;display:flex;align-items:center;justify-content:center;padding:0}
.board-insul-picked{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#14161A;background:#fff;border:1px solid #CBDCF2;border-radius:999px;padding:4px 11px 4px 4px}
.board-insul-picked .board-insul-avatar{background:var(--board-worker);border-color:var(--board-worker);color:#fff}
.board-field{display:grid;gap:6px;margin:0 0 12px;font-size:13px;color:#374151}
.board-field textarea{box-sizing:border-box;width:100%;padding:8px 10px;border:1px solid #D9DDE3;border-radius:8px;font:inherit;font-size:13px}
.board-field input{box-sizing:border-box;width:100%;min-height:36px;padding:6px 10px;border:1px solid #D9DDE3;border-radius:8px;font:inherit;font-size:14px}
.board-field-short input{width:8rem}
.board-foams{border:1px solid #D9DDE3;border-left:3px solid var(--board-worker,#7048E8);border-radius:8px;padding:12px}
.board-foams .board-field{margin-bottom:0;font-size:12px;font-weight:500;color:#5C6472}
.board-figures{display:flex;margin-top:12px;border:1px solid #E1E5EA;border-radius:8px;overflow:hidden;background:#FBFCFD}
.board-figures>div{flex:1;padding:9px 12px;text-align:center}.board-figures>div+div{border-left:1px solid #E1E5EA}
.board-figures span{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#5C6472}
.board-figures b{display:block;margin-top:2px;font-size:18px;font-weight:600;color:#14161A}
.board-figures .board-figure-key{background:#F4F1FD}.board-figures .board-figure-key span{color:#4A3499}
.board-foam-sum{margin:8px 0 0;font-size:12px;line-height:1.45;color:#4B5563}
.board-when{margin-top:12px;padding-top:12px;border-top:1px solid #E8EBEF}
.board-when>span{display:block;margin-bottom:5px;font-size:12px;font-weight:500;color:#5C6472}
.board-when-choice{display:flex;width:max-content;border:1px solid #D9DDE3;border-radius:7px;overflow:hidden}
.board-when-choice button{padding:6px 12px;border:0;background:#F4F5F7;color:#5C6472;font:inherit;font-size:12.5px;font-weight:500;cursor:pointer}
.board-when-choice button+button{border-left:1px solid #D9DDE3}
.board-when-choice button[aria-pressed=true]{background:#fff;color:#14161A;font-weight:600}
.board-pick{display:grid;gap:4px}
.board-pick button{display:flex;align-items:center;gap:9px;width:100%;min-height:40px;padding:8px 12px;border:1px solid #E1E5EA;border-radius:8px;background:#fff;font:inherit;font-size:14px;text-align:left;cursor:pointer}
.board-pick button:hover{background:#F4F7FD;border-color:var(--board-worker)}
.board-print-dialog{width:min(640px,calc(100vw - 32px))}
.board-print-dialog .upa-dialog-body{max-height:70dvh;overflow:auto}
.board-print-sub{margin:0 0 6px;color:var(--upa-muted);font-size:12.5px}
.board-print-day h3{margin:10px 0 6px;font-size:14px}.board-print-day h3 span{color:var(--upa-muted);font-weight:500}
.board-print-list hr{border:0;border-top:2px solid #d1d5db;margin:14px 0 10px}.board-print-list hr.board-print-rule{border-top:3px solid #9ca3af}
.board-print-row{display:flex;align-items:center;gap:10px;width:82%;min-height:40px;margin:0 0 6px;padding:6px 12px;border:1px solid var(--upa-border);border-left:4px solid var(--board-worker,#374151);border-radius:8px;background:#fff;font:inherit;text-align:left;cursor:pointer}
.board-print-row:hover{background:var(--upa-accent-wash)}.board-print-row:disabled{opacity:.6;cursor:progress}
.board-print-name{font-weight:600}.board-print-meta{margin-left:auto;color:var(--upa-muted);font-size:12.5px}
.board-print-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 8px;font-size:13px}
.board-label-head,.board-label-row{display:grid;grid-template-columns:20px 1fr 1fr;gap:8px;align-items:center;margin:0 0 6px}
.board-label-head{font-size:11px;color:var(--upa-muted);text-transform:uppercase;letter-spacing:.04em}
.board-label-row input:not([type=checkbox]),.board-custom-line{min-height:34px;padding:4px 8px;border:1px solid var(--upa-border);border-radius:6px;font:inherit;font-size:14px}
.board-label-bold{font-weight:700}
.board-spine-row{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--upa-soft);font-size:12.5px;line-height:1.35}
.board-spine-row code{font-family:ui-monospace,Menlo,monospace;font-size:11.5px}.board-spine-blocked{opacity:.75}
.board-custom-line{display:block;width:100%;box-sizing:border-box;margin:4px 0}
.board-custom-copies input{width:5rem}
@media (max-width:1100px){.board-body{flex-direction:column}.board-main{border-right:0}.board-panel{flex-basis:auto;contain:none;border-top:1px solid #E1E5EA;border-radius:0}.board-tasks{flex:0 0 auto;max-height:60dvh}}

.upa-dims{min-width:0}.upa-dims-badge-line{margin:-6px 0 8px 16px}
.upa-dims-legend{max-width:74rem;margin:0 0 8px 16px;color:var(--upa-muted);font-size:12.5px}.upa-dims-legend code,.upa-dims-footnote code{padding:1px 4px;border-radius:4px;background:var(--upa-subtle);font-size:12px}
.upa-dims-swatch{display:inline-block;width:12px;height:12px;margin:0 3px 0 5px;border:1px solid var(--upa-border);border-radius:3px;vertical-align:-1px}.upa-dims-swatch--derived{background:var(--upa-subtle)}.upa-dims-swatch--override{border-color:var(--upa-caution-line);background:var(--upa-caution-bg)}
.upa-dims-help{margin:0 0 14px 16px}
.upa-dims-brands{flex-wrap:wrap}.upa-dims button.upa-tab{font-family:inherit;cursor:pointer}.upa-dims .upa-tab:hover{color:var(--upa-ink)}.upa-dims-add{border-style:dashed!important;background:transparent!important;color:var(--upa-muted);font-weight:600}
.upa-dims-panel{min-width:0}.upa-dims-variants{flex-wrap:wrap;min-height:31px}.upa-dims .upa-tabs--second .upa-tab[aria-selected=true]{border-top:2px solid var(--upa-accent);background:#fff;color:var(--upa-ink);font-weight:600}
.upa-dims-sections{display:flex;flex-direction:column;gap:14px;min-width:0}.upa-dims-row{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:12px;min-width:0}
.upa-dims-sect{flex:0 1 auto;max-width:100%;min-width:0;padding:8px 10px 10px;border:1px solid var(--upa-soft);border-radius:10px;background:#fff}.upa-dims-sect>h2{margin:0 0 8px;font-size:13.5px;font-weight:600}.upa-dims-scroll{max-width:100%;overflow-x:auto}
.upa-dims-table{border-collapse:collapse;font-size:13px}.upa-dims-table th,.upa-dims-table td{padding:1px 2px;border:1px solid var(--upa-table-rule);text-align:center}.upa-dims-table thead th{padding:3px 5px;background:var(--upa-subtle);color:var(--upa-muted);font-size:11px;font-weight:600;letter-spacing:.04em;white-space:nowrap}
.upa-dims-rowlab{box-sizing:border-box;width:56px;min-width:56px;position:sticky;left:0;z-index:1;padding:3px 6px!important;background:#FBFCFD;text-align:left!important;white-space:nowrap;font-weight:600}.upa-dims-rowlab--offset{color:var(--upa-accent)}
.upa-dims-cell{width:4.25rem;min-height:28px;padding:4px 5px;border:1px solid var(--upa-border);border-radius:6px;background:#fff;color:var(--upa-ink);font:inherit;font-size:13px;text-align:right}.upa-dims-cell--wide{text-align:left}.upa-dims-cell:focus-visible{outline:0;border-color:var(--upa-accent);box-shadow:0 0 0 3px rgba(37,99,235,.16)}
.upa-dims-table td[data-state=derived] .upa-dims-cell{background:var(--upa-subtle);color:var(--upa-muted)}.upa-dims-table td[data-state=override] .upa-dims-cell{border-color:var(--upa-caution-line);background:var(--upa-caution-bg);color:#6B5510}
.upa-dims-cell:disabled{background:#F4F5F7;color:var(--upa-muted);opacity:1}
.upa-dims-addsize{margin-top:8px}
.upa-dims-danger{display:flex;gap:22px;margin-top:12px}.upa-dims-danger:empty{display:none}.upa-dims-link{padding:2px 0;border:0;background:none;color:var(--upa-muted);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}.upa-dims-link:hover{color:var(--upa-problem)}
.upa-dims-footnote{margin:12px 0 0 16px;color:var(--upa-muted);font-size:12px}
.upa-dims-status[data-tone=ok]{color:var(--upa-good);font-weight:600}.upa-dims-status[data-tone=error]{color:var(--upa-problem);font-weight:600}
@media(max-width:760px){.upa-dims-row{flex-wrap:wrap}}
@media(pointer:coarse){.upa-dims-cell{min-height:40px;font-size:16px}}
