:root { color-scheme: light; --bg:#f4f7fb; --card:#fff; --text:#172033; --muted:#687386; --border:#dce2ea; --blue:#2855d9; --green:#16734a; --red:#b42318; --amber:#9a6700; }
* { box-sizing:border-box; }
body { margin:0; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; background:var(--bg); color:var(--text); }
a { color:var(--blue); text-decoration:none; } a:hover { text-decoration:underline; }
.topbar { height:64px; padding:0 max(24px,calc((100vw - 1180px)/2)); background:#101828; color:white; display:flex; align-items:center; justify-content:space-between; }
.topbar a,.link-button { color:#e6ebf5; } .brand { font-weight:800; font-size:20px; } nav { display:flex; gap:22px; align-items:center; }
.container { max-width:1180px; margin:34px auto; padding:0 22px 60px; } .narrow { max-width:460px; margin-top:10vh; }
h1 { margin:0 0 8px; font-size:30px; } h2 { margin-top:0; font-size:20px; } .muted { color:var(--muted); }
.page-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.card { background:var(--card); border:1px solid var(--border); border-radius:14px; padding:24px; box-shadow:0 2px 9px rgba(16,24,40,.04); margin-bottom:20px; }
.login-card h1 { text-align:center; } .login-card>.muted { text-align:center; margin-bottom:24px; }
label { display:block; font-weight:650; margin-bottom:17px; } input,textarea,select { width:100%; margin-top:7px; border:1px solid #b9c2d0; border-radius:8px; padding:10px 12px; font:inherit; background:white; color:inherit; }
input:focus,textarea:focus,select:focus { outline:3px solid rgba(40,85,217,.16); border-color:var(--blue); }
button,.button { display:inline-block; border:1px solid #abb5c4; border-radius:8px; padding:9px 14px; background:white; color:var(--text); font:inherit; font-weight:650; cursor:pointer; }
.primary { background:var(--blue); color:white; border-color:var(--blue); } .danger { background:var(--red); color:white; border-color:var(--red); } .warning-button { color:var(--amber); border-color:#e7c36a; }
.full { width:100%; } .inline { display:inline; } .link-button { border:0; padding:0; background:transparent; font-weight:400; }
.grid { display:grid; gap:20px; } .grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); } .grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); } .detail-grid { align-items:start; }
.delivery-platform { min-width:0; margin:0; padding:16px; border:1px solid var(--border); border-radius:10px; } .delivery-platform legend { padding:0 6px; font-weight:800; } .delivery-platform small { display:block; margin:-8px 0 14px; }
.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:20px; } .stats.six { grid-template-columns:repeat(6,1fr); } .stat { background:white; border:1px solid var(--border); border-radius:12px; padding:18px 22px; } .stat b { display:block; font-size:28px; } .stat span { color:var(--muted); }
.table-card { padding:0; overflow:auto; } table { border-collapse:collapse; width:100%; } th,td { padding:14px 16px; border-bottom:1px solid var(--border); text-align:left; white-space:nowrap; } th { color:var(--muted); font-size:13px; text-transform:uppercase; letter-spacing:.03em; } td small { display:block; color:var(--muted); margin-top:4px; }
.badge { display:inline-block; padding:3px 9px; border-radius:99px; font-size:13px; font-weight:700; } .badge.good { color:#05603a; background:#d8f3e6; } .badge.bad { color:#8b1e15; background:#fee4e2; } .badge.neutral { color:#475467; background:#eaecf0; } .badge.warning { color:#7a4b00; background:#fff1c2; }
.alert { border-radius:9px; padding:13px 15px; margin:0 0 18px; } .alert.error { color:#8b1e15; background:#fee4e2; } .alert.warning { color:#7a4b00; background:#fff1c2; } .alert.good { color:#05603a; background:#d8f3e6; } .warning-text { color:var(--amber); font-weight:700; }
.product-server-fieldset { margin:20px 0; padding:20px; border:1px solid var(--border); border-radius:12px; }
.product-server-fieldset.server-validation-error { border:2px solid var(--red); background:#fffafa; }
.product-server-error[hidden] { display:none; }
.product-server-checkbox { width:auto; margin:0; }
dl { display:grid; grid-template-columns:170px 1fr; margin:0; } dt,dd { margin:0; padding:8px 0; border-bottom:1px solid var(--border); } dt { color:var(--muted); }
.actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; } .actions form { display:flex; gap:7px; } .days { width:76px; margin:0; }
.qr { width:min(100%,300px); image-rendering:pixelated; display:block; margin:18px auto; } .danger-zone { border-color:#f0b4af; } .pre-wrap { white-space:pre-wrap; } .empty { padding:46px; text-align:center; }
code { background:#eef1f5; border-radius:5px; padding:2px 5px; }
.filters { display:grid; grid-template-columns:2fr repeat(4,1fr) auto; gap:12px; align-items:end; } .filters label { margin:0; } .filter-card { padding:16px; } .server-summary { display:grid; gap:10px; } .server-summary a { display:grid; grid-template-columns:1fr auto 90px; gap:18px; align-items:center; padding:12px; border:1px solid var(--border); border-radius:9px; } .page-head.compact { margin-bottom:14px; } .key-block { white-space:pre-wrap; word-break:break-all; background:#eef1f5; padding:12px; border-radius:8px; } .break-all { word-break:break-all; }
.subnav { flex-wrap:wrap; gap:8px; margin:-8px 0 20px; } .subnav a { background:white; border:1px solid var(--border); border-radius:8px; padding:8px 11px; }
.bootstrap-steps { display:grid; gap:8px; margin-top:16px; } .bootstrap-steps>div { display:grid; grid-template-columns:minmax(180px,1fr) auto; gap:8px 14px; align-items:center; padding:10px 12px; border:1px solid var(--border); border-radius:8px; } .bootstrap-steps small { grid-column:1/-1; color:var(--red); word-break:break-word; }
.nav-badge { display:inline-flex; min-width:20px; height:20px; padding:0 6px; align-items:center; justify-content:center; border-radius:99px; background:#d92d20; color:white; font-size:12px; font-weight:800; }
.quick-days { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.confirm-line { display:flex; gap:9px; align-items:flex-start; font-weight:500; } .confirm-line input,.danger-confirm input { width:auto; margin:3px 0 0; }
.section-title { padding:20px 24px 4px; } .empty-inline { padding:4px 24px 20px; color:var(--muted); } .wrap-cell { white-space:normal; min-width:240px; }
.notification-tabs a.active { color:white; background:var(--blue); border-color:var(--blue); }
.notification-filters { display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)); gap:12px; align-items:end; } .notification-filters label { margin:0; }
.notification-list { display:grid; gap:14px; } .notification-card { display:grid; grid-template-columns:42px 1fr; gap:14px; padding:20px; background:white; border:1px solid var(--border); border-left-width:5px; border-radius:12px; }
.notification-card.severity-critical { border-left-color:var(--red); } .notification-card.severity-warning { border-left-color:#f5a623; } .notification-card.severity-info { border-left-color:var(--blue); } .notification-card.is-resolved { opacity:.7; }
.notification-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:#eef1f5; font-size:20px; } .severity-critical .notification-icon { color:var(--red); background:#fee4e2; } .severity-warning .notification-icon { color:var(--amber); background:#fff1c2; } .severity-info .notification-icon { color:var(--blue); background:#e8eeff; }
.notification-body h2 { margin:10px 0 4px; } .notification-body>.page-head { align-items:flex-start; } .notification-links { display:flex; flex-wrap:wrap; gap:14px; margin:10px 0; }
.notification-meta { grid-template-columns:190px 1fr; font-size:13px; margin:12px 0; } .notification-meta dt,.notification-meta dd { padding:5px 0; word-break:break-word; }
.danger-confirm { align-items:center; padding:7px; border:1px solid #f0d28a; border-radius:8px; } .danger-confirm .check { display:flex; align-items:center; gap:5px; margin:0; font-size:12px; }
.pagination { display:flex; justify-content:center; align-items:center; gap:14px; margin-top:20px; }
.finance-page { width:min(1420px,calc(100vw - 48px)); margin-left:50%; transform:translateX(-50%); }
.finance-heading { margin-bottom:18px; }
.finance-heading h1 { font-size:32px; letter-spacing:0; }
.finance-heading p { margin:0; }
.finance-refresh { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; color:#344054; background:#fff; }
.finance-page svg { display:block; width:19px!important; height:19px!important; max-width:19px!important; max-height:19px!important; flex:0 0 auto; fill:none!important; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; overflow:visible; }
.finance-refresh svg { width:17px!important; height:17px!important; max-width:17px!important; max-height:17px!important; }
.finance-refresh:hover,.finance-edit-button:hover { border-color:#7f8ca2; background:#f8fafc; text-decoration:none; }
.finance-refresh.is-loading svg { animation:finance-spin .8s linear infinite; }
@keyframes finance-spin { to { transform:rotate(360deg); } }
.finance-primary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:12px; }
.finance-kpi { position:relative; min-height:132px; padding:18px 20px; overflow:hidden; border:1px solid var(--border); border-radius:8px; background:#fff; box-shadow:0 3px 12px rgba(16,24,40,.045); }
.finance-kpi::after { content:""; position:absolute; width:112px; height:112px; right:-58px; bottom:-66px; border-radius:50%; background:currentColor; opacity:.055; }
.finance-kpi-head { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.finance-kpi span,.finance-stats span,.finance-highlights span { display:block; color:var(--muted); font-weight:650; }
.finance-kpi-icon { display:grid!important; width:34px; height:34px; flex:0 0 34px; place-items:center; border-radius:8px; color:inherit!important; background:color-mix(in srgb,currentColor 10%,white); }
.finance-kpi b { display:block; margin:15px 0 8px; color:var(--text); font-size:30px; line-height:1.05; letter-spacing:0; }
.finance-kpi small,.finance-highlights small { color:var(--muted); }
.finance-kpi.income { color:var(--blue); border-top:3px solid var(--blue); }
.finance-kpi.expense { color:var(--amber); border-top:3px solid #d99a00; }
.finance-kpi.profit { color:var(--green); border-top:3px solid var(--green); background:linear-gradient(145deg,#fff 62%,#f0faf5); }
.finance-kpi.loss { color:var(--red); border-top:3px solid var(--red); background:linear-gradient(145deg,#fff 62%,#fff3f2); }
.finance-kpi.neutral-profit { color:#667085; border-top:3px solid #98a2b3; }
.finance-stats { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; margin-bottom:16px; }
.finance-stats article { min-height:84px; padding:13px 14px; border:1px solid var(--border); border-radius:8px; background:#fff; }
.finance-stats span { min-height:34px; font-size:12px; line-height:1.35; }
.finance-stats b { display:block; margin-top:7px; font-size:19px; line-height:1.2; }
.finance-analytics { padding:18px 20px; margin-bottom:16px; border-radius:8px; }
.finance-section-head { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:12px; }
.finance-section-head h2,.finance-section-head p { margin:0; }
.finance-section-head p { margin-top:3px; font-size:13px; }
.finance-highlights { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.finance-highlights article { min-width:0; min-height:96px; padding:14px 15px; border:1px solid #e4e8ef; border-radius:8px; background:#fafbfc; }
.finance-highlights b { display:block; max-width:100%; margin:10px 0 5px; overflow:hidden; font-size:17px; text-overflow:ellipsis; white-space:nowrap; }
.finance-highlights .empty-value { color:#667085; }
.finance-tabs { display:flex; gap:4px; width:max-content; margin:0 0 14px; padding:4px; border:1px solid var(--border); border-radius:8px; background:#e9edf4; }
.finance-tabs a { min-width:135px; padding:9px 19px; border-radius:7px; color:var(--muted); font-weight:750; text-align:center; }
.finance-tabs a.active { color:#fff; background:var(--blue); box-shadow:0 2px 5px rgba(40,85,217,.22); }
.finance-tabs a:hover { text-decoration:none; }
.finance-filter-card { padding:14px; margin-bottom:14px; border-radius:8px; }
.finance-filters { display:grid; grid-template-columns:minmax(240px,2fr) repeat(3,minmax(150px,1fr)) auto; align-items:end; gap:10px; }
.finance-filters label { min-width:0; margin:0; }
.finance-filters label>span { display:block; margin-bottom:6px; color:#475467; font-size:12px; }
.finance-filters input,.finance-filters select { height:40px; margin:0; padding:8px 10px; }
.finance-filters button { height:40px; margin:0; }
.server-finance-filters { grid-template-columns:minmax(260px,2fr) minmax(220px,1fr) auto; }
.finance-table-card { margin-bottom:16px; overflow:hidden; border-radius:8px; }
.finance-table-scroll { max-width:100%; overflow-x:auto; }
.finance-table { min-width:1120px; }
.finance-server-table { min-width:1280px; }
.finance-table th { height:43px; padding:11px 13px; background:#f8fafc; color:#667085; font-size:11px; }
.finance-table td { max-width:260px; height:61px; padding:11px 13px; font-size:13px; vertical-align:middle; }
.finance-table tbody tr:last-child td { border-bottom:0; }
.finance-table tbody tr:not(.finance-empty-row):hover { background:#f8faff; }
.finance-table-title { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 18px 14px; border-bottom:1px solid var(--border); }
.finance-table-title h2,.finance-table-title p { margin:0; }
.finance-table-title p { margin-top:3px; font-size:13px; }
.finance-primary-link { color:#172033; font-weight:750; }
.finance-primary-link:hover { color:var(--blue); }
.finance-cell-ellipsis { display:block; max-width:230px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.finance-comment>span { display:-webkit-box; min-width:160px; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; white-space:normal; }
.finance-edit-button { padding:7px 11px; color:var(--blue); border-color:#cbd5e1; background:#fff; font-size:13px; }
.badge.paid { color:#194aa3; background:#e5edff; }
.negative-row { background:#fffafa; }
.positive-text { color:var(--green)!important; }
.negative-text { color:var(--red)!important; }
.finance-empty-row td { height:auto; padding:0; }
.finance-empty-state { display:grid; justify-items:center; padding:44px 20px; color:var(--muted); text-align:center; white-space:normal; }
.finance-empty-state>span { display:grid; width:38px; height:38px; margin-bottom:10px; place-items:center; border-radius:50%; color:#667085; background:#eef1f5; font-size:20px; }
.finance-empty-state strong { color:#344054; font-size:16px; }
.finance-empty-state p { margin:6px 0 0; }
.finance-dialog { width:min(560px,calc(100vw - 32px)); max-height:min(760px,calc(100dvh - 32px)); padding:0; overflow:hidden; border:0; border-radius:16px; color:var(--text); background:#fff; box-shadow:0 24px 64px rgba(16,24,40,.24); }
.finance-dialog::backdrop { background:rgba(16,24,40,.52); backdrop-filter:blur(2px); }
.finance-dialog form { display:flex; max-height:min(760px,calc(100dvh - 32px)); flex-direction:column; }
.finance-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:21px 22px 17px; border-bottom:1px solid var(--border); }
.finance-dialog-head h2 { margin:3px 0 4px; font-size:21px; }
.finance-dialog-head p { max-width:450px; margin:0; overflow:hidden; color:var(--muted); text-overflow:ellipsis; white-space:nowrap; }
.finance-dialog-kicker { color:var(--blue); font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.finance-dialog-close { width:34px; height:34px; flex:0 0 34px; padding:0; border:0; color:#667085; background:transparent; font-size:26px; font-weight:400; line-height:1; }
.finance-dialog-close:hover { color:#172033; background:#f2f4f7; }
.finance-dialog-body { padding:20px 22px 4px; overflow-y:auto; }
.finance-dialog-body label { margin-bottom:16px; }
.finance-dialog-body textarea { min-height:94px; resize:vertical; }
.finance-dialog-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(110px,1fr); gap:12px; }
.finance-switch-row { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:13px 14px; border:1px solid var(--border); border-radius:10px; background:#f8fafc; }
.finance-switch-row>span { min-width:0; }
.finance-switch-row strong,.finance-switch-row small { display:block; }
.finance-switch-row small { margin-top:3px; color:var(--muted); font-weight:400; }
.finance-switch-row input[role="switch"] { width:42px; height:24px; flex:0 0 42px; margin:0; padding:2px; appearance:none; border:0; border-radius:99px; background:#98a2b3; cursor:pointer; transition:background .18s; }
.finance-switch-row input[role="switch"]::before { content:""; display:block; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(16,24,40,.3); transition:transform .18s; }
.finance-switch-row input[role="switch"]:checked { background:var(--blue); }
.finance-switch-row input[role="switch"]:checked::before { transform:translateX(18px); }
.finance-switch-row input[role="switch"]:focus-visible { outline:3px solid rgba(40,85,217,.18); }
.finance-dialog input:disabled { color:#98a2b3; border-color:#d0d5dd; background:#f2f4f7; cursor:not-allowed; }
.finance-dialog-actions { display:flex; justify-content:flex-end; gap:9px; padding:15px 22px; border-top:1px solid var(--border); background:#fbfcfd; }
.finance-dialog-actions button { min-width:105px; }
.finance-dialog-actions button:disabled,.finance-refresh:disabled { opacity:.65; cursor:wait; }
.finance-toast { position:fixed; z-index:100; right:24px; bottom:24px; max-width:min(390px,calc(100vw - 32px)); padding:13px 16px 13px 42px; border:1px solid; border-radius:11px; background:#fff; box-shadow:0 12px 32px rgba(16,24,40,.18); font-weight:650; }
.finance-toast::before { position:absolute; left:16px; font-weight:900; }
.finance-toast.success { color:#05603a; border-color:#a9dfc5; background:#effbf5; }
.finance-toast.success::before { content:"✓"; }
.finance-toast.error { color:#8b1e15; border-color:#f0b4af; background:#fff4f3; }
.finance-toast.error::before { content:"!"; }
.attention-list { list-style:none; padding:0; margin:0; display:grid; gap:8px; } .attention-list li { display:grid; grid-template-columns:18px 1fr auto; gap:10px; padding:10px 0; border-bottom:1px solid var(--border); align-items:start; } .attention-list p { margin:3px 0 0; } .attention-dot.critical { color:var(--red); } .attention-dot.warning { color:#f5a623; }
.notification-rules { margin:12px 0 20px; } .notification-rules input,.notification-rules select { min-width:110px; margin:0; } .notification-rules input[type="checkbox"] { min-width:0; width:auto; }
@media (max-width:1200px) { .finance-stats { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:1000px) { .stats.six { grid-template-columns:repeat(3,1fr); } .filters { grid-template-columns:repeat(2,1fr); } .finance-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .finance-filter-submit { width:100%; } }
@media (max-width:1000px) { .notification-filters { grid-template-columns:repeat(2,1fr); } }
@media (max-width:760px) { .topbar { height:auto; padding:15px 20px; align-items:flex-start; } nav { gap:11px; flex-wrap:wrap; justify-content:flex-end; } .grid.two,.grid.three,.stats,.stats.six,.filters,.notification-filters { grid-template-columns:1fr; } .page-head { align-items:flex-start; } dl { grid-template-columns:1fr; } dt { border-bottom:0; padding-bottom:0; } .notification-card { grid-template-columns:1fr; } .attention-list li { grid-template-columns:18px 1fr; } .attention-list li>.muted { grid-column:2; }
  body:has(.finance-page) .topbar { display:block; padding:14px 16px; }
  body:has(.finance-page) .topbar .brand { display:block; margin-bottom:11px; }
  body:has(.finance-page) .topbar nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); min-width:0; gap:8px 10px; }
  body:has(.finance-page) .topbar nav>a,body:has(.finance-page) .topbar .link-button { min-width:0; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
  body:has(.finance-page) .topbar nav form { min-width:0; }
  .finance-page { width:100%; margin-left:0; transform:none; }
  .finance-heading { align-items:center; }
  .finance-heading h1 { font-size:27px; }
  .finance-refresh span { display:none; }
  .finance-refresh { width:40px; height:40px; justify-content:center; padding:0; }
  .finance-primary { grid-template-columns:1fr; gap:10px; }
  .finance-kpi { min-height:126px; padding:17px 18px; }
  .finance-kpi b { margin-top:13px; font-size:29px; }
  .finance-stats { grid-template-columns:1fr; gap:8px; }
  .finance-stats article { min-height:91px; padding:13px; }
  .finance-stats article:last-child { grid-column:auto; }
  .finance-highlights { grid-template-columns:1fr; }
  .finance-highlights article { min-height:0; }
  .finance-tabs { width:100%; }
  .finance-tabs a { min-width:0; flex:1; }
  .finance-filters,.server-finance-filters { grid-template-columns:1fr; }
  .finance-table-card { padding:0; overflow:visible; border:0; background:transparent; box-shadow:none; }
  .finance-table-card .finance-table-title { padding:14px 0; border:0; align-items:flex-start; }
  .finance-table-title { flex-wrap:wrap; }
  .finance-table-title .button { width:100%; text-align:center; }
  .finance-table-scroll { overflow:visible; }
  .finance-table,.finance-server-table,.finance-table tbody,.finance-table tr,.finance-table td { display:block; width:100%; min-width:0; }
  .finance-table thead { display:none; }
  .finance-table tr { margin-bottom:10px; padding:8px 13px; border:1px solid var(--border); border-radius:12px; background:#fff; box-shadow:0 2px 8px rgba(16,24,40,.04); }
  .finance-table td { display:grid; grid-template-columns:108px minmax(0,1fr); gap:10px; max-width:none; height:auto; min-height:39px; padding:9px 0; border-bottom:1px solid var(--border); white-space:normal; }
  .finance-table td:last-child { border-bottom:0; }
  .finance-table td::before { content:attr(data-label); color:var(--muted); font-size:10px; font-weight:750; letter-spacing:.03em; text-transform:uppercase; }
  .finance-cell-ellipsis { max-width:100%; }
  .finance-comment>span { min-width:0; }
  .finance-edit-button { width:100%; }
  .finance-empty-row { padding:0!important; }
  .finance-empty-row td { display:block; border:0; }
  .finance-empty-row td::before { display:none; }
  .finance-empty-state { padding:36px 16px; }
  .finance-dialog { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); border-radius:13px; }
  .finance-dialog form { max-height:calc(100dvh - 24px); }
  .finance-dialog-head { padding:18px 17px 14px; }
  .finance-dialog-body { padding:17px 17px 2px; }
  .finance-dialog-grid { grid-template-columns:1fr; gap:0; }
  .finance-switch-row { gap:14px; }
  .finance-dialog-actions { padding:13px 17px; }
  .finance-dialog-actions button { min-width:0; flex:1; }
  .finance-toast { right:12px; bottom:12px; }
  .table-title { align-items:flex-start; }
}
.badge.trial { background:#e8ddff; color:#5b21b6; border-color:#c4b5fd; }
.badge.paid { background:#dbeafe; color:#1d4ed8; border-color:#93c5fd; }
.trial-note { margin:0; align-self:end; }
.trial-card { border-color:#c4b5fd; background:linear-gradient(135deg,#fff 0%,#faf7ff 100%); }
.trial-summary { display:grid; grid-template-columns:max-content 1fr; gap:.55rem 1.25rem; }
.trial-summary dt { color:var(--muted,#667085); }
.trial-summary dd { margin:0; }
.trial-actions { align-items:center; margin-top:1rem; }
.trial-convert-button { font-size:1rem; padding:.8rem 1.15rem; }
.trial-finish-form { margin-top:1rem; padding-top:1rem; border-top:1px solid #eadcff; display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }
.trial-dialog { width:min(620px,calc(100vw - 2rem)); border:0; border-radius:14px; padding:1.4rem; box-shadow:0 24px 70px #11182755; }
.trial-dialog::backdrop { background:#11182788; }
.trial-dialog form { display:grid; gap:1rem; }
.trial-overview { border-left:4px solid #8b5cf6; }
/* Telegram wallet */
.wallet-balance { font-size: 2rem; font-weight: 700; margin: .25rem 0 0; }
.wallet-amount { font-weight: 700; white-space: nowrap; }
.wallet-amount.positive { color: #14804a; }
.wallet-amount.negative { color: #b42318; }
.wallet-dialog { width: min(32rem, calc(100vw - 2rem)); border: 0; border-radius: 14px; padding: 1.5rem; box-shadow: 0 24px 80px rgba(0,0,0,.25); }
.wallet-dialog::backdrop { background: rgba(15,23,42,.55); }
.wallet-dialog form { display: grid; gap: 1rem; }
.wallet-dialog label:not(.checkbox) { display: grid; gap: .4rem; }
.dialog-close { font-size: 1.5rem; line-height: 1; min-width: 2.5rem; }
.notice { padding: .8rem 1rem; border-radius: 8px; }
.notice.success { background: #e8f7ef; color: #12663d; }
.notice.error { background: #fff0ef; color: #9f241d; }
.notice.warning { background: #fff7dd; color: #7a4b00; }
.destructive-actions { padding-top: 1rem; border-top: 1px solid var(--border); }
.destructive-dialog dl { display: grid; grid-template-columns: minmax(9rem, 1fr) 2fr; gap: .45rem 1rem; }
.destructive-dialog dt { color: var(--muted); }
.destructive-dialog dd { margin: 0; font-weight: 700; }
.pagination { display: flex; gap: 1rem; align-items: center; justify-content: center; }

/* Support tickets and administrator RBAC */
.support-filter-card { margin-bottom:16px; }
.support-filters { display:grid; grid-template-columns:minmax(240px,2fr) repeat(4,minmax(150px,1fr)); gap:10px; align-items:end; }
.support-filters label { min-width:0; margin:0; }
.support-filters input,.support-filters select,.support-filters button { height:40px; margin:0; }
.support-table-card { overflow:hidden; }
.support-table { min-width:1380px; }
.support-table td { vertical-align:middle; }
.support-table td small,.support-preview small,.support-attachment small { display:block; margin-top:4px; }
.support-preview { max-width:280px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.support-open-button { padding:7px 11px; font-size:13px; white-space:nowrap; }
.support-photo-link { display:block; color:inherit; text-decoration:none; }
.support-photo-preview { display:block; width:min(100%,420px); max-height:360px; margin:8px 0; border:1px solid var(--border); border-radius:10px; object-fit:contain; background:#f8fafc; }
.support-photo-link span { color:var(--blue); font-weight:700; }
.support-status-new,.support-status-waiting_support { color:#9a3412; background:#ffedd5; }
.support-status-open { color:#1d4ed8; background:#dbeafe; }
.support-status-waiting_user { color:#6d28d9; background:#ede9fe; }
.support-status-resolved { color:#047857; background:#d1fae5; }
.support-status-closed { color:#475467; background:#eaecf0; }
.support-priority-low { color:#475467; background:#f2f4f7; }
.support-priority-normal { color:#1d4ed8; background:#dbeafe; }
.support-priority-high { color:#9a3412; background:#ffedd5; }
.support-priority-critical { color:#b42318; background:#fee4e2; }
.support-detail-layout { display:grid; grid-template-columns:minmax(300px,360px) minmax(0,1fr); gap:18px; align-items:start; }
.support-sidebar { display:grid; gap:14px; }
.support-sidebar .card,.support-chat { margin:0; }
.support-sidebar form+form { margin-top:18px; padding-top:18px; border-top:1px solid var(--border); }
.support-chat { min-height:620px; padding:0; overflow:hidden; }
.support-chat-log { display:flex; min-height:430px; max-height:68vh; padding:22px; overflow-y:auto; flex-direction:column; gap:14px; background:#f8fafc; }
.support-message { max-width:min(78%,720px); padding:12px 14px; border:1px solid var(--border); border-radius:14px; background:#fff; box-shadow:0 2px 8px rgba(16,24,40,.04); }
.support-message.user { align-self:flex-start; border-bottom-left-radius:4px; }
.support-message.admin { align-self:flex-end; border-color:#b9c9ff; border-bottom-right-radius:4px; background:#eef3ff; }
.support-message.system { max-width:90%; align-self:center; color:var(--muted); background:#f2f4f7; }
.support-message header { display:flex; justify-content:space-between; gap:18px; margin-bottom:7px; font-size:12px; font-weight:800; }
.support-message time { color:var(--muted); font-weight:500; }
.support-message-text { overflow-wrap:anywhere; white-space:pre-wrap; }
.support-attachment { margin-top:8px; padding:10px; overflow-wrap:anywhere; border:1px dashed #98a2b3; border-radius:8px; background:#fff; }
.support-reply { padding:20px 22px; border-top:1px solid var(--border); background:#fff; }
.support-reply textarea { resize:vertical; }
.admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.admin-card form+form { margin-top:18px; padding-top:18px; border-top:1px solid var(--border); }
@media (max-width:1000px) { .support-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .support-detail-layout { grid-template-columns:1fr; } }
@media (max-width:760px) { .support-filters,.admin-grid { grid-template-columns:1fr; } .support-message { max-width:92%; } .support-chat-log { max-height:none; } }
.danger-button { background: #b42318; border-color: #b42318; color: #fff; }
.danger-button:hover { background: #912018; border-color: #912018; color: #fff; }

/* Group Gate settings (polished product UI) */
.gate-alert { margin:0 0 16px; }
.gate-page-head { align-items:flex-start; }
.gate-kicker { margin:0 0 6px; color:var(--muted); font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.gate-subtitle { max-width:760px; margin:10px 0 0; line-height:1.55; }
.gate-subtitle-sep { margin:0 6px; }
.gate-status { white-space:nowrap; }
.gate-head-actions { flex-shrink:0; }
.gate-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,360px); gap:18px; align-items:start; }
.gate-form { min-width:0; display:grid; gap:18px; }
.gate-form .gate-card { margin:0; }
.gate-card { padding:22px; }
.gate-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:18px; }
.gate-card-head h2 { margin:4px 0 6px; font-size:19px; }
.gate-card-desc { margin:0; font-size:13.5px; line-height:1.5; }
.gate-section-kicker { margin:0; color:var(--blue); font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.gate-field { margin-bottom:18px; }
.gate-field:last-child { margin-bottom:0; }
.gate-grid { margin-bottom:18px; }
.gate-grid .gate-field { margin-bottom:0; }
.gate-label { font-weight:750; font-size:14px; }
.gate-form input,.gate-form textarea { border:1px solid #b9c2d0; border-radius:10px; padding:11px 13px; line-height:1.5; transition:border-color .15s, box-shadow .15s; }
.gate-form input:hover,.gate-form textarea:hover { border-color:#8fa0b8; }
.gate-form input:focus,.gate-form textarea:focus { outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(40,85,217,.16); }
.gate-form input:disabled { color:#98a2b3; border-color:#d0d5dd; background:#f2f4f7; cursor:not-allowed; }
.gate-form textarea { min-height:86px; resize:vertical; }
.gate-label-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:7px; }
.gate-label-row .gate-label { margin:0; }
.gate-counter { color:var(--muted); font-size:12px; font-weight:600; white-space:nowrap; }
.gate-help { margin:7px 0 0; color:var(--muted); font-size:12.5px; font-weight:500; line-height:1.5; }
.gate-mode-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.gate-mode-card { display:grid; gap:6px; margin:0; padding:14px; border:1.5px solid var(--border); border-radius:12px; background:#fbfcfe; cursor:pointer; transition:border-color .15s, background .15s, box-shadow .15s; }
.gate-mode-card:hover { border-color:#9db1d8; }
.gate-mode-card.is-selected { border-color:var(--blue); background:#f0f4ff; box-shadow:0 0 0 3px rgba(40,85,217,.12); }
.gate-mode-card input { width:auto; margin:0; accent-color:var(--blue); }
.gate-mode-title { font-weight:800; font-size:13.5px; }
.gate-mode-desc { color:var(--muted); font-size:12.5px; font-weight:500; line-height:1.5; }
.gate-status-box { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:16px; padding:13px 15px; border:1px dashed #b9c2d0; border-radius:12px; background:#f8fafc; }
.gate-status-box strong { display:block; font-size:14px; }
.gate-status-box .gate-help { margin-top:4px; }
.gate-hint-box { padding:14px 15px; border:1px solid #d7e3ff; border-radius:12px; background:#f3f6ff; }
.gate-hint-box strong { font-size:13.5px; }
.gate-hint-box p { margin:6px 0 0; color:#475467; font-size:12.5px; line-height:1.5; }
.gate-vars { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.gate-var { padding:0; border:0; background:transparent; cursor:pointer; }
.gate-var code { display:inline-block; padding:5px 10px; border:1px solid #b9c9ff; border-radius:99px; background:#fff; color:var(--blue); font-weight:750; cursor:pointer; }
.gate-var code:hover { background:var(--blue); color:#fff; }
.gate-switch-row { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 10px; padding:13px 15px; border:1px solid var(--border); border-radius:12px; background:#fbfcfe; cursor:pointer; transition:border-color .15s; }
.gate-switch-row:hover { border-color:#9db1d8; }
.gate-switch-text strong { display:block; font-size:14px; }
.gate-switch-text small { display:block; margin-top:3px; color:var(--muted); font-size:12.5px; font-weight:500; line-height:1.5; }
.gate-switch-row input[role="switch"] { width:44px; height:25px; flex:0 0 44px; margin:0; padding:2px; appearance:none; -webkit-appearance:none; border:0; border-radius:99px; background:#98a2b3; cursor:pointer; transition:background .18s; }
.gate-switch-row input[role="switch"]::before { content:""; display:block; width:21px; height:21px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(16,24,40,.3); transition:transform .18s; }
.gate-switch-row input[role="switch"]:checked { background:#12a060; }
.gate-switch-row input[role="switch"]:checked::before { transform:translateX(19px); }
.gate-switch-row input[role="switch"]:focus-visible { outline:3px solid rgba(18,160,96,.25); }
.gate-ttl-grid .gate-field.is-disabled { opacity:.55; }
.gate-actionbar { position:sticky; bottom:16px; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 16px; border:1px solid var(--border); border-radius:14px; background:rgba(255,255,255,.94); box-shadow:0 10px 28px rgba(16,24,40,.12); backdrop-filter:blur(6px); }
.gate-actionbar-buttons { display:flex; gap:10px; }
.gate-actionbar .primary { min-width:170px; }
.gate-actionbar .primary:disabled { opacity:.7; cursor:wait; }
.gate-actionbar-status { color:var(--muted); font-size:13px; font-weight:600; }
.gate-side { display:grid; gap:18px; position:sticky; top:18px; }
.gate-side .gate-card { margin:0; }
.gate-tg { border:1px solid var(--border); border-radius:14px; background:#eef3f8; padding:14px; display:grid; gap:10px; }
.gate-tg-head { display:flex; align-items:center; gap:10px; }
.gate-tg-avatar { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:#2855d9; color:#fff; font-weight:800; }
.gate-tg-meta strong { display:block; font-size:14px; }
.gate-tg-meta small { color:var(--muted); font-size:12px; }
.gate-tg-bubble { background:#fff; border-radius:4px 14px 14px 14px; padding:12px 13px; box-shadow:0 1px 2px rgba(16,24,40,.08); }
.gate-tg-bubble-muted { background:#f7f9fc; }
.gate-tg-name { margin:0 0 6px; color:var(--blue); font-size:12.5px; font-weight:800; }
.gate-tg-bubble p { margin:0; font-size:13.5px; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
.gate-tg-button { display:block; padding:10px 12px; border-radius:10px; background:#fff; border:1px solid #c9d6f5; color:var(--blue); font-weight:800; font-size:13.5px; text-align:center; }
.gate-tg-error { min-height:18px; margin:0; color:var(--red); font-size:12.5px; font-weight:650; }
.gate-tg-error:empty { display:none; }
.gate-preview-refresh { margin-top:2px; }
.gate-danger-card { border-color:#f0b4af; }
@media (max-width:1000px) {
  .gate-layout { grid-template-columns:1fr; }
  .gate-side { position:static; }
  .gate-mode-grid { grid-template-columns:1fr; }
  .gate-actionbar { bottom:10px; flex-direction:column; align-items:stretch; }
  .gate-actionbar-buttons { display:grid; grid-template-columns:1fr 1fr; }
  .gate-actionbar .primary { min-width:0; }
}
@media (max-width:560px) {
  .gate-card { padding:17px; }
  .gate-actionbar-buttons { grid-template-columns:1fr; }
  .gate-switch-row { align-items:flex-start; }
}

/* Telegram users list (polished product UI, consistent with Bot / Group Gate / Finance) */
.tgu-head { align-items:flex-start; }
.tgu-subtitle { max-width:760px; margin:10px 0 0; line-height:1.55; }
.tgu-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.tgu-stats .stat { margin:0; }
.tgu-filter-card { padding:16px; border-radius:12px; }
.tgu-filters { display:grid; grid-template-columns:minmax(240px,2fr) minmax(180px,1fr) auto; gap:10px; align-items:end; }
.tgu-filters label { margin:0; }
.tgu-filters input,.tgu-filters select { height:40px; margin:0; }
.tgu-filter-actions { display:flex; gap:8px; }
.tgu-filter-actions button,.tgu-filter-actions .button { height:40px; margin:0; }
.tgu-filter-actions .button { display:inline-flex; align-items:center; }
.tgu-table-card { overflow:hidden; }
.tgu-scroll { overflow-x:auto; }
.tgu-table { min-width:780px; }
.tgu-table thead th { background:#f8fafc; }
.tgu-table td { vertical-align:middle; white-space:normal; }
.tgu-table tbody tr:hover { background:#f8faff; }
.tgu-user { display:flex; gap:10px; align-items:center; min-width:0; }
.tgu-avatar { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; border-radius:50%; background:#e8eeff; color:var(--blue); font-weight:800; font-size:15px; }
.tgu-user-text { display:grid; gap:2px; min-width:0; }
.tgu-user-text strong { font-size:14px; }
.tgu-sub { display:block; color:var(--muted); font-size:12.5px; font-weight:500; }
.tgu-primary-line { display:block; font-weight:650; font-size:13.5px; }
.tgu-balance { font-size:14px; white-space:nowrap; }
.tgu-table th.tgu-actions-col,.tgu-table td.tgu-actions-col { position:sticky; right:0; z-index:2; box-shadow:-8px 0 12px -8px rgba(16,24,40,.18); }
.tgu-table th.tgu-actions-col { background:#f8fafc; z-index:3; }
.tgu-table td.tgu-actions-col { background:#fff; }
.tgu-table tbody tr:hover td.tgu-actions-col { background:#f8faff; }
.tgu-row-actions { display:flex; gap:8px; flex-wrap:nowrap; white-space:nowrap; }
.tgu-row-actions .tgu-open-button,.tgu-row-actions .danger-button { padding:7px 11px; font-size:13px; white-space:nowrap; }
.tgu-pager { display:flex; justify-content:center; align-items:center; gap:14px; padding:14px 18px; border-top:1px solid var(--border); }
.tgu-empty { display:grid; justify-items:center; padding:44px 20px; color:var(--muted); text-align:center; }
.tgu-empty-icon { display:grid; width:38px; height:38px; margin-bottom:10px; place-items:center; border-radius:50%; background:#eef1f5; font-size:20px; }
.tgu-empty strong { color:#344054; font-size:16px; }
.tgu-empty p { margin:6px 0 0; }
@media (max-width:1000px) {
  .tgu-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tgu-filters { grid-template-columns:1fr 1fr; }
  .tgu-filter-actions { grid-column:1/-1; }
  .tgu-filter-actions button,.tgu-filter-actions .button { flex:1; justify-content:center; }
}
@media (max-width:760px) {
  .tgu-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .tgu-filters { grid-template-columns:1fr; }
  .tgu-filter-actions { display:grid; grid-template-columns:1fr 1fr; }
  .tgu-table-card { padding:0; overflow:visible; border:0; background:transparent; box-shadow:none; }
  .tgu-table-card .finance-table-title { padding:14px 0; border:0; }
  .tgu-scroll { overflow:visible; }
  .tgu-table,.tgu-table tbody,.tgu-table tr,.tgu-table td { display:block; width:100%; min-width:0; }
  .tgu-table thead { display:none; }
  .tgu-table tr { margin-bottom:10px; padding:8px 14px; border:1px solid var(--border); border-radius:12px; background:#fff; box-shadow:0 2px 8px rgba(16,24,40,.04); }
  .tgu-table tr:hover { background:#fff; }
  .tgu-table td { display:grid; grid-template-columns:104px minmax(0,1fr); gap:10px; height:auto; padding:9px 0; border-bottom:1px solid var(--border); }
  .tgu-table td:last-child { border-bottom:0; }
  .tgu-table td::before { content:attr(data-label); color:var(--muted); font-size:10px; font-weight:750; letter-spacing:.03em; text-transform:uppercase; }
  .tgu-table th.tgu-actions-col,.tgu-table td.tgu-actions-col { position:static; box-shadow:none; background:transparent; }
  .tgu-row-actions { flex-wrap:wrap; }
  .tgu-row-actions .tgu-open-button,.tgu-row-actions .danger-button { flex:1; text-align:center; }
}

/* VPN users list (polished product UI, consistent with Telegram-users / Bot / Finance) */
.vpu-head { align-items:flex-start; }
.vpu-subtitle { max-width:760px; margin:10px 0 0; line-height:1.55; }
.vpu-head-actions { flex-shrink:0; }
.vpu-head-actions .button { white-space:nowrap; }
.vpu-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.vpu-stats .stat { margin:0; }
.vpu-stats .stat b { font-size:30px; }
.vpu-stats .stat small { display:block; margin-top:4px; color:var(--muted); font-size:12.5px; font-weight:500; }
.vpu-filter-card { padding:16px; border-radius:12px; }
.vpu-filters { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:10px; align-items:end; }
.vpu-filters label { margin:0; }
.vpu-filters input,.vpu-filters select { height:40px; margin:0; }
.vpu-search { grid-column:span 2; }
.vpu-filter-actions { display:flex; gap:8px; }
.vpu-filter-actions button,.vpu-filter-actions .button { height:40px; margin:0; }
.vpu-filter-actions .button { display:inline-flex; align-items:center; }
.vpu-filter-actions button { flex:1; }
.vpu-table-card { overflow:hidden; }
.vpu-scroll { overflow-x:auto; }
.vpu-table { min-width:1040px; }
.vpu-table thead th { background:#f8fafc; }
.vpu-table td { vertical-align:middle; white-space:normal; }
.vpu-table tbody tr:hover { background:#f8faff; }
.vpu-user { display:flex; gap:10px; align-items:center; min-width:0; }
.vpu-avatar { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; border-radius:50%; background:#e8eeff; color:var(--blue); font-weight:800; font-size:15px; }
.vpu-user-text { display:grid; gap:2px; min-width:0; }
.vpu-name { font-weight:750; font-size:14px; }
.vpu-sub { display:block; margin-top:3px; color:var(--muted); font-size:12.5px; font-weight:500; }
.vpu-sub code { font-size:12px; }
.vpu-primary-line { display:block; font-weight:650; font-size:13.5px; }
.vpu-table th.vpu-actions-col,.vpu-table td.vpu-actions-col { position:sticky; right:0; z-index:2; box-shadow:-8px 0 12px -8px rgba(16,24,40,.18); }
.vpu-table th.vpu-actions-col { background:#f8fafc; z-index:3; }
.vpu-table td.vpu-actions-col { background:#fff; }
.vpu-table tbody tr:hover td.vpu-actions-col { background:#f8faff; }
.vpu-row-actions { display:flex; gap:8px; flex-wrap:nowrap; white-space:nowrap; }
.vpu-row-actions .vpu-open-button { padding:7px 11px; font-size:13px; white-space:nowrap; }
.vpu-empty { display:grid; justify-items:center; padding:44px 20px; color:var(--muted); text-align:center; }
.vpu-empty-icon { display:grid; width:38px; height:38px; margin-bottom:10px; place-items:center; border-radius:50%; background:#eef1f5; font-size:20px; }
.vpu-empty strong { color:#344054; font-size:16px; }
.vpu-empty p { margin:6px 0 0; }
.vpu-source-tabs { display:flex; gap:4px; width:max-content; max-width:100%; margin:0 0 14px; padding:4px; border:1px solid var(--border); border-radius:10px; background:#e9edf4; }
.vpu-source-tabs a { display:inline-flex; align-items:center; gap:8px; min-width:135px; padding:9px 19px; border-radius:7px; color:var(--muted); font-weight:750; font-size:14px; text-align:center; justify-content:center; transition:background .15s,color .15s,box-shadow .15s; }
.vpu-source-tabs a:hover { text-decoration:none; background:#dde4f0; color:#344054; }
.vpu-source-tabs a.active { color:#fff; background:var(--blue); box-shadow:0 2px 5px rgba(40,85,217,.22); }
.vpu-source-tabs a:focus-visible { outline:3px solid rgba(40,85,217,.3); outline-offset:2px; }
.vpu-source-count { display:inline-flex; min-width:26px; height:22px; padding:0 8px; align-items:center; justify-content:center; border-radius:99px; background:rgba(100,116,139,.16); color:inherit; font-size:12.5px; font-weight:800; }
.vpu-source-tabs a.active .vpu-source-count { background:rgba(255,255,255,.22); color:#fff; }
.badge.src-telegram { color:#194aa3; background:#e5edff; }
.badge.src-manual { color:#475467; background:#eaecf0; }
.vpu-group-form { margin:0; }
.vpu-group-select { width:auto; min-width:128px; max-width:100%; height:34px; margin:0; padding:5px 28px 5px 10px; border:1px solid var(--border); border-radius:99px; background-color:#f2f4f7; font-size:13px; font-weight:750; cursor:pointer; }
.vpu-group-select.is-telegram { color:#194aa3; background-color:#e5edff; border-color:#c3d4f5; }
.vpu-group-select.is-manual { color:#475467; background-color:#eaecf0; border-color:#d0d5dd; }
.vpu-group-select:hover { filter:brightness(.97); }
.vpu-group-select:focus-visible { outline:3px solid rgba(40,85,217,.25); outline-offset:1px; }
.vpu-group-segmented { display:flex; gap:4px; width:max-content; max-width:100%; padding:4px; border:1px solid var(--border); border-radius:10px; background:#e9edf4; }
.vpu-group-segmented label { display:inline-flex; align-items:center; margin:0; padding:9px 19px; border-radius:7px; color:var(--muted); font-weight:750; font-size:14px; cursor:pointer; }
.vpu-group-segmented label.active { color:#fff; background:var(--blue); box-shadow:0 2px 5px rgba(40,85,217,.22); }
.vpu-group-segmented label input { width:auto; margin:0 8px 0 0; }
@media (max-width:1000px) {
  .vpu-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .vpu-filters { grid-template-columns:1fr 1fr; }
  .vpu-search { grid-column:1/-1; }
  .vpu-filter-actions { grid-column:1/-1; }
  .vpu-filter-actions button,.vpu-filter-actions .button { flex:1; justify-content:center; }
}
@media (max-width:760px) {
  .vpu-source-tabs { width:100%; }
  .vpu-source-tabs a { min-width:0; flex:1; padding:9px 10px; font-size:13px; }
  .vpu-group-select { width:100%; }
  .vpu-group-segmented { width:100%; }
  .vpu-group-segmented label { flex:1; justify-content:center; }
  .vpu-head { flex-direction:column; align-items:stretch; }
  .vpu-head-actions .button { width:100%; text-align:center; }
  .vpu-stats { grid-template-columns:1fr; gap:8px; }
  .vpu-filters { grid-template-columns:1fr; }
  .vpu-search { grid-column:auto; }
  .vpu-filter-actions { display:grid; grid-template-columns:1fr 1fr; }
  .vpu-table-card { padding:0; overflow:visible; border:0; background:transparent; box-shadow:none; }
  .vpu-table-card .finance-table-title { padding:14px 0; border:0; }
  .vpu-scroll { overflow:visible; }
  .vpu-table,.vpu-table tbody,.vpu-table tr,.vpu-table td { display:block; width:100%; min-width:0; }
  .vpu-table thead { display:none; }
  .vpu-table tr { margin-bottom:10px; padding:8px 14px; border:1px solid var(--border); border-radius:12px; background:#fff; box-shadow:0 2px 8px rgba(16,24,40,.04); }
  .vpu-table tr:hover { background:#fff; }
  .vpu-table td { display:grid; grid-template-columns:104px minmax(0,1fr); gap:10px; height:auto; padding:9px 0; border-bottom:1px solid var(--border); }
  .vpu-table td:last-child { border-bottom:0; }
  .vpu-table td::before { content:attr(data-label); color:var(--muted); font-size:10px; font-weight:750; letter-spacing:.03em; text-transform:uppercase; }
  .vpu-table th.vpu-actions-col,.vpu-table td.vpu-actions-col { position:static; box-shadow:none; background:transparent; }
  .vpu-row-actions { flex-wrap:wrap; }
  .vpu-row-actions .vpu-open-button { flex:1; text-align:center; }
}
