:root{
  --red:#df151d;--red-dark:#9f0910;--ink:#202124;--muted:#667080;
  --line:#dbe0e7;--bg:#eef1f4;--card:#fff;--shadow:0 15px 40px rgba(24,34,48,.12);
  --turquoise:#19b8c7;--turquoise-dark:#1098a5
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{overflow:hidden;background:var(--bg);color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif}
button,input{font:inherit}
.app{height:100%;display:grid;grid-template-rows:64px minmax(0,1fr)}
.topbar{
  position:relative;z-index:70;display:flex;align-items:center;gap:12px;padding:0 14px;
  background:linear-gradient(135deg,var(--red-dark),var(--red));color:#fff;
  box-shadow:0 3px 16px rgba(91,4,9,.25)
}
.icon-button{
  display:grid;place-items:center;width:42px;height:42px;padding:0;
  border:1px solid rgba(255,255,255,.45);border-radius:12px;
  background:rgba(255,255,255,.08);color:#fff;cursor:pointer
}
.icon-button:hover{background:rgba(255,255,255,.18)}
svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.icon-button svg{width:23px;height:23px}
.brand{
  appearance:none;display:flex;align-items:center;gap:10px;padding:0;border:0;
  background:transparent;color:#fff;text-align:left;cursor:pointer;font-weight:1000
}
.brand img{width:35px;height:43px;object-fit:contain;filter:brightness(0) invert(1)}
.brand span{font-size:19px;letter-spacing:.01em}
.brand small{display:block;margin-top:2px;font-size:10px;font-weight:700;opacity:.82}
.top-spacer{flex:1}
.top-label{font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;opacity:.9}
.layout{min-height:0;position:relative}
.content{height:100%;min-width:0;padding:10px}
.home,.frame-wrap{width:100%;height:100%}
.home{overflow:auto;padding:10px}
.frame-wrap{
  overflow:hidden;background:#fff;border:1px solid var(--line);
  border-radius:16px;box-shadow:0 4px 18px rgba(24,34,48,.06)
}
iframe{width:100%;height:100%;border:0;background:#fff}
.hidden{display:none!important}
.sidebar-backdrop{
  position:fixed;inset:64px 0 0;z-index:79;background:rgba(18,24,32,.46);
  opacity:0;pointer-events:none;transition:opacity .18s ease
}
.sidebar{
  position:fixed;top:64px;bottom:0;left:0;z-index:80;width:min(88vw,350px);
  overflow:auto;padding:16px;background:#fff;border-right:1px solid var(--line);
  box-shadow:18px 0 45px rgba(0,0,0,.22);transform:translateX(-108%);
  transition:transform .2s ease
}
body.menu-open .sidebar{transform:none}
body.menu-open .sidebar-backdrop{opacity:1;pointer-events:auto}
.menu-head{display:flex;align-items:center;gap:10px;padding:4px 3px 16px;border-bottom:1px solid var(--line)}
.menu-head strong{font-size:21px}
.menu-head span{display:block;margin-top:2px;color:var(--muted);font-size:12px}
.menu-close{
  margin-left:auto;display:grid;place-items:center;width:39px;height:39px;padding:0;
  border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);cursor:pointer
}
.menu-close svg{width:21px;height:21px}
.header-search{
  position:absolute;top:calc(100% + 8px);right:14px;z-index:90;width:min(88vw,300px)
}
.header-search input{
  width:100%;padding:10px 14px;border:1px solid var(--line);border-radius:11px;
  background:#fff;color:var(--ink);font-size:14px;
  box-shadow:0 18px 40px rgba(0,0,0,.22)
}
.header-search input:focus{outline:2px solid #df151d;outline-offset:1px}
.header-search .search-results{
  margin-top:8px;
  display:grid;gap:8px;max-height:min(70vh,480px);overflow:auto;padding:10px;
  background:#fff;border:1px solid var(--line);border-radius:14px;
  box-shadow:0 18px 40px rgba(0,0,0,.22)
}
.search-empty{margin:6px 2px;color:var(--muted);font-size:13px}
.cookie-banner{
  position:fixed;left:14px;right:14px;bottom:14px;z-index:95;
  display:flex;flex-wrap:wrap;align-items:center;gap:14px;
  max-width:760px;margin:0 auto;padding:16px 18px;
  border:1px solid var(--line);border-radius:16px;
  background:#fff;box-shadow:var(--shadow)
}
.cookie-banner[hidden]{display:none}
.cookie-banner p{flex:1 1 320px;margin:0;color:var(--ink);font-size:13px;line-height:1.5}
.cookie-banner-link{
  padding:0;border:0;background:none;color:var(--red);font:inherit;
  font-weight:800;text-decoration:underline;cursor:pointer
}
.cookie-banner-actions{display:flex;gap:9px;flex:none}
.cookie-banner-actions button{
  min-height:42px;padding:9px 16px;border-radius:10px;font-weight:900;cursor:pointer
}
.cookie-banner-actions .primary{background:var(--turquoise);border:1px solid var(--turquoise-dark);color:#fff}
.cookie-banner-actions .primary:hover,
.cookie-banner-actions .primary:focus-visible{background:var(--turquoise-dark);border-color:var(--turquoise-dark)}
.cookie-banner-actions .secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}
@media(max-width:600px){
  .cookie-banner{flex-direction:column;align-items:stretch}
  .cookie-banner-actions{width:100%}
  .cookie-banner-actions button{flex:1}
}
.nav-list{display:grid;gap:9px;margin-top:15px}
.nav-item{
  width:100%;display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;
  padding:11px;border:1px solid transparent;border-radius:15px;background:transparent;
  color:var(--ink);text-align:left;cursor:pointer
}
.nav-item:hover{background:#f3f5f8;border-color:#e5e9ee}
.nav-item.active{background:#fff0f1;border-color:#f0b7ba;color:#920a10}
.nav-icon{
  display:grid;place-items:center;width:48px;height:48px;border-radius:14px;
  background:#eef1f5;color:#445060
}
.nav-item.active .nav-icon{background:#df151d;color:#fff}
.nav-icon svg{width:26px;height:26px}
.nav-item strong{display:block;font-size:15px}
.nav-item small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35}
.nav-item.active small{color:#80575a}
.home-hero{
  min-height:300px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,460px);
  gap:24px;align-items:center;padding:clamp(26px,5vw,54px);border-radius:24px;
  background:radial-gradient(circle at 88% 10%,rgba(255,255,255,.18),transparent 19rem),
  linear-gradient(135deg,#9e0910,#df151d 58%,#ed333a);color:#fff;
  box-shadow:0 18px 45px rgba(105,5,11,.22)
}
.eyebrow{font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;opacity:.86}
.home-hero h1{margin:.15em 0;font-size:clamp(42px,7vw,82px);line-height:.95;letter-spacing:-.045em}
.home-hero p{max-width:670px;margin:14px 0 0;font-size:clamp(16px,2vw,20px);line-height:1.55}
.home-hero img{width:100%;max-height:330px;object-fit:cover;object-position:top;border:4px solid rgba(255,255,255,.33);border-radius:16px}
.quick-title{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:25px 3px 12px}
.quick-title h2{margin:0;font-size:27px}
.quick-title p{margin:0;color:var(--muted);font-size:13px}
.home-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;padding-bottom:28px}
.home-card{
  appearance:none;min-height:184px;display:flex;flex-direction:column;align-items:flex-start;
  padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;
  color:var(--ink);text-align:left;cursor:pointer;box-shadow:0 4px 15px rgba(24,34,48,.045);
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease
}
.home-card:hover{transform:translateY(-3px);border-color:#e7a7aa;box-shadow:var(--shadow)}
.home-card-icon{display:grid;place-items:center;width:49px;height:49px;border-radius:14px;background:#fff0f1;color:#b20d14}
.home-card-icon svg{width:28px;height:28px}
.home-card h3{margin:16px 0 7px;font-size:18px}
.home-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.home-card .go{margin-top:auto;padding-top:14px;color:#a50b12;font-size:12px;font-weight:900}
@media(max-width:1150px){.home-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){
  .home-hero{grid-template-columns:1fr}.home-hero img{display:none}
  .home-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .app{grid-template-rows:56px minmax(0,1fr)}
  .topbar{height:56px;padding:0 9px}.top-label{display:none}.brand small{display:none}
  .brand span{display:none}.brand img{width:31px;height:38px}
  .sidebar{top:56px}.sidebar-backdrop{inset:56px 0 0}
  .content{padding:5px}.home{padding:5px}.frame-wrap{border-radius:11px}
  .home-hero{min-height:250px;padding:25px 20px;border-radius:18px}
  .home-grid{grid-template-columns:1fr}.quick-title{align-items:flex-start;flex-direction:column}
}

/* ===== Injection 007: unified red header ===== */
:root{
  --red:#df151d !important;
  --red-dark:#df151d !important;
}

.app{
  grid-template-rows:64px minmax(0,1fr) !important;
}

.topbar{
  height:64px !important;
  min-height:64px !important;
  max-height:64px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  background:#df151d !important;
  background-image:none !important;
}

@media(max-width:600px){
  .app{
    grid-template-rows:56px minmax(0,1fr) !important;
  }

  .topbar{
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
  }
}

/* ===== Injection 012: home hero is the Calendar button ===== */

.home-hero-calendar {
  position: relative !important;
  cursor: pointer !important;
  outline: none !important;
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    filter .16s ease !important;
}

.home-hero-calendar:hover {
  transform: translateY(-3px) !important;
  filter: brightness(1.025) !important;
  box-shadow: 0 24px 58px rgba(105, 5, 11, .29) !important;
}

.home-hero-calendar:active {
  transform: translateY(-1px) scale(.998) !important;
}

.home-hero-calendar:focus-visible {
  box-shadow:
    0 0 0 5px rgba(255, 255, 255, .92),
    0 0 0 9px rgba(223, 21, 29, .38),
    0 24px 58px rgba(105, 5, 11, .29) !important;
}

.hero-calendar-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  margin-top: 24px !important;
  padding: 10px 16px !important;
  border: 2px solid rgba(255, 255, 255, .9) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #a20a11 !important;
  font-size: 13px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  box-shadow: 0 6px 18px rgba(67, 0, 4, .18) !important;
}

.home-hero-calendar::after {
  content: "CALENDAR" !important;
  position: absolute !important;
  right: 22px !important;
  bottom: -22px !important;
  color: rgba(255, 255, 255, .075) !important;
  font-size: clamp(76px, 11vw, 170px) !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  letter-spacing: -.06em !important;
  pointer-events: none !important;
}

.home-hero-calendar img {
  transition: transform .18s ease !important;
}

.home-hero-calendar:hover img {
  transform: scale(1.018) !important;
}

@media (max-width: 850px) {
  .home-hero-calendar::after {
    right: -4px !important;
    font-size: 88px !important;
  }
}

/* ===== Injection 012B: Calendar hero button repair ===== */

.home-hero-calendar{
  position:relative !important;
  cursor:pointer !important;
  outline:none !important;
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    filter .16s ease !important;
}

.home-hero-calendar:hover{
  transform:translateY(-3px) !important;
  filter:brightness(1.025) !important;
  box-shadow:0 24px 58px rgba(105,5,11,.29) !important;
}

.home-hero-calendar:active{
  transform:translateY(-1px) scale(.998) !important;
}

.home-hero-calendar:focus-visible{
  box-shadow:
    0 0 0 5px rgba(255,255,255,.92),
    0 0 0 9px rgba(223,21,29,.38),
    0 24px 58px rgba(105,5,11,.29) !important;
}

.hero-calendar-action{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  margin-top:24px !important;
  padding:10px 16px !important;
  border:2px solid rgba(255,255,255,.9) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#a20a11 !important;
  font-size:13px !important;
  font-weight:1000 !important;
  line-height:1 !important;
  box-shadow:0 6px 18px rgba(67,0,4,.18) !important;
}

.home-hero-calendar::after{
  content:"CALENDAR" !important;
  position:absolute !important;
  right:22px !important;
  bottom:-22px !important;
  color:rgba(255,255,255,.075) !important;
  font-size:clamp(76px,11vw,170px) !important;
  font-weight:1000 !important;
  line-height:1 !important;
  letter-spacing:-.06em !important;
  pointer-events:none !important;
}

.home-hero-calendar img{
  transition:transform .18s ease !important;
}

.home-hero-calendar:hover img{
  transform:scale(1.018) !important;
}

@media(max-width:850px){
  .home-hero-calendar::after{
    right:-4px !important;
    font-size:88px !important;
  }
}

/* ===== Injection 012C: forced Calendar hero button ===== */

.home-hero,
.home-hero-calendar{
  position:relative !important;
}

.home-hero-calendar{
  cursor:pointer !important;
  outline:none !important;
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    filter .16s ease !important;
}

.home-hero-calendar:hover{
  transform:translateY(-3px) !important;
  filter:brightness(1.025) !important;
  box-shadow:0 24px 58px rgba(105,5,11,.29) !important;
}

.home-hero-calendar:active{
  transform:translateY(-1px) scale(.998) !important;
}

.home-hero-calendar:focus-visible{
  box-shadow:
    0 0 0 5px rgba(255,255,255,.92),
    0 0 0 9px rgba(223,21,29,.38),
    0 24px 58px rgba(105,5,11,.29) !important;
}

.hero-calendar-action{
  position:relative !important;
  z-index:4 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  margin-top:24px !important;
  padding:11px 18px !important;
  border:2px solid rgba(255,255,255,.94) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#a20a11 !important;
  -webkit-text-fill-color:#a20a11 !important;
  font-family:Arial,"Helvetica Neue",sans-serif !important;
  font-size:14px !important;
  font-weight:1000 !important;
  line-height:1 !important;
  box-shadow:0 7px 19px rgba(67,0,4,.20) !important;
  pointer-events:none !important;
}

.home-hero-calendar::after{
  content:"CALENDAR" !important;
  position:absolute !important;
  right:22px !important;
  bottom:-24px !important;
  z-index:1 !important;
  color:rgba(255,255,255,.075) !important;
  -webkit-text-fill-color:rgba(255,255,255,.075) !important;
  font-size:clamp(76px,11vw,170px) !important;
  font-weight:1000 !important;
  line-height:1 !important;
  letter-spacing:-.06em !important;
  pointer-events:none !important;
}

.home-hero-calendar > *{
  position:relative !important;
  z-index:2 !important;
}

.home-hero-calendar img{
  transition:transform .18s ease !important;
}

.home-hero-calendar:hover img{
  transform:scale(1.018) !important;
}

@media(max-width:850px){
  .home-hero-calendar::after{
    right:-4px !important;
    font-size:88px !important;
  }
}
