/* Shared visual system for every page; layout remains page-specific. */
body{--radius-card:24px;--radius-control:14px;--surface-soft:var(--hover-bg);--line:var(--border-color);--text-secondary:var(--muted-text);--admin-bg:var(--bg-color);--admin-card:var(--card-bg);--admin-border:var(--border-color);--admin-text:var(--text-color);--admin-muted:var(--muted-text);color:var(--text-color);color-scheme:light}
body[data-theme=dark]{color-scheme:dark}
.brand-mark{display:block;width:156px;height:40px;color:var(--text-color);flex-shrink:0}
.mobile-header .brand-mark{width:94px;height:24px}
body .sidebar .nav-item[type=submit]{width:100%;background:transparent;border:0;text-align:left;cursor:pointer}
body :is(.admin-container,.ach-container,.legit-container,.favorites-container,.review-container,.policy-container){width:100%;min-width:0;max-width:1400px;margin-inline:auto}
body :is(.auth-card,.registration-card,.password-card,.review-card){border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card-bg);color:var(--text-color);box-shadow:none;max-width:100%}
body :is(.admin-header,.ach-header,.legit-header,.page-header){margin-bottom:26px;gap:16px;flex-wrap:wrap}
body :is(.admin-header,.ach-header,.legit-header,.page-header,.auth-card,.registration-card,.password-card,.review-card,.policy-container) h1{font-size:clamp(25px,3vw,38px);font-weight:800;line-height:1.12;letter-spacing:-1.2px;overflow-wrap:anywhere}
body :is(.admin-header,.ach-header,.legit-header) h1 i{color:var(--text-color)!important}
body :is(.admin-section,.admin-section-card,.stat-card,.ach-card,.check-card,.create-section,.product-preview-card,.tips-box,.seller-card,.history-item,.legit-container .card,.policy-section){background:var(--card-bg);color:var(--text-color);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:none;min-width:0}
body .policy-section{padding:24px;margin-bottom:16px}
body .policy-section h2{font-size:20px;font-weight:800;letter-spacing:-.5px}
body :is(.stat-icon,.section-card-icon,.activity-icon,.legit-header .icon){background:var(--surface-soft)!important;color:var(--text-color)!important;border-radius:16px}
body :is(.form-input,.form-select,.form-textarea,.search-box input,.create-form input:not([type=checkbox]):not([type=radio]):not([type=file])){color:var(--text-color);background:var(--input-bg);border:1px solid var(--line);border-radius:var(--radius-control);font-family:inherit;min-height:46px;padding:12px 15px;max-width:100%;box-sizing:border-box}
body textarea.form-textarea{min-height:130px;resize:vertical}
body :is(.form-label,.form-group>label){font-size:12px;font-weight:700;letter-spacing:.1px}
body :is(.btn-primary,.btn-submit,.quick-action-btn){background:var(--accent-color);color:var(--accent-text);border:1px solid var(--accent-color);border-radius:50px;font-size:13px;font-weight:700;padding:12px 20px;min-height:44px;cursor:pointer}
body :is(.action-btn,.modal-btn,.verdict-btn,.filter-tab){border:1px solid var(--line);background:var(--card-bg);color:var(--text-color);border-radius:50px;min-height:36px;padding:8px 14px;font:600 12px/1.3 Arial,sans-serif;cursor:pointer}
body :is(.filter-tab.active,.verdict-btn:focus-visible){background:var(--accent-color);color:var(--accent-text);border-color:var(--accent-color)}
body :is(.admin-toolbar,.filter-tabs,.section-actions,.profile-actions,.verdict-buttons,.product-actions){gap:8px;flex-wrap:wrap}
body .search-box{min-width:0;max-width:100%}
body .filter-tabs{display:flex}
body :is(.admin-table,.logs-table){width:100%;border-collapse:collapse;background:var(--card-bg);font-size:13px}
body :is(.admin-table,.logs-table) th{background:var(--surface-soft);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted-text);text-align:left;padding:16px}
body :is(.admin-table,.logs-table) td{padding:16px;border-bottom:1px solid var(--line)}
body :is(.admin-table,.logs-table) tr:hover td{background:var(--surface-soft)}
body :is(.logs-table-container,.table-scroll){overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:20px}
body .table-scroll :is(.admin-table,.logs-table){min-width:650px}
body :is(.modal-content,.search-dropdown){background:var(--card-bg);color:var(--text-color);border:1px solid var(--line);border-radius:var(--radius-card)}
body :is(.single-upload-area,.photo-upload-box){border-radius:16px;background:var(--surface-soft);border-color:var(--line)}
body :is(.product-price,.preview-price,.detail-price){font-weight:800;letter-spacing:-.8px}
body :is(.product-card,.product-preview-card) :is(.product-name,.preview-name){font-weight:700}
body .tag{border-radius:50px;background:var(--surface-soft);border:1px solid var(--line);color:var(--text-color)}
body .auth-link{color:var(--text-color);text-decoration:underline;text-underline-offset:4px}
body .empty-state{padding:40px 24px}
@media(max-width:1024px){
 body :is(.admin-container,.ach-container,.legit-container,.favorites-container,.review-container,.policy-container){padding:0}
 body :is(.admin-header,.ach-header,.legit-header){align-items:flex-start}
 body :is(.admin-toolbar,.section-header){flex-wrap:wrap}
 body :is(.form-input,.form-select,.form-textarea,.search-box input){font-size:16px}
 body :is(.admin-section,.create-section,.review-card,.policy-section){padding:20px}
 body :is(.stats-grid,.admin-sections-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
 body :is(.archive-layout,.edit-layout){grid-template-columns:minmax(0,1fr)}
 body .admin-header h1{font-size:28px}
 body .product-actions{display:flex}
}
@media(max-width:480px){body .ach-grid{grid-template-columns:minmax(0,1fr)}body .stat-card{padding:16px}body .stat-card h3{font-size:26px}body .create-form{grid-template-columns:minmax(0,1fr)}body .search-box{width:100%}}
body{--admin-card-bg:var(--card-bg);--admin-card-border:var(--border-color);--admin-text-muted:var(--muted-text);--admin-accent:var(--accent-color);--admin-accent-text:var(--accent-text);--admin-accent-hover:var(--hover-bg)}
body :is(.registration-card,.password-card){max-width:min(480px,100%);padding:32px}
body .review-card{max-width:680px;margin-inline:auto}
body .review-moderation{max-width:1000px;margin:0 auto}
body .review-moderation h1{font-size:clamp(25px,3vw,38px);font-weight:800;letter-spacing:-1.2px;margin:20px 0 12px}
body .moderation-review{padding:24px;margin:16px 0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card-bg)}
body .moderation-review p{margin:12px 0;line-height:1.6}
body :is(.archive-users,.archive-panel){border-radius:var(--radius-card)}
body .archive-table th{background:var(--surface-soft);font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted-text)}
@media(max-width:480px){body :is(.registration-card,.password-card){padding:24px}body .moderation-review{padding:20px}}
body .section-card-info{min-width:0;overflow-wrap:anywhere}
body .profile-info{min-width:0;max-width:100%;overflow-wrap:anywhere}
body :is(.badges-container,.stats-bar){flex-wrap:wrap}
body .mobile-nav-item{min-width:0}
@media(max-width:600px){body .admin-sections-grid{grid-template-columns:minmax(0,1fr)}body .admin-section-card{padding:20px}body .profile-header .profile-info{width:100%}body .profile-header h1{font-size:26px;overflow-wrap:anywhere}}

/* viewport-fit=cover: keep controls below the iOS/Android status bar. The
   inset is zero in ordinary browser windows, so no device-specific gap. */
@media(max-width:1024px){
 body .mobile-header{
  box-sizing:border-box;
  padding-top:calc(17px + env(safe-area-inset-top,0px));
  padding-left:calc(20px + env(safe-area-inset-left,0px));
  padding-right:calc(20px + env(safe-area-inset-right,0px));
  flex-shrink:0;
 }
 body .mobile-header>div{gap:8px!important}
 body .mobile-header :is(.mobile-theme-trigger,.mobile-search-trigger,button[aria-label="Выйти"]){
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;min-width:44px;padding:0;font-size:20px;
 }
}

/* Long feedback must fit its page on narrow screens and match dark mode. */
body .main-content,body .container{min-width:0}
body .site-notice{box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.6}
body[data-theme=dark] .site-notice{background:#291c20!important;color:#ffc1cb!important;border-color:#56313a!important}
@media(max-width:700px){body .site-notice{padding:12px 14px!important;font-size:13px!important;margin-bottom:20px!important}}

.ui-symbol{display:inline-block;vertical-align:-.125em;flex-shrink:0}.ui-spark{vertical-align:middle}
