.orders-wrapper{display:flex;flex-direction:column;gap:16px}.toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.toolbar-left{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.search-input{height:34px;padding:0 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;width:240px;background:#fff;outline:none;transition:border-color .15s}.search-input:focus{border-color:#6366f1}.status-filters{display:flex;gap:6px;flex-wrap:wrap}.filter-btn{height:34px;padding:0 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:6px;color:#374151;transition:all .15s}.filter-btn:hover{border-color:#9ca3af;background:#f9fafb}.filter-btn.active{background:#1a1a2e;color:#fff;border-color:#1a1a2e}.filter-count{background:#0000001a;border-radius:10px;padding:1px 6px;font-size:11px;font-weight:600}.filter-btn.active .filter-count{background:#fff3}.result-count{font-size:12px;color:#6b7280}.table-container{background:#fff;border-radius:10px;border:1px solid #e5e7eb;overflow:auto;box-shadow:0 1px 3px #0000000f}.orders-table{width:100%;border-collapse:collapse;white-space:nowrap}.orders-table thead th{background:#f8f9fb;padding:10px 14px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;border-bottom:1px solid #e5e7eb;-webkit-user-select:none;user-select:none}.orders-table thead th.sortable{cursor:pointer}.orders-table thead th.sortable:hover{color:#1a1a2e}.sort-icon{margin-left:4px;opacity:.35;font-size:11px}.sort-icon.active{opacity:1;color:#6366f1}.orders-table tbody tr{border-bottom:1px solid #f0f2f5;transition:background .1s}.orders-table tbody tr:last-child{border-bottom:none}.orders-table tbody tr:hover{background:#f8f9fb;cursor:pointer}.orders-table tbody tr.row-selected{background:#eef2ff}.orders-table td{padding:10px 14px;font-size:13px;color:#374151;vertical-align:middle}.col-order-num{min-width:120px}.col-client{min-width:160px;max-width:200px;overflow:hidden;text-overflow:ellipsis}.col-title{min-width:200px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-date{min-width:110px;font-variant-numeric:tabular-nums}.col-date-muted{color:#9ca3af}.col-manager{min-width:120px}.col-num{text-align:right;font-variant-numeric:tabular-nums;min-width:80px}.col-est-time{color:#374151;font-size:12px}.col-progress{min-width:140px}.units-sep{color:#d1d5db;margin:0 2px}.order-number{font-weight:600;color:#1a1a2e;font-size:12px}.badge{display:inline-block;margin-left:5px;padding:1px 5px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}.badge-rework{background:#fef3c7;color:#92400e}.badge-sample{background:#e0e7ff;color:#3730a3}.deadline-overdue{color:#dc2626;font-weight:700}.deadline-urgent{color:#ea580c;font-weight:600}.deadline-soon{color:#ca8a04}.task-progress{display:flex;align-items:center;gap:8px}.progress-bar{flex:1;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;min-width:60px}.progress-fill{height:100%;background:#6366f1;border-radius:3px;transition:width .3s}.progress-label{font-size:11px;color:#6b7280;font-variant-numeric:tabular-nums;white-space:nowrap}.no-tasks{color:#d1d5db}.state-msg{padding:40px;text-align:center;color:#6b7280;font-size:14px}.state-msg.error{color:#dc2626}.empty-row{text-align:center;color:#9ca3af;padding:40px!important}.popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:200;display:flex;align-items:stretch;justify-content:flex-end;overflow:hidden;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.popup-panel{background:#fff;width:720px;max-width:95vw;height:100%;display:flex;flex-direction:column;overflow:hidden;box-shadow:-4px 0 24px #0000001f;animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.popup-header{padding:20px 24px 16px;border-bottom:1px solid #e5e7eb;position:relative;background:#f8f9fb;flex-shrink:0}.popup-header-main{display:flex;align-items:baseline;gap:10px;margin-bottom:4px}.popup-order-num{font-size:15px;font-weight:700;color:#1a1a2e}.popup-client{font-size:13px;color:#6b7280}.popup-title{font-size:13px;color:#374151;max-width:calc(100% - 36px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popup-close{position:absolute;top:18px;right:20px;background:none;border:none;font-size:14px;color:#9ca3af;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .1s,color .1s}.popup-close:hover{background:#f3f4f6;color:#374151}.popup-body{flex:1 1 0;min-height:0;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:16px}.popup-state{padding:32px 0;text-align:center;color:#6b7280;font-size:13px}.popup-error{color:#dc2626}.product-block{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;flex-shrink:0}.product-block-header{padding:10px 14px;background:#f8f9fb;border-bottom:1px solid #e5e7eb;display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.product-block-name{font-size:12px;font-weight:600;color:#1a1a2e;flex:1;min-width:0;white-space:normal;word-break:break-word;line-height:1.4}.product-block-meta{display:flex;gap:16px;flex-shrink:0}.meta-item{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.meta-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;font-weight:600}.meta-val{font-size:13px;color:#374151;font-variant-numeric:tabular-nums}.tasks-table{width:100%;border-collapse:collapse}.tasks-table thead th{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;padding:6px 14px;text-align:left;background:#fff;border-bottom:1px solid #f0f2f5}.tasks-table thead th.num,.tasks-table tbody td.num{text-align:right}.tasks-table tbody tr{border-bottom:1px solid #f0f2f5}.tasks-table tbody tr:last-child{border-bottom:none}.tasks-table tbody tr:hover{background:#f8f9fb}.tasks-table tbody td{padding:8px 14px;font-size:12px;color:#374151;vertical-align:middle}.task-name{font-weight:500;color:#1a1a2e}.task-tech{color:#6b7280}.task-units{font-variant-numeric:tabular-nums}.units-damaged{color:#dc2626;margin-left:4px;font-size:11px}.task-status-pill{display:inline-block;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:600;white-space:nowrap}.task-backlog{background:#f3f4f6;color:#6b7280}.task-in-progress{background:#d1fae5;color:#065f46}.task-paused{background:#fef9c3;color:#854d0e}.task-finished{background:#e0e7ff;color:#3730a3}.qty-produced{color:#6b7280}.qty-sep{color:#d1d5db;margin:0 2px}.qty-ordered{font-weight:500;color:#1a1a2e}.time-total{font-weight:600;color:#1a1a2e}.popup-footer{display:flex;align-items:center;gap:16px;padding:12px 14px;background:#f8f9fb;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;flex-shrink:0}.foot-label{font-weight:600;color:#1a1a2e;flex:1}.foot-qty{color:#374151;font-variant-numeric:tabular-nums}.foot-time{font-variant-numeric:tabular-nums}.gantt-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.gantt-scroll{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 152px)}.gantt-empty{padding:60px;text-align:center;color:#9ca3af;font-size:14px}.gantt-header{display:flex;position:sticky;top:0;z-index:20;background:#f8f9fb;border-bottom:2px solid #e5e7eb}.gantt-corner{flex-shrink:0;position:sticky;left:0;z-index:21;background:#f8f9fb;border-right:1px solid #e5e7eb}.gantt-dates-col{position:relative;flex-shrink:0}.gantt-month-label{position:absolute;top:0;height:100%;display:flex;align-items:center;padding-left:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;white-space:nowrap;pointer-events:none}.gantt-day-cell{position:absolute;top:0;height:100%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:500;color:#9ca3af;border-left:1px solid #f0f2f5;box-sizing:border-box}.gantt-day-cell.week-start{border-left-color:#d1d5db}.gantt-row{display:flex;border-bottom:1px solid #f0f2f5}.gantt-row:last-child{border-bottom:none}.gantt-row:hover .gantt-row-label{background:#f8f9fb}.gantt-row:hover .gantt-track{background:#fafbfc}.gantt-tech-row{cursor:pointer;-webkit-user-select:none;user-select:none}.gantt-tech-row.is-open{background:#f8f9fb;border-bottom-color:#e5e7eb}.gantt-tech-row.is-open .gantt-row-label{background:#f8f9fb}.gantt-row.is-dimmed .gantt-row-label,.gantt-row.is-dimmed .gantt-product-label{opacity:.35}.gantt-row.is-dimmed .gantt-track{background:#fafafa}.gantt-row.is-focused .gantt-product-label{background:#fff5f5!important}.gantt-row.is-focused .gantt-product-order{color:#ef4444}.gantt-chevron{font-size:9px;color:#9ca3af;flex-shrink:0;width:10px;transition:color .1s}.gantt-tech-row:hover .gantt-chevron{color:#6b7280}.gantt-count{margin-left:auto;font-size:10px;font-weight:600;color:#9ca3af;background:#f3f4f6;border-radius:10px;padding:1px 6px;flex-shrink:0}.gantt-product-row{background:#fafbfc}.gantt-product-row:last-child{border-bottom:1px solid #e5e7eb}.gantt-product-label{padding-left:28px!important;gap:6px!important;background:#fafbfc!important}.gantt-product-row:hover .gantt-product-label{background:#f3f4f6!important}.gantt-product-row:hover .gantt-track{background:#f5f6f8}.gantt-product-order{font-size:11px;font-weight:600;color:#374151;white-space:nowrap;flex-shrink:0}.gantt-product-title{font-size:11px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.gantt-row-label{flex-shrink:0;position:sticky;left:0;z-index:10;background:#fff;border-right:1px solid #e5e7eb;display:flex;align-items:center;gap:8px;padding:0 12px;transition:background .1s}.gantt-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.gantt-tech-name{font-size:12px;font-weight:500;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-track{position:relative;flex-shrink:0;transition:background .1s}.gantt-day-bg{position:absolute;top:0;height:100%;box-sizing:border-box;border-left:1px solid #f3f4f6}.gantt-day-bg.week-start{border-left-color:#e5e7eb}.gantt-today{position:absolute;top:0;width:2px;height:100%;background:#ef4444;opacity:.55;z-index:5;pointer-events:none}.gantt-bar{position:absolute;border-radius:4px;opacity:.82;cursor:pointer;transition:opacity .12s,filter .12s;z-index:4;min-width:4px}.gantt-bar:hover{opacity:1;filter:brightness(1.1)}.gantt-bar-product{border-radius:3px;opacity:.75}.gantt-bar-product:hover{opacity:1}.gantt-tooltip{position:fixed;z-index:9999;background:#1a1a2e;color:#f3f4f6;border-radius:8px;padding:10px 14px;font-size:12px;line-height:1.5;pointer-events:none;box-shadow:0 4px 16px #00000040;min-width:220px;max-width:300px}.gt-order{font-size:13px;font-weight:700;color:#fff;letter-spacing:.02em}.gt-product{font-size:11px;color:#a5b4fc;font-weight:500;margin-top:1px}.gt-client{font-size:11px;color:#9ca3af;margin-top:1px}.gt-divider{border-top:1px solid rgba(255,255,255,.1);margin:7px 0}.gt-row{display:flex;gap:8px;align-items:baseline;font-size:11px;color:#d1d5db}.gt-label{width:34px;flex-shrink:0;color:#6b7280;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.gt-time{color:#9ca3af;margin-left:3px}.load-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.load-scroll{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 152px)}.load-empty{padding:60px;text-align:center;color:#9ca3af;font-size:14px}.load-header{display:flex;position:sticky;top:0;z-index:20;background:#f8f9fb;border-bottom:2px solid #e5e7eb}.load-corner{flex-shrink:0;position:sticky;left:0;z-index:21;background:#f8f9fb;border-right:1px solid #e5e7eb}.load-month-label{position:absolute;top:0;height:100%;display:flex;align-items:center;padding-left:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;white-space:nowrap;pointer-events:none}.load-day-header{position:absolute;top:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-left:1px solid #f0f2f5;box-sizing:border-box}.load-day-header.week-start{border-left-color:#d1d5db}.load-day-header.today{background:#ef444412}.ldh-num{font-size:11px;font-weight:600;color:#374151;line-height:1}.ldh-name{font-size:8px;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em}.load-row{display:flex;border-bottom:1px solid #f0f2f5}.load-row:last-child{border-bottom:none}.load-row-label{flex-shrink:0;position:sticky;left:0;z-index:10;background:#fff;border-right:1px solid #e5e7eb;display:flex;align-items:center;gap:8px;padding:0 12px}.load-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.load-tech-name{font-size:12px;font-weight:500;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.load-cell{flex-shrink:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border-left:1px solid #f3f4f6;transition:filter .1s}.load-cell:hover{filter:brightness(.9)}.load-cell.week-start{border-left-color:#e5e7eb}.load-cell.today{outline:2px solid rgba(239,68,68,.35);outline-offset:-2px}.load-cell-val{font-size:10px;font-weight:700;white-space:nowrap;line-height:1}.load-total-row{border-top:2px solid #e5e7eb;position:sticky;bottom:0;z-index:10;background:#f8f9fb}.load-total-label{background:#f8f9fb!important}.load-total-text{font-size:11px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.06em;padding-left:4px}.load-total-cell{background:#f8f9fb!important}.load-total-val{color:#1a1a2e!important;font-size:10px;font-weight:700}.mini-gantt{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px;background:#fff;margin-top:8px}.mg-empty{color:#9ca3af;font-size:12px;margin:8px 0}.mg-header{display:flex;background:#f8f9fb;border-bottom:1px solid #e5e7eb}.mg-corner{flex-shrink:0;border-right:1px solid #e5e7eb}.mg-month{position:absolute;top:0;height:100%;display:flex;align-items:center;padding-left:5px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;white-space:nowrap;pointer-events:none}.mg-day-cell{position:absolute;top:0;height:100%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:500;color:#9ca3af;border-left:1px solid #f0f2f5;box-sizing:border-box}.mg-day-cell.week-start{border-left-color:#d1d5db}.mg-row{display:flex;border-bottom:1px solid #f3f4f6}.mg-row:last-child{border-bottom:none}.mg-label{flex-shrink:0;display:flex;align-items:center;gap:7px;padding:0 10px;border-right:1px solid #e5e7eb;background:#fff}.mg-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.mg-tech{font-size:11px;font-weight:500;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mg-track{position:relative;flex-shrink:0}.mg-day-bg{position:absolute;top:0;height:100%;box-sizing:border-box;border-left:1px solid #f3f4f6}.mg-day-bg.week-start{border-left-color:#e5e7eb}.mg-today{position:absolute;top:0;width:2px;height:100%;background:#ef4444;opacity:.5;z-index:3;pointer-events:none}.mg-bar{position:absolute;border-radius:3px;opacity:.85;cursor:default;z-index:2;min-width:5px;transition:opacity .1s}.mg-bar:hover{opacity:1}.plan-page{display:flex;flex-direction:column;gap:20px}.plan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.view-toggle{display:flex;gap:2px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:3px}.view-btn{background:none;border:none;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;transition:background .15s,color .15s}.view-btn:hover{background:#e5e7eb;color:#374151}.view-btn.active{background:#fff;color:#1a1a2e;box-shadow:0 1px 3px #0000001a}.order-combobox{position:relative}.order-combobox-wrap{display:flex;align-items:center;gap:6px;height:30px;padding:0 8px;background:#fff;border:1px solid #d1d5db;border-radius:6px;transition:border-color .15s,box-shadow .15s}.order-combobox-wrap:focus-within{border-color:#ef4444;box-shadow:0 0 0 2px #ef44441a}.order-combobox-wrap.has-value{border-color:#ef4444}.order-combobox-icon{width:13px;height:13px;color:#9ca3af;flex-shrink:0;transition:color .15s}.order-combobox-wrap.has-value .order-combobox-icon{color:#ef4444}.order-combobox-input{border:none;outline:none;font-size:12px;color:#374151;background:transparent;width:160px;font-family:inherit}.order-combobox-wrap.has-value .order-combobox-input{color:#ef4444;font-weight:600}.order-combobox-input::placeholder{color:#9ca3af}.order-combobox-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:200;overflow:hidden}.order-combobox-item{display:flex;align-items:baseline;gap:8px;padding:7px 12px;cursor:pointer;transition:background .08s}.order-combobox-item:hover,.order-combobox-item.active{background:#f3f4f6}.order-combobox-item.selected{background:#fff5f5}.ocb-order{font-size:12px;font-weight:600;color:#1a1a2e;white-space:nowrap;flex-shrink:0}.ocb-client{font-size:11px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-search-wrap{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:0 8px;height:30px;transition:border-color .15s}.gantt-search-wrap:focus-within{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.gantt-search-icon{width:13px;height:13px;color:#9ca3af;flex-shrink:0}.gantt-search-input{border:none;outline:none;font-size:12px;color:#374151;background:transparent;width:200px;font-family:inherit}.gantt-search-input::placeholder{color:#9ca3af}.date-filter{display:flex;align-items:center;gap:8px}.date-filter-label{font-size:12px;font-weight:500;color:#6b7280;-webkit-user-select:none;user-select:none}.date-filter-input{height:30px;padding:0 8px;border:1px solid #d1d5db;border-radius:6px;font-size:12px;color:#374151;background:#fff;outline:none;transition:border-color .15s;font-family:inherit}.date-filter-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.date-filter-clear{height:18px;width:18px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;font-size:10px;line-height:1;color:#c4c8d0;cursor:pointer;transition:background .1s,color .1s;padding:0;flex-shrink:0}.date-filter-clear:hover{background:#fee2e2;color:#dc2626}.date-filter>.date-filter-clear{height:30px;width:30px;border-radius:6px;font-size:11px;border:1px solid #d1d5db;color:#9ca3af}.date-filter>.date-filter-clear:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.plan-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:auto;box-shadow:0 1px 3px #0000000f}.plan-table{width:100%;border-collapse:collapse;white-space:nowrap}.plan-table thead th{background:#f8f9fb;padding:10px 14px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;border-bottom:1px solid #e5e7eb}.proj-row{border-bottom:1px solid #f0f2f5;cursor:pointer;transition:background .1s}.proj-row:hover{background:#f8f9fb}.proj-row.row-late{background:#fff5f5}.proj-row.row-late:hover{background:#fee2e2}.proj-row td{padding:10px 14px;font-size:13px;color:#374151;vertical-align:middle}.col-order-num .order-number{font-weight:600;font-size:12px;color:#1a1a2e}.col-product{max-width:200px;overflow:hidden;text-overflow:ellipsis;font-weight:500}.col-pcs{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:#374151;width:60px}.status-new{background:#dbeafe;color:#1d4ed8}.status-design{background:#ede9fe;color:#6d28d9}.delta-ok{color:#059669;font-weight:700;font-size:12px}.delta-late{color:#dc2626;font-weight:700;font-size:12px}.delta-exact{color:#2563eb;font-weight:700;font-size:12px}.delta-none{color:#d1d5db}.col-stagebar{min-width:180px;width:220px}.stage-bar{position:relative;height:12px;background:#f3f4f6;border-radius:6px;overflow:hidden}.stage-seg{position:absolute;top:0;height:100%;border-radius:3px;background:hsl(var(--hue),60%,55%);opacity:.85;min-width:3px;transition:opacity .1s}.stage-seg:hover{opacity:1}.no-stages{color:#d1d5db;font-size:12px}.detail-row,.detail-row:hover{background:#f8f9fb}.detail-cell{padding:0 14px 14px 46px!important}.no-stage-detail{color:#9ca3af;font-size:12px;margin:8px 0}.stages-detail-table{width:100%;border-collapse:collapse;margin-top:8px}.stages-detail-table thead th{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;padding:4px 10px 6px;text-align:left;border-bottom:1px solid #e5e7eb}.stages-detail-table thead th.num,.stages-detail-table tbody td.num{text-align:right}.stages-detail-table tbody tr{border-bottom:1px solid #f0f2f5}.stages-detail-table tbody tr:last-child{border-bottom:none}.stages-detail-table tbody td{padding:6px 10px;font-size:12px;color:#374151;vertical-align:middle}.stage-tech-name{display:flex;align-items:center;gap:8px;font-weight:500}.stage-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:hsl(var(--hue),60%,55%);flex-shrink:0}.stage-date{font-variant-numeric:tabular-nums}.stage-time{color:#9ca3af;margin-left:4px}.stage-dur{font-variant-numeric:tabular-nums;color:#6b7280}.stage-span{color:#374151;font-weight:500}.plan-state{padding:60px;text-align:center;color:#6b7280;font-size:14px}.plan-error{color:#dc2626}.qc-page{display:flex;flex-direction:column;gap:16px}.qc-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.qc-heading-left{display:flex;align-items:baseline;gap:12px}.qc-title{margin:0;font-size:16px;font-weight:700;color:#1a1a2e}.qc-count{font-size:12px;color:#9ca3af}.qc-mode-toggle{display:flex;gap:8px;flex-shrink:0}.qc-mode-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.qc-mode-btn:hover{border-color:#d1d5db;color:#374151}.qc-mode-btn.active{background:#fff5f5;border-color:#fca5a5;color:#dc2626;font-weight:600}.qc-mode-btn-suspicious.active{background:#fffbeb;border-color:#fcd34d;color:#92400e}.qc-mode-icon{font-size:11px;line-height:1}.qc-mode-hint{font-size:10px;opacity:.65;margin-left:-2px}.qc-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:80px 40px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#6b7280}.qc-empty-icon{font-size:32px;color:#10b981;line-height:1}.qc-empty-text{font-size:14px}.qc-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:auto;box-shadow:0 1px 3px #0000000f}.qc-table{width:100%;border-collapse:collapse;white-space:nowrap}.qc-table thead th{background:#f8f9fb;padding:10px 14px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;border-bottom:1px solid #e5e7eb}.th-expand{width:32px}.qc-row{border-bottom:1px solid #f0f2f5;cursor:pointer;transition:background .1s}.qc-row:hover{background:#fffbf0}.qc-row td{padding:10px 14px;font-size:13px;color:#374151;vertical-align:middle}.expand-cell{color:#9ca3af;font-size:10px;text-align:center!important;padding:10px 8px!important;-webkit-user-select:none;user-select:none}.col-order .order-number{font-weight:600;font-size:12px;color:#1a1a2e;text-decoration:underline;text-decoration-color:#d1d5db;text-underline-offset:2px;transition:color .1s}.col-order .order-number:hover{color:#ef4444;text-decoration-color:#ef4444}.col-client{max-width:160px;overflow:hidden;text-overflow:ellipsis}.col-product{max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.col-pcs{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;width:60px}.col-date{font-variant-numeric:tabular-nums}.col-techs{white-space:normal}.status-pill{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600}.status-production{background:#d1fae5;color:#065f46}.status-postproduction{background:#fef9c3;color:#854d0e}.status-qc{background:#ffedd5;color:#9a3412}.tech-pill-list{display:flex;flex-wrap:wrap;gap:4px}.tech-pill{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500;background:#f3f4f6;color:#6b7280;white-space:nowrap}.tech-pill-missing{background:#fef2f2;color:#b91c1c;outline:1px solid #fca5a5}.tech-pill-suspicious{background:#fffbeb;color:#92400e;outline:1px solid #fcd34d}.tech-pill-warn{font-weight:800;font-size:10px;color:#ef4444}.tech-pill-warn-suspicious{color:#d97706}.qc-detail-row,.qc-detail-row:hover{background:#f8f9fb}.qc-detail-cell{padding:0 14px 14px 46px!important}.qc-tasks-table{width:100%;border-collapse:collapse;margin-top:8px}.qc-tasks-table thead th{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;padding:4px 10px 6px;text-align:left;border-bottom:1px solid #e5e7eb}.qc-tasks-table thead th.num{text-align:right}.qc-tasks-table tbody tr{border-bottom:1px solid #f0f2f5}.qc-tasks-table tbody tr:last-child{border-bottom:none}.qc-tasks-table tbody td{padding:6px 10px;font-size:12px;color:#374151;vertical-align:middle}.qc-tasks-table tbody td.num{text-align:right}.task-row-finished{opacity:.6}.task-row-finished.task-row-missing,.task-row-finished.task-row-suspicious{opacity:1}.task-row-missing{background:#fff5f5}.task-row-missing td{color:#7f1d1d}.task-row-suspicious{background:#fffdf0}.task-row-suspicious td{color:#78350f}.task-name-cell{font-weight:500}.task-tech-badge{display:inline-block;padding:1px 7px;border-radius:20px;font-size:11px;font-weight:500;background:hsl(var(--hue),40%,93%);color:hsl(var(--hue),45%,35%)}.task-status-text{font-size:11px;color:#6b7280}.missing-badge{display:inline-block;padding:1px 7px;border-radius:4px;background:#fee2e2;color:#dc2626;font-weight:600;font-size:11px}.suspicious-badge{display:inline-block;padding:1px 7px;border-radius:4px;background:#fef3c7;color:#92400e;font-weight:600;font-size:11px}.time-ok{color:#374151;font-variant-numeric:tabular-nums}.qc-state{padding:60px;text-align:center;color:#6b7280;font-size:14px}.qc-error{color:#dc2626}.est-page{display:flex;flex-direction:column;gap:20px}.est-heading{display:flex;flex-direction:column;gap:4px}.est-title{margin:0;font-size:16px;font-weight:700;color:#1a1a2e}.est-subtitle{margin:0;font-size:12px;color:#9ca3af}.est-inputs{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px 20px;box-shadow:0 1px 3px #0000000d}.est-field{display:flex;flex-direction:column;gap:5px}.est-field-sm{min-width:130px}.est-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.est-number-input,.est-date-input{height:34px;padding:0 10px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;color:#374151;background:#fff;outline:none;font-family:inherit;transition:border-color .15s,box-shadow .15s}.est-number-input{width:90px}.est-number-input:focus,.est-date-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.est-run-btn{height:34px;padding:0 20px;background:#1a1a2e;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;align-self:flex-end;white-space:nowrap}.est-run-btn:hover:not(.disabled){background:#2d2d4e}.est-run-btn.disabled{opacity:.4;cursor:not-allowed}.est-combobox{position:relative}.est-combobox-wrap{display:flex;align-items:center;gap:6px;height:34px;padding:0 8px;background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:320px;transition:border-color .15s,box-shadow .15s}.est-combobox-wrap:focus-within{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.est-combobox-wrap.has-value{border-color:#6366f1}.est-combobox-icon{width:13px;height:13px;color:#9ca3af;flex-shrink:0}.est-combobox-wrap.has-value .est-combobox-icon{color:#6366f1}.est-combobox-input{flex:1;border:none;outline:none;font-size:13px;color:#374151;background:transparent;font-family:inherit;min-width:0}.est-combobox-input::placeholder{color:#9ca3af}.est-spinner{width:13px;height:13px;border:2px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;flex-shrink:0;animation:est-spin .6s linear infinite}@keyframes est-spin{to{transform:rotate(360deg)}}.est-combobox-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:200;overflow:hidden;max-height:300px;overflow-y:auto}.est-combobox-item{display:flex;flex-direction:column;gap:1px;padding:8px 12px;cursor:pointer;transition:background .08s}.est-combobox-item:hover,.est-combobox-item.active{background:#f3f4f6}.est-combobox-item.selected{background:#eef2ff}.ecb-name{font-size:12px;font-weight:600;color:#1a1a2e}.ecb-meta{display:flex;align-items:center;gap:6px}.ecb-id{font-size:10px;color:#d1d5db;font-variant-numeric:tabular-nums}.ecb-pretty-code{font-size:10px;color:#6b7280;font-weight:600;font-family:monospace}.ecb-version{font-size:10px;color:#6366f1;font-weight:600}.ecb-client{font-size:10px;color:#9ca3af}.est-error{padding:12px 16px;background:#fff5f5;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;font-size:13px}.est-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:80px 40px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#9ca3af}.est-empty-icon{font-size:30px;line-height:1}.est-empty-text{font-size:13px}.est-result{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.est-summary{display:flex;flex-wrap:wrap;gap:0;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f8f9fb;align-items:center;row-gap:8px}.est-summary-item{display:flex;flex-direction:column;gap:2px;padding:0 20px 0 0}.est-summary-completion{padding-right:0}.est-summary-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af}.est-summary-val{font-size:13px;font-weight:500;color:#374151}.est-summary-divider{width:1px;align-self:stretch;background:#e5e7eb;margin:0 20px 0 0}.est-completion-date{font-size:18px;font-weight:700;color:#1a1a2e;display:flex;align-items:baseline;gap:6px}.est-completion-time{font-size:13px;font-weight:500;color:#6b7280}.est-time{color:#9ca3af;font-size:11px;margin-left:2px}.est-timeline{position:relative;height:14px;background:#f3f4f6;margin:0}.est-timeline-seg{position:absolute;top:0;height:100%;background:hsl(var(--hue),60%,55%);opacity:.85;min-width:3px;transition:opacity .1s}.est-timeline-seg:hover{opacity:1}.est-stages-table{width:100%;border-collapse:collapse}.est-stages-table thead th{background:#f8f9fb;padding:8px 14px;text-align:left;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;border-bottom:1px solid #e5e7eb;border-top:1px solid #e5e7eb}.est-stages-table thead th.num{text-align:right}.est-stages-table tbody tr{border-bottom:1px solid #f0f2f5}.est-stages-table tbody tr:last-child{border-bottom:none}.est-stages-table tbody tr:hover{background:#f8f9fb}.est-stages-table tbody td{padding:9px 14px;font-size:12px;color:#374151;vertical-align:middle}.est-stages-table tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.est-task-name{font-weight:500}.est-date-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.est-tech-badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500;background:hsl(var(--hue),40%,93%);color:hsl(var(--hue),45%,35%);white-space:nowrap}.missing{color:#dc2626;font-weight:600}.to-page{display:flex;flex-direction:column;gap:16px}.to-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.to-heading{display:flex;align-items:baseline;gap:10px}.to-title{margin:0;font-size:16px;font-weight:700;color:#1a1a2e}.to-count{font-size:12px;color:#9ca3af}.to-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.to-presets{display:flex;gap:4px}.to-preset-btn{height:30px;padding:0 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;transition:border-color .12s,background .12s,color .12s}.to-preset-btn:hover{border-color:#d1d5db;color:#374151}.to-preset-btn.active{background:#1a1a2e;border-color:#1a1a2e;color:#fff;font-weight:600}.to-date-range{display:flex;align-items:center;gap:6px}.to-date-input{height:30px;padding:0 8px;border:1px solid #d1d5db;border-radius:6px;font-size:12px;color:#374151;background:#fff;outline:none;font-family:inherit;transition:border-color .15s,box-shadow .15s}.to-date-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.to-date-sep{font-size:12px;color:#9ca3af}.to-apply-btn{height:30px;padding:0 14px;background:#1a1a2e;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:background .12s,opacity .12s}.to-apply-btn:hover:not(:disabled){background:#2d2d4e}.to-apply-btn:disabled{opacity:.4;cursor:not-allowed}.to-stats{display:flex;align-items:center;gap:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px 20px;box-shadow:0 1px 3px #0000000d;flex-wrap:wrap;row-gap:8px}.to-stat{display:flex;flex-direction:column;gap:2px;padding-right:24px}.to-stat-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af}.to-stat-val{font-size:20px;font-weight:700;color:#1a1a2e;font-variant-numeric:tabular-nums;line-height:1.2}.to-stat-sub{font-size:10px;color:#9ca3af}.to-stats-divider{width:1px;align-self:stretch;background:#e5e7eb;margin:0 24px 0 0}.to-controls-sep{width:1px;height:20px;background:#e5e7eb;flex-shrink:0}.to-filter-field{display:flex;align-items:center;gap:6px;height:32px;padding:0 8px;background:#fff;border:1px solid #d1d5db;border-radius:6px;transition:border-color .15s,box-shadow .15s}.to-filter-field:focus-within{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.to-filter-icon{width:13px;height:13px;color:#9ca3af;flex-shrink:0}.to-filter-input{border:none;outline:none;font-size:12px;color:#374151;background:transparent;font-family:inherit;width:200px}.to-filter-input::placeholder{color:#9ca3af}.to-filter-field-select{padding-right:4px}.to-filter-select{border:none;outline:none;font-size:12px;color:#374151;background:transparent;font-family:inherit;cursor:pointer;min-width:160px;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239ca3af' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0px center}.to-filter-clear{background:none;border:none;padding:0 2px;font-size:10px;color:#c4c8d0;cursor:pointer;line-height:1;flex-shrink:0;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s}.to-filter-clear:hover{background:#fee2e2;color:#dc2626}.to-filter-reset{height:32px;padding:0 12px;background:none;border:1px solid #e5e7eb;border-radius:6px;font-size:12px;color:#6b7280;cursor:pointer;transition:border-color .12s,color .12s}.to-filter-reset:hover{border-color:#fca5a5;color:#dc2626}.to-state{padding:60px;text-align:center;color:#6b7280;font-size:14px}.to-error{color:#dc2626}.to-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:80px 40px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#9ca3af}.to-empty-icon{font-size:30px;line-height:1}.to-empty-text{font-size:13px}.to-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:auto;box-shadow:0 1px 3px #0000000f}.to-table{width:100%;border-collapse:collapse;white-space:nowrap}.to-table thead th{background:#f8f9fb;padding:9px 12px;text-align:left;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:1}.to-table thead th.num{text-align:right}.to-row{border-bottom:1px solid #f0f2f5;transition:background .08s}.to-row:last-child{border-bottom:none}.to-row:hover{background:#f8f9fb}.to-table tbody td{padding:8px 12px;font-size:12px;color:#374151;vertical-align:middle}.to-table tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.to-cell-date{white-space:nowrap}.to-date{font-weight:500}.to-time{color:#9ca3af;font-size:11px;margin-left:5px}.to-cell-task{font-weight:500;max-width:160px;overflow:hidden;text-overflow:ellipsis}.to-tech-badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500;background:hsl(var(--hue),40%,93%);color:hsl(var(--hue),45%,35%);white-space:nowrap}.to-order-link{font-weight:600;font-size:12px;color:#1a1a2e;cursor:pointer;text-decoration:underline;text-decoration-color:#d1d5db;text-underline-offset:2px;transition:color .1s;white-space:nowrap}.to-order-link:hover{color:#6366f1;text-decoration-color:#6366f1}.to-cell-product{max-width:220px;overflow:hidden;text-overflow:ellipsis}.to-cell-client{max-width:160px;overflow:hidden;text-overflow:ellipsis}.to-cell-assignee{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.to-cell-mono{font-variant-numeric:tabular-nums}.to-produced{font-weight:600}.to-damaged{color:#dc2626;font-weight:600}.to-zero,.to-missing{color:#d1d5db}.to-delta-good{color:#16a34a;font-weight:600}.to-delta-bad{color:#dc2626;font-weight:600}.toe-page{display:flex;flex-direction:column;gap:20px}.toe-heading{display:flex;flex-direction:column;gap:4px}.toe-title{margin:0;font-size:16px;font-weight:700;color:#1a1a2e}.toe-subtitle{margin:0;font-size:12px;color:#9ca3af}.toe-inputs{display:flex;align-items:flex-end;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px 20px;box-shadow:0 1px 3px #0000000d}.toe-field{display:flex;flex-direction:column;gap:5px}.toe-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.toe-state{padding:60px;text-align:center;color:#6b7280;font-size:14px}.toe-error{padding:12px 16px;background:#fff5f5;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;font-size:13px}.toe-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:80px 40px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#9ca3af}.toe-empty-icon{font-size:30px;line-height:1}.toe-empty-text{font-size:13px}.toe-result{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.toe-product-header{display:flex;align-items:center;gap:10px;padding:14px 20px;background:#f8f9fb;border-bottom:1px solid #e5e7eb;flex-wrap:wrap}.toe-product-name{font-size:13px;font-weight:700;color:#1a1a2e}.toe-product-client{font-size:12px;color:#6b7280}.toe-product-version{font-size:11px;font-weight:600;color:#6366f1}.toe-th-expand{width:28px}.toe-cell-expand{width:28px;text-align:center;padding:0 4px!important}.toe-expand-btn{background:none;border:none;font-size:10px;color:#9ca3af;cursor:pointer;padding:2px 4px;border-radius:3px;transition:color .1s,background .1s}.toe-expand-btn:hover{color:#374151;background:#f3f4f6}.toe-table{width:100%;border-collapse:collapse;white-space:nowrap}.toe-table thead th{background:#f8f9fb;padding:8px 14px;text-align:left;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;border-bottom:1px solid #e5e7eb;border-top:1px solid #e5e7eb}.toe-table thead th.num{text-align:right}.toe-row{border-bottom:1px solid #f0f2f5;transition:background .08s}.toe-row:last-child{border-bottom:none}.toe-row:hover{background:#f8f9fb}.toe-row-nodata{opacity:.55}.toe-table tbody td{padding:10px 14px;font-size:12px;color:#374151;vertical-align:middle}.toe-table tbody td.num{text-align:right}.toe-cell-priority{color:#9ca3af;font-size:11px;width:28px}.toe-cell-task{font-weight:500}.toe-cell-mono{font-variant-numeric:tabular-nums}.toe-tech-badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500;background:hsl(var(--hue),40%,93%);color:hsl(var(--hue),45%,35%);white-space:nowrap}.toe-delta-good{color:#16a34a;font-weight:600}.toe-delta-bad{color:#dc2626;font-weight:600}.toe-delta-pct{font-size:10px;margin-left:4px;opacity:.75;font-weight:500}.toe-missing{color:#d1d5db}.toe-no-history{font-size:11px;font-style:italic}.toe-record-count{display:inline-block;min-width:24px;text-align:center;padding:1px 6px;border-radius:10px;background:#f3f4f6;color:#6b7280;font-size:11px;font-weight:600}.toe-cell-bar{width:120px;padding-right:20px}.toe-bar-wrap{display:flex;align-items:center;width:100%}.toe-bar-track{position:relative;width:100%;height:6px;background:#f3f4f6;border-radius:4px;overflow:visible}.toe-bar-fill{height:100%;background:#6366f1;border-radius:4px;opacity:.5;min-width:3px}.toe-bar-est{position:absolute;top:-3px;width:2px;height:12px;background:#1a1a2e;border-radius:1px;transform:translate(-50%)}.toe-records-row,.toe-records-row:hover{background:#f8f9fb}.toe-records-cell{padding:0 16px 14px 48px!important}.toe-records-wrap{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.toe-records-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f8f9fb;border-bottom:1px solid #e5e7eb}.toe-records-title{font-size:11px;font-weight:600;color:#6b7280}.toe-records-restore,.toe-records-exclude-all{font-size:11px;font-weight:500;background:none;border:1px solid #e5e7eb;border-radius:4px;padding:2px 8px;cursor:pointer;transition:border-color .1s,color .1s}.toe-records-restore{color:#6b7280}.toe-records-restore:hover{border-color:#6366f1;color:#6366f1}.toe-records-exclude-all{color:#9ca3af}.toe-records-exclude-all:hover{border-color:#fca5a5;color:#dc2626}.toe-rec-table{width:100%;border-collapse:collapse;white-space:nowrap}.toe-rec-table thead th{padding:6px 10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;text-align:left;border-bottom:1px solid #f0f2f5}.toe-rec-table thead th.num{text-align:right}.toe-rec-th-check{width:32px}.toe-rec-row{border-bottom:1px solid #f9fafb;transition:background .08s}.toe-rec-row:last-child{border-bottom:none}.toe-rec-row:hover{background:#fafafa}.toe-rec-row td{padding:5px 10px;font-size:11px;color:#374151;vertical-align:middle}.toe-rec-row td.num{text-align:right;font-variant-numeric:tabular-nums}.toe-rec-excluded{opacity:.35}.toe-rec-check-cell{text-align:center;padding:0 4px!important}.toe-rec-checkbox{cursor:pointer;accent-color:#6366f1;width:13px;height:13px}.toe-rec-date{white-space:nowrap}.toe-rec-time{color:#9ca3af;font-size:10px;margin-left:4px}.toe-rec-order{font-weight:500}.toe-record-count-partial{background:#fef3c7;color:#92400e}.toe-reset-btn{align-self:flex-end;height:34px;padding:0 14px;background:none;border:1px solid #fca5a5;border-radius:6px;font-size:12px;font-weight:500;color:#dc2626;cursor:pointer;transition:background .1s}.toe-reset-btn:hover{background:#fff5f5}.toe-footer-note{padding:10px 20px;font-size:11px;color:#9ca3af;border-top:1px solid #f0f2f5;background:#fafafa}.login-backdrop{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#1e2130}.login-card{background:#fff;border-radius:12px;padding:2.5rem 2rem;width:100%;max-width:360px;box-shadow:0 8px 32px #00000040;text-align:center}.login-title{margin:0 0 .25rem;font-size:1.6rem;font-weight:700;color:#1e2130}.login-subtitle{margin:0 0 2rem;font-size:.85rem;color:#6b7280}.login-form{display:flex;flex-direction:column;gap:.6rem;text-align:left}.login-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#374151}.login-input{padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;outline:none;transition:border-color .15s}.login-input:focus{border-color:#4f6ef7;box-shadow:0 0 0 3px #4f6ef726}.login-error{margin:0;font-size:.82rem;color:#dc2626}.login-btn{margin-top:.4rem;padding:.65rem;background:#4f6ef7;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.login-btn:hover:not(:disabled){background:#3b55d4}.login-btn:disabled{opacity:.55;cursor:default}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{background:#1a1a2e;color:#fff;padding:0 24px;height:56px;display:flex;align-items:center;box-shadow:0 2px 8px #0003;position:sticky;top:0;z-index:100}.header-inner{display:flex;align-items:center;gap:32px;width:100%}.app-header h1{font-size:15px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.app-nav{display:flex;gap:4px}.nav-btn{background:none;border:none;color:#8b8fa8;font-size:13px;font-weight:500;padding:6px 12px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.nav-btn:hover{background:#ffffff14;color:#fff}.nav-btn.active{background:#ffffff1f;color:#fff}.logout-btn{margin-left:auto;color:#f87171}.logout-btn:hover{background:#f871711f;color:#fca5a5}.app-main{flex:1;padding:24px 24px 8px}.plan-empty{display:flex;align-items:center;justify-content:center;height:300px;color:#9ca3af;font-size:14px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;background:#f0f2f5;color:#1a1a2e}#root{min-height:100vh}
