:root{--bg:#080808;--sidebar:#101010;--panel:#141414;--panel-2:#1a1a1a;--lime:#d6e44a;--text:#f3f3ed;--muted:#85857f;--danger:#ff6b6b;--radius:28px;--font:Inter,Arial,sans-serif}*{box-sizing:border-box}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}body{margin:0;min-width:0;background:var(--bg);color:var(--text);font-family:var(--font);overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{color:inherit}button{border:0}a{text-decoration:none}.admin-shell{display:grid;min-height:100vh;grid-template-columns:246px minmax(0,1fr);gap:14px;padding:14px}.sidebar{position:sticky;top:14px;display:flex;height:calc(100vh - 28px);flex-direction:column;overflow:hidden;padding:22px 14px 14px;border-radius:30px;background:var(--sidebar)}.brand{display:flex;align-items:center;gap:11px;padding:2px 9px 24px}.brand img{width:34px;height:34px}.brand-name{font-weight:600;letter-spacing:-.04em}.brand-badge{margin-left:5px;padding:3px 8px;border-radius:99px;background:var(--lime);color:#111;font-size:11px;letter-spacing:0}.sidebar-label{padding:14px 12px 9px;color:#5f5f5a;font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.side-nav{display:grid;gap:5px}.nav-link{display:flex;min-width:0;align-items:center;gap:12px;padding:13px 14px;border-radius:17px;color:#898983;font-size:13px;font-weight:500;transition:.2s ease}.nav-link iconify-icon{font-size:20px}.nav-link:hover{background:#191919;color:var(--text)}.nav-link.active{background:var(--lime);color:#111}.sidebar-bottom{display:grid;gap:6px;margin-top:auto}.admin-mini{display:flex;align-items:center;gap:10px;padding:9px;border-radius:18px;background:#181818}.avatar{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--lime);color:#111;font-size:12px;font-weight:600}.admin-mini strong,.admin-mini span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-mini strong{font-size:12px}.admin-mini span{margin-top:3px;color:#73736d;font-size:9px}.main{min-width:0;padding:5px 2px 28px}.topbar{position:sticky;z-index:20;top:14px;display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:18px;padding:10px 12px 10px 22px;border-radius:25px;background:rgba(17,17,17,.9);backdrop-filter:blur(22px)}.mobile-menu-button{display:none;width:44px;height:44px;place-items:center;border-radius:50%;background:#1d1d1d;cursor:pointer}.mobile-menu-button iconify-icon{font-size:22px}.topbar-title{min-width:0}.topbar-title span{display:block;margin-bottom:3px;color:var(--lime);font-size:9px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.topbar-title strong{display:block;overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:7px}.icon-button{display:grid;width:45px;height:45px;place-items:center;border-radius:50%;background:#1a1a1a;color:#85857f;cursor:pointer;transition:.2s}.icon-button:hover{color:var(--lime)}.icon-button iconify-icon{font-size:20px}.page{padding:32px 10px 0}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin:0 5px 23px}.eyebrow{display:block;margin-bottom:9px;color:var(--lime);font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.page-heading h1{margin:0;font-size:clamp(28px,3vw,43px);line-height:1;letter-spacing:-.055em;text-transform:uppercase}.page-heading p{max-width:390px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}.toolbar{display:flex;align-items:center;gap:8px}.button{display:inline-flex;min-height:45px;align-items:center;justify-content:center;gap:10px;padding:0 17px;border-radius:99px;background:var(--lime);color:#111;font-size:12px;font-weight:500;cursor:pointer}.button.dark{background:#1b1b1b;color:var(--text)}.button.danger{background:rgba(255,107,107,.12);color:var(--danger)}.button iconify-icon{font-size:18px}.dropdown{position:relative}.dropdown-trigger{display:flex;min-width:148px;height:46px;align-items:center;justify-content:space-between;gap:14px;padding:0 14px 0 17px;border-radius:99px;background:#1a1a1a;color:var(--text);font-size:12px;font-weight:500;cursor:pointer}.dropdown-trigger iconify-icon{color:var(--lime);transition:transform .25s}.dropdown.open .dropdown-trigger iconify-icon{transform:rotate(180deg)}.dropdown-menu{position:absolute;z-index:30;top:calc(100% + 8px);right:0;display:grid;width:100%;min-width:170px;gap:3px;padding:6px;border-radius:19px;background:#202020;box-shadow:0 18px 40px #0008;opacity:0;visibility:hidden;transform:translateY(-7px);transition:.2s}.dropdown.open .dropdown-menu{opacity:1;visibility:visible;transform:none}.dropdown-menu button{padding:11px 13px;border-radius:13px;background:transparent;color:#a1a19b;text-align:left;font-size:11px;cursor:pointer}.dropdown-menu button:hover,.dropdown-menu button.active{background:var(--lime);color:#111}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.stat-card{position:relative;min-width:0;min-height:170px;overflow:hidden;padding:20px;border-radius:var(--radius);background:var(--panel)}.stat-card.accent{background:var(--lime);color:#111}.stat-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;background:#202020;color:var(--lime)}.accent .stat-icon{background:#111;color:var(--lime)}.stat-card>span{display:block;margin-top:25px;color:#85857f;font-size:11px}.accent>span{color:#1119}.stat-card strong{display:block;margin-top:7px;overflow:hidden;font-size:clamp(22px,2vw,31px);letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap}.delta{position:absolute;top:20px;right:18px;padding:7px 9px;border-radius:99px;background:#202020;color:var(--lime);font-size:9px;font-weight:600}.accent .delta{background:#111}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(255px,.75fr);gap:10px;margin-top:10px}.card{min-width:0;padding:22px;border-radius:var(--radius);background:var(--panel)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}.card h2{margin:0;font-size:17px;letter-spacing:-.03em}.card-subtitle{display:block;margin-top:5px;color:var(--muted);font-size:10px}.chart-legend{display:flex;flex-wrap:wrap;gap:12px;color:#777771;font-size:9px}.chart-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:7px;height:7px;border-radius:50%;background:var(--lime)}.legend-dot.gray{background:#666}.chart-wrap{position:relative;height:285px;min-width:0}.chart-wrap canvas{display:block;width:100%;height:100%}.product-list{display:grid;gap:9px}.product-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px;border-radius:18px;background:#1b1b1b}.product-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:#242424;color:var(--lime)}.product-row strong,.product-row span{display:block}.product-row strong{font-size:11px}.product-row span{margin-top:4px;color:#6f6f69;font-size:9px}.product-row>b{font-size:11px}.mini-progress{height:5px;margin-top:7px;overflow:hidden;border-radius:99px;background:#292929}.mini-progress i{display:block;height:100%;border-radius:inherit;background:var(--lime)}.search{display:flex;min-width:230px;height:46px;align-items:center;gap:9px;padding:0 15px;border-radius:99px;background:#1a1a1a;color:#75756f}.search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:11px}.table-card{overflow:hidden;padding:8px;border-radius:var(--radius);background:var(--panel)}.data-table{width:100%;border-collapse:separate;border-spacing:0 6px}.data-table th{padding:11px 13px;color:#5e5e59;font-size:9px;letter-spacing:.09em;text-align:left;text-transform:uppercase}.data-table td{padding:13px;background:#1a1a1a;color:#aaa9a4;font-size:10px}.data-table td:first-child{border-radius:17px 0 0 17px}.data-table td:last-child{border-radius:0 17px 17px 0}.user-cell{display:flex;min-width:165px;align-items:center;gap:10px}.user-cell .avatar{width:34px;height:34px}.user-cell strong,.user-cell span{display:block}.user-cell strong{color:var(--text);font-size:11px}.user-cell span{margin-top:3px;color:#666660;font-size:9px}.pill{display:inline-flex;padding:7px 9px;border-radius:99px;background:rgba(214,228,74,.1);color:var(--lime);font-size:9px;font-weight:500}.pill.blocked{background:rgba(255,107,107,.1);color:var(--danger)}.table-action{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:#242424;color:var(--lime)}.pagination{display:flex;justify-content:center;gap:5px;padding:14px}.pagination button{width:34px;height:34px;border-radius:50%;background:#1c1c1c;color:#777;cursor:pointer}.pagination button.active{background:var(--lime);color:#111}.profile-grid{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.55fr);gap:10px}.user-summary{text-align:center}.large-avatar{display:grid;width:86px;height:86px;margin:5px auto 16px;place-items:center;border-radius:50%;background:var(--lime);color:#111;font-size:25px;font-weight:600}.user-summary h2{font-size:22px}.user-summary p{color:var(--muted);font-size:11px}.summary-id{display:block;margin:18px 0;padding:15px;border-radius:17px;background:#1b1b1b;color:var(--lime);font-size:11px}.detail-list{display:grid;gap:6px}.detail{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:15px;background:#1a1a1a;font-size:10px}.detail span{color:#777771}.detail strong{text-align:right}.action-stack{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:16px}.purchase-list{display:grid;gap:7px}.purchase{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border-radius:18px;background:#1a1a1a}.purchase strong,.purchase span{display:block}.purchase strong{font-size:11px}.purchase span{margin-top:4px;color:#6d6d67;font-size:9px}.purchase-meta{text-align:right}.purchase-meta b{display:block;font-size:10px}.purchase-meta .pill{margin-top:5px}.section-gap{margin-top:10px}.products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.product-card{display:flex;min-height:285px;flex-direction:column;padding:21px;border-radius:var(--radius);background:var(--panel)}.product-card .product-icon{width:48px;height:48px}.product-card h2{margin:25px 0 5px;font-size:20px}.product-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.product-numbers{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:19px}.product-number{padding:12px;border-radius:15px;background:#1b1b1b}.product-number span,.product-number strong{display:block}.product-number span{color:#70706b;font-size:8px;text-transform:uppercase}.product-number strong{margin-top:6px;font-size:15px}.product-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:17px}.switch{position:relative;width:44px;height:25px;border-radius:99px;background:#292929;cursor:pointer;transition:.2s}.switch:after{content:"";position:absolute;top:4px;left:4px;width:17px;height:17px;border-radius:50%;background:#777;transition:.2s}.switch.on{background:var(--lime)}.switch.on:after{left:23px;background:#111}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-card{padding:24px;border-radius:var(--radius);background:var(--panel)}.settings-card.wide{grid-column:1/-1}.settings-card h2{margin:0 0 5px;font-size:17px}.settings-card>p{margin:0 0 20px;color:var(--muted);font-size:10px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{padding-left:4px;color:#777771;font-size:9px}.field input,.field textarea,.field select{width:100%;border:0;outline:0;padding:14px 15px;border-radius:16px;background:#1b1b1b;color:var(--text);font-size:11px}.field textarea{min-height:100px;resize:vertical}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px;border-radius:17px;background:#1a1a1a}.setting-row+.setting-row{margin-top:7px}.setting-row strong,.setting-row span{display:block}.setting-row strong{font-size:11px}.setting-row span{margin-top:4px;color:#70706a;font-size:9px}.save-bar{display:flex;justify-content:flex-end;margin-top:10px}.toast{position:fixed;z-index:100;right:24px;bottom:24px;display:flex;align-items:center;gap:9px;padding:13px 17px;border-radius:16px;background:var(--lime);color:#111;font-size:11px;font-weight:500;opacity:0;pointer-events:none;transform:translateY(15px);transition:.25s}.toast.show{opacity:1;transform:none}.overlay{display:none}
@media(max-width:1100px){.admin-shell{grid-template-columns:210px minmax(0,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.products-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.product-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.admin-shell{display:block;padding:8px}.sidebar{position:fixed;z-index:60;top:8px;bottom:8px;left:8px;width:min(82vw,290px);height:auto;transform:translateX(calc(-100% - 18px));transition:transform .32s cubic-bezier(.2,.8,.2,1)}body.menu-open .sidebar{transform:none}.overlay{position:fixed;z-index:50;inset:0;display:block;background:#0009;opacity:0;visibility:hidden;transition:.25s}body.menu-open .overlay{opacity:1;visibility:visible}.main{padding:0}.topbar{top:8px;min-height:62px;padding:8px;border-radius:22px}.mobile-menu-button{display:grid}.topbar-title{margin-right:auto}.top-actions .icon-button:first-child{display:none}.page{padding:25px 4px 20px}.page-heading{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:18px}.page-heading p{font-size:11px}.page-heading h1{font-size:27px}.toolbar{width:100%;flex-wrap:wrap}.search{min-width:0;flex:1}.dropdown{flex:1}.dropdown-trigger{width:100%}.stats-grid{grid-template-columns:1fr 1fr;gap:7px}.stat-card{min-height:145px;padding:15px;border-radius:22px}.stat-card>span{margin-top:20px}.stat-card strong{font-size:21px}.delta{top:15px;right:14px}.card{padding:17px;border-radius:23px}.dashboard-grid{gap:7px;margin-top:7px}.chart-wrap{height:235px}.product-list{grid-template-columns:1fr}.table-card{padding:0;background:transparent;overflow:visible}.data-table,.data-table tbody{display:block}.data-table thead{display:none}.data-table tr{display:grid;margin-bottom:7px;padding:15px;border-radius:22px;background:var(--panel)}.data-table td{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 2px;background:transparent;border-radius:0!important}.data-table td:before{content:attr(data-label);color:#62625d;font-size:8px;letter-spacing:.08em;text-transform:uppercase}.data-table td:first-child{padding-top:0}.data-table td:first-child:before{display:none}.data-table td:last-child{padding-bottom:0}.user-cell{width:100%;min-width:0}.profile-grid,.settings-grid{grid-template-columns:1fr}.settings-card.wide{grid-column:auto}.products-grid{grid-template-columns:1fr}.product-card{min-height:255px}.action-stack{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.purchase{grid-template-columns:38px minmax(0,1fr)}.purchase-meta{grid-column:2;text-align:left}.toast{right:12px;bottom:12px;left:12px;justify-content:center}.topbar-title span{display:none}}
@media(max-width:390px){.stats-grid{grid-template-columns:1fr}.stat-card{min-height:135px}.page-heading h1{font-size:24px}.topbar-title strong{font-size:13px}}

/* GLOBAL OVERRIDES */
.page-heading h1 { font-size: 26px !important; }
.card h2, .product-card h2, .settings-card h2, .user-summary h2 { font-size: 20px !important; }
.stat-card > span { font-size: 15px !important; }
.stat-card strong { font-size: clamp(26px, 2vw, 36px) !important; }
.data-table th, .data-table td, .product-row strong, .product-row span, .product-row > b { font-size: 14px !important; }
.data-table td:before { font-size: 11px !important; }
.user-cell strong, .setting-row strong, .purchase strong, .detail strong { font-size: 15px !important; }
.user-cell span, .setting-row span, .purchase span, .detail span, .field label, .product-card p, .settings-card > p { font-size: 13px !important; }
.sidebar-label { font-size: 13px !important; }
.nav-link { font-size: 15px !important; }
.button, .dropdown-trigger, .search input, .field input, .field textarea, .field select { font-size: 14px !important; }
.pill, .delta, .purchase-meta b { font-size: 13px !important; }

/* Admin Mini Block in Header */
.admin-mini { padding: 6px 10px !important; gap: 8px !important; border-radius: 14px !important; }
.admin-mini .avatar { width: 30px !important; height: 30px !important; font-size: 11px !important; }
.admin-mini strong { font-size: 12px !important; }
.admin-mini span { font-size: 10px !important; margin-top: 1px !important; }

/* Fix Icons in blocks (stat-card, product-row) */
.stat-icon, .product-icon { 
  display: flex !important; 
  align-items: center !important; 
  justify-content: center !important; 
}
.stat-icon iconify-icon, .product-icon iconify-icon { 
  font-size: 24px !important; 
  display: block !important; 
}


/* Выпадающие меню без обводки и лишней тени. */
.dropdown-menu { box-shadow: none !important; border: 0; }

/* Make buttons and pills text thinner */
.button, .pill { font-weight: 600 !important; }

/* Stat Card Size Reductions */
.stat-card { min-height: 110px !important; padding: 15px !important; }
.stat-card > span { margin-top: 15px !important; }
.delta { top: 15px !important; right: 15px !important; }
@media(max-width:760px) {
  .stat-card { min-height: 95px !important; padding: 12px !important; }
  .stat-card > span { margin-top: 10px !important; }
  .delta { top: 12px !important; right: 12px !important; }
}
@media(max-width:390px) {
  .stat-card { min-height: 90px !important; }
}

/* --- Модальные окна и формы --- */
.modal{position:fixed;z-index:120;inset:0;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(4,4,4,.72);backdrop-filter:blur(6px)}
.modal.open{display:flex}
.modal-card{width:100%;max-width:520px;max-height:88vh;overflow:auto;padding:26px;border-radius:28px;background:var(--panel)}
.modal-card.wide{max-width:760px}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}
.modal-head h2{margin:0 0 5px;font-size:19px;letter-spacing:-.03em}
.modal-head p{margin:0;color:var(--muted);font-size:12px}
.modal-close{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:50%;background:#1f1f1f;color:var(--text);cursor:pointer}
.modal-actions{display:flex;gap:8px;margin-top:18px}
.modal-actions .button{flex:1}
.chip-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:99px;background:#1b1b1b;color:#9a9a94;font-size:12px;cursor:pointer;transition:.2s}
.chip.on{background:rgba(214,228,74,.14);color:var(--lime)}
.chip iconify-icon{font-size:15px}
.table-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}
.tab-links{display:flex;flex-wrap:wrap;gap:6px}
.tab-link{padding:11px 15px;border-radius:99px;background:#1a1a1a;color:#8a8a84;font-size:13px;cursor:pointer}
.tab-link.active{background:var(--lime);color:#111}
.key-preview{display:block;max-width:340px;overflow:hidden;color:#9c9c96;font-family:ui-monospace,Menlo,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.row-actions{display:flex;gap:6px;justify-content:flex-end}
.table-action.danger{background:rgba(255,107,107,.12);color:var(--danger)}
.empty-row{padding:26px;color:var(--muted);font-size:13px;text-align:center}
.status-dot{display:inline-flex;align-items:center;gap:7px}
.status-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--lime)}
.status-dot.off::before{background:#666}
.status-dot.red::before{background:var(--danger)}
.toast[data-error]{background:var(--danger);color:#fff}
.pagination a{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#1c1c1c;color:#777;font-size:12px}
.pagination a.active{background:var(--lime);color:#111}

/* --- Единый стиль с личным кабинетом и адаптивные таблицы --- */
@font-face {
  font-family: 'Halvar Breitschrift';
  src: local('Halvar Breitschrift'),
       url('../assets/fonts/HalvarBreit-Rg.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Halvar Breitschrift';
  src: local('Halvar Breitschrift Medium'), local('Halvar Breitschrift-Medium'),
       url('../assets/fonts/HalvarBreit-Md.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Halvar Breitschrift';
  src: local('Halvar Breitschrift Bold'), local('Halvar Breitschrift-Bold'),
       url('../assets/fonts/HalvarBreit-Bd.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Halvar Breitschrift';
  src: local('Halvar Breitschrift ExtraBold'), local('Halvar Breitschrift-ExtraBold'),
       url('../assets/fonts/HalvarBreit-XBd.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Halvar Breitschrift';
  src: local('Halvar Breitschrift Black'), local('Halvar Breitschrift-Black'),
       url('../assets/fonts/HalvarBreit-Blk.ttf') format('truetype');
  font-weight: 850;
  font-style: normal;
  font-display: swap;
}

:root {
  --font: "Halvar Breitschrift", Inter, "Segoe UI", Arial, sans-serif;
  --font-display: "Halvar Breitschrift", "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
}
body,
button,
input,
select,
textarea { font-family: var(--font); }
.brand-name,
.topbar-title strong,
.page-heading h1,
.card h2,
.product-card h2,
.settings-card h2,
.user-summary h2,
.modal-head h2 { font-family: var(--font-display); font-weight: 800; }

/* ПК: таблицы получают ровные внутренние поля, строки не прилипают к краям. */
.table-card { padding: 10px 18px 16px; }
.data-table { border-spacing: 0 8px; }
.data-table th { padding: 10px 16px; }
.data-table td { padding: 15px 16px; }
.data-table th:first-child,
.data-table td:first-child { padding-left: 18px; }
.data-table th:last-child,
.data-table td:last-child { padding-right: 18px; }
.key-preview { max-width: min(340px, 100%); }

/* Планшет: широкая таблица превращается в отдельные карточки до появления обрезаний. */
@media (max-width: 980px) {
  .table-card { padding: 0; overflow: visible; background: transparent; }
  .data-table,
  .data-table tbody { display: block; }
  .data-table thead { display: none; }
  .data-table tr {
    display: grid;
    gap: 0;
    margin-bottom: 10px;
    padding: 18px 20px;
    border-radius: 24px;
    background: var(--panel);
  }
  .data-table td {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 10px 0;
    background: transparent;
    border-radius: 0 !important;
  }
  .data-table td:first-child,
  .data-table td:last-child { padding-left: 0; padding-right: 0; }
  .data-table td::before {
    flex: 0 0 104px;
    color: #777771;
    font-size: 10px !important;
    font-weight: 700;
    letter-spacing: .08em;
  }
  .data-table td:first-child { padding-top: 0; }
  .data-table td:last-child { padding-bottom: 0; }
  .data-table td > * { min-width: 0; }
  .data-table .key-preview {
    max-width: min(58vw, 390px);
    text-align: right;
  }
  .row-actions { width: 100%; }
}

/* Телефон: такие же внешние поля, как у карточек личного кабинета. */
@media (max-width: 760px) {
  .admin-shell { padding: 10px; }
  .main { padding: 0; }
  .page { padding: 26px 6px 32px; }
  .page-heading { margin-inline: 3px; }
  .table-toolbar { margin: 0 3px 14px; }
  .data-table tr { margin-bottom: 9px; padding: 17px 18px; border-radius: 22px; }
  .data-table td { gap: 12px; padding: 9px 0; font-size: 12px !important; }
  .data-table td::before { flex-basis: 86px; font-size: 9px !important; }
  .data-table td:first-child .user-cell { padding-right: 0; }
  .data-table .key-preview { max-width: min(54vw, 230px); font-size: 11px; }
  .row-actions { justify-content: flex-end; }
  .table-action { width: 38px; height: 38px; }
}

@media (max-width: 390px) {
  .page { padding-inline: 3px; }
  .data-table tr { padding-inline: 16px; }
  .data-table td::before { flex-basis: 76px; }
  .data-table .key-preview { max-width: 180px; }
}

/* Модалки повторяют движение и кнопку закрытия из чекаута лендинга. */
.modal { animation: modal-overlay-in .24s ease; }
.modal.open.is-closing { display: flex; animation: modal-overlay-out .24s ease forwards; }
.modal-card { animation: modal-card-in .24s cubic-bezier(0, 0, .2, 1); }
.modal.is-closing .modal-card { animation: modal-card-out .24s cubic-bezier(0, 0, .2, 1) forwards; }
@keyframes modal-overlay-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes modal-overlay-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes modal-card-in { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: scale(1); } }
@keyframes modal-card-out { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(.96); } }
.modal-close {
  position: relative;
  width: 38px;
  height: 38px;
  background: #202020;
  color: var(--text);
  transition: background .2s ease;
}
.modal-close:hover { background: #2a2a2a; }
.modal-close iconify-icon { display: none; }
.modal-close::before,
.modal-close::after {
  content: "";
  grid-area: 1 / 1;
  width: 17px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}
.modal-close::before { transform: rotate(45deg); }
.modal-close::after { transform: rotate(-45deg); }
.modal-card { position: relative; }
.modal-close--standalone { position: absolute; top: 20px; right: 20px; }

/* Нативные select используют тот же dropdown, что переключатель периода в статистике. */
.field .select-dropdown { width: 100%; }
.select-native {
  position: absolute;
  width: 1px !important;
  height: 1px;
  margin: -1px;
  padding: 0 !important;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
  opacity: 0;
  pointer-events: none;
}
.select-dropdown .dropdown-trigger {
  width: 100%;
  min-width: 0;
  min-height: 50px;
  height: auto;
  padding: 0 15px;
  border-radius: 16px;
  background: #1b1b1b;
  font-size: 14px !important;
}
.select-dropdown .dropdown-menu {
  right: auto;
  left: 0;
  width: 100%;
  min-width: 100%;
  max-height: 220px;
  overflow-y: auto;
}
.select-dropdown .dropdown-menu button { font-family: var(--font); font-size: 13px; }
.select-dropdown .dropdown-menu button:disabled { cursor: not-allowed; opacity: .45; }

/* ---------------------------------------------------------------------------
   Поведение на сенсорных экранах.

   iOS Safari масштабирует страницу при фокусе на поле, если его шрифт меньше
   16px, — после ввода вернуть масштаб вручную уже нельзя. Поэтому на тач-устройствах
   поля получают ровно 16px. Двойной тап там же увеличивает вёрстку: touch-action
   это отключает, щипковый зум при этом остаётся и доступность не страдает.
   --------------------------------------------------------------------------- */
@media (pointer: coarse) {
  input,
  textarea,
  select { font-size: 16px !important; }
}

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html, body { touch-action: manipulation; }
