/* FOXY visual system. Scoped to the isolated local presentation layer. */
html.foxy-design {
  --fx-bg:#f6f7f9; --fx-surface:#fff; --fx-subtle:#f9fafb; --fx-text:#202832; --fx-muted:#79818d; --fx-line:#e8eaee; --fx-accent:#bb5a38; --fx-tint:#fbf0eb; --fx-hover:#f0f2f5; --fx-sidebar:224px;
  --font-family-base:"Segoe UI",Inter,Arial,sans-serif !important; --font-size-base:14px; --font-size-lg:18px; --font-size-xl:24px; --font-weight-semibold:600;
  --bg-primary:var(--fx-surface) !important; --bg-secondary:var(--fx-bg) !important; --bg-tertiary:var(--fx-subtle) !important;
  --text-primary:var(--fx-text) !important; --text-secondary:#586271 !important; --text-tertiary:#7b8491 !important; --text-muted:var(--fx-muted) !important;
  --accent-primary:var(--fx-accent) !important; --accent-secondary:#c98864 !important; --accent-hover:#a5482a !important;
  --border-primary:var(--fx-line) !important; --border-secondary:var(--fx-line) !important; --border-color:var(--fx-line) !important;
  --btn-primary:var(--fx-accent) !important; --btn-secondary:#687483 !important; --btn-danger:#ba4750 !important; --btn-text:#fff;
  --shadow-sm:0 1px 2px #18263404 !important; --shadow-md:0 5px 20px #18263408 !important;
  --border-radius-sm:6px; --border-radius-md:10px; --border-radius-lg:12px; --height-input:42px; --height-button:40px;
}
html.foxy-design[data-theme="dark"], html.foxy-design[data-theme="space"] { --fx-bg:#14181e; --fx-surface:#1c222a; --fx-subtle:#202730; --fx-text:#e5e9ed; --fx-muted:#929daa; --fx-line:#303842; --fx-tint:#352a25; --fx-hover:#252e38; --fx-accent:#de9674; --text-secondary:#adb6c1 !important; --text-tertiary:#909dac !important; }
html.foxy-design, body.foxy-ui { background:var(--fx-bg) !important; color:var(--fx-text) !important; }
body.foxy-ui { margin:0; font:14px/1.55 var(--font-family-base) !important; letter-spacing:0; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
.foxy-ui *, .foxy-ui *::before, .foxy-ui *::after { box-sizing:border-box; }
.foxy-ui [hidden] { display:none !important; }
.foxy-ui button,.foxy-ui input,.foxy-ui select,.foxy-ui textarea { font-family:var(--font-family-base) !important; }
.foxy-ui button { letter-spacing:0; box-shadow:none; text-transform:none; }
.foxy-ui button:hover { filter:none !important; }
.foxy-ui button:disabled { cursor:not-allowed !important; opacity:.48; }
.foxy-ui :focus-visible { outline:2px solid var(--fx-accent); outline-offset:3px; }
.foxy-ui ::selection { background:var(--fx-accent-soft); color:var(--fx-on-accent); }
.foxy-ui * { scrollbar-color:#bec5cf transparent; scrollbar-width:thin; }
.foxy-ui ::-webkit-scrollbar { width:6px; height:6px; }
.foxy-ui ::-webkit-scrollbar-thumb { background:#c9ced5; border-radius:8px; }
.fx-icon { width:20px; height:20px; flex:none; display:inline-block; vertical-align:middle; }
.fx-shell .fx-icon,.fx-shell .fx-icon *,.fx-session-dialog .fx-icon,.fx-session-dialog .fx-icon * { color:inherit !important; fill:none !important; stroke:currentColor; }
.foxy-ui ::-webkit-scrollbar-thumb { background:#b9c1cb !important; }
.fx-sidebar { position:fixed; inset:0 auto 0 0; width:var(--fx-sidebar); display:flex; flex-direction:column; background:var(--fx-surface); border-right:1px solid var(--fx-line); z-index:100; padding:28px 16px 16px; }
.fx-brand { display:flex; align-items:center; gap:10px; padding:0 14px; width:max-content; text-decoration:none; }
.fx-brand img { width:34px; height:40px; object-fit:contain; }
.fx-brand>span { font-size:23px; font-weight:750; letter-spacing:2.3px; line-height:1.1; color:var(--fx-text); }
.fx-brand-caption { display:block; font-size:8px; color:var(--fx-muted); letter-spacing:2.2px; margin-top:6px; font-weight:600; }
.fx-workspace-label { margin:34px 0 30px; padding:11px 10px; border:1px solid var(--fx-line); border-radius:9px; display:flex; align-items:center; gap:9px; font-size:11px; font-weight:600; }
.fx-workspace-mark { background:var(--fx-tint); color:var(--fx-accent); width:30px; height:30px; border-radius:7px; display:grid; place-items:center; font-size:14px; }
.fx-workspace-label small { display:block; color:var(--fx-muted); font-size:10px; font-weight:400; margin-top:2px; }
.fx-nav-label { font-size:9px; font-weight:600; letter-spacing:1.6px; color:var(--fx-muted); padding:0 13px 12px; }
.fx-sidebar nav { display:flex; flex-direction:column; gap:5px; }
.fx-sidebar nav a,.fx-settings-link { display:flex; align-items:center; gap:11px; min-height:43px; border-radius:8px; padding:10px 13px; font-size:12px; font-weight:500; color:#717b88; transition:background .15s,color .15s; }
.fx-sidebar nav a:hover,.fx-settings-link:hover { background:var(--fx-hover); color:var(--fx-text); }
.fx-sidebar [aria-current=page] { background:var(--fx-tint); color:var(--fx-accent); font-weight:600; }
.fx-sidebar nav .fx-icon { width:18px; height:18px; }
.fx-nav-count { margin-left:auto; display:grid; place-items:center; border:1px solid var(--fx-line); border-radius:5px; min-width:20px; height:20px; font-size:10px; }
.fx-sidebar-bottom { margin-top:auto; padding-top:25px; }
.fx-profile { margin-top:12px; border-top:1px solid var(--fx-line); padding:18px 9px 3px; display:flex; align-items:center; gap:10px; font-size:11px; font-weight:600; }
.fx-profile small { display:block; font-size:10px; font-weight:400; color:var(--fx-muted); }
.fx-profile>.fx-icon { margin-left:auto; width:14px; color:var(--fx-muted); }
.fx-avatar { width:32px; height:32px; border-radius:50%; display:grid; place-items:center; background:var(--fx-tint); color:var(--fx-accent-ink); font-size:12px; font-weight:600; }
.fx-stage { margin-left:var(--fx-sidebar); min-height:100vh; }
.fx-topbar { height:70px; border-bottom:1px solid var(--fx-line); padding:0 40px; display:flex; align-items:center; justify-content:space-between; gap:14px; background:var(--fx-surface); }
.fx-breadcrumb { display:flex; align-items:center; gap:12px; font-size:11px; color:var(--fx-muted); }
.fx-breadcrumb .fx-icon { width:12px; height:12px; }
.fx-breadcrumb strong { font-weight:500; color:var(--fx-text); }
.fx-top-account { padding-left:12px; }
.fx-content { width:100%; max-width:1510px; margin:auto; padding:35px 40px 0; }
.fx-page-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:29px; }
.fx-eyebrow { font-size:9px; letter-spacing:1.6px; color:var(--fx-muted); font-weight:600; margin:0 0 10px; }
.fx-page-heading h1 { font-size:30px; line-height:1.2; letter-spacing:-1px; font-weight:650; margin:0 0 10px; color:var(--fx-text); }
.fx-page-description { margin:0; font-size:12px; color:var(--fx-muted); }
.fx-button { display:inline-flex; justify-content:center; align-items:center; gap:8px; height:38px; width:auto; padding:0 15px; border:1px solid var(--fx-line); border-radius:7px; color:var(--fx-text); background:var(--fx-surface); font-size:11px; font-weight:600; white-space:nowrap; cursor:pointer; }
.fx-button .fx-icon { width:16px; height:16px; }
.fx-button.fx-primary { background:var(--fx-accent); border-color:var(--fx-accent); color:#fff; }
.fx-button:hover:not(:disabled) { transform:translateY(-1px); box-shadow:0 3px 8px #192a3510; }
.fx-icon-button { display:grid; place-items:center; width:31px; height:31px; padding:0; border:1px solid var(--fx-line); border-radius:7px; color:var(--fx-muted); background:var(--fx-surface); }
.fx-icon-button .fx-icon { width:15px; height:15px; }
.fx-text-button { display:inline-flex; align-items:center; gap:7px; width:auto; height:auto; min-height:28px; padding:0; color:var(--fx-accent); background:none; border:0; font-size:11px; font-weight:600; white-space:nowrap; }
.fx-text-button .fx-icon { width:15px; height:15px; }
.fx-proxy-tabs { display:flex; align-items:center; gap:27px; border-bottom:1px solid var(--fx-line); margin-bottom:25px; overflow-x:auto; }
.fx-proxy-tabs button { height:42px; padding:0 0 12px; background:none; border:0; border-bottom:2px solid transparent; border-radius:0; color:var(--fx-muted); font-size:12px; font-weight:500; flex:none; }
.fx-proxy-tabs button[aria-selected=true] { color:var(--fx-accent); border-bottom-color:var(--fx-accent); font-weight:600; }
.fx-proxy-tabs button span { border-radius:4px; background:var(--fx-hover); padding:1px 5px; font-size:9px; margin-left:6px; color:var(--fx-muted); }
.fx-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.fx-metric { background:var(--fx-surface); padding:19px 21px 18px; border:1px solid var(--fx-line); border-radius:10px; }
.fx-metric>div { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:11px; color:var(--fx-muted); }
.fx-metric .fx-icon { width:16px; height:16px; color:#9099a4; }
.fx-metric>strong { display:block; font-size:30px; line-height:1.2; letter-spacing:-1px; font-weight:600; padding:14px 0 7px; }
.fx-metric>small { color:var(--fx-muted); font-size:10px; }
.fx-proxy-grid { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:22px; margin-bottom:22px; align-items:stretch; }
.fx-card { border:1px solid var(--fx-line); border-radius:11px; background:var(--fx-surface); min-width:0; overflow:hidden; }
.fx-card-heading { padding:23px 23px 19px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.fx-card h2 { font-size:14px; line-height:1.4; font-weight:600; margin:0; color:var(--fx-text); letter-spacing:-.15px; }
.fx-card-heading p,.fx-compact-card p { margin:6px 0 0; font-size:10px; color:var(--fx-muted); }
.fx-count { display:inline-block; font-size:10px; font-weight:500; color:var(--fx-muted); border:1px solid var(--fx-line); border-radius:4px; padding:1px 5px; margin-left:5px; vertical-align:middle; }
.fx-session-tools { padding:0 23px 19px; display:flex; gap:10px; }
.fx-search { display:flex; align-items:center; position:relative; flex:1; min-width:0; }
.fx-search>.fx-icon { position:absolute; left:10px; width:15px; height:15px; color:var(--fx-muted); }
.foxy-ui .fx-search input { width:100%; height:35px !important; padding:0 9px 0 32px !important; margin:0 !important; border:1px solid var(--fx-line) !important; border-radius:6px !important; background:var(--fx-surface) !important; font-size:10px !important; box-shadow:none !important; }
.foxy-ui .fx-session-tools select { width:112px !important; height:35px !important; padding:0 9px !important; font-size:10px !important; flex:none; background-image:none !important; border-radius:6px !important; border:1px solid var(--fx-line) !important; background-color:var(--fx-surface) !important; appearance:auto; }
.fx-table-head,.fx-session-row { display:grid; grid-template-columns:minmax(0,1fr) 90px 86px; gap:12px; align-items:center; padding:11px 23px; }
.fx-table-head { font-size:8px; font-weight:600; letter-spacing:1px; color:var(--fx-muted); background:var(--fx-subtle); border-block:1px solid var(--fx-line); }
.fx-session-row { padding-block:22px; }
.fx-session-name { display:flex; gap:11px; align-items:center; min-width:0; }
.fx-session-name strong { display:block; font-size:11px; font-weight:550; }
.fx-session-name small { display:block; font-size:10px; color:var(--fx-muted); margin-top:3px; }
.fx-session-symbol { display:grid; place-items:center; width:37px; height:37px; border:1px solid var(--fx-line); border-radius:8px; color:#657281; background:var(--fx-subtle); flex:none; }
.fx-session-symbol .fx-icon { width:19px; height:19px; }
.fx-badge { display:inline-flex; align-items:center; justify-content:center; gap:6px; font-size:9px; font-weight:500; color:#75808d; background:var(--fx-hover); border-radius:5px; padding:4px 8px; width:max-content; white-space:nowrap; }
.fx-badge i { width:5px; height:5px; border-radius:50%; background:#9ba4af; }
.fx-table-footer { display:flex; justify-content:space-between; align-items:center; padding:17px 23px; border-top:1px solid var(--fx-line); color:var(--fx-muted); font-size:9px; }
.fx-table-footer>span:last-child { display:grid; place-items:center; border:1px solid var(--fx-line); border-radius:5px; width:25px; height:25px; color:var(--fx-text); }
.fx-search-empty { text-align:center; padding:24px; color:var(--fx-muted); font-size:11px; }
.fx-search-empty h3 { font-size:13px; font-weight:500; margin:8px 0 4px; }
.fx-search-empty p { margin:0; }
.fx-connection-card { padding:23px; background:linear-gradient(145deg,var(--fx-surface),var(--fx-subtle)); }
.fx-connection-icon { color:var(--fx-accent-ink); display:grid; place-items:center; border:1px solid var(--fx-accent-soft); width:35px; height:35px; border-radius:9px; background:var(--fx-tint); margin-bottom:19px; }
.fx-connection-card>.fx-eyebrow { font-size:7px; letter-spacing:1.2px; display:block; margin-bottom:7px; }
.fx-connection-card h2 { font-size:16px; }
.fx-connection-card p { font-size:11px; line-height:1.7; color:var(--fx-muted); margin:9px 0 20px; }
.fx-connection-card>div { display:flex; justify-content:space-between; padding:7px 0; font-size:10px; color:var(--fx-muted); }
.fx-connection-card>div strong { color:var(--fx-text); font-weight:600; }
.fx-connection-card .fx-text-button { margin-top:17px; }
.fx-overview-bottom { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.fx-compact-card { display:flex; align-items:center; gap:14px; padding:21px; }
.fx-compact-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:9px; background:var(--fx-subtle); color:#8a949f; }
.fx-compact-card h2 { font-size:12px; }
.fx-compact-card .fx-text-button { margin-left:auto; }
.fx-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--fx-line); margin-top:42px; padding:18px 0; color:#99a1ac; font-size:9px; }
.fx-footer span:first-child { font-size:10px; font-weight:700; letter-spacing:2px; }
.fx-inline-status { min-height:0; color:var(--fx-muted); font-size:11px; margin-top:12px; }
.fx-inline-status:empty { margin:0; }
.fx-compose-grid { display:grid; grid-template-columns:minmax(0,1fr) 270px; border-top:1px solid var(--fx-line); }
.fx-compose-grid>div:first-child { padding:25px; }
.fx-field { display:flex; flex-direction:column; gap:8px; font-size:11px; font-weight:500; margin-bottom:20px; }
.foxy-ui .fx-field select,.foxy-ui .fx-field textarea { width:100%; border:1px solid var(--fx-line) !important; border-radius:7px; background-color:var(--fx-surface) !important; background-image:none !important; padding:11px; font-size:12px; color:var(--fx-text); box-shadow:none !important; }
.fx-compose-footer { display:flex; align-items:center; justify-content:space-between; gap:15px; color:var(--fx-muted); font-size:10px; }
.fx-recipients { border-left:1px solid var(--fx-line); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:30px; color:var(--fx-muted); background:var(--fx-subtle); }
.fx-recipients>.fx-icon { width:32px; height:32px; color:#b4bdc7; }
.fx-recipients h3 { font-size:13px; color:var(--fx-text); font-weight:500; margin:15px 0 5px; }
.fx-recipients p { font-size:11px; line-height:1.7; max-width:190px; }
.fx-telegram { max-width:660px; margin:auto; text-align:center; padding:43px; }
.fx-telegram-icon { display:grid; place-items:center; width:56px; height:56px; border-radius:14px; background:var(--fx-tint); color:var(--fx-accent); margin:0 auto 24px; }
.fx-telegram-icon .fx-icon { width:26px; height:26px; }
.fx-telegram .fx-eyebrow { display:block; }
.fx-telegram h2 { font-size:24px; margin-bottom:10px; }
.fx-telegram>p { font-size:12px; color:var(--fx-muted); line-height:1.8; margin:0 0 16px; }
.fx-telegram-info { max-width:400px; margin:27px auto; border:1px solid var(--fx-line); border-radius:8px; text-align:left; padding:7px 18px; }
.fx-telegram-info>div { display:flex; justify-content:space-between; padding:11px 0; font-size:11px; color:var(--fx-muted); }
.fx-telegram-info>div+div { border-top:1px solid var(--fx-line); }
.fx-telegram-info strong { font-weight:500; color:var(--fx-text); }
.fx-button-row { display:flex; align-items:center; justify-content:center; gap:10px; margin-top:16px; }
.fx-session-dialog { width:580px; max-width:calc(100vw - 32px); max-height:85dvh; border:1px solid var(--fx-line); border-radius:14px; padding:0; background:var(--fx-surface); color:var(--fx-text); box-shadow:0 24px 80px #10203025; }
.fx-session-dialog::backdrop { background:#15202f60; backdrop-filter:blur(3px); }
.fx-dialog-head { display:flex; align-items:center; gap:12px; padding:24px; border-bottom:1px solid var(--fx-line); }
.fx-dialog-head h2 { font-size:16px; margin:0; font-weight:600; }
.fx-dialog-head p { font-size:11px; color:var(--fx-muted); margin:3px 0 0; }
.fx-dialog-head>.fx-icon-button { margin-left:auto; }
.fx-detail-tabs { display:flex; gap:22px; padding:0 24px; border-bottom:1px solid var(--fx-line); }
.fx-detail-tabs button { height:45px; border-radius:0; padding:0; border:0; border-bottom:2px solid transparent; background:none; color:var(--fx-muted); font-size:12px; }
.fx-detail-tabs button[aria-selected=true] { color:var(--fx-accent); border-bottom-color:var(--fx-accent); }
.fx-detail-content { padding:24px; }
.fx-detail-content dl { margin:17px 0 0; }
.fx-detail-content dl>div { display:flex; justify-content:space-between; gap:14px; padding:13px 0; border-bottom:1px solid var(--fx-line); font-size:12px; }
.fx-detail-content dt { color:var(--fx-muted); }
.fx-detail-content dd { margin:0; text-align:right; }
.fx-detail-empty { text-align:center; color:var(--fx-muted); padding:55px 24px; }
.fx-detail-empty>.fx-icon { width:35px; height:35px; }
.fx-detail-content h3 { color:var(--fx-text); font-size:14px; font-weight:500; }
.fx-detail-content p { font-size:12px; }
.fx-camera-screen { aspect-ratio:16/9; background:#1b232c; color:#8895a3; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; border-radius:9px; font-size:12px; }
.fx-camera-screen .fx-icon { width:35px; height:35px; }
.fx-muted { color:var(--fx-muted); }
.fx-menu-button,.fx-nav-backdrop { display:none; }
/* Existing application views: common typography, spacing and control treatment. */
.foxy-ui #root header { display:none !important; }
.foxy-ui #root main { padding:0 !important; max-width:none !important; margin:0 !important; height:auto; width:100%; min-width:0; }
.foxy-ui #root h3 { font-weight:600; letter-spacing:-.2px; }
.foxy-ui #root label { font-size:12px !important; color:var(--text-secondary); font-weight:500; }
.foxy-ui #root input:not([type=checkbox]):not([type=radio]):not([type=range]),.foxy-ui #root textarea,.foxy-ui #root select { background-color:var(--fx-surface) !important; border:1px solid var(--fx-line) !important; border-radius:7px !important; box-shadow:none !important; padding:10px 12px !important; font-size:13px !important; color:var(--fx-text) !important; max-width:100%; }
.foxy-ui #root input::placeholder,.foxy-ui #root textarea::placeholder { color:#a1a8b1 !important; font-size:12px; }
.foxy-ui #root input:focus,.foxy-ui #root textarea:focus,.foxy-ui #root select:focus { border-color:var(--fx-accent) !important; outline:none; box-shadow:0 0 0 3px var(--fx-ring) !important; }
.foxy-ui #root select { background-image:none !important; appearance:auto !important; }
.foxy-ui #root button { font-size:12px; border-radius:7px; height:38px; font-weight:500; }
.foxy-ui #root .red-btn { background:#fcf1f2 !important; color:#b64c57 !important; border:1px solid #f5dce0; width:auto; min-width:38px; }
.foxy-ui #root .red-btn svg { width:15px; height:15px; }
.foxy-ui #root .red-btn svg path { fill:#b64c57 !important; color:#b64c57 !important; }
.foxy-ui #root .redirect-comment,.foxy-ui #root .pages-comment,.foxy-ui #root .settings-comment,.foxy-ui #root .spoiler-container,.foxy-ui #root .redirect-info,.foxy-ui #root .pages-info { background:var(--fx-surface); border:1px solid var(--fx-line); border-radius:11px; box-shadow:none; padding:24px; margin:0 0 18px; }
.foxy-ui #root .page-title { font-size:17px; line-height:1.4; font-weight:600; }
.foxy-ui #root .redirect-comment>div { max-width:none; margin:0; }
.foxy-ui #root .redirect-comment form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; max-width:none; margin:22px 0 0; }
.foxy-ui #root .redirect-comment form>div { max-width:none; width:100%; margin:0; min-width:0; }
.foxy-ui #root .redirect-comment form>button { grid-column:1/-1; justify-self:start; width:auto; min-width:170px; padding-inline:24px; margin:0; }
.foxy-ui #root .redirect-comment .proxy-optional-section { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 20px; padding:20px; max-width:none !important; border-radius:8px; background:var(--fx-subtle); border-color:var(--fx-line); }
.foxy-ui #root .proxy-optional-section .proxy-optional-title { grid-column:1/-1; font-size:11px; margin:0; color:var(--fx-muted); }
.foxy-ui #root .proxy-optional-section>div { max-width:none; margin:0; }
.foxy-ui[data-page=proxy] .fx-shell:not(.fx-creating) #root .redirect-comment { display:none; }
.foxy-ui #root .redirect-info-title { display:flex; align-items:center; gap:15px; }
.foxy-ui #root .redirect-info-title-label { flex:1; min-width:0; }
.foxy-ui #root .pages-info-header,.foxy-ui #root .redirect-info-header { display:flex; flex-direction:column; align-items:flex-start; margin:0; gap:4px; }
.foxy-ui #root .pages-info-comment,.foxy-ui #root .redirect-info-comment { font-size:14px; max-width:100%; margin:0; }
.foxy-ui #root .pages-info-date,.foxy-ui #root .redirect-info-date { font-size:10px; color:var(--fx-muted); }
.foxy-ui #root .redirect-info-hide { padding-inline:0; }
.foxy-ui #root .divider { margin:23px 0; color:var(--fx-muted); font-size:11px; }
.foxy-ui #root .divider div { background:var(--fx-surface) !important; padding-inline:12px; font-size:11px; }
.foxy-ui #root .spoiler-title { font-size:14px; }
.foxy-ui #root .spoiler-arrow { font-size:10px; color:var(--fx-muted); }
.foxy-ui #root .spoiler-inner-content { padding-top:18px; }
.foxy-ui #root .analytics-div { margin:0; padding:0; border:0; background:none; box-shadow:none; align-items:stretch; }
.foxy-ui #root .section-header.specific { background:none; padding:0; gap:22px; justify-content:flex-start; border-bottom:1px solid var(--fx-line); border-radius:0; margin-bottom:24px; overflow-x:auto; }
.foxy-ui #root .specific p { flex:none; border-radius:0; padding:0 0 12px; background:none; color:var(--fx-muted) !important; border-bottom:2px solid transparent; font-size:12px; }
.foxy-ui #root .specific p.specific-active { color:var(--fx-accent) !important; border-bottom-color:var(--fx-accent); background:none; }
.foxy-ui #root .admin-overview { width:100%; }
.foxy-ui #root .admin-overview-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.foxy-ui #root .admin-overview-card { border:1px solid var(--fx-line); border-radius:10px; background:var(--fx-surface); padding:20px; box-shadow:none; min-width:0; }
.foxy-ui #root .admin-overview-card-label { font-size:11px; font-weight:400; color:var(--fx-muted); }
.foxy-ui #root .admin-overview-card-value { font-size:30px; font-weight:600; color:var(--fx-text); }
.foxy-ui #root .admin-overview-card-sub { color:var(--fx-muted); font-size:10px; }
.foxy-ui #root .admin-overview-charts { display:flex; flex-wrap:wrap; gap:18px; margin-top:24px; }
.foxy-ui #root .doughnut-div { background:var(--fx-surface); border:1px solid var(--fx-line); border-radius:10px; padding:18px; box-sizing:border-box; min-width:0; flex:1 1 190px; }
.foxy-ui #root .line-analytics,.foxy-ui #root .admin-overview-line,.foxy-ui #root .admin-overview-bar,.foxy-ui #root .last-five-div { border:1px solid var(--fx-line); border-radius:10px; box-shadow:none; background:var(--fx-surface); min-width:0; }
.foxy-ui #root .admin-overview-bottom { gap:18px; margin-top:22px; }
.foxy-ui #root .admin-overview-chart-title { font-size:12px; font-weight:500; }
.foxy-ui #root th { font-size:10px; font-weight:500; color:var(--fx-muted); }
.foxy-ui #root td { font-size:11px; }
.foxy-ui #root .admin-card { border-color:var(--fx-line); padding-block:16px; }
.foxy-ui #root .admin-search-form input { width:100%; }
.foxy-ui #root .zb-modal,.foxy-ui #root .Modal { background:var(--fx-surface); border:1px solid var(--fx-line); border-radius:12px; box-shadow:0 20px 80px #14203025; }
.foxy-ui #root .zb-modal-overlay { z-index:120; backdrop-filter:blur(3px); }
.foxy-ui #root .zb-preset-btn { border:1px solid var(--fx-line); background:var(--fx-subtle); color:var(--fx-text); }
@media (min-width:1600px) { .fx-content { padding-top:44px; } }
@media (max-width:1200px) { :root { --fx-sidebar:204px; } .fx-content { padding:28px; } .fx-topbar { padding-inline:28px; } .fx-proxy-grid { grid-template-columns:minmax(0,1fr) 230px; gap:16px; } .fx-compact-card { gap:10px; padding:17px; } .fx-compact-card .fx-text-button { font-size:10px; } .fx-table-head,.fx-session-row { grid-template-columns:minmax(0,1fr) 70px; } .fx-session-row>.fx-text-button { grid-column:1/-1; justify-self:end; } }
@media (max-width:1040px) { .fx-proxy-grid { grid-template-columns:1fr; } .fx-connection-card { display:none; } .fx-overview-bottom { gap:16px; } .fx-compact-card { flex-wrap:wrap; } .fx-metric { padding:16px; } .fx-table-head,.fx-session-row { grid-template-columns:minmax(0,1fr) 90px 86px; } .fx-session-row>.fx-text-button { grid-column:auto; } .fx-compose-grid { grid-template-columns:1fr; } .fx-recipients { border-left:0; border-top:1px solid var(--fx-line); padding:24px; } }
@media (max-width:800px) {
  .fx-sidebar { transform:translateX(-100%); visibility:hidden; transition:transform .2s; width:224px; }
  .fx-nav-open .fx-sidebar { transform:none; visibility:visible; }
  .fx-nav-backdrop { display:block; position:fixed; inset:0; width:100%; height:100%; background:#17243170; z-index:99; border-radius:0; border:0; }
  .fx-menu-button { display:grid; place-items:center; width:31px; height:31px; padding:0; border:1px solid var(--fx-line); border-radius:7px; background:var(--fx-surface); color:var(--fx-text); }
  .fx-menu-button .fx-icon { width:17px; height:17px; }
  .fx-stage { margin-left:0; } .fx-topbar { height:58px; padding:0 20px; } .fx-breadcrumb { margin-right:auto; gap:8px; font-size:10px; }
  .fx-content { padding:28px 20px 0; } .fx-page-heading h1 { font-size:27px; }
  .fx-overview-bottom { grid-template-columns:1fr 1fr; }
  .foxy-ui #root .admin-overview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  .fx-topbar { padding-inline:16px; gap:10px; } .fx-breadcrumb { font-size:0; gap:5px; } .fx-breadcrumb strong { font-size:11px; } .fx-breadcrumb>.fx-icon { display:none; } .fx-avatar { width:28px; height:28px; }
  .fx-content { padding:24px 16px 0; } .fx-page-heading { flex-direction:column; align-items:flex-start; gap:17px; margin-bottom:20px; }
  .fx-page-heading h1 { font-size:27px; } .fx-eyebrow { font-size:8px; } .fx-page-description { font-size:11px; max-width:280px; line-height:1.7; }
  .fx-page-heading>.fx-button { height:35px; font-size:11px; }
  .fx-proxy-tabs { gap:22px; margin-bottom:20px; } .fx-proxy-tabs button { font-size:11px; padding-bottom:10px; height:35px; }
  .fx-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
  .fx-metric { padding:15px 13px; } .fx-metric>div { font-size:9px; gap:4px; } .fx-metric>div .fx-icon { width:13px; height:13px; } .fx-metric>strong { font-size:26px; padding:10px 0 6px; } .fx-metric>small { font-size:8px; }
  .fx-card-heading { padding:18px 15px; } .fx-card h2 { font-size:13px; } .fx-card-heading p { font-size:9px; }
  .fx-session-tools { padding:0 15px 16px; flex-direction:column; } .foxy-ui .fx-session-tools select { width:100% !important; }
  .fx-table-head,.fx-session-row { grid-template-columns:minmax(0,1fr) auto; padding-inline:15px; gap:12px 8px; }
  .fx-table-head>span:last-child { display:none; } .fx-session-name { gap:8px; } .fx-session-symbol { width:30px; height:30px; border-radius:6px; } .fx-session-name strong { font-size:10px; } .fx-session-name small { font-size:9px; }
  .fx-session-row>.fx-text-button { grid-column:1/-1; justify-self:end; font-size:10px; } .fx-badge { font-size:8px; padding:4px 6px; }
  .fx-table-footer { padding:12px 15px; font-size:8px; } .fx-overview-bottom { grid-template-columns:1fr; gap:10px; }
  .fx-compact-card { padding:16px; flex-wrap:nowrap; } .fx-compact-card .fx-compact-icon { display:none; }
  .fx-footer { margin-top:28px; font-size:8px; } .fx-footer span:first-child { font-size:9px; }
  .fx-telegram { padding:28px 18px; } .fx-telegram .fx-button-row { flex-direction:column; } .fx-telegram .fx-button { width:100%; }
  .fx-compose-grid>div:first-child { padding:18px; } .fx-compose-footer { flex-direction:column; align-items:flex-start; }
  .fx-dialog-head { padding:18px; gap:9px; } .fx-dialog-head h2 { font-size:13px; } .fx-detail-tabs { padding-inline:18px; } .fx-detail-content { padding:18px; } .fx-detail-content dl>div { font-size:10px; }
  .foxy-ui #root .redirect-comment,.foxy-ui #root .pages-comment,.foxy-ui #root .spoiler-container,.foxy-ui #root .redirect-info { padding:18px; border-radius:10px; }
  .foxy-ui #root .redirect-comment form { grid-template-columns:1fr; gap:17px; }
  .foxy-ui #root .redirect-comment .proxy-optional-section { grid-template-columns:1fr; padding:14px; gap:14px; }
  .foxy-ui #root .page-title { font-size:15px; } .foxy-ui #root .pages-info-comment,.foxy-ui #root .redirect-info-comment { font-size:12px; }
  .foxy-ui #root .redirect-info-title { gap:8px; } .foxy-ui #root .red-btn { padding:0 8px; min-width:30px; }
  .foxy-ui #root .admin-overview-card { padding:15px; } .foxy-ui #root .admin-overview-card-label { font-size:9px; } .foxy-ui #root .admin-overview-card-value { font-size:25px; }
}
@media (prefers-reduced-motion:reduce) { .foxy-ui *, .foxy-ui *::before,.foxy-ui *::after { transition:none !important; animation:none !important; } }
/* Keep information readable, including in the narrow in-app browser. */
.fx-sidebar { overflow-y:auto; }
.fx-sidebar nav a,.fx-settings-link { font-size:13px; }
.fx-page-description { font-size:13px; }
.fx-breadcrumb,.fx-proxy-tabs button { font-size:12px; }
.fx-metric>div { font-size:12px; }
.fx-metric>small,.fx-card-heading p,.fx-compact-card p { font-size:11px; }
.fx-session-name strong { font-size:13px; }
.fx-session-name small,.fx-connection-card p { font-size:12px; }
.fx-text-button { font-size:12px; }
.fx-table-head { font-size:9px; }
.fx-table-footer { font-size:10px; }
.foxy-ui .fx-search input,.foxy-ui .fx-session-tools select { font-size:11px !important; }
.fx-badge { font-size:10px; }
@media (max-width:520px) {
  .fx-page-description { font-size:12px; }
  .fx-metric>div { font-size:11px; align-items:flex-start; }
  .fx-metric>small { font-size:10px; display:block; min-height:30px; }
  .fx-card-heading p { font-size:10px; }
  .fx-session-name strong { font-size:11px; }
  .fx-session-name small { font-size:10px; }
  .fx-badge { font-size:9px; }
  .fx-compact-card p { font-size:10px; }
  .fx-compact-card .fx-text-button { font-size:11px; }
  .fx-table-footer { font-size:9px; }
}

/* Refined shell: one page title, compact chrome and quieter surfaces. */
html.foxy-design { --fx-sidebar:208px; --fx-bg:#f8f9fb; --fx-line:#e6e9ef; --fx-text:#253142; --fx-muted:#7b8797; }
html.foxy-design[data-theme="dark"],html.foxy-design[data-theme="space"] { --fx-bg:#14181e; --fx-line:#303842; --fx-text:#e5e9ed; --fx-muted:#929daa; }
.fx-sidebar { padding:29px 14px 18px; }
.fx-brand { padding:0 13px; gap:9px; margin-bottom:42px; }
.fx-brand img { width:30px; height:34px; }
.fx-brand>span { font-size:21px; letter-spacing:1.7px; }
.fx-sidebar nav { gap:6px; }
.fx-sidebar nav a,.fx-settings-link { min-height:42px; font-size:13px; }
.fx-topbar { height:64px; padding-inline:36px; background:var(--fx-bg); border:0; }
.fx-content { max-width:1500px; margin-inline:auto; padding:22px 36px 40px; }
.fx-page-heading { margin:0 0 28px; align-items:center; }
.fx-page-heading h1 { margin:0; font-size:30px; font-weight:650; letter-spacing:-1px; line-height:1.3; }
.fx-metric,.fx-card { border-radius:13px; }
.fx-metric { box-shadow:0 2px 3px #21365302; }
.fx-proxy-tabs { margin-bottom:24px; }
.foxy-ui #root .redirect-comment,.foxy-ui #root .pages-comment,.foxy-ui #root .redirect-info { border-radius:13px; }
.foxy-ui #root .spoiler-container { box-shadow:none; }
.foxy-ui #root main>.divider:first-child { display:none; }
.fx-settings-layout { display:grid; grid-template-columns:176px minmax(0,1fr); gap:28px; align-items:start; }
.fx-settings-nav { display:flex; flex-direction:column; gap:5px; padding-top:4px; }
.fx-settings-nav button { display:flex; align-items:center; gap:10px; width:100%; margin:0; padding:11px 12px; border:0; border-radius:8px; background:none; color:var(--fx-muted); font-size:13px; text-align:left; cursor:pointer; }
.fx-settings-nav button>.fx-icon { width:17px; height:17px; }
.fx-settings-nav button>.fx-icon:last-child { margin-left:auto; width:12px; opacity:0; }
.fx-settings-nav button:hover { color:var(--fx-text); background:var(--fx-hover); }
.fx-settings-nav button[aria-pressed=true] { color:var(--fx-text); background:var(--fx-surface); box-shadow:0 1px 4px #202d4110; font-weight:600; }
.fx-settings-nav button[aria-pressed=true]>.fx-icon:last-child { opacity:.65; }
.fx-settings-surface { border:1px solid var(--fx-line); border-radius:16px; background:var(--fx-surface); overflow:hidden; min-width:0; box-shadow:0 5px 18px #21365303; }
.fx-settings-heading { padding:27px 30px 24px; border-bottom:1px solid var(--fx-line); }
.fx-settings-heading h2 { font-size:17px; font-weight:600; letter-spacing:-.35px; margin:0 0 5px; }
.fx-settings-heading p { font-size:12px; color:var(--fx-muted); margin:0; }
.fx-settings-profile { display:flex; align-items:center; gap:15px; padding:25px 30px; border-bottom:1px solid var(--fx-line); }
.fx-settings-profile>.fx-avatar { width:46px; height:46px; border-radius:13px; font-size:18px; background:var(--fx-tint); color:var(--fx-accent); }
.fx-settings-profile>div strong { display:block; font-size:14px; font-weight:600; }
.fx-settings-profile>div span { display:block; font-size:12px; color:var(--fx-muted); margin-top:2px; }
.fx-account-role { margin-left:auto; padding:4px 8px; border:1px solid var(--fx-line); border-radius:6px; font-size:10px; color:var(--fx-muted); }
.foxy-ui .fx-settings-surface #root .divider { display:none; }
.foxy-ui .fx-settings-surface #root main>div:has(>[data-settings-section=admin]) { padding-bottom:0 !important; }
.fx-settings-surface:not([data-settings-group=admin]) #root main>div:has(>[data-settings-section=admin]) { display:none; }
.foxy-ui .fx-settings-surface #root .spoiler-container { border:0; border-radius:0; margin:0; padding:25px 30px; background:transparent; }
.foxy-ui .fx-settings-surface #root .spoiler-container:not([hidden])~.spoiler-container:not([hidden]) { border-top:1px solid var(--fx-line); }
.foxy-ui .fx-settings-surface #root .spoiler-title { font-size:13px; font-weight:600; letter-spacing:0; }
.foxy-ui .fx-settings-surface #root .fx-setting-open>.spoiler-content { height:auto !important; overflow:visible; }
.foxy-ui .fx-settings-surface #root .fx-setting-open>.spoiler-header { cursor:default; display:block; }
.foxy-ui .fx-settings-surface #root .fx-setting-open>.spoiler-header>.spoiler-arrow { display:none; }
.foxy-ui .fx-settings-surface #root .spoiler-header[data-description]::after { content:attr(data-description); display:block; margin-top:5px; color:var(--fx-muted); font-size:12px; line-height:1.5; }
.foxy-ui .fx-settings-surface #root [data-settings-section=general] { display:grid; grid-template-columns:minmax(0,1fr) minmax(140px,220px); gap:24px; align-items:center; min-height:99px; }
.foxy-ui .fx-settings-surface #root [data-settings-section=general] .spoiler-inner-content { padding:0; }
.foxy-ui .fx-settings-surface #root [data-settings-section=general] select { margin:0; height:39px; border-radius:8px !important; padding:8px 12px !important; background-color:var(--fx-subtle) !important; }
.foxy-ui .fx-settings-surface #root .settings-spoiler-form { max-width:100%; }
.foxy-ui .fx-settings-surface #root form { margin:0; gap:18px; max-width:540px; }
.foxy-ui .fx-settings-surface #root form>button { width:auto; align-self:flex-start; margin-top:0; min-width:110px; }
.foxy-ui .fx-settings-surface #root [data-setting=newPassword] form { display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:none; }
.foxy-ui .fx-settings-surface #root [data-setting=newPassword] form>button { justify-self:start; grid-column:1/-1; }
.foxy-ui .fx-settings-surface #root [data-setting=telegramId] form { display:flex; flex-direction:row; align-items:flex-end; gap:12px; }
.foxy-ui .fx-settings-surface #root [data-setting=telegramId] form>button { align-self:auto; }
.foxy-ui .fx-settings-surface #root .fx-integration-offline iframe { display:none; }
.foxy-ui .fx-settings-surface #root .fx-integration-offline .spoiler-inner-content::after { content:'Нет активного подключения'; display:block; font-size:12px; color:var(--fx-muted); padding:12px 0; }
.foxy-ui .fx-settings-surface #root .fx-setting-expandable { padding-block:20px; }
.foxy-ui .fx-settings-surface #root .fx-setting-expandable+.fx-setting-expandable { border-top:1px solid var(--fx-line); }
.foxy-ui .fx-settings-surface #root .fx-setting-expandable>.spoiler-header { border-radius:4px; }
.foxy-ui .fx-settings-surface #root .security-section__hint { font-size:12px; }
.foxy-ui .fx-settings-surface #root .admin-search-form { flex-wrap:wrap; }
@media(max-width:1100px) {
  .fx-settings-layout { grid-template-columns:155px minmax(0,1fr); gap:18px; }
  .fx-content { padding:20px 26px 36px; } .fx-topbar { padding-inline:26px; }
  .fx-settings-heading,.fx-settings-profile,.foxy-ui .fx-settings-surface #root .spoiler-container { padding:22px; }
  .foxy-ui .fx-settings-surface #root [data-settings-section=general] { grid-template-columns:minmax(0,1fr) 170px; gap:15px; }
}
@media(max-width:900px) {
  .fx-settings-layout { grid-template-columns:1fr; gap:20px; }
  .fx-settings-nav { flex-direction:row; overflow-x:auto; padding:3px 0 6px; }
  .fx-settings-nav button { width:auto; flex:none; padding:9px 11px; font-size:12px; white-space:nowrap; }
  .fx-settings-nav button>.fx-icon:last-child { display:none; }
}
@media(max-width:800px) { .fx-topbar { height:62px; } .fx-server-address { margin-right:auto; } .fx-menu-button { flex:none; } }
@media(max-width:520px) {
  .fx-topbar { height:auto; min-height:94px; padding:14px 16px 0; flex-wrap:wrap; gap:10px; justify-content:flex-start; }
  .fx-topbar .fx-design-switch { margin:0; flex-basis:100%; min-height:30px; font-size:11px; }
  .fx-topbar .fx-server-address { gap:8px; font-size:11px; }
  .fx-content { padding:24px 16px 32px; }
  .fx-page-heading { flex-direction:row; align-items:center; margin-bottom:22px; gap:12px; }
  .fx-page-heading h1 { font-size:27px; }
  .fx-settings-layout { gap:15px; }
  .fx-settings-nav { margin-inline:-3px; }
  .fx-settings-heading,.fx-settings-profile,.foxy-ui .fx-settings-surface #root .spoiler-container { padding:20px 17px; }
  .fx-settings-heading h2 { font-size:16px; }
  .fx-settings-heading p { line-height:1.6; }
  .fx-settings-profile { gap:10px; }
  .fx-settings-profile>div strong { font-size:12px; }
  .fx-settings-profile>.fx-avatar { width:36px; height:36px; font-size:15px; border-radius:10px; }
  .fx-account-role { font-size:9px; padding:3px 6px; }
  .foxy-ui .fx-settings-surface #root [data-settings-section=general] { grid-template-columns:1fr; gap:15px; }
  .foxy-ui .fx-settings-surface #root [data-setting=newPassword] form { grid-template-columns:1fr; gap:16px; }
  .foxy-ui .fx-settings-surface #root [data-setting=telegramId] form { flex-direction:column; align-items:stretch; }
  .foxy-ui .fx-settings-surface #root [data-setting=telegramId] form>button { align-self:flex-start; }
  .fx-settings-profile>div span { font-size:11px; }
  .foxy-ui .fx-settings-surface #root .spoiler-header[data-description]::after { font-size:11px; }
}
