:root { color-scheme:light; --page:#f4f6fb; --surface:#fff; --surface-soft:#f8faff; --text:#172033; --muted:#64718a; --muted-strong:#46536b; --border:#dbe2ee; --accent:#3563e9; --accent-soft:#eaf0ff; --accent-strong:#244dc7; --danger:#c33148; --success:#18704a; --sidebar:#17213a; --sidebar-text:#d4ddf1; --sidebar-muted:#8f9db8; --shadow:0 12px 32px rgb(29 46 82 / .08); --radius:14px; }
:root[data-theme="dark"] { color-scheme:dark; --page:#101522; --surface:#1a2232; --surface-soft:#202a3d; --text:#edf2ff; --muted:#aab6ca; --muted-strong:#cad4e6; --border:#324058; --accent:#5979de; --accent-soft:#283b6d; --accent-strong:#6f8bea; --danger:#c9536b; --success:#4eb381; --sidebar:#0c1220; --sidebar-text:#dbe5fb; --sidebar-muted:#92a0bb; --shadow:0 16px 36px rgb(0 0 0 / .2); }
* { box-sizing:border-box; }
html { background:var(--page); }
body { margin:0; min-width:320px; min-height:100vh; font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:var(--page); color:var(--text); }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent); outline-offset:2px; }
a { color:var(--accent); text-decoration:none; }
.app-shell { min-height:100vh; display:grid; grid-template-columns:252px minmax(0,1fr); }
.sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:20px 14px 16px; background:var(--sidebar); color:var(--sidebar-text); }
.brand { display:flex; align-items:center; gap:11px; padding:8px 10px 22px; color:var(--sidebar-text); }
.brand-mark { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; color:#fff; font-weight:800; background:linear-gradient(135deg,#6d8fff,#3c62df); box-shadow:0 7px 16px rgb(71 104 225 / .35); }
.brand strong,.brand small { display:block; }
.brand strong { font-size:1rem; letter-spacing:-.01em; }
.brand small { color:var(--sidebar-muted); font-size:.73rem; }
.sidebar-nav { display:grid; gap:4px; }
.nav-group-title { margin:18px 10px 6px; color:var(--sidebar-muted); font-size:.68rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.nav-group-title:first-child { margin-top:2px; }
.sidebar-link { display:flex; align-items:center; gap:11px; min-height:41px; padding:0 11px; border-radius:9px; color:var(--sidebar-text); font-weight:600; transition:background .16s ease,color .16s ease; }
.sidebar-link > span { display:grid; width:17px; place-items:center; color:var(--sidebar-muted); font-size:1.05rem; }
.sidebar-link:hover { background:rgb(255 255 255 / .08); color:#fff; }
.sidebar-link.is-active { color:#fff; background:linear-gradient(90deg,rgb(102 137 255 / .31),rgb(102 137 255 / .12)); box-shadow:inset 3px 0 0 #91adff; }
.sidebar-link.is-active > span { color:#b6c7ff; }
.nav-badge { display:grid; min-width:20px; height:20px; margin-left:auto; place-items:center; padding:0 5px; border-radius:999px; background:var(--danger); color:#fff; font-size:.68rem; font-weight:800; line-height:1; }
.nav-badge[hidden] { display:none; }
.sidebar-note { margin:auto 9px 4px; padding-top:18px; border-top:1px solid rgb(255 255 255 / .1); color:var(--sidebar-muted); font-size:.75rem; }
.app-main { min-width:0; }
.topbar { position:sticky; z-index:10; top:0; display:flex; align-items:center; min-height:70px; gap:16px; padding:11px clamp(18px,3vw,42px); background:color-mix(in srgb,var(--page) 88%,transparent); border-bottom:1px solid color-mix(in srgb,var(--border) 76%,transparent); backdrop-filter:blur(14px); }
.topbar-title { display:grid; line-height:1.1; }
.topbar-title span { font-size:.94rem; font-weight:730; }
.topbar-title small { margin-top:4px; color:var(--muted); font-size:.74rem; }
.icon-button { display:none; width:38px; height:38px; padding:0; border:1px solid var(--border); border-radius:9px; background:var(--surface); color:var(--text); font-size:1.1rem; }
.account-menu { position:relative; margin-left:auto; }
.account-menu summary { display:flex; align-items:center; gap:9px; min-height:42px; padding:4px 7px 4px 5px; border:1px solid transparent; border-radius:11px; list-style:none; cursor:pointer; user-select:none; }
.account-menu summary::-webkit-details-marker { display:none; }
.account-menu[open] summary,.account-menu summary:hover { border-color:var(--border); background:var(--surface); }
.account-avatar { display:grid; flex:0 0 auto; width:31px; height:31px; place-items:center; border-radius:9px; background:var(--accent-soft); color:var(--accent-strong); font-size:.78rem; font-weight:800; object-fit:cover; }
.account-summary { display:grid; line-height:1.1; }
.account-summary strong { font-size:.82rem; }
.account-summary small { margin-top:4px; color:var(--muted); font-size:.68rem; }
.account-chevron { color:var(--muted); }
.account-menu__panel { position:absolute; right:0; top:calc(100% + 9px); z-index:20; width:244px; padding:8px; border:1px solid var(--border); border-radius:12px; background:var(--surface); box-shadow:var(--shadow); }
.account-menu__title { margin:7px 8px 5px; color:var(--muted); font-size:.68rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.account-menu__separator { height:1px; margin:8px 4px; background:var(--border); }
.account-menu__panel form { margin:0; }
.account-menu__action { display:flex; width:100%; align-items:center; gap:9px; padding:9px 8px; border:0; border-radius:8px; background:transparent; color:var(--text); font-weight:600; text-align:left; }
.account-menu__action:hover { background:var(--surface-soft); }
.account-menu__action > span:first-child { width:16px; color:var(--muted); text-align:center; }
.account-menu__action--danger { color:var(--danger); }
.account-menu__action--danger > span:first-child { color:var(--danger); }
main { width:min(1440px,100%); margin:0 auto; padding:32px clamp(18px,3vw,42px) 48px; }
.dashboard-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding-bottom:3px; }
.dashboard-heading h1 { margin:0; font-size:clamp(1.6rem,2.3vw,2.15rem); line-height:1.15; letter-spacing:-.035em; }
.dashboard-heading p { max-width:760px; margin:.6rem 0 0; color:var(--muted); }
.dashboard-heading .button-link { flex:none; }
.button-link,button:not(.icon-button):not(.account-menu__action):not(.navigation-scrim) { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:.55rem .86rem; border:1px solid var(--accent); border-radius:9px; background:var(--accent); color:#fff; font-weight:650; line-height:1.2; transition:background .15s ease,border-color .15s ease,transform .15s ease; }
.button-link:hover,button:not(.icon-button):not(.account-menu__action):not(.navigation-scrim):hover { background:var(--accent-strong); border-color:var(--accent-strong); }
.button-link:active,button:not(.icon-button):not(.account-menu__action):not(.navigation-scrim):active { transform:translateY(1px); }
button,input,select,textarea { border:1px solid var(--border); border-radius:9px; background:var(--surface); color:var(--text); }
input,select,textarea { width:100%; min-height:40px; padding:.55rem .7rem; }
textarea { min-height:94px; resize:vertical; }
input::placeholder { color:var(--muted); opacity:.8; }
.secondary { border-color:var(--border)!important; background:var(--surface)!important; color:var(--text)!important; }
.secondary:hover { background:var(--surface-soft)!important; }
.danger { border-color:var(--danger)!important; background:var(--danger)!important; color:#fff!important; }
.danger:hover { filter:brightness(.93); }
.muted,.dashboard-note { color:var(--muted); }
.error,.notice { width:fit-content; max-width:100%; margin:18px 0; padding:9px 12px; border:1px solid currentColor; border-radius:9px; font-weight:600; }
.error { color:var(--danger); background:color-mix(in srgb,var(--danger) 8%,var(--surface)); }
.notice { color:var(--success); background:color-mix(in srgb,var(--success) 8%,var(--surface)); }
.period-filter,.period-buttons,.period-date-range { display:flex; flex-wrap:wrap; align-items:end; gap:9px; }
.period-filter { margin:26px 0 8px; padding:10px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.period-filter label,.filters label,.admin-form label { color:var(--muted-strong); font-size:.78rem; font-weight:650; }
.period-filter label input,.filters input,.filters select,.admin-form input,.admin-form select,.admin-form textarea { display:block; margin-top:5px; }
.period-buttons { align-self:center; gap:2px; padding:3px; border:1px solid var(--border); border-radius:10px; background:var(--surface-soft); }
.period-buttons button { min-height:34px; padding:.35rem .7rem; border:0; border-radius:7px; background:transparent; color:var(--muted-strong); box-shadow:none; }
.period-buttons button:hover { border:0; background:color-mix(in srgb,var(--accent-soft) 55%,transparent); color:var(--text); }
.period-buttons .is-selected { border:0; background:var(--accent); color:#fff; box-shadow:0 2px 5px color-mix(in srgb,var(--accent) 28%,transparent); }
.period-buttons .is-selected:hover { background:var(--accent-strong); }
.period-date-range { margin-left:auto; }
.period-date-range label { min-width:132px; }
.period-apply { min-height:40px; }
.dashboard-section { margin-top:30px; }
.dashboard-section h2 { margin:0 0 12px; font-size:1.05rem; letter-spacing:-.012em; }
.metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(195px,1fr)); gap:13px; }
.metrics-primary { grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); }
article,.login-card,.confirmation { border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); box-shadow:0 1px 1px rgb(22 35 62 / .02); }
.metrics article { position:relative; min-height:122px; padding:17px; overflow:hidden; }
.metrics article::before { position:absolute; top:0; left:0; width:100%; height:3px; background:linear-gradient(90deg,var(--accent),transparent 70%); content:""; opacity:.68; }
article span,article small { display:block; color:var(--muted); }
article span { font-size:.83rem; font-weight:600; }
article strong { display:block; margin:.45rem 0; font-size:1.55rem; line-height:1.1; letter-spacing:-.035em; overflow-wrap:anywhere; }
article small { min-height:1.2em; font-size:.75rem; }
.chart-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.chart-card { padding:18px; overflow:auto; }
.chart-card h2 { margin:0; }
.bar-chart { display:flex; min-width:430px; min-height:235px; gap:6px; align-items:end; margin-top:12px; padding:15px 6px 0; border-bottom:1px solid var(--border); }
.bar-chart__item { display:grid; grid-template-rows:auto minmax(0,1fr) auto; flex:1 1 42px; min-width:42px; height:210px; gap:5px; text-align:center; font-size:.7rem; color:var(--muted); }
.bar-chart__item span { margin-bottom:.35rem; }
.bar-chart__bar-area { display:flex; align-items:flex-end; min-height:0; }
.bar-chart__item i { display:block; width:100%; min-height:4px; background:linear-gradient(180deg,#8da9ff,var(--accent)); border-radius:5px 5px 1px 1px; box-shadow:0 -3px 12px color-mix(in srgb,var(--accent) 18%,transparent); }
.bar-chart__item b { margin-top:.35rem; color:var(--muted-strong); font-weight:650; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.filters,.admin-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(185px,1fr)); gap:14px; align-items:end; margin:22px 0; }
.filter-panel { padding:15px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); box-shadow:0 1px 1px rgb(22 35 62 / .02); }
.admin-form { padding:16px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface-soft); }
.admin-form--promo { grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); align-items:start; }
.admin-form--promo .form-action { align-self:start; margin-top:23px; }
.admin-form--legal-documents { grid-template-columns:1fr; }
.admin-form--legal-documents .form-action,.admin-form--legal-documents .button-link { width:auto; }
.legal-documents-warning { margin:0 0 16px; padding:11px 13px; border:1px solid color-mix(in srgb,#e9a23b 45%,var(--border)); border-radius:9px; background:color-mix(in srgb,#e9a23b 14%,var(--surface)); color:#7a4c07; font-weight:600; }
.telegram-preview { margin:8px 0 16px; padding:12px 14px; border-radius:14px; background:var(--surface-soft); border:1px solid var(--border); font-size:.92rem; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; }
.telegram-preview:empty::before { content:"—"; color:var(--muted); }
.telegram-preview tg-spoiler,.telegram-preview span.tg-spoiler { background:var(--muted-strong); color:transparent; border-radius:4px; }
.telegram-preview pre { margin:6px 0; padding:8px 10px; border-radius:8px; background:var(--surface); overflow:auto; }
.telegram-preview code { padding:.1rem .3rem; }
.telegram-preview blockquote { margin:6px 0; padding-left:10px; border-left:3px solid var(--accent); color:var(--muted-strong); }
.admin-form small { display:block; margin-top:5px; color:var(--muted); font-size:.72rem; }
.form-action { min-height:40px; width:100%; }
.promo-row-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.promo-row-actions form { margin:0; }
.checkbox-label { display:flex; align-items:center; gap:8px; min-height:40px; padding-top:5px; }
.checkbox-label input { width:16px; min-height:16px; margin:0; accent-color:var(--accent); }
.table-wrap { overflow:auto; max-width:100%; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); }
table { width:100%; min-width:720px; border-collapse:collapse; }
th,td { padding:13px; text-align:left; border-bottom:1px solid var(--border); vertical-align:middle; }
th { color:var(--muted); background:var(--surface-soft); font-size:.74rem; font-weight:750; letter-spacing:.015em; white-space:nowrap; }
td { font-size:.88rem; }
tr:last-child td { border-bottom:0; }
tbody tr:hover { background:color-mix(in srgb,var(--accent-soft) 32%,transparent); }
td form { margin:0; }
td .button-link,td button { min-height:34px; padding:.38rem .62rem; font-size:.82rem; }
code { padding:.16rem .3rem; border-radius:5px; background:var(--surface-soft); font:inherit; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.howto-card { margin:18px 0 26px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); }
.howto-card summary { padding:14px 17px; font-size:.95rem; font-weight:700; cursor:pointer; }
.howto-card[open] summary { border-bottom:1px solid var(--border); }
.howto-steps { display:grid; gap:12px; margin:0; padding:17px 17px 4px 37px; }
.howto-steps li { line-height:1.5; }
.howto-steps pre { margin:8px 0 0; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:var(--surface-soft); color:var(--muted-strong); font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.howto-card > p { margin:0; padding:0 17px 17px 37px; font-size:.82rem; }
.progress-bar { height:12px; margin:14px 0 10px; border-radius:999px; background:var(--surface-soft); overflow:hidden; }
.progress-bar__fill { height:100%; min-width:6px; border-radius:999px; background:linear-gradient(90deg,#8da9ff,var(--accent)); transition:width .4s ease; }
.token-reveal { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:18px 0; padding:16px; border:1px solid var(--accent); border-radius:var(--radius); background:var(--accent-soft); }
.token-reveal p { margin:.3rem 0 0; color:var(--muted-strong); font-size:.85rem; }
.token-reveal-value { display:flex; flex:1 1 340px; align-items:center; gap:10px; }
.token-reveal-value code { flex:1 1 auto; padding:.65rem .8rem; border:1px solid var(--border); background:var(--surface); font-size:.95rem; word-break:break-all; }
.token-reveal-value button { flex:0 0 auto; }
.confirmation { max-width:700px; padding:22px; }
.confirmation h1,.confirmation h2 { margin-top:0; }
.confirmation-dialog { width:min(calc(100% - 2rem),520px); padding:0; border:0; background:transparent; }
.confirmation-dialog::backdrop { background:rgb(10 18 33 / .58); backdrop-filter:blur(2px); }
.dialog-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; margin-top:22px; }
.pagination { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:13px; color:var(--muted); font-size:.85rem; }
.pagination .button-link { min-height:35px; padding:.4rem .65rem; }
.log-level { display:inline-flex; align-items:center; min-height:23px; padding:0 .5rem; border-radius:999px; background:var(--surface-soft); color:var(--muted-strong); font-size:.72rem; font-weight:750; }
.log-level--warning { background:color-mix(in srgb,#e9a23b 18%,var(--surface)); color:#98610b; }
.log-level--error,.log-level--critical { background:color-mix(in srgb,var(--danger) 15%,var(--surface)); color:var(--danger); }
.technical-log-table td { vertical-align:top; }
.technical-log-table code { display:block; max-width:540px; white-space:pre-wrap; overflow-wrap:anywhere; }
.technical-log-table td:last-child { min-width:8.5rem; }
.technical-log-details summary { cursor:pointer; color:var(--accent); font-weight:650; }
.technical-log-details pre { box-sizing:border-box; width:min(540px,58vw); max-height:260px; overflow:auto; margin:8px 0 0; padding:10px; border:1px solid var(--border); border-radius:8px; background:var(--surface-soft); color:var(--muted-strong); font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.action-grid,.split-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.split-grid { align-items:start; }
.action-grid .admin-form { margin:0; }
.management-card__heading { grid-column:1 / -1; }
.management-card__heading h3 { margin:0; font-size:.96rem; }
.management-card__heading p { margin:.35rem 0 0; color:var(--muted); font-size:.82rem; }
.management-card--grant .form-action { margin-bottom:23px; }
.user-history-card { overflow:hidden; }
.user-history-card h3 { margin:0; padding:15px 16px 12px; border-bottom:1px solid var(--border); font-size:.92rem; }
.history-list { display:grid; margin:0; padding:0; list-style:none; }
.history-list li { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:13px 16px; }
.history-list li + li { border-top:1px solid var(--border); }
.history-list time { color:var(--muted); font-size:.78rem; white-space:nowrap; }
.history-list--feedback li { align-items:start; }
.history-list--feedback strong { margin:0; font-size:.85rem; letter-spacing:0; }
.history-list--feedback small { margin-top:4px; overflow-wrap:anywhere; }
.feedback-status { display:inline-flex!important; width:fit-content; min-height:22px; align-items:center; padding:0 .48rem; border-radius:999px; font-size:.72rem!important; font-weight:750; }
.feedback-status--new { color:var(--accent-strong); background:var(--accent-soft); }
.feedback-status--viewed { color:var(--muted-strong); background:var(--surface-soft); }
.feedback-status--needs_response { color:#8a5700; background:#fff0c9; }
.feedback-status--closed { color:var(--success); background:color-mix(in srgb,var(--success) 13%,var(--surface)); }
.operational-state { display:inline-flex; align-items:center; min-height:24px; padding:0 .55rem; border-radius:999px; font-size:.74rem; font-weight:750; }
.operational-state--available { color:var(--success); background:color-mix(in srgb,var(--success) 13%,var(--surface)); }
.operational-state--unavailable { color:#fff; background:var(--danger); }
.operations-pricing-card { padding:18px; }
.operations-pricing-card h2 { margin:0 0 12px; font-size:1.02rem; }
.operations-definition-list { display:grid; gap:0; margin:0; }
.operations-definition-list div { display:flex; justify-content:space-between; gap:16px; padding:9px 0; border-top:1px solid var(--border); }
.operations-definition-list dt { color:var(--muted); }
.operations-definition-list dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.empty-history { margin:0; padding:16px; color:var(--muted); }
.feedback-filter { grid-template-columns:minmax(210px,360px) auto; }
.feedback-filter .form-action { width:auto; min-width:132px; }
.feedback-list { display:grid; gap:16px; }
.feedback-card { overflow:hidden; }
.feedback-card__header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 18px; border-bottom:1px solid var(--border); background:var(--surface-soft); }
.feedback-author { display:flex; min-width:0; align-items:center; gap:10px; }
.feedback-author strong,.feedback-author small { display:block; }
.feedback-author strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.feedback-author small { margin-top:2px; color:var(--muted); font-size:.76rem; }
.feedback-avatar { display:grid!important; flex:0 0 auto; width:34px; height:34px; place-items:center; border-radius:10px; background:var(--accent-soft); color:var(--accent-strong)!important; font-size:.8rem!important; font-weight:800!important; }
.feedback-card__meta { display:flex; flex:0 0 auto; align-items:center; gap:10px; }
.feedback-card__header time { color:var(--muted); font-size:.78rem; white-space:nowrap; }
.feedback-card__body { padding:16px 18px 18px; }
.feedback-text { margin:0 0 14px; padding:12px 14px; border:1px solid var(--border); border-radius:10px; background:color-mix(in srgb,var(--surface-soft) 62%,transparent); white-space:pre-wrap; overflow-wrap:anywhere; }
.feedback-reply-form { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; padding:14px; border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border)); border-radius:11px; background:color-mix(in srgb,var(--accent-soft) 34%,var(--surface)); }
.feedback-reply-form label { grid-column:1 / -1; color:var(--muted-strong); font-size:.78rem; font-weight:700; }
.feedback-reply-form textarea { display:block; min-height:82px; margin-top:5px; }
.feedback-reply-form small { display:block; margin-top:5px; color:var(--muted); font-size:.72rem; font-weight:400; }
.feedback-reply-form .form-action { grid-column:2; width:auto; min-width:166px; }
.feedback-sent-reply { margin:0; padding:14px; border:1px solid color-mix(in srgb,var(--success) 34%,var(--border)); border-radius:11px; background:color-mix(in srgb,var(--success) 8%,var(--surface)); }
.feedback-sent-reply span { display:block; color:var(--success); font-size:.78rem; font-weight:750; }
.feedback-sent-reply p { margin:7px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.feedback-settings { margin-top:12px; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
.feedback-settings summary { padding:11px 13px; color:var(--muted-strong); font-size:.82rem; font-weight:700; cursor:pointer; }
.feedback-settings[open] summary { border-bottom:1px solid var(--border); }
.feedback-settings__form { display:grid; grid-template-columns:minmax(190px,360px); align-items:start; gap:12px; padding:15px; }
.feedback-settings__form label { color:var(--muted-strong); font-size:.78rem; font-weight:650; }
.feedback-settings__form select,.feedback-settings__form textarea { display:block; margin-top:5px; }
.feedback-settings__form label:has(textarea) { grid-column:1 / -1; }
.feedback-settings__form textarea { min-height:72px; }
.feedback-settings__form button { grid-column:1 / -1; justify-self:end; width:auto; margin-top:2px; }
.administrator-owner { display:flex; align-items:center; gap:13px; padding:15px 17px; }
.administrator-avatar { display:block; flex:0 0 auto; width:42px; height:42px; border-radius:13px; object-fit:cover; background:var(--accent-soft); }
.administrator-owner strong,.administrator-card strong,.administrator-owner small,.administrator-card small { display:block; }
.administrator-owner small,.administrator-card small { margin-top:3px; color:var(--muted); font-size:.76rem; }
.administrator-list { display:grid; gap:9px; }
.administrator-card { padding:12px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.administrator-card__row { display:flex; align-items:center; gap:13px; }
.administrator-card__identity { min-width:0; }
.administrator-card__identity strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.administrator-card__meta { display:grid; gap:2px; margin-left:auto; text-align:right; }
.administrator-card__remove { margin-left:7px; }

/* Права администратора (task-061) — отдельная полоса под основной строкой
   карточки, а не элемент общего .admin-form (тот заточен под фильтры/поля
   ввода: align-items:end и input{display:block} ломали чекбоксы). */
.administrator-card__permissions { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-top:12px; padding-top:12px; border-top:1px solid var(--border); }
.permission-chips { display:flex; flex-wrap:wrap; gap:8px; }
.permission-chip { display:inline-flex; align-items:center; gap:7px; padding:6px 13px 6px 10px; border:1px solid var(--border); border-radius:999px; background:var(--surface-soft); color:var(--muted-strong); font-size:.8rem; font-weight:650; line-height:1.3; cursor:pointer; transition:border-color .15s ease,background .15s ease,color .15s ease; }
.permission-chip:hover { border-color:var(--accent); }
.permission-chip input { width:15px; height:15px; margin:0; accent-color:var(--accent); }
.permission-chip:has(input:checked) { border-color:var(--accent); background:var(--accent-soft); color:var(--accent-strong); }
.administrator-card__permissions .form-action { flex:0 0 auto; width:auto; min-height:36px; margin-left:auto; padding:.5rem .9rem; font-size:.82rem; }
.login-page { display:grid; min-height:100vh; place-items:center; padding:20px; background:radial-gradient(circle at 15% 20%,#e2eaff 0,transparent 31%),var(--page); }
.login-card { width:min(100%,390px); padding:28px; box-shadow:var(--shadow); }
.login-card h1 { margin-top:0; letter-spacing:-.035em; }
.login-card button { width:100%; margin-top:8px; }
.navigation-scrim { display:none; min-height:0; padding:0; color:transparent; }
@media (max-width:900px) { .app-shell { display:block; } .sidebar { position:fixed; z-index:30; width:270px; transform:translateX(-105%); transition:transform .2s ease; box-shadow:var(--shadow); } .navigation-is-open .sidebar { transform:translateX(0); } .navigation-scrim { position:fixed; z-index:25; inset:0; border:0; background:rgb(7 12 24 / .44); opacity:0; pointer-events:none; transition:opacity .2s ease; } .navigation-is-open .navigation-scrim { display:block; opacity:1; pointer-events:auto; } .icon-button { display:grid; place-items:center; } main { padding-top:26px; } }
@media (min-width:701px) and (max-width:1080px) { .split-grid { grid-template-columns:1fr; } }
@media (max-width:700px) { .topbar { min-height:62px; gap:10px; padding:9px 16px; } .topbar-title small,.account-summary,.account-chevron { display:none; } .account-menu summary { padding:3px; } .account-menu__panel { right:-5px; width:min(258px,calc(100vw - 32px)); } main { padding:24px 16px 36px; } .dashboard-heading { flex-direction:column; gap:14px; } .dashboard-heading .button-link { width:100%; } .period-filter { align-items:stretch; } .period-filter > * { width:100%; } .period-buttons { display:grid; grid-template-columns:repeat(3,1fr); padding:3px; } .period-date-range { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-left:0; } .period-date-range .period-apply { grid-column:1 / -1; } .period-filter label { display:block; } .chart-grid,.action-grid,.split-grid { grid-template-columns:1fr; } .metrics,.metrics-primary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .metrics article { min-height:112px; padding:14px; } article strong { font-size:1.32rem; } .filters,.admin-form,.feedback-filter,.feedback-settings__form { grid-template-columns:1fr; gap:11px; } .feedback-filter .form-action,.feedback-reply-form .form-action,.feedback-settings__form button { grid-column:auto; width:100%; } .feedback-reply-form { grid-template-columns:1fr; } .feedback-card__header { align-items:flex-start; padding:14px; } .feedback-card__meta { align-items:flex-end; flex-direction:column; gap:5px; } .feedback-card__header time { font-size:.72rem; } .feedback-card__body { padding:14px; } .admin-form--promo .form-action { margin-top:0; } .management-card--grant .form-action { margin-bottom:0; } .feedback-list article,.chart-card { padding:14px; } }
@media (max-width:420px) { .metrics,.metrics-primary { grid-template-columns:1fr; } .dashboard-heading h1 { font-size:1.55rem; } }
@media (max-width:700px) { .feedback-card { padding:0!important; } }
@media (max-width:700px) { .administrator-card__row { align-items:flex-start; flex-wrap:wrap; } .administrator-card__meta { margin-left:0; text-align:left; } .administrator-card__remove { width:100%; margin-left:0; } .administrator-card__remove button { width:100%; } .administrator-card__permissions .form-action { width:100%; margin-left:0; } }
