
:root{
  --cr-ink:#0b1f33;
  --cr-ink-2:#17324d;
  --cr-navy:#071a2b;
  --cr-navy-2:#0d2740;
  --cr-paper:#f4f7fb;
  --cr-card:#ffffff;
  --cr-line:#d9e3ee;
  --cr-muted:#60758a;
  --cr-cyan:#16b7b1;
  --cr-cyan-dark:#0a7d7a;
  --cr-gold:#f1b94a;
  --cr-green:#248a62;
  --cr-red:#b94b55;
  --cr-blue:#2b69b1;
  --cr-shadow:0 22px 55px rgba(9,34,58,.12);
  --cr-shadow-sm:0 10px 26px rgba(9,34,58,.09);
  --cr-radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.calendar-residencia-page{background:var(--cr-paper);color:var(--cr-ink)}
.calendar-residencia-page a{color:inherit}
.cr-wrap{width:min(1180px,calc(100% - 32px));margin-inline:auto}
.cr-topline{
  background:#041423;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.cr-topline__inner{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  font-size:.88rem;
}
.cr-topline__inner strong{color:#fff}
.cr-topline__inner span{color:#c9d7e6}
.cr-topline__inner a{
  color:#fff;
  text-decoration:none;
  font-weight:800;
  border-bottom:1px solid rgba(255,255,255,.4);
}
.cr-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%,rgba(22,183,177,.22),transparent 25%),
    radial-gradient(circle at 15% 15%,rgba(241,185,74,.10),transparent 24%),
    linear-gradient(135deg,#071a2b 0%,#0b243c 55%,#0b2d42 100%);
  color:#fff;
  padding:72px 0 78px;
}
.cr-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 90%);
  pointer-events:none;
}
.cr-hero__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  gap:54px;
  align-items:center;
}
.cr-breadcrumbs{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  color:#b8c9d9;
  font-size:.86rem;
  margin-bottom:18px;
}
.cr-breadcrumbs a{text-decoration:none;color:#d7e3ee}
.cr-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#e4eef6;
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.cr-eyebrow:before{
  content:"";
  width:8px;height:8px;border-radius:50%;
  background:var(--cr-cyan);
  box-shadow:0 0 0 6px rgba(22,183,177,.12);
}
.cr-hero h1{
  max-width:760px;
  margin:20px 0 16px;
  font-size:clamp(2.35rem,5vw,4.8rem);
  line-height:.98;
  letter-spacing:-.045em;
  color:#fff;
}
.cr-hero h1 em{
  display:block;
  margin-top:10px;
  font-style:normal;
  color:#aee7e3;
}
.cr-hero__lead{
  max-width:730px;
  color:#d2dfeb;
  font-size:1.06rem;
  line-height:1.72;
  margin:0;
}
.cr-hero__actions{
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.cr-btn{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:14px;
  border:1px solid transparent;
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
  transition:.2s ease;
  font:inherit;
}
.cr-btn:hover{transform:translateY(-1px)}
.cr-btn--primary{
  background:var(--cr-cyan);
  color:#04252a;
  box-shadow:0 10px 30px rgba(22,183,177,.22);
}
.cr-btn--secondary{
  color:#fff;
  border-color:rgba(255,255,255,.22);
  background:rgba(255,255,255,.07);
}
.cr-hero__meta{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin-top:26px;
  color:#aebfd0;
  font-size:.83rem;
}
.cr-hero__meta strong{color:#fff}

.cr-hero__grid--single{
  grid-template-columns:minmax(0,1fr);
}
.cr-hero__grid--single>div{
  max-width:980px;
}
.cr-hero-coupon{
  margin-top:26px;
  max-width:820px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:15px 16px 15px 18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.045));
  box-shadow:0 16px 38px rgba(0,0,0,.14);
  backdrop-filter:blur(8px);
}
.cr-hero-coupon__copy{
  display:grid;
  grid-template-columns:auto auto;
  align-items:baseline;
  column-gap:10px;
  row-gap:3px;
}
.cr-hero-coupon__copy small{
  color:#9fb7ca;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.cr-hero-coupon__copy strong{
  color:#fff;
  font-size:1.08rem;
  letter-spacing:.055em;
}
.cr-hero-coupon__copy span{
  grid-column:1/-1;
  color:#b9cad8;
  font-size:.78rem;
  line-height:1.4;
}
.cr-hero-coupon__actions{
  flex:0 0 auto;
  display:flex;
  gap:8px;
}
.cr-hero-coupon__actions button,
.cr-hero-coupon__actions a{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 13px;
  border-radius:11px;
  font:inherit;
  font-size:.78rem;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
}
.cr-hero-coupon__actions button{
  border:0;
  background:var(--cr-gold);
  color:#3b2a07;
}
.cr-hero-coupon__actions a{
  border:1px solid rgba(255,255,255,.17);
  background:rgba(255,255,255,.07);
  color:#fff;
}
.cr-recommendations-section[hidden]{display:none!important}
.cr-coupon-band--adaptive{
  animation:crRecIn .28s ease both;
}
@keyframes crRecIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}
.cr-section{padding:68px 0}
.cr-section--tight{padding:48px 0}
.cr-section--white{background:#fff}
.cr-section--navy{background:var(--cr-navy);color:#fff}
.cr-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:26px;
}
.cr-kicker{
  display:block;
  margin-bottom:8px;
  color:var(--cr-cyan-dark);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cr-section--navy .cr-kicker{color:#74d5d0}
.cr-section-head h2{
  margin:0;
  font-size:clamp(1.8rem,3vw,2.8rem);
  line-height:1.05;
  letter-spacing:-.035em;
  color:var(--cr-ink);
}
.cr-section--navy .cr-section-head h2{color:#fff}
.cr-section-head p{
  max-width:620px;
  margin:8px 0 0;
  color:var(--cr-muted);
  line-height:1.65;
}
.cr-section--navy .cr-section-head p{color:#c5d4e1}
.cr-attention-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.cr-attention-card{
  position:relative;
  overflow:hidden;
  min-height:220px;
  padding:22px;
  border:1px solid #e0e8f0;
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0,rgba(22,183,177,.10),transparent 40%),
    #fff;
  box-shadow:var(--cr-shadow-sm);
  display:flex;
  flex-direction:column;
}
.cr-attention-card:after{
  content:"";
  position:absolute;
  width:90px;height:90px;
  border-radius:50%;
  right:-34px;top:-34px;
  border:18px solid rgba(11,31,51,.035);
}
.cr-attention-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.cr-attention-card__top small{color:var(--cr-muted);font-weight:850}
.cr-attention-card__date{
  font-size:.78rem;
  font-weight:900;
  color:#fff;
  background:var(--cr-ink);
  padding:6px 9px;
  border-radius:999px;
}
.cr-attention-card h3{
  margin:28px 0 7px;
  font-size:1.25rem;
  letter-spacing:-.02em;
}
.cr-attention-card p{
  color:var(--cr-muted);
  margin:0;
  line-height:1.5;
  font-size:.9rem;
}
.cr-attention-card__foot{
  margin-top:auto;
  padding-top:18px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.cr-attention-card__foot a{
  text-decoration:none;
  font-weight:900;
  color:var(--cr-cyan-dark);
  font-size:.84rem;
}
.cr-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:0 9px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:900;
  white-space:nowrap;
}
.cr-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.cr-status--open{background:#e5f6ef;color:#176c4c}
.cr-status--soon{background:#e8f1fb;color:#2a609b}
.cr-status--closed{background:#f1f3f6;color:#5f6c79}
.cr-status--forecast{background:#fff1d7;color:#8a5b07}
.cr-status--awaiting{background:#f8e9ec;color:#934653}
.cr-status--done{background:#edf0f4;color:#657383}
.cr-tool-shell{
  position:relative;
  border:1px solid #dce5ee;
  border-radius:30px;
  background:#fff;
  box-shadow:var(--cr-shadow);
  overflow:hidden;
}
.cr-tool-top{
  padding:22px;
  border-bottom:1px solid #e3eaf1;
  background:linear-gradient(180deg,#fbfdff,#f5f8fb);
}
.cr-filter-row{
  display:grid;
  grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(140px,.68fr));
  gap:12px;
}
.cr-field label{
  display:block;
  margin:0 0 7px;
  color:#5e7286;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.cr-input,.cr-select{
  width:100%;
  height:46px;
  border:1px solid #ccd8e4;
  border-radius:13px;
  background:#fff;
  color:var(--cr-ink);
  padding:0 13px;
  font:inherit;
  font-size:.9rem;
  outline:none;
}
.cr-input:focus,.cr-select:focus{
  border-color:#66c8c4;
  box-shadow:0 0 0 4px rgba(22,183,177,.11);
}
.cr-tool-actions{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.cr-view-switch{
  display:inline-flex;
  padding:4px;
  background:#eaf0f5;
  border-radius:13px;
  gap:4px;
}
.cr-view-switch button{
  border:0;
  background:transparent;
  color:#536779;
  min-height:38px;
  padding:0 14px;
  border-radius:10px;
  font:inherit;
  font-weight:850;
  cursor:pointer;
}
.cr-view-switch button.is-active{
  color:#fff;
  background:var(--cr-ink);
  box-shadow:0 5px 14px rgba(7,26,43,.16);
}
.cr-mine-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.cr-mine-actions button{
  min-height:38px;
  border-radius:10px;
  padding:0 12px;
  border:1px solid #ccd7e2;
  background:#fff;
  color:var(--cr-ink);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.cr-mine-actions button.is-active{
  background:#e8f8f7;
  color:#086b68;
  border-color:#95d8d5;
}
.cr-count{
  color:#677b8d;
  font-size:.82rem;
  font-weight:800;
}
.cr-table-wrap{overflow:auto}
.cr-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:980px;
}
.cr-table th{
  position:sticky;
  top:0;
  z-index:1;
  background:#0b2034;
  color:#fff;
  padding:14px 13px;
  text-align:left;
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.055em;
  white-space:nowrap;
}
.cr-table td{
  border-bottom:1px solid #e4ebf1;
  padding:15px 13px;
  vertical-align:middle;
  font-size:.86rem;
  color:#31485e;
  background:#fff;
}
.cr-table tr:hover td{background:#f8fbfd}
.cr-table td strong{display:block;color:var(--cr-ink);font-size:.93rem}
.cr-table td small{display:block;color:#788b9c;margin-top:3px}
.cr-table__select{
  width:30px;height:30px;
  display:inline-grid;
  place-items:center;
  border-radius:9px;
  border:1px solid #ccd8e3;
  background:#fff;
  cursor:pointer;
}
.cr-table__select.is-selected{
  border-color:#72cfc9;
  background:#dff5f3;
  color:#086c68;
}
.cr-table__select:before{content:"+";font-weight:900}
.cr-table__select.is-selected:before{content:"✓"}
.cr-link{
  display:inline-flex;
  align-items:center;
  gap:5px;
  text-decoration:none;
  color:var(--cr-cyan-dark);
  font-weight:850;
}
.cr-details-btn{
  border:0;
  background:#edf3f8;
  color:#294157;
  min-height:34px;
  padding:0 10px;
  border-radius:9px;
  font:inherit;
  font-size:.78rem;
  font-weight:850;
  cursor:pointer;
}
.cr-empty{
  display:none;
  padding:42px 20px;
  text-align:center;
  color:#708395;
}
.cr-calendar-panel{
  display:none;
  padding:22px;
  background:#f7f9fc;
}
.cr-calendar-panel.is-visible{display:block}
.cr-table-panel.is-hidden{display:none}
.cr-calendar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.cr-calendar-head__title strong{font-size:1.3rem}
.cr-calendar-head__title small{display:block;color:#718497;margin-top:3px}
.cr-calendar-nav{display:flex;gap:8px}
.cr-calendar-nav button{
  width:38px;height:38px;border-radius:10px;
  border:1px solid #cedae5;background:#fff;color:var(--cr-ink);
  font-size:1.05rem;font-weight:900;cursor:pointer;
}
.cr-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:7px;
}
.cr-cal-weekday{
  text-align:center;
  color:#738598;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  padding:7px 0;
}
.cr-cal-day{
  min-height:124px;
  border:1px solid #dce5ed;
  border-radius:15px;
  background:#fff;
  padding:9px;
  overflow:hidden;
}
.cr-cal-day.is-outside{background:#f2f5f8;color:#a1adba}
.cr-cal-day.is-today{
  border-color:#73cbc7;
  box-shadow:inset 0 0 0 1px #73cbc7;
}
.cr-cal-day__num{
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#66798b;
  font-size:.75rem;
  font-weight:900;
  margin-bottom:6px;
}
.cr-cal-event{
  width:100%;
  display:block;
  border:0;
  text-align:left;
  border-radius:8px;
  padding:6px 7px;
  margin-top:5px;
  font:inherit;
  font-size:.68rem;
  line-height:1.2;
  cursor:pointer;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cr-cal-event strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-cal-event--exam{background:#dbe9f7;color:#234d78}
.cr-cal-event--start{background:#e1f4ef;color:#176c4d}
.cr-cal-event--end{background:#fff0d2;color:#7f5507}
.cr-cal-event--fee{background:#f4e5f1;color:#7a3f6b}
.cr-cal-more{display:block;margin-top:5px;color:#6f8294;font-size:.66rem;font-weight:850}
.cr-legend{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:14px;
  color:#617587;
  font-size:.76rem;
  font-weight:800;
}
.cr-legend span{display:inline-flex;align-items:center;gap:6px}
.cr-legend i{width:9px;height:9px;border-radius:3px}
.cr-legend .exam i{background:#77a5d5}
.cr-legend .start i{background:#74c6ad}
.cr-legend .end i{background:#e7bd68}
.cr-legend .fee i{background:#c587b8}
.cr-my-calendar{
  margin-top:22px;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:18px;
}
.cr-my-panel{
  border:1px solid #dce5ed;
  background:#fff;
  border-radius:22px;
  padding:21px;
  box-shadow:var(--cr-shadow-sm);
}
.cr-my-panel h3{margin:0;font-size:1.15rem}
.cr-my-panel p{margin:7px 0 0;color:#6d8092;line-height:1.55;font-size:.88rem}
.cr-my-list{margin-top:16px;display:grid;gap:8px}
.cr-my-item{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:11px 12px;border-radius:12px;background:#f5f8fb;
  font-size:.82rem;
}
.cr-my-item strong{color:var(--cr-ink)}
.cr-my-item span{color:#708396}
.cr-my-empty{color:#7a8c9c;font-size:.86rem;padding:12px 0}
.cr-my-panel__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}
.cr-my-panel__actions button{
  min-height:38px;padding:0 12px;border-radius:10px;border:1px solid #cbd8e4;background:#fff;
  font:inherit;font-weight:850;color:var(--cr-ink);cursor:pointer;
}
.cr-my-panel__actions button.primary{background:var(--cr-ink);color:#fff;border-color:var(--cr-ink)}
.cr-coupon-band{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  background:
    radial-gradient(circle at 8% 10%,rgba(241,185,74,.16),transparent 24%),
    radial-gradient(circle at 92% 88%,rgba(22,183,177,.16),transparent 28%),
    linear-gradient(135deg,#071a2b,#0d2b45);
  color:#fff;
  padding:30px;
  box-shadow:0 28px 60px rgba(7,26,43,.18);
}
.cr-coupon-band__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:center;
}
.cr-coupon-band small{
  display:block;
  color:#8adbd7;
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.cr-coupon-band h2{
  color:#fff;
  margin:8px 0 10px;
  font-size:clamp(1.7rem,3vw,2.7rem);
  line-height:1.05;
  letter-spacing:-.035em;
}
.cr-coupon-band p{color:#c8d7e4;line-height:1.6;margin:0}
.cr-coupon-code{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:18px;
}
.cr-coupon-code strong{
  padding:10px 14px;
  border-radius:12px;
  background:#fff;
  color:#081f33;
  letter-spacing:.08em;
}
.cr-coupon-code button{
  min-height:42px;padding:0 15px;border:0;border-radius:11px;background:var(--cr-gold);color:#3b2a07;
  font:inherit;font-weight:900;cursor:pointer;
}
.cr-product-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cr-product-mini{
  position:relative;
  padding:17px;
  min-height:150px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(6px);
}
.cr-product-mini span{color:#8fcbc8;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.cr-product-mini h3{margin:7px 0 6px;color:#fff;font-size:1rem}
.cr-product-mini p{font-size:.8rem;line-height:1.45;color:#c7d5e0}
.cr-product-mini a{
  position:absolute;left:17px;bottom:15px;color:#fff;font-size:.78rem;font-weight:900;text-decoration:none
}
.cr-feature-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.cr-feature-card{
  position:relative;
  min-height:250px;
  overflow:hidden;
  padding:21px;
  border-radius:22px;
  border:1px solid #dde6ee;
  background:#fff;
  box-shadow:var(--cr-shadow-sm);
}
.cr-feature-card:before{
  content:"";
  position:absolute;
  width:140px;height:140px;border-radius:50%;
  top:-85px;right:-55px;
  background:rgba(22,183,177,.10);
}
.cr-feature-card__head{
  position:relative;
  display:flex;justify-content:space-between;align-items:flex-start;gap:10px;
}
.cr-feature-card__uf{
  width:34px;height:34px;border-radius:11px;background:#0d2942;color:#fff;
  display:grid;place-items:center;font-size:.72rem;font-weight:900
}
.cr-feature-card h3{position:relative;margin:20px 0 7px;font-size:1.12rem}
.cr-feature-card p{position:relative;color:#6c8092;font-size:.84rem;line-height:1.5;margin:0}
.cr-feature-card__facts{
  position:relative;
  margin-top:17px;
  display:grid;
  gap:7px;
  font-size:.78rem;
}
.cr-feature-card__facts div{
  display:flex;justify-content:space-between;gap:10px;
  padding-top:7px;border-top:1px solid #edf1f5;
}
.cr-feature-card__facts span{color:#728599}
.cr-feature-card__facts strong{color:#183149}
.cr-feature-card__links{
  position:relative;
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.cr-feature-card__links a,
.cr-feature-card__links button{
  font:inherit;
  font-size:.76rem;
  font-weight:900;
  text-decoration:none;
  color:var(--cr-cyan-dark);
  border:0;
  background:none;
  padding:0;
  cursor:pointer;
}
.cr-conflicts-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.cr-conflict-card{
  padding:20px;
  border-radius:20px;
  background:linear-gradient(145deg,#fff,#f8fafc);
  border:1px solid #e2e8ef;
  box-shadow:var(--cr-shadow-sm);
}
.cr-conflict-card small{
  color:#8b5a0b;font-weight:900;text-transform:uppercase;letter-spacing:.06em
}
.cr-conflict-card strong{display:block;margin:8px 0 9px;font-size:1.08rem}
.cr-conflict-card p{margin:0;color:#6a7f91;font-size:.85rem;line-height:1.5}
.cr-awaiting-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.cr-awaiting-card{
  padding:18px;
  border:1px dashed #bfcddd;
  border-radius:18px;
  background:#f9fbfd;
}
.cr-awaiting-card strong{display:block;color:var(--cr-ink)}
.cr-awaiting-card span{display:block;margin-top:5px;color:#728598;font-size:.82rem;line-height:1.45}
.cr-source-box{
  display:grid;
  grid-template-columns:1fr .75fr;
  gap:22px;
  align-items:start;
}
.cr-source-card{
  border:1px solid #dce5ed;
  border-radius:22px;
  background:#fff;
  padding:22px;
  box-shadow:var(--cr-shadow-sm);
}
.cr-source-card h3{margin:0 0 9px}
.cr-source-card p{margin:0;color:#677b8e;line-height:1.65}
.cr-source-links{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.cr-source-links a{
  text-decoration:none;
  color:#164c76;
  background:#edf4fa;
  border:1px solid #d3e0ec;
  padding:8px 10px;
  border-radius:10px;
  font-size:.78rem;
  font-weight:850;
}
.cr-faq{
  display:grid;
  gap:10px;
}
.cr-faq details{
  border:1px solid #dbe4ec;
  border-radius:15px;
  background:#fff;
  padding:0 17px;
}
.cr-faq summary{
  cursor:pointer;
  list-style:none;
  padding:17px 0;
  font-weight:900;
  color:var(--cr-ink);
}
.cr-faq summary::-webkit-details-marker{display:none}
.cr-faq details p{
  margin:0;
  padding:0 0 17px;
  color:#64798c;
  line-height:1.65;
}
.cr-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(4,20,35,.72);
  backdrop-filter:blur(5px);
}
.cr-modal.is-open{display:flex}
.cr-modal__dialog{
  width:min(620px,100%);
  max-height:88vh;
  overflow:auto;
  border-radius:24px;
  background:#fff;
  box-shadow:0 40px 90px rgba(0,0,0,.35);
}
.cr-modal__head{
  position:sticky;top:0;z-index:2;
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding:22px;
  border-bottom:1px solid #e2e8ef;
  background:#fff;
}
.cr-modal__head small{color:#6f8294;font-weight:850}
.cr-modal__head h3{margin:4px 0 0;font-size:1.4rem}
.cr-modal__close{
  width:38px;height:38px;border-radius:11px;border:1px solid #d2dde7;background:#fff;
  color:#193349;font-size:1.1rem;font-weight:900;cursor:pointer
}
.cr-modal__body{padding:22px}
.cr-modal__facts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.cr-modal__fact{
  border:1px solid #e1e8ef;
  border-radius:14px;
  padding:13px;
  background:#f9fbfd;
}
.cr-modal__fact small{display:block;color:#7a8c9d;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.cr-modal__fact strong{display:block;margin-top:4px;color:#183149}
.cr-modal__note{
  margin-top:14px;
  padding:14px;
  border-radius:14px;
  background:#eef6f8;
  color:#3e5c70;
  line-height:1.55;
  font-size:.86rem;
}
.cr-modal__actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}
.cr-modal__actions a,
.cr-modal__actions button{
  min-height:40px;
  padding:0 13px;
  border-radius:10px;
  border:1px solid #cad7e3;
  background:#fff;
  color:var(--cr-ink);
  font:inherit;
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
}
.cr-modal__actions .primary{background:var(--cr-ink);color:#fff;border-color:var(--cr-ink)}
.cr-footnote{
  color:#7a8c9d;
  font-size:.76rem;
  line-height:1.5;
  margin-top:12px;
}
@media (max-width:980px){
  .cr-hero__grid{grid-template-columns:1fr;gap:28px}
  .cr-hero__grid--single>div{max-width:none}
  .cr-attention-grid,.cr-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cr-filter-row{grid-template-columns:1fr 1fr}
  .cr-coupon-band__grid,.cr-my-calendar,.cr-source-box{grid-template-columns:1fr}
  .cr-conflicts-grid,.cr-awaiting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .cr-wrap{width:min(100% - 22px,1180px)}
  .cr-topline__inner{padding:9px 0;align-items:flex-start;flex-direction:column;gap:4px}
  .cr-hero{padding:46px 0 52px}
  .cr-hero h1{font-size:clamp(2.25rem,12vw,3.6rem)}
  .cr-hero__lead{font-size:.98rem}
  .cr-hero__actions{display:grid;grid-template-columns:1fr}
  .cr-btn{width:100%}
  .cr-hero-coupon{align-items:stretch;flex-direction:column;padding:14px}
  .cr-hero-coupon__actions{display:grid;grid-template-columns:1fr 1fr}
  .cr-hero-coupon__actions button,.cr-hero-coupon__actions a{width:100%}
  .cr-section{padding:48px 0}
  .cr-section-head{align-items:flex-start;flex-direction:column}
  .cr-attention-grid,.cr-feature-grid,.cr-conflicts-grid,.cr-awaiting-grid{grid-template-columns:1fr}
  .cr-filter-row{grid-template-columns:1fr}
  .cr-tool-top{padding:16px}
  .cr-tool-actions{align-items:stretch;flex-direction:column}
  .cr-view-switch{width:100%}
  .cr-view-switch button{flex:1}
  .cr-mine-actions{width:100%}
  .cr-mine-actions button{flex:1}
  .cr-calendar-panel{padding:14px}
  .cr-calendar-grid{
    grid-template-columns:1fr;
    gap:9px;
  }
  .cr-cal-weekday{display:none}
  .cr-cal-day{
    min-height:auto;
    display:grid;
    grid-template-columns:52px 1fr;
    align-items:start;
    gap:8px;
  }
  .cr-cal-day.is-outside{display:none}
  .cr-cal-day__num{margin:0;font-size:.85rem;padding-top:6px}
  .cr-cal-day__events{min-width:0}
  .cr-coupon-band{padding:22px}
  .cr-product-mini-grid{grid-template-columns:1fr}
  .cr-modal__facts{grid-template-columns:1fr}
}
