.admin-body{padding:0;background:#f4f4f5}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#171717;color:#fff;padding:28px 18px;display:flex;flex-direction:column;z-index:30}.admin-brand{color:#fff;text-decoration:none}.admin-sidebar small{color:#888;margin:8px 0 35px 44px}.admin-sidebar nav{display:grid;gap:5px}.admin-sidebar nav button{border:0;background:none;color:#aaa;text-align:left;padding:13px 15px;border-radius:12px;cursor:pointer;font-weight:700}.admin-sidebar nav button.active,.admin-sidebar nav button:hover{background:#2b2b2b;color:#fff}.store-link{margin-top:auto;color:#aaa;text-decoration:none;padding:12px}.admin-main{margin-left:245px;max-width:1400px;padding:35px}.admin-mobile-head{display:none}.admin-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:26px}.admin-title h1{margin:0;font-size:30px;letter-spacing:-1px}.admin-title p{margin:5px 0 0;color:#777}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.stat-card span{color:#777;font-size:13px}.stat-card strong{display:block;font-size:28px;margin-top:10px}.panel{background:#fff;border:1px solid var(--line);border-radius:19px;overflow:hidden;margin-top:20px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#888;background:#fafafa}.data-table td{font-size:14px}.table-actions{display:flex;gap:8px;flex-wrap:wrap}.small-btn{min-height:38px;border:1px solid #e3e3e6;border-radius:11px;background:#f1f1f3;color:#252525;padding:9px 13px;cursor:pointer;font-weight:800;font-size:12px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center}.small-btn:hover{background:#e8e8eb}.small-btn.primary-compact{color:#fff;background:var(--red);border-color:var(--red)}.small-btn.danger-action,.small-btn.red{color:var(--red);background:#fff;border-color:#ffc5c8}.small-btn.danger-action:hover,.small-btn.red:hover{background:#fff2f3}.small-btn.green{color:#fff;background:var(--red);border-color:var(--red)}.admin-form{padding:25px;display:grid;gap:16px}.admin-form label{display:grid;gap:7px;font-size:13px;font-weight:700}.admin-form input,.admin-form textarea,.admin-form select,.settings-form input,.settings-form textarea{width:100%;border:1px solid #ddd;border-radius:12px;padding:12px;outline:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-row{display:flex;gap:20px;flex-wrap:wrap}.check-row label{display:flex;align-items:center}.check-row input{width:auto}.hint{font-size:13px;color:#777;line-height:1.5}.category-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.category-admin{background:#fff;border:1px solid var(--line);border-radius:19px;overflow:hidden}.category-admin img{width:100%;aspect-ratio:2.55/1;object-fit:cover}.category-admin-fields{padding:15px;display:grid;grid-template-columns:1fr 90px;gap:9px}.category-admin-fields input{border:1px solid #ddd;border-radius:10px;padding:10px}.category-admin-actions{padding:0 15px 15px;display:flex;gap:8px}.settings-form{background:#fff;border-radius:19px;border:1px solid var(--line);padding:22px;max-width:700px;display:grid;gap:17px}.settings-form label{display:grid;gap:7px;font-weight:700;font-size:13px}.badge{font-size:11px;padding:5px 8px;border-radius:99px;background:#eee}.badge.available,.badge.approved,.badge.fulfilled{background:#e5f8ec;color:var(--green)}.badge.pending,.badge.awaiting_admin{background:#fff0d9;color:#946000}.badge.rejected{background:#ffe4e5;color:var(--red)}
@media(max-width:900px){.admin-sidebar{display:none}.admin-mobile-head{display:flex;position:sticky;top:0;z-index:20;height:60px;padding:10px 15px;align-items:center;justify-content:space-between;background:#171717;color:#fff}.admin-mobile-head select{background:#2d2d2d;color:#fff;border:0;border-radius:10px;padding:9px}.admin-main{margin:0;padding:20px 12px}.stats-grid{grid-template-columns:1fr 1fr}.category-admin-grid{grid-template-columns:1fr}}
.badge.awaiting_stock,.badge.paid,.badge.waiting_payment{background:#fff0d9;color:#946000}.badge.cancelled,.badge.payment_failed{background:#ffe4e5;color:var(--red)}
.stats-grid.six{grid-template-columns:repeat(6,1fr)}.stat-card.attention{border-color:#ffc8ca;background:#fff8f8}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.padded{padding:20px}.padded h3{margin:0 0 15px}.summary-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.summary-row:last-child{border:0}.summary-row small{display:block;color:#888;margin-top:4px}.row-button{border:0;background:none;text-align:left;cursor:pointer}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}.toolbar input,.toolbar select{background:#fff;border:1px solid #ddd;border-radius:12px;padding:11px 13px;min-width:190px}.old-price{text-decoration:line-through;color:#999}.danger-text{color:var(--red)}.wide-sheet{width:min(760px,calc(100vw - 24px));max-width:760px}.stack{display:grid;gap:12px}.inventory-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.inventory-card{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);background:#fff;border-radius:16px;padding:17px;text-align:left;cursor:pointer}.inventory-card span{display:grid;gap:5px}.inventory-card small{color:#888}.inventory-card strong{font-size:25px}.inventory-list{display:grid;gap:9px;max-height:45vh;overflow:auto}.inventory-item{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:13px;padding:12px}.inventory-item pre{white-space:pre-wrap;word-break:break-word;margin:8px 0;font-family:inherit}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-grid>div{display:grid;gap:5px;background:#f7f7f8;border-radius:12px;padding:12px}.detail-grid small{color:#888}.review-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.review-admin-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px}.review-admin-card p{line-height:1.5}.review-admin-card blockquote{margin:12px 0;padding:10px 12px;border-left:3px solid var(--red);background:#fff5f5}.toggle{display:flex!important;align-items:center;gap:7px}.toggle input{width:auto!important}.category-admin-fields label{display:grid;gap:5px;font-size:12px;font-weight:700}.category-admin-actions{align-items:center;flex-wrap:wrap}.small-btn{text-decoration:none;display:inline-flex;align-items:center}
@media(max-width:900px){.stats-grid.six{grid-template-columns:1fr 1fr}.dashboard-columns{grid-template-columns:1fr}.inventory-cards{grid-template-columns:1fr 1fr}.review-admin-grid{grid-template-columns:1fr}}
@media(max-width:520px){.admin-title{align-items:flex-start}.admin-title h1{font-size:25px}.inventory-cards{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.stats-grid.six{grid-template-columns:1fr 1fr}.stat-card strong{font-size:20px}.wide-sheet{width:100%;max-width:none}}

/* Visible checkbox states for the admin UI (global styles disable native appearance). */
.check-row{gap:10px}
.check-row label{gap:9px;padding:10px 12px;border:1px solid #e1e1e3;border-radius:12px;background:#fafafa;cursor:pointer;user-select:none}
.check-row input[type="checkbox"],.toggle input[type="checkbox"]{width:22px!important;height:22px;min-width:22px;padding:0;border:2px solid #cfcfd3;border-radius:7px;background:#fff;display:grid;place-content:center;cursor:pointer;-webkit-appearance:none;appearance:none}
.check-row input[type="checkbox"]::after,.toggle input[type="checkbox"]::after{content:"✓";color:#fff;font-size:15px;font-weight:900;line-height:1;transform:scale(0);transition:transform .12s ease}
.check-row input[type="checkbox"]:checked,.toggle input[type="checkbox"]:checked{border-color:var(--red);background:var(--red)}
.check-row input[type="checkbox"]:checked::after,.toggle input[type="checkbox"]:checked::after{transform:scale(1)}
.check-row input[type="checkbox"]:focus-visible,.toggle input[type="checkbox"]:focus-visible{outline:3px solid rgba(235,0,14,.2);outline-offset:2px}
.category-admin-fields{grid-template-columns:1fr 120px}

/* Native controls are the most reliable option inside Telegram WebView. */
.check-row input[type="checkbox"],.toggle input[type="checkbox"]{display:inline-block!important;width:20px!important;height:20px!important;min-width:20px!important;padding:0!important;border:initial!important;border-radius:initial!important;background:initial!important;-webkit-appearance:auto!important;appearance:auto!important;accent-color:var(--red)}
.check-row input[type="checkbox"]::after,.toggle input[type="checkbox"]::after{content:none!important}

/* Responsive admin layout for resizable Telegram Mini App windows. */
.admin-body{width:100%;max-width:100%;min-width:0;overflow-x:hidden}
.admin-sidebar{width:clamp(205px,19vw,245px)}
.admin-main{width:calc(100% - clamp(205px,19vw,245px));max-width:none;min-width:0;margin-left:clamp(205px,19vw,245px);padding:clamp(20px,3vw,35px)}
.admin-main>*,.admin-title>div,.panel,.category-admin,.category-admin-fields>*{min-width:0}
.admin-title{flex-wrap:wrap}
.admin-title h1,.admin-title p{overflow-wrap:anywhere}
.stats-grid,.stats-grid.six{grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr))}
.stat-card{min-width:0;padding:clamp(14px,2vw,20px)}
.stat-card strong{font-size:clamp(20px,2.5vw,28px);overflow-wrap:anywhere}
.category-admin-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));align-items:start}
.category-admin{container:category-card / inline-size}
.category-admin img{display:block;height:auto;aspect-ratio:1200/520;object-fit:cover}
.category-admin-fields{grid-template-columns:minmax(0,1fr) minmax(120px,.42fr)}
.category-admin-fields label,.category-admin-fields input{width:100%;min-width:0}
.category-admin-actions{min-width:0;flex-wrap:wrap}
.category-admin-actions>*{max-width:100%}
.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-form,.admin-form label,.admin-form input,.admin-form textarea,.admin-form select,.settings-form,.settings-form input,.settings-form textarea{min-width:0;max-width:100%}
.admin-form input,.admin-form textarea,.admin-form select,.settings-form input,.settings-form textarea{font-size:16px}
.check-row label{min-width:0;max-width:100%;overflow-wrap:anywhere}
.toolbar>*{flex:1 1 190px;min-width:0!important;max-width:100%}
.table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.data-table{max-width:none}
.dashboard-columns{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}
.inventory-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.review-admin-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.summary-row,.inventory-card,.inventory-item{min-width:0;overflow-wrap:anywhere}
.summary-row>*{min-width:0}
.wide-sheet{width:min(760px,calc(100vw - 20px));max-width:calc(100vw - 20px)}

@container category-card (max-width:390px){
  .category-admin-fields{grid-template-columns:1fr}
  .category-admin-actions .small-btn{flex:1 1 auto;justify-content:center}
}

@media(max-width:1100px){
  .admin-sidebar{display:none}
  .admin-mobile-head{display:flex;position:sticky;top:0;z-index:20;min-height:60px;height:auto;padding:10px 15px;gap:12px;align-items:center;justify-content:space-between;background:#171717;color:#fff}
  .admin-mobile-head b{min-width:0;overflow-wrap:anywhere}
  .admin-mobile-head select{min-width:0;max-width:58%;background:#2d2d2d;color:#fff;border:0;border-radius:10px;padding:9px}
  .admin-main{width:100%;margin:0;padding:clamp(14px,3vw,26px)}
}
@media(max-width:620px){
  .category-admin-fields{grid-template-columns:1fr}
  .form-row,.detail-grid{grid-template-columns:1fr}
  .check-row{display:grid;grid-template-columns:1fr}
  .check-row label{width:100%}
  .admin-title{align-items:stretch}
  .admin-title>.primary{width:100%}
  .category-admin-actions{display:grid;grid-template-columns:1fr 1fr}
  .category-admin-actions .toggle{grid-column:1/-1}
  .category-admin-actions .small-btn{justify-content:center;text-align:center}
  .inventory-item,.summary-row{align-items:flex-start;flex-wrap:wrap}
  .wide-sheet,.sheet{width:100%;max-width:100%;margin:0 0 0 0;border-radius:22px 22px 0 0;max-height:94dvh}
  .admin-form{padding:clamp(14px,4vw,20px)}
}
@media(max-width:370px){
  .admin-mobile-head{align-items:stretch;flex-direction:column}
  .admin-mobile-head select{max-width:none;width:100%}
  .stats-grid,.stats-grid.six{grid-template-columns:1fr}
  .category-admin-actions{grid-template-columns:1fr}
  .category-admin-actions .toggle{grid-column:auto}
}

.admin-mobile-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;flex:1}
.mobile-store-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 11px;border-radius:10px;background:var(--red);color:#fff;text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap}
.support-admin-list{display:grid;gap:12px}
.support-admin-card{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff;text-align:left;cursor:pointer;color:inherit}
.support-admin-card:hover{border-color:#ffc7ca;box-shadow:0 8px 24px rgba(35,20,20,.07)}
.support-card-main{min-width:0;display:block}
.support-card-main small{display:block;color:#777;margin-top:5px}
.support-card-main p{margin:10px 0 0;color:#555;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.support-card-side{flex:0 0 auto;display:grid;justify-items:end;gap:7px;color:#888}
.support-admin-unread{padding:5px 8px;border-radius:99px;background:var(--red);color:#fff;font-size:11px;font-weight:900}
.support-chat{display:flex;flex-direction:column;gap:10px;max-height:42vh;overflow:auto;padding:5px 2px}
.support-message{align-self:flex-start;max-width:min(88%,560px);padding:11px 13px;border-radius:15px 15px 15px 4px;background:#f0f0f2}
.support-message.admin{align-self:flex-end;border-radius:15px 15px 4px 15px;background:#fff0f1;border:1px solid #ffd7d9}
.support-message small{color:#888;font-size:11px}
.support-message p{margin:5px 0 0;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.closed-note{padding:13px;border-radius:12px;background:#f0f0f2;color:#666}
.admin-modal-open{overflow:hidden}
.admin-form input:not([type="checkbox"]),.admin-form textarea,.admin-form select,.settings-form input,.settings-form textarea,.toolbar input,.toolbar select{pointer-events:auto;user-select:text;-webkit-user-select:text;touch-action:manipulation}
.dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:2px}
.dialog-actions .action-button{width:100%;min-height:50px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:12px 18px;font-size:14px;font-weight:800;box-shadow:none}
.dialog-actions a.action-button{text-decoration:none}
.dialog-actions .danger-outline{color:var(--red);background:#fff;border:1px solid #ffc5c8}
.dialog-actions .danger-outline:hover{background:#fff2f3}
.dialog-action-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:10px}
.dialog-action-list .small-btn{width:100%;min-height:46px}
button:disabled{cursor:wait;opacity:.6}

@media(max-width:1100px){
  .admin-mobile-head select{max-width:none;flex:1}
}
@media(max-width:540px){
  .admin-mobile-head{align-items:stretch;flex-direction:column}
  .admin-mobile-actions{width:100%;justify-content:stretch}
  .admin-mobile-actions select{width:100%;min-width:0}
  .support-admin-card{gap:10px;padding:14px;flex-direction:column}
  .support-card-side{width:100%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}
  .support-message{max-width:94%}
  .dialog-actions{grid-template-columns:1fr 1fr}
}

/* Mobile admin is card-based; actions never remain outside the viewport. */
.admin-body{
  min-height:100dvh;
  padding-bottom:0;
}
.admin-main{
  padding-bottom:calc(28px + env(safe-area-inset-bottom));
}
.admin-mobile-head{
  padding-top:max(10px,env(safe-area-inset-top));
}
.admin-title>.primary{
  flex:0 0 auto;
}
.toolbar button{
  min-height:44px;
}
.settings-form{
  width:min(100%,760px);
}
.admin-form textarea,.settings-form textarea{
  resize:vertical;
}
.dialog-head{
  position:sticky;
  top:0;
  z-index:4;
  gap:12px;
  background:#fff;
}
.dialog-head>div{
  min-width:0;
}
.dialog-head h2,.dialog-head p{
  overflow-wrap:anywhere;
}
.dialog-head>[data-close]{
  flex:0 0 40px;
  width:40px;
  height:40px;
}
.sheet{
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

@media(max-width:820px){
  .admin-main{padding-inline:clamp(10px,3.5vw,18px)}
  .toolbar{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
  }
  .toolbar>*{
    width:100%;
    min-height:46px;
  }
  .panel.table-wrap{
    overflow:visible;
    border:0;
    background:transparent;
  }
  .data-table,
  .data-table tbody{
    display:block;
    width:100%;
    min-width:0;
  }
  .data-table thead{display:none}
  .data-table tbody{
    display:grid;
    gap:12px;
  }
  .data-table tr{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    min-width:0;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:17px;
    background:#fff;
    box-shadow:0 5px 18px rgba(25,20,20,.05);
  }
  .data-table td{
    display:flex;
    min-width:0;
    padding:12px 14px;
    border:0;
    border-bottom:1px solid #f0f0f2;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:5px;
    overflow-wrap:anywhere;
  }
  .data-table td::before{
    content:attr(data-label);
    color:#8b8b91;
    font-size:10px;
    font-weight:800;
    letter-spacing:.06em;
    line-height:1.2;
    text-transform:uppercase;
  }
  .data-table td[data-primary],
  .data-table td[data-actions]{
    grid-column:1/-1;
  }
  .data-table td[data-primary]{
    background:#fafafa;
    font-size:15px;
  }
  .data-table td[data-actions]{
    padding:12px;
    border-bottom:0;
  }
  .data-table td[data-actions]::before{content:none}
  .data-table .table-actions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;
    gap:8px;
  }
  .data-table .table-actions .small-btn,
  .data-table td[data-actions]>.small-btn{
    width:100%;
    min-height:44px;
  }
  .data-table .empty-row{
    display:block;
    padding:0;
  }
  .data-table .empty-row td{
    display:block;
    padding:22px;
    text-align:center;
  }
  .data-table .empty-row td::before{content:none}
  .inventory-item{
    flex-direction:column;
  }
  .inventory-item .small-btn{
    width:100%;
    min-height:44px;
  }
  .admin-title{margin-bottom:20px}
  .settings-form{padding:clamp(15px,4vw,22px)}
  .sheet,.wide-sheet{
    width:100%;
    max-width:100%;
    max-height:calc(100dvh - env(safe-area-inset-top));
    margin:auto 0 0;
    border-radius:24px 24px 0 0;
  }
  .admin-form{
    padding-bottom:calc(20px + env(safe-area-inset-bottom));
  }
  .admin-form>.primary,
  .stack>.primary{
    width:100%;
    min-height:50px;
  }
  .dialog-actions,
  .dialog-action-list{
    grid-template-columns:1fr;
  }
}

@media(max-width:540px){
  .admin-mobile-head b{font-size:15px}
  .admin-mobile-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
  }
  .mobile-store-link{min-height:44px}
  .category-admin-actions{
    grid-template-columns:1fr;
  }
  .category-admin-actions .toggle{grid-column:auto}
}

@media(max-width:360px){
  .admin-main{padding-inline:9px}
  .data-table tr{grid-template-columns:1fr}
  .data-table td,
  .data-table td[data-primary],
  .data-table td[data-actions]{grid-column:1}
  .data-table .table-actions{grid-template-columns:1fr}
  .admin-mobile-actions{grid-template-columns:1fr}
  .mobile-store-link{width:100%}
  .stats-grid,.stats-grid.six{grid-template-columns:1fr}
  .dialog-actions{grid-template-columns:1fr}
}

@media(min-width:1101px){
  .admin-main{max-width:1600px}
  .data-table td[data-actions]{white-space:nowrap}
}

@media(orientation:landscape) and (max-height:520px){
  .sheet,.wide-sheet{max-height:96dvh}
  .admin-form{padding-top:14px}
}
