.date-picker{vertical-align:middle;display:inline-flex;position:relative}.date-picker-full{width:100%;margin-bottom:10px;display:flex}.date-picker-trigger{height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);min-width:148px;color:var(--color-text);font:inherit;cursor:pointer;align-items:center;gap:8px;padding:0 12px;font-size:14px;font-weight:500;transition:border-color .15s,box-shadow .15s;display:inline-flex}.date-picker-full .date-picker-trigger{width:100%;height:auto;min-height:44px;font-size:15px}.date-picker-trigger:hover{border-color:#c5ced8}.date-picker-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.date-picker-trigger-icon{width:16px;height:16px;color:var(--color-text-muted);flex-shrink:0}.date-picker-full .date-picker-trigger-icon{width:18px;height:18px}.date-picker-trigger-value{white-space:nowrap}.date-picker-popover{z-index:40;box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:12px;position:fixed;box-shadow:0 8px 24px #1018281f,0 2px 6px #1018280f}.date-picker-month-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.date-picker-month-label{text-align:center;color:var(--color-text);flex:1;font-size:14px;font-weight:600}.date-picker-nav{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.date-picker-nav svg{width:18px;height:18px}.date-picker-nav:hover{background:var(--color-primary-soft);color:var(--color-primary)}.date-picker-nav:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.date-picker-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.date-picker-weekdays span{letter-spacing:.02em;text-transform:uppercase;height:28px;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.date-picker-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-picker-day{width:34px;height:34px;color:var(--color-text);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;margin:0 auto;font-size:13px;transition:background-color .12s,color .12s,border-color .12s;display:flex}.date-picker-day:hover{background:var(--color-primary-soft);color:var(--color-primary)}.date-picker-day:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.date-picker-day.is-outside{color:#a0aab8}.date-picker-day.is-today:not(.is-selected){border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.date-picker-day.is-selected{background:var(--color-primary);color:#fff;font-weight:600}.date-picker-day.is-selected:hover{background:var(--color-primary-hover);color:#fff}.date-picker-footer{border-top:1px solid var(--color-border-subtle);justify-content:flex-end;margin-top:10px;padding-top:8px;display:flex}.date-picker-today{color:var(--color-primary);font:inherit;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;padding:4px 6px;font-size:13px;font-weight:600}.date-picker-today:hover{background:var(--color-primary-soft)}.date-picker-today:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.assembly-pwa-overlay{z-index:80;padding:16px 16px calc(16px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(2px);background:#1018287a;justify-content:center;align-items:flex-end;animation:.22s ease-out assembly-pwa-overlay-in;display:flex;position:fixed;inset:0}.assembly-pwa-guide{transform-origin:bottom;border:1px solid #0000;width:min(100%,400px);margin:0;padding:18px 16px 16px;animation:.28s cubic-bezier(.22,1,.36,1) assembly-pwa-sheet-in}.assembly-pwa-guide-top{align-items:flex-start;gap:10px;display:flex}.assembly-pwa-guide-copy{flex:1;min-width:0}.assembly-pwa-guide-title{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600;line-height:1.25}.assembly-pwa-guide-subtitle{color:var(--color-text-muted);margin:6px 0 0;font-size:14px;line-height:1.4}.assembly-pwa-guide-close{width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:-6px -6px 0 0;padding:0;display:inline-flex}.assembly-pwa-guide-close svg{width:20px;height:20px}.assembly-pwa-guide-close:hover{color:var(--color-text);background:#1018280f}.assembly-pwa-guide-steps{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.assembly-pwa-guide-steps li{color:var(--color-text);align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;display:flex}.assembly-pwa-guide-steps strong{font-weight:600}.assembly-pwa-guide-step-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.assembly-pwa-guide-step-icon svg{width:16px;height:16px}.assembly-pwa-guide-step-num{font-size:13px;font-weight:600}.assembly-pwa-guide--ios{-webkit-backdrop-filter:blur(20px);background:#fffffff5;border-color:#0000000f;border-radius:20px;box-shadow:0 12px 40px #0000002e,0 2px 8px #00000014}.assembly-pwa-guide--ios .assembly-pwa-guide-title{color:#1c1c1e}.assembly-pwa-guide--ios .assembly-pwa-guide-step-icon{color:#007aff;background:#007aff1f;border-radius:9px}.assembly-pwa-guide--ios .assembly-pwa-guide-close:hover{color:#007aff;background:#007aff14}.assembly-pwa-guide--android{background:#fff;border-color:#e8eaed;border-radius:16px;box-shadow:0 12px 40px #3c40433d,0 2px 8px #3c40431f}.assembly-pwa-guide--android .assembly-pwa-guide-title{color:#202124;font-weight:500}.assembly-pwa-guide--android .assembly-pwa-guide-step-icon{color:#1a73e8;background:#e8f0fe;border-radius:50%}.assembly-pwa-guide-install{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:24px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;margin-top:16px;padding:10px 16px;font-size:15px;font-weight:500;display:inline-flex}.assembly-pwa-guide-install svg{width:18px;height:18px}.assembly-pwa-guide-install:hover{background:#1765cc}.assembly-pwa-guide-install:active{background:#1557b0}@keyframes assembly-pwa-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes assembly-pwa-sheet-in{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width>=520px){.assembly-pwa-overlay{align-items:center;padding:24px}.assembly-pwa-guide{animation-name:assembly-pwa-dialog-in}}@keyframes assembly-pwa-dialog-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.assembly-shell{background:var(--color-bg);max-width:640px;min-height:100%;color:var(--color-text);margin:0 auto}.assembly-sticky{z-index:5;background:var(--color-bg);padding:calc(8px + env(safe-area-inset-top)) 12px 8px;border-bottom:1px solid var(--color-border-subtle);position:sticky;top:0}.assembly-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.assembly-header-main{min-width:0}.assembly-title{margin:0;font-size:18px;font-weight:600;line-height:1.2}.assembly-header-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.assembly-online{white-space:nowrap;align-items:center;gap:5px;font-size:11px;font-weight:500;display:inline-flex}.assembly-online-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.assembly-online.is-online{color:#1a7a3f}.assembly-online.is-online .assembly-online-dot{background:#22a04a}.assembly-online.is-connecting{color:#c45c00}.assembly-online.is-connecting .assembly-online-dot{background:#f59e0b}.assembly-online.is-offline{color:var(--color-text-muted)}.assembly-online.is-offline .assembly-online-dot{background:#c5ced8}.assembly-refresh-spinner,.assembly-loading-spinner,.assembly-save-spinner{animation:.8s linear infinite assembly-spin}@keyframes assembly-spin{to{transform:rotate(360deg)}}.assembly-summary-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);margin-bottom:6px;padding:8px 12px}.assembly-summary-main{align-items:baseline;gap:6px;display:flex}.assembly-summary-label{color:var(--color-text-muted);font-size:13px}.assembly-summary-value{font-variant-numeric:tabular-nums;color:var(--color-text);font-size:22px;font-weight:700;line-height:1}.assembly-summary-secondary{color:var(--color-text-muted);margin:3px 0 0;font-size:12px;line-height:1.3}.assembly-segmented{margin-bottom:6px}.assembly-segmented .planner-segmented{width:100%;display:flex}.assembly-segmented .planner-segmented-btn{flex:1 1 0;min-height:36px;padding:6px 4px;font-size:12px}.assembly-search{margin-bottom:2px}.assembly-search .planner-search{flex:none;width:100%;min-width:0}.assembly-search .planner-search input{min-height:38px;font-size:16px}.assembly-sticky .date-picker-full{margin-bottom:6px}.assembly-sticky .date-picker-full .date-picker-trigger{min-height:38px;padding:0 10px;font-size:14px}.assembly-sticky .date-picker-full .date-picker-trigger-icon{width:16px;height:16px}.assembly-sticky .planner-icon-btn{width:36px;height:36px}.assembly-saved-feedback{border-radius:var(--radius-sm);color:#1a7a3f;background:#e8f6ec;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.assembly-saved-feedback svg{flex-shrink:0;width:16px;height:16px}.assembly-day-error,.assembly-refresh-warning{border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);margin-top:10px;padding:12px}.assembly-day-error{color:var(--color-danger);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.assembly-refresh-warning{background:#fff8eb;border-color:#fde7b0;flex-direction:column;gap:10px;display:flex}.assembly-refresh-warning-body{align-items:flex-start;gap:8px;display:flex}.assembly-refresh-warning-body>svg{width:18px;height:18px;color:var(--color-warning);flex-shrink:0;margin-top:1px}.assembly-refresh-warning-title{color:var(--color-text);margin:0;font-size:14px;font-weight:600}.assembly-refresh-warning-text{color:var(--color-text-muted);margin:2px 0 0;font-size:13px}.assembly-refresh-warning-actions{flex-wrap:wrap;gap:8px;display:flex}.assembly-refresh-warning-actions .btn{flex:120px}.assembly-main{padding:12px 16px 16px}.assembly-loading{color:var(--color-text-muted);justify-content:center;align-items:center;gap:10px;padding:32px 16px;font-size:14px;display:flex}.assembly-loading-spinner{width:18px;height:18px}.assembly-empty{text-align:center;flex-direction:column;align-items:center;padding:36px 16px;display:flex}.assembly-empty-icon{width:44px;height:44px;color:var(--color-text-muted);background:#eef1f5;border-radius:50%;justify-content:center;align-items:center;margin-bottom:10px;display:flex}.assembly-empty-icon svg{width:22px;height:22px}.assembly-empty-title{color:var(--color-text);margin:0;font-size:16px;font-weight:600}.assembly-empty-subtitle{color:var(--color-text-muted);margin:6px 0 0;font-size:13px;line-height:1.4}.assembly-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.assembly-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);flex-direction:column;gap:10px;padding:16px;display:flex}.assembly-card.is-dirty{background:#fffdf8;border-color:#f0d9a8}.assembly-card.is-compact{gap:6px;padding:12px 16px}.assembly-card.is-exported{background:#fafbfc;gap:6px;padding:12px 16px}.assembly-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.assembly-card-title-block{min-width:0}.assembly-store-name{color:var(--color-text);margin:0;font-size:17px;font-weight:600;line-height:1.3}.assembly-store-address{color:var(--color-text-muted);margin:4px 0 0;font-size:13px;line-height:1.35}.assembly-store-window{color:var(--color-text-muted);align-items:center;gap:5px;margin:6px 0 0;font-size:12px;display:inline-flex}.assembly-store-window svg{flex-shrink:0;width:13px;height:13px}.assembly-status-badge{white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.assembly-status-badge svg{width:12px;height:12px}.assembly-status-badge.is-waiting{color:#c45c00;background:#fff3e6}.assembly-status-badge.is-assembled{color:#1a7a3f;background:#e8f6ec}.assembly-status-badge.is-exported{color:#5b4bb4;background:#f0ebfc}.assembly-plan-block{align-items:baseline;gap:8px;display:flex}.assembly-plan-label{text-transform:uppercase;letter-spacing:.02em;color:var(--color-text-muted);font-size:12px;font-weight:600}.assembly-plan-value{color:var(--color-text);font-size:15px;font-weight:600}.assembly-fact-field{flex-direction:column;gap:6px;display:flex}.assembly-fact-label{color:var(--color-text);font-size:13px;font-weight:600}.assembly-fact-input-wrap{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);align-items:center;gap:8px;min-height:52px;padding:0 14px;display:flex}.assembly-fact-input-wrap:focus-within{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.assembly-fact-input-wrap.is-invalid{border-color:var(--color-danger)}.assembly-fact-input{font-variant-numeric:tabular-nums;text-align:center;min-width:0;color:var(--color-text);background:0 0;border:0;flex:1;font-size:24px;font-weight:700}.assembly-fact-input:focus{outline:none}.assembly-fact-input:disabled{opacity:.65}.assembly-fact-unit{color:var(--color-text-muted);flex-shrink:0;font-size:14px;font-weight:500}.assembly-field-error{color:var(--color-danger);margin:-4px 0 0;font-size:12px}.assembly-copy-plan{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:44px;color:var(--color-text);cursor:pointer;background:#fafbfc;justify-content:center;align-items:center;padding:0 12px;font-size:14px;font-weight:500;display:flex}.assembly-copy-plan:hover:not(:disabled){background:#f3f5f8}.assembly-copy-plan:disabled{opacity:.55;cursor:not-allowed}.assembly-delta-text{color:var(--color-text-muted);margin:0;font-size:12px}.assembly-comment-field{flex-direction:column;gap:4px;display:flex}.assembly-comment-label{color:var(--color-text-muted);font-size:12px;font-weight:600}.assembly-comment-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text);padding:0 12px;font-size:16px}.assembly-comment-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.assembly-comment-toggle{min-height:44px;color:var(--color-primary);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;padding:0;font-size:14px;font-weight:500;display:flex}.assembly-comment-toggle:disabled{opacity:.55;cursor:not-allowed}.assembly-dirty-label{color:#b45309;margin:0;font-size:12px;font-weight:500}.assembly-save{width:100%;min-height:48px;font-size:15px;font-weight:600}.assembly-save:disabled{opacity:1;color:#fff;background:#8eb4e8}.assembly-save-spinner{width:16px;height:16px}.assembly-save-error{border-radius:var(--radius-sm);color:var(--color-danger);background:#fef3f2;border:1px solid #fecdca;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;line-height:1.35;display:flex}.assembly-save-error svg{flex-shrink:0;width:16px;height:16px;margin-top:1px}.assembly-card-compact-body{flex-direction:column;gap:8px;display:flex}.assembly-compact-metrics{color:var(--color-text-muted);flex-wrap:wrap;gap:8px 16px;font-size:14px;display:flex}.assembly-compact-metrics strong{color:var(--color-text);font-weight:600}.assembly-compact-comment{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.35}.assembly-edit-btn{align-self:flex-start;min-height:40px}.assembly-card-readonly{flex-direction:column;gap:8px;display:flex}.assembly-readonly-row{justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;display:flex}.assembly-readonly-label{color:var(--color-text-muted)}.assembly-readonly-value{font-variant-numeric:tabular-nums;color:var(--color-text);font-weight:600}.assembly-readonly-comment{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.35}.assembly-footer{padding:8px 16px calc(16px + env(safe-area-inset-bottom));flex-direction:column;align-items:flex-start;gap:6px;display:flex}.assembly-back{color:var(--color-text-muted);font-size:13px;text-decoration:none}.assembly-back:hover{color:var(--color-text)}.assembly-source{color:var(--color-text-muted);font-size:11px}@media (width<=360px){.assembly-sticky,.assembly-main{padding-left:12px;padding-right:12px}}@media (width>=768px){.assembly-shell{padding-top:12px}}.sticky-panel-bar{z-index:5;background:var(--color-surface);border-radius:calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px) 0 0;position:sticky;top:0}.sticky-panel-scope .planner-table-wrap{isolation:isolate;position:relative;overflow:visible}.sticky-panel-shadow{pointer-events:none;display:none}.sticky-panel-shadow.is-visible{z-index:6;background:linear-gradient(#1018280a,#10182800);height:14px;margin-bottom:-14px;display:block;position:sticky}.planner-table.sticky-panel-table{z-index:1;border-collapse:separate;border-spacing:0;position:relative}.sticky-panel-table thead th{top:calc(var(--sticky-panel-header-height,0px) - 1px);z-index:4;background:var(--color-surface);border-bottom:0;position:sticky;box-shadow:inset 0 -1px #c5ced8}.sticky-panel-bar.is-stuck{box-shadow:none}.sticky-panel-scope.is-stuck .sticky-panel-table thead th{box-shadow:inset 0 -1px #1018281f}.store-import-lead{color:var(--color-text-muted);margin:0 0 16px;font-size:14px;line-height:1.45}.store-import-fields{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:#fafbfc;margin:0 0 16px;padding:12px 14px}.store-import-fields-title{color:var(--color-text);margin:0 0 8px;font-size:13px;font-weight:600}.store-import-fields-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.store-import-fields-list li{grid-template-columns:minmax(140px,.9fr) minmax(0,1.1fr);gap:8px 12px;font-size:13px;line-height:1.35;display:grid}.store-import-fields-list strong{color:var(--color-text);font-weight:600}.store-import-fields-list span{color:var(--color-text-muted)}.store-import-actions{flex-wrap:wrap;gap:10px;display:flex}@media (width<=560px){.store-import-fields-list li{grid-template-columns:1fr;gap:2px}}.store-import-file-input{display:none}.store-import-file-name{color:var(--color-text-muted);align-items:center;gap:8px;margin:14px 0 0;font-size:13px;display:inline-flex}.store-import-file-name svg{width:16px;height:16px}.store-import-errors{border-radius:var(--radius-sm);color:var(--color-danger);background:#fef3f2;border:1px solid #fecdca;margin-top:14px;padding:12px 14px;font-size:13px}.store-import-errors p{margin:0}.store-import-errors p+p{margin-top:6px}.store-import-summary{color:var(--color-text);flex-wrap:wrap;gap:8px 16px;margin-bottom:16px;font-size:13px;display:flex}.store-import-summary span{font-variant-numeric:tabular-nums}.store-import-mode{border:0;margin:0 0 16px;padding:0}.store-import-mode legend{color:var(--color-text);margin-bottom:8px;font-size:13px;font-weight:600}.store-import-mode-option{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;background:#fafbfc;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.store-import-mode-option+.store-import-mode-option{margin-top:8px}.store-import-mode-option input{margin-top:3px}.store-import-mode-option strong{color:var(--color-text);font-size:14px;font-weight:600;display:block}.store-import-mode-option small{color:var(--color-text-muted);margin-top:2px;font-size:12px;display:block}.store-import-preview-table-wrap{margin-top:4px}.store-import-preview-table td,.store-import-preview-table th{font-size:13px}.store-import-preview-more{color:var(--color-text-muted);margin:8px 0 0;font-size:12px}.store-import-row-error{color:var(--color-danger);margin-top:4px;font-size:12px;font-weight:400}.store-import-action{border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.store-import-action--insert{color:#1a7a3f;background:#e8f6ec}.store-import-action--update{color:#1d4f91;background:#e8f0fe}.store-import-action--unchanged{color:var(--color-text-muted);background:#f3f5f8}.store-import-action--error{color:var(--color-danger);background:#fef3f2}.store-import-confirm-text{margin:8px 0 0;font-size:14px}.store-import-confirm-note{color:var(--color-text-muted);margin:8px 0 0;font-size:13px}.store-import-done-title{color:var(--color-text);margin:0 0 8px;font-size:16px;font-weight:600}.store-import-done-summary{color:var(--color-text-muted);margin:0;font-size:14px}.directories-panel{margin-bottom:0}.directories-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 16px;padding:0 20px;display:flex}.directories-panel-head .planner-tab-nav{flex:auto;min-width:280px}.directories-weekly-export{white-space:nowrap}.directories-status-note{margin:0;padding:12px 20px 0;font-size:13px;line-height:1.4}.directories-status-note.is-error{color:var(--color-danger)}.directories-status-note.is-success{color:#1a7a3f}.planner-toolbar.directories-toolbar{border-bottom:none;justify-content:space-between;align-items:center;padding:12px 20px 0}.directories-sticky-bar{border-radius:0}.directories-toolbar-right{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-left:auto;display:flex}.directories-table td{height:auto;min-height:54px;padding-top:10px;padding-bottom:10px}.directories-table .col-window{white-space:nowrap;width:110px}.directories-table .col-capacity{font-variant-numeric:tabular-nums;white-space:nowrap;width:80px;font-weight:600}.directories-table .col-status{width:120px}.directories-table .col-action{width:112px}.directories-table tbody tr.is-inactive{background:#fafbfc}.directories-table tbody tr.is-inactive .planner-store-name{color:var(--color-text-muted)}.directories-plate{font-variant-numeric:tabular-nums;letter-spacing:.02em}.directories-empty{padding:0 20px 20px}.directories-empty-cta{margin-top:12px}.directories-depot{padding:8px 20px 24px}.directories-depot-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:#fafbfc;gap:14px;max-width:640px;padding:18px 20px;display:flex}.directories-depot-body{flex:auto;min-width:0}.directories-depot-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.directories-depot-icon{background:var(--color-primary-soft);width:44px;height:44px;color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.directories-depot-icon svg{width:20px;height:20px}.directories-depot-name{color:var(--color-text);margin:0;font-size:17px;font-weight:600}.directories-depot-address{color:var(--color-text);margin:4px 0 12px;font-size:14px;line-height:1.4}.directories-depot-meta{color:var(--color-text-muted);flex-direction:column;gap:4px;margin:0;font-size:13px;line-height:1.4;display:flex}.directories-depot-meta span strong{color:var(--color-text);font-weight:500}.directories-depot-note{color:var(--color-text-muted);margin:12px 0 0;font-size:12px}.directories-refresh-spinner{animation:.8s linear infinite directories-spin}@keyframes directories-spin{to{transform:rotate(360deg)}}@media (width<=900px){.planner-toolbar.directories-toolbar{align-items:stretch}.directories-toolbar-right{justify-content:space-between;width:100%;margin-left:0}}@media (width<=720px){.directories-panel-head{padding:0 16px}.directories-status-note{padding:12px 16px 0}.directories-empty,.directories-depot{padding-left:16px;padding-right:16px}}.export-content-grid{grid-template-columns:minmax(0,2fr) minmax(320px,1fr);align-items:start;gap:16px;display:grid}.export-main-column,.export-side-column{flex-direction:column;align-self:start;gap:16px;min-width:0;display:flex}.export-readiness-block{flex-direction:column;gap:8px;min-width:0;display:flex}.export-readiness-panel{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.export-readiness-panel.is-ready{background:#f6fbf7;border-color:#b7dfc4}.export-readiness-panel.is-blocked{background:#fffbf3;border-color:#f0d9a8}.export-readiness-panel.is-empty{border-color:var(--color-border);background:var(--color-surface)}.export-readiness-main{flex:1;gap:12px;min-width:0;display:flex}.export-readiness-icon{flex-shrink:0;width:22px;height:22px;margin-top:2px}.export-readiness-panel.is-ready .export-readiness-icon{color:#1a7a3f}.export-readiness-panel.is-blocked .export-readiness-icon{color:#c45c00}.export-readiness-panel.is-empty .export-readiness-icon{color:var(--color-text-muted)}.export-readiness-title{color:var(--color-text);margin:0;font-size:16px;font-weight:600;line-height:1.3}.export-readiness-subtitle{color:var(--color-text-muted);margin:4px 0 0;font-size:13px;line-height:1.4}.export-readiness-actions{flex-direction:column;flex-shrink:0;align-items:stretch;gap:6px;width:max-content;max-width:100%;display:flex}.export-readiness-actions .planner-checkbox-field{box-sizing:border-box;align-items:center;gap:8px;width:100%;padding:6px 10px}.export-readiness-actions .planner-checkbox-field input{width:15px;height:15px;margin-top:0}.export-readiness-actions .planner-checkbox-label{font-size:12px;line-height:1.3}.export-readiness-actions .btn{white-space:nowrap;width:100%}.export-success-note{color:#1a7a3f;font-size:12px;font-weight:500}.export-issues{flex-direction:column;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:flex}.export-issue-item{border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border-subtle);color:var(--color-text);align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;display:flex}.export-issue-item svg{color:#c45c00;flex-shrink:0;width:15px;height:15px;margin-top:1px}.export-capacity-panel,.export-depot-panel{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-card);padding:16px}.export-capacity-title,.export-depot-title{color:var(--color-text);margin:0 0 10px;font-size:14px;font-weight:600}.export-capacity-value{font-variant-numeric:tabular-nums;color:var(--color-text);margin:0 0 8px;font-size:20px;font-weight:600}.export-capacity-secondary{color:var(--color-text-muted);margin:8px 0 0;font-size:12px;line-height:1.4}.export-yandex-note{color:var(--color-text-muted);margin:4px 0 0;font-size:12px;line-height:1.4}.export-depot-line{color:var(--color-text);align-items:flex-start;gap:8px;font-size:13px;display:flex}.export-depot-line svg{width:16px;height:16px;color:var(--color-text-muted);flex-shrink:0;margin-top:1px}.export-depot-secondary{color:var(--color-text-muted);margin-top:2px;font-size:12px}.export-requests-panel{margin-bottom:0}.export-requests-toolbar{border-bottom:none;padding-top:0}.export-subsection{padding:0 20px 16px}.export-subsection+.export-subsection{border-top:1px solid var(--color-border-subtle);padding-top:16px}.export-subsection-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.export-subsection-title{color:var(--color-text);margin:0;font-size:15px;font-weight:600}.export-subsection-count{color:#c45c00;background:#fff3e6;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.export-subsection-count.is-neutral{color:var(--color-text-muted);background:#eef1f5}.export-attention-reason{color:#9a5b00;align-items:flex-start;gap:5px;font-size:13px;display:inline-flex}.export-attention-reason svg{flex-shrink:0;width:14px;height:14px;margin-top:1px}.export-transport-panel{margin-bottom:0}.export-transport-panel.is-emphasis{box-shadow:var(--shadow-card), 0 0 0 1px #1d4f910f;border-color:#b8cce8}.export-transport-panel .planner-empty{gap:6px;padding:24px 16px}.export-transport-panel .planner-empty svg{width:24px;height:24px}.export-transport-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:8px 12px;font-size:12px;display:flex}.export-transport-meta strong{color:var(--color-text);font-weight:600}.export-filter-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.export-filter-chip{border:1px solid var(--color-border);background:var(--color-surface);min-height:32px;color:var(--color-text-muted);cursor:pointer;border-radius:999px;align-items:center;padding:4px 12px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.export-filter-chip:hover{color:var(--color-text);border-color:#c5d3e6}.export-filter-chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.export-filter-chip.is-active{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.export-vehicle-list{border-top:1px solid var(--color-border-subtle);flex-direction:column;display:flex}.export-vehicle-list.is-drag-selecting{-webkit-user-select:none;user-select:none}.export-vehicle-list.is-drag-selecting .export-vehicle-row{transition:none}.export-vehicle-list.is-drag-selecting .export-vehicle-row:hover{background:0 0}.export-vehicle-list.is-drag-selecting .export-vehicle-row.is-selected:hover{background:var(--color-primary-soft)}.export-vehicle-row{border-bottom:1px solid var(--color-border-subtle);cursor:pointer;touch-action:manipulation;border-left:3px solid #0000;align-items:center;gap:10px;padding:10px 16px 10px 13px;display:flex}.export-vehicle-row:hover{background:#f9fafb}.export-vehicle-row.is-selected{background:var(--color-primary-soft);border-left-color:var(--color-primary)}.export-vehicle-row.is-pending{pointer-events:none}.export-vehicle-row.is-disabled{cursor:not-allowed}.export-vehicle-row input[type=checkbox]{pointer-events:none;flex-shrink:0}.export-vehicle-main{flex:1;min-width:0}.export-vehicle-name{color:var(--color-text);font-size:14px;font-weight:500;line-height:1.3;display:block}.export-vehicle-plate{color:var(--color-text-muted);margin-top:1px;font-size:12px;display:block}.export-vehicle-chips{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.export-vehicle-chip{color:var(--color-text-muted);background:#eef1f5;border-radius:999px;padding:2px 7px;font-size:12px;font-weight:500;display:inline-flex}.export-vehicle-window{color:var(--color-text-muted);font-size:12px}.export-vehicle-capacity{font-variant-numeric:tabular-nums;color:var(--color-text);white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:600}.export-inline-warning{border-radius:var(--radius-sm);color:var(--color-text);background:#fff8eb;border:1px solid #fde7b0;margin:0 16px 12px;padding:8px 10px;font-size:12px}.export-selection-error{color:var(--color-danger);margin:0 16px 12px;font-size:12px}.export-table .col-fact{font-variant-numeric:tabular-nums;width:64px;font-weight:600}.export-table .col-window{white-space:nowrap;width:110px}.export-table .col-plan{font-variant-numeric:tabular-nums;width:56px}.export-table td{height:auto;min-height:50px;padding-top:8px;padding-bottom:8px}@media (width<=1100px){.export-content-grid{flex-direction:column;gap:16px;display:flex}.export-main-column,.export-side-column{display:contents}.export-readiness-block{order:1}.export-capacity-panel{order:2}.export-depot-panel{order:3}.export-transport-panel{order:4}.export-requests-panel{order:5}.export-readiness-actions{width:100%}.export-readiness-actions .btn{white-space:normal;width:100%}}@media (width<=720px){.export-subsection{padding-left:16px;padding-right:16px}}.sticky-panel-bar.tomorrow-planned-bar .planner-panel-header{padding-bottom:16px}.tomorrow-toolbar-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.tomorrow-selected-count{color:var(--color-text-muted);white-space:nowrap;font-size:13px}.tomorrow-table tbody tr.is-selected{background:var(--color-primary-soft)}.tomorrow-table tbody tr.is-selected:hover{background:#e3edf8}.tomorrow-planning-table tbody tr.is-selectable{cursor:pointer}.tomorrow-planning-table tbody tr.is-selected{background:var(--color-primary-soft)}.tomorrow-planning-table tbody tr.is-selected:hover{background:#e3edf8}.tomorrow-planning-table.is-drag-selecting{-webkit-user-select:none;user-select:none}.tomorrow-planning-table .col-check{width:44px;padding-left:20px}.tomorrow-planning-table tbody .col-check input{pointer-events:none}.tomorrow-table .col-pallets{width:110px}.planner-table .col-actions{text-align:right;width:52px;padding-right:12px}.tomorrow-pallet-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:72px;height:34px;color:var(--color-text);text-align:center;padding:0 8px;font-size:14px}.tomorrow-pallet-input:disabled{color:var(--color-text-muted);cursor:not-allowed;background:#f6f8fb}.tomorrow-pallet-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.tomorrow-pallet-input.is-invalid{border-color:var(--color-danger)}.tomorrow-pallet-field{flex-direction:column;gap:2px;display:flex}.tomorrow-pallet-error{color:var(--color-danger);white-space:nowrap;font-size:12px}.tomorrow-panel-footer{border-top:1px solid var(--color-border-subtle);border-radius:0 0 var(--radius-md) var(--radius-md);background:#fafbfc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.tomorrow-selection-summary{color:var(--color-text-muted);font-size:13px}.tomorrow-selection-summary strong{color:var(--color-text);font-weight:600}.tomorrow-error-panel{border-radius:var(--radius-sm);color:var(--color-danger);background:#fef3f2;border:1px solid #fecdca;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 20px 16px;padding:8px 12px;font-size:13px;display:flex}@media (width<=900px){.tomorrow-toolbar-actions{width:100%;margin-left:0}}.tomorrow-store-meta-mobile{display:none}@media (width<=720px){.planner-table .col-desktop{display:none}.tomorrow-store-meta-mobile{display:block}}.warehouse-table{table-layout:fixed;width:100%}.warehouse-table th,.warehouse-table td{min-width:0}.warehouse-table td{height:auto;min-height:56px;padding-top:10px;padding-bottom:10px}.warehouse-table tbody tr{transition:background-color .18s}.warehouse-table .col-plan,.warehouse-table .col-delta{font-variant-numeric:tabular-nums;white-space:nowrap;width:5%;font-weight:600}.warehouse-table .col-fact{width:14%}.warehouse-table .col-comment{width:16%}.warehouse-table .col-status{width:11%}.warehouse-table .col-action{width:9%}.warehouse-table tbody tr.is-dirty{background:#fffbf5}.warehouse-table tbody tr.is-dirty:hover{background:#fff8ee}.warehouse-table tbody tr.is-saving{opacity:.85}.warehouse-table tbody tr.is-exported,.warehouse-table tbody tr.is-exported .planner-store-name{color:var(--color-text-muted)}.warehouse-table .planner-store-name,.warehouse-table .planner-store-meta{text-overflow:ellipsis;overflow:hidden}.warehouse-fact-cell{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.warehouse-actual-input{width:64px;max-width:100%;height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-variant-numeric:tabular-nums;text-align:center;padding:0 8px;font-size:16px;font-weight:600}.warehouse-actual-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.warehouse-actual-input:disabled{color:var(--color-text-muted);cursor:not-allowed;background:#f6f8fb}.warehouse-actual-input.is-invalid{border-color:var(--color-danger)}.warehouse-fact-unit{color:var(--color-text-muted);font-size:13px;font-weight:500}.warehouse-copy-plan{border-radius:var(--radius-sm);height:32px;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.warehouse-copy-plan:hover:not(:disabled){color:var(--color-text);background:#f0f3f7}.warehouse-copy-plan:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.warehouse-copy-plan:disabled{opacity:.45;cursor:not-allowed}.warehouse-copy-plan svg{width:13px;height:13px}.warehouse-delta{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.warehouse-delta.is-positive{color:#c45c00}.warehouse-delta.is-negative{color:#5c6b7a}.warehouse-delta.is-neutral{color:var(--color-text-muted);font-weight:500}.warehouse-comment-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;min-width:0;max-width:100%;height:34px;color:var(--color-text);padding:0 10px;font-size:13px}.warehouse-comment-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.warehouse-comment-input:disabled{cursor:not-allowed;background:#f6f8fb}.warehouse-readonly-value{font-variant-numeric:tabular-nums;font-weight:600}.warehouse-action-cell{flex-direction:column;align-items:stretch;gap:4px;display:flex}.warehouse-status-cell{flex-direction:column;justify-content:center;align-items:center;gap:2px;max-width:100%;min-height:52px;padding:2px 0;display:flex}.warehouse-status-cell .planner-status-badge{max-width:100%}.warehouse-dirty-label{color:#b45309;white-space:nowrap;text-align:center;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:500;display:inline-flex}.warehouse-dirty-dot{background:#f59e0b;border-radius:50%;flex-shrink:0;width:6px;height:6px}.warehouse-exported-label{color:var(--color-text-muted);align-items:center;gap:5px;font-size:13px;display:inline-flex}.warehouse-exported-label svg{width:14px;height:14px}.warehouse-row-error{color:var(--color-danger);max-width:180px;font-size:12px;line-height:1.3}.warehouse-warning-panel{margin-bottom:16px}.warehouse-save-btn{width:100%;min-width:0;padding-left:8px;padding-right:8px}.warehouse-save-spinner{width:14px;height:14px;animation:.8s linear infinite warehouse-spin}@keyframes warehouse-spin{to{transform:rotate(360deg)}}@media (width<=1100px){.warehouse-table .col-fact{width:16%}.warehouse-table .col-comment{width:14%}.warehouse-table .col-status{width:12%}.warehouse-table .col-action{width:10%}}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 var(--layout-padding-x)}.app-header-inner{max-width:var(--layout-max-width);margin:0 auto;padding:16px 0 0}.app-header-row{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.app-header-start{flex-direction:column;flex:1;gap:0;min-width:0;display:flex}.app-brand strong{color:var(--color-text);font-size:17px;font-weight:600;line-height:1.3;display:block}.app-brand span{color:var(--color-text-muted);margin-top:2px;font-size:12px;line-height:1.3;display:block}.app-nav{scrollbar-width:none;gap:4px;margin-top:10px;display:flex;overflow-x:auto}.app-nav::-webkit-scrollbar{display:none}.nav-button{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:8px 14px 10px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s}.nav-button:hover{color:var(--color-text)}.nav-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.nav-button.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.app-header-end{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;padding-top:2px;display:flex}.app-status{color:var(--color-text-muted);flex-direction:column;align-items:flex-end;gap:4px;font-size:12px;line-height:1.4;display:flex}.app-status-row{align-items:center;gap:6px;display:inline-flex}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot.is-ok{background:var(--color-success)}.status-dot.is-warning{background:var(--color-warning)}.status-dot.is-neutral{background:var(--color-text-muted)}.app-status-icon{flex-shrink:0;width:14px;height:14px}.app-status-icon.is-ok{color:var(--color-success)}.app-status-icon.is-warning{color:var(--color-warning)}.app-assembly-link{color:var(--color-text-muted);align-items:center;gap:5px;padding:4px 0;font-size:12px;text-decoration:none;transition:color .15s;display:inline-flex}.app-assembly-link:hover{color:var(--color-primary)}.app-assembly-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.app-assembly-link svg{width:13px;height:13px}.app-main{padding:28px var(--layout-padding-x) 40px}@media (width<=900px){.app-header-row{flex-direction:column;gap:12px}.app-header-end{flex-flow:wrap;justify-content:space-between;align-items:center;width:100%}.app-status{align-items:flex-start}}@media (width<=640px){.app-header{padding:0 16px}.app-header-inner{padding:12px 0 0}.app-main{padding:16px}}:root{--color-bg:#f6f8fb;--color-surface:#fff;--color-border:#dde3ea;--color-border-subtle:#eef1f5;--color-text:#1a2b42;--color-text-muted:#6b778c;--color-primary:#1d4f91;--color-primary-hover:#163e75;--color-primary-soft:#e8f0fa;--color-success:#1a7a3f;--color-warning:#c45c00;--color-danger:#b42318;--radius-sm:8px;--radius-md:12px;--shadow-card:0 1px 2px #1018280a;--control-height:40px;--layout-max-width:1520px;--layout-padding-x:36px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--bg:var(--color-bg);--surface:var(--color-surface);--text:var(--color-text);--muted:var(--color-text-muted);--border:var(--color-border);--accent:var(--color-primary);--accent-soft:var(--color-primary-soft)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{scrollbar-gutter:stable}body{font:16px/1.45 var(--sans);color:var(--text);background:var(--bg)}button,input,select{font:inherit}.app-shell{min-height:100%}.page{background:var(--surface);border:1px solid var(--border);border-radius:8px;max-width:880px;padding:24px}.page-wide{max-width:1080px}.page h1{margin:0 0 8px;font-size:24px}.page h2{margin:24px 0 8px;font-size:18px}.subheading{margin:16px 0 8px;font-size:15px;font-weight:600}.page-lead{color:var(--muted);margin:0 0 20px}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}.data-table th{color:var(--muted);font-size:13px;font-weight:600}.data-table td{vertical-align:middle}.plain-list{margin:0;padding-left:18px}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:8px;display:flex}.toolbar-compact{gap:8px 12px}.compact-summary{color:var(--muted);flex-wrap:wrap;gap:4px 16px;margin:4px 0 12px;font-size:13px;display:flex}.compact-summary strong{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.summary-sep{color:var(--muted)}.restriction-badges{flex-wrap:wrap;gap:4px;display:flex}.restriction-badge{border:1px solid var(--border);color:var(--muted);white-space:nowrap;background:#f7f8fa;border-radius:4px;padding:2px 6px;font-size:12px;line-height:1.2;display:inline-block}.planning-table .pallet-input{width:4.5rem}.planning-table .pallet-input:disabled{opacity:.45;background:#f7f8fa}.store-meta{display:none}.field{flex-direction:column;gap:4px;display:flex}.field span{color:var(--muted);font-size:13px}.field-grow{flex:220px}.field input,.pallet-input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:4px;padding:6px 8px}.pallet-input{width:8rem}.pallet-input.is-invalid{border-color:#b42318}.pallet-field{flex-direction:column;gap:4px;display:flex}.field-error{color:#b42318;font-size:12px}.table-wrap{overflow-x:auto}.col-check{width:36px}.row-created{color:var(--muted);background:#f7f8fa}.muted-note{color:var(--muted);font-size:13px}.empty-state{color:var(--muted);margin:0}.create-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.btn,.button-primary,.button-secondary{height:var(--control-height);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:500;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn svg,.button-primary svg,.button-secondary svg{flex-shrink:0;width:16px;height:16px}.btn:focus-visible,.button-primary:focus-visible,.button-secondary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary,.button-primary{background:var(--color-primary);color:#fff;border:0}.btn-primary:hover:not(:disabled),.button-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled,.button-primary:disabled{opacity:1;color:#fff;cursor:not-allowed;background:#8eb4e8}.btn-secondary,.button-secondary{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.btn-secondary:hover:not(:disabled),.button-secondary:hover:not(:disabled){background:#f6f8fb;border-color:#c5ced8}.btn-secondary:disabled,.button-secondary:disabled{opacity:1;color:#8a96a8;cursor:not-allowed;background:#f6f8fb;border-color:#e3e8ef}.btn-secondary.is-active,.button-secondary.is-active{background:var(--color-primary-soft);border-color:var(--color-primary)}.btn-danger{color:var(--color-danger);background:#fef3f2;border:1px solid #fecdca}.btn-danger:hover:not(:disabled){background:#fee4e2;border-color:#f97066}.btn-danger:disabled{opacity:1;color:#f97066;cursor:not-allowed;background:#fef3f2;border-color:#fecdca}.btn-tertiary{color:var(--color-text-muted);background:0 0;border:0;padding:0 10px}.btn-tertiary:hover:not(:disabled){color:var(--color-text);background:#f0f3f7}.btn-tertiary:disabled{opacity:1;color:#b8c0cc;cursor:not-allowed}.btn-with-icon{gap:6px}.btn-sm{height:32px;padding:0 12px;font-size:13px}.tab-row,.filter-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-inactive{color:var(--muted)}.field select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:4px;padding:6px 8px}.checkbox-field{flex-direction:row;align-items:center;gap:8px}.checkbox-field span{color:var(--text);font-size:14px}.editor-overlay{z-index:20;background:#0f172059;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow:auto}.editor-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;width:min(520px,100%);padding:20px 24px;display:flex}.editor-panel h2{margin:0}.editor-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.editor-actions{gap:8px;margin-top:4px;display:flex}.day-load-bar{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:8px 0 12px;display:flex}.day-load-status{min-height:1.25em;line-height:1.25}.day-load-status.is-idle{visibility:hidden}.day-load-error{color:#b42318;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;display:flex}.init-state{color:var(--muted);margin:0}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:16px 0 8px;display:grid}.summary-card{background:var(--accent-soft);border:1px solid var(--border);border-radius:6px;padding:10px 12px}.summary-card strong{font-variant-numeric:tabular-nums;font-size:22px;line-height:1.2;display:block}.summary-card span{color:var(--muted);font-size:13px}.warehouse-table th,.warehouse-table td{padding:6px 8px}.warehouse-store{font-weight:600}.warehouse-plan,.warehouse-actual-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.warehouse-table .warehouse-actual{text-align:center;font-variant-numeric:tabular-nums;width:4.5rem;font-weight:700}.warehouse-table .button-primary{white-space:nowrap}.warehouse-table .comment-input{min-width:8rem}.fact-cell{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.copy-plan{white-space:nowrap;padding:4px 8px;font-size:13px;line-height:1.2}.warehouse-delta{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.warehouse-action{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.warehouse-status-mobile{display:none}.refresh-confirm{border:1px solid var(--border);background:var(--accent-soft);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;padding:8px 10px;font-size:13px;display:flex}.pallet-value{font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.comment-input{border:1px solid var(--border);background:var(--surface);width:100%;min-width:10rem;color:var(--text);border-radius:4px;padding:6px 8px}.row-assembled{background:#eef7f0}.row-selected{background:var(--accent-soft)}.export-status{margin:8px 0 4px;font-weight:600}.export-status.is-ready{color:#17663a}.export-status.is-blocked{color:#8a5a00}.capacity-balance{font-variant-numeric:tabular-nums;margin:8px 0 4px;font-weight:600}.capacity-balance.is-ok{color:#17663a}.capacity-balance.is-short{color:#b42318}.depot-line{color:var(--muted);margin:0 0 12px;font-size:13px}.export-vehicle-table th,.export-vehicle-table td,.export-attention-table th,.export-attention-table td,.export-ready-table th,.export-ready-table td{padding:6px 8px}.readiness-summary{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px 16px;margin:16px 0 8px;padding:0;display:grid}.readiness-summary div{margin:0}.readiness-summary dt{color:var(--muted);font-size:13px}.readiness-summary dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:18px;font-weight:700}.issue-list{margin:12px 0 0;padding:0;list-style:none}.issue-list li{gap:8px;padding:6px 0;display:flex}.issue-warning{color:#8a5a00}.issue-error{color:#b42318}.capacity-ok{color:#17663a;font-weight:600}.capacity-bad{color:#b42318;font-weight:600}.status-badge{font-size:13px;display:inline-block}.status-badge.is-assembled{color:#17663a;font-weight:600}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=720px){.col-desktop{display:none}.store-meta{display:block}.warehouse-status-mobile{display:inline-block}.warehouse-table .comment-input{min-width:0}}@media (width<=640px){:root{--layout-padding-x:16px}.page{padding:16px}}.planner-page{max-width:var(--layout-max-width);margin:0 auto}.planner-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-bottom:20px;display:flex}.planner-page-title-row{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.planner-page-title{color:var(--color-text);margin:0;font-size:26px;font-weight:600;line-height:1.25}.planner-page-actions{align-items:center;gap:8px;display:flex}.planner-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.planner-metric-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);align-items:center;gap:12px;padding:14px 16px;display:flex}.planner-metric-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.planner-metric-icon svg{width:18px;height:18px}.planner-metric-icon.is-blue{color:#1d4f91;background:#e8f0fe}.planner-metric-icon.is-violet{color:#5b4bb4;background:#f0ebfc}.planner-metric-icon.is-orange{color:#c45c00;background:#fff3e6}.planner-metric-icon.is-green{color:#1a7a3f;background:#e8f6ec}.planner-metric-icon.is-cyan{color:#0d6e8a;background:#e6f4f8}.planner-metric-value{font-variant-numeric:tabular-nums;color:var(--color-text);font-size:22px;font-weight:600;line-height:1.2}.planner-metric-label{color:var(--color-text-muted);margin-top:2px;font-size:12px;line-height:1.3}.planner-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:20px}.planner-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 20px;padding:18px 20px 0;display:flex}.planner-panel-title{color:var(--color-text);margin:0;font-size:17px;font-weight:600;line-height:1.3}.planner-panel-subtitle{color:var(--color-text-muted);margin:4px 0 0;font-size:13px;line-height:1.4}.planner-panel-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.planner-toolbar{border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap;align-items:flex-end;gap:10px 12px;padding:16px 20px;display:flex}.planner-search{flex:220px;min-width:180px;position:relative}.planner-search-icon{width:16px;height:16px;color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.planner-search input{width:100%;height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:0 12px 0 38px;font-size:14px}.planner-search input::placeholder{color:#9aa5b4}.planner-search input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.planner-field{flex-direction:column;gap:4px;min-width:0;display:flex}.planner-field-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:500}.planner-field select{height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b778c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding:0 28px 0 10px;font-size:14px}.planner-field select:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.planner-table-wrap{overflow-x:auto}.planner-table{border-collapse:collapse;width:100%}.planner-table th{text-align:left;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;padding:10px 16px;font-size:12px;font-weight:600}.planner-table td{vertical-align:middle;border-bottom:1px solid var(--color-border-subtle);height:50px;padding:0 16px;font-size:14px}.planner-table tbody tr:hover{background:#f9fafb}.planner-store-name{color:var(--color-text);font-weight:500}.planner-store-meta{color:var(--color-text-muted);margin-top:2px;font-size:12px;line-height:1.35}.planner-status-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;line-height:1.3;display:inline-flex}.planner-status-badge svg{flex-shrink:0;width:13px;height:13px}.planner-status-badge.is-planned{color:#1d4f91;background:#e8f0fe}.planner-status-badge.is-assembling{color:#c45c00;background:#fff3e6}.planner-status-badge.is-assembled{color:#1a7a3f;background:#e8f6ec}.planner-status-badge.is-exported{color:#5b4bb4;background:#f0ebfc}.planner-empty{color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px 20px;font-size:14px;display:flex}.planner-empty svg{opacity:.5;width:28px;height:28px}.planner-empty-row td{text-align:center;color:var(--color-text-muted);height:auto;padding:24px 16px;font-size:14px}.planner-day-load{margin-bottom:16px}.planner-day-load .day-load-bar{margin:0}.planner-icon-btn{width:var(--control-height);height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.planner-icon-btn:hover:not(:disabled){color:var(--color-text);background:#f6f8fb;border-color:#c5ced8}.planner-icon-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.planner-icon-btn:disabled{opacity:1;color:#9aa5b4;cursor:not-allowed;background:#f6f8fb;border-color:#e3e8ef}.planner-icon-btn svg{width:16px;height:16px}.planner-warning-panel{border-radius:var(--radius-sm);color:var(--color-text);background:#fff8eb;border:1px solid #fde7b0;flex-wrap:wrap;align-items:flex-start;gap:10px 14px;margin-bottom:16px;padding:12px 14px;font-size:13px;display:flex}.planner-warning-panel-icon{width:16px;height:16px;color:var(--color-warning);flex-shrink:0;margin-top:1px}.planner-warning-panel-body{flex:1;min-width:200px}.planner-warning-panel-title{margin:0 0 2px;font-weight:600}.planner-warning-panel-text{color:var(--color-text-muted);margin:0;font-size:12px}.planner-warning-panel-actions{flex-wrap:wrap;gap:8px;display:flex}.planner-inline-error{color:var(--color-danger);white-space:nowrap;font-size:12px}@media (width<=1200px){.planner-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.planner-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.planner-page-title{font-size:22px}}@media (width<=520px){.planner-metrics{grid-template-columns:1fr}}.planner-page-subtitle{color:var(--color-text-muted);margin:4px 0 0;font-size:14px;line-height:1.4}.planner-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:500;line-height:1.3;display:inline-flex}.planner-badge.is-low{color:#1d4f91;background:#e8f0fe}.planner-badge.is-no-gas,.planner-badge.is-neutral{color:#5c6b7a;background:#eef1f5}.planner-badge.is-gas{color:#9a5b00;background:#fff3e6}.planner-restriction-badges{flex-wrap:wrap;gap:4px;display:flex}.planner-progress{flex-direction:column;gap:6px;display:flex}.planner-progress-track{background:#eef1f5;border-radius:999px;height:8px;overflow:hidden}.planner-progress-fill{border-radius:999px;height:100%;transition:width .2s}.planner-progress-fill.is-ok{background:#1d4f91}.planner-progress-fill.is-short{background:#e59a2a}.planner-progress-label{color:var(--color-text-muted);font-size:13px}.planner-progress-label strong{color:var(--color-text);font-weight:600}.planner-tab-nav{border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap;align-items:flex-end;gap:4px 20px;display:flex}.planner-tab-nav-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:12px 4px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.planner-tab-nav-btn:hover{color:var(--color-text)}.planner-tab-nav-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.planner-tab-nav-btn.is-active{color:var(--color-text);border-bottom-color:var(--color-primary)}.planner-tab-nav-icon{flex-shrink:0;width:16px;height:16px}.planner-tab-nav-count{min-width:20px;height:20px;color:var(--color-text-muted);font-variant-numeric:tabular-nums;background:#eef1f5;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.planner-tab-nav-btn.is-active .planner-tab-nav-count{background:var(--color-primary-soft);color:var(--color-primary)}.planner-tab-nav-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.planner-segmented{border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);background:#f3f5f8;align-items:center;padding:3px;display:inline-flex}.planner-segmented-btn{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.planner-segmented-btn:hover{color:var(--color-text)}.planner-segmented-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.planner-segmented-btn.is-active{background:var(--color-primary-soft);color:var(--color-primary);box-shadow:0 1px 2px #1018280f}.planner-active-badge{white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:500;line-height:1.3;display:inline-flex}.planner-active-badge-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.planner-active-badge.is-active{color:#1a7a3f}.planner-active-badge.is-active .planner-active-badge-dot{background:#22a04a}.planner-active-badge.is-inactive{color:var(--color-text-muted)}.planner-active-badge.is-inactive .planner-active-badge-dot{background:#c5ced8}.planner-modal-overlay{z-index:30;background:#0f172066;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow:auto}.planner-modal{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;width:min(680px,100%);max-height:calc(100vh - 80px);display:flex;box-shadow:0 12px 40px #10182829}.planner-modal-header{flex-shrink:0;padding:20px 24px 0}.planner-modal-title{color:var(--color-text);margin:0;font-size:20px;font-weight:600;line-height:1.3}.planner-modal-subtitle{color:var(--color-text-muted);margin:4px 0 0;font-size:13px}.planner-modal-body{flex-direction:column;flex:1;gap:16px;padding:20px 24px;display:flex;overflow:auto}.planner-modal-footer{border-top:1px solid var(--color-border-subtle);border-radius:0 0 var(--radius-md) var(--radius-md);background:#fafbfc;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:16px 24px;display:flex}.planner-modal-footer-danger{margin-right:auto}.planner-modal-alert{border-radius:var(--radius-sm);color:var(--color-danger);background:#fef3f2;border:1px solid #fecdca;padding:10px 12px;font-size:13px;line-height:1.4}.planner-modal-alert+.planner-form-section,.planner-modal-alert+.planner-delete-confirm{margin-top:16px}.planner-delete-confirm{flex-direction:column;gap:8px;padding:4px 0 8px;display:flex}.planner-delete-confirm-title{color:var(--color-text);margin:0;font-size:16px;font-weight:600;line-height:1.35}.planner-delete-confirm-text{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.45}.planner-form-section{border:0;flex-direction:column;gap:12px;min-width:0;margin:0;padding:0;display:flex}.planner-form-section+.planner-form-section{margin-top:20px}.planner-form-section-title{letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 8px;padding:0;font-size:12px;font-weight:600}.planner-form-grid{gap:12px;display:grid}.planner-form-grid.is-2col{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-form-field{flex-direction:column;gap:4px;min-width:0;display:flex}.planner-form-label{color:var(--color-text-muted);font-size:12px;font-weight:600}.planner-form-required{color:var(--color-danger)}.planner-form-field input,.planner-form-field select,.planner-form-field textarea{width:100%;height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:0 12px;font-family:inherit;font-size:14px}.planner-form-field textarea{resize:vertical;height:auto;min-height:88px;padding:10px 12px;line-height:1.4}.planner-form-field input:focus-visible,.planner-form-field select:focus-visible,.planner-form-field textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.planner-form-field.has-error input,.planner-form-field.has-error select,.planner-form-field.has-error textarea{border-color:var(--color-danger)}.planner-form-error{color:var(--color-danger);margin:0;font-size:12px;line-height:1.3}.planner-form-muted{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.4}.planner-input-suffix{position:relative}.planner-input-suffix input{padding-right:44px}.planner-input-suffix span{color:var(--color-text-muted);pointer-events:none;font-size:13px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.planner-checkbox-field{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);cursor:pointer;background:#fafbfc;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.planner-checkbox-field input{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;margin-top:1px}.planner-checkbox-field input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.planner-checkbox-content{flex-direction:column;gap:2px;min-width:0;display:flex}.planner-checkbox-label{color:var(--color-text);font-size:14px;line-height:1.35}.planner-checkbox-hint{color:var(--color-text-muted);font-size:12px;line-height:1.35}@media (width<=900px){.planner-form-grid.is-2col{grid-template-columns:1fr}}
