:root{
  --serp-primary:#2f943f;
  --serp-primary-rgb:47,148,63;
  --serp-primary-strong:#257832;
  --serp-primary-soft:#eef8ef;
  --serp-success:#30963a;
  --serp-warning:#d9ab4a;
  --serp-danger:#d25555;
  --serp-info:#5a77a8;
  --serp-text:#1f2937;
  --serp-muted:#667085;
  --serp-border:#e7ebe6;
  --serp-border-strong:#d9e1d8;
  --serp-bg:#fcfbf7;
  --serp-card:#ffffff;
  --serp-shadow:0 10px 28px rgba(15, 23, 42, .06);
  --serp-radius:16px;
  --serp-radius-sm:10px;
  --serp-sidebar-width:244px;
  --serp-font:"Geist", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*{box-sizing:border-box}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
}

body.serp-body{
  margin:0;
  min-height:100vh;
  font-family:var(--serp-font);
  font-size:15px;
  color:var(--serp-text);
  background:var(--serp-bg);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body.serp-body--shell{
  overflow:hidden;
}

body.serp-body a{
  color:inherit;
  text-decoration:none;
}

body.serp-body img{
  max-width:100%;
  display:block;
}

.serp-page,
.serp-auth-screen{
  min-height:100vh;
}

.serp-page__inner{
  width:min(1120px, calc(100% - 32px));
  margin:0 auto;
  padding:32px 0 40px;
}

.serp-footer{
  padding:0 16px 28px;
  text-align:center;
  color:var(--serp-muted);
  font-size:12px;
}

.serp-auth-screen{
  display:grid;
  place-items:center;
  padding:32px 16px;
}

.serp-auth-screen__inner{
  width:min(100%, 560px);
}

.serp-app{
  display:flex;
  height:100vh;
  min-height:100vh;
  overflow:hidden;
}

.serp-sidebar{
  position:sticky;
  top:0;
  width:var(--serp-sidebar-width);
  height:100vh;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border-right:1px solid var(--serp-border);
}

.serp-sidebar__brand,
.serp-sidebar__footer{
  padding:20px;
  border-bottom:1px solid var(--serp-border);
}

.serp-sidebar__footer{
  margin-top:auto;
  border-top:1px solid var(--serp-border);
  border-bottom:0;
}

.serp-sidebar__nav,
.serp-mobile-nav__links{
  display:grid;
  gap:4px;
  padding:16px;
}

.serp-sidebar__nav{
  flex:1;
  align-content:start;
  overflow:auto;
}

.serp-logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.serp-logo__mark{
  width:42px;
  height:42px;
  display:block;
  object-fit:contain;
  flex:0 0 42px;
  color:var(--serp-primary);
  stroke:currentColor;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.serp-logo__mark--auth{
  width:92px;
  height:92px;
  flex-basis:92px;
}

.serp-logo__text{
  color:var(--serp-primary);
  font-size:1.15rem;
  font-weight:700;
  letter-spacing:-.02em;
}

.serp-nav-link{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:14px;
  color:rgba(34,43,56,.72);
  font-size:.9rem;
  font-weight:500;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}

.serp-nav-link:hover{
  background:rgba(var(--serp-primary-rgb),.08);
  color:var(--serp-text);
}

.serp-nav-link.is-active{
  background:rgba(var(--serp-primary-rgb),.12);
  color:var(--serp-primary);
}

.serp-nav-link__icon,
.serp-topbar__icon,
.serp-mobile-nav__toggle{
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 20px;
}

.serp-nav-link__icon svg,
.serp-topbar__icon svg,
.serp-mobile-nav__toggle svg,
.serp-search__icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.85;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.serp-app__main{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  height:100vh;
  overflow:hidden;
}

.serp-topbar{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:60px;
  padding:12px 24px;
  background:rgba(252,251,247,.96);
  border-bottom:1px solid var(--serp-border);
  backdrop-filter:blur(10px);
}

.serp-topbar__title{
  display:flex;
  align-items:center;
  gap:14px;
}

.serp-topbar__title h1{
  margin:0;
  font-size:1rem;
  font-weight:600;
}

.serp-topbar__actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.serp-topbar__icon{
  position:relative;
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid var(--serp-border);
  background:#fff;
  color:var(--serp-muted);
}

.serp-topbar__badge{
  position:absolute;
  top:-4px;
  right:-4px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--serp-primary);
  color:#fff;
  font-size:11px;
  font-weight:700;
  border:2px solid var(--serp-bg);
}

.serp-search{
  position:relative;
}

.serp-search input{
  width:240px;
  height:38px;
  padding:0 14px 0 40px;
  border-radius:999px;
  border:1px solid var(--serp-border);
  background:#fff;
  color:var(--serp-text);
  font:inherit;
}

.serp-search__icon{
  position:absolute;
  top:50%;
  left:14px;
  transform:translateY(-50%);
  color:var(--serp-muted);
}

.serp-avatar{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--serp-primary);
  color:#fff;
  font-size:.84rem;
  font-weight:700;
}

.serp-account,
.serp-mobile-nav{
  position:relative;
}

.serp-account summary,
.serp-mobile-nav summary{
  list-style:none;
  cursor:pointer;
}

.serp-account summary::-webkit-details-marker,
.serp-mobile-nav summary::-webkit-details-marker{
  display:none;
}

.serp-account__summary{
  display:flex;
  align-items:center;
}

.serp-account__menu,
.serp-mobile-nav__panel{
  position:absolute;
  right:0;
  margin-top:10px;
  min-width:220px;
  border:1px solid var(--serp-border);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--serp-shadow);
  overflow:hidden;
}

.serp-mobile-nav__panel{
  left:0;
  right:auto;
  width:min(290px, calc(100vw - 32px));
}

.serp-account__info{
  display:grid;
  gap:4px;
  padding:16px 18px;
  border-bottom:1px solid var(--serp-border);
}

.serp-account__info strong{
  font-size:.95rem;
}

.serp-account__info span{
  color:var(--serp-muted);
  font-size:.84rem;
}

.serp-account__menu a{
  display:block;
  padding:12px 18px;
}

.serp-account__menu a:hover{
  background:var(--serp-primary-soft);
}

.serp-mobile-nav{
  display:none;
}

.serp-mobile-nav__toggle{
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid var(--serp-border);
  background:#fff;
  color:var(--serp-muted);
}

.serp-mobile-nav__header{
  padding:18px;
  border-bottom:1px solid var(--serp-border);
}

.serp-app__content{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:24px;
  scrollbar-gutter:stable;
}

.card,
.plan-card,
.pro-card,
.kpi{
  background:var(--serp-card);
  border:1px solid var(--serp-border);
  border-radius:var(--serp-radius);
  box-shadow:var(--serp-shadow);
  padding:24px;
}

.card > :first-child,
.plan-card > :first-child,
.pro-card > :first-child,
.kpi > :first-child{
  margin-top:0;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:10px 16px;
  border-radius:12px;
  border:1px solid transparent;
  background:#fff;
  color:var(--serp-text);
  font:inherit;
  font-weight:600;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.btn:hover{
  box-shadow:0 10px 20px rgba(28, 42, 56, .08);
}

.btn.primary{
  background:var(--serp-primary);
  border-color:var(--serp-primary);
  color:#fff;
}

.btn.primary:hover{
  background:var(--serp-primary-strong);
  border-color:var(--serp-primary-strong);
}

body.serp-body .btn.primary{
  background:var(--serp-primary);
  border-color:var(--serp-primary);
  color:#fff;
}

body.serp-body .btn.primary:hover{
  background:var(--serp-primary-strong);
  border-color:var(--serp-primary-strong);
}

.btn.outline,
.auth-links .btn,
.auth-links.stacked .btn.block{
  border-color:var(--serp-border-strong);
  color:var(--serp-text);
}

.btn.block{
  width:100%;
}

.alert{
  padding:14px 16px;
  border-radius:12px;
  border:1px solid transparent;
  text-align:left;
}

.alert.success{
  background:#edf8f1;
  border-color:#d6eadb;
  color:#275d4b;
}

.alert.danger{
  background:#fff3f1;
  border-color:#f2d2cf;
  color:#8c3731;
}

.auth-wrapper{
  display:grid;
  place-items:center;
  width:100%;
}

.auth-card{
  width:min(100%, 452px);
  padding:28px 26px 24px;
  border:1px solid #e3e7ea;
  border-radius:20px;
  box-shadow:0 6px 18px rgba(28, 42, 56, .08);
}

.auth-title{
  margin:0 0 10px;
  text-align:center;
  font-size:clamp(2rem, 3.4vw, 2.15rem);
  line-height:1.08;
  letter-spacing:-.03em;
}

.auth-card > p{
  text-align:center;
}

.auth-subtitle{
  margin:0 0 20px;
  text-align:center;
  color:var(--serp-muted);
  font-size:14px;
}

.auth-brand{
  display:flex;
  justify-content:center;
  margin-bottom:18px;
}

.auth-brand a{
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.auth-brand .serp-logo__mark{
  width:42px;
  height:42px;
  flex-basis:42px;
}

.auth-brand .serp-logo__text{
  font-size:1.08rem;
  color:var(--serp-primary);
  font-weight:700;
}

.auth-form{
  display:grid;
  gap:16px;
  text-align:left;
}

.auth-form label{
  display:grid;
  gap:8px;
  color:var(--serp-text);
  font-weight:700;
}

.auth-form input,
.auth-form select,
.auth-form textarea,
.filters select,
.filters input{
  width:100%;
  min-height:48px;
  padding:12px 14px;
  border:1px solid #dfe4e8;
  border-radius:13px;
  background:#fff;
  color:var(--serp-text);
  font:inherit;
}

.auth-form input::placeholder,
.auth-form textarea::placeholder{
  color:#9aa3ad;
}

.auth-form input:focus,
.auth-form select:focus,
.auth-form textarea:focus{
  outline:none;
  border-color:#bfd6c8;
  box-shadow:0 0 0 3px rgba(var(--serp-primary-rgb),.10);
}

.auth-form textarea{
  min-height:110px;
  resize:vertical;
}

.auth-form input[type="checkbox"],
.auth-form input[type="radio"],
.serp-calendar-day-pick input,
.serp-check-row input{
  width:16px;
  min-width:16px;
  max-width:16px;
  min-height:16px;
  height:16px;
  padding:0;
  margin:0;
  border-radius:4px;
  accent-color:var(--serp-primary);
  box-shadow:none;
  flex:0 0 16px;
}

.auth-links{
  margin-top:18px;
}

.auth-links.stacked{
  display:grid;
  gap:10px;
}

.home-hero{
  width:min(100%, 1120px);
  margin:0 auto;
  text-align:center;
}

.home-hero h2,
.section-title{
  margin:0 0 10px;
  font-size:clamp(1.9rem, 3vw, 2.55rem);
  line-height:1.12;
  letter-spacing:-.04em;
}

.grid{
  display:grid;
  gap:18px;
}

.center-grid{
  width:min(100%, 1120px);
  margin:0 auto;
}

.plans-grid,
.pro-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
}

.plan-card,
.pro-card,
.kpi{
  display:flex;
  flex-direction:column;
  gap:14px;
  height:100%;
}

.plan-card h3,
.pro-card h4,
.kpi h4{
  margin:0;
}

.plan-card.plan-gratuito,
.plan-card.plan-silver,
.plan-card.plan-estudiantil,
.plan-card.plan-premium{
  border-top-width:1px;
}

.features,
.centered-list,
.comments{
  list-style:none;
  margin:0;
  padding:0;
}

.features li,
.centered-list li{
  margin:0 0 8px;
}

.compare-card{
  background:#fff;
  border:1px solid var(--serp-border);
  border-radius:var(--serp-radius);
  box-shadow:var(--serp-shadow);
  padding:8px;
}

.table-wrapper{
  overflow:auto;
}

table.compare{
  width:100%;
  border-collapse:collapse;
  min-width:640px;
}

table.compare th,
table.compare td{
  padding:14px 12px;
  border-bottom:1px solid var(--serp-border);
  text-align:center;
  vertical-align:middle;
}

table.compare th{
  background:#fafbf8;
  color:var(--serp-text);
  font-weight:700;
}

table.compare td.feat,
table.compare td:first-child{
  text-align:left;
}

table.compare td.yes{
  color:var(--serp-success);
  font-weight:700;
}

table.compare td.no{
  color:#a0a9b5;
}

.filters.card{
  padding:18px;
}

.filters-row{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  justify-content:center;
}

.chip-group{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
}

.chip{
  border:1px solid var(--serp-border-strong);
  background:#fff;
  color:var(--serp-text);
  border-radius:999px;
  padding:8px 14px;
  font:inherit;
  cursor:pointer;
}

.chip.active,
.chip:hover{
  background:var(--serp-primary);
  color:#fff;
  border-color:var(--serp-primary);
}

.comments{
  display:grid;
  gap:14px;
}

.comment{
  background:#fff;
  border:1px solid var(--serp-border);
  border-radius:16px;
  padding:18px;
}

.comment-head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:8px;
  color:var(--serp-muted);
}

.comment-head .dot{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#c5ccd6;
}

.reco-tag,
.badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  font-size:.76rem;
  font-weight:700;
}

.reco-tag.yes,
.badge{
  background:rgba(var(--serp-primary-rgb),.12);
  color:var(--serp-primary);
}

.reco-tag.no{
  background:#fff1f0;
  color:var(--serp-danger);
}

.kpis{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:18px;
  max-width:1120px;
  margin:18px auto 0;
}

.kpi p{
  margin:0;
  color:var(--serp-muted);
}

.form-row{
  display:grid;
  gap:14px;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  width:100%;
}

.slot{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(var(--serp-primary-rgb),.2);
  background:rgba(var(--serp-primary-rgb),.08);
  color:var(--serp-primary);
}

.slot.booked{
  background:#f3f5f8;
  color:#718092;
  border-color:#d6dde5;
}

.bookings{
  width:100%;
}

.meeting-video{
  width:100%;
  max-width:900px;
  aspect-ratio:16/9;
  border:1px solid var(--serp-border);
  border-radius:18px;
  overflow:hidden;
  background:#000;
}

.bars{
  display:grid;
  gap:10px;
}

.bar-row{
  display:grid;
  grid-template-columns:64px 1fr 48px;
  gap:10px;
  align-items:center;
}

.bar{
  height:12px;
  border-radius:999px;
  background:#eef1f4;
  overflow:hidden;
}

.bar-fill{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, var(--serp-primary), #5ba08a);
}

.pie-wrap{
  display:grid;
  justify-items:center;
  gap:10px;
}

.pie{
  --yes:0;
  width:156px;
  height:156px;
  border-radius:50%;
  background:conic-gradient(var(--serp-primary) calc(var(--yes)*1%), #e7ecf0 0);
  box-shadow:inset 0 0 0 12px #fff;
}

.legend{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
  color:var(--serp-muted);
  font-size:.9rem;
}

.yes-box,
.no-box{
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:999px;
  margin-right:6px;
}

.yes-box{background:var(--serp-primary)}
.no-box{background:#e7ecf0}

.stars{
  color:#dfb657;
}

.carousel-fade{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--serp-border);
  box-shadow:var(--serp-shadow);
}

.carousel-fade .fade-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .5s ease;
}

.carousel-fade .fade-slide.active{
  opacity:1;
}

.carousel-fade .fade-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.carousel-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  border:1px solid var(--serp-border);
  background:rgba(255,255,255,.94);
  padding:8px 11px;
  border-radius:999px;
  cursor:pointer;
}

.carousel-dots{
  position:absolute;
  left:0;
  right:0;
  bottom:14px;
  display:flex;
  justify-content:center;
  gap:8px;
}

.carousel-dots .dot{
  width:8px;
  height:8px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.65);
}

.carousel-dots .dot.active{
  background:#fff;
}

.splash{
  min-height:calc(100vh - 32px);
  display:grid;
  grid-template-rows:1fr auto;
  text-align:center;
  width:min(100%, 1100px);
  margin:0 auto;
}

.splash__hero{
  display:grid;
  align-content:center;
  justify-items:center;
  gap:18px;
  padding:28px 0 20px;
}

.splash__title{
  margin:0;
  font-size:clamp(3.25rem, 6vw, 4.2rem);
  line-height:1.04;
  letter-spacing:-.05em;
  color:#1f2937;
}

.splash__lead{
  margin:0;
  max-width:480px;
  color:var(--serp-muted);
  font-size:clamp(1rem, 2vw, 1.05rem);
}

.splash__cta{
  min-width:308px;
  min-height:48px;
  border-radius:12px;
  font-size:1.02rem;
  font-weight:700;
}

.splash__copy{
  margin:8px 0 0;
  max-width:430px;
  color:var(--serp-muted);
  font-size:14px;
  line-height:1.55;
}

.splash__footer{
  width:100%;
  padding:22px 16px 26px;
  border-top:1px solid var(--serp-border);
  color:var(--serp-muted);
  font-size:12px;
}

.splash-logo-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.splash-logo{
  width:68px;
  height:68px;
  border-radius:999px;
}

.serp-auth-logo{
  display:flex;
  justify-content:center;
  margin-bottom:12px;
}

.serp-auth-logo a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.serp-auth-links-row{
  margin-top:24px;
  display:grid;
  gap:16px;
  text-align:center;
  font-size:.93rem;
  color:var(--serp-muted);
}

.serp-auth-links-row a{
  color:var(--serp-primary);
  font-weight:500;
}

.serp-auth-demo{
  margin-top:20px;
  text-align:center;
  color:var(--serp-muted);
  font-size:12px;
}

.serp-auth-note{
  margin:0;
  font-size:12px;
  color:var(--serp-muted);
}

.serp-field-with-icon{
  position:relative;
}

.serp-field-with-icon input{
  padding-left:42px;
}

.serp-field-with-icon__icon{
  position:absolute;
  top:50%;
  left:13px;
  transform:translateY(-50%);
  width:16px;
  height:16px;
  color:var(--serp-muted);
  pointer-events:none;
}

.serp-field-with-icon__icon svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.serp-field-with-action{
  position:relative;
}

.serp-field-with-action input{
  padding-right:44px;
}

.serp-field-with-action button{
  position:absolute;
  top:50%;
  right:8px;
  transform:translateY(-50%);
  min-height:32px;
  padding:0 10px;
  border:0;
  background:transparent;
  color:#8d98a1;
  box-shadow:none;
}

.auth-form .btn.primary{
  min-height:48px;
  border-radius:12px;
  font-size:1rem;
  font-weight:700;
}

.serp-stat-grid{
  display:grid;
  gap:16px;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
}

.serp-stat-card{
  background:#fff;
  border:1px solid var(--serp-border);
  border-radius:14px;
  padding:18px;
}

.serp-stat-card__value{
  font-size:2rem;
  font-weight:700;
}

.serp-muted{
  color:var(--serp-muted);
}

.serp-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.serp-tile-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
}

.serp-tile{
  display:flex;
  flex-direction:column;
  gap:14px;
  background:#fff;
  border:1px solid var(--serp-border);
  border-radius:16px;
  padding:24px;
}

.serp-tile__icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(var(--serp-primary-rgb),.12);
  color:var(--serp-primary);
}

.serp-tile__icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.85;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.serp-notification-card{
  display:flex;
  gap:14px;
  padding:18px;
  border:1px solid var(--serp-border);
  border-radius:14px;
  background:#fff;
}

.serp-notification-card.is-unread{
  border-color:rgba(var(--serp-primary-rgb),.24);
  background:rgba(var(--serp-primary-rgb),.06);
}

.serp-notification-card__icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(var(--serp-primary-rgb),.12);
  color:var(--serp-primary);
  flex:0 0 40px;
}

.serp-notification-card__icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.85;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.serp-content-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
}

.serp-content-grid--catalog{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.serp-content-filters{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  align-items:flex-end;
}

.serp-content-filter{
  display:grid;
  gap:6px;
  min-width:120px;
  color:var(--serp-text);
  font-size:12px;
  font-weight:600;
}

.serp-content-filter select{
  width:100%;
  min-width:160px;
  min-height:36px;
  padding:8px 12px;
  border:1px solid var(--serp-border);
  border-radius:10px;
  background:#fff;
  color:var(--serp-text);
  font:inherit;
  font-size:13px;
}

.serp-content-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:20px;
  border:1px solid var(--serp-border);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--serp-shadow);
}

.serp-content-card--catalog{
  gap:0;
  padding:0;
  overflow:hidden;
}

.serp-content-card--catalog .serp-content-card__frame{
  aspect-ratio:16/10;
  border:0;
  border-radius:0;
}

.serp-content-card__body{
  padding:14px 18px 18px;
}

.serp-content-card__title{
  margin:12px 0 0;
  font-size:1.15rem;
  line-height:1.25;
  letter-spacing:-.02em;
}

.serp-content-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  color:var(--serp-muted);
  font-size:13px;
}

.serp-content-card__frame{
  aspect-ratio:16/10;
  overflow:hidden;
  border-radius:14px;
  border:1px solid var(--serp-border);
  background:#eef1f4;
}

.serp-content-card__frame iframe,
.serp-content-card__frame img,
.serp-content-card__frame video{
  width:100%;
  height:100%;
  border:0;
  object-fit:cover;
}

.serp-summary-box{
  border:1px solid var(--serp-border);
  border-radius:16px;
  background:#fff;
  padding:20px;
}

.serp-section-stack{
  display:grid;
  gap:24px;
  max-width:1120px;
  margin:0 auto;
}

.serp-plan-card__icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#f3f4f6;
  color:#7f8994;
}

.serp-plan-card__icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.serp-plan-card__icon.is-primary{
  background:rgba(var(--serp-primary-rgb),.12);
  color:var(--serp-primary);
}

.serp-plan-card__icon.is-warning{
  background:rgba(212,173,84,.18);
  color:#9d7a1b;
}

.serp-plan-card__price{
  font-size:1.9rem;
  font-weight:700;
  letter-spacing:-.03em;
}

.serp-plan-card{
  position:relative;
  align-items:center;
  text-align:center;
  gap:18px;
  overflow:visible;
}

.serp-plan-card--popular{
  border-color:var(--serp-primary);
}

.serp-plan-card--current{
  border-color:var(--serp-primary);
  box-shadow:0 0 0 1px var(--serp-primary), var(--serp-shadow);
}

.serp-plan-card__badge{
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:0 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
}

.serp-plan-card__badge--current{
  background:#fff;
  border:1px solid rgba(var(--serp-primary-rgb),.22);
  color:var(--serp-primary);
}

.serp-plan-card__badge--popular{
  background:var(--serp-primary);
  color:#fff;
}

.serp-plan-card__badge--aside{
  left:auto;
  right:18px;
  transform:none;
}

.serp-plan-card__copy{
  display:grid;
  gap:6px;
}

.serp-plan-card__copy h3{
  font-size:1.05rem;
  font-weight:700;
  letter-spacing:-.02em;
}

.serp-plan-card__copy p{
  margin:0;
  color:var(--serp-muted);
}

.serp-plan-card__price-wrap{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:4px;
}

.serp-plan-card__period{
  margin-bottom:6px;
  color:var(--serp-muted);
  font-size:.95rem;
}

.serp-plan-feature{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--serp-text);
}

.serp-plan-feature.is-off{
  color:#a3acb7;
}

.serp-plan-feature__mark{
  color:var(--serp-primary);
  font-weight:700;
  flex:0 0 14px;
}

.serp-plan-feature.is-off .serp-plan-feature__mark{
  color:#c2c9d0;
}

.serp-kv-grid{
  display:grid;
  gap:20px;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
}

.serp-kv-grid__item{
  display:grid;
  gap:6px;
}

.serp-kv-grid__label{
  color:var(--serp-muted);
  font-size:14px;
}

.serp-gate-card{
  max-width:360px;
  margin:0 auto;
  text-align:center;
  padding:42px 34px;
}

.serp-gate-card__icon{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  margin:0 auto 18px;
  border-radius:999px;
  background:rgba(212,173,84,.14);
  color:#d39c2f;
}

.serp-gate-card__icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.serp-content-card__cover{
  position:relative;
  display:block;
}

.serp-content-card__badge{
  position:absolute;
  top:12px;
  left:12px;
  z-index:1;
}

.serp-content-card__author{
  margin:4px 0 0;
  color:var(--serp-muted);
  font-size:14px;
}

.serp-check-bullet{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  flex:0 0 18px;
  border-radius:999px;
  background:rgba(var(--serp-primary-rgb),.12);
  color:var(--serp-primary);
  font-size:11px;
  font-weight:700;
}

.serp-review-stars{
  display:flex;
  gap:4px;
  align-items:center;
}

.serp-review-stars button{
  padding:0;
  border:0;
  background:transparent;
  color:#c9cfd6;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
}

.serp-review-stars button.is-active{
  color:#dfb657;
}

.serp-inline-note{
  color:var(--serp-muted);
  font-size:13px;
}

.serp-soft-panel{
  background:rgba(var(--serp-primary-rgb),.04);
  border:1px solid rgba(var(--serp-primary-rgb),.18);
  border-radius:18px;
}

.serp-recording-hero{
  padding:24px;
  overflow:hidden;
}

.serp-recording-hero .serp-table-actions{
  align-items:flex-start;
  gap:18px;
}

.serp-recording-hero h2,
.serp-recording-hero p,
.serp-recording-hero a{
  overflow-wrap:anywhere;
}

.serp-recording-hero .serp-inline-note{
  margin-top:14px;
  line-height:1.55;
}

.serp-list-card{
  display:grid;
  gap:18px;
}

.serp-list-card__row{
  display:flex;
  gap:14px;
  align-items:flex-start;
}

.serp-avatar-soft{
  width:40px;
  height:40px;
  border-radius:999px;
  display:grid;
  place-items:center;
  flex:0 0 40px;
  background:rgba(var(--serp-primary-rgb),.12);
  color:var(--serp-primary);
  font-size:13px;
  font-weight:700;
}

.serp-price-option{
  position:relative;
  border:1px solid var(--serp-border);
  border-radius:16px;
  background:#fff;
  padding:18px 16px;
  text-align:center;
}

.serp-price-option.is-featured{
  border-color:rgba(var(--serp-primary-rgb),.46);
  background:rgba(var(--serp-primary-rgb),.04);
}

.serp-price-option__badge{
  position:absolute;
  top:-10px;
  left:50%;
  transform:translateX(-50%);
}

.serp-pro-module{
  display:flex;
  flex-direction:column;
  gap:18px;
  min-height:190px;
}

.serp-pro-module__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.serp-pro-module__link{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--serp-text);
  font-weight:600;
}

.serp-pro-module__link span:last-child{
  font-size:18px;
  line-height:1;
}

.serp-activity-list{
  display:grid;
  gap:0;
}

.serp-activity-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:18px 0;
  border-bottom:1px solid var(--serp-border);
}

.serp-activity-item:last-child{
  border-bottom:0;
}

.serp-activity-item__dot{
  width:7px;
  height:7px;
  margin-top:9px;
  border-radius:999px;
  background:var(--serp-primary);
  flex:0 0 7px;
}

.serp-activity-item__dot.is-muted{
  background:#d7dde4;
}

.serp-calendar-day-picks{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  align-items:center;
}

.serp-calendar-day-pick{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:500;
}

.auth-form .serp-calendar-day-pick{
  display:inline-flex;
  grid-auto-flow:column;
  align-items:center;
  gap:8px;
}

.auth-form .serp-calendar-day-pick span{
  font-size:13px;
  font-weight:600;
}

.serp-week-nav{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:16px;
}

.serp-week-nav > :first-child{
  justify-self:start;
}

.serp-week-nav > :last-child{
  justify-self:end;
}

.serp-week-grid{
  display:grid;
  gap:16px;
  grid-template-columns:repeat(7, minmax(0, 1fr));
}

.serp-week-day{
  min-height:150px;
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:center;
  text-align:center;
}

.serp-week-day__label{
  display:grid;
  gap:2px;
}

.serp-week-day__label strong{
  font-size:1rem;
}

.serp-week-day__label span{
  color:var(--serp-muted);
  font-size:12px;
}

.serp-week-day__slots{
  width:100%;
  display:grid;
  gap:10px;
}

.serp-week-slot{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(var(--serp-primary-rgb),.22);
  background:rgba(var(--serp-primary-rgb),.08);
  color:var(--serp-primary);
  font-size:13px;
  font-weight:600;
}

.serp-week-slot.is-booked{
  border-color:#d8dee6;
  background:#f4f6f8;
  color:#697887;
}

.serp-week-slot__actions{
  display:flex;
  justify-content:center;
  margin-top:6px;
}

.serp-notification-card--row{
  align-items:flex-start;
}

.serp-notification-card--row .serp-notification-card__icon{
  margin-top:2px;
}

.serp-icon-button{
  width:26px;
  height:26px;
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#d25555;
  box-shadow:none;
}

.serp-icon-button:hover{
  background:rgba(210,85,85,.1);
}

.serp-icon-button svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.serp-week-empty{
  color:var(--serp-muted);
  font-size:12px;
  padding-top:22px;
}

.serp-upload-drop{
  border:2px dashed var(--serp-border);
  border-radius:16px;
  padding:28px 22px;
  text-align:center;
  transition:border-color .2s ease, background .2s ease;
  cursor:pointer;
}

.serp-upload-drop:hover{
  border-color:rgba(var(--serp-primary-rgb),.34);
  background:rgba(var(--serp-primary-rgb),.03);
}

.serp-upload-drop__icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  margin:0 auto 12px;
  color:#737f8b;
}

.serp-upload-drop__icon svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.serp-selected-files{
  display:grid;
  gap:10px;
}

.serp-selected-file{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--serp-border);
  border-radius:14px;
  background:#f9faf8;
}

.serp-selected-file__meta{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.serp-selected-file__meta svg{
  width:18px;
  height:18px;
  color:var(--serp-muted);
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:0 0 18px;
}

.serp-selected-file__meta p{
  margin:0;
}

.serp-selected-file__meta p:last-child{
  color:var(--serp-muted);
  font-size:12px;
}

.serp-upload-form-grid{
  grid-template-columns:280px minmax(0,1fr);
}

.serp-booking-grid{
  display:grid;
  gap:22px;
  grid-template-columns:minmax(0, 1.1fr) minmax(280px, 380px);
  align-items:start;
  max-width:1120px;
  margin:0 auto;
}

.serp-booking-form{
  gap:18px;
}

.serp-booking-panel{
  min-height:100%;
}

.serp-booking-list{
  display:grid;
  gap:16px;
  grid-template-columns:repeat(auto-fit, minmax(180px, 220px));
}

.serp-booking-list__card{
  display:grid;
  gap:8px;
  padding:18px;
  border:1px solid var(--serp-border);
  border-radius:16px;
  background:#fff;
}

.serp-booking-list__name{
  margin:0;
  font-weight:700;
  font-size:1.05rem;
}

.serp-booking-list__time{
  margin:0;
  color:var(--serp-muted);
}

.serp-empty-inline{
  padding:20px;
  border:1px dashed var(--serp-border-strong);
  border-radius:16px;
  background:#fafbf8;
}

.serp-recordings-layout{
  display:grid;
  gap:22px;
  grid-template-columns:minmax(0, 1.35fr) minmax(320px, 400px);
  align-items:start;
  max-width:1120px;
  margin:0 auto;
}

.serp-recordings-list{
  display:grid;
  gap:16px;
}

.serp-recording-card{
  display:grid;
  gap:14px;
  padding:18px;
  border:1px solid var(--serp-border);
  border-radius:16px;
  background:#fff;
}

.serp-recording-card.is-selected{
  border-color:rgba(var(--serp-primary-rgb),.28);
  box-shadow:0 16px 36px rgba(var(--serp-primary-rgb),.12);
}

.serp-recording-card__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  flex-wrap:wrap;
}

.serp-recording-card__meta{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
}

.serp-recording-card__meta span,
.serp-recording-summary span,
.serp-recording-info-grid span,
.serp-recording-label{
  display:block;
  margin:0 0 4px;
  color:var(--serp-muted);
  font-size:12px;
  font-weight:600;
}

.serp-recording-card__meta strong,
.serp-recording-summary strong,
.serp-recording-info-grid strong{
  display:block;
  font-size:.96rem;
}

.serp-recording-card__notes{
  margin:0;
  color:var(--serp-muted);
}

.serp-recording-card__actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.serp-recording-panel{
  position:sticky;
  top:24px;
  display:grid;
  gap:22px;
}

.serp-recording-panel__block{
  display:grid;
  gap:18px;
}

.serp-recording-filter-grid{
  display:grid;
  gap:14px;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
}

.serp-recording-form{
  gap:18px;
}

.serp-recording-summary{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  padding:16px;
  border-radius:16px;
  border:1px solid rgba(var(--serp-primary-rgb),.18);
  background:rgba(var(--serp-primary-rgb),.05);
}

.serp-recording-check{
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.serp-recording-check input{
  margin-top:3px;
}

.serp-recording-info-grid{
  display:grid;
  gap:14px;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
}

.serp-recording-info-grid a{
  word-break:break-word;
}

.serp-recording-longtext{
  margin:0;
  color:var(--serp-text);
  white-space:pre-wrap;
}

.serp-meeting-grid{
  display:grid;
  gap:20px;
  grid-template-columns:minmax(0, 1.2fr) minmax(260px, 340px);
  align-items:start;
  max-width:1120px;
  margin:0 auto;
}

.serp-meeting-panel{
  min-height:100%;
}

.serp-meeting-panel--actions{
  max-width:340px;
}

.serp-meeting-info{
  display:flex;
  flex-wrap:wrap;
  gap:16px 18px;
  margin-top:22px;
}

.serp-meeting-info__item{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.serp-meeting-info__item span:first-child{
  color:var(--serp-muted);
}

.serp-meeting-preview{
  display:grid;
  place-items:center;
  height:120px;
  margin-bottom:18px;
  border-radius:16px;
  background:#101112;
  color:#fff;
}

.serp-meeting-preview__mark{
  font-size:2.2rem;
  line-height:1;
  letter-spacing:-.04em;
}

.serp-meeting-actions{
  display:grid;
  gap:10px;
}

.serp-notifications-page{
  max-width:1120px;
}

.serp-notification-list{
  display:grid;
  gap:14px;
}

.serp-notification-row__footer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:10px;
}

.serp-link-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.serp-link-actions a{
  color:var(--serp-primary);
  font-size:14px;
  font-weight:600;
}

.serp-link-actions a:hover{
  text-decoration:underline;
}

.serp-plan-detail-features{
  display:grid;
  gap:16px 28px;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
}

.serp-review-layout{
  display:grid;
  gap:24px;
  grid-template-columns:minmax(300px, 420px) minmax(0, 1fr);
  align-items:start;
}

.serp-review-card{
  min-height:100%;
}

.serp-review-card .btn.primary{
  width:auto;
  min-width:124px;
}

.serp-review-card textarea{
  min-height:84px;
}

.serp-comments-panel{
  padding-top:26px;
}

.serp-comment-feed{
  display:grid;
  gap:0;
}

.serp-comment-feed__item{
  padding:18px 0;
  border-top:1px solid var(--serp-border);
}

.serp-comment-feed__item:first-child{
  padding-top:0;
  border-top:0;
}

.serp-file-thumb{
  width:40px;
  height:40px;
  border-radius:8px;
  object-fit:cover;
  flex:0 0 40px;
}

.serp-file-fallback{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#f2f4f6;
  color:var(--serp-muted);
  flex:0 0 40px;
}

.serp-file-fallback svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.serp-admin-metric{
  position:relative;
  min-height:120px;
  display:flex;
  flex-direction:column;
  gap:16px;
}

.serp-admin-metric__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.serp-admin-metric__label{
  color:var(--serp-muted);
  font-size:14px;
}

.serp-admin-metric__value{
  font-size:2rem;
  font-weight:700;
  letter-spacing:-.03em;
}

.serp-admin-metric__sub{
  color:var(--serp-muted);
  font-size:13px;
}

.serp-admin-metric__trend{
  color:var(--serp-primary);
  font-size:13px;
  font-weight:600;
}

.serp-admin-chart{
  display:grid;
  gap:16px;
}

.serp-admin-chart__canvas{
  width:100%;
  min-height:240px;
  display:grid;
  place-items:center;
}

.serp-admin-chart__legend{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:18px;
  color:var(--serp-muted);
  font-size:13px;
}

.serp-admin-chart__legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.serp-admin-chart__swatch{
  width:10px;
  height:10px;
  border-radius:999px;
  display:inline-block;
}

.serp-admin-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.serp-admin-actions__title{
  font-weight:700;
}

.serp-admin-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  line-height:1.2;
  background:#f4f5f7;
  color:var(--serp-text);
}

.serp-admin-pill.is-free{
  background:#f4f1ea;
  color:#7f6f4b;
}

.serp-admin-pill.is-silver{
  background:rgba(92,127,180,.12);
  color:#5a77a8;
}

.serp-admin-pill.is-premium{
  background:rgba(var(--serp-primary-rgb),.12);
  color:var(--serp-primary);
}

.serp-admin-pill.is-admin{
  background:rgba(194,90,85,.12);
  color:var(--serp-danger);
}

.serp-admin-pill.is-professional{
  background:rgba(92,127,180,.12);
  color:#5a77a8;
}

.serp-admin-pill.is-client{
  background:#f4f5f7;
  color:#6e7781;
}

.serp-mini-icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--serp-muted);
}

.serp-mini-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.serp-row-actions{
  display:flex;
  justify-content:flex-end;
  gap:6px;
}

.serp-row-actions form{
  margin:0;
}

.serp-row-actions a,
.serp-row-actions button{
  min-height:30px;
  padding:0 8px;
  border:0;
  background:transparent;
  box-shadow:none;
  color:var(--serp-text);
}

.serp-row-actions a:hover,
.serp-row-actions button:hover{
  background:#f3f5f7;
}

.serp-row-actions svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.serp-row-actions button.is-danger{
  color:var(--serp-danger);
}

.serp-svg-chart{
  width:100%;
  max-width:340px;
  height:auto;
}

.serp-table-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:space-between;
}

.serp-table-actions--center{
  justify-content:center;
}

.serp-app__content .comments{
  max-height:none !important;
  overflow:visible !important;
}

pre, code{
  font-family:ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
}

@media (max-width: 980px){
  .serp-sidebar{
    display:none;
  }

  .serp-mobile-nav{
    display:block;
  }

  .serp-app__content,
  .serp-topbar{
    padding-left:18px;
    padding-right:18px;
  }

  .serp-search input{
    width:180px;
  }

  .serp-content-grid--catalog,
  .serp-booking-grid,
  .serp-recordings-layout,
  .serp-meeting-grid{
    grid-template-columns:1fr;
  }

  .serp-meeting-panel--actions{
    max-width:none;
  }

  .serp-recording-panel{
    position:static;
  }

  .serp-recording-hero{
    padding:20px;
  }
}

@media (max-width: 720px){
  .serp-page__inner{
    width:min(100%, calc(100% - 24px));
    padding:20px 0 32px;
  }

  .serp-topbar{
    flex-wrap:wrap;
  }

  .serp-topbar__actions{
    width:100%;
    justify-content:flex-end;
  }

  .serp-search{
    flex:1 1 100%;
    order:2;
  }

  .serp-search input{
    width:100%;
  }

  .auth-card{
    padding:24px 20px;
  }

  .card,
  .plan-card,
  .pro-card,
  .kpi,
  .comment{
    padding:18px;
  }

  table.compare{
    min-width:720px;
  }

  .serp-week-nav{
    grid-template-columns:1fr;
    justify-items:center;
  }

  .serp-week-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .serp-upload-form-grid{
    grid-template-columns:1fr;
  }

  .serp-content-grid--catalog{
    grid-template-columns:1fr;
  }

  .serp-content-filters{
    gap:14px;
  }

  .serp-booking-list{
    grid-template-columns:1fr;
  }

  .serp-review-layout{
    grid-template-columns:1fr;
  }
}

@media (max-width: 560px){
  .serp-week-grid{
    grid-template-columns:1fr;
  }
}

.serp-public{
  min-height:100vh;
  background:
    radial-gradient(circle at top left, rgba(var(--serp-primary-rgb),.12), transparent 28%),
    radial-gradient(circle at top right, rgba(212,173,84,.12), transparent 22%),
    linear-gradient(180deg, #fcfbf7 0%, #f7f7f2 100%);
}

.serp-landing{
  color:var(--serp-text);
}

.serp-public-shell{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
}

.serp-public-nav{
  position:sticky;
  top:0;
  z-index:30;
  backdrop-filter:blur(14px);
  background:rgba(252,251,247,.88);
  border-bottom:1px solid rgba(30,41,59,.06);
}

.serp-public-nav__inner{
  width:min(1180px, calc(100% - 32px));
  min-height:78px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.serp-public-nav__menu{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  flex:1;
}

.serp-public-nav__menu a{
  color:rgba(31,41,55,.74);
  font-size:14px;
  font-weight:600;
}

.serp-public-nav__menu a:hover{
  color:var(--serp-primary);
}

.serp-public-nav__cta{
  display:flex;
  align-items:center;
  gap:10px;
}

.serp-public-nav__mobile{
  display:none;
  position:relative;
}

.serp-public-nav__mobile summary{
  list-style:none;
  cursor:pointer;
}

.serp-public-nav__mobile summary::-webkit-details-marker{
  display:none;
}

.serp-public-nav__mobile-toggle{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  border:1px solid rgba(31,41,55,.08);
  background:#fff;
  color:var(--serp-text);
  box-shadow:0 12px 28px rgba(25, 38, 25, .08);
}

.serp-public-nav__mobile-toggle svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.serp-public-nav__mobile-panel{
  position:absolute;
  right:0;
  top:calc(100% + 12px);
  min-width:240px;
  display:grid;
  gap:6px;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(31,41,55,.08);
  box-shadow:0 22px 50px rgba(25, 38, 25, .14);
}

.serp-public-nav__mobile-panel a{
  padding:10px 12px;
  border-radius:12px;
  color:rgba(31,41,55,.78);
  font-size:14px;
  font-weight:600;
}

.serp-public-nav__mobile-panel a:hover{
  background:rgba(var(--serp-primary-rgb),.08);
  color:var(--serp-primary);
}

.serp-public-section{
  padding:84px 0;
}

.serp-public-section--hero{
  padding:42px 0 76px;
}

.serp-public-section--soft{
  background:rgba(255,255,255,.58);
  border-top:1px solid rgba(30,41,59,.05);
  border-bottom:1px solid rgba(30,41,59,.05);
}

.serp-landing-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(var(--serp-primary-rgb),.08);
  color:var(--serp-primary);
  font-size:12px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.serp-public-heading{
  max-width:760px;
  margin:0 auto 28px;
  text-align:center;
  display:grid;
  gap:14px;
}

.serp-public-heading h2,
.serp-story-card h2,
.serp-cta-banner h2{
  margin:0;
  font-size:clamp(2rem, 4vw, 3.25rem);
  line-height:1.06;
  letter-spacing:-.05em;
}

.serp-hero{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(320px, 460px);
  gap:34px;
  align-items:center;
}

.serp-hero__content{
  display:grid;
  gap:20px;
  align-content:center;
}

.serp-hero__content h1{
  margin:0;
  font-size:clamp(3.1rem, 6vw, 5.25rem);
  line-height:.95;
  letter-spacing:-.08em;
  max-width:720px;
}

.serp-hero__lead{
  margin:0;
  max-width:640px;
  color:var(--serp-muted);
  font-size:clamp(1rem, 2vw, 1.12rem);
  line-height:1.8;
}

.serp-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.serp-hero__trust{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.serp-landing-chip{
  display:inline-flex;
  align-items:center;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid rgba(31,41,55,.08);
  background:rgba(255,255,255,.8);
  color:rgba(31,41,55,.78);
  font-size:13px;
  font-weight:600;
}

.serp-hero__visual{
  position:relative;
  min-height:520px;
  display:grid;
  align-items:center;
}

.serp-hero-card{
  border:1px solid rgba(31,41,55,.08);
  border-radius:30px;
  background:rgba(255,255,255,.92);
  box-shadow:0 24px 80px rgba(19, 32, 24, .12);
}

.serp-hero-card--main{
  padding:28px;
}

.serp-hero-card--floating{
  position:absolute;
  left:-24px;
  bottom:22px;
  width:min(280px, 72%);
  padding:18px 18px 20px;
  background:linear-gradient(180deg, #ffffff 0%, #f4fbf5 100%);
}

.serp-hero-card--floating p,
.serp-hero-card--floating strong{
  margin:0;
}

.serp-hero-card--floating p{
  color:var(--serp-primary);
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.serp-hero-card--floating strong{
  display:block;
  margin-top:8px;
  line-height:1.6;
}

.serp-hero-card__header{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:18px;
}

.serp-landing-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  background:var(--serp-primary);
  color:#fff;
  font-size:12px;
  font-weight:700;
}

.serp-landing-badge--soft{
  background:rgba(var(--serp-primary-rgb),.1);
  color:var(--serp-primary);
}

.serp-hero-card__body{
  display:grid;
  gap:22px;
}

.serp-hero-card__headline strong{
  display:block;
  font-size:1.5rem;
  line-height:1.2;
  letter-spacing:-.04em;
}

.serp-hero-card__headline p{
  margin:10px 0 0;
  color:var(--serp-muted);
  line-height:1.75;
}

.serp-hero-highlights{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.serp-hero-highlights article{
  padding:18px;
  border-radius:20px;
  background:linear-gradient(180deg, #ffffff 0%, #f7faf7 100%);
  border:1px solid rgba(31,41,55,.06);
}

.serp-hero-highlights span{
  display:block;
  color:var(--serp-primary);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.serp-hero-highlights strong{
  display:block;
  margin-top:8px;
  font-size:1rem;
  line-height:1.45;
}

.serp-value-grid,
.serp-service-grid,
.serp-step-grid,
.serp-landing-plan-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
}

.serp-value-card,
.serp-service-card,
.serp-step-card,
.serp-story-card,
.serp-about-panel,
.serp-landing-plan{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(31,41,55,.07);
  border-radius:24px;
  box-shadow:0 18px 48px rgba(25, 38, 25, .08);
}

.serp-value-card{
  padding:24px;
}

.serp-value-card h3,
.serp-service-card h3,
.serp-step-card h3,
.serp-about-panel h3,
.serp-landing-plan h3{
  margin:0 0 10px;
  font-size:1.2rem;
  letter-spacing:-.03em;
}

.serp-value-card p,
.serp-service-card p,
.serp-step-card p,
.serp-story-card p,
.serp-about-panel p,
.serp-landing-plan p,
.serp-public-footer p{
  margin:0;
  color:var(--serp-muted);
  line-height:1.8;
}

.serp-problem-solution,
.serp-about-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.serp-story-card{
  padding:32px;
  display:grid;
  gap:16px;
}

.serp-story-card--solution{
  background:linear-gradient(180deg, rgba(var(--serp-primary-rgb),.08) 0%, rgba(255,255,255,.96) 100%);
}

.serp-service-card{
  padding:28px 24px;
}

.serp-service-card__icon{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  margin-bottom:22px;
  border-radius:18px;
  background:rgba(var(--serp-primary-rgb),.1);
}

.serp-service-card__icon .serp-logo__mark{
  width:34px;
  height:34px;
  flex-basis:34px;
}

.serp-step-card{
  padding:24px;
  position:relative;
  overflow:hidden;
}

.serp-step-card__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-bottom:16px;
  border-radius:14px;
  background:rgba(var(--serp-primary-rgb),.1);
  color:var(--serp-primary);
  font-size:14px;
  font-weight:800;
}

.serp-landing-plan{
  padding:26px 24px;
  display:flex;
  flex-direction:column;
  gap:22px;
}

.serp-landing-plan.is-featured{
  border-color:rgba(var(--serp-primary-rgb),.35);
  background:linear-gradient(180deg, rgba(var(--serp-primary-rgb),.08) 0%, #ffffff 100%);
  transform:translateY(-6px);
}

.serp-landing-plan__top{
  display:grid;
  gap:10px;
}

.serp-landing-plan__price{
  font-size:2.2rem;
  font-weight:800;
  letter-spacing:-.05em;
}

.serp-landing-plan__price span{
  margin-left:6px;
  font-size:.95rem;
  color:var(--serp-muted);
  font-weight:600;
}

.serp-landing-plan__list{
  list-style:none;
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
}

.serp-landing-plan__list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.serp-about-panel{
  padding:32px;
}

.serp-about-panel ul{
  list-style:none;
  display:grid;
  gap:12px;
  margin:18px 0 0;
  padding:0;
}

.serp-about-panel li{
  position:relative;
  padding-left:18px;
  color:var(--serp-muted);
  line-height:1.75;
}

.serp-about-panel li::before{
  content:"";
  position:absolute;
  top:11px;
  left:0;
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--serp-primary);
}

.serp-cta-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  padding:36px;
  border-radius:30px;
  background:linear-gradient(135deg, #143523 0%, #2f943f 100%);
  color:#fff;
  box-shadow:0 28px 60px rgba(22, 45, 25, .18);
}

.serp-cta-banner p{
  margin-top:12px;
  max-width:640px;
  color:rgba(255,255,255,.82);
}

.serp-cta-banner .serp-landing-eyebrow{
  background:rgba(255,255,255,.14);
  color:#fff;
}

.serp-cta-banner .btn.outline{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.28);
  color:#fff;
}

.serp-public-footer{
  padding:0 0 36px;
}

.serp-public-footer__grid{
  display:grid;
  gap:18px;
  grid-template-columns:1.4fr repeat(3, minmax(0, .8fr));
  padding:32px;
  border-radius:28px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(31,41,55,.06);
  box-shadow:0 18px 48px rgba(25, 38, 25, .08);
}

.serp-public-footer__grid h3{
  margin:0 0 14px;
  font-size:1rem;
}

.serp-public-footer__grid a{
  display:block;
  margin:0 0 10px;
  color:var(--serp-muted);
  font-size:14px;
  font-weight:600;
}

.serp-public-footer__grid a:hover{
  color:var(--serp-primary);
}

@media (max-width: 1080px){
  .serp-public-nav__menu{
    display:none;
  }

  .serp-public-nav__mobile{
    display:block;
  }

  .serp-hero,
  .serp-problem-solution,
  .serp-about-grid,
  .serp-cta-banner,
  .serp-public-footer__grid{
    grid-template-columns:1fr;
  }

  .serp-cta-banner{
    align-items:flex-start;
  }
}

@media (max-width: 720px){
  .serp-public-shell,
  .serp-public-nav__inner{
    width:min(100%, calc(100% - 24px));
  }

  .serp-public-nav__inner{
    min-height:72px;
  }

  .serp-public-nav__cta{
    gap:8px;
  }

  .serp-public-nav__cta .btn{
    min-height:38px;
    padding:9px 14px;
  }

  .serp-public-section{
    padding:64px 0;
  }

  .serp-public-section--hero{
    padding-top:28px;
  }

  .serp-hero__content h1{
    font-size:clamp(2.6rem, 14vw, 4rem);
  }

  .serp-hero__visual{
    min-height:auto;
  }

  .serp-hero-card--floating{
    position:static;
    width:auto;
    margin-top:14px;
  }

  .serp-hero-highlights{
    grid-template-columns:1fr;
  }

  .serp-story-card,
  .serp-about-panel,
  .serp-cta-banner,
  .serp-public-footer__grid{
    padding:24px;
  }
}

@media (max-width: 520px){
  .serp-public-nav__inner{
    flex-wrap:wrap;
    justify-content:space-between;
    padding:10px 0;
  }

  .serp-public-nav__cta{
    width:100%;
  }

  .serp-public-nav__cta .btn{
    flex:1 1 0;
  }

  .serp-public-nav__mobile{
    margin-left:auto;
  }

  .serp-public-nav__mobile-panel{
    min-width:min(280px, calc(100vw - 24px));
    right:0;
  }

  .serp-hero__actions{
    flex-direction:column;
  }

  .serp-hero__actions .btn{
    width:100%;
  }
}
