/* ── Buttons ── */
.btn{font-family:'Golos Text',sans-serif;font-size:13px;font-weight:500;padding:7px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--tr),background var(--tr);border:1px solid var(--border);}
.btn-primary{background:var(--text);color:var(--bg);border-color:var(--text);}
.btn-primary:hover{opacity:.85;}
.btn-ghost{background:none;color:var(--muted);}
.btn-ghost:hover{background:var(--surface2);color:var(--text);}
.btn-icon{background:none;border:none;cursor:pointer;font-size:15px;padding:4px 6px;border-radius:5px;color:var(--hint);line-height:1;transition:color var(--tr),background var(--tr);}
.btn-icon:hover{color:var(--text);background:var(--surface2);}
.btn-icon.danger:hover{color:#c0392b;background:#fdf0f0;}
.btn-dashed{background:none;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--muted);font-family:'Golos Text',sans-serif;font-size:12px;font-weight:500;padding:5px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:background var(--tr),color var(--tr);}
.btn-dashed:hover{background:var(--surface2);color:var(--text);}

/* ── Theme toggle ── */
.theme-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:background var(--tr);}
.theme-btn:hover{background:var(--surface2);}

/* ── Section card ── */
.section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:1.5rem;box-shadow:var(--shadow);}
.section-head{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--border);}
.section-stripe{width:4px;height:36px;border-radius:3px;flex-shrink:0;}
.section-icon{font-size:20px;line-height:1;}
.section-info{flex:1;}
.section-title{font-family:'Unbounded',sans-serif;font-size:13px;font-weight:600;letter-spacing:-.01em;}
.section-desc{font-size:12px;color:var(--muted);}
.section-count{font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;border:1px solid var(--border);color:var(--muted);}
.section-actions{display:flex;gap:2px;}

/* ── Table ── */
table{width:100%;border-collapse:collapse;}
thead th{padding:8px 16px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--hint);background:var(--surface2);border-bottom:1px solid var(--border);}
th:nth-child(1){width:40%;}th:nth-child(2){width:20%;}th:nth-child(3){width:32%;}th:nth-child(4){width:8%;}
tbody tr{border-bottom:1px solid var(--border2);transition:background var(--tr);}
tbody tr:last-child{border-bottom:none;}
tbody tr:hover{background:var(--surface2);}
tbody tr.empty-row:hover{background:transparent;}
td{padding:10px 16px;font-size:13.5px;vertical-align:middle;}
td.name-cell{font-weight:500;}
td.next-cell{color:var(--muted);font-size:13px;}
td.next-cell.none{color:var(--hint);font-style:italic;}
td.act-cell{text-align:right;}
.empty-row td{color:var(--hint);font-size:12px;font-style:italic;padding:7px 16px;}

/* ── Status badge ── */
.status-badge{display:inline-block;font-size:11.5px;font-weight:500;padding:3px 9px;border-radius:20px;white-space:nowrap;}

/* ── Section manage list ── */
.manage-list{display:flex;flex-direction:column;gap:8px;}
.manage-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;display:flex;align-items:center;gap:10px;}
.manage-item-icon{font-size:18px;line-height:1;}
.manage-item-body{flex:1;}
.manage-item-title{font-weight:600;font-size:14px;}
.manage-item-sub{font-size:12px;color:var(--muted);}
.manage-item-actions{display:flex;gap:4px;}
.color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;}

/* ── Status manage ── */
.status-row{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);}
.status-preview{font-size:12px;font-weight:500;padding:3px 10px;border-radius:20px;}

/* ── Section add button ── */
.add-section-wrap{margin-top:.5rem;}

/* ── Modal ── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;align-items:center;justify-content:center;}
.modal-overlay.open{display:flex;}
.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;width:min(440px,94vw);box-shadow:0 20px 60px rgba(0,0,0,.15);max-height:90vh;overflow-y:auto;}
.modal-title{font-family:'Unbounded',sans-serif;font-size:13px;font-weight:600;margin-bottom:18px;}
.field{margin-bottom:14px;}
.field label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:5px;}
.field input,.field select,.field textarea{font-family:'Golos Text',sans-serif;font-size:14px;width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);outline:none;transition:border-color var(--tr);resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--muted);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.color-row{display:flex;align-items:center;gap:8px;}
.color-row input[type=color]{width:36px;height:36px;padding:2px;border-radius:6px;cursor:pointer;flex-shrink:0;}
.color-row input[type=text]{flex:1;}
.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;}
.modal-error{font-size:12px;color:#c0392b;margin-top:-8px;margin-bottom:8px;min-height:16px;}

/* ── Toast ── */
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(16px);background:var(--text);color:var(--bg);font-size:13px;padding:9px 18px;border-radius:20px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;z-index:999;white-space:nowrap;}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* ── Misc ── */
.section-footer{padding:9px 16px;border-top:1px solid var(--border);background:var(--surface2);}
.tag{font-size:11px;padding:2px 8px;border-radius:20px;background:var(--surface2);border:1px solid var(--border);color:var(--muted);}
.empty-state{text-align:center;padding:40px 20px;color:var(--hint);font-size:14px;}
