.planner-head,.planner-section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.planner-head { margin-bottom:20px; }
.planner-head .settings-back { margin-bottom:10px; }
.planner-head-actions,.planner-row-actions { display:flex; align-items:center; gap:8px; }
.planner-view .btn-primary,.planner-dialog .btn-primary { width:auto; flex:none; margin:0; }
.planner-save-status,.planner-section-head p { font-size:12px; line-height:20px; color:var(--soft); margin-top:4px; }
.planner-button { padding:8px 12px; min-height:36px; border:1px solid var(--line2); border-radius:10px; background:var(--panel); color:var(--text); font-size:12px; font-weight:550; white-space:nowrap; }
.planner-button:hover { background:var(--panel2); }
.planner-button:disabled { opacity:.45; cursor:default; }
.planner-text-button { background:none; border:0; color:var(--soft); font-size:12px; padding:6px; min-height:30px; }
.planner-text-button:hover { color:var(--link); }
.planner-message { display:flex; align-items:center; gap:12px; font-size:12px; color:var(--soft); margin-bottom:12px; }
.planner-message:empty { display:none; }
.planner-plan-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; }
.planner-plan-card { padding:20px; border:1px solid var(--line); border-radius:16px; background:var(--panel); color:var(--text); transition:border-color .15s; }
.planner-plan-card:hover { border-color:var(--line2); color:var(--text); }
.planner-plan-icon { width:36px; height:36px; border-radius:10px; background:var(--panel2); display:grid; place-items:center; margin-bottom:16px; }
.planner-plan-card h2 { font-size:16px; line-height:24px; overflow-wrap:anywhere; }
.planner-plan-card p { margin:6px 0 18px; font-size:12px; color:var(--soft); }
.planner-plan-card > span { font-size:12px; font-weight:600; }
.planner-empty { padding:32px 20px; border:1px dashed var(--line2); border-radius:14px; color:var(--soft); font-size:13px; line-height:24px; grid-column:1/-1; text-align:center; }
.planner-backup-tools { display:flex; align-items:center; gap:20px; margin-top:24px; font-size:12px; color:var(--soft); }
.planner-head-actions { flex-wrap:wrap; }
.planner-head-actions > button { min-height:40px; cursor:pointer; }
.planner-head-actions > button:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.planner-backup-tools:empty { display:none; }
.planner-section-head h2 { font-size:15px; line-height:24px; font-weight:650; }
.planner-section-head h3 { font-size:14px; line-height:22px; font-weight:650; }
.planner-goods .tablebox { margin-top:14px; }
.planner-goods-table { min-width:740px !important; }
.planner-goods-table th { font-size:11px; text-transform:none; letter-spacing:0; }
.planner-goods-table td { font-size:12px; padding:12px; }
.planner-goods-table td strong { font-size:12px; font-weight:550; }
.planner-goods-table small { display:block; margin-top:3px; color:var(--soft); font-size:11px; }
.planner-goods-table input[type=checkbox] { width:15px; height:15px; accent-color:var(--text); }
.planner-selection { display:flex; align-items:center; justify-content:space-between; gap:12px; background:var(--panel2); border:1px solid var(--line); padding:8px 12px; border-radius:10px; margin-top:10px; font-size:12px; }
.planner-selection[hidden] { display:none; }
.planner-containers-heading { margin:28px 0 14px; }
.planner-container-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:14px; }
.planner-container { border:1px solid var(--line); border-radius:16px; padding:16px; background:var(--panel); min-width:0; }
.planner-capacity { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-top:18px; font-size:12px; flex-wrap:wrap; }
.planner-capacity strong { font-size:15px; }
.planner-capacity span { color:var(--soft); }
.planner-container progress { width:100%; height:6px; margin-top:10px; accent-color:#303030; border:0; border-radius:4px; display:block; }
.planner-container progress::-webkit-progress-bar { background:var(--line); border-radius:4px; }
.planner-container progress::-webkit-progress-value { background:#6e56a5; border-radius:4px; }
.planner-container.overloaded { border-color:#de9a9a; }
.planner-container.overloaded progress::-webkit-progress-value { background:#c13939; }
.planner-container-meta { display:flex; flex-direction:column; gap:4px; margin:12px 0; font-size:11px; color:var(--soft); }
.planner-warning { color:var(--amber); font-size:12px; line-height:20px; margin:10px 0; }
.overloaded .planner-warning { color:var(--red); }
.planner-loads > div { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 0; border-top:1px solid var(--line); }
.planner-loads strong { font-size:12px; font-weight:550; overflow-wrap:anywhere; }
.planner-loads small { display:block; color:var(--soft); font-size:11px; margin-top:3px; }
.planner-container-empty { color:var(--soft); font-size:12px; padding:16px 0; }
.planner-remove-container { margin-top:8px; padding-left:0; }
.planner-plan-footer { margin-top:28px; }
.planner-dialog { border:1px solid var(--line); border-radius:20px; padding:24px; background:var(--panel); color:var(--text); width:min(480px,calc(100vw - 24px)); max-height:calc(100vh - 32px); overflow:auto; margin:auto; box-shadow:var(--shadow-md); }
.planner-dialog::backdrop { background:rgba(0,0,0,.35); }
.planner-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
.planner-dialog h2 { font-size:18px; line-height:26px; }
.planner-form-fields { display:grid; gap:14px; }
.planner-form-fields label { display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:550; }
.planner-form-fields input,.planner-form-fields select { min-width:0; width:100%; border:1px solid var(--line2); border-radius:10px; padding:10px 12px; min-height:40px; font-size:13px; color:var(--text); background:var(--panel); }
.planner-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.planner-help { font-size:12px; line-height:20px; color:var(--soft); }
.planner-dialog-error { color:var(--red); font-size:12px; line-height:20px; margin-top:12px; }
.planner-dialog-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:20px; }
@media(max-width:767px) { .planner-head { align-items:flex-start; flex-direction:column; gap:12px; } .planner-head-actions { width:100%; } .planner-container-grid,.planner-plan-grid { grid-template-columns:1fr; } .planner-dialog { padding:18px; } .planner-backup-tools { flex-wrap:wrap; } .planner-section-head { gap:8px; } }
