:root{--bg:#f3f5f8;--surface:#fff;--soft:#edf2f8;--border:#d4dde8;--fg:#18263c;--muted:#52647b;--accent:#175cd3;--accent-fg:#fff;--blue:#174ea6;--blue-bg:#eaf1ff;--ok:#146439;--ok-bg:#e8f5ed;--warn:#855000;--warn-bg:#fff3db;--bad:#b42318;--bad-bg:#ffeded;--purple:#6941a5;--purple-bg:#f2edff;--gray:#46556b;--gray-bg:#e9edf2;--radius:12px;--control:44px;--shadow:0 12px 36px #15273d20;--status-preparation:#6b7686;--status-in_progress:#175cd3;--status-partially_shipped:#b45309;--status-shipped:#146439;--status-closed:#5b6b80;--status-fg:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Arial,Segoe UI,sans-serif}:root[data-theme=dark]{--bg:#101722;--surface:#192332;--soft:#223044;--border:#3b4a60;--fg:#eef3fa;--muted:#b4c2d4;--accent:#9bc2ff;--accent-fg:#10213c;--blue:#a8caff;--blue-bg:#203653;--ok:#91dfb3;--ok-bg:#173c31;--warn:#ffd28a;--warn-bg:#42331a;--bad:#ffb3ab;--bad-bg:#462629;--purple:#d2b9ff;--purple-bg:#352947;--gray:#c0ccdb;--gray-bg:#2c3747;--shadow:0 12px 36px #0006;--status-preparation:#7a8699;--status-in_progress:#2f6fdc;--status-partially_shipped:#b45309;--status-shipped:#1f7a4a;--status-closed:#56657a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#101722;--surface:#192332;--soft:#223044;--border:#3b4a60;--fg:#eef3fa;--muted:#b4c2d4;--accent:#9bc2ff;--accent-fg:#10213c;--blue:#a8caff;--blue-bg:#203653;--ok:#91dfb3;--ok-bg:#173c31;--warn:#ffd28a;--warn-bg:#42331a;--bad:#ffb3ab;--bad-bg:#462629;--purple:#d2b9ff;--purple-bg:#352947;--gray:#c0ccdb;--gray-bg:#2c3747;--shadow:0 12px 36px #0006;--status-preparation:#7a8699;--status-in_progress:#2f6fdc;--status-partially_shipped:#b45309;--status-shipped:#1f7a4a;--status-closed:#56657a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:var(--bg);color:var(--fg);margin:0;line-height:1.4}.page{max-width:1280px;margin:0 auto;padding:16px 24px}@media (width<=720px){.page{padding:12px 16px}}.page.narrow{max-width:420px;padding-top:48px}.app-top{z-index:30;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex;position:sticky;top:0}.app-brand{color:var(--fg);letter-spacing:.5px;align-items:center;gap:10px;font-weight:700;text-decoration:none;display:flex}.app-logo{background:var(--accent);width:34px;height:34px;color:var(--accent-fg);letter-spacing:0;border-radius:8px;place-items:center;font-size:13px;font-weight:700;display:grid}.app-user{min-height:var(--control);color:var(--fg);align-items:center;gap:10px;text-decoration:none;display:flex}.app-user small{color:var(--muted)}.app-user-text{white-space:nowrap}.app-brand{flex:none}@media (width<=1100px){.app-user{min-width:0}.app-user-text{text-overflow:ellipsis;min-width:0;padding-right:2px;overflow:hidden}}.app-layout{grid-template-columns:236px minmax(0,1fr);min-height:calc(100vh - 58px);display:grid}.app-side{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:4px;padding:18px 10px;display:flex}.app-side a,.app-side button,.app-more a,.app-more button{width:100%;min-height:var(--control);color:var(--muted);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px;font-size:15px;text-decoration:none;display:flex}.app-side a:hover,.app-side button:hover,.app-more a:hover,.app-more button:hover{background:var(--soft);color:var(--fg)}.app-side a.active,.app-more a.active{background:var(--blue-bg);color:var(--blue);font-weight:700}.nav-label{color:var(--muted);letter-spacing:.8px;text-transform:uppercase;margin:16px 10px 6px;font-size:11px}.app-side .side-bottom{border-top:1px solid var(--border);margin-top:auto;padding-top:12px}.app-main{min-width:0}.app-bottom,.app-more{display:none}@media (width<=860px){.app-top{padding:8px 16px}.app-user .app-user-text{display:none}.app-layout{grid-template-columns:1fr}.app-side{display:none}.app-main{padding-bottom:76px}.app-bottom{z-index:30;padding:6px 4px calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0}.app-bottom a,.app-bottom button{min-height:52px;color:var(--muted);background:0 0;border:0;align-content:center;justify-items:center;gap:3px;padding:4px 2px;font-size:11px;text-decoration:none;display:grid}.app-bottom a.active,.app-bottom button.active{color:var(--accent);font-weight:700}.app-more.open{left:0;right:0;bottom:calc(68px + env(safe-area-inset-bottom));z-index:29;background:var(--surface);border-top:1px solid var(--border);box-shadow:var(--shadow);flex-direction:column;gap:2px;padding:8px;display:flex;position:fixed}}.avatar{background:var(--soft);width:36px;height:36px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:inline-grid;overflow:hidden}.avatar.small{width:26px;height:26px;font-size:10px}.avatar.large{width:48px;height:48px;font-size:15px}.person{align-items:center;gap:8px;min-width:0;display:inline-flex}.spacer{flex:1}.form{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.form.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:end;display:grid}.form.inline{flex-flow:wrap;align-items:end}label{flex-direction:column;gap:4px;font-size:14px;display:flex}input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:8px;padding:10px 12px;font-size:16px}input[aria-invalid=true]{border-color:var(--bad)}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);cursor:pointer;border-radius:8px;padding:10px 16px}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--accent);background:0 0}button.link-button{color:var(--muted);background:0 0;border:none;padding:0}.card{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-bottom:24px;padding:16px}.link-text{word-break:break-all;background:var(--bg);border-radius:6px;padding:8px;font-family:ui-monospace,monospace}.people{margin:0;padding:0;list-style:none}.people li{border-bottom:1px solid var(--border);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.people li>div:first-child{flex:1;min-width:0}.people li.inactive>:not(.row-actions,.action-menu){opacity:.55}.people li>.row-actions{align-items:center;gap:8px;display:flex}.actions{flex-wrap:wrap;gap:8px;display:flex}.facts{grid-template-columns:max-content 1fr;gap:4px 16px;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.muted{color:var(--muted);font-size:14px}.ok{color:var(--ok)}.bad{color:var(--bad)}select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:8px;padding:10px 12px;font-size:16px}button.danger{border-color:var(--bad);color:var(--bad)}.tree{border-left:2px solid var(--border);margin:0;padding-left:20px;list-style:none}.tree.top{border-left:none;padding-left:0}.dept{margin:8px 0}.dept-head{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.dept-head>div:first-child{flex:1;min-width:0}.dept-head[draggable=true]{cursor:grab}.dept-head.drop{outline:2px dashed var(--accent)}.dept-head h3{margin:0;font-size:16px}.dept-head h3.root-name{font-size:18px}.members,.teams{margin:4px 0 4px 12px;padding:0;list-style:none}.members li,.teams li{padding:4px 0}button.person{color:var(--fg);text-align:left;background:0 0;border:none;padding:0}button.person:hover{color:var(--accent)}.tag{background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-left:6px;padding:0 6px;font-size:12px;display:inline-block}.modal-backdrop{z-index:10;background:#00000073;justify-content:center;align-items:flex-start;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--bg);border-radius:12px;width:100%;max-width:520px;margin-top:5vh;padding:16px}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head h2{margin:0;font-size:18px}.picker{border:1px solid var(--border);border-radius:8px;max-height:240px;overflow-y:auto}label.check{flex-direction:row;align-items:center;gap:8px;padding:4px 0}.action-menu{position:relative}button.icon{min-width:44px;min-height:40px;padding:0 10px;font-size:20px;line-height:1}.action-menu-list{z-index:45;background:var(--bg);border:1px solid var(--border);border-radius:10px;min-width:240px;margin:0;padding:4px 0;list-style:none;position:fixed;top:0;left:0;box-shadow:0 8px 24px #00000026}.action-menu-list button{text-align:left;width:100%;color:var(--fg);background:0 0;border:none;border-radius:0;padding:12px 16px;display:block}.action-menu-list button:hover{background:var(--surface)}.action-menu-list button.danger{color:var(--bad)}.message-text{white-space:pre-wrap;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;font-family:inherit}.status{font-size:14px}.search{max-width:420px}details.card summary{cursor:pointer;list-style:revert}details.card[open] summary{margin-bottom:12px}@media (pointer:coarse){button.small{min-height:40px}button.person{min-height:36px}}.only-mobile{display:none}@media (width<=720px){.only-mobile{display:inline}.only-desktop{display:none}}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:12px;display:flex;overflow-x:auto}.tab{color:var(--muted);white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;padding:10px 14px}.tab.active{color:var(--fg);border-bottom-color:var(--accent)}.toolbar{align-items:center;margin-bottom:8px}textarea{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:8px;padding:10px 12px;font-size:16px}.events{margin:0 0 12px;padding:0;list-style:none}.event{border-bottom:1px solid var(--border);padding:10px 0}.changes{margin:6px 0 0;font-size:14px}.changes>div{flex-wrap:wrap;gap:8px;display:flex}.changes dt{color:var(--muted)}.changes dt:after{content:":"}.changes dd{margin:0}details.history{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}details.history summary{cursor:pointer;font-weight:600}.filters,.form.grid.filters{flex-flow:wrap;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.filters>label{flex:0 220px;margin:0}.filters>label.grow{flex:280px;max-width:520px}.filters input:not([type=checkbox]):not([type=radio]),.filters select,.toolbar input[type=search]{box-sizing:border-box;height:var(--control);margin:0}.toolbar{align-items:center}.steps{flex-wrap:wrap;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.steps li{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:14px}.steps li.current{border-color:var(--accent);color:var(--fg);font-weight:600}.steps li.done{color:var(--ok)}.wizard-nav{justify-content:flex-end;margin-top:16px}button.danger-fill{background:var(--bad);border-color:var(--bad);color:#fff}.tag.bad{color:var(--bad);border-color:var(--bad)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.project-link{color:var(--fg);text-decoration:none}.project-link:hover{color:var(--accent)}.due{white-space:nowrap;font-size:14px}.status-line{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.tag.status-in_progress{color:var(--accent);border-color:var(--accent)}.tag.status-shipped{color:var(--ok);border-color:var(--ok)}.checklist{margin:0 0 12px;padding:0;list-style:none}.checklist li{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0;display:flex}.done-text{color:var(--muted);text-decoration:line-through}.pre-wrap{white-space:pre-wrap}section.placeholder{margin-top:16px}.dept.archived>.dept-head{opacity:.6;border-style:dashed}.confirm-message{white-space:pre-wrap}.confirm-actions{justify-content:flex-end}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;margin-bottom:12px}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px}.table th{color:var(--muted);font-size:14px;font-weight:600}.table tfoot th{color:var(--fg)}.table .num{text-align:right;white-space:nowrap}.table tr.done-row s{color:var(--muted)}.check-mark{font-weight:700}.partial{color:var(--warn);font-weight:600}input.part-input{width:100%;min-width:220px}input.qty{text-align:right;width:90px}.inline-edit{gap:4px;display:inline-flex}.row-actions{white-space:nowrap;text-align:right}.row-actions .link-button{margin-left:8px}label.grow{flex:1;min-width:220px}.form.grid.compact{margin-bottom:0}.shipments{margin:0;padding:0;list-style:none}.shipments li{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.shipments li.inactive{opacity:.55}.small-text{font-size:13px}.tag.status-partially_shipped{color:var(--warn);border-color:var(--warn)}.status-badge{color:var(--status-fg);background:var(--status-in_progress);border-radius:999px;padding:6px 14px;font-size:16px;font-weight:600;display:inline-block}.status-badge.status-preparation{background:var(--status-preparation)}button.status-badge{cursor:pointer;border:0}button.status-badge:hover{filter:brightness(1.08)}.status-badge.status-partially_shipped{background:var(--status-partially_shipped)}.status-badge.status-shipped{background:var(--status-shipped)}.status-badge.status-closed{background:var(--status-closed)}.status-chain{color:var(--muted);flex-wrap:wrap;gap:4px;margin:0 0 16px;padding:0;font-size:13px;list-style:none;display:flex}.status-chain li+li:before{content:"→";color:var(--muted);margin-right:4px}.status-chain li.passed{color:var(--fg)}.status-chain li.current{color:var(--status-in_progress);font-weight:700}.status-chain li.current.status-partially_shipped{color:var(--status-partially_shipped)}.status-chain li.current.status-shipped{color:var(--status-shipped)}.status-chain li.current.status-closed{color:var(--status-closed)}@media (width<=720px){.table.stack-on-phone thead{display:none}.table.stack-on-phone tr{border-bottom:1px solid var(--border);padding:8px 0;display:block}.table.stack-on-phone td,.table.stack-on-phone th{border:none;justify-content:space-between;gap:12px;padding:2px 0;display:flex}.table.stack-on-phone td:first-child,.table.stack-on-phone th:first-child{padding-bottom:4px;font-weight:600;display:block}.table.stack-on-phone [data-label]:before{content:attr(data-label);color:var(--muted);font-weight:400}.table.stack-on-phone .row-actions{justify-content:flex-start}.table.stack-on-phone .row-actions .link-button{margin:0 16px 0 0;padding:8px 0}}.table.logins tr.failed td:first-child{border-left:3px solid var(--bad);padding-left:6px}.update-banner{z-index:50;background:var(--surface);border-bottom:1px solid var(--accent);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;padding:8px 16px;display:flex;position:sticky;top:0}.update-banner button{padding:6px 14px}label.main-field{font-size:17px;font-weight:600}.field{flex-direction:column;gap:4px;display:flex}button.link-button.accent{color:var(--accent);cursor:pointer;text-decoration:underline}.card.note{border-color:var(--ok);justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.part-picker{flex-direction:column;gap:4px;display:flex;position:relative}.part-fields input,.part-fields select{width:100%;min-width:0}.part-fields{grid-template-columns:minmax(220px,3fr) minmax(130px,1fr) minmax(130px,1fr);gap:8px;display:grid}.part-picker.compact .part-fields{grid-template-columns:minmax(200px,2fr) minmax(110px,1fr) minmax(110px,1fr)}.suggestions button.exact{font-weight:700}.suggestions button.create{color:var(--accent)}.part-picker.compact .part-fields label{font-size:12px}@media (width<=720px){.part-fields,.part-picker.compact .part-fields{grid-template-columns:minmax(0,1fr)}}.suggestions{z-index:20;background:var(--bg);border:1px solid var(--border);border-radius:8px;max-height:240px;margin:2px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 6px 20px #00000026}.suggestions button{text-align:left;width:100%;color:var(--fg);background:0 0;border:none;border-radius:0;padding:8px 12px;display:block}.suggestions button:hover{background:var(--surface)}.warn-text{color:var(--warn)}.tag.warn{color:var(--warn);border-color:var(--warn)}.add-line{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.task-link{font-weight:600}.important{color:var(--bad);font-weight:700}.tag.task-status.status-blocked{color:var(--warn);border-color:var(--warn)}.tag.task-status.status-in_progress,.tag.task-status.status-review{color:var(--accent);border-color:var(--accent)}.tag.task-status.status-done{color:var(--ok);border-color:var(--ok)}.status-badge.task-status.status-blocked,.status-badge.task-status.status-postponed{background:var(--status-partially_shipped)}.status-badge.task-status.status-new{background:var(--status-closed)}.status-badge.task-status.status-in_progress,.status-badge.task-status.status-review{background:var(--status-in_progress)}.status-badge.task-status.status-done{background:var(--status-shipped)}.status-badge.task-status.status-cancelled{background:var(--status-closed);text-decoration:line-through}ul.links{margin:0 0 12px;padding:0;list-style:none}ul.links li{padding:4px 0}.card.warn{border-color:var(--warn)}.card.warn ul.links{margin:4px 0 0}fieldset.production{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;padding:12px;display:flex}.picker-search{max-width:560px;position:relative}.suggestions.static{box-shadow:none;position:static}.markdown{line-height:1.5}.markdown table{border-collapse:collapse}.markdown th,.markdown td{border:1px solid var(--border);padding:4px 8px}details.fold{border:1px solid var(--border);border-radius:8px;margin:8px 0;padding:4px 12px}details.fold summary{cursor:pointer;padding:4px 0;font-weight:600}body{font-size:15px;line-height:1.5}h1{letter-spacing:-.4px;margin:0 0 8px;font-size:26px;line-height:1.2}h2{font-size:19px;line-height:1.3}@media (width<=860px){h1{font-size:23px}}.page{padding:24px}@media (width<=860px){.page{padding:16px}}input,select,textarea{background:var(--surface);border-color:var(--border)}input:not([type=checkbox]):not([type=radio]),select{min-height:var(--control)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:not(.link-button){min-height:var(--control);justify-content:center;align-items:center;gap:7px;font-weight:700;display:inline-flex}button.secondary{background:var(--surface);border-color:var(--border);color:var(--fg);font-weight:400}button.secondary:hover:not(:disabled){background:var(--soft)}button.small{padding:8px 12px;font-size:14px}button.danger{background:var(--surface)}.card{background:var(--surface);border-color:var(--border);border-radius:var(--radius);padding:18px}.tabs{border-bottom-color:var(--border);margin-bottom:18px}.tab{min-height:var(--control);padding:12px 10px;font-weight:400}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.tag{border-radius:6px;font-weight:600}.table th{background:var(--soft)}.muted{color:var(--muted)}.segmented{border:1px solid var(--border);background:var(--soft);border-radius:10px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.segmented label{cursor:pointer;border-radius:8px;flex-direction:row;align-items:center;min-height:40px;padding:8px 14px;font-size:15px}.segmented label.active{background:var(--surface);color:var(--accent);font-weight:700;box-shadow:0 1px 3px #0000001f}.segmented input{opacity:0;pointer-events:none;position:absolute}.badge{white-space:nowrap;background:var(--gray-bg);color:var(--gray);border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.blue{background:var(--blue-bg);color:var(--blue)}.summary-bar{border-left:4px solid var(--gray);background:var(--surface);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin:8px 0 18px;padding:12px 16px;display:flex}.summary-bar.ok{border-left-color:var(--ok)}.summary-bar.bad{border-left-color:var(--bad)}.summary-bar.warn{border-left-color:var(--warn)}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=860px){.service-grid{grid-template-columns:1fr}}.card.service{margin:0}.service-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.service-head h2{margin:0;font-size:17px}.service-details summary{cursor:pointer;min-height:var(--control);color:var(--accent);align-items:center;display:flex}a.button-link{min-height:var(--control);border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:8px;align-items:center;padding:9px 14px;text-decoration:none;display:inline-flex}a.button-link:hover{background:var(--soft)}.counters{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}button.counter{text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--fg);grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:14px 16px;font-weight:400;display:grid}button.counter:hover{background:var(--soft)}.counter.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.counter-title{font-weight:600}.counter-value{grid-row:span 2;font-size:26px;font-weight:700}.counter-value.bad{color:var(--bad)}.counter-hint{color:var(--muted);font-size:13px}@media (width<=860px){.counters{grid-template-columns:1fr;gap:8px}}.home-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}@media (width<=1100px){.home-layout{grid-template-columns:1fr}}.home-layout .card{margin:0}.home-aside{flex-direction:column;gap:18px;display:flex}.home-aside h2{margin-top:0;font-size:17px}.task-group+.task-group{margin-top:8px}button.task-group-head{background:var(--soft);width:100%;color:var(--fg);text-align:left;border:0;border-radius:8px;justify-content:flex-start;padding:10px 12px;font-weight:700}.task-group-head .grow{flex:1}ul.home-tasks{margin:0;padding:0;list-style:none}.home-task{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 4px;display:flex}.home-task-main{min-width:0}.home-task-meta{flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:6px;font-size:14px;display:flex}ul.deadlines{margin:0;padding:0;list-style:none}ul.deadlines li{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;padding:10px 0;display:flex}.app-main.page{width:100%;max-width:1600px;margin:0 auto}.app-side svg,.app-more svg,.app-bottom svg{flex:none}.app-side button,.app-more button{justify-content:flex-start;font-weight:400}nav.app-bottom button{font-weight:400;display:grid}nav.app-bottom button.active{font-weight:700}.app-side a,.app-side button{white-space:nowrap}body{font-size:16px}.path-block{border:1px solid var(--border);border-radius:var(--radius);overflow-wrap:anywhere;margin:8px 0;padding:8px 12px}.task-items{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.task-items-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.task-items-scroll{max-height:60vh;overflow:auto}.task-items-scroll thead th{background:var(--surface);z-index:1;position:sticky;top:0}.home-aside{align-content:start;gap:16px;display:grid}.modal.wide{max-width:960px}.link-button:disabled{color:var(--muted);cursor:not-allowed;text-decoration:none}.disabled-hint{cursor:help}.take{flex-direction:column;align-items:flex-end;gap:4px;margin-top:4px;display:inline-flex}.for-line{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.rich-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.editor-toolbar{border-bottom:1px solid var(--border);z-index:2;background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:6px;display:flex;position:sticky;top:0}.editor-toolbar select{width:auto}.tool-group{flex-wrap:wrap;align-items:center;gap:2px;display:flex;position:relative}button.tool{min-width:var(--control);color:var(--fg);background:0 0;border:1px solid #0000;padding:0 8px;font-weight:400}button.tool.wide{gap:4px}button.tool:hover:not(:disabled){background:var(--soft)}button.tool.active{background:var(--blue-bg);color:var(--blue);border-color:var(--blue)}button.tool:disabled{opacity:.45;cursor:not-allowed}.swatch{border:1px solid var(--border);border-radius:50%;width:18px;height:18px;display:inline-block}.swatch.none{background:linear-gradient(135deg, transparent 45%, var(--bad) 45%, var(--bad) 55%, transparent 55%)}.spoiler-menu .menu{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:max-content;min-width:280px;box-shadow:var(--shadow);padding:4px;display:grid;position:absolute;top:100%;left:0}.spoiler-menu .menu button{text-align:left;white-space:nowrap;width:100%;color:var(--fg);background:0 0;justify-content:flex-start;font-weight:400}.spoiler-menu .menu button:hover{background:var(--soft)}.rich-content{overflow-wrap:anywhere;outline:none;min-height:140px;padding:8px 12px}.rich-content.view{min-height:0;padding:0}.rich-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--muted);float:left;pointer-events:none;height:0}.rich-content ul[data-type=taskList]{margin:4px 0;padding-left:0;list-style:none}.rich-content ul[data-type=taskList] li{align-items:flex-start;gap:10px;margin:2px 0;display:flex}.rich-content ul[data-type=taskList] li>label{flex:none;align-items:center;height:1.5em;display:inline-flex;position:relative}.rich-content ul[data-type=taskList] li>label:after{content:"";position:absolute;inset:calc(.75em - 22px) -12px}.rich-content ul[data-type=taskList] li>label input{cursor:pointer;width:20px;height:20px;min-height:0;margin:0}.rich-content ul[data-type=taskList] li>label input:disabled{cursor:default}.rich-content ul[data-type=taskList] li>div{flex:1;min-width:0;line-height:1.5}.rich-content ul[data-type=taskList] li>div>p{margin:0}.rich-content ul[data-type=taskList] li[data-checked=true]>div{color:var(--muted);text-decoration:line-through}.rich-content table{border-collapse:collapse;width:100%;margin:8px 0}.rich-content td,.rich-content th{border:1px solid var(--border);vertical-align:top;padding:6px 8px}.rich-content th{background:var(--soft);text-align:left}.rich-content .selectedCell{background:var(--blue-bg)}.spoiler.editing{border:1px dashed var(--border);border-radius:var(--radius);margin:8px 0;padding:8px 12px}.spoiler-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.spoiler-head input{flex:1;min-width:0;font-weight:700}.path-edit{flex-wrap:wrap;gap:8px;display:flex}.path-edit input{flex:160px;min-width:0}.path-edit input.grow{flex:3 260px}.description-diff{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:8px;display:grid}.description-diff>section{border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px}a.button-link.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:700}a.button-link.primary:hover{filter:brightness(1.08);background:var(--accent)}a.button-link.secondary{font-weight:700}.crumbs{flex-wrap:wrap;gap:4px;display:flex}.task-card{grid-template-columns:minmax(0,2fr) minmax(300px,1fr);align-items:start;gap:24px;display:grid}.task-main{min-width:0}.task-chat{flex-direction:column;height:calc(100vh - 270px);min-height:420px;padding:12px 14px;display:flex;position:sticky;top:72px}.pane-tabs{display:none}@media (width<=1100px){.task-card{grid-template-columns:minmax(0,1fr)}.task-chat{position:static}}@media (width<=860px){.pane-tabs{display:flex}.task-card.show-task .task-chat,.task-card.show-chat .task-main{display:none}}.requisites{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 16px;margin:12px 0 16px;display:grid}.requisites dt{color:var(--muted);font-size:13px}.requisites dd{overflow-wrap:anywhere;margin:2px 0 0}.requisites .badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.production-card{margin-bottom:16px}.production-card h2{margin-top:0}.progress-line{align-items:center;gap:12px;margin-bottom:8px;display:flex}.progress{background:var(--gray-bg);max-width:320px;height:10px;box-shadow:inset 0 0 0 1px var(--border);border-radius:5px;flex:1;overflow:hidden}.progress span{background:var(--ok);height:100%;display:block}.subtask-tree{margin:0;padding-left:0;list-style:none}.subtask-tree .subtask-tree{border-left:2px solid var(--border);margin-left:6px;padding-left:18px}.subtask{flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px 0;display:flex}.subtask-meta{flex-wrap:wrap;align-items:center;gap:4px 10px;display:inline-flex}.task-editor{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.task-editor>*{min-width:0}.editor-bar{z-index:3;background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;display:flex;position:sticky;top:58px}.editor-bar .grow{flex:1}textarea.title-input{border:none;border-bottom:2px solid var(--border);resize:vertical;field-sizing:content;overflow-wrap:anywhere;background:0 0;border-radius:0;width:100%;max-width:100%;min-height:0;padding:6px 0;font-size:24px;font-weight:700;line-height:1.3}textarea.title-input:focus-visible{border-bottom-color:var(--accent);outline:none}.requisites-row{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(270px,1.3fr);align-items:end;gap:12px;display:grid}@media (width<=1100px){.requisites-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.requisites-row{grid-template-columns:minmax(0,1fr)}}.assign-field{grid-template-columns:minmax(0,1fr);gap:4px;min-width:0;display:grid}.assign-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px;font-size:14px;display:flex}.segmented.small{border-radius:8px;gap:2px;max-width:100%;padding:2px}.segmented.small label{border-radius:6px;min-height:26px;padding:2px 8px;font-size:13px}.segmented.small label:has(input:checked){background:var(--surface);color:var(--accent);font-weight:700;box-shadow:0 1px 3px #0000001f}.segmented.small label:has(input:focus-visible){outline:2px solid var(--accent)}.editor-section{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;padding-top:12px;display:grid}.editor-section>*,.rich-editor{min-width:0}.editor-toolbar select{max-width:100%}.editor-section h2{margin:0}.editor-columns{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px 24px;display:grid}.parent-ref a{color:var(--muted)}.people-search{grid-template-columns:minmax(0,1fr);gap:6px;font-size:14px;display:grid}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip{border:1px solid var(--border);background:var(--soft);overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:2px 4px;font-size:14px;display:inline-flex}.chip button{min-width:28px;min-height:28px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.chip button:hover{background:var(--gray-bg);color:var(--bad)}.suggestions .empty{padding:8px 12px}.checklist-edit{gap:6px;margin:0;padding:0;list-style:none;display:grid}.checklist-edit li{grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.check-mark{color:var(--ok);font-weight:700}.part-fields>.part-add{align-self:end}.title-static{overflow-wrap:anywhere;margin:0;font-size:24px}.people-search input{width:100%}.suggestions button:not(.link-button){text-align:left;flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:0 4px;width:100%;min-height:40px;font-weight:400;display:flex}:root{--chat-font:17px}:root[data-chat-size=normal]{--chat-font:15px}:root[data-chat-size=xlarge]{--chat-font:20px}.chat-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding-bottom:8px;display:flex}.chat-head h2{margin:0;font-size:18px}.chat-offline{background:var(--warn-bg);color:var(--warn);border-radius:8px;margin:8px 0 0;padding:6px 10px;font-size:13px}.chat-feed{overscroll-behavior:contain;flex:1;min-height:0;padding:8px 2px;overflow-y:auto}.chat-empty{text-align:center;margin:24px 8px}.load-older{margin:4px auto 8px;display:flex}.chat-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.day-divider,.new-divider{color:var(--muted);align-items:center;gap:8px;margin:10px 0 6px;display:flex}.day-divider:before,.day-divider:after,.new-divider:before,.new-divider:after{content:"";border-top:1px solid var(--border);flex:1}.new-divider{color:var(--accent);font-weight:700}.new-divider:before,.new-divider:after{border-top-color:var(--accent)}.msg-event{background:var(--gray-bg);max-width:92%;color:var(--gray);text-align:center;overflow-wrap:anywhere;border-radius:999px;justify-self:center;margin:6px 0;padding:3px 12px;font-size:14px}.msg-event b{color:var(--fg);font-weight:600}.msg{grid-template-columns:26px minmax(0,1fr);gap:8px;margin-top:8px;display:grid}.msg.repeat{margin-top:2px}.msg.repeat .msg-body,.msg.mine .msg-body{grid-column:2}.msg.mine{grid-template-columns:26px minmax(0,1fr)}.msg-body{min-width:0}.msg-head{font-size:calc(var(--chat-font) - 2px);align-items:baseline;gap:8px;display:flex}.msg-head b{font-weight:700}.msg-head .small-text,.msg-readers,.day-divider,.new-divider{font-size:calc(var(--chat-font) - 4px)}.msg-text{background:var(--soft);white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font-size:var(--chat-font);border-radius:10px;margin-top:2px;padding:10px 14px;line-height:1.4;display:inline-block;position:relative}.msg-text .small-text{font-size:calc(var(--chat-font) - 4px)}.msg.mine .msg-text{background:var(--blue-bg)}.msg-text.deleted{border:1px dashed var(--border);color:var(--muted);background:0 0;font-style:italic}.msg.pending .msg-text{opacity:.7}.msg-failed{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:2px;display:flex}.msg-readers{margin-top:2px}.msg-menu{vertical-align:middle;align-items:center;margin-left:6px;display:inline-flex;position:relative}.msg-menu>.link-button{min-height:24px;color:var(--muted);padding:0 4px}.msg-menu{visibility:hidden}.msg:hover .msg-menu,.msg:focus-within .msg-menu,.msg.tapped .msg-menu{visibility:visible}.msg-menu:has(>[aria-expanded=true]){visibility:visible}@media (hover:none){.msg-menu>.link-button{min-width:44px;min-height:36px}}.msg-popover{z-index:10;border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:10px;min-width:190px;padding:4px;font-style:normal;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0000002e}.msg-popover.up{top:auto;bottom:calc(100% + 4px)}.msg-popover.left{left:0;right:auto}.msg-popover button:not(.link-button){min-height:40px;color:var(--fg);background:0 0;border:0;border-radius:6px;justify-content:flex-start;padding:6px 10px;font-weight:400}.msg-popover button:not(.link-button):hover,.msg-popover button:not(.link-button):focus-visible{background:var(--soft)}.msg-popover button.danger{color:var(--bad)}.msg-popover>span{padding:4px 10px 6px}.msg-edit{gap:6px;display:grid}.msg-edit textarea{width:100%;min-height:60px}.chat-compose{border-top:1px solid var(--border);gap:4px;padding-top:8px;display:grid}.chat-compose p{margin:0}.compose-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:6px;display:grid}.compose-row textarea{resize:none;field-sizing:content;width:100%;min-height:44px;max-height:160px;font-size:var(--chat-font);line-height:1.4}button.icon-button:not(.link-button){min-width:44px;padding:0 10px}.chat-readonly{border-top:1px solid var(--border);margin:0;padding-top:8px}.tag.chat-unread{color:var(--accent);border-color:var(--accent);font-weight:700}@media (width<=1100px){.task-chat{height:min(80vh,720px)}}@media (width<=860px){.task-chat{height:calc(100dvh - 200px);min-height:320px;scroll-margin-top:66px}.task-card.show-chat{padding-bottom:32px}}.members li{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}button.person:not(.link-button){text-align:left;flex-wrap:wrap;justify-content:flex-start;gap:4px 8px;font-weight:400}.badge.gray{background:var(--gray-bg);color:var(--gray)}.person-cell{align-items:center;gap:10px;min-width:0;display:flex}.person-cell>span:last-child{overflow-wrap:anywhere;min-width:0}.person-sub{display:block}.table.employees td{vertical-align:middle}.table.employees td.row-actions{white-space:nowrap;text-align:right}.table.employees td.row-actions>*{vertical-align:middle;margin-left:8px;display:inline-flex}.table.employees .action-menu>button:not(.link-button){min-width:34px;min-height:34px;padding:0 8px}.table.employees tr.inactive td{opacity:.75}.form.invite-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px 16px;margin:12px 0 0;display:grid}.invite-grid input,.invite-grid select{width:100%;min-width:0;height:44px}.invite-foot{grid-column:1/-1;justify-content:space-between;align-items:flex-end;gap:12px 24px;display:flex}.invite-foot p{margin:0 0 4px}.invite-foot button{white-space:nowrap;min-width:160px}@media (width<=1100px){.form.invite-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.form.invite-grid{grid-template-columns:minmax(0,1fr)}.invite-foot{flex-direction:column;align-items:stretch}.invite-foot button{width:100%}}.invite-brand{letter-spacing:.5px;align-items:center;gap:10px;margin:8px 0 20px;font-weight:700;display:flex}@media (width<=720px){.table.employees tr{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;padding:10px 0;display:grid}.table.employees td,.table.employees td:first-child{grid-column:1;padding:0;font-weight:400;display:block}.table.employees td[data-label]:before{content:none}.table.employees td[data-label=Отдел],.table.employees td[data-label=Статус]{padding-left:46px;font-size:13px}.table.employees td[data-label=Отдел]{color:var(--muted)}.table.employees td[data-label=Статус] .person-sub{margin-left:6px;display:inline}.table.employees td[data-label=Последний\ вход]{display:none}.table.employees td.row-actions{grid-area:1/2/span 3}.table.employees td.row-actions>button.secondary{display:none}}.roles-layout{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.roles-list{gap:8px;padding:10px;display:grid}.roles-list ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}button.role-item:not(.link-button){width:100%;min-height:52px;color:var(--fg);text-align:left;background:0 0;border:0;border-radius:8px;justify-content:start;justify-items:start;gap:2px;padding:8px 10px;font-weight:400;display:grid}button.role-item:not(.link-button):hover{background:var(--soft)}button.role-item.active:not(.link-button){background:var(--blue-bg)}.role-name{font-weight:700}.role-panel{min-width:0}.role-editor{gap:12px;display:grid}.role-head{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;display:flex}.role-head .grow{flex:1;min-width:200px}.role-head-actions{flex-wrap:wrap;gap:8px;display:flex}.perm-groups{gap:6px;display:grid}.perm-group{border:1px solid var(--border);border-radius:10px;padding:2px 10px}button.perm-group-head:not(.link-button){width:100%;min-height:46px;color:var(--fg);background:0 0;border:0;justify-content:flex-start;padding:4px 0}.perm-group-head .grow{text-align:left;flex:1}.check.perm{align-items:flex-start;padding:6px 0 8px 26px}.perm-note{display:block}.role-diff ul{margin:6px 0 0;padding-left:0;list-style:none}.role-diff li.ok{color:var(--ok)}.role-diff li.bad{color:var(--bad)}.role-actions{background:var(--surface);border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:10px 0 4px;display:flex;position:sticky;bottom:0}.roles-layout .only-mobile{display:none}@media (width<=860px){.roles-layout{grid-template-columns:minmax(0,1fr)}.roles-layout.show-list .role-panel,.roles-layout.show-role .roles-list{display:none}.roles-layout .only-mobile{justify-self:start;display:inline-flex}.role-actions{bottom:76px}}.journal-filters{gap:10px;margin:8px 0 16px;display:grid}.journal-search{align-items:center;gap:8px;display:flex}.journal-search input{width:100%}.journal-filter-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.journal-filter-row input,.journal-filter-row select{width:100%;min-width:0;height:44px}button.filters-toggle:not(.link-button){display:none}.journal-day-title{color:var(--muted);text-transform:none;margin:18px 0 6px;font-size:14px}.journal-feed{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.journal-row{border-bottom:1px solid var(--border);grid-template-columns:26px minmax(0,1fr);gap:10px;padding:10px 0;display:grid}.journal-row.failed .journal-summary{color:var(--bad)}.journal-main{overflow-wrap:anywhere;min-width:0}.journal-line{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.journal-time{flex:none}.journal-main .changes{margin-top:6px}@media (width<=860px){button.filters-toggle:not(.link-button){flex:none;display:inline-flex}.journal-filter-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:none}.journal-filter-row.open{display:grid}}.journal-search label,.journal-search input{min-width:0}@media (width<=420px){.journal-filter-row,.journal-filter-row.open{grid-template-columns:minmax(0,1fr)}}input:not([type=checkbox]):not([type=radio]):disabled,select:disabled,textarea:disabled{background:var(--soft);color:var(--muted);cursor:not-allowed}.role-name-hint{margin:-6px 0 0}.page-sub{margin:2px 0 0}.project-filters{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);align-items:end;gap:12px;display:grid}.project-filters input,.project-filters select{width:100%;min-width:0;height:44px}.table.dense td{vertical-align:middle}.table.dense tr.inactive td{opacity:.75}.table .nowrap{white-space:nowrap}.projects-table .project-link,.project-cards .project-link{color:var(--accent);font-weight:600}.projects-table .project-link:hover,.project-cards .project-link:hover{text-decoration:underline}.shipped{gap:4px;min-width:110px;display:grid}.shipped-qty{white-space:nowrap;font-variant-numeric:tabular-nums}.shipped-bar{background:var(--gray-bg);max-width:140px;height:4px;box-shadow:inset 0 0 0 1px var(--border);border-radius:2px;display:block;overflow:hidden}.shipped-bar span{background:var(--ok);height:100%;display:block}.project-cards{margin:0;padding:0;list-style:none;display:none}.project-cards .card{gap:6px;margin-bottom:10px;padding:12px 14px;display:grid}.project-cards .card.inactive{opacity:.75}.project-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.project-card-head .tag{flex:none}@media (width<=1000px){.projects-table{display:none}.project-cards{display:block}}@media (width<=720px){.project-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.project-filters .grow{grid-column:1/-1}}.project-blocks{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.card.fold{margin:0;padding:6px 16px}.card.fold>div:last-child:not(.fold-head){padding-bottom:12px}.fold-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}button.fold-toggle:not(.link-button){min-height:46px;color:var(--fg);text-align:left;background:0 0;border:0;flex:auto;justify-content:flex-start;padding:4px 0}.fold-toggle h2{margin:0;font-size:17px}.fold-head .actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-blocks .history{margin:0}@media (width<=600px){.project-requisites{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.project-requisites .wide{grid-column:1/-1}}.modal-backdrop:has(>.modal .form.confirm){align-items:center}.modal:has(.form.confirm){margin-top:0}.file-list{gap:2px;margin:0 0 8px;padding:0;list-style:none;display:grid}.file-row{border-bottom:1px solid var(--border);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 0;display:grid}.file-row:last-child{border-bottom:0}.file-row.inactive .file-main{opacity:.7}.file-row.failed .file-name{color:var(--bad)}.file-main{overflow-wrap:anywhere;min-width:0}button.file-name.link-button,.file-name{text-align:left;color:var(--fg);font-weight:600;display:block}button.file-name.link-button:hover{color:var(--accent)}.file-thumb,button.file-thumb.link-button{border:1px solid var(--border);background:var(--soft);width:48px;height:48px;color:var(--muted);border-radius:8px;place-items:center;padding:0;display:grid;overflow:hidden}.file-thumb img{object-fit:cover;width:100%;height:100%}.file-drop{outline-offset:4px;border-radius:10px;outline:2px dashed #0000}.file-drop.dragging{outline-color:var(--accent);background:var(--blue-bg)}.file-missing{margin:4px 0 10px}.file-attach-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.upload-bar{max-width:260px;margin-top:6px}.fold-head select{min-width:0;height:40px}.drawing-link,button.drawing-link.link-button{white-space:nowrap;font-weight:600}.part-files{white-space:nowrap}.shipment-docs{flex-wrap:wrap;align-items:center;gap:4px 14px;margin:4px 0;display:flex}button.shipment-doc.link-button{align-items:center;gap:4px;display:inline-flex}.viewer{z-index:40;color:#fff;background:#0f141c;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid;position:fixed;inset:0}.viewer-bar{padding:calc(8px + env(safe-area-inset-top,0px)) 12px 8px;background:#1a2230;align-items:center;gap:8px;display:flex}.viewer-download{white-space:nowrap;flex:none}@media (width<=560px){.viewer-bar{flex-wrap:wrap}.viewer-bar .viewer-name{flex:1 0 100%}.viewer-bar .viewer-info{flex:1 0 auto}}@media (width<=420px){.viewer-bar .viewer-info{display:none}.viewer-bar .viewer-download{margin-left:auto}}.viewer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.viewer-name .muted,.viewer-info{color:#c9d2de}.viewer-info{white-space:nowrap;flex:none}.viewer-body{touch-action:pan-x pan-y;overflow:auto}.viewer-pages{box-sizing:border-box;gap:12px;margin:0 auto;padding:12px;display:grid}.viewer-page{background:#fff;box-shadow:0 2px 12px #0006}.viewer-page canvas{max-width:none;display:block}.viewer-slow{color:#dfe6ef;max-width:420px;margin:12px auto 0}.viewer-slow a{color:#9cc3ff}.viewer-image{touch-action:pan-x pan-y;padding:12px;display:flex}.viewer-image img{cursor:zoom-in;-webkit-user-select:none;user-select:none;transform-origin:50%;max-width:none;height:auto;margin:auto;display:block}.viewer-image.zoomed img{cursor:grab}.viewer-pages{transform-origin:top}.viewer-error{text-align:center;padding:24px}.viewer .secondary.icon,.viewer .button-link.secondary.icon{min-width:40px;min-height:40px}.viewer-image{position:relative}button.viewer-nav:not(.link-button){z-index:2;color:#fff;background:#00000073;border:0;border-radius:10px;width:44px;height:64px;padding:0;position:fixed;top:50%;transform:translateY(-50%)}button.viewer-nav.prev{left:8px}button.viewer-nav.next{right:8px}img.avatar.photo{object-fit:cover;background:var(--soft);padding:0}.rich-image{margin:8px 0}.rich-image img{border:1px solid var(--border);cursor:zoom-in;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:360px;display:block}.rich-image.selected img,.ProseMirror-selectednode img{outline:3px solid var(--accent);outline-offset:2px}.rich-image figcaption{color:var(--muted);margin-top:4px;font-size:13px}.photo-editor{align-items:center;gap:16px;margin:8px 0 16px;display:flex}.photo-actions{flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0;display:flex}.photo-editor .avatar.large{width:88px;height:88px;font-size:26px}.catalog-filters{flex-wrap:wrap;align-items:end;gap:8px 16px;margin-bottom:12px;display:flex}.catalog-filters .grow{flex:260px}.catalog-filters input[type=search]{width:100%;height:44px}.archive-toggle{min-height:44px}.catalog-table td{vertical-align:middle}.catalog-table tr.inactive td{opacity:.75}.catalog-cards{margin:0;padding:0;list-style:none}.catalog-cards .card{gap:4px;margin-bottom:10px;padding:10px 14px;display:grid}.catalog-cards .card.inactive{opacity:.8}.catalog-card-head{overflow-wrap:anywhere;align-items:center;gap:8px;display:flex}.catalog-card-head .row-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.catalog-card-field{overflow-wrap:anywhere}@media (width<=720px){.rich-image img{max-height:70vh}}.rich-image-caption{width:100%;max-width:420px;margin-top:6px}.crop{justify-items:center;gap:12px;display:grid}.crop-stage{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background:#0f141c;border-radius:12px;position:relative;overflow:hidden}.crop-stage img{visibility:hidden;pointer-events:none;max-width:none;position:absolute}.crop-frame{pointer-events:none;border-radius:50%;outline:2px solid #fff;position:absolute;inset:0;box-shadow:0 0 0 999px #0000008c}.crop-zoom{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;width:100%;max-width:320px;display:grid}.crop-zoom input{min-height:32px}.crop .actions{gap:8px;display:flex}.msg-files{gap:6px;margin-top:6px;display:grid}.msg-images{flex-wrap:wrap;gap:6px;display:flex}button.msg-image.link-button{border:1px solid var(--border);background:var(--soft);border-radius:10px;padding:0;line-height:0;display:block;overflow:hidden}.msg-image img{object-fit:cover;width:160px;height:120px;display:block}.msg-images:has(>:only-child) .msg-image img{width:auto;max-width:min(260px,100%);height:auto;max-height:220px}.msg-file,button.msg-file.link-button{text-align:left;overflow-wrap:anywhere;align-items:center;gap:6px;display:inline-flex}.compose-files{flex-wrap:wrap;gap:6px;margin:0 0 6px;padding:0;list-style:none;display:flex}.compose-files li{border:1px solid var(--border);background:var(--soft);border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:4px 8px;font-size:13px;display:inline-flex}.compose-file-name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.chat-compose .file-list.uploads{margin-bottom:6px}.action-menu-list{max-width:calc(100vw - 16px)}.sheet-backdrop{z-index:49;background:#00000073;position:fixed;inset:0}.action-sheet{z-index:50;padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));background:var(--bg);border-radius:16px 16px 0 0;gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #00000040}.action-sheet ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.sheet-title{color:var(--muted);text-align:center;font-size:14px}.action-sheet button:not(.link-button){border:1px solid var(--border);background:var(--surface);width:100%;min-height:56px;color:var(--fg);border-radius:12px;justify-content:center;font-size:17px;font-weight:600}.action-sheet button.danger{color:var(--bad)}.action-sheet .sheet-cancel{color:var(--muted);background:0 0}.service-accounts{gap:10px;margin:0 0 12px;padding:0;list-style:none;display:grid}.service-account{gap:10px;margin:0;display:grid}.service-account.inactive{opacity:.75}.service-account-head{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.service-account-head .link-button{margin-left:auto}.token-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.token-list li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;padding-bottom:6px;display:flex}.token-list li.inactive{opacity:.6}.token-list li.expiring{border-left:3px solid var(--warn);padding-left:8px}.token-form{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.token-form-title{margin:0}.token-form .token-scopes{border:0;gap:6px;margin:0;padding:0;display:grid}.token-form .token-scopes legend{margin-bottom:4px;padding:0}.token-form .token-scopes .check{align-items:flex-start}.user-tokens{gap:8px;margin-top:16px;display:grid}.user-tokens h3{margin:0}.chat-down{align-self:center;margin:6px 0 0}.menu-dot{background:var(--status-in_progress);border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.menu-dot.status-preparation{background:var(--status-preparation)}.menu-dot.status-partially_shipped{background:var(--status-partially_shipped)}.menu-dot.status-shipped{background:var(--status-shipped)}.menu-dot.status-closed{background:var(--status-closed)}.action-menu-list button:disabled,.action-sheet button:disabled{opacity:.55;cursor:not-allowed}.tag.status-preparation{color:var(--status-preparation);border-color:var(--status-preparation)}.action-menu-list button.state,.action-sheet button.state{text-align:left;flex-wrap:wrap;justify-content:flex-start;align-items:center;display:flex}.action-menu-list button.state .menu-dot,.action-sheet button.state .menu-dot{flex:none}.menu-check{color:var(--ok);margin-left:auto;padding-left:12px;font-weight:700}.action-menu-list button.state[aria-current=true]:disabled,.action-sheet button.state[aria-current=true]:disabled{opacity:1;cursor:default;font-weight:600}.menu-hint{color:var(--muted);text-align:left;flex-basis:100%;margin:2px 0 0 18px;font-size:13px;font-weight:400}.part-files .part-name{text-align:left;font:inherit;color:var(--accent)}.part-card-link{color:var(--muted);vertical-align:middle;justify-content:center;align-items:center;margin-left:6px;display:inline-flex}.part-card-link:hover{color:var(--accent)}@media (pointer:coarse){.part-card-link{min-width:44px;min-height:44px}}.project-title-row{grid-template-columns:minmax(140px,220px) minmax(0,1fr);align-items:end;gap:12px;display:grid}.project-title-row .title-input{width:100%;font-size:24px;font-weight:700}.project-requisites{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=800px){.project-title-row,.project-requisites{grid-template-columns:minmax(0,1fr)}}a{color:var(--accent)}.project-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.project-layout>.project-blocks{min-width:0}.project-chat{flex-direction:column;min-width:0;height:min(70vh,640px);min-height:360px;padding:12px 14px;display:flex}.project-chat-toggle{justify-self:start}.project-layout:not(.chat-open)>.project-chat{display:none}@media (width>=1500px){.project-layout{grid-template-columns:minmax(0,1fr) 320px}.project-layout>.project-blocks{grid-area:1/1}.project-layout>.project-chat,.project-layout:not(.chat-open)>.project-chat{grid-area:1/2;height:calc(100vh - 420px);min-height:420px;display:flex;position:sticky;top:72px}.project-layout>.project-chat-toggle{display:none}}@media (width<=860px){.project-layout>.project-chat-toggle,.project-layout.show-project>.project-chat,.project-layout.show-chat>.project-blocks{display:none}.project-layout.show-chat>.project-chat{height:calc(100dvh - 200px);min-height:320px;scroll-margin-top:66px;display:flex}.project-layout.show-chat{padding-bottom:32px}}.people li>.task-select+div{flex:1;min-width:0}.task-select{flex:none;width:18px;height:18px;margin:0}.assign-trigger{font:inherit;color:inherit;text-underline-offset:3px;cursor:pointer;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.assign-popover{z-index:45;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:320px;max-width:calc(100vw - 16px);padding:8px;position:fixed;top:0;left:0;box-shadow:0 8px 24px #00000026}.assign-panel input[type=search]{width:100%}.assign-options{max-height:320px;margin:6px 0 0;padding:0;list-style:none;overflow-y:auto}.action-sheet.assign-panel .assign-options{max-height:55vh}.assign-options button{text-align:left;width:100%;color:var(--fg);font:inherit;background:0 0;border:0;border-radius:6px;padding:8px 10px;display:block}.assign-options button:hover{background:var(--soft)}.action-sheet.assign-panel .assign-options button{min-height:44px}.assign-options .assign-none{color:var(--muted)}.assign-group{padding:8px 10px 2px}.undo-bar{z-index:60;background:var(--fg);max-width:calc(100vw - 32px);color:var(--bg);border-radius:10px;align-items:center;gap:16px;padding:10px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000040}.undo-bar .link-button{color:var(--bg);font-weight:700;text-decoration:underline}.undo-bar.bad{background:var(--bad);color:#fff}.selection-bar{border:1px solid var(--accent);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:8px 0;padding:8px 12px;display:flex}@media (width<=860px){.task-select,.selection-bar{display:none}.undo-bar{bottom:calc(88px + env(safe-area-inset-bottom,0px))}}:root{--count-bg:#c8312a;--count-fg:#fff}.count{box-sizing:border-box;background:var(--count-bg);min-width:20px;height:20px;color:var(--count-fg);border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.count.muted-count{background:var(--gray-bg);color:var(--gray)}.nav-icon{display:inline-flex;position:relative}.nav-text{flex:1}.nav-count-dot{display:none}@media (width<=860px){.app-bottom{grid-template-columns:repeat(5,1fr)}.app-bottom .nav-count{display:none}.app-bottom .nav-count-dot{display:block;position:absolute;top:-7px;left:12px}.app-more .nav-count-dot,.hide-narrow{display:none}}.conv-icon{background:var(--blue-bg);width:40px;height:40px;color:var(--blue);border-radius:10px;flex:none;place-items:center;font-size:13px;font-weight:700;display:inline-grid}.conv-icon.department{background:var(--ok-bg);color:var(--ok)}.conv-icon.project{background:var(--warn-bg);color:var(--warn)}.conv-icon.task{background:var(--purple-bg);color:var(--purple)}.conv-row .avatar,.conv-head .avatar{width:40px;height:40px}.conv-list{gap:2px;display:grid}.conv-row{min-height:56px;color:var(--fg);border-radius:10px;align-items:center;gap:12px;padding:8px;text-decoration:none;display:flex}.conv-row:hover{background:var(--soft)}.conv-row.active{background:var(--blue-bg)}.conv-main{flex:1;gap:3px;min-width:0;display:grid}.conv-line{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.conv-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.conv-time{color:var(--muted);flex:none;font-size:12px}.conv-preview{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.conv-who{color:var(--fg)}.conv-muted{color:var(--muted);flex:none}.home-layout{grid-template:"list msgs""list aside"1fr/minmax(0,1fr) minmax(360px,440px)}.home-layout>.home-list{grid-area:list}.home-layout>.home-messages{grid-area:msgs}.home-layout>.home-aside{grid-area:aside}@media (width<=1100px){.home-layout{grid-template:"list""aside"/minmax(0,1fr)}}.home-messages:not(.home-layout>*){margin:0 0 16px}.home-messages-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.home-messages-head button{white-space:nowrap}.home-messages-head h2{align-items:center;gap:8px;margin:0;font-size:17px;display:flex}.home-messages .conv-row{margin:0 -8px}.home-messages-all{border-top:1px solid var(--border);justify-content:center;align-items:center;min-height:44px;margin-top:6px;font-weight:600;display:flex}.messenger{grid-template-columns:360px minmax(0,1fr);gap:16px;height:calc(100dvh - 120px);min-height:480px;display:grid}.messenger>.card,.messenger-pane>.card{margin:0}.messenger-list{flex-direction:column;gap:10px;min-height:0;padding:14px 12px;display:flex}.messenger-list-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.messenger-list-head button{white-space:nowrap}.messenger-list-head h1{align-items:center;gap:8px;margin:0;font-size:22px;display:flex}.messenger-search{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:10px;flex-direction:row;align-items:center;gap:6px;padding:0 10px;display:flex}.messenger-search input{text-align:left;background:0 0;border:0;flex:1;min-width:0;margin:0}.chip-filters{flex-wrap:wrap;gap:6px;display:flex}button.chip-filter{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--fg);border-radius:999px;padding:4px 12px;font-size:14px;font-weight:400}button.chip-filter.active{border-color:var(--blue);background:var(--blue-bg);color:var(--blue);font-weight:600}.messenger-scroll{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.messenger-list .conv-list{align-content:start}.messenger-list .conv-list>button{justify-self:center;margin:6px 0}.found{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.found h2{margin:0 0 4px;font-size:14px}.found ul{margin:0;padding:0;list-style:none}.found li button{width:100%;min-height:44px;color:var(--fg);text-align:left;background:0 0;border:0;border-radius:8px;gap:2px;padding:8px;font-weight:400;display:grid}.found li button:hover{background:var(--soft)}.found-text{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.found mark{background:var(--warn-bg);color:var(--fg);border-radius:3px}.messenger-pane{min-width:0;min-height:0}.messenger-conv{box-sizing:border-box;flex-direction:column;height:100%;margin:0;padding:12px 14px;display:flex}.messenger-empty{height:100%;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:8px;margin:0;display:grid}.conv-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding-bottom:8px;display:flex}.conv-head-text{flex:1;min-width:0;display:grid}.conv-head h2{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;margin:0;font-size:17px;display:flex;overflow:hidden}.conv-back{display:none}@media (width<=860px){.messenger{grid-template-columns:minmax(0,1fr);height:calc(100dvh - 160px);min-height:360px}.messenger.has-open .messenger-list,.messenger:not(.has-open) .messenger-pane{display:none}.conv-back{min-width:44px;min-height:44px;color:var(--fg);justify-content:center;align-items:center;margin-left:-10px;display:inline-flex}.messenger-conv{padding:8px 10px}}.msg-quote{border:0;border-left:3px solid var(--accent);background:var(--surface);max-width:100%;min-height:0;color:var(--fg);font-size:calc(var(--chat-font) - 4px);text-align:left;white-space:normal;border-radius:4px;gap:1px;margin:0 0 4px;padding:3px 8px;font-weight:400;display:grid}button.msg-quote,.msg-text>.msg-quote{cursor:pointer;flex-direction:column;align-items:flex-start;width:fit-content;display:flex}.quote-text{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.compose-reply{align-items:center;gap:6px;display:flex}.compose-reply .msg-quote{flex:1;min-width:0;max-width:none;margin:0;overflow:hidden}.msg-pinned{align-items:center;gap:3px;display:flex}.pinned-bar{background:var(--soft);color:var(--muted);border-radius:8px;align-items:center;gap:8px;margin-top:8px;padding:4px 6px 4px 10px;display:flex}button.pinned-open{min-width:0;min-height:40px;color:var(--fg);text-align:left;background:0 0;border:0;flex:1;gap:0;padding:2px 0;font-weight:400;display:grid;overflow:hidden}.pinned-open>*{min-width:0;max-width:100%}.pinned-text{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.mention{color:var(--accent);font-weight:600}.msg.mentioned .msg-text{box-shadow:inset 0 0 0 2px var(--warn)}.msg.flash .msg-text{outline:3px solid var(--accent);outline-offset:1px}.mention-list{border:1px solid var(--border);background:var(--surface);max-height:240px;box-shadow:var(--shadow);border-radius:10px;margin:0;padding:4px;list-style:none;overflow-y:auto}.mention-list button{width:100%;min-height:44px;color:var(--fg);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:4px 8px;font-weight:400;display:flex}.mention-list li[aria-selected=true] button,.mention-list button:hover{background:var(--soft)}.pick-people,.member-list{max-height:50vh;margin:8px 0;padding:0;list-style:none;overflow-y:auto}.pick-people button{width:100%;min-height:52px;color:var(--fg);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:6px 8px;font-weight:400;display:flex}.pick-people button:hover{background:var(--soft)}.pick-people button>span{display:grid}.member-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;min-height:48px;display:flex}.inline-form{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.inline-form label{flex:1;min-width:200px}.pick-people button,.mention-list button,.found li button,button.pinned-open,button.msg-quote{justify-content:flex-start;justify-items:start}.notify-device{gap:8px;margin-bottom:12px;display:grid}.notify-device p{margin:0}fieldset.notify-settings{border:0;gap:6px;margin:0 0 12px;padding:0;display:grid}.quiet-hours{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-left:28px;display:flex}.quiet-hours label{flex-direction:row;align-items:center;gap:6px;display:flex}.notify-devices{margin:0;padding:0;list-style:none}.notify-devices li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;min-height:48px;display:flex}.notify-devices .badge{margin-left:6px}.notify-prompt{left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:40;border:1px solid var(--accent);background:var(--surface);border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 12px;padding:14px 16px;font-size:17px;display:grid;position:fixed;box-shadow:0 8px 28px #0000003d}.notify-prompt p{margin:0}.notify-prompt .notify-prompt-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.notify-prompt .notify-prompt-actions>*{flex:1;justify-content:center;align-items:center;min-height:48px;display:inline-flex}.notify-prompt .bad{grid-column:1/-1;font-size:15px}.help-steps{gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.help-step{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:32px 40px minmax(0,1fr);align-items:center;gap:10px;padding:12px;font-size:17px;display:grid}.help-step-n{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:700;display:inline-grid}.help-step-icon{color:var(--accent)}.help-step-note{margin-top:2px;font-size:15px;display:block}.notify-cell .badge{white-space:nowrap}.part-title{overflow-wrap:anywhere}.spec-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:16px;display:grid}.spec-list ul{gap:4px;margin:0 0 8px;padding:0;list-style:none;display:grid}.spec-list-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.spec-list-head h2{margin:0;font-size:17px}button.spec-item{width:100%;min-height:48px;color:var(--fg);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:stretch;justify-items:start;gap:2px;padding:8px 10px;font-weight:400;display:grid}button.spec-item:hover{background:var(--soft)}button.spec-item.active{border-color:var(--accent);background:var(--blue-bg)}.spec-item-badges{flex-wrap:wrap;gap:4px;display:flex}.spec-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spec-head h2{overflow-wrap:anywhere;margin:0}.spec-head-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.spec-meta{margin:4px 0 8px}.spec-note{white-space:pre-wrap}.spec-add{margin:8px 0}.spec-tree-tools{flex-wrap:wrap;align-items:center;gap:4px 14px;margin:8px 0 4px;display:flex}.spec-tree{margin:0;padding:0;list-style:none}.spec-row{border-bottom:1px solid var(--border);grid-template-columns:24px 18px minmax(0,1fr) auto 40px;align-items:center;gap:6px;min-height:40px;display:grid}.spec-toggle{width:24px;min-height:24px;color:var(--muted);justify-content:center;align-items:center;padding:0;display:inline-flex}.spec-icon{color:var(--muted)}.kind-part>.spec-row .spec-icon{color:var(--accent)}.spec-text{overflow-wrap:anywhere;min-width:0}.spec-text .badge{margin-left:6px}.spec-qty{white-space:nowrap;font-variant-numeric:tabular-nums}.spec-line-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.spec-path{overflow-wrap:anywhere;margin:8px 0}.spec-cards{gap:8px;margin:0;padding:0;list-style:none;display:grid}.spec-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px;display:grid}.spec-card>button{grid-column:1/-1;justify-self:start;min-height:44px}@media (width<=860px){.spec-layout{grid-template-columns:1fr}}.spec-list-buttons{flex-wrap:wrap;gap:6px;display:flex}.import-dialog{gap:10px;display:grid}.import-file input{max-width:100%}.import-layout{grid-template-columns:minmax(0,3fr) minmax(280px,2fr);align-items:start;gap:16px;display:grid}.import-layout h3{margin:0 0 6px;font-size:15px}.import-tree{margin:0;padding:0;list-style:none}.import-tree .import-tree{border-left:1px solid var(--border);padding-left:18px}.import-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:3px 0;display:grid}.import-text{overflow-wrap:anywhere;min-width:0}.import-text .badge{white-space:normal;margin-left:6px}.import-side{gap:14px;display:grid;position:sticky;top:0}.import-choices{gap:8px;margin:0;padding:0;list-style:none;display:grid}.import-choices label{gap:4px;display:grid}.import-errors{max-height:260px;margin:0;padding-left:18px;overflow-y:auto}.note-warn{border-color:var(--warn)}@media (width<=900px){.import-layout{grid-template-columns:1fr}.import-side{position:static}}.zones-editor{border:1px solid var(--border);border-radius:10px;gap:8px;margin:0;padding:10px 12px;display:grid}.zones-editor legend{padding:0 4px;font-weight:600}.zone-row{grid-template-columns:110px minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}@media (width<=720px){.zone-row{grid-template-columns:minmax(0,1fr)}}.mark-spec{margin-top:2px}.mark-tree-row>td{background:var(--soft)}.mark-spec-select{gap:2px;margin-top:4px;display:grid}.composition-view{margin-bottom:8px}.expanded-h{margin:14px 0 6px;font-size:15px}.material-duplicates{margin-bottom:12px}.material-duplicates summary{cursor:pointer;font-weight:600}.duplicate-group ul{margin:4px 0 8px}.route-steps{margin:8px 0 12px;padding-left:22px}.route-steps li{padding:4px 0}.route-proposal ol{margin:6px 0}.route-editor{gap:8px;display:grid}.route-row{grid-template-columns:24px minmax(160px,1.2fr) minmax(140px,1fr) minmax(140px,1fr) auto;align-items:end;gap:8px;display:grid}.route-n{color:var(--muted);padding-bottom:10px}.route-row-actions{gap:4px;padding-bottom:6px;display:flex}@media (width<=720px){.route-row{grid-template-columns:24px minmax(0,1fr)}.route-row>label,.route-row-actions{grid-column:2}}.approve-drafts{max-height:260px;margin:6px 0;padding-left:20px;overflow-y:auto}.modal.wide:has(.task-plan){max-width:1200px}.task-plan-tools{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:12px;display:flex}.task-plan-tools .muted{flex:320px}.plan-tasks{gap:10px;margin:0 0 12px;padding:0;list-style:none;display:grid}.plan-task{padding:10px 12px}.plan-task.off{opacity:.6}.plan-task-head{align-items:center;gap:8px;display:flex}.plan-task-head .plan-title{flex:1;min-width:0}.plan-task-fields{flex-wrap:wrap;align-items:end;gap:8px 16px;margin:8px 0;display:flex}.plan-task-fields>.muted{flex:200px;align-self:center}.plan-task-fields label{gap:2px;font-size:.9em;display:grid}.plan-waits{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px;display:flex}.plan-waits .link-button{margin-left:4px}.plan-items tr[draggable=true]{cursor:grab}.plan-items .plan-qty{white-space:nowrap}.plan-items .plan-qty input{width:5em}.plan-then{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-bottom:6px;display:flex}.plan-add-wait{width:auto;max-width:260px;font-size:inherit;padding:2px 6px}.material-need .badge{margin-left:6px}.material-need .material-blanks>td{padding-top:0}.mail-columns{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.form.grid.filters.mail-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px;display:grid}.mail-filters label:first-child,.mail-filters label.check{grid-column:1/-1}.mail-filters input:not([type=checkbox]),.mail-filters select{width:100%;min-width:0}.mail-rows{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0 0 12px;padding:0;list-style:none}.mail-row+.mail-row{border-top:1px solid var(--border)}.mail-row a{color:var(--fg);padding:10px 12px;text-decoration:none;display:block}.mail-row a:hover,.mail-row.active a{background:var(--soft)}.mail-row-line{align-items:center;gap:6px;display:flex}.mail-row-who{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.mail-row-date{white-space:nowrap}.mail-row-subject,.mail-row-snippet{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mail-thread h2{overflow-wrap:anywhere;margin:4px 0 12px}.mail-message{min-width:0;margin-bottom:12px}.mail-message-head{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:10px;display:flex}.mail-message-meta{text-align:right}.mail-text{white-space:pre-wrap;overflow-wrap:anywhere}.mail-html{background:#fff;border:0;border-radius:6px;width:100%;min-height:80px;display:block}.mail-attachments{flex-wrap:wrap;gap:6px 16px;margin:12px 0 8px;padding:0;list-style:none;display:flex}.mail-empty{padding:24px}.mailbox-list{gap:10px;margin:0 0 12px;padding:0;list-style:none;display:grid}.mailbox-row{gap:6px;display:grid}.mailbox-row .form.inline{margin:4px 0 0}.mailbox-row-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}@media (width<=720px){.mail-message-meta{text-align:left}}.access-box{margin:0 0 8px}.access-head,.access-row{grid-template-columns:minmax(0,1fr) repeat(4,96px) 110px;align-items:center;gap:4px 8px;display:grid}.access-head{color:var(--muted);text-align:center;padding:0 8px 4px;font-size:13px}.access-list{border-top:1px solid var(--border);margin:0 0 16px;padding:0;list-style:none}.access-row{border-bottom:1px solid var(--border);min-height:56px;padding:6px 8px}.access-person{align-items:center;gap:10px;min-width:0;display:flex}.access-name{min-width:0;display:grid}.access-name>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}label.access-cell{cursor:pointer;flex-direction:row;justify-content:center;align-items:center;gap:6px;min-height:44px;margin:0;display:flex}.access-cell input{flex:none;width:20px;height:20px;margin:0}.access-cell-label{display:none}.access-state{justify-content:flex-end;align-items:center;gap:8px;display:flex}.access-state .ok{align-items:center;gap:3px;display:inline-flex}.access-error{grid-column:1/-1;margin:0}.access-add{margin-bottom:12px}.access-options{border:1px solid var(--border);background:var(--surface);max-height:280px;box-shadow:var(--shadow);border-radius:10px;margin:4px 0 0;padding:4px;list-style:none;overflow-y:auto}.access-options li[role=option]{cursor:pointer;border-radius:8px;align-items:center;gap:10px;min-height:48px;padding:4px 8px;display:flex}.access-options li.active{background:var(--soft)}.access-none{padding:8px}@media (width<=720px){.access-head{display:none}.access-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 4px}.access-person{grid-column:1}label.access-cell{justify-content:flex-start}.access-cell-label{display:inline}.access-state{grid-area:1/2}}.mail-message-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px;display:flex}button.draft-plate{border:1px dashed var(--warn);background:var(--warn-bg);width:100%;color:var(--fg);text-align:left;border-radius:10px;justify-content:flex-start;align-items:center;gap:8px;margin:0 0 10px;padding:8px 12px;font-weight:400;display:flex}button.mail-row-open{width:100%;color:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:400;display:block}.draft-form .draft-from{flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}textarea.draft-text{min-height:260px;font-family:inherit;line-height:1.45}.draft-files ul{margin:6px 0;padding:0;list-style:none}.draft-files li{flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:36px;display:flex}.draft-system-files{border:1px solid var(--border);border-radius:10px;margin-top:8px;padding:10px 12px}.draft-system-files h4{margin:10px 0 4px;font-size:14px}.draft-pick-list{margin:0;padding:0 0 0 4px;list-style:none}.draft-pick-list li{min-height:32px}.draft-form>.link-button{place-self:start}
