.ui-shell { --ui-radius:10px; --ui-control:40px; --ui-line:color-mix(in srgb,var(--border) 65%,var(--surface)); font-size:14px; }
.ui-shell main.container { max-width:1328px; margin:0 auto; padding:32px 32px 40px; }
.ui-shell .header-inner { max-width:1264px; height:64px; }
.ui-shell .logo { font-size:20px; letter-spacing:-.6px; }
.ui-shell .footer-inner { max-width:1328px; padding-inline:32px; }
/* Shared UI primitives. Theme colors come from theme.css. */
.ui-page { max-width:none; margin:0 auto; color:var(--text); font-size:14px; line-height:1.5; }
.ui-page *, .ui-page *::before, .ui-page *::after { box-sizing:border-box; }
.ui-icon { width:18px; height:18px; flex:none; vertical-align:middle; }
.ui-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:var(--ui-control); padding:8px 12px; border:1px solid var(--ui-line); border-radius:7px; background:var(--surface); color:var(--text); font:inherit; font-size:13px; font-weight:500; line-height:1.3; text-decoration:none; cursor:pointer; list-style:none; }
.ui-button:hover { background:var(--hover); color:var(--text); text-decoration:none; }
.ui-button--primary { background:var(--primary); color:var(--primary-text); border-color:var(--primary); }
.ui-button--primary:hover { background:var(--primary); color:var(--primary-text); filter:brightness(.9); }
.ui-button--quiet { border-color:transparent; background:transparent; }
.ui-button--danger { color:var(--danger); }
.ui-button--danger:hover { color:var(--danger); border-color:var(--danger); background:color-mix(in srgb,var(--danger) 7%,var(--surface)); }
.ui-button--icon { width:var(--ui-control); padding:8px; flex:none; }
.ui-button:disabled { opacity:.45; cursor:not-allowed; }
.ui-shell :is(.ui-button,.ui-page a,.ui-page button,.ui-page summary,.ui-page input,.ui-page select):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.ui-page :is(h1,h2,h3,h4,p) { margin-top:0; }
.ui-page h1 { margin-bottom:0; font-size:30px; font-weight:600; line-height:1.25; letter-spacing:-.5px; overflow-wrap:anywhere; }
.ui-page h2,.ui-page h3,.ui-page h4 { margin-bottom:16px; color:var(--text); font-size:16px; line-height:1.4; font-weight:600; }
.ui-page-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:24px; }
.ui-shell .ui-page-heading > h1 { margin-right:auto; min-width:0; }
.ui-shell .ui-page-more { margin:0; flex:none; }
.ui-shell .ui-page-more > summary { display:inline-flex; align-items:center; justify-content:center; width:auto; min-height:var(--ui-control); padding:8px 10px; gap:6px; font-size:13px; border-radius:7px; }
.ui-shell .ui-page-more > summary.active { background:var(--selected); color:var(--text); }
.ui-shell .ui-page-more > summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.ui-shell .clients-page-heading > h1 { margin-right:auto; min-width:0; }
.ui-panel { min-width:0; padding:24px; margin:0; border:1px solid var(--ui-line); border-radius:var(--ui-radius); background:var(--surface); }
.ui-muted { color:var(--muted); font-size:13px; }
.ui-strong { font-weight:600; }
.ui-meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; color:var(--muted); font-size:12px; }
.ui-stack { display:grid; gap:20px; }
.ui-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.ui-inline-form { display:inline-flex; align-items:center; margin:0; }
.ui-actions-column { width:230px; }
.ui-section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:16px; }
.ui-section-heading h2,.ui-section-heading h3 { margin:0; }
.ui-scroll { overflow-x:auto; margin-bottom:8px; }

/* Register */
.ui-list-workspace { border:1px solid var(--ui-line); border-radius:var(--ui-radius); background:var(--surface); }
.ui-page .orders-toolbar { display:flex; flex-direction:column; align-items:stretch; gap:0; margin:0; padding:0 24px; }
.ui-page .orders-tabs { gap:24px; padding:0; background:transparent; border-radius:0; border-bottom:1px solid var(--ui-line); }
.ui-tab { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:56px; padding:14px 0; border-bottom:2px solid transparent; color:var(--muted); font-size:14px; font-weight:500; text-decoration:none; white-space:nowrap; }
.ui-tab:hover,.ui-tab.active { color:var(--text); }
.ui-tab.active { border-bottom-color:var(--text); }
.ui-tab .tab-count { padding:1px 6px; border-radius:5px; background:var(--counter); color:var(--muted); font-size:11px; }
.ui-page .orders-more-menu { border-color:var(--ui-line); border-radius:8px; box-shadow:0 8px 24px #0002; padding:6px; }
.ui-page .orders-more-menu :is(a,button) { display:flex; align-items:center; gap:8px; min-height:40px; font:inherit; font-size:13px; padding:8px 10px; border:0; border-radius:5px; }
.ui-page .orders-more-menu :is(a,button):hover { background:var(--hover); }
.ui-page .orders-more-menu .ui-tab { justify-content:space-between; }
.ui-page .orders-more-menu .ui-tab.active { background:var(--surface-muted); }
.ui-page .orders-tools { display:flex; gap:12px; padding:20px 0; width:100%; }
.ui-page .orders-search { position:relative; order:-1; margin-right:auto; flex:1; max-width:440px; min-width:180px; }
.ui-page .orders-search > .ui-icon { position:absolute; left:12px; pointer-events:none; color:var(--muted); }
.ui-page .orders-search input[type=search] { height:var(--ui-control); min-height:var(--ui-control); padding:9px 12px 9px 38px; border-color:var(--ui-line); border-radius:7px; font-size:13px; }
.ui-page .mobile-order-sort { display:flex; align-items:center; gap:4px; margin:0; width:184px; flex:none; }
.ui-page .mobile-order-sort label { flex:1; min-width:0; }
.ui-page .mobile-order-sort select { min-height:var(--ui-control); width:100%; padding:8px; border:1px solid var(--ui-line); border-radius:7px; background:var(--field); color:var(--text); font:inherit; font-size:13px; }
.ui-page .mobile-order-sort .ui-button { width:var(--ui-control); flex:none; padding:8px; }
.ui-page :is(.mobile-sort-label,.mobile-sort-direction) { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.ui-page .orders-period-control .orders-filter-trigger { gap:8px; }
.ui-list-workspace #orders-search-message:not(:empty),.ui-list-workspace .history-note { margin:0; padding:16px 24px; }
.ui-table-wrap { overflow-x:auto; }
.ui-page .orders-table { font-size:13px; }
.ui-page .orders-table th { padding:12px 16px; border-block:1px solid var(--ui-line); font-size:12px; font-weight:500; color:var(--muted); background:var(--surface-muted); }
.ui-page .orders-table td { padding:18px 16px; border-color:var(--ui-line); }
.ui-page .orders-table tbody tr:last-child td { border-bottom:0; }
.ui-page .orders-table th .ui-icon { width:14px; height:14px; }
.ui-page .order-row:hover,.ui-page .order-row:focus-within { background:var(--surface-muted); }
.ui-register { table-layout:fixed; min-width:850px; }
.ui-register th:first-child { width:33%; }
.ui-register th:nth-child(2) { width:21%; }
.ui-register th:nth-child(3) { width:15%; }
.ui-register th:nth-child(4) { width:13%; }
.ui-register th:nth-child(5) { width:8%; }
.ui-register th:nth-child(6) { width:10%; }
.ui-page .ui-register :is(th,td):first-child { padding-left:24px; }
.ui-page .ui-register :is(th,td):last-child { padding-right:24px; }
.ui-register .order-name-link { display:block; width:fit-content; font-size:14px; font-weight:600; line-height:1.45; overflow-wrap:anywhere; }
.ui-row-meta { display:flex; flex-wrap:wrap; gap:4px 12px; margin-top:5px; font-size:12px; color:var(--muted); }
.ui-row-meta > span + span { padding-left:12px; border-left:1px solid var(--ui-line); }
.ui-register-client { overflow-wrap:anywhere; }
.ui-register-date { color:var(--muted); font-variant-numeric:tabular-nums; white-space:nowrap; }
.ui-number { font-variant-numeric:tabular-nums; text-align:right; white-space:nowrap; }
.ui-register-amount { font-weight:600; }
.ui-register-status .order-status-badge { max-width:100%; padding:4px 8px; font-size:12px; line-height:1.4; white-space:normal; text-align:left; }
.ui-number span { font-weight:400; color:var(--muted); }
.ui-status { display:inline-flex; align-items:center; gap:7px; font-size:12px; line-height:1.4; }
.ui-status::before { content:''; width:6px; height:6px; flex:none; border-radius:50%; background:var(--border-strong); }
.ui-status.is-created::before { background:#6182b5; }
.ui-status.is-waiting::before { background:#b58b35; }
.ui-status.is-working::before { background:#4b9866; }
.ui-status.is-shipped { color:var(--muted); }
.ui-results-note { padding:14px 24px; border-top:1px solid var(--ui-line); font-size:12px; color:var(--muted); }
.ui-page .orders-empty-row td { padding:48px 20px; text-align:center; }
.ui-empty { display:grid; justify-items:center; gap:12px; max-width:390px; margin:auto; }
.ui-empty > .ui-icon { width:28px; height:28px; color:var(--muted); }
.ui-empty > strong { font-size:16px; }
.ui-empty p { color:var(--muted); margin:0; font-size:13px; }
.ui-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; padding:16px; border-top:1px solid var(--ui-line); color:var(--muted); font-size:13px; }
/* Order workspace */
.ui-page .order-detail-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:-12px 0 20px; }
.ui-page .order-detail-toolbar > a { padding-left:0; color:var(--muted); }
.ui-order-head { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:28px; }
.order-detail-heading { min-width:0; flex:1; }
.order-detail-heading .ui-muted { margin:10px 0 0; font-size:12px; }
.ui-eyebrow { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:10px; font-size:12px; color:var(--muted); }
.ui-order-type { font-size:12px; color:var(--muted); }
.ui-eyebrow .ui-order-type { border-left:1px solid var(--border); padding-left:12px; }
.order-action-panel { display:flex; align-items:center; flex-wrap:wrap; gap:8px; flex:none; max-width:52%; }
.order-action-panel .orders-more { margin-left:0; }
.ui-order-summary { display:grid; grid-template-columns:1fr 1fr 1.6fr; margin:0 0 28px; padding:22px 0; border-block:1px solid var(--ui-line); }
.ui-order-summary > div { padding:0 28px; border-left:1px solid var(--ui-line); }
.ui-order-summary > div:first-child { padding-left:0; border:0; }
.ui-order-summary dt { color:var(--muted); font-size:12px; margin-bottom:6px; }
.ui-order-summary dd { margin:0; font-size:24px; line-height:1.3; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:-.5px; }
.ui-order-summary dd span { font-size:16px; font-weight:400; color:var(--muted); }
.ui-order-summary .ui-summary-dates { font-size:19px; padding-top:4px; letter-spacing:-.3px; }
.ui-order-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; gap:24px; }
.ui-order-main { display:grid; min-width:0; gap:20px; }
.ui-order-sidebar { min-width:0; }
.order-progress-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:28px; }
.order-progress-heading h2 { margin:0; }
.ui-status-field { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--muted); }
.order-progress-select { min-width:0; width:176px; min-height:var(--ui-control); padding:8px 10px; border:1px solid var(--ui-line); border-radius:7px; background:var(--field); color:var(--text); font:inherit; font-size:13px; }
.order-progress-select:disabled { opacity:.6; cursor:wait; }
.order-progress-list { list-style:none; margin:0 0 28px; padding:0 0 8px; display:flex; overflow-x:auto; gap:0; }
.order-progress-step { position:relative; flex:1; min-width:100px; display:flex; flex-direction:column; gap:10px; padding-right:12px; color:var(--muted); font-size:12px; }
.order-progress-step:not(:last-child)::after { content:''; position:absolute; left:29px; right:7px; top:12px; height:1px; background:var(--ui-line); }
.order-progress-dot { position:relative; z-index:1; display:grid; place-items:center; width:25px; height:25px; border:1px solid var(--border); border-radius:50%; background:var(--surface); font-size:11px; }
.order-progress-dot .ui-icon { width:14px; height:14px; }
.order-progress-content { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.order-progress-time { color:var(--muted); font-size:10px; font-weight:400; }
.order-progress-step.is-active { color:var(--text); font-weight:600; }
.order-progress-step.is-active .order-progress-dot { background:var(--primary); color:var(--primary-text); border-color:var(--primary); }
.ui-schedule { border-top:1px solid var(--ui-line); padding-top:20px; }
.ui-schedule .ui-section-heading { margin-bottom:8px; }
.ui-schedule h3 { font-size:13px; }
.ui-schedule > .ui-muted { margin-bottom:16px; font-size:12px; }
.ui-schedule > .ui-muted strong { font-weight:400; }
.ui-page .stage-detail-row { display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:11px 0; border:0; border-top:1px solid var(--ui-line); background:transparent; }
.stage-detail-row strong { font-size:13px; font-weight:500; }
.stage-dates-text { color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.stage-duration-text { margin-left:8px; color:var(--muted); font-size:12px; }
.ui-client-name { margin:-2px 0 24px; overflow-wrap:anywhere; font-size:17px; line-height:1.4; }
.ui-client-name a { color:var(--text); font-weight:600; text-decoration:none; }
.ui-client-name a:hover { text-decoration:underline; }
.ui-fact { display:grid; gap:4px; margin-bottom:16px; font-size:13px; }
.ui-fact > span { color:var(--muted); font-size:12px; }
.ui-fact strong { font-weight:400; overflow-wrap:anywhere; }
.ui-fact a { color:inherit; text-decoration:none; }
.ui-fact a:hover { text-decoration:underline; }
.ui-order-note { border-top:1px solid var(--ui-line); margin-top:24px; padding-top:20px; }
.ui-order-note h3 { font-size:13px; margin-bottom:10px; }
.ui-order-note p { margin:0; font-size:13px; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
.ui-position { padding:20px 0; border-top:1px solid var(--ui-line); }
.ui-position:last-child { padding-bottom:0; }
.ui-position-title { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:12px; }
.ui-position-title strong { font-size:16px; font-weight:600; overflow-wrap:anywhere; }
.ui-position-title > span { white-space:nowrap; font-size:13px; color:var(--muted); }
.ui-position .ui-meta { margin-bottom:18px; }
.ui-position .ui-meta strong { font-weight:400; }
.ui-size-run { display:flex; flex-wrap:wrap; gap:0; padding:12px 0; border-block:1px solid var(--ui-line); }
.ui-size-run > div { min-width:52px; padding:0 16px; text-align:center; }
.ui-size-run > div:first-child { padding-left:0; }
.ui-size-run dt { font-size:11px; color:var(--muted); margin-bottom:5px; }
.ui-size-run dd { font-size:14px; font-variant-numeric:tabular-nums; }
.ui-size-run .ui-size-total { margin-left:auto; border-left:1px solid var(--ui-line); padding-right:0; }
.ui-page .position-price-total strong { font-size:17px; font-weight:600; }
.ui-page .ui-text-disclosure > summary { display:inline-flex; align-items:center; gap:6px; padding:0; border:0; background:none; color:var(--muted); font-size:12px; font-weight:400; cursor:pointer; list-style:none; }
.ui-page .ui-text-disclosure > summary::-webkit-details-marker { display:none; }
.ui-page .ui-text-disclosure > summary::before { content:none; }
.ui-page .ui-text-disclosure > summary:hover { color:var(--text); }
.ui-page .ui-text-disclosure > summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.ui-page .ui-text-disclosure[open] > summary .ui-icon { transform:rotate(90deg); }
.ui-page .ui-text-disclosure > summary .ui-icon { width:14px; height:14px; }
.ui-page .history-panel { margin:20px 0 0; padding:0; }
.ui-page .history-entry > .ui-button { flex-shrink:0; }
@media(min-width:701px) { .ui-shell .nav-link { display:flex; align-items:center; min-height:64px; font-size:13px; border-bottom:2px solid transparent; } .ui-shell .nav-link[aria-current] { border-bottom-color:var(--text); } }
@media(max-width:1100px) { .ui-order-layout { grid-template-columns:minmax(0,1fr) 260px; gap:20px; } .ui-order-head { align-items:flex-start; flex-direction:column; gap:20px; } .order-action-panel { max-width:100%; } .ui-status-field > span { display:none; } }
@media(min-width:1101px) { .ui-order-head:has(.is-sample) { align-items:flex-start; flex-direction:column; gap:20px; } .ui-order-head .is-sample { max-width:100%; } }
@media(max-width:900px) {
 .ui-shell { --ui-control:44px; }
 .ui-shell main.container { padding:24px 20px 32px; }
 .ui-shell .footer-inner { padding-inline:20px; }
 .ui-page .orders-toolbar { padding:0 16px; }
 .ui-page .orders-tabs { gap:16px; }
 .ui-page .orders-tabs > .ui-tab { flex:1; min-width:0; font-size:13px; gap:6px; }
 .ui-page .orders-tools { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:12px; padding:16px 0; }
 .ui-page .orders-search { width:100%; max-width:none; min-width:0; margin:0; grid-column:1/-1; }
 .ui-page .orders-search input[type=search] { font-size:16px; }
 .ui-page .mobile-order-sort { width:auto; grid-row:2; grid-column:2; }
 .ui-page .ui-register { display:block; min-width:0; }
 .ui-register thead { display:none; }
 .ui-register tbody { display:block; }
 .ui-register .order-row { display:grid; grid-template-columns:1fr 1fr; gap:10px 12px; padding:20px 16px; border-top:1px solid var(--ui-line); }
 .ui-page .ui-register .order-row > td { display:block; width:auto; padding:0; border:0; min-width:0; }
 .ui-register-order { grid-column:1/-1; }
 .ui-register .order-name-link { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:15px; }
 .ui-register-client { grid-column:1/-1; color:var(--muted); }
 .ui-register-status { grid-column:1; grid-row:3; align-self:center; }
 .ui-register-date { grid-column:2; grid-row:3; text-align:right; font-size:12px; }
 .ui-register-amount { grid-column:1; grid-row:4; text-align:left; font-size:15px; }
 .ui-register-quantity { grid-column:2; grid-row:4; font-size:13px; }
 .ui-register--trash .ui-register-action { grid-column:1/-1; grid-row:5; }
 .ui-register .orders-empty-row,.ui-register .orders-empty-row td { display:block; }
 .ui-order-layout { grid-template-columns:1fr; }
 .ui-order-sidebar .ui-fact { grid-template-columns:120px minmax(0,1fr); gap:12px; }
 .ui-order-summary .ui-summary-dates { font-size:16px; }
 .ui-page .ui-table-wrap:has(.mobile-card-table) { padding:0 16px 16px; }
}
@media(max-width:700px) {
 .ui-shell main.container { padding:20px 14px 32px; }
 .ui-shell .footer-inner { padding-inline:14px; }
 .ui-shell .header-inner { height:56px; }
 .ui-shell .logo { font-size:18px; }
 .ui-page h1 { font-size:26px; letter-spacing:-.5px; }
 .ui-page-heading { margin-bottom:22px; gap:8px; }
 .ui-page-heading > a { padding-inline:12px; }
 .ui-panel { padding:20px; }
 .ui-page .order-detail-toolbar { margin:-8px 0 16px; }
 .ui-page .order-detail-toolbar .order-actions-more { margin:0; }
 .ui-order-head { gap:20px; margin-bottom:24px; }
 .order-action-panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:8px; }
 .order-action-panel > a { min-width:0; padding:10px 8px; font-size:12px; }
 .order-action-panel > a[href$='/restore'],.order-action-panel > .order-create-batch { grid-column:1/-1; }
 .order-action-panel.is-sample > .order-create-batch { grid-row:1; }
 .ui-order-summary { grid-template-columns:1fr 1fr; gap:20px 0; padding:20px 0; margin-bottom:24px; }
 .ui-order-summary > div { padding:0 20px; }
 .ui-order-summary > div:last-child { grid-column:1/-1; padding:0; border:0; }
 .ui-order-summary dd { font-size:22px; }
 .ui-order-summary .ui-summary-dates { font-size:17px; padding:0; }
 .order-progress-heading { flex-wrap:wrap; gap:12px; margin-bottom:24px; }
 .ui-status-field { width:100%; justify-content:space-between; }
 .ui-status-field > span { display:inline; }
 .order-progress-select { width:58%; font-size:16px; }
 .order-progress-list { display:grid; padding:0; margin-bottom:24px; }
 .order-progress-step { flex-direction:row; align-items:center; min-height:42px; gap:12px; padding:0; }
 .order-progress-step:not(:last-child)::after { left:12px; right:auto; top:30px; width:1px; height:calc(100% - 16px); }
 .order-progress-content { flex:1; flex-direction:row; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:2px 8px; }
 .order-progress-dot { flex:none; }
 .ui-section-heading { flex-wrap:wrap; gap:4px; }
}

/* Application-wide composition. Lists share the workspace width; editors use a reading width. */
.ui-shell { --ui-editor-width:960px; }
.ui-shell main.container *, .ui-shell main.container *::before, .ui-shell main.container *::after { box-sizing:border-box; }
.ui-shell :is(.clients-page,.purchase-page,.norm-page,.backup-page) { max-width:none; margin:0 auto; min-width:0; }
.ui-shell .norm-page { max-width:var(--ui-editor-width); }
.ui-shell :is(.purchase-document,.client-form-page,.order-form-shell,.order-form-back,.ui-form-heading) { max-width:var(--ui-editor-width); margin-inline:auto; }
.ui-shell main h1 { margin:0; color:var(--text); font-size:30px; line-height:1.25; font-weight:600; letter-spacing:-.5px; overflow-wrap:anywhere; }
.ui-shell :is(.clients-page-heading,.purchase-page-heading,.norm-heading,.backup-heading,.ui-calendar-heading) { margin:0 0 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ui-shell :is(.ui-calendar-heading,.ui-form-heading) p { margin:8px 0 0; color:var(--muted); font-size:13px; }
.ui-form-heading { margin-bottom:24px; }
.ui-shell :is(.client-form-page > h1,.purchase-form-heading) { margin-bottom:24px; margin-top:24px; }
.ui-shell :is(.card-box,.client-form-section,.purchase-material,.norm-panel,.backup-row,.day-order-card,.form-block-card,.position-card) { border-radius:var(--ui-radius); border-color:var(--ui-line); box-shadow:none; }
.ui-shell :is(.client-form-section,.purchase-material,.norm-panel,.day-order-card) { padding:24px; }
.ui-shell .order-form-shell :is(.form-block-card,.position-card) { background:var(--surface); }
.ui-shell .day-order-card { border:1px solid var(--ui-line); background:var(--surface); }
.ui-shell :is(.client-form-section,.card-box,.purchase-material,.norm-panel) h2 { font-size:16px; line-height:1.4; font-weight:600; }
.ui-shell .client-detail-page > .card-box { margin-bottom:20px; }
.ui-shell .client-detail-page > h1 { margin-bottom:20px; }
.ui-shell .client-stats { gap:0; padding:20px 0; border-block:1px solid var(--ui-line); margin-bottom:24px; }
.ui-shell .client-stats .client-stat { border:0; border-right:1px solid var(--ui-line); border-radius:0; box-shadow:none; background:transparent; padding:0 24px; }
.ui-shell .client-stats .client-stat:first-child { padding-left:0; }
.ui-shell .client-stats .client-stat:last-child { border:0; }
.ui-shell .client-stats .client-stat strong { font-size:24px; font-weight:600; }
.ui-shell .purchase-metrics { gap:0; border-block:1px solid var(--ui-line); padding:20px 0; margin-block:24px; }
.ui-shell .purchase-metrics > div { padding:0 24px; border:0; border-right:1px solid var(--ui-line); border-radius:0; background:transparent; }
.ui-shell .purchase-metrics > div:first-child { padding-left:0; }
.ui-shell .purchase-metrics > div:last-child { border:0; }

/* Legacy class names remain behavior hooks; their visuals use the same control contract. */
.ui-shell :is(.btn,.btn-action-sm,.btn-file-upload) { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:var(--ui-control); padding:8px 12px; border:1px solid var(--ui-line); border-radius:7px; background:var(--surface); color:var(--text); font:inherit; font-size:13px; font-weight:500; line-height:1.3; text-decoration:none; cursor:pointer; box-shadow:none; list-style:none; }
.ui-shell :is(.btn,.btn-action-sm,.btn-file-upload):hover { background:var(--hover); color:var(--text); text-decoration:none; }
.ui-shell .btn-primary { background:var(--primary); color:var(--primary-text); border-color:var(--primary); }
.ui-shell .btn-primary:hover { background:var(--primary); color:var(--primary-text); filter:brightness(.9); }
.ui-shell .btn-danger,.ui-shell .btn-danger:hover { color:var(--danger); }
.ui-shell .btn-danger:hover { border-color:var(--danger); background:color-mix(in srgb,var(--danger) 7%,var(--surface)); }
.ui-shell :is(.btn,.btn-action-sm,.btn-file-upload):disabled { opacity:.45; cursor:not-allowed; }
.ui-shell .btn > :is(.desktop-label,.mobile-label) .ui-icon { margin-right:6px; }
.ui-shell .mobile-form-submit { display:none; }
.ui-shell [hidden] { display:none !important; }
.ui-shell :is(button.modal-close,.client-modal-close,.attachment-close,.orders-period-clear) { min-height:var(--ui-control); width:var(--ui-control); border:0; border-radius:7px; background:transparent; color:var(--muted); cursor:pointer; }
.ui-shell :is(.purchase-icon-button,.norm-remove,.client-row-remove,.client-legal-remove) { min-height:var(--ui-control); border-radius:7px; }
.ui-shell input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),.ui-shell select,.ui-shell textarea { min-height:var(--ui-control); border:1px solid var(--ui-line); border-radius:7px; background:var(--field); color:var(--text); font-size:13px; }
/* Defaults must not overwrite space reserved by fields for icons or inline controls. */
.ui-shell :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),select,textarea) { padding:9px 12px; }
.ui-shell textarea { line-height:1.5; }
.ui-shell :is(input,select,textarea)[aria-invalid=true] { border-color:var(--danger); }
.ui-shell :is(.modal-content,.client-modal,.purchase-dialog,.calendar-period-dialog,.orders-filter-menu,.orders-more-menu) { border-radius:var(--ui-radius); border-color:var(--ui-line); }
.ui-shell :is(.modal-content,.purchase-dialog) h2 { font-size:20px; }

/* One tab grammar: active underline, compact counters, no competing filled pills. */
.ui-shell :is(.client-directory-nav,.purchase-tabs,.norm-sections,.calendar-flow-tabs) { display:flex; flex-wrap:wrap; gap:24px; padding:0; border-bottom:1px solid var(--ui-line); border-radius:0; background:transparent; margin:0 0 20px; }
.ui-shell :is(.client-directory-nav,.purchase-tabs,.norm-sections,.calendar-flow-tabs) > a { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:12px 0; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:var(--muted); font-size:14px; font-weight:500; line-height:1.4; text-decoration:none; }
.ui-shell :is(.client-directory-nav,.purchase-tabs,.norm-sections,.calendar-flow-tabs) > a:is(.active,[aria-current=page]) { color:var(--text); border-bottom-color:var(--text); background:transparent; }
.ui-shell .norm-tabs { gap:8px; margin-bottom:24px; }
.ui-shell .norm-tabs a { min-height:40px; padding:8px 12px; border-radius:7px; font-size:13px; }
.ui-shell .norm-panel { max-width:none; }
.ui-shell .clients-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin:0; padding:16px 20px; border:1px solid var(--ui-line); border-bottom:0; border-radius:10px 10px 0 0; background:var(--surface); }
.ui-shell .clients-tabs { display:flex; gap:4px; flex-wrap:wrap; padding:0; background:transparent; }
.ui-shell .clients-tabs .tab-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding:8px 10px; border:0; border-radius:7px; font-size:13px; font-weight:500; color:var(--muted); background:transparent; cursor:pointer; text-decoration:none; }
.ui-shell .clients-tabs .tab-btn.active { color:var(--text); background:var(--selected); }
.ui-shell .tab-count { color:var(--muted); font-size:11px; background:var(--counter); border-radius:5px; padding:1px 5px; }
.ui-shell .clients-tools { display:flex; gap:8px; flex:1; justify-content:flex-end; }
.ui-shell .clients-tools #clients-search { width:260px; min-width:0; }
.ui-shell .clients-table-container { border-radius:0 0 10px 10px; }
.ui-shell .orders-table { font-size:13px; }
.ui-shell .orders-table th { font-size:12px; font-weight:500; color:var(--muted); background:var(--surface-muted); padding:12px 16px; }
.ui-shell .orders-table td { padding:16px; border-color:var(--ui-line); }
.ui-shell .table-container { border-color:var(--ui-line); }
.ui-shell .backup-row { padding:20px; }

/* Calendar keeps its production geometry and interaction model. */
.ui-shell .calendar-header { margin-bottom:20px; gap:16px; align-items:center; }
.ui-shell .calendar-flow-tabs { margin:0; border-bottom:0; gap:20px; }
.ui-shell .calendar-period-navigation { gap:8px; }
.ui-shell .calendar-month-jump { min-height:var(--ui-control); font-size:18px; font-weight:600; border-radius:7px; }
.ui-shell .calendar-month-arrow { width:var(--ui-control); padding:8px; }
.ui-shell .calendar { border-radius:var(--ui-radius); overflow:hidden; border-color:var(--ui-line); }
.ui-shell .weekday { font-size:12px; font-weight:500; padding-block:12px; color:var(--muted); }
.ui-shell .day-page-heading { gap:16px; flex-wrap:wrap; }
.ui-shell .day-page-heading h1 { font-size:24px; }
.ui-shell.ui-login .login-card { max-width:400px; padding:32px; border-radius:var(--ui-radius); border-color:var(--ui-line); }
.ui-shell.ui-login .login-card input:not([type=checkbox]) { min-height:44px; }

@media(max-width:900px) {
 .ui-shell .size-cell-box .stepper-btn { display:none; }
 .ui-shell .size-cell-box .size-input { padding-inline:8px; }
 .ui-shell .mobile-form-submit { display:inline-flex; }
 .ui-shell .order-checkout .checkout-cancel { display:none; }
 .ui-shell .order-checkout .form-actions .btn { min-width:0; }
 .ui-shell .ui-calendar-heading { display:none; }
 .ui-shell .clients-toolbar { padding:16px; gap:12px; flex-direction:column; align-items:stretch; }
 .ui-shell .clients-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
 .ui-shell .clients-tabs > .tab-btn { flex:1; padding-inline:4px; font-size:12px; }
 .ui-shell .clients-tools { width:100%; display:flex; flex-wrap:wrap; }
 .ui-shell .clients-tools #clients-search { flex:1; width:auto; min-width:140px; }
 .ui-shell .clients-tools .orders-period-control { flex:none; }
 .ui-shell .orders-table.mobile-card-table td { padding:8px 0; }
 .ui-shell .purchase-metrics { row-gap:20px; }
 .ui-shell .purchase-metrics > div { padding-inline:16px; }
 .ui-shell :is(.client-directory-nav,.purchase-tabs,.norm-sections) { gap:20px; }
}
@media(max-width:700px) {
 .ui-shell main h1 { font-size:26px; }
 .ui-shell :is(.clients-page-heading,.purchase-page-heading,.backup-heading) { gap:12px; align-items:flex-start; flex-wrap:wrap; }
 .ui-shell :is(.client-form-section,.purchase-material,.norm-panel,.day-order-card) { padding:18px; }
 .ui-shell .norm-sections { gap:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ui-shell .norm-sections > a { padding:10px 6px; font-size:13px; }
 .ui-shell .client-stats .client-stat { padding-inline:12px; }
 .ui-shell .client-stats .client-stat strong { font-size:20px; }
 .ui-shell input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]),.ui-shell select,.ui-shell textarea { font-size:16px; }
 .ui-shell .day-page-heading h1 { order:3; width:100%; font-size:24px; }
 .ui-shell .day-page-heading > .btn-primary { margin-left:auto; }
 .ui-shell .purchase-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ui-shell .purchase-metrics > div:nth-child(odd) { padding-left:0; }
 .ui-shell .purchase-metrics > div:nth-child(even) { border:0; }
 .ui-shell .ui-form-heading { margin-bottom:20px; }
 .ui-shell.ui-login .login-card { padding:24px; }
}

/* Counters stay distinct from both the panel and the selected control. */
.ui-shell :is(.ui-tab,.tab-btn):is(.active,[aria-pressed=true]) .tab-count { background:var(--counter-active); color:var(--text); opacity:1; }
.ui-shell :is(.purchase-tabs,.norm-tabs) a[aria-current=page] > span { background:var(--counter-active); color:var(--text); border-radius:5px; padding:1px 6px; }
.ui-shell .purchase-tabs a > span { background:var(--counter); color:var(--muted); border-radius:5px; padding:1px 6px; }
.ui-shell .norm-tabs a[aria-current=page],.ui-shell .mobile-calendar-tabs a[aria-current=page],.ui-shell .client-type-switch input:checked + span { background:var(--selected); color:var(--text); }
@media(max-width:900px) { .ui-shell .header-inner .nav-link[aria-current=page] { background:var(--selected); } }
.ui-shell .emb-row > .emb-custom-format {flex:1;min-width:0;}
