: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; }
