/*
  Portal ROSES v24DLB Desktop Home Dashboard v3 · Refresh Guard + Jadual Fit
  Scope: app.html desktop/tablet lebar sahaja.
  Mobile/native smartphone kekal menggunakan paparan asal kerana semua layout override berada dalam @media (min-width:1024px). Jadual Hari Ini desktop dipadatkan supaya tiada scroll kiri/kanan/atas/bawah dalam panel.
*/
.desktop-home-rail{display:none}

@media (min-width:1024px){
  body.roses-app-home{
    background:
      radial-gradient(circle at 96% 96%,rgba(255,255,255,.82) 0 0,rgba(255,255,255,.82) 28px,transparent 29px),
      radial-gradient(circle at 5% 0%,rgba(191,219,254,.56),transparent 38%),
      linear-gradient(180deg,#eff6fb 0%,#e2ebf5 100%)!important;
    min-height:100vh;
    overflow-x:hidden;
    overflow-y:auto;
    scrollbar-gutter:stable both-edges;
  }
  html[data-theme="dark"] body.roses-app-home{
    background:
      radial-gradient(circle at 96% 96%,rgba(96,165,250,.16) 0 0,rgba(96,165,250,.16) 28px,transparent 29px),
      radial-gradient(circle at 5% 0%,rgba(37,99,235,.22),transparent 40%),
      linear-gradient(180deg,#07111f 0%,#0b1526 100%)!important;
  }

  .roses-app-home .page{
    min-height:100vh;
    padding:18px 28px 112px 104px!important;
    display:flex;
    align-items:flex-start;
    justify-content:center;
  }

  .desktop-home-rail{
    position:fixed;
    inset:0 auto 0 0;
    z-index:60;
    width:72px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
    padding:18px 10px calc(env(safe-area-inset-bottom,0px) + 18px);
    background:rgba(255,255,255,.82);
    border-right:1px solid rgba(203,213,225,.86);
    box-shadow:8px 0 24px rgba(15,23,42,.06);
    backdrop-filter:blur(20px);
  }
  html[data-theme="dark"] .desktop-home-rail{
    background:rgba(8,17,30,.82);
    border-right-color:rgba(148,163,184,.14);
    box-shadow:10px 0 28px rgba(0,0,0,.24);
  }
  .desktop-home-rail__brand{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:14px;
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(15,23,42,.08);
    box-shadow:0 10px 18px rgba(15,23,42,.10);
    margin-bottom:6px;
  }
  html[data-theme="dark"] .desktop-home-rail__brand{
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.12);
  }
  .desktop-home-rail__brand img{width:100%;height:100%;object-fit:cover}
  .desktop-home-rail__item{
    width:54px;
    min-height:58px;
    border:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    border-radius:16px;
    background:transparent;
    color:#475569;
    text-align:center;
    text-decoration:none;
    font:inherit;
    transition:background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;
  }
  .desktop-home-rail__item:hover,
  .desktop-home-rail__item.is-active{
    color:#0f172a;
    background:linear-gradient(180deg,#eef6ff,#e8f1fb);
    box-shadow:inset 0 0 0 1px rgba(37,99,235,.08),0 10px 18px rgba(15,23,42,.06);
  }
  html[data-theme="dark"] .desktop-home-rail__item{color:#b6c6dc}
  html[data-theme="dark"] .desktop-home-rail__item:hover,
  html[data-theme="dark"] .desktop-home-rail__item.is-active{
    color:#fff;
    background:rgba(255,255,255,.08);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
  }
  .desktop-home-rail__item:active{transform:translateY(1px)}
  .desktop-home-rail__button{cursor:pointer;padding:0}
  .desktop-home-rail__icon{font-size:1.04rem;line-height:1}
  .desktop-home-rail__label{font-size:.60rem;font-weight:900;line-height:1.12;letter-spacing:-.01em}

  .roses-app-home .phone-shell{
    width:min(100%,1480px)!important;
    max-width:1480px!important;
    min-height:auto!important;
    gap:14px!important;
    padding-bottom:0!important;
  }

  .roses-app-home .topbar{
    display:none!important;
  }

  .roses-app-home .status-box{
    max-width:1480px;
    margin:0 auto;
  }

  .roses-app-home .menu-home-card{
    width:100%;
    display:grid!important;
    grid-template-columns:minmax(0,1.68fr) minmax(360px,.82fr);
    grid-template-areas:
      "hero telegram"
      "weather schedule"
      "menus schedule";
    align-items:start;
    gap:16px!important;
    padding:16px!important;
    border-radius:30px!important;
    background:rgba(255,255,255,.76)!important;
    border:1px solid rgba(203,213,225,.76)!important;
    box-shadow:0 24px 56px rgba(15,23,42,.12)!important;
    backdrop-filter:blur(18px);
    overflow:visible!important;
  }
  html[data-theme="dark"] .roses-app-home .menu-home-card{
    background:rgba(8,17,30,.76)!important;
    border-color:rgba(148,163,184,.14)!important;
    box-shadow:0 28px 62px rgba(0,0,0,.36)!important;
  }
  .roses-app-home .minimal-shell .content-card{border-radius:30px!important}

  .roses-app-home .home-dashboard-head{
    grid-area:hero;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:12px!important;
    margin:0!important;
    min-width:0;
  }
  .roses-app-home .home-live-panel{
    min-width:0;
    display:grid!important;
    grid-template-columns:minmax(220px,.92fr) minmax(300px,1.08fr);
    grid-template-areas:
      "date install"
      "time install"
      "divider install"
      "stats install";
    align-items:stretch;
    gap:8px 14px!important;
    padding:13px 14px!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.88)!important;
    border:1px solid rgba(203,213,225,.78)!important;
    box-shadow:0 12px 26px rgba(15,23,42,.08)!important;
  }
  html[data-theme="dark"] .roses-app-home .home-live-panel{
    background:rgba(15,23,42,.86)!important;
    border-color:rgba(148,163,184,.15)!important;
    box-shadow:none!important;
  }
  .roses-app-home .home-live-date{grid-area:date;font-size:.78rem!important;color:#0f172a!important;letter-spacing:.01em!important}
  .roses-app-home .home-live-time{grid-area:time;font-size:2.18rem!important;letter-spacing:.10em!important;color:#020617!important}
  .roses-app-home .home-live-time.is-preview-note{font-size:.92rem!important;letter-spacing:.01em!important;line-height:1.25!important}
  html[data-theme="dark"] .roses-app-home .home-live-date,
  html[data-theme="dark"] .roses-app-home .home-live-time{color:#f8fbff!important}
  .roses-app-home .home-live-divider{grid-area:divider;width:62%!important;height:7px!important;box-shadow:none!important}
  .roses-app-home .home-live-mini-row{display:contents!important;width:auto!important;max-width:none!important}
  .roses-app-home .home-live-mini-grid{
    grid-area:stats;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .roses-app-home .home-live-mini{
    min-height:58px!important;
    padding:8px 10px!important;
    border-radius:13px!important;
  }
  .roses-app-home .home-live-mini-label{font-size:.52rem!important;color:#64748b!important}
  .roses-app-home .home-live-mini-value{font-size:1.32rem!important;color:#0f172a!important}
  html[data-theme="dark"] .roses-app-home .home-live-mini-label{color:#9eb0c8!important}
  html[data-theme="dark"] .roses-app-home .home-live-mini-value{color:#f8fbff!important}
  .roses-app-home .home-install-banner{
    grid-area:install;
    width:100%!important;
    max-width:100%!important;
    min-height:118px!important;
    display:grid!important;
    grid-template-columns:128px minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:8px!important;
    margin:0!important;
    border-radius:20px!important;
  }
  .roses-app-home .home-install-banner__brand{flex-direction:column;justify-content:center;padding:9px 8px!important}
  .roses-app-home .home-install-banner__brand img{width:96px!important}
  .roses-app-home .home-install-banner__brand span{font-size:.56rem!important}
  .roses-app-home .home-install-banner__grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}
  .roses-app-home .home-install-platform{justify-content:center;flex-direction:column;gap:4px;min-height:78px;padding:8px 5px!important}
  .roses-app-home .home-install-platform b{font-size:.56rem!important;text-align:center}
  .roses-app-home .home-install-platform em{font-size:.42rem!important;text-align:center}

  .roses-app-home .home-role-row{
    margin:0!important;
    padding-top:8px!important;
    justify-content:flex-end!important;
  }
  .roses-app-home .home-role-row .mini-pill{
    min-height:34px!important;
    padding:0 14px!important;
    font-size:.76rem!important;
    box-shadow:0 10px 20px rgba(15,23,42,.08)!important;
  }
  .roses-app-home .roses-role-switch-banner{
    grid-column:1/-1;
    margin:0!important;
  }

  .roses-app-home .home-telegram-card{
    grid-area:telegram;
    min-height:128px;
    margin:0!important;
    align-self:stretch;
    padding:16px!important;
    border-radius:22px!important;
    background:linear-gradient(135deg,#dff6ff 0%,#c8eefc 50%,#e9faff 100%)!important;
    border-color:rgba(14,116,144,.14)!important;
    box-shadow:0 12px 26px rgba(15,23,42,.08)!important;
  }
  html[data-theme="dark"] .roses-app-home .home-telegram-card{
    background:linear-gradient(135deg,rgba(8,47,73,.86),rgba(15,23,42,.92))!important;
    border-color:rgba(56,189,248,.22)!important;
    box-shadow:none!important;
  }
  .roses-app-home .home-telegram-card strong{font-size:.86rem!important;color:#0f172a!important}
  .roses-app-home .home-telegram-card__copy div>span{font-size:.68rem!important;color:#475569!important}
  html[data-theme="dark"] .roses-app-home .home-telegram-card strong{color:#e0f2fe!important}
  html[data-theme="dark"] .roses-app-home .home-telegram-card__copy div>span{color:rgba(226,232,240,.78)!important}
  .roses-app-home .home-telegram-card__btn{min-width:90px!important;min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px!important;font-size:.72rem!important}

  .roses-app-home #homeWeatherCard{
    grid-area:weather;
    min-width:0;
  }
  .roses-app-home #homeWeatherCard .home-weather-card{
    margin:0!important;
    min-height:206px;
    padding:15px!important;
    border-radius:22px!important;
  }
  .roses-app-home .home-weather-grid{gap:7px!important}
  .roses-app-home .home-weather-day,
  .roses-app-home .home-weather-temp,
  .roses-app-home .home-weather-grid__label{min-height:42px!important;border-radius:14px!important}

  /* v24DLB desktop fit rule: Jadual Hari Ini tidak boleh ada scroll dalaman.
     Sasaran: sehingga 16 slot harian muat dalam panel kanan desktop. */
  .roses-app-home #homePdpTodayCard{
    --home-pdp-row-h:clamp(15px,calc((100vh - 520px) / 16),22px);
    --home-pdp-head-h:28px;
    grid-area:schedule;
    align-self:stretch;
    min-width:0;
    width:100%;
    max-width:100%;
    max-height:none!important;
    overflow:hidden!important;
    margin:0!important;
    padding:8px!important;
    border-radius:22px!important;
    box-sizing:border-box;
  }
  .roses-app-home #homePdpTodayCard:not([hidden]){
    display:flex!important;
    flex-direction:column!important;
  }
  .roses-app-home #homePdpTodayCard::-webkit-scrollbar{width:0;height:0}
  .roses-app-home .home-pdp-card__head{
    position:relative!important;
    top:auto!important;
    flex:0 0 auto;
    z-index:1;
    min-height:var(--home-pdp-head-h);
    padding:7px 8px 6px!important;
    background:inherit;
    gap:5px!important;
    overflow:hidden;
  }
  .roses-app-home .home-pdp-card__head-main{min-width:0;gap:4px!important}
  .roses-app-home .home-pdp-card__head h2{font-size:12px!important;line-height:1.05!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .roses-app-home .home-pdp-card__head h2::before{width:7px!important;height:7px!important;box-shadow:0 0 0 3px rgba(250,204,21,.10)!important}
  .roses-app-home .home-pdp-card__legend{display:flex!important;flex-wrap:nowrap!important;gap:3px!important;max-width:100%;overflow:hidden}
  .roses-app-home .home-pdp-card__legend-item{min-height:16px!important;padding:0 5px!important;font-size:6.1px!important;line-height:1!important;white-space:nowrap}
  .roses-app-home .home-pdp-debug-btn{min-height:20px!important;padding:0 6px!important;font-size:7px!important}
  .roses-app-home #homePdpTodayDebug:not([hidden]){max-height:72px!important;overflow:hidden!important}
  .roses-app-home .home-pdp-slot-list{
    flex:1 1 auto;
    min-height:0;
    max-height:100%;
    overflow:hidden!important;
    display:grid!important;
    grid-auto-rows:minmax(var(--home-pdp-row-h),var(--home-pdp-row-h));
    align-content:start;
    gap:0!important;
    padding:6px!important;
    box-sizing:border-box;
  }
  .roses-app-home .home-pdp-table-head{
    grid-template-columns:minmax(0,64px) minmax(0,1fr) minmax(0,58px)!important;
    min-height:20px!important;
    height:20px!important;
    font-size:6.1px!important;
    border-radius:11px 11px 0 0!important;
  }
  .roses-app-home .home-pdp-table-head span{min-height:16px!important;height:16px!important;padding:0 4px!important;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .roses-app-home .home-pdp-slot-row{
    grid-template-columns:minmax(0,64px) minmax(0,1fr) minmax(0,58px)!important;
    min-height:var(--home-pdp-row-h)!important;
    height:var(--home-pdp-row-h)!important;
    gap:0!important;
    padding:0!important;
    border-radius:0!important;
    overflow:hidden!important;
    box-shadow:none!important;
  }
  .roses-app-home .home-pdp-slot-row:last-child{border-radius:0 0 11px 11px!important}
  .roses-app-home .home-pdp-slot-row__time,
  .roses-app-home .home-pdp-slot-row__copy,
  .roses-app-home .home-pdp-slot-row__badge{
    min-height:var(--home-pdp-row-h)!important;
    height:var(--home-pdp-row-h)!important;
    max-height:var(--home-pdp-row-h)!important;
    box-sizing:border-box;
    overflow:hidden!important;
  }
  .roses-app-home .home-pdp-slot-row__time{
    justify-content:center!important;
    gap:1px!important;
    padding:2px 4px!important;
    font-size:6.6px!important;
    line-height:1.05!important;
    white-space:normal!important;
  }
  .roses-app-home .home-pdp-slot-row__timeline{
    max-width:54px!important;
    min-height:11px!important;
    height:11px!important;
    padding:0 3px!important;
    font-size:5.8px!important;
    line-height:11px!important;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
  .roses-app-home .home-pdp-slot-row__copy{
    align-content:center!important;
    gap:1px!important;
    padding:2px 5px!important;
  }
  .roses-app-home .home-pdp-slot-row__copy strong,
  .roses-app-home .home-pdp-slot-row__copy span,
  .roses-app-home .home-pdp-slot-row__remark{
    display:-webkit-box!important;
    -webkit-box-orient:vertical;
    overflow:hidden!important;
    text-overflow:ellipsis;
  }
  .roses-app-home .home-pdp-slot-row__copy strong{font-size:7.3px!important;line-height:1.04!important;-webkit-line-clamp:1}
  .roses-app-home .home-pdp-slot-row__copy span{font-size:6.3px!important;line-height:1.04!important;-webkit-line-clamp:1}
  .roses-app-home .home-pdp-slot-row__remark{margin-top:0!important;font-size:5.9px!important;line-height:1.04!important;-webkit-line-clamp:1}
  .roses-app-home .home-pdp-slot-row__badge{
    min-width:0!important;
    max-width:none!important;
    padding:2px 3px!important;
    border-radius:0!important;
    font-size:5.8px!important;
    line-height:1.05!important;
    letter-spacing:.015em!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    text-align:center;
    align-content:center;
    justify-content:center;
  }
  .roses-app-home .home-pdp-empty-state{
    min-height:120px!important;
    display:grid!important;
    place-items:center;
    text-align:center;
    overflow:hidden!important;
  }

  .roses-app-home #superAdminModeRoot:not([hidden]){
    grid-column:1/-1;
  }

  .roses-app-home #roleSubmenus{
    grid-area:menus;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:start;
    gap:14px!important;
    min-width:0;
  }
  .roses-app-home .submenu-group{
    gap:8px!important;
    min-width:0;
  }
  .roses-app-home .submenu-group--main-slots{
    grid-column:1/-1;
  }
  .roses-app-home .submenu-group-title{
    font-size:.64rem!important;
    letter-spacing:.11em!important;
    padding-left:2px;
  }
  .roses-app-home .submenu-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .roses-app-home .submenu-grid--main-slots{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .roses-app-home .submenu-tile{
    min-height:64px!important;
    padding:10px!important;
    border-radius:15px!important;
    gap:8px!important;
    justify-content:center!important;
    box-shadow:0 9px 18px rgba(15,23,42,.06)!important;
  }
  .roses-app-home .submenu-icon{
    width:30px!important;
    height:30px!important;
    border-radius:10px!important;
  }
  .roses-app-home .submenu-icon svg{width:17px!important;height:17px!important}
  .roses-app-home .submenu-label{
    font-size:.72rem!important;
    line-height:1.18!important;
  }

  .roses-app-home .bottom-nav{
    width:min(440px,calc(100vw - 220px))!important;
    bottom:calc(env(safe-area-inset-bottom,0px) + 16px)!important;
    border-radius:20px!important;
    padding:8px 10px!important;
    background:rgba(255,255,255,.94)!important;
    border-color:rgba(203,213,225,.78)!important;
    box-shadow:0 18px 34px rgba(15,23,42,.13)!important;
  }
  html[data-theme="dark"] .roses-app-home .bottom-nav{
    background:rgba(8,17,30,.92)!important;
    border-color:rgba(148,163,184,.14)!important;
    box-shadow:0 18px 34px rgba(0,0,0,.34)!important;
  }
  .roses-app-home .nav-item{min-height:48px!important;border-radius:15px!important}
  .roses-app-home .nav-icon{font-size:.94rem!important}
  .roses-app-home .nav-label{font-size:.70rem!important}
  /* v24DLB-v3: stabilkan repaint menu desktop supaya icon tidak hilang/flicker semasa data/Jadual Hari Ini dimuat. */
  .roses-app-home #roleSubmenus{
    contain:layout paint;
    min-height:210px;
  }
  .roses-app-home .submenu-tile{
    transform:translateZ(0);
    backface-visibility:hidden;
  }
  .roses-app-home #homePdpTodayCard{
    contain:layout paint;
  }

}

/* v24DZN: Home main menu slots. */
.roses-app-home .submenu-grid--main-slots{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.roses-app-home .submenu-tile.is-main-slot-draggable{
  cursor:grab;
  user-select:none;
  touch-action:none;
  -webkit-user-drag:none;
}
.roses-app-home .submenu-tile.is-main-slot-draggable:active{
  cursor:grabbing;
}
.roses-app-home #roleSubmenus.is-reordering .submenu-grid{
  border-radius:18px;
  outline:1px dashed rgba(37,99,235,.28);
  outline-offset:6px;
}
.roses-app-home .submenu-tile.is-dragging{
  opacity:.72;
  transform:scale(.985);
  border-color:rgba(37,99,235,.42)!important;
  box-shadow:0 16px 34px rgba(15,23,42,.16)!important;
}
.submenu-drag-ghost{
  position:fixed!important;
  left:0!important;
  top:0!important;
  z-index:2147482500!important;
  margin:0!important;
  pointer-events:none!important;
  opacity:.9!important;
  transform-origin:0 0!important;
  box-shadow:0 22px 46px rgba(15,23,42,.24)!important;
}
.roses-app-home .submenu-empty-slot{
  min-height:66px;
  border:1.5px dashed rgba(37,99,235,.28);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(37,99,235,.055),rgba(14,165,233,.035));
  color:rgba(30,58,138,.68);
  display:grid;
  place-items:center;
  text-align:center;
  font-size:.70rem;
  font-weight:900;
  letter-spacing:.02em;
  user-select:none;
  pointer-events:auto;
  touch-action:none;
}
.roses-app-home #roleSubmenus.is-reordering .submenu-empty-slot{
  border-color:rgba(37,99,235,.48);
  background:linear-gradient(180deg,rgba(37,99,235,.10),rgba(14,165,233,.07));
  color:#1d4ed8;
}
html[data-theme="dark"] .roses-app-home .submenu-empty-slot{
  border-color:rgba(147,197,253,.26);
  background:linear-gradient(180deg,rgba(96,165,250,.09),rgba(14,165,233,.045));
  color:rgba(219,234,254,.62);
}
html[data-theme="dark"] .roses-app-home #roleSubmenus.is-reordering .submenu-empty-slot{
  border-color:rgba(147,197,253,.48);
  background:linear-gradient(180deg,rgba(96,165,250,.15),rgba(14,165,233,.09));
  color:#dbeafe;
}
html[data-theme="dark"] .roses-app-home .submenu-tile.is-dragging{
  border-color:rgba(147,197,253,.42)!important;
  box-shadow:0 18px 38px rgba(0,0,0,.38)!important;
}

@media (min-width:1280px){
  .roses-app-home .menu-home-card{
    grid-template-columns:minmax(0,1.76fr) minmax(380px,.74fr);
    gap:18px!important;
  }
  .roses-app-home .submenu-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .roses-app-home .submenu-tile{min-height:66px!important}
}

@media (min-width:1024px) and (max-width:1180px){
  .roses-app-home .page{padding-left:92px!important;padding-right:16px!important}
  .roses-app-home .menu-home-card{grid-template-columns:minmax(0,1fr) minmax(330px,.68fr)}
  .roses-app-home .home-live-panel{grid-template-columns:minmax(190px,.75fr) minmax(250px,1fr)}
  .roses-app-home .home-install-banner{grid-template-columns:110px minmax(0,1fr)!important}
  .roses-app-home #roleSubmenus{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v24DLB Desktop Jadual Hari Ini Fit No Scroll v2 - density guards */
@media (min-width:1024px) and (max-height:760px){
  .roses-app-home #homePdpTodayCard{--home-pdp-row-h:clamp(13px,calc((100vh - 535px) / 16),17px);padding:5px!important}
  .roses-app-home .home-pdp-card__head{min-height:25px;padding:4px 6px 3px!important}
  .roses-app-home .home-pdp-card__head h2{font-size:10.8px!important}
  .roses-app-home .home-pdp-card__legend-item{min-height:14px!important;font-size:5.8px!important;padding:0 4px!important}
  .roses-app-home .home-pdp-slot-list{padding:5px!important}
  .roses-app-home .home-pdp-table-head{min-height:14px!important;height:14px!important;font-size:5.6px!important}
  .roses-app-home .home-pdp-table-head span{min-height:14px!important;height:14px!important;padding:0 3px!important}
  .roses-app-home .home-pdp-slot-row__copy strong{font-size:7.7px!important}
  .roses-app-home .home-pdp-slot-row__copy span{font-size:6.7px!important}
  .roses-app-home .home-pdp-slot-row__badge{font-size:5.8px!important}
}
@media (min-width:1181px){
  .roses-app-home #homePdpTodayCard{--home-pdp-row-h:clamp(16px,calc((100vh - 520px) / 16),23px)}
  .roses-app-home .home-pdp-table-head,
  .roses-app-home .home-pdp-slot-row{grid-template-columns:minmax(0,70px) minmax(0,1fr) minmax(0,64px)!important}
  .roses-app-home .home-pdp-slot-row__timeline{max-width:60px!important}
}


/* v24DLV final desktop polish: besarkan teks Jadual Hari Ini desktop sahaja.
   Mobile/native kekal tidak disentuh kerana semua override berada dalam @media (min-width:1024px). */
@media (min-width:1024px){
  .roses-app-home #homePdpTodayCard{
    --home-pdp-row-h:clamp(24px,calc((100vh - 450px) / 16),31px)!important;
    --home-pdp-head-h:38px!important;
    padding:10px!important;
  }
  .roses-app-home .home-pdp-card__head{
    min-height:var(--home-pdp-head-h)!important;
    padding:8px 10px 7px!important;
    gap:6px!important;
  }
  .roses-app-home .home-pdp-card__head h2{
    font-size:15.5px!important;
    line-height:1.12!important;
    letter-spacing:-.01em!important;
  }
  .roses-app-home .home-pdp-card__head h2::before{
    width:9px!important;
    height:9px!important;
  }
  .roses-app-home .home-pdp-card__legend{
    gap:5px!important;
  }
  .roses-app-home .home-pdp-card__legend-item{
    min-height:22px!important;
    padding:0 7px!important;
    font-size:8.8px!important;
    line-height:1.05!important;
  }
  .roses-app-home .home-pdp-debug-btn{
    min-height:24px!important;
    padding:0 8px!important;
    font-size:9px!important;
  }
  .roses-app-home .home-pdp-slot-list{
    padding:7px!important;
  }
  .roses-app-home .home-pdp-table-head{
    grid-template-columns:minmax(0,76px) minmax(0,1fr) minmax(0,78px)!important;
    min-height:24px!important;
    height:24px!important;
    font-size:8.4px!important;
    letter-spacing:.06em!important;
  }
  .roses-app-home .home-pdp-table-head span{
    min-height:22px!important;
    height:22px!important;
    padding:0 6px!important;
  }
  .roses-app-home .home-pdp-slot-row{
    grid-template-columns:minmax(0,76px) minmax(0,1fr) minmax(0,78px)!important;
  }
  .roses-app-home .home-pdp-slot-row__time{
    padding:3px 6px!important;
    font-size:9.2px!important;
    line-height:1.08!important;
    font-weight:800!important;
  }
  .roses-app-home .home-pdp-slot-row__timeline{
    max-width:68px!important;
    min-height:16px!important;
    height:16px!important;
    padding:0 5px!important;
    font-size:8.1px!important;
    line-height:16px!important;
    border-radius:999px!important;
  }
  .roses-app-home .home-pdp-slot-row__copy{
    gap:2px!important;
    padding:3px 7px!important;
  }
  .roses-app-home .home-pdp-slot-row__copy strong{
    font-size:10.8px!important;
    line-height:1.12!important;
    font-weight:900!important;
  }
  .roses-app-home .home-pdp-slot-row__copy span{
    font-size:9.2px!important;
    line-height:1.12!important;
  }
  .roses-app-home .home-pdp-slot-row__remark{
    margin-top:1px!important;
    font-size:8.6px!important;
    line-height:1.1!important;
  }
  .roses-app-home .home-pdp-slot-row__badge{
    padding:3px 5px!important;
    font-size:8.3px!important;
    line-height:1.08!important;
    letter-spacing:.025em!important;
    font-weight:900!important;
  }
}

@media (min-width:1024px) and (max-height:760px){
  .roses-app-home #homePdpTodayCard{
    --home-pdp-row-h:clamp(22px,calc((100vh - 455px) / 16),28px)!important;
    --home-pdp-head-h:34px!important;
    padding:8px!important;
  }
  .roses-app-home .home-pdp-card__head h2{font-size:14.4px!important}
  .roses-app-home .home-pdp-card__legend-item{min-height:20px!important;font-size:8.2px!important;padding:0 6px!important}
  .roses-app-home .home-pdp-table-head{min-height:22px!important;height:22px!important;font-size:8px!important}
  .roses-app-home .home-pdp-table-head span{min-height:20px!important;height:20px!important}
  .roses-app-home .home-pdp-slot-row__time{font-size:8.8px!important}
  .roses-app-home .home-pdp-slot-row__timeline{font-size:7.8px!important;min-height:15px!important;height:15px!important;line-height:15px!important}
  .roses-app-home .home-pdp-slot-row__copy strong{font-size:10.2px!important}
  .roses-app-home .home-pdp-slot-row__copy span{font-size:8.8px!important}
  .roses-app-home .home-pdp-slot-row__remark{font-size:8.1px!important}
  .roses-app-home .home-pdp-slot-row__badge{font-size:7.9px!important}
}

@media (min-width:1181px){
  .roses-app-home #homePdpTodayCard{
    --home-pdp-row-h:clamp(25px,calc((100vh - 445px) / 16),33px)!important;
  }
  .roses-app-home .home-pdp-table-head,
  .roses-app-home .home-pdp-slot-row{
    grid-template-columns:minmax(0,84px) minmax(0,1fr) minmax(0,86px)!important;
  }
  .roses-app-home .home-pdp-slot-row__timeline{max-width:76px!important}
}

/* v24DLW today column-ratio text polish: besarkan kandungan Masa / Kelas-Subjek / Status secara seimbang ikut ratio kolom.
   Desktop sahaja; mobile/native kekal guna style asal. */
@media (min-width:1024px){
  .roses-app-home .home-pdp-table-head,
  .roses-app-home .home-pdp-slot-row{
    grid-template-columns:minmax(0,90px) minmax(0,1fr) minmax(0,92px)!important;
  }
  .roses-app-home .home-pdp-table-head{
    font-size:8.8px!important;
  }
  .roses-app-home .home-pdp-slot-row__time{
    padding:3px 7px!important;
    font-size:9.9px!important;
    line-height:1.1!important;
    letter-spacing:-.01em!important;
  }
  .roses-app-home .home-pdp-slot-row__timeline{
    max-width:82px!important;
    font-size:8.7px!important;
    font-weight:900!important;
  }
  .roses-app-home .home-pdp-slot-row__copy{
    padding:3px 8px!important;
  }
  .roses-app-home .home-pdp-slot-row__copy strong{
    font-size:12px!important;
    line-height:1.1!important;
    letter-spacing:-.015em!important;
  }
  .roses-app-home .home-pdp-slot-row__copy span{
    font-size:10.1px!important;
    line-height:1.1!important;
  }
  .roses-app-home .home-pdp-slot-row__remark{
    font-size:9.1px!important;
    line-height:1.08!important;
  }
  .roses-app-home .home-pdp-slot-row__badge{
    padding:3px 6px!important;
    font-size:9.1px!important;
    line-height:1.08!important;
    letter-spacing:.015em!important;
  }
}

@media (min-width:1024px) and (max-height:760px){
  .roses-app-home .home-pdp-table-head,
  .roses-app-home .home-pdp-slot-row{
    grid-template-columns:minmax(0,84px) minmax(0,1fr) minmax(0,86px)!important;
  }
  .roses-app-home .home-pdp-table-head{font-size:8.4px!important}
  .roses-app-home .home-pdp-slot-row__time{font-size:9.4px!important;padding:2px 6px!important}
  .roses-app-home .home-pdp-slot-row__timeline{max-width:76px!important;font-size:8.2px!important}
  .roses-app-home .home-pdp-slot-row__copy strong{font-size:11.3px!important}
  .roses-app-home .home-pdp-slot-row__copy span{font-size:9.5px!important}
  .roses-app-home .home-pdp-slot-row__remark{font-size:8.7px!important}
  .roses-app-home .home-pdp-slot-row__badge{font-size:8.6px!important;padding:2px 5px!important}
}

@media (min-width:1181px){
  .roses-app-home .home-pdp-table-head,
  .roses-app-home .home-pdp-slot-row{
    grid-template-columns:minmax(0,96px) minmax(0,1fr) minmax(0,98px)!important;
  }
  .roses-app-home .home-pdp-slot-row__time{font-size:10.3px!important}
  .roses-app-home .home-pdp-slot-row__timeline{max-width:88px!important;font-size:9px!important}
  .roses-app-home .home-pdp-slot-row__copy strong{font-size:12.4px!important}
  .roses-app-home .home-pdp-slot-row__copy span{font-size:10.4px!important}
  .roses-app-home .home-pdp-slot-row__badge{font-size:9.4px!important}
}

/* v24DLX today row-ratio balance: laraskan tinggi row/padding/line-height ikut saiz teks kolom Masa, Kelas-Subjek dan Status.
   Desktop sahaja. Mobile/native tidak disentuh. */
@media (min-width:1024px){
  .roses-app-home #homePdpTodayCard{
    --home-pdp-row-h:clamp(34px,calc((100vh - 390px) / 16),44px)!important;
  }
  .roses-app-home .home-pdp-slot-list{
    grid-auto-rows:minmax(var(--home-pdp-row-h),max-content)!important;
    gap:2px!important;
    padding:8px!important;
  }
  .roses-app-home .home-pdp-slot-row{
    min-height:var(--home-pdp-row-h)!important;
    height:auto!important;
    max-height:none!important;
    align-items:stretch!important;
    border-radius:11px!important;
    overflow:hidden!important;
  }
  .roses-app-home .home-pdp-slot-row:last-child{
    border-radius:11px!important;
  }
  .roses-app-home .home-pdp-slot-row__time,
  .roses-app-home .home-pdp-slot-row__copy,
  .roses-app-home .home-pdp-slot-row__badge{
    min-height:var(--home-pdp-row-h)!important;
    height:auto!important;
    max-height:none!important;
  }
  .roses-app-home .home-pdp-slot-row__time{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    padding:5px 7px!important;
    line-height:1.14!important;
  }
  .roses-app-home .home-pdp-slot-row__time>span{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .roses-app-home .home-pdp-slot-row__timeline{
    min-height:17px!important;
    height:17px!important;
    line-height:17px!important;
  }
  .roses-app-home .home-pdp-slot-row__copy{
    display:grid!important;
    align-content:center!important;
    gap:2px!important;
    padding:5px 9px!important;
    line-height:1.12!important;
  }
  .roses-app-home .home-pdp-slot-row__copy strong{
    line-height:1.15!important;
    -webkit-line-clamp:1!important;
  }
  .roses-app-home .home-pdp-slot-row__copy span{
    line-height:1.14!important;
    -webkit-line-clamp:1!important;
  }
  .roses-app-home .home-pdp-slot-row__remark{
    line-height:1.12!important;
    -webkit-line-clamp:1!important;
  }
  .roses-app-home .home-pdp-slot-row__badge{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    align-content:center!important;
    min-height:calc(var(--home-pdp-row-h) - 8px)!important;
    margin:4px 5px!important;
    padding:4px 7px!important;
    border-radius:12px!important;
    line-height:1.12!important;
    -webkit-line-clamp:2!important;
  }
}

@media (min-width:1024px) and (max-height:760px){
  .roses-app-home #homePdpTodayCard{
    --home-pdp-row-h:clamp(31px,calc((100vh - 410px) / 16),38px)!important;
  }
  .roses-app-home .home-pdp-slot-list{gap:1px!important;padding:7px!important}
  .roses-app-home .home-pdp-slot-row__time{gap:2px!important;padding:4px 6px!important}
  .roses-app-home .home-pdp-slot-row__timeline{min-height:16px!important;height:16px!important;line-height:16px!important}
  .roses-app-home .home-pdp-slot-row__copy{gap:1px!important;padding:4px 8px!important}
  .roses-app-home .home-pdp-slot-row__badge{margin:3px 5px!important;min-height:calc(var(--home-pdp-row-h) - 6px)!important;padding:3px 6px!important}
}

@media (min-width:1181px){
  .roses-app-home #homePdpTodayCard{
    --home-pdp-row-h:clamp(36px,calc((100vh - 382px) / 16),46px)!important;
  }
}

/* v24DZA: Desktop rasmi polish - lebih formal, kurang glow, dan tiada navigasi mobile terapung. */
@media (min-width:1024px){
  body.roses-app-home{
    background:#eef3f8!important;
  }
  html[data-theme="dark"] body.roses-app-home{
    background:#07111f!important;
  }

  .roses-app-home .page{
    padding:18px 28px 34px 104px!important;
  }

  .desktop-home-rail{
    background:#ffffff!important;
    border-right:1px solid #d8e2ee!important;
    box-shadow:6px 0 18px rgba(15,23,42,.05)!important;
    backdrop-filter:none!important;
  }
  html[data-theme="dark"] .desktop-home-rail{
    background:#08111f!important;
    border-right-color:rgba(148,163,184,.16)!important;
    box-shadow:none!important;
  }
  .desktop-home-rail__brand,
  .desktop-home-rail__item:hover,
  .desktop-home-rail__item.is-active{
    box-shadow:none!important;
  }

  .roses-app-home .menu-home-card{
    grid-template-columns:minmax(0,1.58fr) minmax(360px,.78fr)!important;
    gap:16px!important;
    padding:14px!important;
    border-radius:22px!important;
    background:#ffffff!important;
    border-color:#d8e2ee!important;
    box-shadow:0 12px 28px rgba(15,23,42,.08)!important;
    backdrop-filter:none!important;
  }
  html[data-theme="dark"] .roses-app-home .menu-home-card{
    background:#08111f!important;
    border-color:rgba(148,163,184,.16)!important;
    box-shadow:none!important;
  }

  .roses-app-home .home-live-panel,
  .roses-app-home .home-telegram-card,
  .roses-app-home #homeWeatherCard .home-weather-card,
  .roses-app-home #homePdpTodayCard,
  .roses-app-home .submenu-tile{
    border-radius:16px!important;
    box-shadow:none!important;
  }
  .roses-app-home .home-live-panel{
    background:#f8fbff!important;
    border-color:#dbe6f3!important;
  }
  html[data-theme="dark"] .roses-app-home .home-live-panel,
  html[data-theme="dark"] .roses-app-home #homePdpTodayCard{
    background:#0d1727!important;
    border-color:rgba(148,163,184,.16)!important;
  }

  .roses-app-home .home-install-banner{
    border-radius:16px!important;
    box-shadow:none!important;
  }
  .roses-app-home .home-install-platform{
    border-radius:14px!important;
    box-shadow:none!important;
  }

  .roses-app-home .home-telegram-card{
    background:#f5fbff!important;
    border-color:#dbeafe!important;
  }
  html[data-theme="dark"] .roses-app-home .home-telegram-card{
    background:#092036!important;
    border-color:rgba(56,189,248,.18)!important;
  }

  .roses-app-home #roleSubmenus{
    gap:16px!important;
  }
  .roses-app-home .submenu-group-title{
    color:#52637a!important;
    letter-spacing:.10em!important;
  }
  html[data-theme="dark"] .roses-app-home .submenu-group-title{
    color:#9aaec6!important;
  }
  .roses-app-home .submenu-tile{
    background:#f8fbff!important;
    border-color:#dbe6f3!important;
  }
  html[data-theme="dark"] .roses-app-home .submenu-tile{
    background:#0c1728!important;
    border-color:rgba(148,163,184,.16)!important;
  }

  .roses-app-home .bottom-nav{
    display:none!important;
  }
}


/* v24ECQ: left desktop rail removed; footer gaya mobile digunakan pada desktop */
@media (min-width:1024px){
  .desktop-home-rail{display:none!important;visibility:hidden!important;pointer-events:none!important;}
  .roses-app-home .page{padding:18px 28px 128px!important;justify-content:center!important;}
  .roses-app-home .phone-shell{margin-left:auto!important;margin-right:auto!important;}
  .roses-app-home .menu-home-card{max-width:1480px!important;margin-inline:auto!important;}
}
