@charset "UTF-8";

/* node_modules/@fontsource/montserrat/400.css */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/montserrat-cyrillic-ext-400-normal-HO4VTNEJ.woff2") format("woff2"), url("./media/montserrat-cyrillic-ext-400-normal-HT7TEDSC.woff") format("woff");
  unicode-range:
    U+0460-052F,
    U+1C80-1C8A,
    U+20B4,
    U+2DE0-2DFF,
    U+A640-A69F,
    U+FE2E-FE2F;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/montserrat-cyrillic-400-normal-XGJIKDGX.woff2") format("woff2"), url("./media/montserrat-cyrillic-400-normal-DHCSNJK6.woff") format("woff");
  unicode-range:
    U+0301,
    U+0400-045F,
    U+0490-0491,
    U+04B0-04B1,
    U+2116;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/montserrat-vietnamese-400-normal-QP7HZWF2.woff2") format("woff2"), url("./media/montserrat-vietnamese-400-normal-2H5IW37K.woff") format("woff");
  unicode-range:
    U+0102-0103,
    U+0110-0111,
    U+0128-0129,
    U+0168-0169,
    U+01A0-01A1,
    U+01AF-01B0,
    U+0300-0301,
    U+0303-0304,
    U+0308-0309,
    U+0323,
    U+0329,
    U+1EA0-1EF9,
    U+20AB;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/montserrat-latin-ext-400-normal-LBVJDFUC.woff2") format("woff2"), url("./media/montserrat-latin-ext-400-normal-OTF6F7FB.woff") format("woff");
  unicode-range:
    U+0100-02BA,
    U+02BD-02C5,
    U+02C7-02CC,
    U+02CE-02D7,
    U+02DD-02FF,
    U+0304,
    U+0308,
    U+0329,
    U+1D00-1DBF,
    U+1E00-1E9F,
    U+1EF2-1EFF,
    U+2020,
    U+20A0-20AB,
    U+20AD-20C0,
    U+2113,
    U+2C60-2C7F,
    U+A720-A7FF;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("./media/montserrat-latin-400-normal-YBIMBXKC.woff2") format("woff2"), url("./media/montserrat-latin-400-normal-4VXUWRG7.woff") format("woff");
  unicode-range:
    U+0000-00FF,
    U+0131,
    U+0152-0153,
    U+02BB-02BC,
    U+02C6,
    U+02DA,
    U+02DC,
    U+0304,
    U+0308,
    U+0329,
    U+2000-206F,
    U+20AC,
    U+2122,
    U+2191,
    U+2193,
    U+2212,
    U+2215,
    U+FEFF,
    U+FFFD;
}

/* node_modules/@fontsource/montserrat/500.css */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/montserrat-cyrillic-ext-500-normal-W64LPA3B.woff2") format("woff2"), url("./media/montserrat-cyrillic-ext-500-normal-HGPQQTM4.woff") format("woff");
  unicode-range:
    U+0460-052F,
    U+1C80-1C8A,
    U+20B4,
    U+2DE0-2DFF,
    U+A640-A69F,
    U+FE2E-FE2F;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/montserrat-cyrillic-500-normal-MJ3CG4HD.woff2") format("woff2"), url("./media/montserrat-cyrillic-500-normal-Y457DSXQ.woff") format("woff");
  unicode-range:
    U+0301,
    U+0400-045F,
    U+0490-0491,
    U+04B0-04B1,
    U+2116;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/montserrat-vietnamese-500-normal-TJAKXS6R.woff2") format("woff2"), url("./media/montserrat-vietnamese-500-normal-3O3RJJCC.woff") format("woff");
  unicode-range:
    U+0102-0103,
    U+0110-0111,
    U+0128-0129,
    U+0168-0169,
    U+01A0-01A1,
    U+01AF-01B0,
    U+0300-0301,
    U+0303-0304,
    U+0308-0309,
    U+0323,
    U+0329,
    U+1EA0-1EF9,
    U+20AB;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/montserrat-latin-ext-500-normal-622MS7GP.woff2") format("woff2"), url("./media/montserrat-latin-ext-500-normal-PQXJS6OG.woff") format("woff");
  unicode-range:
    U+0100-02BA,
    U+02BD-02C5,
    U+02C7-02CC,
    U+02CE-02D7,
    U+02DD-02FF,
    U+0304,
    U+0308,
    U+0329,
    U+1D00-1DBF,
    U+1E00-1E9F,
    U+1EF2-1EFF,
    U+2020,
    U+20A0-20AB,
    U+20AD-20C0,
    U+2113,
    U+2C60-2C7F,
    U+A720-A7FF;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("./media/montserrat-latin-500-normal-GBQ7LNXL.woff2") format("woff2"), url("./media/montserrat-latin-500-normal-H3RE3HRH.woff") format("woff");
  unicode-range:
    U+0000-00FF,
    U+0131,
    U+0152-0153,
    U+02BB-02BC,
    U+02C6,
    U+02DA,
    U+02DC,
    U+0304,
    U+0308,
    U+0329,
    U+2000-206F,
    U+20AC,
    U+2122,
    U+2191,
    U+2193,
    U+2212,
    U+2215,
    U+FEFF,
    U+FFFD;
}

/* node_modules/@fontsource/montserrat/600.css */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/montserrat-cyrillic-ext-600-normal-SLGSFZUF.woff2") format("woff2"), url("./media/montserrat-cyrillic-ext-600-normal-TQF6X33D.woff") format("woff");
  unicode-range:
    U+0460-052F,
    U+1C80-1C8A,
    U+20B4,
    U+2DE0-2DFF,
    U+A640-A69F,
    U+FE2E-FE2F;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/montserrat-cyrillic-600-normal-2MDJZLP5.woff2") format("woff2"), url("./media/montserrat-cyrillic-600-normal-TD5T4WKT.woff") format("woff");
  unicode-range:
    U+0301,
    U+0400-045F,
    U+0490-0491,
    U+04B0-04B1,
    U+2116;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/montserrat-vietnamese-600-normal-A4HOD6JP.woff2") format("woff2"), url("./media/montserrat-vietnamese-600-normal-UUAAPPUA.woff") format("woff");
  unicode-range:
    U+0102-0103,
    U+0110-0111,
    U+0128-0129,
    U+0168-0169,
    U+01A0-01A1,
    U+01AF-01B0,
    U+0300-0301,
    U+0303-0304,
    U+0308-0309,
    U+0323,
    U+0329,
    U+1EA0-1EF9,
    U+20AB;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/montserrat-latin-ext-600-normal-YKJKLIQP.woff2") format("woff2"), url("./media/montserrat-latin-ext-600-normal-OIBVWC3P.woff") format("woff");
  unicode-range:
    U+0100-02BA,
    U+02BD-02C5,
    U+02C7-02CC,
    U+02CE-02D7,
    U+02DD-02FF,
    U+0304,
    U+0308,
    U+0329,
    U+1D00-1DBF,
    U+1E00-1E9F,
    U+1EF2-1EFF,
    U+2020,
    U+20A0-20AB,
    U+20AD-20C0,
    U+2113,
    U+2C60-2C7F,
    U+A720-A7FF;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("./media/montserrat-latin-600-normal-MBWN25T6.woff2") format("woff2"), url("./media/montserrat-latin-600-normal-YCOA2D66.woff") format("woff");
  unicode-range:
    U+0000-00FF,
    U+0131,
    U+0152-0153,
    U+02BB-02BC,
    U+02C6,
    U+02DA,
    U+02DC,
    U+0304,
    U+0308,
    U+0329,
    U+2000-206F,
    U+20AC,
    U+2122,
    U+2191,
    U+2193,
    U+2212,
    U+2215,
    U+FEFF,
    U+FFFD;
}

/* node_modules/@fontsource/montserrat/700.css */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("./media/montserrat-cyrillic-ext-700-normal-TIETHLRZ.woff2") format("woff2"), url("./media/montserrat-cyrillic-ext-700-normal-C42WKPKJ.woff") format("woff");
  unicode-range:
    U+0460-052F,
    U+1C80-1C8A,
    U+20B4,
    U+2DE0-2DFF,
    U+A640-A69F,
    U+FE2E-FE2F;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("./media/montserrat-cyrillic-700-normal-FVV6CHER.woff2") format("woff2"), url("./media/montserrat-cyrillic-700-normal-7H7I4SSG.woff") format("woff");
  unicode-range:
    U+0301,
    U+0400-045F,
    U+0490-0491,
    U+04B0-04B1,
    U+2116;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("./media/montserrat-vietnamese-700-normal-ZOFKDHOA.woff2") format("woff2"), url("./media/montserrat-vietnamese-700-normal-DQUQF44I.woff") format("woff");
  unicode-range:
    U+0102-0103,
    U+0110-0111,
    U+0128-0129,
    U+0168-0169,
    U+01A0-01A1,
    U+01AF-01B0,
    U+0300-0301,
    U+0303-0304,
    U+0308-0309,
    U+0323,
    U+0329,
    U+1EA0-1EF9,
    U+20AB;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("./media/montserrat-latin-ext-700-normal-WWNPLUW7.woff2") format("woff2"), url("./media/montserrat-latin-ext-700-normal-I3FFVTRB.woff") format("woff");
  unicode-range:
    U+0100-02BA,
    U+02BD-02C5,
    U+02C7-02CC,
    U+02CE-02D7,
    U+02DD-02FF,
    U+0304,
    U+0308,
    U+0329,
    U+1D00-1DBF,
    U+1E00-1E9F,
    U+1EF2-1EFF,
    U+2020,
    U+20A0-20AB,
    U+20AD-20C0,
    U+2113,
    U+2C60-2C7F,
    U+A720-A7FF;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("./media/montserrat-latin-700-normal-2TPSQG6S.woff2") format("woff2"), url("./media/montserrat-latin-700-normal-B647EJ6E.woff") format("woff");
  unicode-range:
    U+0000-00FF,
    U+0131,
    U+0152-0153,
    U+02BB-02BC,
    U+02C6,
    U+02DA,
    U+02DC,
    U+0304,
    U+0308,
    U+0329,
    U+2000-206F,
    U+20AC,
    U+2122,
    U+2191,
    U+2193,
    U+2212,
    U+2215,
    U+FEFF,
    U+FFFD;
}

/* src/styles.scss */
:root {
  --ink: #1a1a19;
  --paper: #fcfbf9;
  --surface: #ffffff;
  --brand: #e84e1b;
  --brand-dark: #ae2e17;
  --slate: #6b6b6a;
  --line: #e5e5e4;
  --line-soft: #f0efe9;
  --success: #2e7d32;
  --success-bg: #eaf6ec;
  --danger: #ae2e17;
  --danger-bg: #fdedea;
  --warning: #9a6b00;
  --warning-bg: #fdf4dc;
  --dev: #b86a00;
  --card-shadow: 0 1px 2px rgba(26, 26, 25, .04), 0 4px 16px rgba(26, 26, 25, .06);
  --canvas: var(--paper);
  --muted: var(--slate);
  --co: var(--brand);
  --ok: var(--success);
  font-family:
    "Montserrat",
    system-ui,
    sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}
* {
  box-sizing: border-box;
}
html,
body {
  margin: 0;
  background: var(--paper);
}
.num {
  font-variant-numeric: tabular-nums;
}
button {
  font: inherit;
  font-weight: 600;
  font-size: 0.875rem;
  cursor: pointer;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  padding: 0.5rem 0.9rem;
}
button:hover:not(:disabled) {
  background: color-mix(in srgb, var(--line) 40%, var(--surface));
}
button.primary {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
button.primary:hover:not(:disabled) {
  background: var(--brand-dark);
  border-color: var(--brand-dark);
}
button.ghost {
  border-color: transparent;
  background: transparent;
}
button.ghost:hover:not(:disabled) {
  background: color-mix(in srgb, var(--line) 40%, transparent);
}
button:disabled {
  opacity: 0.45;
  cursor: default;
}
:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}
input,
select,
textarea {
  font: inherit;
  font-size: 0.875rem;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 0.5rem 0.65rem;
  width: 100%;
}
input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(232, 78, 27, 0.15);
}
label {
  display: grid;
  gap: 0.3rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--slate);
}
.err {
  color: var(--danger);
}
.muted {
  color: var(--slate);
}
.ok-text {
  color: var(--success);
}
.danger-text {
  color: var(--danger);
}
.section-title {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ink);
}
.eyebrow {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--slate);
}
.card {
  background: var(--surface);
  border-radius: 12px;
  box-shadow: var(--card-shadow);
  padding: 1.25rem;
}
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}
.kpi .value {
  margin-top: 0.25rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}
.kpi .hint {
  margin-top: 0.2rem;
  font-size: 0.78rem;
  color: var(--slate);
}
.chart-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 1rem;
}
.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  white-space: nowrap;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  background: #f1f0ec;
  color: var(--slate);
}
.status-pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.status-pill.active {
  background: var(--success-bg);
  color: var(--success);
}
.status-pill.trialing {
  background: #e8f1fa;
  color: #2b6aa6;
}
.status-pill.past_due {
  background: var(--warning-bg);
  color: var(--warning);
}
.status-pill.suspended {
  background: var(--danger-bg);
  color: var(--danger);
}
.status-pill.pending {
  background: #f1f0ec;
  color: #5a5a58;
}
.status-pill.canceled {
  background: #f1f0ec;
  color: #8a8984;
}
.drawer {
  height: 100%;
  overflow-y: auto;
  background: var(--surface);
  border-left: 1px solid var(--line);
  padding: 1.5rem 1.5rem 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.3rem;
}
.drawer > header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}
.drawer .crumb {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--slate);
}
.drawer h2 {
  margin: 0.15rem 0 0.25rem;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.drawer .sub {
  margin: 0;
  font-size: 0.82rem;
  color: var(--slate);
}
.drawer h3 {
  margin: 0 0 0.6rem;
  font-size: 0.875rem;
  font-weight: 600;
}
.drawer .close {
  font-size: 1rem;
  padding: 0.3rem 0.55rem;
}
.drawer .note {
  margin: 0.45rem 0 0;
  font-size: 0.78rem;
  color: var(--slate);
}
.kv {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 0.4rem 1rem;
  margin: 0;
  font-size: 0.85rem;
}
.kv dt {
  color: var(--slate);
}
.kv dd {
  margin: 0;
  font-weight: 600;
  min-width: 0;
  overflow-wrap: anywhere;
}
.inline-form {
  display: flex;
  gap: 0.5rem;
  align-items: flex-end;
  flex-wrap: wrap;
}
.inline-form label {
  flex: 1;
  min-width: 120px;
}
.inline-form button {
  flex: none;
}
.list-plain {
  list-style: none;
  margin: 0;
  padding: 0;
}
.toolbar {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.toolbar .grow {
  flex: 1;
  min-width: 200px;
}
.chips {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
}
.chip-btn {
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--slate);
}
.chip-btn.on {
  border-color: var(--brand);
  color: var(--brand);
  background: rgba(232, 78, 27, 0.08);
}
.chip-btn .n {
  font-variant-numeric: tabular-nums;
  margin-left: 0.3rem;
  opacity: 0.8;
}
.data {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--surface);
  border-radius: 12px;
  box-shadow: var(--card-shadow);
  overflow: hidden;
  font-size: 0.85rem;
}
.data th {
  text-align: left;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--slate);
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--line);
}
.data td {
  padding: 0.8rem 1rem;
  border-top: 1px solid var(--line-soft);
  vertical-align: middle;
}
.data tbody tr:first-child td {
  border-top: 0;
}
.data tr.click {
  cursor: pointer;
}
.data tr.click:hover td {
  background: #faf9f6;
}
.data tr.open td {
  background: rgba(232, 78, 27, 0.06);
}
.data tr.open td:first-child {
  box-shadow: inset 3px 0 0 var(--brand);
}
.data .r {
  text-align: right;
}
.data .sm {
  font-size: 0.78rem;
  color: var(--slate);
}
.empty-state {
  padding: 2.5rem 1.5rem;
  text-align: center;
  color: var(--slate);
  background: var(--surface);
  border-radius: 12px;
  box-shadow: var(--card-shadow);
}
.empty-state p {
  margin: 0 0 0.9rem;
}
.secret {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family:
    ui-monospace,
    Menlo,
    monospace;
  font-size: 0.8rem;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 0.5rem 0.65rem;
  overflow-wrap: anywhere;
}
.secret span {
  flex: 1;
}
@media (max-width: 720px) {
  .data .hide-sm {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
    animation: none !important;
  }
}

/* angular:styles/global:styles */
/*# sourceMappingURL=styles-TQFTDIZC.css.map */
