:root{
      --bg:#ffffff;
      --muted:#6b7280;
      --accent:#5b8def; /* мягкий голубой */
      --accent-2:#e53e3e;
      --surface:#f7f9fc;
      --glass: rgba(255,255,255,0.6);
      --radius:12px;
      --max-width:1100px;
      font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
      color-scheme: light;
    }
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:#111}
a{color:inherit;text-decoration:none}

/* --- Header / nav --- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;backdrop-filter: blur(6px);background:linear-gradient(to right, rgba(255,255,255,0.6), rgba(255,255,255,0.4));border-bottom:1px solid rgba(16,24,40,0.04)}
.container{max-width:var(--max-width);margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:18px}
.logo-img{max-height: 25px;}
.logo{font-weight:600;font-size:20px;letter-spacing:0.4px;color:var(--accent);margin-left: -10px;}
.logo-footer{margin-left: 0;}
.nav{margin-left:auto;display:flex;align-items:center;gap:12px}
.nav a{padding:8px 10px;border-radius:8px;font-weight:500;}
.nav a:hover{background:var(--surface);color:#111}
.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:12px;background:var(--accent);color:white;font-weight:600}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid rgba(91,141,239,0.12)}
.menu-item{
  position: relative;
}

.badge-top {
  position: absolute;
  top: -4px;   /* немного выше текста */
  right: -5px; /* чуть правее */
  background: #e53e3e;
  color: white;
  font-size: 11px;
  font-weight: lighter;
  border-radius: 500px;
  padding: 2px 4px;
  line-height: 1;
  min-width: 2px;
  text-align: center;
}
/* Burger */
.burger{display:none;width:44px;height:44px;border-radius:10px;align-items:center;justify-content:center}
.burger button{all:unset;cursor:pointer}

/* --- Sections (full screen) --- */
main{margin-top:72px}
section.hero{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:40px 20px;background:linear-gradient(135deg,var(--surface), #ffffff)}
.hero-inner{max-width:980px;margin:0 auto;text-align:center}
h1{font-size:38px;margin:0 0 12px;font-weight:700}
p.lead{color:var(--muted);font-size:18px;margin:0 0 22px}

.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Info blocks */
.blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.card{background:white;border-radius:14px;padding:18px;box-shadow:0 6px 18px rgba(15,23,42,0.06);min-height:120px}
.card h3{margin:0 0 8px}
.card p{margin:0;color:var(--muted)}

/* Pricing */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.price-card{padding:20px;border-radius:14px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 8px 30px rgba(12,20,42,0.04);}
.price{font-size:28px;font-weight:700}

/* Points */
.add-point{margin-top: 20px;}

/* Image input */
.form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-group label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 0.8125rem;
}

/* Прячем системный input */
.file-upload input[type="file"] {
  position: absolute;
  left: -9999px;
  visibility: hidden;
}

/* Кнопка выбора файла */
.file-upload{margin-top: 15px;}
.file-upload label {
  display: inline;
  cursor: pointer;
}

/* Можно добавить небольшой отступ */
.preview {margin-top: 10px;max-width:25%;border-radius:12px;box-shadow:0 2px 6px rgba(0,0,0,0.1)}


/* Profile */
.container-profile {
  display: block;
}

.page {
  display: inline;
  padding: 20px;
}

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.actions {
  display: flex;
  gap: 10px;
}

.profile-photo {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.avatar {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #ddd;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.profile-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.info-item {
  background: #fff;
  padding: 12px 16px;
  border-radius: 10px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.info-item .label {
  font-size: 14px;
  color: #666;
  margin-bottom: 4px;
}

.info-item .value {
  font-size: 16px;
  font-weight: 600;
  color: #222;
}
.form-row {
  display: flex;
  gap: 20px; /* расстояние между ИНН и КПП */
}

.form-row .form-group {
  flex: 1; /* чтобы оба поля были одинаковой ширины */
}
/* /Profile */

/* Footer */
footer{padding:40px 20px;background:#fcfdff;border-top:1px solid rgba(16,24,40,0.04)}

/* --- Responsive --- */
@media (max-width:900px){
  .blocks{grid-template-columns:repeat(2,1fr)}
  .pricing{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .container{padding:10px 14px}
  .nav{display:none}
  .burger{display:flex;margin-left:auto}
  .blocks{grid-template-columns:1fr}
  .pricing{grid-template-columns:1fr}
  h1{font-size:28px}
  .logo{font-size:18px}
}

/* --- Internal pages (hash routing) --- */
/*.page{display:block;padding:90px 20px}*/
.page.active{display:block}
.form-card{max-width:520px;margin:30px auto;background:white;padding:22px;border-radius:14px;box-shadow:0 12px 30px rgba(12,20,42,0.06)}
.field{margin-bottom:12px}
.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.field input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(15,23,42,0.06);font-size:15px}
.muted{font-size:13px;color:var(--muted)}


/* Objects list */
.objects {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.object-card {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  padding: 12px;
  border-radius: 10px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.object-photo {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
}

.object-info {
  flex: 1;
}

.object-title {
  font-weight: 700;
  font-size: 16px;
  margin-bottom: 4px;
}

.object-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.badge {
  background: var(--accent-2);
  color: #fff;
  font-size: 10px;
  font-weight: 100;
  padding: 1px 4px;
  border-radius: 500px;
  min-width: 24px;
  text-align: center;
}

/* /Objects list */


/* Appeals list */
.appeals {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.appeal-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  padding: 12px;
  border-radius: 10px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.appeal-main {
  flex: 1;
}

.appeal-title {
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 4px;
}

.appeal-meta {
  margin-bottom: 4px;
}

.appeal-rating {
  font-size: 14px;
  color: #444;
}

.appeal-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.badge.new {
  background: #e53e3e;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 8px;
  border-radius: 20px;
}

.pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
}

.page-link {
  padding: 6px 12px;
  border-radius: 6px;
  text-decoration: none;
  color: var(--accent);
  font-weight: 400;
  border: 1px solid var(--accent);
}

.page-link.active,
.page-link:hover {
  background: var(--accent);
  color: #fff;
}

.page-link.no-link {
  color: #2b6cb0;
  background: #fff;
}

.archive-link {
  margin-top: 20px;
  text-align: center;
}
.appeal-text {
  margin-top: 6px;
  font-size: 14px;
  color: #333;
  line-height: 1.4;
}

.appeal-photo {
  margin-top: 10px;
  max-width: 150px;
  border-radius: 8px;
  display: block;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}
/* /Appeals list*/


/* Appeal details*/
.appeal-detail-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
}

/* Карточка обращения */
.appeal-detail-card {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.appeal-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.appeal-detail-header h3 {
  margin: 0;
  font-size: 18px;
}

.appeal-detail-rating {
  color: #f6b93b;
  font-weight: 600;
}

.appeal-detail-meta {
  font-size: 14px;
  color: #666;
  margin-bottom: 12px;
}

.appeal-detail-text {
  font-size: 15px;
  line-height: 1.5;
  margin-bottom: 12px;
}

.appeal-detail-photo-wrap {
  margin-top: 10px;
}

.appeal-detail-photo {
  max-width: 250px;
  border-radius: 10px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
  display: block;
}

/* Форма обновления */
.appeal-detail-update {
  background: #fff;
  border-radius: 12px;
  padding: 16px 20px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.appeal-detail-inline {
  display: flex;
  align-items: center;
  gap: 10px;
}

.appeal-detail-status {
  max-width: 200px;
}

.appeal-detail-group label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
  font-size: 14px;
}

.appeal-detail-control {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
}

.appeal-detail-actions {
  display: flex;
  gap: 10px;
  margin-top: 8px;
}

.appeal-detail-btn {
  padding: 8px 16px;
  border-radius: 8px;
  background: #2b6cb0;
  color: #fff;
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  transition: background 0.2s;
}

.appeal-detail-btn:hover {
  background: #234e82;
}

.appeal-detail-btn.ghost {
  background: transparent;
  border: 1px solid var(--accent);
  color: var(--accent);
}

.appeal-detail-btn.ghost:hover {
  background: #f5f5f5;
}
/* Appeal details*/


/* small helpers */
.muted-sm{color:var(--muted);font-size:13px}
.error{color: var(--accent-2);}
.warning{color: var(--accent-2);}

/* Animations */
.reveal{opacity:0;transform:translateY(8px);transition:all 480ms cubic-bezier(.2,.9,.2,1)}
.reveal.visible{opacity:1;transform:none}

/* Analitics */
.appeals-analytics-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px;
}

.appeals-analytics-card {
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  overflow-x: auto;
}

.appeals-analytics-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.appeals-analytics-table th,
.appeals-analytics-table td {
  padding: 10px 14px;
  text-align: left;
  border-bottom: 1px solid #eee;
}

.appeals-analytics-table thead th {
  background: #f9f9f9;
  font-weight: 600;
  font-size: 13px;
  color: #444;
}

.appeals-analytics-table tbody tr:nth-child(even) {
  background: #fafafa;
}

.appeals-analytics-table tbody tr:hover {
  background: #f0f6ff;
}

/* Onboarding */
.onboarding-hint {
  background: #e6f7ff;
  border: 1px solid #91d5ff;
  padding: 12px;
  border-radius: 8px;
  margin: 15px 0;
  font-size: 15px;
  max-width: 80%;
}
.onboarding-hint a {
  color: #1890ff;
  font-weight: bold;
}

/* Analytics */
.analytics-title {
  margin-top: auto;
  margin-bottom: auto;
  padding-left: 10px;
  font-weight: normal;
}

/* Marketplaces colors */
.mp-wb {
  color: #c900c9;
}
.mp-ozon {
  color: #002cc9;
}
.mp-yandex {
  color: #ebc800;
}

/* Add reacty */
.add-r-head-text{
  font-weight: 100;
}
.add-r-main{
  margin-top: 58px;
}
.add-r-photo{
  max-width: 100px;
  border-radius: 10px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
  display: block;
}
.add-r-pr{
  margin-top: 15px;
}

/* Support & other tools*/
.sup-mail-link{
  text-decoration: underline;
  color: #002cc9;
}