*,*:before,*:after{box-sizing:border-box;margin:0}html,body,#app{min-height:100%}body{min-height:100vh;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{color-scheme:light;--fh-deep-blue: #1a5f9e;--fh-medium-blue: #2c7ac9;--fh-light-blue: #6ab0e6;--fh-orange: #f39c12;--fh-light-gray: #ecf0f1;--fh-charcoal: #2d3045;--fh-success: #008080;--fh-danger: #d85858;--fh-border: #d6dee4;--fh-card-border: #dfe7ed;--fh-muted: #5c6880;--fh-bg: #ecf0f1;--fh-surface: #ffffff;--fh-surface-soft: #f7f9fc;--fh-text: #2d3045;--fh-text-strong: #2d3045;--fh-shadow: rgba(45, 48, 69, .08);--line: #d6dee4;--surface-elevated: #ffffff;--text-primary: #2d3045}:root.dark{color-scheme:dark;--fh-deep-blue: #8bc3ff;--fh-medium-blue: #4f8fce;--fh-light-blue: #7db7e8;--fh-light-gray: #0f1724;--fh-charcoal: #e5ebf5;--fh-success: #45c0b7;--fh-danger: #f07d7d;--fh-border: #334155;--fh-card-border: #3a4659;--fh-muted: #9fb0c7;--fh-bg: #0f1724;--fh-surface: #182334;--fh-surface-soft: #111a28;--fh-text: #e5ebf5;--fh-text-strong: #f2f7ff;--fh-shadow: rgba(2, 6, 23, .45);--line: #334155;--surface-elevated: #182334;--text-primary: #e5ebf5}body{background-color:var(--fh-bg);color:var(--fh-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:linear-gradient(180deg,var(--fh-surface) 0%,var(--fh-surface-soft) 100%);border-right:1px solid var(--fh-border);padding:20px 14px}.brand{font-size:26px;font-weight:800;margin-bottom:18px}.brand-flat{color:var(--fh-charcoal)}.brand-harmony{color:var(--fh-orange)}.nav-list{display:grid;gap:8px}.nav-item{border:1px solid var(--fh-border);background:var(--fh-surface);color:var(--fh-text);border-radius:10px;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;font-size:14px;cursor:pointer}.nav-item.active{border-color:var(--fh-medium-blue);color:var(--fh-deep-blue);background:color-mix(in oklab,var(--fh-medium-blue) 12%,var(--fh-surface));font-weight:600}.nav-badge{background:color-mix(in oklab,var(--fh-medium-blue) 16%,var(--fh-surface));color:var(--fh-deep-blue);font-size:12px;border-radius:999px;padding:2px 8px}.content{padding:22px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.topbar h1{font-size:24px}.actions{display:flex;flex-wrap:wrap;gap:8px}button,input,select,textarea{border:1px solid #c6d2dc;border-radius:10px;padding:10px 12px;font-size:14px;background:var(--fh-surface);color:var(--fh-text)}button{background:var(--fh-medium-blue);color:#fff;border-color:var(--fh-medium-blue);cursor:pointer}button.ghost{background:var(--fh-surface);color:var(--fh-deep-blue);border-color:var(--fh-border)}button.warn{background:var(--fh-danger);border-color:var(--fh-danger)}.page-grid{display:grid;gap:14px}.card{background:var(--fh-surface);border:1px solid var(--fh-card-border);border-radius:14px;padding:16px}.card h2{font-size:18px;margin-bottom:10px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi{background:var(--fh-surface);border:1px solid var(--fh-card-border);border-radius:14px;padding:14px}.kpi .label{color:var(--fh-muted);font-size:13px}.kpi .value{font-size:28px;font-weight:700;color:var(--fh-deep-blue)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}form{display:grid;gap:10px}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--fh-card-border);padding:10px 8px;font-size:14px}.status-chip{display:inline-flex;align-items:center;gap:.45rem;padding:6px 12px;border-radius:999px;border:1px solid var(--fh-card-border);font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.status-dot{width:.5rem;height:.5rem;border-radius:999px;background:currentColor;opacity:.9}.status-text{line-height:1}.status-live{background:color-mix(in oklab,var(--fh-success) 14%,var(--fh-surface));border-color:color-mix(in oklab,var(--fh-success) 34%,var(--fh-card-border));color:var(--fh-success)}.status-demo{background:color-mix(in oklab,var(--fh-medium-blue) 12%,var(--fh-surface));border-color:color-mix(in oklab,var(--fh-medium-blue) 34%,var(--fh-card-border));color:var(--fh-deep-blue)}.list{display:grid;gap:10px}.list-item{border:1px solid var(--fh-card-border);border-radius:12px;background:var(--fh-surface);padding:12px}.muted{color:var(--fh-muted);font-size:13px}.error{color:var(--fh-danger)}.success{color:var(--fh-success)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(460px,100%);background:var(--fh-surface);border:1px solid var(--fh-card-border);border-radius:16px;padding:20px;display:grid;gap:12px}:root.dark button,:root.dark input,:root.dark select,:root.dark textarea{border-color:var(--fh-border)}:root.dark .kpi .value{color:var(--fh-light-blue)}@media (max-width: 1024px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--fh-border)}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}}@media (max-width: 640px){.kpi-grid{grid-template-columns:1fr}}.checklist[data-v-a68001d8]{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.35rem}.checklist li[data-v-a68001d8]{display:flex;justify-content:space-between;gap:.75rem}.rules-head[data-v-a68001d8]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.rules-meta[data-v-a68001d8]{display:flex;align-items:center;gap:.5rem}.source-chip[data-v-a68001d8]{border:1px solid var(--fh-border);border-radius:999px;padding:.2rem .65rem;font-size:.75rem;color:var(--fh-muted);background:var(--fh-surface)}.controls-grid[data-v-7d5bf0ed]{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,1fr) minmax(180px,240px);gap:.75rem 1rem;align-items:end}.field[data-v-7d5bf0ed]{display:grid;gap:.45rem;margin:0}.field select[data-v-7d5bf0ed],.field input[data-v-7d5bf0ed],.field textarea[data-v-7d5bf0ed]{width:100%}.field-entity-type[data-v-7d5bf0ed]{justify-self:end}.json-preview[data-v-7d5bf0ed]{max-width:460px;white-space:pre-wrap;font-size:.75rem}@media (max-width: 1024px){.controls-grid[data-v-7d5bf0ed]{grid-template-columns:1fr}.field-entity-type[data-v-7d5bf0ed]{justify-self:stretch}}textarea[data-v-7d5bf0ed]{width:100%;border-radius:.8rem;border:1px solid var(--line);padding:.7rem;font-family:ui-monospace,SFMono-Regular,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:var(--surface-elevated);color:var(--text-primary)}
