:root{--bg: #f7f5f2;--surface: #ffffff;--text: #141413;--text-muted: #5c5a57;--border: #e4e1dc;--accent: #0d6b5c;--accent-hover: #0a5549;--danger: #b42318;--radius: 10px;--shadow: 0 1px 2px rgba(20, 20, 19, .06), 0 4px 12px rgba(20, 20, 19, .06);--focus: 0 0 0 3px rgba(13, 107, 92, .35);--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1{font-size:1.75rem;font-weight:650;letter-spacing:-.02em;margin:0 0 var(--space-2)}h2{font-size:1.125rem;font-weight:600;margin:0 0 var(--space-1)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus);border-radius:6px}.page{max-width:1120px;margin:0 auto;padding:var(--space-3) var(--space-2)}.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:600;font-size:.9375rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:transparent}.btn-danger{border-color:#b4231859;color:var(--danger)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-2)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}table.data{width:100%;border-collapse:collapse;font-size:.9375rem}table.data th,table.data td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}table.data th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:#faf9f7}table.data tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid var(--border);background:#faf9f7;color:var(--text-muted)}.badge-active{border-color:#0d6b5c59;background:#0d6b5c1a;color:var(--accent)}.badge-inactive{opacity:.85}.filter-bar{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-2)}.filter-bar input,.filter-bar select{min-height:44px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);font:inherit}.alert{padding:12px 16px;border-radius:var(--radius);border:1px solid var(--border);background:#fff8f5;color:var(--text);margin-bottom:var(--space-2)}.alert-error{border-color:#b4231859;background:#fff5f3}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-2)}label.field{display:flex;flex-direction:column;gap:6px;font-size:.875rem;font-weight:600;color:var(--text)}label.field span.hint{font-weight:400;color:var(--text-muted);font-size:.8125rem}input,select,textarea{min-height:44px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);font:inherit}textarea{min-height:100px;resize:vertical}.form-actions{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-3)}.empty{padding:var(--space-4);text-align:center;color:var(--text-muted)}.cdk-drag-preview{box-shadow:var(--shadow);border-radius:var(--radius);background:var(--surface)}.stage-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-1);background:var(--surface)}.stage-row .handle{cursor:grab;color:var(--text-muted);-webkit-user-select:none;user-select:none}.modal-backdrop{position:fixed;inset:0;background:#14141373;display:flex;align-items:center;justify-content:center;padding:var(--space-2);z-index:50}.modal{width:min(520px,100%);background:var(--surface);border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow);padding:var(--space-3)}
