:root{--otterfi-bg-top:#0d1712;--otterfi-bg-bottom:#070c09;--otterfi-surface:#12211b;--otterfi-surface-raised:#16281f;--otterfi-border:#3ac48538;--otterfi-accent:#3ac485;--otterfi-accent-deep:#1f6e4c;--otterfi-ink:#f4f1e8;--otterfi-ink-muted:#a3b3ab;--otterfi-danger:#f2665c;--otterfi-heading-font:Georgia, "Iowan Old Style", "Times New Roman", serif;--otterfi-body-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*,:before,:after{box-sizing:border-box}body{font-family:var(--otterfi-body-font);color:var(--otterfi-ink);background:linear-gradient(180deg, var(--otterfi-bg-top) 0%, var(--otterfi-bg-bottom) 65%);margin:0}.otterfi-admin-shell{flex-direction:column;min-height:100vh;display:flex}.otterfi-admin-nav{z-index:50;border-bottom:1px solid var(--otterfi-border);background:#070c09eb;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.otterfi-admin-nav__brand{font-family:var(--otterfi-heading-font);color:var(--otterfi-ink);font-size:1.1rem;text-decoration:none}.otterfi-admin-nav__links{align-items:center;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.otterfi-admin-nav__link{color:var(--otterfi-ink-muted);font-size:.95rem;text-decoration:none}.otterfi-admin-nav__link--disabled{color:#a3b3ab73;cursor:default}.otterfi-admin-nav__identity{color:var(--otterfi-ink-muted);align-items:center;gap:.75rem;font-size:.9rem;display:flex}.otterfi-admin-nav__role-badge{background:var(--otterfi-surface-raised);border:1px solid var(--otterfi-border);text-transform:uppercase;letter-spacing:.04em;color:var(--otterfi-accent);border-radius:999px;padding:.15rem .6rem;font-size:.75rem}.otterfi-admin-page{flex-direction:column;flex:1;gap:1rem;max-width:640px;margin:0 auto;padding:4rem 1.5rem;display:flex}.otterfi-admin-page__eyebrow{color:var(--otterfi-accent);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.8rem}.otterfi-admin-page__heading{font-family:var(--otterfi-heading-font);text-wrap:balance;margin:0;font-size:1.8rem}.otterfi-admin-page__body{color:var(--otterfi-ink-muted);margin:0;line-height:1.6}.otterfi-admin-page__primary{background:var(--otterfi-accent);color:#06130d;cursor:pointer;border:none;border-radius:999px;align-self:flex-start;padding:.7rem 1.4rem;font-weight:600}.otterfi-admin-page__primary:disabled{opacity:.6;cursor:default}.otterfi-admin-page__error{color:var(--otterfi-danger);margin:0}.otterfi-admin-card{background:var(--otterfi-surface);border:1px solid var(--otterfi-border);border-radius:12px;flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.otterfi-admin-card__row{justify-content:space-between;gap:1rem;font-size:.95rem;display:flex}.otterfi-admin-card__label{color:var(--otterfi-ink-muted)}.otterfi-admin-card__title{font-family:var(--otterfi-heading-font);margin:0 0 .25rem;font-size:1.1rem}.otterfi-admin-page--wide{gap:1.5rem;max-width:960px}.otterfi-admin-search{gap:.75rem;display:flex}.otterfi-admin-search__input{border:1px solid var(--otterfi-border);background:var(--otterfi-surface);color:var(--otterfi-ink);border-radius:8px;flex:1;padding:.6rem .9rem;font-size:.95rem}.otterfi-admin-table-wrapper{overflow-x:auto}.otterfi-admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.otterfi-admin-table th{text-align:left;color:var(--otterfi-ink-muted);border-bottom:1px solid var(--otterfi-border);padding:.6rem .75rem;font-weight:600}.otterfi-admin-table td{border-bottom:1px solid var(--otterfi-border);padding:.6rem .75rem}.otterfi-admin-table a{color:var(--otterfi-accent)}.otterfi-admin-pagination{align-items:center;gap:1rem;display:flex}.otterfi-admin-dialog-overlay{z-index:100;background:#070c09b3;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.otterfi-admin-dialog{background:var(--otterfi-surface-raised);border:1px solid var(--otterfi-border);border-radius:12px;flex-direction:column;gap:1rem;width:100%;max-width:480px;padding:1.5rem;display:flex}.otterfi-admin-dialog__title{font-family:var(--otterfi-heading-font);margin:0;font-size:1.25rem}.otterfi-admin-dialog__body{flex-direction:column;gap:.75rem;display:flex}.otterfi-admin-dialog__actions{justify-content:flex-end;gap:.75rem;display:flex}.otterfi-admin-dialog__secondary{border:1px solid var(--otterfi-border);color:var(--otterfi-ink);cursor:pointer;background:0 0;border-radius:999px;padding:.7rem 1.4rem}.otterfi-admin-dialog__secondary:disabled,.otterfi-admin-page__primary:disabled{opacity:.6;cursor:default}.otterfi-admin-form{flex-direction:column;gap:.75rem;display:flex}.otterfi-admin-form label{color:var(--otterfi-ink-muted);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.otterfi-admin-form input,.otterfi-admin-form select,.otterfi-admin-form textarea{border:1px solid var(--otterfi-border);background:var(--otterfi-surface);color:var(--otterfi-ink);border-radius:8px;padding:.55rem .75rem;font-family:inherit;font-size:.95rem}.otterfi-admin-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.otterfi-admin-kpi-tile{background:var(--otterfi-surface);border:1px solid var(--otterfi-border);border-radius:12px;flex-direction:column;gap:.35rem;padding:1.25rem;display:flex}.otterfi-admin-kpi-tile__value{font-family:var(--otterfi-heading-font);font-variant-numeric:tabular-nums;font-size:1.8rem}.otterfi-admin-kpi-tile__label{color:var(--otterfi-ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem}.otterfi-admin-pill{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--otterfi-border);border-radius:999px;padding:.15rem .6rem;font-size:.75rem;display:inline-block}.otterfi-admin-pill--good{color:var(--otterfi-accent);border-color:var(--otterfi-accent-deep)}.otterfi-admin-pill--warn{color:#e2b93b;border-color:#e2b93b66}.otterfi-admin-pill--bad{color:var(--otterfi-danger);border-color:#f2665c66}.otterfi-admin-secondary-button{border:1px solid var(--otterfi-border);color:var(--otterfi-ink);cursor:pointer;background:0 0;border-radius:999px;padding:.4rem .9rem;font-size:.85rem}.otterfi-admin-secondary-button:disabled{opacity:.5;cursor:default}
