@font-face { font-family:"Golos Text"; src:url("/static/fonts/GolosText.ttf") format("truetype"); font-style:normal; font-weight:400 900; font-display:swap; }
/* Quiet workspace, October 2026. Component geometry lives in style.css.
   This replaces the previous glass theme; no external fonts or animated backdrop. */
body.np {
  --bg:#f5f6f3; --surface:#fff; --surface-2:#f0f2ec; --surface-3:#e5e8e0;
  --text:#20251f; --muted:#626a60; --line:#dde2d8;
  --accent:#16734e; --accent-2:#16734e; --button:#16734e;
  --selected:#e2f6ea; --rail:#fafbf8; --canvas:#f5f6f3;
  --ok:#27704d; --warn:#906013; --danger:#b53d4b;
  --primary-ink:#fff; --grad:var(--accent); --r:12px; --r-sm:8px;
  background:var(--bg); color:var(--text);
  font-family:"Golos Text",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:15px; line-height:1.55;
}
:root[data-theme="dark"] body.np {
  --bg:#171815; --surface:#21231e; --surface-2:#2a2d26; --surface-3:#383d33;
  --text:#f5f7f1; --muted:#adb5a5; --line:#383d33;
  --accent:#56feae; --accent-2:#56feae; --button:#56feae;
  --selected:#233b2e; --rail:#1b1d18; --canvas:#171815;
  --primary-ink:#10241a; --ok:#83d4a5; --warn:#efc176; --danger:#ff9ca7;
}
body.np #app { background:var(--rail); border:1px solid var(--line); border-radius:14px; box-shadow:none; }
body.np #app>.head { background:var(--rail); border-bottom:1px solid var(--line); }
body.np #workspaceScroll { background:var(--canvas); }
body.np .mark { background:var(--button); box-shadow:none; border-radius:9px; }
body.np #app .head h1 { font-size:16px; font-weight:650; letter-spacing:-.3px; }
body.np #openTutorial,body.np #openAdmin,body.np .interface-preferences>summary { background:transparent; color:var(--muted); border:0; box-shadow:none; min-height:44px; }
body.np #channelBar { background:var(--rail); }
body.np .channel-avatar { background:var(--surface-2); color:var(--muted); border-radius:8px; }
body.np .workspace-intro { margin:0 0 20px; }
body.np .workspace-intro h2 { margin:0; font-size:28px; line-height:1.2; font-weight:750; letter-spacing:-.6px; }
body.np .workspace-intro p { margin-top:6px; }
body.np .eyebrow,body.np .section { font-size:12px; font-weight:600; letter-spacing:0; text-transform:none; color:var(--muted); }
body.np .card,body.np .post,body.np .ad,body.np .group,body.np .src,
body.np .action-tile,body.np .quality,body.np .tariff,body.np .history-item,
body.np .plan-option,body.np .explore-intro,body.np .workspace-empty {
  background:var(--surface); border:1px solid var(--line); border-radius:12px; box-shadow:none;
}
body.np .next-step,:root[data-theme="dark"] body.np .next-step {
  background:var(--surface); border:1px solid var(--line); border-radius:12px; box-shadow:none; padding:20px;
}
body.np .next-step h3 { font-size:19px; font-weight:650; }
body.np .next-step p,:root[data-theme="dark"] body.np .next-step p { color:var(--muted); }
body.np .next-step .eyebrow,:root[data-theme="dark"] body.np .next-step .eyebrow { color:var(--muted); }
body.np button { border-radius:8px; font-weight:600; }
body.np .accent,body.np .next-step button,body.np .acts .ok,body.np .billing-change-plan,body.np #billingContinue,
:root[data-theme="dark"] body.np .accent,:root[data-theme="dark"] body.np .next-step button,:root[data-theme="dark"] body.np .acts .ok {
  background:var(--button); color:var(--primary-ink); border:1px solid transparent; box-shadow:none;
}
body.np .ghost { background:transparent; color:var(--text); border:1px solid var(--line); }
body.np .tile-icon { background:transparent; color:var(--muted); }
body.np .action-tile small { color:var(--muted); }
body.np .group>summary { padding-top:16px; padding-bottom:16px; font-size:15px; font-weight:600; }
body.np input:not([type=checkbox]):not([type=range]):not([type=file]),body.np select,body.np textarea {
  background:var(--surface); border-color:var(--line); border-radius:8px; box-shadow:none;
}
body.np .channelbar select { background:transparent; border:0; }
body.np .feed-tabs { background:transparent; border-bottom:1px solid var(--line); border-radius:0; padding:0 0 8px; }
body.np .feed-tabs .on { background:var(--selected); color:var(--accent); box-shadow:none; }
body.np .current-plan,:root[data-theme="dark"] body.np .current-plan { background:var(--surface); border:1px solid var(--line); border-radius:12px; }
body.np .notice,:root[data-theme="dark"] body.np .notice { background:var(--surface-2); color:var(--muted); }
body.np #app .nav button { border-radius:8px; font-weight:500; }
body.np #app .nav button.active { background:var(--selected); color:var(--accent); font-weight:650; box-shadow:none; }
body.np .nav-avatar { border-radius:8px; background:transparent; color:inherit; }
body.np .source-shortcuts { gap:8px; margin:0 0 16px; }
body.np .source-shortcuts button { background:transparent; font-size:13px; padding:10px; }
body.np .settings-shortcuts { margin-top:24px; }
body.np .support-link { margin-top:12px; }
body.np button:focus-visible,body.np a:focus-visible,body.np summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(min-width:1080px) {
  body.np #app { grid-template-columns:240px minmax(0,1fr); }
  body.np #workspaceScroll { padding:28px 36px; }
}
@media(max-width:1079px) {
  body.np #app { border:0; border-radius:0; }
  body.np #channelBar { border-bottom:1px solid var(--line); }
  body.np #app .nav { background:var(--rail); border-top:1px solid var(--line); border-radius:0; box-shadow:none; }
  body.np .workspace-intro h2 { font-size:25px; }
}

/* In-app checkout (Crypto Bot) */
body.np .app-checkout { padding:18px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
body.np .app-checkout>.eyebrow { margin:6px 0 14px; overflow-wrap:anywhere; }
body.np .app-checkout .plan-options { margin-bottom:14px; }
body.np .app-checkout-quote { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; padding:14px 0 6px; border-top:1px solid var(--line); }
body.np .app-checkout-quote b { font-size:24px; letter-spacing:-.3px; }
body.np .app-checkout-quote .hint { margin:0; flex:1 1 180px; }
body.np .app-checkout input[type="email"] { width:100%; min-height:44px; margin-top:6px; }
body.np .app-checkout [data-app-go] { margin-top:14px; min-height:48px; }
body.np .app-checkout-status { padding:14px; border-radius:14px; background:var(--selected); border:1px solid var(--line); }
body.np .app-checkout-status>b { display:block; font-size:16px; margin-bottom:4px; }
body.np .app-checkout-status[data-order-status="succeeded"] { border-color:var(--ok, #2aa86b); }
body.np .app-checkout-status[data-order-status="review"],body.np .app-checkout-status[data-order-status="refunded"] { border-color:var(--warn, #d08a1e); }
body.np .app-checkout-sum { margin:8px 0 0; font-weight:600; }
body.np .app-checkout-status .acts { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
body.np .app-checkout-status .acts button { flex:1 1 140px; min-height:44px; }
body.np .app-checkout-pending { display:grid; gap:8px; margin-top:16px; }
body.np .app-checkout-pending button { justify-content:flex-start; text-align:left; white-space:normal; min-height:44px; }
body.np .app-checkout>.hint:last-child { margin:14px 0 0; font-size:11px; }
@media (max-width:360px) { body.np .app-checkout { padding:14px 12px; } body.np .app-checkout-quote b { font-size:21px; } }
body.np .payment-status .adminrow { align-items:flex-start; }
body.np .payment-blockers { margin:8px 0 0; padding-left:18px; font-size:12px; line-height:1.45; color:var(--warn); overflow-wrap:anywhere; }
body.np .payment-blockers li+li { margin-top:4px; }

/* ── Layout fixes after the redesign (spacing, stacking, narrow screens) ───── */
/* Subscriptions: one even rhythm instead of grid gap + paragraph margins + meter margins. */
body.np .current-plan .subscription-item { gap:0; }
body.np .current-plan .subscription-item>* { margin-top:0; margin-bottom:0; }
body.np .current-plan .subscription-item>.plan-meta { margin-bottom:4px; }
body.np .current-plan .subscription-item>.plan-meta .eyebrow { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; letter-spacing:.6px; line-height:1.45; }
body.np .current-plan .subscription-item>.plan-meta h3 { margin:4px 0 0; }
body.np .current-plan .subscription-item>.hint:empty { display:none; }
body.np .current-plan .subscription-item>.quota-meter { margin:12px 0 8px; }
body.np .current-plan .subscription-item>.plan-account-limit { margin-top:2px; font-size:12px; }
body.np .current-plan .subscription-item>.scheduled { margin-top:14px; padding-top:12px; }
body.np .current-plan .subscription-item>.subscription-bind { margin-top:14px; }
body.np .current-plan .subscription-item>.billing-change-plan { margin-top:12px; }
body.np .quota-copy { flex-wrap:wrap; row-gap:2px; }
body.np .quota-copy>span:last-child { white-space:nowrap; margin-left:auto; }
/* Stacked actions never touch each other. */
body.np .current-plan>.billing-change-plan,body.np .current-plan>.notice+.billing-change-plan { margin-top:12px; }
body.np .current-plan>.billing-change-plan+.billing-change-plan { margin-top:8px; }
body.np .current-plan>.notice { margin:16px 0 0; }
/* Secondary purchase actions: quieter than the main renew button. */
body.np .billing-change-plan.secondary,body.np #billingChangePlan {
  background:var(--surface); color:var(--accent); border:1px solid var(--line); box-shadow:none;
}
body.np .billing-change-plan.secondary .ic,body.np #billingChangePlan .ic { color:var(--accent); }
body.np #billingChangePlan { margin-top:16px; }
/* Home: the processing summary looks like the other collapsible cards. */
body.np .queue-details { margin:14px 0 4px; padding:0 16px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
body.np .queue-details summary { display:flex; align-items:center; min-height:52px; font-size:14px; font-weight:600; color:var(--text); list-style:none; }
body.np .queue-details summary::-webkit-details-marker { display:none; }
body.np .queue-details summary::after { content:''; flex-shrink:0; width:8px; height:8px; margin:0 6px 0 auto; border-right:1.6px solid var(--muted); border-bottom:1.6px solid var(--muted); transform:rotate(45deg) translateY(-2px); transition:transform .2s; }
body.np .queue-details[open] summary::after { transform:rotate(-135deg) translateY(-2px); }
body.np .queue-details[open] { padding-bottom:12px; }
/* Admin: the recipient field matches the grid fields above it. */
body.np #page-admin .card>label:has(#promoRecipient) { display:grid; gap:6px; margin-top:12px; font-size:12px; line-height:1.4; }
body.np #page-admin #promoRecipient { margin:0 0 4px; }
/* Narrow phones: a long channel name never squeezes the select next to its button. */
@media (max-width:360px) {
  body.np .subscription-bind { grid-template-columns:1fr; }
  body.np .subscription-bind>button { width:100%; }
}
/* A paused delivery is a warning, not ordinary text. */
body.np #channelBlockers { border-left:3px solid var(--warn); color:var(--text); }
body.np .ad-reasons { margin-bottom:10px; }
body.np .ad-reasons>p { margin:6px 0 0; }
/* A paused channel keeps its saved schedule without suggesting it is running. */
body.np #scheduleSettings .schedule-pause-hint { margin:4px 0 16px; padding:10px 12px; border-left:3px solid var(--warn); border-radius:8px; background:var(--surface); color:var(--text); }
body.np #scheduleSettings .schedule-explainer { margin:8px 0 16px; font-size:12px; }
body.np #scheduleSettings.schedule-paused .chip.on { background:var(--surface-2); color:var(--muted); border-color:var(--line); border-style:dashed; }
body.np .source-suggest-panel { padding:18px; display:grid; gap:10px; margin:0 0 18px; }
body.np .source-suggest-panel[hidden] { display:none; }
body.np .source-suggest-panel label { font-size:12px; font-weight:600; }
body.np .source-suggest-panel #sourceSuggestCount { max-width:130px; }
body.np .source-suggest-panel .hint { margin:2px 0; }
body.np #sourceSuggestResults { display:grid; gap:8px; }
body.np .source-suggestion { display:flex; align-items:center; gap:12px; justify-content:space-between; padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
body.np .source-suggestion span { display:grid; min-width:0; gap:3px; overflow-wrap:anywhere; }
body.np .source-suggestion small { color:var(--muted); font-size:11px; }
body.np .source-suggestion button { flex:none; min-height:40px; }
/* Keep the Sources heading to one clear title and one supporting line. */
body.np #page-sources .workspace-intro>.eyebrow { display:none; }
body.np #page-sources .workspace-intro h2 { display:flex; align-items:center; gap:10px; margin-top:0; }
body.np #page-sources .title-count { display:inline-flex; align-items:center; justify-content:center; min-width:28px; height:28px; padding:0 7px; border-radius:999px; background:var(--surface-2); color:var(--text); font-size:15px; font-weight:650; vertical-align:middle; letter-spacing:0; }
body.np #page-sources .workspace-intro p { margin-top:7px; font-size:14px; line-height:1.45; }
body.np #page-sources .source-shortcuts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
body.np #page-sources .source-shortcuts button { min-width:0; min-height:48px; font-size:13px; }
@media (min-width: 700px) { body.np #page-sources .source-shortcuts { grid-template-columns:repeat(4,minmax(0,1fr)); } }

/* Editorial hierarchy: small navigation, clear headings, quiet secondary actions. */
body.np .mark::after { color:var(--primary-ink); }
body.np .home-actions { display:flex; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:8px; gap:8px; }
body.np .home-actions .action-tile { flex:1 1 180px; display:flex; align-items:center; gap:12px; min-height:56px; padding:12px; background:transparent; border:0; text-align:left; }
body.np .home-actions .tile-icon { width:24px; height:24px; margin:0; }
body.np .home-actions .action-tile small { margin-top:3px; }
body.np .home-actions .forward { margin-left:auto; }
body.np .grid:has(>.stat) { border:0; background:transparent; margin:20px 0; }
body.np .stat { background:transparent; border:0; border-right:1px solid var(--line); border-radius:0; padding:8px 16px; }
body.np .stat:first-child { padding-left:0; }
body.np .stat:last-child { border-right:0; }
body.np .stat b { font-size:30px; font-weight:650; font-variant-numeric:tabular-nums; }
body.np #page-admin .stat { padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
body.np .publish-card { padding:18px; }
body.np .publish-card button,:root[data-theme="dark"] body.np .publish-card button { background:transparent; color:var(--text); border:1px solid var(--line); }
body.np .next-step { margin-bottom:20px; }
body.np .next-step p { margin-bottom:0; }
body.np #page-feed .feed-secondary { margin-top:16px; }
body.np .settings-shortcuts .action-tile { background:transparent; }
body.np #deleteChannel { margin-top:24px; border-top:1px solid var(--line); border-radius:0; }
body.np .help-details { margin:12px 0; color:var(--muted); font-size:13px; }
body.np .help-details summary { cursor:pointer; min-height:44px; display:flex; align-items:center; gap:8px; }
body.np .help-details summary::before { content:'+'; font-size:18px; }
body.np .help-details[open] summary::before { content:'−'; }
body.np .help-details p { margin:0 0 12px; }
body.np .feed-tabs button { font-size:14px; }
body.np .post .text { font-size:16px; line-height:1.65; }
body.np .settings-shortcuts small { display:none; }
/* Admin uses the existing 16px card grid for metrics and editable rows. */
body.np #page-admin>.card,body.np #page-admin .stat,body.np #page-admin .adminrow { border-radius:16px; }
