html{--ui-scale:.9;--ui-viewport-height:calc(100vh / var(--ui-scale))}
/* Scale panels independently so the catalog iframe has no zoomed ancestors. */
#topbar,#sidebar,main>:not(#workspace),#workspace>:not(#catalog-page),body>dialog{zoom:var(--ui-scale)}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}
.order-create{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:end;gap:16px}
.order-create>label{min-width:0}.order-create input,.order-create select{width:100%;min-width:0}
.order-details-toggle{display:none}
.order-create>.other-plate{min-height:36px}
.order-create-services{grid-column:1/-1;min-width:0}.order-create-services h5{margin:8px 0}
.order-edit-line{grid-template-columns:minmax(0,1fr) 90px auto!important;align-items:center}
.order-edit-line>*{min-width:0!important}.service-line-summary{grid-column:1/-1}
#order-card-page h5{clear:both;margin:24px 0 12px}dialog:has(.order-edit){max-width:780px;width:calc(100% - 40px);max-height:calc(var(--ui-viewport-height) - 40px);overflow:auto}
header{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:12px 22px;border-bottom:1px solid var(--color-divider);position:sticky;top:0;z-index:100;background:var(--color-bg)}
header strong{font-family:var(--font-heading);font-size:18px;font-weight:600;letter-spacing:.02em;white-space:nowrap}
#site-picker{display:flex;align-items:center;gap:8px}#site-select{width:230px;min-height:32px;padding:4px 8px}
.session-controls{display:flex;align-items:center;gap:12px;margin-left:auto;font-size:13px;color:var(--color-neutral-700)}
main{width:100%;min-width:0;box-sizing:border-box;padding:calc(24px * var(--ui-scale))}
#app-layout.with-sidebar{display:grid;grid-template-columns:calc(216px * var(--ui-scale)) minmax(0,1fr)}
#sidebar{min-width:0;border-right:1px solid var(--color-divider);padding:6px 8px 24px;align-self:start;min-height:calc(var(--ui-viewport-height) - 57px);position:sticky;top:57px}
#catalog{display:block;width:100%;height:1px;border:0}#catalog-page{min-width:0}
body.catalog-modal-open{position:fixed;width:100%;overflow:hidden}
#catalog.catalog-modal-frame{position:fixed;inset:0;width:100%;height:100dvh!important;z-index:1000;background:transparent}
main:has(#catalog-page:not([hidden])){padding:calc(22px * var(--ui-scale)) calc(26px * var(--ui-scale)) calc(64px * var(--ui-scale))}
.navgroup{font-family:var(--font-body);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-neutral-600);padding:14px 10px 5px;margin:0}
.navitem{display:block;box-sizing:border-box;width:100%;text-align:left;border:0;background:transparent;font-family:var(--font-body);font-size:13.5px;padding:7px 10px;color:var(--color-neutral-800);text-decoration:none;cursor:pointer}
.navitem:hover:not(:disabled){background:var(--color-neutral-200)}
.navitem[aria-current=page]{background:var(--color-accent-100);color:var(--color-accent-800);box-shadow:inset 2px 0 0 var(--color-accent)}
.navitem:disabled{opacity:.5;cursor:not-allowed}.navitem:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}
.nav-note{font-size:11px;color:var(--color-neutral-600);padding:12px 10px;line-height:1.5}
.page-heading{margin-bottom:24px}.page-heading h1{margin:0 0 8px}.prototype-links{display:flex;gap:20px;margin-top:12px;font-size:13px}
.section-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;flex-wrap:wrap}.section-heading h2{margin-bottom:6px}.section-heading p{margin:0}
.order-create{padding:16px;border:1px solid var(--color-divider);background:var(--color-neutral-100)}
.search-field{flex:1;min-width:200px}
.orders-toolbar{margin:20px 0}.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.filter-chips button{font:inherit;font-size:13px;padding:7px 12px;border:1px solid var(--color-divider);background:transparent;color:var(--color-neutral-700);cursor:pointer;border-radius:4px}.filter-chips button[aria-pressed=true]{background:var(--color-accent-100);border-color:var(--color-accent);color:var(--color-accent-800)}.filter-chips button:hover{background:var(--color-neutral-200)}
.date-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.date-toolbar label{font-size:12px}.date-toolbar input{min-width:130px;width:140px}
.orders-table{font-size:12px}.orders-table td,.orders-table th{padding:12px 8px}.orders-table td{font-variant-numeric:tabular-nums}.orders-table tbody tr:hover{background:var(--color-neutral-100)}.orders-table .cell-money{text-align:right;white-space:nowrap;font-weight:600}.orders-table .cell-number{color:var(--color-accent-700);white-space:nowrap;font-weight:600}.orders-table .cell-services{min-width:135px;max-width:200px}.orders-table .cell-muted{color:var(--color-neutral-500)}
/* Orders «Заказы»: числа без px задают пропорции столбцов. */
.orders-table{
  --width-order:130;          /* Заказ */
  --width-site:210;           /* Мойка */
  --width-time:170;           /* Время */
  --width-car:210;            /* Автомобиль */
  --width-client:170;         /* Клиент */
  --width-services:230;       /* Услуги */
  --width-box:160;            /* Бокс */
  --width-worker:180;         /* Сотрудник */
  --width-amount:160;         /* Сумма */
  --width-payment:160;        /* Оплата */
  --width-status:140;         /* Статус */
  --width-action:130;         /* Действия */
  --orders-column-total:calc(var(--width-order) + var(--width-site) + var(--width-time) + var(--width-car) + var(--width-client) + var(--width-services) + var(--width-box) + var(--width-worker) + var(--width-amount) + var(--width-payment) + var(--width-status) + var(--width-action));
}
.tw .responsive-table.orders-table{width:100%!important;min-width:0!important;table-layout:fixed!important}
.orders-table th:nth-child(1){width:calc(100% * var(--width-order) / var(--orders-column-total))}
.orders-table th:nth-child(2){width:calc(100% * var(--width-site) / var(--orders-column-total))}
.orders-table th:nth-child(3){width:calc(100% * var(--width-time) / var(--orders-column-total))}
.orders-table th:nth-child(4){width:calc(100% * var(--width-car) / var(--orders-column-total))}
.orders-table th:nth-child(5){width:calc(100% * var(--width-client) / var(--orders-column-total))}
.orders-table th:nth-child(6){width:calc(100% * var(--width-services) / var(--orders-column-total))}
.orders-table th:nth-child(7){width:calc(100% * var(--width-box) / var(--orders-column-total))}
.orders-table th:nth-child(8){width:calc(100% * var(--width-worker) / var(--orders-column-total))}
.orders-table th:nth-child(9){width:calc(100% * var(--width-amount) / var(--orders-column-total))}
.orders-table th:nth-child(10){width:calc(100% * var(--width-payment) / var(--orders-column-total))}
.orders-table th:nth-child(11){width:calc(100% * var(--width-status) / var(--orders-column-total))}
.orders-table th:nth-child(12){width:calc(100% * var(--width-action) / var(--orders-column-total))}
.tw .orders-table .order-actions button{text-align:center!important}
.order-plate{display:inline-block;white-space:nowrap;font:600 13px ui-monospace,monospace;letter-spacing:.04em;color:var(--color-text)}.cell-sub{margin-top:5px;font-size:11px;color:var(--color-neutral-600)}
.order-chip{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border:1px solid var(--color-divider);border-radius:4px;padding:4px 7px;font-size:11px;background:var(--color-neutral-100);color:var(--color-neutral-700)}.order-chip.chip-new{background:#fff7e7;border-color:#e6d1a2;color:#806021}.order-chip.chip-progress{background:var(--color-accent-100);border-color:var(--color-accent-300);color:var(--color-accent-800)}.order-chip.chip-paid{background:#eaf4ef;border-color:#b9d7c6;color:#35674d}.order-chip.chip-cancelled{background:#f8eeee;border-color:#e5c7c7;color:#8b4c4c}.orders-table .order-actions{min-width:110px}.orders-table .order-actions button{display:block;font-size:11px;padding:4px 7px;min-height:26px;width:100%}
.orders-pagination{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:16px}.orders-pagination span{margin-right:auto}.other-plate{display:flex;align-items:center;font-size:12px}.other-plate input{min-width:0;width:16px}.plate-input{text-transform:uppercase;font-family:ui-monospace,monospace}
.panel{padding:20px;margin-bottom:24px}h2{margin:0 0 16px}
.filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:16px 0}
label{display:grid;gap:6px;font-size:14px}input,select{min-width:150px}.cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--color-divider);margin:20px 0}
.cell{background:var(--color-bg);padding:16px}.ck,.cs{color:var(--color-neutral-600);font-size:12px}.cv{font-size:28px;font-variant-numeric:tabular-nums;font-weight:600}
.tw{overflow-x:auto}.table{width:100%}.table td{vertical-align:middle}.table button{margin:3px}
#message:empty{display:none}#message:not(:empty){padding:10px 14px;margin:0 0 18px;border:1px solid var(--color-divider)}#login{max-width:430px;margin:40px auto}#login label{margin:16px 0}
dialog{border:1px solid var(--color-divider);background:var(--color-bg);color:var(--color-text);max-width:440px;width:calc(100% - 60px);padding:24px}dialog label{margin:16px 0}dialog::backdrop{background:#0007}
[hidden]{display:none!important}button:disabled{opacity:.5;cursor:wait}a{color:var(--color-accent-700)}
@media(max-width:760px){#app-layout.with-sidebar{grid-template-columns:1fr}#sidebar{min-height:0;border-right:0;border-bottom:1px solid var(--color-divider)}#navigation{display:flex;overflow-x:auto;gap:12px;padding-bottom:8px}#navigation section{min-width:175px}.nav-note{margin:0;padding:4px 10px}main{padding:calc(16px * var(--ui-scale))}.panel{padding:14px}.filters>label{flex:1;min-width:150px}header{padding:12px 16px;gap:12px}}
.order-card-columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);gap:24px;align-items:start}
.order-card-actions{display:flex;gap:8px;flex-wrap:wrap}.order-stages{display:flex;gap:10px;margin:14px 0 20px;flex-wrap:wrap}.order-stage{flex:1 1 150px;padding:12px;border:1px solid var(--color-divider)}.order-stage.done{background:var(--color-accent-100);color:var(--color-accent-800)}.order-facts{padding:14px 16px;margin-bottom:20px}.order-fact{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dotted var(--color-divider);font-size:13px}.order-fact strong{text-align:right}.order-edit{display:grid;gap:12px}.order-edit-lines{display:grid;gap:8px}.order-edit-line{display:grid;grid-template-columns:minmax(120px,1fr) 75px auto;gap:8px}.order-row{cursor:pointer}.order-row:hover{background:var(--color-accent-100)}.order-row:focus-visible{outline:2px solid var(--color-accent)}#order-card-page .cells{grid-template-columns:repeat(3,minmax(0,1fr))}#order-card-page .cv{font-size:22px}#orders-page[aria-busy=true]{cursor:progress}
@media(max-width:950px){.order-card-columns{grid-template-columns:1fr}}
.order-card-columns>div{min-width:0}.order-fact{overflow-wrap:anywhere}.order-fact>strong{min-width:0}
@media(max-width:600px){#order-card-page .cells{grid-template-columns:1fr}#order-card-page .section-heading{align-items:flex-start}.order-edit-line input{min-width:0}.order-edit-line select{min-width:0}}
@media(prefers-reduced-motion:no-preference){.order-row,button{transition:background-color .12s ease,color .12s ease}.order-stage{transition:background-color .16s ease}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.order-list-tools{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.order-list-tools .search-field{display:flex;align-items:center;gap:0;font-size:0}.order-list-tools .search-field input{font-size:14px;max-width:220px}.order-list-tools .filter-chips{margin:0}.orders-toolbar>.filters:empty{display:none}
.access-form{display:grid;gap:10px}.access-form label{margin:4px 0}.access-permission{display:flex;align-items:center;gap:9px}.access-permission input{min-width:0;width:16px;height:16px}.access-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--color-divider)}.access-org{padding:16px;margin:16px 0}.device-secret{display:block;overflow-wrap:anywhere;padding:12px;background:var(--color-accent-100)}#organization-picker{display:flex;align-items:center;gap:8px;font-size:12px}.chip-ready{background:#fff1ca;color:#715013}

.tw .responsive-table.orders-table :is(th,td,th *,td *),.tw .responsive-table.orders-table :is(th,td).table-amount,.tw .responsive-table.orders-table :is(th,td).table-amount *{text-align:left!important}
.site-create-form{display:flex;align-items:end;gap:16px;flex-wrap:wrap}
.site-create-form>label{flex:1 1 280px;min-width:0;margin:0;display:grid;gap:8px}
.site-create-form .input{width:100%;min-width:0}
.admin-settings{padding:24px;margin-bottom:18px}
.access-role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:24px 0}
.access-role-card{padding:18px}.access-role-card h3{margin:6px 0}.access-role-card p{margin:0;font-size:13px}
.access-matrix{padding:4px 14px 10px;margin:12px 0 28px;max-width:100%}
.permission-matrix th:not(:first-child),.permission-matrix td:not(:first-child),.permission-editor th:last-child,.permission-editor td:last-child{text-align:center}
.permission-matrix th{min-width:120px}.permission-matrix th:first-child{min-width:210px}.permission-matrix small{display:block;font-weight:400}
.permission-matrix input[type=checkbox],.permission-editor input[type=checkbox]{width:18px;height:18px;min-width:0;accent-color:var(--color-accent);cursor:pointer}
.permission-matrix input:disabled{cursor:default}
.access-form .tw table.permission-editor.responsive-table{width:max-content!important;min-width:0!important;table-layout:auto!important}
.access-form .tw table.permission-editor.responsive-table th{white-space:nowrap!important}
.access-form .tw table.permission-editor.responsive-table :is(th,td):last-child{text-align:center!important}
@media(max-width:600px){.admin-settings{padding:16px}.site-create-form .btn{width:100%}.access-role-cards{grid-template-columns:1fr}}

.order-create-submit{display:flex;flex-direction:column;gap:8px;align-items:stretch}

.order-edit-line .custom-service-name,.order-edit-line .custom-service-price{grid-column:1/-1;min-width:0}
