:root{--bg: #f2f5f3;--bg-elev: #ffffff;--panel: #ffffff;--ink: #10201c;--ink-2: #34443f;--ink-muted: #66756f;--ink-subtle: #96a19d;--line: #d8dfdc;--line-soft: #e7ece9;--line-hairline: #f1f4f2;--accent: #0e766d;--accent-hover: #095e57;--accent-ink: #ffffff;--accent-soft: #e2f3ef;--brand-deep: #10231f;--brand-signal: #d9f078;--brand-coral: #ff866b;--ok: #147d4e;--err: #b42318;--warn: #a15c00;--shadow-xs: 0 1px 2px rgba(16, 32, 28, .035), 0 0 0 1px rgba(16, 32, 28, .025);--shadow-sm: 0 3px 10px rgba(16, 32, 28, .055), 0 1px 2px rgba(16, 32, 28, .04);--radius: 14px;--radius-sm: 9px;--ui-font: "Aptos", "SF Pro Text", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ui-font);font-size:13.5px;-webkit-font-smoothing:antialiased}.app-loading{display:grid;place-items:center;min-height:100%;color:var(--ink-muted)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--bg-elev);color:var(--ink);font:inherit;font-weight:500;padding:7px 12px;border-radius:var(--radius-sm);cursor:pointer;height:32px;display:inline-flex;align-items:center;gap:6px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn--ghost{background:transparent;box-shadow:none;border-color:transparent;color:var(--ink-2)}.app{min-height:100%;display:flex;flex-direction:column}.env-ribbon{display:flex;gap:12px;align-items:baseline;padding:8px 20px;font-size:12px;letter-spacing:.04em}.env-ribbon strong{font-size:11px;letter-spacing:.12em}.env-ribbon--development{background:#eef6d6;color:#3b4a12;border-bottom:1px solid #d5e3a6}.env-ribbon--production{background:var(--brand-deep);color:#f4efe6;border-bottom:1px solid #1c332d}.app__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:#fff;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}.app__brand{display:flex;align-items:center;gap:10px}.app__logo{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--brand-deep);color:var(--brand-signal);font-weight:700;font-size:11px}.app__brand-meta{display:flex;flex-direction:column}.app__brand-meta span{color:var(--ink-muted);font-size:12px}.app__context{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app__select{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--ink-muted)}.app__select select{height:32px;border-radius:var(--radius-sm);border:1px solid var(--line);padding:0 8px;font:inherit;color:var(--ink);background:#fff}.app__env-switch{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.env-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:#fff;color:var(--ink-2);font:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;padding:8px 10px;cursor:pointer}.env-switch.is-active{background:var(--brand-deep);color:#fff}.env-badge{border-radius:999px;padding:6px 10px;border:1px solid var(--line)}.env-badge__word{font-size:11px;font-weight:800;letter-spacing:.12em}.env-badge--development{background:#f4f8e3}.env-badge--production{background:#2a1612;border-color:#4a241c;color:var(--brand-coral)}.app__user{display:flex;align-items:center;gap:8px;color:var(--ink-muted)}.app__nav{display:flex;gap:4px}.app__nav-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:inherit;font-weight:600;color:var(--ink-2);padding:8px 10px;border-radius:999px;cursor:pointer}.app__nav-link.is-active{background:var(--accent-soft);color:var(--accent-hover)}.app__main{padding:28px 20px 48px;max-width:860px}.home h1{margin:0 0 12px;font-size:28px}.home__kicker{text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:var(--ink-muted)}.home__env-word{font-weight:800;letter-spacing:.14em;font-size:13px}.home__isolation,.home__warn{padding:12px 14px;border-radius:var(--radius-sm)}.home__isolation{background:var(--accent-soft)}.home__warn{background:#2a1612;color:#f8e8e3}.auth{min-height:100%;display:grid;place-items:center;padding:24px}.auth__card{width:min(420px,100%);background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:28px}.auth__brand{font-weight:700;letter-spacing:.04em}.auth form{display:flex;flex-direction:column;gap:10px}.auth label{font-size:12px;color:var(--ink-muted)}.auth input{height:36px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px;font:inherit}.auth__error{color:var(--err)}.auth__line,.auth__hint{color:var(--ink-muted)}.page h1,.page h2{margin:0 0 10px}.page h1{font-size:28px}.page h2{font-size:16px;margin-top:28px}.page__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}.page__lede,.page__muted,.field-hint{color:var(--ink-muted)}.field-hint{display:block;font-size:12px;margin-top:4px}.stack{display:flex;flex-direction:column;gap:12px}.stack label,.stack input,.stack textarea,.stack select{display:block;width:100%}.stack input,.stack textarea,.stack select,.prop-editor__row input,.prop-editor__row select,.prop-table__row input,.prop-table__row select{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px;background:#fff}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.empty{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:28px;max-width:520px}.empty h2{margin-top:0}.model-list{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:10px}.model-card{width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line-soft);background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-xs);padding:16px 18px;cursor:pointer;color:inherit}.model-card p{margin:6px 0 0;color:var(--ink-2)}.model-card__top{display:flex;align-items:center;gap:8px}.model-card__props{list-style:none;padding:10px 0 0;margin:0;display:grid;gap:4px}.model-card__props li{display:flex;justify-content:space-between;gap:16px;font-size:13px}.model-card__props li span:last-child{color:var(--ink-muted)}.model-card__meta,.prop-editor__key{color:var(--ink-muted);font-size:12px}.model-card.is-archived,.prop-table__row.is-archived{opacity:.7}.pill{font-size:11px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:2px 8px}.prop-editor,.prop-table{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:8px}.prop-editor__row,.prop-table__row{display:grid;grid-template-columns:minmax(140px,1.4fr) 160px minmax(80px,.8fr) auto;gap:8px;align-items:center}.prop-table__actions{display:flex;flex-wrap:wrap;gap:4px}.page__footer-actions{margin-top:32px;padding-top:16px;border-top:1px solid var(--line-soft)}.identity-row,.fixture{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);padding:16px 18px;margin:12px 0 8px}.value-list,.link-list{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px}.value-card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);padding:14px 16px}.value-card__top{display:flex;justify-content:space-between;gap:16px}.value-card__source,.link-list{color:var(--ink-muted);font-size:13px}.empty--inline{margin:0 0 16px}.empty--inline h3{margin:0 0 8px}.badge-fixture,.planning-panel{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);padding:16px 18px;margin:16px 0}.badge-fixture{color:var(--ink-muted);font-size:13px}.resource-card{background:var(--bg);border:1px solid var(--line-soft);border-radius:var(--radius);padding:14px 16px;margin:12px 0}.resource-card__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.map-board{border:1px solid var(--line-soft);border-radius:var(--radius);padding:14px 16px;margin:12px 0;background:var(--bg)}.map-board__cols{display:grid;grid-template-columns:minmax(140px,1fr) minmax(160px,1fr);gap:38px}.map-board__kicker{margin:0;color:var(--ink-muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.map-board h3{margin:2px 0 8px}.map-rows{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}.map-row{display:grid;grid-template-columns:minmax(140px,1fr) 28px minmax(160px,1fr);gap:10px;align-items:center}.map-row code{display:block;color:var(--ink-muted);font-size:12px}.map-row__arrow{color:var(--accent);font-weight:600;text-align:center}.authority-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,1fr);gap:12px;align-items:center}.sim-result{margin-top:16px}.sim-would_update,.sim-would_create{border-color:#b7dcc0}.sim-blocked_authority,.sim-blocked_unowned,.sim-error{border-color:#f0c2b6}.sim-echo{border-color:#c5d4ef}.exec-banner{padding:10px 12px;border-radius:var(--radius-sm);background:var(--accent-soft)}.exec-banner--stale_config,.exec-banner--stale_state,.exec-banner--stale_value,.exec-banner--failed{background:#f8ece8}.issue-card{width:100%;text-align:left;font:inherit;cursor:pointer}.issue-card--resolved{opacity:.72}.issue-detail{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);padding:16px 18px}.issue-status{margin:0 0 8px;color:var(--ink-muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.setup-card{border:1px solid var(--line-soft);border-radius:var(--radius);padding:16px 18px;margin:16px 0;background:var(--bg-elev)}.setup-card--empty,.setup-card--none{background:var(--accent-soft)}.setup-card--unpublished{border-color:#e6c27a;background:#fff8e8}.setup-kicker{margin:0 0 4px;color:var(--ink-muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.setup-pill{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--accent-soft);font-size:12px}.setup-findings ul,.revision-list,.timeline{list-style:none;padding:0;margin:0}.revision-row,.timeline__item{display:grid;grid-template-columns:72px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-hairline)}.timeline__item{grid-template-columns:72px 1fr}.timeline__details{display:grid;grid-template-columns:88px 1fr;gap:4px 10px;color:var(--ink-muted);font-size:12px}.sim-banner{padding:10px 12px;border-radius:var(--radius-sm);background:var(--accent-soft);display:grid;gap:4px}.sim-banner--draft strong{display:block}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media (max-width: 800px){.app__header{align-items:flex-start}.app__main{padding:20px 16px 40px}.prop-editor__row,.prop-table__row{grid-template-columns:1fr}}
