:root{--tg-bg: #f4f7f2;--tg-text: #172018;--tg-hint: #69736a;--tg-button: #1f7a4d;--tg-button-text: #ffffff;--tg-surface: #ffffff;--line: rgba(23, 32, 24, .12);--shadow: 0 18px 42px rgba(25, 41, 28, .12);color:var(--tg-text);background:var(--tg-bg);font-family:Segoe UI,SF Pro Display,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{max-width:100%;overflow-x:hidden}body{min-width:320px;min-height:100vh;margin:0;background:linear-gradient(145deg,rgba(99,158,101,.18),transparent 36%),linear-gradient(315deg,rgba(242,186,73,.18),transparent 30%),var(--tg-bg)}button{font:inherit}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:0 12px;color:var(--tg-text);background:var(--tg-surface);font:inherit}input,select{min-height:44px}textarea{min-height:68px;padding-block:10px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--tg-button),white 16%);outline:3px solid color-mix(in srgb,var(--tg-button),transparent 78%)}.app-shell{width:min(100%,560px);max-width:100%;min-height:100vh;overflow-x:hidden;margin:0 auto;padding:max(14px,env(safe-area-inset-top)) 12px calc(86px + env(safe-area-inset-bottom))}.topbar{padding:8px 2px 12px}.eyebrow{margin:0 0 6px;color:var(--tg-hint);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:6px;font-size:30px;line-height:1.05}h2{margin-bottom:0;font-size:21px;line-height:1.2}h3{margin-bottom:8px;font-size:18px}.subtitle{margin-bottom:0;color:var(--tg-hint);font-size:16px}.status-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--tg-surface),transparent 8%)}.status-strip div{display:flex;align-items:center;gap:9px}.status-strip p{margin:0;color:var(--tg-hint);font-size:14px}.status-strip span:last-child{color:var(--tg-hint);font-size:12px;font-weight:800}.status-dot{width:9px;height:9px;border-radius:999px;background:#38a169;box-shadow:0 0 0 4px #38a16924}.status-loading .status-dot{background:#d89a28;box-shadow:0 0 0 4px #d89a2829}.status-denied .status-dot,.status-error .status-dot{background:#d64545;box-shadow:0 0 0 4px #d6454524}.manager-menu-shell{position:relative;z-index:5;margin-bottom:10px}.manager-menu-button{width:100%;min-height:46px;justify-content:flex-start}.manager-menu-panel{position:absolute;top:calc(100% + 6px);right:0;left:0;display:grid;gap:6px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--tg-surface);box-shadow:var(--shadow)}.manager-menu-item{display:inline-flex;min-height:44px;align-items:center;gap:9px;padding:0 12px;border:0;border-radius:8px;color:var(--tg-text);background:transparent;font-weight:800;text-align:left}.manager-menu-item.active{color:var(--tg-button-text);background:var(--tg-button)}.manager-menu-button svg,.manager-menu-item svg{width:18px;height:18px}.quick-actions{display:grid;grid-template-columns:1.2fr 1fr;gap:10px;margin-bottom:10px}.single-action,.object-actions{grid-template-columns:1fr}.primary-action,.secondary-action{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;font-weight:800}.ghost-button,.icon-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--tg-text);background:color-mix(in srgb,var(--tg-surface),transparent 8%)}.ghost-button{min-height:44px;gap:8px;margin-bottom:14px;padding:0 14px;border-radius:8px;font-weight:800}.icon-action{width:42px;height:42px;flex:0 0 auto;border-radius:8px}.icon-action.danger{color:#b33b3b}.primary-action:disabled,.secondary-action:disabled{cursor:not-allowed;opacity:.56}.primary-action{color:var(--tg-button-text);background:var(--tg-button);box-shadow:var(--shadow)}.secondary-action{color:var(--tg-text);border:1px solid var(--line);background:var(--tg-surface)}.primary-action svg,.secondary-action svg{width:20px;height:20px}.compact-action{min-height:44px;box-shadow:none}.voice-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.recording-action{color:#9f2f2f;border-color:#b33b3b4d;background:#fff1f1}.panel{max-width:100%;min-width:0;overflow-wrap:anywhere;margin-bottom:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--tg-surface),transparent 4%);box-shadow:0 10px 24px #19291c14}.panel-heading,.compact-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.compact-heading{align-items:center}.panel-heading svg,.compact-panel svg{width:26px;height:26px;color:var(--tg-button)}.panel-note{margin:8px 0 0;color:var(--tg-hint);font-size:13px}.error-note{color:#b33b3b}.report-list{display:grid;gap:10px;margin-top:16px}.report-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.report-summary span{padding:6px 8px;border-radius:999px;color:var(--tg-hint);background:color-mix(in srgb,var(--tg-surface),transparent 12%);font-size:12px;font-weight:800}.report-card{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--tg-bg);color:var(--tg-text);text-align:left}.report-card-button{cursor:pointer}.report-card-button:disabled{cursor:default}.report-card-button:not(:disabled):active{transform:translateY(1px)}.report-card.selected-for-merge{border-color:var(--tg-button);box-shadow:0 0 0 2px color-mix(in srgb,var(--tg-button),transparent 75%)}.merge-selection-mark{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border:2px solid var(--line);border-radius:50%;color:var(--tg-button-text);background:var(--tg-surface)}.selected-for-merge .merge-selection-mark{border-color:var(--tg-button);background:var(--tg-button)}.merge-unavailable-label{color:var(--tg-hint);font-size:12px;font-weight:900}.merge-selection-mark svg{width:17px;height:17px}.report-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px}.report-pagination button{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--tg-text);background:var(--tg-bg)}.report-pagination button:disabled{opacity:.35}.report-pagination span{min-width:58px;color:var(--tg-hint);font-weight:900;text-align:center}.merge-reports-panel .primary-action{margin-top:14px}.report-card p{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--tg-hint);font-size:14px}.report-engineer{display:block!important;margin-top:5px!important;font-size:13px!important;font-weight:700}.part-count-label{display:inline-flex;width:fit-content;margin-top:7px;padding:5px 8px;border-radius:999px;color:#15526c;background:#d7eef7;font-size:12px;font-weight:900}.report-card svg{width:16px;height:16px}.badge{flex:0 0 auto;padding:7px 9px;border-radius:999px;font-size:12px;font-weight:800}.badge-draft{color:#725516;background:#faecc5}.badge-confirmed{color:#15526c;background:#d7eef7}.badge-sent{color:#215c38;background:#d8f1df}.compact-panel p:last-child{margin:8px 0 0;color:var(--tg-hint);line-height:1.45}.form-panel{display:grid;gap:10px}.material-form{display:grid;gap:10px;margin-top:12px}.filters-panel{padding:12px}.filters-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.clear-filters-button{width:100%;min-height:40px;margin-top:10px;border:1px solid var(--line);border-radius:8px;color:var(--tg-text);background:color-mix(in srgb,var(--tg-surface),transparent 10%);font-weight:800}.dense-panel{padding:12px}.dense-panel .panel-heading{align-items:center}.dense-panel h2{font-size:20px}.field{display:grid;gap:5px}.field span{color:var(--tg-hint);font-size:13px;font-weight:800}.field-grid{display:grid;grid-template-columns:1fr 92px;gap:8px}.material-picker{display:grid;gap:6px}.material-picker-select{min-height:44px;font-weight:700}.material-picker-warning{margin:0;color:var(--tg-hint);font-size:12px;line-height:1.35}.material-picker-warning{color:#9f2f2f}.item-editor{display:grid;gap:8px}.item-row{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--tg-bg)}.compact-item-row{gap:9px;padding:10px}.item-row-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.compact-item-row .item-row-title strong{font-size:15px}.compact-item-row .field{gap:4px}.compact-item-row .field span{font-size:12px}.bottom-actions{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:2}.bottom-nav{position:fixed;right:max(12px,calc((100vw - 560px)/2 + 12px));bottom:max(8px,env(safe-area-inset-bottom));left:max(12px,calc((100vw - 560px)/2 + 12px));z-index:4;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--tg-surface),transparent 4%);box-shadow:var(--shadow)}.manager-bottom-nav,.three-item-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.manager-balance-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.manager-balance-nav .bottom-nav-item{min-width:0;padding:4px 2px;flex-direction:column;gap:2px;font-size:10px;line-height:1.05;text-align:center;overflow-wrap:anywhere}.three-item-nav{gap:4px}.three-item-nav .bottom-nav-item{min-width:0;padding:4px 2px;flex-direction:column;gap:2px;font-size:11px;line-height:1.05;text-align:center;overflow-wrap:anywhere}.bottom-nav-item{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:7px;border:0;border-radius:8px;color:var(--tg-hint);background:transparent;font-weight:800}.bottom-nav-item.active{color:var(--tg-button-text);background:var(--tg-button)}.bottom-nav-item:disabled{opacity:.6}.bottom-nav-item svg{width:18px;height:18px}.repair-kit-panel{min-height:280px}.repair-kit-move-button{width:100%;margin-top:14px}.inventory-panel{display:grid;gap:12px}.balance-list-panel{display:grid;gap:14px}.balance-heading{align-items:flex-start}.balance-mode-button{display:inline-flex;min-height:40px;flex:0 0 auto;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:var(--tg-text);background:color-mix(in srgb,var(--tg-button),transparent 88%);font-weight:800}.balance-mode-button svg{width:17px;height:17px}.shared-balance-list{display:grid;gap:8px}.shared-balance-row{display:grid;gap:10px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--tg-surface),var(--tg-bg) 30%)}.shared-balance-row.has-stock{border-color:color-mix(in srgb,var(--tg-button),transparent 45%)}.shared-balance-summary{display:flex;min-width:0;align-items:flex-start;justify-content:space-between;gap:10px}.shared-balance-summary strong{min-width:0;overflow-wrap:anywhere}.shared-balance-summary span{color:var(--tg-hint);font-size:13px;white-space:nowrap}.shared-balance-summary b{color:var(--tg-text)}.shared-balance-actions{display:grid;grid-template-columns:minmax(64px,1fr) auto 42px 42px 42px;gap:6px;align-items:center}.shared-balance-actions input{min-width:0;padding-inline:8px}.balance-view-mode{gap:8px;padding:12px}.balance-view-mode .panel-heading{margin-bottom:0}.balance-view-mode .balance-search{gap:4px}.balance-view-mode .shared-balance-list{gap:3px}.balance-view-mode .shared-balance-row{display:block;padding:7px 9px;border-color:transparent;border-radius:6px;background:color-mix(in srgb,var(--tg-surface),var(--tg-bg) 20%)}.balance-view-mode .shared-balance-row.has-stock{border-color:transparent}.balance-view-mode .shared-balance-summary{align-items:center}.balance-view-mode .shared-balance-summary strong{font-size:14px;line-height:1.15}.balance-view-mode .shared-balance-summary span{font-size:14px}.balance-view-mode .shared-balance-summary b{font-size:15px}.balance-unit{max-width:44px;overflow:hidden;color:var(--tg-hint);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.balance-change-button{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:0;border-radius:8px;color:var(--tg-button-text);background:var(--tg-button)}.balance-change-button.subtract{color:var(--tg-text);background:color-mix(in srgb,var(--tg-button),transparent 82%)}.balance-change-button.delete{color:#fff;background:#b73d3d}.balance-change-button:disabled{opacity:.4}.balance-change-button svg{width:18px;height:18px}.search-input-wrap{position:relative}.search-input-wrap svg{position:absolute;top:50%;left:12px;width:18px;transform:translateY(-50%);color:var(--tg-hint)}.search-input-wrap input{width:100%;padding-left:40px}@media(max-width:380px){.balance-edit-mode .shared-balance-summary{display:grid}.balance-heading{gap:8px}.balance-mode-button{padding-inline:8px;font-size:12px}}.inventory-form{display:grid;gap:10px;padding:10px;border:1px dashed color-mix(in srgb,var(--tg-button),transparent 45%);border-radius:10px;background:color-mix(in srgb,var(--tg-button),transparent 92%)}.inventory-table-wrap{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--tg-bg),#ffffff 8%)}.inventory-table{width:100%;border-collapse:collapse;font-size:15px}.inventory-table th,.inventory-table td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.inventory-table th{color:var(--tg-hint);font-size:12px;font-weight:900;text-transform:uppercase}.inventory-table tr:last-child td{border-bottom:0}.inventory-table th:last-child,.inventory-table td:last-child{width:44px;padding-right:6px;text-align:right}.table-delete-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid #f0b3b3;border-radius:10px;color:#c73535;background:#fff7f7}.table-delete-button svg{width:17px;height:17px}.repair-kit-add-row-button{width:100%;min-height:42px;margin-top:10px}.repair-kit-card{display:grid;gap:8px;margin-top:16px;padding:14px;border:1px dashed color-mix(in srgb,var(--tg-button),transparent 45%);border-radius:8px;background:color-mix(in srgb,var(--tg-button),transparent 92%)}.repair-kit-card strong{font-size:16px}.repair-kit-card p{margin:0;color:var(--tg-hint);font-size:14px;line-height:1.45}.repair-kit-table-wrap{overflow-x:hidden;margin-top:12px;border:1px solid var(--line);border-radius:8px}.repair-kit-table{width:100%;border-collapse:collapse;font-size:13px}.repair-kit-table th,.repair-kit-table td{padding:6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.repair-kit-table th{color:var(--tg-hint);background:color-mix(in srgb,var(--tg-surface),transparent 8%);font-weight:800}.repair-kit-table tr:last-child td{border-bottom:0}.repair-kit-table input{min-height:34px;padding:0 8px;border-radius:6px;font-size:13px}.repair-kit-table .material-picker{gap:2px}.repair-kit-table .material-picker-select{min-height:34px;padding:0 8px;border-radius:6px;font-size:13px}.repair-kit-table .material-picker-warning{display:none}.repair-kit-table th:nth-child(2),.repair-kit-table td:nth-child(2){width:86px}.repair-kit-table th:nth-child(3),.repair-kit-table td:nth-child(3){width:64px}.table-icon-button{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;color:#b33b3b;background:var(--tg-surface)}.table-icon-button svg{width:17px;height:17px}.repair-request-list{display:grid;gap:10px;margin-top:12px}.repair-request-card{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--tg-surface)}.repair-request-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.repair-request-header div{display:grid;gap:2px}.repair-request-header span{color:var(--tg-hint);font-size:12px;font-weight:800}.repair-request-table{width:100%;border-collapse:collapse;font-size:13px}.repair-request-table td{padding:4px 2px;border-top:1px solid var(--line)}.repair-request-table td:nth-child(2){width:56px;text-align:right;font-weight:800}.repair-request-table td:nth-child(3){width:48px;color:var(--tg-hint)}.object-list{display:grid;gap:9px;margin-top:8px}.object-card{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;color:var(--tg-text);background:var(--tg-bg);text-align:left}.object-card:active{transform:translateY(1px)}.object-card-main{display:grid;min-width:0;gap:5px}.object-card-main h3{overflow:hidden;margin:0 0 2px;text-overflow:ellipsis;white-space:nowrap}.object-card-main p{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--tg-hint);font-size:13px}.object-card-main svg{width:15px;height:15px;flex:0 0 auto}.object-badge-new{color:#725516;background:#faecc5}.object-badge-in_progress{color:#15526c;background:#d7eef7}.object-badge-completed{color:#215c38;background:#d8f1df}.object-calendar-hero{position:relative;overflow:hidden;max-width:100%;min-width:0;margin-bottom:10px;padding:14px;border:1px solid color-mix(in srgb,var(--tg-button),transparent 62%);border-radius:18px;color:#f7fff8;background:radial-gradient(circle at 12% 12%,rgba(118,181,134,.28),transparent 34%),radial-gradient(circle at 86% 4%,rgba(240,195,87,.26),transparent 24%),linear-gradient(160deg,#172822,#152638 54%,#111a25);box-shadow:var(--shadow)}.object-calendar-hero .eyebrow,.object-calendar-hero .panel-note{color:#f7fff89e}.object-calendar-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.object-calendar-hero-top h2{max-width:240px;color:#fff;font-size:26px;text-transform:capitalize}.object-calendar-nav{display:inline-flex;min-width:0;flex:0 0 auto;align-items:center;gap:6px}.object-calendar-nav button{display:inline-flex;width:36px;height:36px;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#f7fff8e6;background:#ffffff14}.object-calendar-nav button svg{width:18px;height:18px}.object-calendar-count{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#f7fff8db;background:#ffffff14;font-weight:900}.object-calendar-count svg{width:17px;height:17px}.object-calendar-weekdays,.object-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%;min-width:0}.object-calendar-weekdays{margin-bottom:6px}.object-calendar-weekdays span{min-width:0;color:#f7fff88a;font-size:11px;font-weight:900;text-align:center}.object-calendar-day{display:grid;width:100%;min-width:0;min-height:64px;align-content:start;gap:3px;padding:6px 4px;border:1px solid rgba(255,255,255,.08);border-radius:13px;color:inherit;background:#ffffff0e;text-align:center}.object-calendar-day.muted{opacity:.42}.object-calendar-day.today{border-color:#76b586d6;box-shadow:inset 0 0 0 1px #76b5863d}.object-calendar-day.has-objects{background:#ffffff1c}.object-calendar-day-number{color:#ffffffdb;font-size:12px;font-weight:900;text-align:center}.object-calendar-dot{display:block;overflow:hidden;width:100%;min-width:0;min-height:17px;padding:0 4px;border:0;border-radius:999px;font-size:9px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.object-calendar-more{color:#f7fff894;font-size:10px;font-weight:900;text-align:center}.object-calendar-list-panel{border-radius:16px}.object-calendar-agenda{display:grid;gap:8px;margin-top:12px}.object-calendar-agenda-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;width:100%;align-items:start;padding:10px;border:1px solid var(--line);border-radius:14px;color:var(--tg-text);background:var(--tg-bg);text-align:left}.object-calendar-modal-backdrop{position:fixed;inset:0;z-index:20;display:flex;align-items:flex-end;justify-content:center;padding:12px;background:#08100e94}.object-calendar-modal{display:grid;width:min(100%,520px);max-height:min(82vh,680px);min-width:0;overflow-y:auto;gap:14px;padding:14px;border:1px solid var(--line);border-radius:20px 20px 14px 14px;background:var(--tg-surface);box-shadow:var(--shadow)}.object-calendar-modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.object-calendar-modal-heading h2{text-transform:capitalize}.object-calendar-modal-section{display:grid;gap:8px}.object-calendar-modal-section h3{display:inline-flex;align-items:center;gap:7px;margin:0;font-size:17px}.object-calendar-modal-section h3 svg{width:18px;height:18px;color:var(--tg-button)}.object-calendar-modal-list{display:grid;gap:8px}.object-calendar-modal-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;width:100%;min-width:0;padding:10px;border:1px solid var(--line);border-radius:12px;color:var(--tg-text);background:var(--tg-bg);text-align:left}.object-calendar-modal-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-calendar-modal-card p{grid-column:1 / -1;margin:0;color:var(--tg-hint);font-size:13px}.object-calendar-agenda-date{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border-radius:12px;color:var(--tg-button);background:color-mix(in srgb,var(--tg-button),transparent 90%);font-size:13px;font-weight:900}.object-calendar-agenda-card strong{display:block;overflow:hidden;margin-bottom:4px;text-overflow:ellipsis;white-space:nowrap}.object-calendar-agenda-card p{display:inline-flex;align-items:center;gap:5px;margin:0;color:var(--tg-hint);font-size:12px}.object-calendar-agenda-card p svg{width:14px;height:14px;flex:0 0 auto}.object-calendar-agenda-card .badge{grid-column:2;width:fit-content}.object-time-note{margin:-2px 0 2px;color:var(--tg-hint);font-size:13px}.object-time-note strong{color:var(--tg-text)}.object-top-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.9fr);gap:10px;align-items:start;margin-bottom:10px}.object-top-actions .ghost-button{margin-bottom:0}.object-export-actions{display:grid;gap:8px}.object-spec-link{min-height:62px;border-radius:12px;font-size:22px}.object-checklist{display:grid;gap:8px}.object-reports-panel{gap:12px}.attach-report-toggle{width:100%;min-height:44px}.linked-report-list,.attach-report-list,.object-report-filters{display:grid;gap:8px}.linked-report-card,.attach-report-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:9px;border:1px solid var(--tg-border);border-radius:12px;color:var(--tg-text);background:color-mix(in srgb,var(--tg-bg) 88%,#ffffff);text-align:left}.attach-report-card{cursor:pointer}.attach-report-card:disabled{cursor:wait;opacity:.6}.linked-report-card strong,.attach-report-card strong{display:block;margin-bottom:3px;font-size:15px}.linked-report-open-button{display:block;width:100%;margin:0;padding:0;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.linked-report-open-button:active{opacity:.75}.linked-report-card p,.attach-report-card span{display:flex;align-items:center;gap:5px;margin:2px 0;color:var(--tg-hint);font-size:12px;line-height:1.25}.linked-report-card svg,.attach-report-card svg{width:15px;height:15px}.linked-report-summary{display:grid;gap:2px;margin-top:5px}.linked-report-summary span{display:block;color:var(--tg-text);font-size:12px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.icon-danger-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #f1b7b7;border-radius:12px;color:#bd3535;background:#fff5f5}.icon-danger-button:disabled{opacity:.55}.report-modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:14px;overflow-y:auto;overflow-x:hidden;background:#0000006b}.report-modal{display:grid;gap:8px;width:min(100%,560px);max-height:calc(100vh - 28px);overflow-y:auto;overflow-x:hidden;padding:10px;border:1px solid var(--tg-border);border-radius:16px;background:var(--tg-bg);box-shadow:0 18px 48px #00000047}.report-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:4px 2px 2px}.report-modal-header h2{margin:0}.spec-sheet-panel{overflow-x:hidden;margin-bottom:10px;background:#fff}.spec-sheet-table{width:100%;border-collapse:collapse;table-layout:auto;color:#111;background:#fff;font-family:Arial,sans-serif;font-size:11px}.spec-sheet-table th,.spec-sheet-table td{min-height:42px;padding:5px 3px;border:1px solid #b8b8b8;vertical-align:top}.spec-sheet-table th{font-size:11px;font-weight:700;text-align:center}.spec-sheet-title{font-size:20px;font-weight:900;text-align:left}.spec-sheet-table textarea,.spec-sheet-table input,.spec-sheet-table select{min-height:34px;width:100%;padding:0 2px;border:0;border-radius:0;outline:none;color:#111;background:transparent;font:inherit}.spec-sheet-table textarea{overflow:hidden;min-height:38px;resize:none;line-height:1.35}.spec-sheet-table td:nth-child(1){width:auto}.spec-sheet-table td:nth-child(2),.spec-sheet-table td:nth-child(3),.spec-sheet-table td:nth-child(4){width:1%;min-width:46px;text-align:right;white-space:nowrap}.spec-sheet-table td:nth-child(3){min-width:38px;text-align:center}.spec-sheet-total-label{color:#1f5f78;font-size:16px;font-weight:800}.spec-sheet-total-value{background:#a7f36f;font-size:16px;font-weight:900;text-align:center!important}.specification-attach-panel{display:grid;gap:12px}.spec-upload-actions{display:grid;gap:10px}.paste-hint{margin:0;padding:8px 10px;border:1px dashed color-mix(in srgb,var(--tg-link),transparent 50%);border-radius:10px;color:var(--tg-text);background:color-mix(in srgb,var(--tg-link),transparent 90%);font-size:14px}.specification-preview-panel{display:grid;overflow:hidden;gap:12px}.specification-preview-panel .compact-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.specification-preview-panel .compact-heading>div,.specification-preview-panel .compact-heading h2{min-width:0;overflow-wrap:anywhere}.specification-preview-panel .compact-action{width:100%;max-width:100%}.spec-attachment-image{width:100%;border:1px solid #b7b7b7;background:#fff;object-fit:contain}.spec-uploaded-table-wrap{width:100%;max-width:100%;overflow-x:hidden;border:1px solid #b7b7b7;background:#fff}.spec-uploaded-table{width:100%;max-width:100%;border-collapse:collapse;table-layout:fixed;color:#111;font-family:Arial,sans-serif;font-size:12px;line-height:1.2}.spec-col-name{width:58%}.spec-col-price{width:14%}.spec-col-qty{width:12%}.spec-col-sum{width:16%}.spec-uploaded-table td{padding:3px 4px;border:1px solid #b7b7b7;vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}.spec-uploaded-table tr:first-child td,.spec-uploaded-table tr:nth-child(2) td{font-weight:800}.spec-uploaded-table td:nth-child(2),.spec-uploaded-table td:nth-child(3),.spec-uploaded-table td:nth-child(4){text-align:center}.empty-spec-panel{min-height:96px}.spec-inline-button{width:auto;min-height:22px;margin-top:2px;padding:0 6px;border:1px solid #b8b8b8;border-radius:0;color:#111;background:#f5f5f5;font-size:11px}.object-spec-table-wrap{overflow-x:hidden;border:1px solid var(--line);border-radius:8px;background:var(--tg-surface)}.object-spec-table{width:100%;min-width:560px;border-collapse:collapse;font-size:12px}.object-spec-table th,.object-spec-table td{padding:5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:middle}.object-spec-table th{color:var(--tg-hint);background:color-mix(in srgb,var(--tg-surface),transparent 8%);font-weight:900;text-align:left}.object-spec-table input{min-height:34px;padding:0 7px;border-radius:6px;font-size:12px}.object-spec-table th:nth-child(2),.object-spec-table td:nth-child(2),.object-spec-table th:nth-child(3),.object-spec-table td:nth-child(3),.object-spec-table th:nth-child(4),.object-spec-table td:nth-child(4){width:82px}.object-spec-table th:last-child,.object-spec-table td:last-child{width:42px;border-right:0;text-align:center}.object-spec-table tfoot td{background:color-mix(in srgb,var(--tg-button),transparent 92%);font-weight:900}.bottom-actions .primary-action,.bottom-actions .secondary-action,.collect-comment-field{width:100%}.form-message{margin:10px 0 0;padding:12px 14px;border:1px solid color-mix(in srgb,#b33b3b,transparent 64%);border-radius:8px;background:color-mix(in srgb,#fff1f1,transparent 8%);font-weight:700}.info-message{border-color:color-mix(in srgb,var(--tg-link),transparent 62%);background:color-mix(in srgb,var(--tg-link),transparent 88%);color:var(--tg-text)}.download-fallback{display:grid;margin-top:10px}.download-fallback .primary-action{width:100%;text-decoration:none}.success-note{color:#207347}.toggle-row{display:flex;align-items:center;gap:10px;color:var(--tg-hint);font-size:13px;font-weight:800}.toggle-row input{width:20px;min-height:20px;accent-color:var(--tg-button)}.form-actions-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.materials-admin-list{display:grid;gap:10px;margin-top:12px}.material-admin-group{display:grid;gap:8px}.material-admin-group>h3{margin:8px 0 0;color:var(--tg-hint);font-size:13px;text-transform:uppercase}.material-admin-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--tg-bg)}.material-admin-title{display:flex;align-items:center;gap:8px;margin-bottom:5px}.material-admin-title h3{margin:0;font-size:17px}.material-admin-title span{padding:4px 7px;border-radius:999px;color:var(--tg-hint);background:color-mix(in srgb,var(--tg-surface),transparent 10%);font-size:12px;font-weight:800}.material-admin-card p{margin:0;color:var(--tg-hint);font-size:13px;line-height:1.35}.material-admin-card strong{display:inline-block;margin-top:7px;color:#9f2f2f;font-size:12px}.inactive-material{opacity:.68}.collect-groups{display:grid;gap:14px;margin-top:12px}.collect-group{display:grid;gap:8px}.collect-group h3{margin:0;color:var(--tg-hint);font-size:13px;font-weight:900;text-transform:uppercase}.collect-material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.collect-material-button{display:grid;min-height:58px;align-content:center;gap:3px;border:1px solid var(--line);border-radius:8px;color:var(--tg-text);background:color-mix(in srgb,var(--tg-surface),transparent 4%);font-size:12px;font-weight:900;line-height:1.15;text-align:center}.collect-material-button span{color:var(--tg-hint);font-size:11px;font-weight:800}.collect-material-button.selected{border-color:var(--tg-button);color:var(--tg-button-text);background:var(--tg-button)}.collect-material-button.selected span{color:color-mix(in srgb,var(--tg-button-text),transparent 16%)}.collect-quantity-table th:first-child,.collect-quantity-table td:first-child{min-width:180px}.collect-quantity-list{display:grid;gap:6px;margin-top:8px}.collect-quantity-card{position:relative;display:grid;gap:5px;padding:7px 34px 7px 7px;border:1px solid var(--line);border-radius:8px;background:var(--tg-bg)}.collect-quantity-card .material-picker{gap:0}.collect-quantity-card .material-picker-select,.collect-quantity-card .manual-material-input,.collect-quantity-input{min-height:34px;padding:0 10px;border-radius:7px;font-size:14px}.collect-quantity-card .material-picker-select{font-weight:800}.collect-row-remove{position:absolute;top:6px;right:6px;display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,#b33b3b,transparent 62%);border-radius:999px;color:#b33b3b;background:color-mix(in srgb,#fff1f1,transparent 12%)}.collect-row-remove svg{width:14px;height:14px}.collect-quantity-inline{display:grid;grid-template-columns:minmax(64px,1fr) repeat(3,minmax(52px,.7fr));gap:5px;align-items:center}.collect-quantity-input{font-weight:900;text-align:center}.collect-step-button{min-height:34px;border:1px solid color-mix(in srgb,var(--tg-button),transparent 60%);border-radius:8px;color:var(--tg-button);background:color-mix(in srgb,var(--tg-button),transparent 92%);font-weight:900}.collect-step-button:active{transform:translateY(1px)}.manual-material-input{margin-top:0}.report-rows-editor{margin-top:8px}.compact-add-row-button{margin-top:2px}.report-view-panel{padding:8px}.edit-report-button{min-height:38px;padding:0 10px;white-space:nowrap}.report-heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.danger-action{color:#b33b3b;border-color:color-mix(in srgb,#b33b3b,transparent 58%);background:color-mix(in srgb,#fff1f1,transparent 8%)}.report-part-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.report-part-heading strong{font-size:14px}.report-part-heading span{color:var(--tg-hint);font-size:12px;font-weight:800}.report-part-heading>div{display:grid;min-width:0;gap:3px}.report-part-heading>.report-part-actions{display:flex;flex:0 0 auto;align-items:center;gap:6px}.report-part-actions .icon-action{width:34px;height:34px}.report-part-actions .icon-action:disabled{cursor:not-allowed;opacity:.56}.report-part-edit-button{min-height:34px;flex:0 0 auto;padding:0 9px;font-size:12px;white-space:nowrap}.telegram-recovery-panel{display:grid;gap:7px;margin-bottom:8px;padding:10px;border:1px solid #c88a24;border-radius:7px;background:color-mix(in srgb,#c88a24,transparent 88%)}.telegram-recovery-panel p{margin:0;color:var(--tg-hint);font-size:12px}.telegram-recovery-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.report-excel-wrap{overflow-x:hidden;border:1px solid var(--line);border-radius:6px;background:var(--tg-surface)}.report-excel-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}.report-excel-table th,.report-excel-table td{overflow:hidden;padding:5px 6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.report-excel-table th{color:var(--tg-hint);background:color-mix(in srgb,var(--tg-surface),transparent 8%);font-weight:900;text-align:left}.report-excel-table th:nth-child(1),.report-excel-table td:nth-child(1){width:auto}.report-excel-table th:nth-child(2),.report-excel-table td:nth-child(2){width:62px;text-align:center}.report-excel-table th:nth-child(3),.report-excel-table td:nth-child(3){width:48px;text-align:center}.report-excel-table tr:last-child td{border-bottom:0}.report-excel-table th:last-child,.report-excel-table td:last-child{border-right:0}@media(max-width:420px){.quick-actions,.voice-actions{grid-template-columns:1fr}.report-card{align-items:flex-start;flex-direction:column}.report-part-heading{align-items:stretch;flex-direction:column}.report-part-edit-button{width:100%}.report-heading-actions{display:grid;width:100%;grid-template-columns:1fr}.report-summary-heading{align-items:stretch;flex-direction:column}.report-heading-actions>button{width:100%}.report-part-heading>.report-part-actions{display:grid;grid-template-columns:minmax(0,1fr) 34px}.telegram-recovery-actions,.compact-item-row{grid-template-columns:1fr}.compact-item-row .field-grid{grid-template-columns:minmax(0,1fr) 72px}.filters-grid,.form-actions-row{grid-template-columns:1fr}.collect-material-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.object-calendar-hero{padding:12px;border-radius:16px}.object-calendar-hero-top{gap:10px}.object-calendar-hero-top h2{max-width:180px;font-size:24px}.object-calendar-nav{gap:4px}.object-calendar-nav button{width:32px;height:32px}.object-calendar-count{padding:7px}.object-calendar-count svg{width:15px;height:15px}.object-calendar-weekdays,.object-calendar-grid{gap:4px}.object-calendar-day{min-height:58px;padding:5px 3px;border-radius:11px}.object-calendar-day-number{font-size:11px}.object-calendar-dot{min-height:15px;padding:0 3px;font-size:8px}}:root{--tg-bg: #f5f7f6;--tg-text: #202b26;--tg-hint: #606e67;--tg-button: #237653;--tg-surface: #ffffff;--line: color-mix(in srgb, var(--tg-text) 14%, transparent);--shadow: 0 8px 24px color-mix(in srgb, var(--tg-text) 8%, transparent);font-family:Segoe UI,system-ui,sans-serif;font-size:15px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;line-height:1.45}body{min-width:0;min-height:100dvh;background:var(--tg-bg)}.app-shell{width:min(100%,640px);min-height:100dvh;padding:max(20px,env(safe-area-inset-top)) 16px calc(100px + env(safe-area-inset-bottom))}.app-shell :where(div,section,article,label,details,button,input,select,textarea){min-width:0}.topbar{padding:0 0 20px}.topbar .eyebrow{color:var(--tg-button);letter-spacing:.16em;font-size:10px;font-weight:700;margin-bottom:8px}h1{font-size:clamp(24px,6.5vw,30px);line-height:1.15;letter-spacing:-.035em;font-weight:650;overflow-wrap:anywhere}h2,.dense-panel h2{font-size:18px;line-height:1.3;letter-spacing:-.02em;font-weight:650}h3{font-size:16px;font-weight:650;margin-bottom:5px}.subtitle{font-size:13px;line-height:1.5}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.06em}button,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;transition:background-color .14s ease,color .14s ease,transform .14s ease}button:disabled{cursor:not-allowed;opacity:.48}button:not(:disabled):active{transform:translateY(1px)}:where(button,summary,a):focus-visible{outline:3px solid var(--tg-button);outline-offset:3px}input,select,textarea{min-height:46px;max-width:100%;font-size:16px;border-radius:10px;background:var(--tg-surface)}input[type=date]{appearance:none}.field span{font-weight:600;font-size:12px}.primary-action,.secondary-action,.ghost-button{min-height:46px;padding:10px 14px;border-radius:10px;font-size:14px;font-weight:600;box-shadow:none}.quick-actions{grid-template-columns:minmax(0,1fr);gap:6px;margin-bottom:16px}.quick-actions>.secondary-action{background:transparent;border-color:transparent;min-height:44px}.status-strip{border:0;border-radius:0;background:transparent;padding:0 2px 14px;margin:0;gap:8px}.status-strip p{font-size:11px;line-height:1.45}.status-strip>div{min-width:0}.status-strip>span{flex-shrink:0;font-size:10px;font-weight:600}.status-dot{flex:0 0 6px;width:6px;height:6px;box-shadow:none}.manager-menu-shell{margin-bottom:12px}.manager-menu-button{width:auto;margin:0;padding:8px 12px;font-size:13px}.manager-menu-panel{z-index:6;border-radius:12px}.manager-menu-item{font-weight:600}.panel,.dense-panel,.filters-panel,.balance-view-mode{padding:16px;margin-bottom:12px;border:1px solid var(--line);border-radius:14px;background:var(--tg-surface);box-shadow:none}.panel-heading{gap:10px}.panel-heading>svg{width:20px;height:20px;flex:0 0 20px;color:var(--tg-hint)}.panel-note{line-height:1.5;font-size:12px}.report-summary{gap:4px 10px;margin-top:8px}.report-summary span{padding:0;background:transparent;font-size:11px;font-weight:500}.report-list{gap:0;margin-top:10px}.report-card{padding:14px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;flex-direction:row;align-items:flex-start;gap:8px;background:transparent}.report-card:last-child{border-bottom:0}.report-card>div{flex:1}.report-card h3{overflow-wrap:anywhere}.report-card p{font-size:12px}.report-card .report-engineer{font-size:12px!important;font-weight:400}.report-card.selected-for-merge{background:color-mix(in srgb,var(--tg-button) 8%,var(--tg-surface));box-shadow:inset 3px 0 var(--tg-button);padding-inline:10px}.badge{flex-shrink:0;padding:4px 7px;border-radius:6px;font-size:10px;font-weight:600}.part-count-label{padding:2px 0;font-size:11px;font-weight:500;color:var(--tg-hint);background:transparent;border-radius:0}.report-pagination{justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;margin-top:6px}.report-pagination button{border-radius:10px;background:transparent}.report-pagination span{font-weight:500;font-size:12px}.empty-state{color:var(--tg-hint);font-size:13px;line-height:1.6;margin:16px 0 4px}.filters-panel{padding:0 14px}.filter-toggle{display:flex;align-items:center;gap:8px;min-height:48px;cursor:pointer;list-style:none;font-size:13px;font-weight:600}.filter-toggle::-webkit-details-marker{display:none}.filter-toggle>svg{width:17px;height:17px;color:var(--tg-hint)}.filter-count{margin-left:auto;font-size:11px;font-weight:400;color:var(--tg-hint)}.filter-toggle:after{content:"+";font-size:19px;font-weight:400;color:var(--tg-hint)}.filters-panel[open]>.filter-toggle:after{content:"−"}.filters-panel[open]{padding-bottom:14px}.filters-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px;margin-top:4px}.filters-grid>.field:first-child{grid-column:1 / -1}.clear-filters-button{min-height:44px;font-size:12px;font-weight:600;background:transparent}.bottom-nav{left:50%;right:auto;bottom:0;transform:translate(-50%);width:min(100%,640px);padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:2px;border:0;border-top:1px solid var(--line);border-radius:0;background:var(--tg-surface);box-shadow:none}.manager-balance-nav .bottom-nav-item{min-height:58px;padding:6px 3px;gap:5px;font-size:10px;line-height:1.2;font-weight:600;border-radius:10px;overflow-wrap:normal}.bottom-nav-item svg{width:20px;height:20px;stroke-width:1.8}.bottom-nav-item.active{color:var(--tg-button);background:color-mix(in srgb,var(--tg-button) 9%,var(--tg-surface))}.repair-kit-panel{min-height:0}.repair-request-list{gap:0}.repair-request-card{padding:14px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}.repair-request-header strong{font-weight:600}.repair-request-table,.inventory-table{table-layout:fixed;width:100%}.repair-request-table td,.inventory-table td{overflow-wrap:anywhere}.inventory-table-wrap{max-width:100%}.balance-heading{flex-wrap:wrap}.balance-mode-button{min-height:44px;font-size:12px;font-weight:600;background:transparent}.balance-view-mode .shared-balance-list{gap:0}.balance-view-mode .shared-balance-row{padding:10px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.balance-view-mode .shared-balance-summary strong{font-weight:500;line-height:1.4}.balance-view-mode .shared-balance-summary b{font-weight:650}.balance-edit-mode .shared-balance-row{padding:12px;border-radius:10px;background:transparent}.shared-balance-actions{grid-template-columns:minmax(40px,1fr) auto repeat(3,44px);gap:4px}.balance-change-button{width:44px;height:44px}.balance-change-button.delete{color:#b73d3d;background:color-mix(in srgb,#b73d3d 9%,var(--tg-surface))}.icon-action,.report-part-actions .icon-action{width:44px;height:44px}.report-part-edit-button{min-height:44px;font-weight:600}.report-part-heading>.report-part-actions{grid-template-columns:minmax(0,1fr) 44px}.report-part-card,.item-row{box-shadow:none;border-radius:10px}.report-excel-table td{white-space:normal;overflow-wrap:anywhere}.report-excel-table th,.report-excel-table td{padding-block:9px}.bottom-actions{padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--tg-surface)}.collect-selection-action{position:fixed;right:auto;bottom:0;left:50%;z-index:8;width:min(calc(100% - 32px),608px);margin:0;padding:8px 0 calc(8px + env(safe-area-inset-bottom));transform:translate(-50%);border:0;border-top:1px solid var(--line);border-radius:0;background:color-mix(in srgb,var(--tg-bg) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.collect-selection-action .primary-action{width:100%}@media(hover:hover){.report-card-button:not(:disabled):hover,.manager-menu-item:not(.active):hover{background:color-mix(in srgb,var(--tg-button) 5%,var(--tg-surface))}.primary-action:not(:disabled):hover{filter:brightness(.94)}}@media(max-width:359px){.app-shell{padding-inline:12px}.panel{padding:12px}.filters-panel{padding:0 12px}.filters-panel[open]{padding-bottom:12px}.filters-grid{grid-template-columns:minmax(0,1fr)}.badge{max-width:90px;white-space:normal}.shared-balance-actions{grid-template-columns:minmax(36px,1fr) repeat(3,44px)}.shared-balance-actions .balance-unit{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
