/* HUB Hotfix: modal visibility + Hobby forms (safe overrides) */

.modal.isOpen,
#modal.isOpen,
#modalRoot.isOpen{
  display:block !important;
}

.modal__panel{
  background: var(--panel) !important;
  color: var(--text) !important;
  max-height: min(86vh, 780px) !important;
  display:flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.modal__head{
  flex: 0 0 auto !important;
  background: rgba(255,255,255,0.85) !important;
  border-bottom: 1px solid var(--border) !important;
}

.modal__title{
  color: var(--text) !important;
}

.modal__body{
  flex: 1 1 auto !important;
  padding: 16px !important;
  overflow: auto !important;
  color: var(--text) !important;
}

.modal__foot{
  flex: 0 0 auto !important;
  padding: 12px 16px !important;
  border-top: 1px solid var(--border) !important;
  display:flex !important;
  justify-content:flex-end !important;
  gap: 10px !important;
  background: rgba(255,255,255,0.85) !important;
}

.modal__backdrop{
  background: rgba(17,24,39,0.45) !important;
}

.input, select.input, textarea.input{
  background: #ffffff !important;
  color: var(--text) !important;
  border: 1px solid rgba(17,24,39,0.18) !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  width: 100% !important;
}

.input:focus{
  outline: none !important;
  box-shadow: 0 0 0 4px var(--focus) !important;
  border-color: rgba(59,130,246,0.55) !important;
}

.label{
  font-size: 12px !important;
  color: var(--muted) !important;
  margin-bottom: 6px !important;
}

.formGrid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

@media (max-width: 820px){
  .formGrid{ grid-template-columns: 1fr !important; }
}

.lookupBox{
  margin-top: 12px !important;
  padding: 12px !important;
  border: 1px solid rgba(17,24,39,0.12) !important;
  border-radius: 14px !important;
  background: rgba(243,245,251,0.85) !important;
}

.lookupResults{
  margin-top: 10px !important;
  display:flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.lookupItem{
  text-align: left !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(17,24,39,0.12) !important;
  background: #ffffff !important;
  cursor: pointer !important;
}

.lookupItem:hover{
  background: rgba(59,130,246,0.08) !important;
}

.lookupTitle{
  font-weight: 700 !important;
}
/* === Hobby: compact list density (library) – enabled via .hobbyWrap.isCompact === */
.hobbyWrap.isCompact .hobbyList{ gap: 8px !important; }
.hobbyWrap.isCompact .hobbyList .hobbyCard__media{ width: 72px !important; }
.hobbyWrap.isCompact .hobbyList .hobbyCard__media,
.hobbyWrap.isCompact .hobbyList .hobbyCard__img,
.hobbyWrap.isCompact .hobbyList .hobbyCard__ph{ height: 96px !important; }

.hobbyWrap.isCompact .hobbyList .hobbyCard__body{ padding: 10px 10px !important; }
.hobbyWrap.isCompact .hobbyList .hobbyCard__title{
  -webkit-line-clamp: 1 !important;
  font-size: 15px !important;
}

.hobbyWrap.isCompact .hobbyCard__progress{ height: 4px !important; }

.hobbyWrap.isCompact .hobbyList .hobbyCard__actions{
  flex: 0 0 132px !important;
  min-width: 132px !important;
  padding: 8px !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  background: transparent !important;
}

.hobbyWrap.isCompact .hobbyList .ghostBtn,
.hobbyWrap.isCompact .hobbyList .dangerBtn,
.hobbyWrap.isCompact .hobbyList .primaryBtn{
  padding: 8px 10px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
}

/* On small screens keep buttons comfortable */
@media (max-width: 640px){
  .hobbyWrap.isCompact .hobbyList .hobbyCard__actions{
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
  }
}

/* Hobby toolbar mini select */
.input--mini{
  max-width: 120px !important;
  padding: 8px 10px !important;
  border-radius: 12px !important;
  font-size: 13px !important;
}

/* Hobby pager */
.hobbyPager{
  margin-top: 14px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap: 12px;
}
.hobbyPager .ghostBtn[disabled]{
  opacity: 0.5;
  cursor: not-allowed;
}

/* Hobby toolbar: keep controls compact and prevent overlap */
.hobbyToolbar .input--mini{
  width: auto !important;
  min-width: 98px !important;
  max-width: 112px !important;
  flex: 0 0 auto !important;
}
.hobbyToolbar .hobbyToolbar__metaRight,
.hobbyToolbar .hobbyToolbar__bottomRight,
.hobbyToolbar .hobbyDisplayControls{
  flex-wrap: wrap !important;
}

/* Crypto PLAN: keep KPI cards on a single desktop row */
.cryptoPlanStats{
  display:grid !important;
  grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
  gap:6px !important;
}

.cryptoPlanStats__card{
  min-width:0 !important;
  padding:7px 8px !important;
  min-height:64px !important;
}

.cryptoPlanStats__label{
  font-size:9px !important;
  letter-spacing:0.06em !important;
  line-height:1.15 !important;
}

.cryptoPlanStats__value{
  width:100% !important;
  min-width:0 !important;
  margin-top:2px !important;
  font-size:clamp(14px, 0.95vw, 18px) !important;
  line-height:1.02 !important;
  letter-spacing:-0.02em !important;
  white-space:nowrap !important;
}

@media (max-width: 980px){
  .cryptoPlanStats{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px){
  .cryptoPlanStats{
    grid-template-columns:1fr !important;
  }
}

/* Crypto PLAN: denser table so more projects fit in view */
.cryptoPlanTable{
  min-width:1180px !important;
}

.cryptoPlanTable th{
  font-size:10px !important;
  line-height:1.1 !important;
  padding:4px 6px !important;
}

.cryptoPlanTable td{
  padding:3px 6px !important;
  line-height:1.04 !important;
}

.cryptoPlan .cryptoAth__coinCell{
  gap:6px !important;
}

.cryptoPlan .cryptoAth__coinImg,
.cryptoPlan .cryptoAth__coinPh{
  width:20px !important;
  height:20px !important;
}

.cryptoPlan .cryptoAth__coinName{
  max-width:220px !important;
  font-size:14px !important;
  line-height:1.02 !important;
}

.cryptoPlan .cryptoAth__coinMeta .muted{
  font-size:10px !important;
  line-height:1.05 !important;
}

.cryptoPlan .chip{
  padding:2px 6px !important;
  font-size:10px !important;
}

.cryptoPlan__qtyInp{
  min-width:74px !important;
  max-width:96px !important;
  min-height:28px !important;
  font-size:12px !important;
}

.cryptoPlan__qtyDisplay{
  font-size:14px !important;
  line-height:1.05 !important;
}

.cryptoPlan__toBuy,
.cryptoPlan__invest,
.cryptoPlan__athHold,
.cryptoPlan__athTarget,
.cryptoPlan__drop{
  font-size:14px !important;
}

.cryptoPlan .cryptoActionRow{
  gap:4px !important;
}

.cryptoPlan .cryptoActionIcon{
  width:30px !important;
  height:30px !important;
  min-height:30px !important;
  border-radius:9px !important;
}

.cryptoPlan .cryptoActionIcon svg{
  width:14px !important;
  height:14px !important;
}

.cryptoPlanTotal{
  gap:8px !important;
  padding:7px 10px !important;
}

.cryptoPlanTotal__label{
  font-size:9px !important;
}

.cryptoPlanTotal__value{
  font-size:clamp(16px, 1.1vw, 21px) !important;
}

.cryptoPlanTotal__meta{
  font-size:10px !important;
}

/* Hobby Films: denser, clearer, more list-like UI */
.hobbyWrap--films{
  --films-accent:#0f4c81;
  --films-accent-2:#0f766e;
  --films-warm:#b45309;
  --films-ink:#0f172a;
}

.hobbyWrap--films .hobbyLayout{
  gap:10px !important;
}

.hobbyWrap--films .hobbyMain{
  border:1px solid rgba(15,23,42,0.10);
  border-radius:18px;
  padding:10px;
  background:
    radial-gradient(140% 180% at 0% 0%, rgba(14,116,144,0.10) 0%, rgba(255,255,255,0.90) 42%),
    radial-gradient(130% 140% at 100% 0%, rgba(245,158,11,0.08) 0%, rgba(255,255,255,0.94) 38%),
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,250,252,0.92));
  box-shadow: 0 14px 30px rgba(15,23,42,0.06);
}

.hobbyWrap--films .hobbyToolbar{
  margin-top:8px !important;
  padding:8px 10px !important;
  border-radius:17px !important;
  border-color:rgba(15,23,42,0.12) !important;
  background:
    radial-gradient(140% 190% at 0% 0%, rgba(14,116,144,0.14) 0%, rgba(255,255,255,0.92) 42%),
    radial-gradient(120% 140% at 100% 0%, rgba(245,158,11,0.10) 0%, rgba(255,255,255,0.96) 40%),
    linear-gradient(180deg, rgba(248,250,252,0.97), rgba(255,255,255,0.95)) !important;
  box-shadow:
    0 12px 28px rgba(15,23,42,0.08),
    inset 0 1px 0 rgba(255,255,255,0.82) !important;
}

.hobbyWrap--films .hobbyToolbar .input{
  height:38px !important;
  border-radius:11px !important;
  font-size:13px !important;
  border-color:rgba(15,23,42,0.14) !important;
  background:rgba(255,255,255,0.92) !important;
}

.hobbyWrap--films .hobbyToolbar .subTabs .pillBtn,
.hobbyWrap--films .hobbyToolbar .ghostBtn,
.hobbyWrap--films .hobbyToolbar .primaryBtn{
  min-height:36px !important;
  height:36px !important;
  border-radius:11px !important;
  font-size:13px !important;
}

.hobbyWrap--films .hobbyToolbar .subTabs .pillBtn{
  padding:0 12px !important;
  border-color:rgba(15,23,42,0.14) !important;
  background:rgba(255,255,255,0.78) !important;
}

.hobbyWrap--films .hobbyToolbar .subTabs .pillBtn.isActive{
  color:#082f49 !important;
  border-color:rgba(14,116,144,0.42) !important;
  background:
    linear-gradient(180deg, rgba(224,242,254,0.98), rgba(186,230,253,0.90)) !important;
  box-shadow:0 8px 18px rgba(14,116,144,0.18) !important;
}

.hobbyWrap--films .segGroup{
  border-color:rgba(15,23,42,0.12) !important;
  background:rgba(255,255,255,0.84) !important;
}

.hobbyWrap--films .segBtn{
  font-weight:700 !important;
  color:#334155 !important;
}

.hobbyWrap--films .segBtn.isActive{
  color:#082f49 !important;
  border-color:rgba(14,116,144,0.36) !important;
  background:
    linear-gradient(180deg, rgba(224,242,254,0.98), rgba(186,230,253,0.92)) !important;
  box-shadow:0 6px 14px rgba(14,116,144,0.16) !important;
}

.hobbyWrap--films .hobbyToggleBtn,
.hobbyWrap--films .hobbySelectBtn{
  border-color:rgba(15,23,42,0.14) !important;
  background:rgba(255,255,255,0.86) !important;
  color:#334155 !important;
}

.hobbyWrap--films .hobbyToggleBtn.isActive,
.hobbyWrap--films .hobbySelectBtn.isActive{
  color:#082f49 !important;
  border-color:rgba(14,116,144,0.42) !important;
  background:
    linear-gradient(180deg, rgba(224,242,254,0.98), rgba(186,230,253,0.90)) !important;
  box-shadow:0 8px 16px rgba(14,116,144,0.16) !important;
}

.hobbyWrap--films .hobbyAddBtn{
  border-color:rgba(8,47,73,0.22) !important;
  background:
    linear-gradient(135deg, rgba(14,116,144,0.95), rgba(8,47,73,0.96)) !important;
  color:#f8fafc !important;
  box-shadow:0 10px 22px rgba(8,47,73,0.22) !important;
}

.hobbyWrap--films .chip--db{
  border-color:rgba(15,23,42,0.12) !important;
  background:rgba(255,255,255,0.84) !important;
}

.hobbyWrap--films .hobbyStats{
  color:#475569 !important;
  font-size:12px !important;
}

.hobbyWrap--films .hobbyBulkBar{
  margin-top:8px !important;
  padding:8px 10px !important;
  border-radius:14px !important;
  border-color:rgba(15,23,42,0.10) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.94), rgba(241,245,249,0.86)) !important;
  box-shadow:0 8px 18px rgba(15,23,42,0.05) !important;
}

.hobbyWrap--films .hobbyBulkAction{
  border-color:rgba(15,23,42,0.12) !important;
  background:rgba(255,255,255,0.86) !important;
  color:#334155 !important;
}

.hobbyWrap--films .hobbyBulkAction--doing{
  border-color:rgba(14,116,144,0.22) !important;
  background:rgba(14,116,144,0.10) !important;
  color:#0c4a6e !important;
}

.hobbyWrap--films .hobbyBulkAction--done{
  border-color:rgba(13,148,136,0.22) !important;
  background:rgba(13,148,136,0.10) !important;
  color:#115e59 !important;
}

.hobbyWrap--films .hobbyBulkAction--plan{
  border-color:rgba(245,158,11,0.22) !important;
  background:rgba(245,158,11,0.10) !important;
  color:#92400e !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList{
  margin-top:10px !important;
  gap:6px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard{
  border-radius:14px !important;
  border-color:rgba(15,23,42,0.10) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(248,250,252,0.92)) !important;
  box-shadow:0 10px 22px rgba(15,23,42,0.05) !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard::after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:14px 0 0 14px;
  background:linear-gradient(180deg, rgba(148,163,184,0.9), rgba(100,116,139,0.88));
  z-index:2;
  pointer-events:none;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard--plan::after{
  background:linear-gradient(180deg, rgba(245,158,11,0.95), rgba(180,83,9,0.88));
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard--doing::after{
  background:linear-gradient(180deg, rgba(14,116,144,0.96), rgba(8,47,73,0.88));
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard--done::after{
  background:linear-gradient(180deg, rgba(13,148,136,0.96), rgba(22,101,52,0.88));
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__media{
  width:68px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__media,
.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__img,
.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__ph{
  height:96px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__body{
  padding:8px 10px 8px 12px !important;
  gap:3px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__title{
  font-size:15px !important;
  line-height:1.06 !important;
  letter-spacing:-0.01em !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard .muted{
  font-size:11px !important;
  line-height:1.08 !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyCard__progress{
  height:3px !important;
  margin-top:1px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyCard__chips{
  gap:5px !important;
  margin-top:3px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyCard__chips .chip{
  padding:4px 7px !important;
  font-size:10px !important;
  border-color:rgba(15,23,42,0.10) !important;
  background:rgba(255,255,255,0.84) !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyCard__chips .chip--status{
  font-weight:700 !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyCard__actions{
  min-width:104px !important;
  flex:0 0 104px !important;
  padding:6px !important;
  gap:4px !important;
  border-left:1px solid rgba(15,23,42,0.08) !important;
  background:
    linear-gradient(180deg, rgba(241,245,249,0.86), rgba(255,255,255,0.72)) !important;
}

.hobbyWrap--films.hobbyWrap.isCompact.isNoCovers .hobbyList .hobbyCard__actions{
  min-width:98px !important;
  flex:0 0 98px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyCard__actions .iconBtn{
  width:28px !important;
  height:28px !important;
  min-height:28px !important;
  border-radius:9px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyCard__actions .iconBtn svg{
  width:15px !important;
  height:15px !important;
}

.hobbyWrap--films .hobbyItemAction{
  border-color:rgba(15,23,42,0.12) !important;
  background:rgba(255,255,255,0.94) !important;
  color:#334155 !important;
  box-shadow:none !important;
}

.hobbyWrap--films .hobbyItemAction--start{
  border-color:rgba(14,116,144,0.26) !important;
  background:
    linear-gradient(135deg, rgba(14,116,144,0.94), rgba(8,47,73,0.96)) !important;
  color:#f8fafc !important;
}

.hobbyWrap--films .hobbyItemAction--done{
  border-color:rgba(13,148,136,0.24) !important;
  background:
    linear-gradient(135deg, rgba(13,148,136,0.94), rgba(21,128,61,0.94)) !important;
  color:#f0fdf4 !important;
}

.hobbyWrap--films .hobbyItemAction--resume{
  border-color:rgba(245,158,11,0.24) !important;
  background:rgba(245,158,11,0.10) !important;
  color:#92400e !important;
}

.hobbyWrap--films .hobbyItemAction--link{
  border-color:rgba(14,116,144,0.18) !important;
  background:rgba(224,242,254,0.88) !important;
  color:#0c4a6e !important;
}

.hobbyWrap--films .hobbyItemAction--edit{
  border-color:rgba(148,163,184,0.20) !important;
  background:rgba(241,245,249,0.96) !important;
  color:#334155 !important;
}

.hobbyWrap--films .hobbyItemAction--delete{
  border-color:rgba(239,68,68,0.20) !important;
  background:rgba(254,242,242,0.95) !important;
  color:#b91c1c !important;
}

.hobbyWrap--films .hobbyDetail__card{
  border-color:rgba(15,23,42,0.10) !important;
  background:
    radial-gradient(130% 170% at 100% 0%, rgba(14,116,144,0.10) 0%, rgba(255,255,255,0.96) 42%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.94)) !important;
  box-shadow:0 14px 28px rgba(15,23,42,0.08) !important;
}

.hobbyWrap--films .hobbyDetail__actions .iconBtn{
  width:34px !important;
  height:34px !important;
  border-radius:10px !important;
}

.hobbyWrap--films .hobbyPager{
  margin-top:10px !important;
}

.hobbyWrap--films .hobbyPager .ghostBtn{
  height:34px !important;
  min-height:34px !important;
  border-radius:10px !important;
  border-color:rgba(15,23,42,0.12) !important;
  background:rgba(255,255,255,0.90) !important;
}

/* Hobby Films: final clean premium override */
body.theme-hobby{
  --page-a: rgba(15,23,42,0.05) !important;
  --page-b: rgba(51,65,85,0.04) !important;
  --page-c: #f8fafc !important;
  --page-d: #eef2f6 !important;
}

.hobbyWrap--films .hobbyMain{
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.hobbyWrap--films .hobbyToolbar{
  padding:10px 12px !important;
  border-radius:18px !important;
  border:1px solid rgba(15,23,42,0.08) !important;
  background:#ffffff !important;
  box-shadow:0 10px 24px rgba(15,23,42,0.05) !important;
  backdrop-filter:none !important;
}

.hobbyWrap--films .hobbyToolbar .input{
  height:40px !important;
  border-radius:12px !important;
  border-color:rgba(148,163,184,0.28) !important;
  background:#ffffff !important;
  box-shadow:none !important;
}

.hobbyWrap--films .hobbyToolbar .subTabs .pillBtn,
.hobbyWrap--films .hobbyToolbar .ghostBtn,
.hobbyWrap--films .hobbyToolbar .primaryBtn{
  height:40px !important;
  min-height:40px !important;
  border-radius:12px !important;
  font-size:13px !important;
  box-shadow:none !important;
}

.hobbyWrap--films .hobbyToolbar .subTabs .pillBtn{
  border-color:rgba(148,163,184,0.24) !important;
  background:#ffffff !important;
  color:#0f172a !important;
}

.hobbyWrap--films .hobbyToolbar .subTabs .pillBtn.isActive{
  border-color:rgba(15,23,42,0.10) !important;
  background:#f1f5f9 !important;
  color:#0f172a !important;
}

.hobbyWrap--films .segGroup{
  padding:4px !important;
  border-color:rgba(148,163,184,0.24) !important;
  background:#f8fafc !important;
}

.hobbyWrap--films .segBtn{
  border-radius:10px !important;
  color:#475569 !important;
  font-weight:700 !important;
}

.hobbyWrap--films .segBtn.isActive{
  border-color:rgba(148,163,184,0.20) !important;
  background:#ffffff !important;
  color:#0f172a !important;
  box-shadow:0 1px 2px rgba(15,23,42,0.06) !important;
}

.hobbyWrap--films .hobbyToggleBtn,
.hobbyWrap--films .hobbySelectBtn{
  border-color:rgba(148,163,184,0.24) !important;
  background:#ffffff !important;
  color:#334155 !important;
}

.hobbyWrap--films .hobbyToggleBtn.isActive,
.hobbyWrap--films .hobbySelectBtn.isActive{
  border-color:rgba(148,163,184,0.24) !important;
  background:#f8fafc !important;
  color:#0f172a !important;
}

.hobbyWrap--films .hobbyAddBtn{
  border-color:#0f172a !important;
  background:#0f172a !important;
  color:#ffffff !important;
}

.hobbyWrap--films .hobbyStats{
  font-size:12px !important;
  color:#64748b !important;
}

.hobbyWrap--films .chip--db{
  background:#ffffff !important;
  border-color:rgba(148,163,184,0.22) !important;
  color:#0f172a !important;
}

.hobbyWrap--films .hobbyBulkBar{
  border:1px solid rgba(148,163,184,0.18) !important;
  background:#ffffff !important;
  box-shadow:0 8px 18px rgba(15,23,42,0.04) !important;
}

.hobbyWrap--films .hobbyBulkAction{
  background:#ffffff !important;
  color:#334155 !important;
}

.hobbyWrap--films .hobbyBulkAction--plan{
  background:#fff7ed !important;
  color:#9a3412 !important;
}

.hobbyWrap--films .hobbyBulkAction--doing{
  background:#eff6ff !important;
  color:#1d4ed8 !important;
}

.hobbyWrap--films .hobbyBulkAction--done{
  background:#ecfdf5 !important;
  color:#047857 !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList{
  margin-top:12px !important;
  gap:8px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard{
  border:1px solid rgba(148,163,184,0.18) !important;
  border-radius:18px !important;
  background:#ffffff !important;
  box-shadow:0 8px 20px rgba(15,23,42,0.04) !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard.hasCover::before{
  display:none !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard::after{
  display:none !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__media{
  width:62px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__media,
.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__img,
.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__ph{
  height:92px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__body{
  display:grid !important;
  align-content:center !important;
  gap:5px !important;
  padding:10px 14px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__title{
  font-size:16px !important;
  line-height:1.12 !important;
  letter-spacing:-0.01em !important;
  color:#0f172a !important;
}

.hobbyWrap--films .hobbyCard__meta{
  font-size:12px !important;
  line-height:1.15 !important;
  color:#64748b !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyCard__progress{
  height:2px !important;
  background:#e2e8f0 !important;
}

.hobbyWrap--films .hobbyCard__progressBar{
  background:#0f172a !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyCard__chips{
  gap:6px !important;
  margin-top:0 !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyCard__chips .chip{
  padding:4px 8px !important;
  border-radius:999px !important;
  border-color:rgba(148,163,184,0.18) !important;
  background:#f8fafc !important;
  color:#334155 !important;
  font-size:11px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyCard__chips .chip--plan{
  background:#fff7ed !important;
  color:#9a3412 !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyCard__chips .chip--doing{
  background:#eff6ff !important;
  color:#1d4ed8 !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyCard__chips .chip--done{
  background:#ecfdf5 !important;
  color:#047857 !important;
}

.hobbyWrap--films .hobbyCard__actions--films{
  min-width:132px !important;
  flex:0 0 132px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:center !important;
  padding:10px 12px !important;
  gap:8px !important;
  border-left:1px solid rgba(148,163,184,0.16) !important;
  background:transparent !important;
}

.hobbyWrap--films.hobbyWrap.isCompact.isNoCovers .hobbyList .hobbyCard__actions--films{
  min-width:132px !important;
  flex:0 0 132px !important;
}

.hobbyWrap--films .hobbyFilmAction{
  min-height:34px;
  padding:0 12px;
  border-radius:11px;
  border:1px solid rgba(148,163,184,0.20);
  background:#ffffff;
  color:#334155;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-decoration:none;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}

.hobbyWrap--films .hobbyFilmAction__icon{
  width:14px;
  height:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:currentColor;
}

.hobbyWrap--films .hobbyFilmAction__icon svg{
  width:14px;
  height:14px;
  display:block;
  fill:currentColor;
}

.hobbyWrap--films .hobbyFilmAction__label{
  font-size:12px;
}

.hobbyWrap--films .hobbyFilmActionRow{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:6px;
}

.hobbyWrap--films .hobbyFilmAction--start{
  border-color:#0f172a;
  background:#0f172a;
  color:#ffffff;
}

.hobbyWrap--films .hobbyFilmAction--done{
  border-color:#0f766e;
  background:#0f766e;
  color:#ffffff;
}

.hobbyWrap--films .hobbyFilmAction--resume{
  background:#fff7ed;
  color:#9a3412;
}

.hobbyWrap--films .hobbyFilmAction--link{
  background:#f8fafc;
  color:#334155;
}

.hobbyWrap--films .hobbyFilmAction--edit{
  background:#f8fafc;
  color:#334155;
}

.hobbyWrap--films .hobbyDetail__card{
  border:1px solid rgba(148,163,184,0.18) !important;
  background:#ffffff !important;
  box-shadow:0 10px 24px rgba(15,23,42,0.05) !important;
}

.hobbyWrap--films .hobbyPager .ghostBtn{
  background:#ffffff !important;
  color:#334155 !important;
}

@media (max-width: 760px){
  .hobbyWrap--films .hobbyToolbar{
    padding:8px !important;
  }

  .hobbyWrap--films .hobbyCard__actions--films{
    min-width:100% !important;
    flex:0 0 auto !important;
    border-left:0 !important;
    border-top:1px solid rgba(148,163,184,0.16) !important;
    padding:8px 10px !important;
  }

  .hobbyWrap--films .hobbyFilmAction{
    min-height:32px;
  }
}

/* Hobby Films: Letterboxd tracker final pass */
.hobbyWrap--films .hobbyToolbar{
  gap:8px !important;
}

.hobbyWrap--films .hobbyToolbar__row--top,
.hobbyWrap--films .hobbyToolbar__row--bottom{
  gap:8px !important;
}

.hobbyWrap--films .hobbyToolbar__bottomRight{
  gap:10px !important;
}

.hobbyWrap--films .hobbyStats{
  font-size:11px !important;
  color:#64748b !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList{
  gap:6px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard{
  align-items:stretch !important;
  border-radius:16px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__media{
  width:58px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__media,
.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__img,
.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__ph{
  height:86px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__img{
  border-radius:0 !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__ph{
  gap:4px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__phIcon{
  font-size:12px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__phLetter{
  width:28px !important;
  height:28px !important;
  border-radius:9px !important;
  font-size:14px !important;
}

.hobbyWrap--films .hobbyCard__body--films{
  display:grid !important;
  align-content:center !important;
  gap:4px !important;
  min-width:0 !important;
}

.hobbyWrap--films .hobbyFilmTitleRow{
  display:flex;
  align-items:flex-start;
  gap:8px;
  min-width:0;
}

.hobbyWrap--films .hobbyFilmTitleRow .hobbyCard__title{
  flex:1 1 auto;
  min-width:0;
}

.hobbyWrap--films .hobbyFilmYear{
  flex:0 0 auto;
  padding:3px 7px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,0.18);
  background:#f8fafc;
  color:#64748b;
  font-size:10px;
  font-weight:700;
  line-height:1;
}

.hobbyWrap--films .hobbyFilmMeta{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.hobbyWrap--films .hobbyCard__progress--films{
  display:none !important;
}

.hobbyWrap--films .hobbyCard__chips--films{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px !important;
}

.hobbyWrap--films .hobbyCard__chips--films .chip{
  font-weight:700 !important;
}

.hobbyWrap--films .hobbyCard__actions--films{
  min-width:124px !important;
  flex:0 0 124px !important;
  padding:8px 10px !important;
  gap:6px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact.isNoCovers .hobbyList .hobbyCard__actions--films{
  min-width:124px !important;
  flex:0 0 124px !important;
}

.hobbyWrap--films .hobbyFilmAction{
  min-height:32px;
  padding:0 10px;
  border-radius:10px;
}

.hobbyWrap--films .hobbyFilmAction__label{
  font-size:11px;
}

.hobbyWrap--films .hobbyFilmActionRow{
  gap:5px;
}

.hobbyWrap--films .hobbyFilmAction--start,
.hobbyWrap--films .hobbyFilmAction--done{
  justify-content:flex-start;
}

.hobbyWrap--films .hobbyCard.isActive{
  outline:1px solid rgba(15,23,42,0.12) !important;
}

.hobbyWrap--films .hobbyDetail__card{
  border-radius:18px !important;
}

/* Hobby Films: ultra-compact refinement */
.hobbyWrap--films .hobbyToolbar{
  padding:8px 10px !important;
  gap:6px !important;
}

.hobbyWrap--films .hobbyToolbar__row--top,
.hobbyWrap--films .hobbyToolbar__row--bottom,
.hobbyWrap--films .hobbyToolbar__bottomRight{
  gap:6px !important;
}

.hobbyWrap--films .hobbyToolbar .input{
  height:36px !important;
  min-height:36px !important;
  font-size:12px !important;
}

.hobbyWrap--films .hobbyToolbar .subTabs .pillBtn,
.hobbyWrap--films .hobbyToolbar .ghostBtn,
.hobbyWrap--films .hobbyToolbar .primaryBtn{
  height:36px !important;
  min-height:36px !important;
  font-size:12px !important;
}

.hobbyWrap--films .segBtn{
  min-width:54px !important;
  padding:6px 9px !important;
  font-size:12px !important;
}

.hobbyWrap--films .hobbyStats{
  font-size:10px !important;
  letter-spacing:0 !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList{
  gap:4px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard{
  border-radius:14px !important;
  min-height:74px !important;
  transition:border-color .14s ease, box-shadow .14s ease, transform .14s ease !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard:hover{
  border-color:rgba(15,23,42,0.14) !important;
  box-shadow:0 12px 24px rgba(15,23,42,0.05) !important;
  transform:translateY(-1px);
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__media{
  width:50px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__media,
.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__img,
.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__ph{
  height:74px !important;
}

.hobbyWrap--films .hobbyCard__body--films{
  gap:2px !important;
  padding:8px 10px 8px 12px !important;
}

.hobbyWrap--films .hobbyFilmTitleRow{
  gap:5px !important;
}

.hobbyWrap--films .hobbyCard__body--films .hobbyCard__title{
  font-size:14px !important;
  line-height:1.06 !important;
}

.hobbyWrap--films .hobbyFilmYear{
  padding:2px 5px !important;
  font-size:9px !important;
}

.hobbyWrap--films .hobbyFilmMeta{
  font-size:10px !important;
  line-height:1.08 !important;
}

.hobbyWrap--films .hobbyCard__chips--films{
  gap:4px !important;
}

.hobbyWrap--films .hobbyCard__chips--films .chip{
  padding:3px 6px !important;
  font-size:10px !important;
}

.hobbyWrap--films .hobbyCard__actions--films{
  min-width:106px !important;
  flex:0 0 106px !important;
  padding:6px 7px !important;
  gap:4px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact.isNoCovers .hobbyList .hobbyCard__actions--films{
  min-width:106px !important;
  flex:0 0 106px !important;
}

.hobbyWrap--films .hobbyFilmAction{
  min-height:27px !important;
  padding:0 7px !important;
  border-radius:8px !important;
}

.hobbyWrap--films .hobbyFilmAction__label{
  font-size:10px !important;
}

.hobbyWrap--films .hobbyFilmAction__icon{
  width:12px !important;
  height:12px !important;
}

.hobbyWrap--films .hobbyFilmAction__icon svg{
  width:12px !important;
  height:12px !important;
}

.hobbyWrap--films .hobbyFilmActionRow{
  gap:4px !important;
}

/* Hobby Films: extra compact + centered side year */
.hobbyWrap--films.hobbyWrap.isCompact .hobbyList{
  gap:3px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard{
  min-height:68px !important;
  border-radius:13px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__media{
  width:46px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__media,
.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__img,
.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__ph{
  height:68px !important;
}

.hobbyWrap--films .hobbyCard__body--films{
  grid-template-columns:minmax(0, 1fr) auto !important;
  align-items:center !important;
  column-gap:8px !important;
  gap:0 !important;
  padding:6px 8px 6px 10px !important;
}

.hobbyWrap--films .hobbyFilmInfo{
  min-width:0;
  display:grid;
  align-content:center;
  gap:2px;
}

.hobbyWrap--films .hobbyFilmTitleRow{
  display:block !important;
}

.hobbyWrap--films .hobbyCard__body--films .hobbyCard__title{
  font-size:13px !important;
  line-height:1.05 !important;
}

.hobbyWrap--films .hobbyFilmMeta{
  font-size:9.5px !important;
  line-height:1.05 !important;
}

.hobbyWrap--films .hobbyCard__chips--films{
  gap:3px !important;
}

.hobbyWrap--films .hobbyCard__chips--films .chip{
  padding:2px 6px !important;
  font-size:9px !important;
}

.hobbyWrap--films .hobbyFilmYear--side{
  align-self:center !important;
  justify-self:end !important;
  margin-right:2px !important;
  padding:2px 5px !important;
  font-size:8px !important;
}

.hobbyWrap--films .hobbyCard__actions--films{
  min-width:98px !important;
  flex:0 0 98px !important;
  padding:5px 6px !important;
  gap:3px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact.isNoCovers .hobbyList .hobbyCard__actions--films{
  min-width:98px !important;
  flex:0 0 98px !important;
}

.hobbyWrap--films .hobbyFilmAction{
  min-height:25px !important;
  padding:0 6px !important;
  border-radius:8px !important;
}

.hobbyWrap--films .hobbyFilmAction__label{
  font-size:9px !important;
}

.hobbyWrap--films .hobbyFilmAction__icon{
  width:11px !important;
  height:11px !important;
}

.hobbyWrap--films .hobbyFilmAction__icon svg{
  width:11px !important;
  height:11px !important;
}

/* Hobby Films: editorial action rail */
.hobbyWrap--films .hobbyCard__actions--films{
  min-width:92px !important;
  flex:0 0 92px !important;
  padding:4px 6px !important;
  gap:4px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact.isNoCovers .hobbyList .hobbyCard__actions--films{
  min-width:92px !important;
  flex:0 0 92px !important;
}

.hobbyWrap--films .hobbyFilmAction--start,
.hobbyWrap--films .hobbyFilmAction--done,
.hobbyWrap--films .hobbyFilmAction--resume{
  width:100%;
  min-height:26px !important;
  justify-content:center !important;
  padding:0 8px !important;
  border-radius:9px !important;
}

.hobbyWrap--films .hobbyFilmActionRow{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:8px !important;
}

.hobbyWrap--films .hobbyFilmAction--link,
.hobbyWrap--films .hobbyFilmAction--edit{
  min-height:18px !important;
  padding:0 !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#475569 !important;
  font-weight:700 !important;
  box-shadow:none !important;
}

.hobbyWrap--films .hobbyFilmAction--link:hover,
.hobbyWrap--films .hobbyFilmAction--edit:hover{
  color:#0f172a !important;
}

/* =========================
   Hobby Library Forms
   ========================= */
.modal__panel.modal__panel--libraryForm{
  width:min(1260px, calc(100% - 16px)) !important;
  max-height:min(92vh, 840px) !important;
  margin:1vh auto !important;
  border-radius:24px !important;
  border:1px solid rgba(148,163,184,0.18) !important;
  background:
    radial-gradient(120% 120% at 0% 0%, rgba(241,245,249,0.95), rgba(255,255,255,0.98) 48%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,250,252,0.96)) !important;
  box-shadow:
    0 26px 68px rgba(15,23,42,0.14),
    0 10px 22px rgba(15,23,42,0.05) !important;
}

.modal__panel.modal__panel--libraryForm .modal__head{
  padding:10px 12px !important;
  border-bottom:1px solid rgba(148,163,184,0.14) !important;
  background:linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,255,255,0.86)) !important;
}

.modal__panel.modal__panel--libraryForm .modal__title{
  font-size:18px !important;
  line-height:1.05 !important;
  letter-spacing:-0.03em !important;
  font-weight:800 !important;
  color:#0f172a !important;
}

.modal__panel.modal__panel--libraryForm .modal__head .iconBtn{
  width:38px !important;
  height:38px !important;
  border-radius:13px !important;
  border-color:rgba(148,163,184,0.22) !important;
  background:rgba(255,255,255,0.82) !important;
  box-shadow:0 10px 20px rgba(15,23,42,0.05) !important;
}

.modal__panel.modal__panel--libraryForm .modal__body{
  padding:8px !important;
  background:transparent !important;
  overflow:auto !important;
}

.modal__panel.modal__panel--libraryForm .modal__foot{
  padding:8px 10px 10px !important;
  border-top:1px solid rgba(148,163,184,0.14) !important;
  background:rgba(255,255,255,0.95) !important;
}

.hobbyLibraryFormModal .modal__foot .ghostBtn,
.hobbyLibraryFormModal .modal__foot .dangerBtn,
.hobbyLibraryFormModal .modal__foot .primaryBtn{
  min-height:38px !important;
  padding:0 14px !important;
  border-radius:12px !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:-0.01em !important;
}

.hobbyLibraryFormModal .modal__foot .filmFormFooterBtn--cancel{
  border:1px solid rgba(148,163,184,0.24) !important;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.94)) !important;
  color:#0f172a !important;
}

.hobbyLibraryFormModal .modal__foot .filmFormFooterBtn--delete{
  border:1px solid rgba(248,113,113,0.28) !important;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(254,242,242,0.96)) !important;
  color:#b91c1c !important;
}

.hobbyLibraryFormModal .modal__foot .filmFormFooterBtn--save{
  min-width:120px !important;
  border:1px solid rgba(59,130,246,0.22) !important;
  background:linear-gradient(135deg, #1d4ed8 0%, #2563eb 58%, #60a5fa 100%) !important;
  color:#ffffff !important;
  box-shadow:0 14px 24px rgba(37,99,235,0.22) !important;
}

.hobbyModalLayout--library{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
}

.libraryFormShell{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.libraryFormAside{
  flex:0 0 280px;
  width:280px;
  min-width:0;
}

.libraryFormAsideStack{
  position:sticky;
  top:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.libraryFormSection{
  border:1px solid rgba(148,163,184,0.18);
  border-radius:16px;
  padding:8px;
  background:linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,250,252,0.95));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.92),
    0 4px 10px rgba(15,23,42,0.03);
}

.libraryFormGrid{
  display:grid;
  gap:6px;
}

.libraryFormGrid--primary{
  grid-template-columns:repeat(14, minmax(0, 1fr));
  align-items:end;
}

.libraryFormField{
  min-width:0;
}

.modal__panel.modal__panel--libraryForm .libraryFormField .label{
  margin-bottom:3px !important;
  font-size:9px !important;
  font-weight:800 !important;
  letter-spacing:0.08em !important;
  text-transform:uppercase !important;
  color:#64748b !important;
}

.modal__panel.modal__panel--libraryForm .libraryFormField--year .input{
  text-align:center !important;
}

.modal__panel.modal__panel--libraryForm .libraryFormField--status select.input,
.modal__panel.modal__panel--libraryForm .libraryFormField--source select.input{
  text-align:center !important;
  text-align-last:center !important;
}

.modal__panel.modal__panel--libraryForm .input,
.modal__panel.modal__panel--libraryForm select.input,
.modal__panel.modal__panel--libraryForm textarea.input{
  min-height:38px !important;
  border-radius:12px !important;
  border-color:rgba(148,163,184,0.22) !important;
  background:rgba(255,255,255,0.96) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.92),
    0 1px 2px rgba(15,23,42,0.025) !important;
  padding:8px 10px !important;
}

.modal__panel.modal__panel--libraryForm textarea.input{
  min-height:108px !important;
  line-height:1.5 !important;
}

.modal__panel.modal__panel--libraryForm .input:focus{
  box-shadow:
    0 0 0 4px rgba(59,130,246,0.11),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;
}

.libraryFormField--title .input{
  min-height:42px !important;
  font-size:16px !important;
  font-weight:800 !important;
  letter-spacing:-0.03em !important;
}

.libraryFormField--altName{
  padding:4px;
  border:1px solid rgba(148,163,184,0.15);
  border-radius:12px;
  background:linear-gradient(180deg, rgba(248,250,252,0.98), rgba(255,255,255,0.96));
}

.libraryFormField--rating,
.libraryFormLookup{
  padding:6px;
  border:1px solid rgba(191,219,254,0.56);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(243,248,255,0.92));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.96),
    0 6px 14px rgba(59,130,246,0.04);
}

.libraryFormLookup .lookupBox{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.libraryFormLookup .lookupBox > .muted:first-child{
  background:rgba(255,255,255,0.92);
}

.libraryFormField--rating .starsInput{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:2px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:4px 5px;
  border:1px solid rgba(148,163,184,0.18);
  border-radius:10px;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.94));
}

.libraryFormField--rating .starsInput::-webkit-scrollbar{
  display:none;
}

.modal__panel.modal__panel--libraryForm .starBtn,
.modal__panel.modal__panel--libraryForm .starClearBtn{
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-radius:8px;
  border-color:rgba(148,163,184,0.22);
  box-shadow:none;
}

.modal__panel.modal__panel--libraryForm .starBtn{
  background:rgba(255,255,255,0.96);
}

.modal__panel.modal__panel--libraryForm .starBtn.isOn{
  background:linear-gradient(180deg, rgba(255,247,237,0.98), rgba(255,237,213,0.94));
  border-color:rgba(251,146,60,0.22);
  color:#9a3412;
}

.modal__panel.modal__panel--libraryForm .starClearBtn{
  background:rgba(248,250,252,0.92);
  font-size:14px;
  line-height:1;
}

.hobbyLibraryFormModal .lookupBox{
  position:static;
  margin-top:0 !important;
  padding:5px !important;
  border-radius:10px !important;
  border-color:rgba(59,130,246,0.14) !important;
  background:linear-gradient(180deg, rgba(248,250,252,0.96), rgba(239,246,255,0.88)) !important;
  overflow:hidden !important;
}

.hobbyLibraryFormModal .lookupBox > .muted:first-child{
  display:flex;
  align-items:center;
  gap:8px;
  padding:5px 8px;
  border-radius:10px;
  border:1px solid rgba(148,163,184,0.16);
  background:rgba(255,255,255,0.78);
  font-size:10px;
  line-height:1.3;
}

.hobbyLibraryFormModal .lookupBox > .muted:first-child::before{
  content:"Lookup";
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:52px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(14,116,144,0.16);
  background:linear-gradient(180deg, rgba(240,249,255,0.98), rgba(224,242,254,0.94));
  color:#0c4a6e;
  font-size:10px;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.hobbyLibraryFormModal .lookupResults{
  position:static;
  margin-top:5px;
  max-height:170px;
  overflow:auto;
  padding:3px;
  border:1px solid rgba(148,163,184,0.18);
  border-radius:10px;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.96));
}

.hobbyPreview--libraryForm{
  position:relative;
  border:1px solid rgba(148,163,184,0.18) !important;
  border-radius:16px !important;
  background:linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,250,252,0.96)) !important;
  box-shadow:
    0 14px 28px rgba(15,23,42,0.06),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;
  overflow:hidden;
}

.hobbyPreview--libraryForm .hobbyPreview__media{
  aspect-ratio:2 / 3;
  min-height:0;
  border-bottom:1px solid rgba(148,163,184,0.14);
  background:linear-gradient(180deg, rgba(226,232,240,0.48), rgba(241,245,249,0.8)) !important;
}

.hobbyPreview--libraryForm .hobbyPreview__img{
  width:100%;
  height:100%;
  object-fit:contain !important;
  padding:10px;
  background:transparent;
}

.hobbyPreview--libraryForm .hobbyPreview__placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
}

.hobbyPreview--libraryForm .hobbyPreview__content{
  padding:12px 12px 13px;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:center;
  text-align:center;
}

.hobbyPreview--libraryForm .hobbyPreview__eyebrow{
  display:block;
  font-size:9px;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#64748b;
}

.hobbyPreview--libraryForm .hobbyPreview__title{
  font-size:15px;
  line-height:1.08;
  margin:0;
  text-align:center;
}

.hobbyPreview--libraryForm .hobbyPreview__metaLine{
  font-size:11px;
  line-height:1.35;
  text-align:center;
}

.hobbyPreview--libraryForm .hobbyPreview__badges{
  margin-top:2px;
  gap:4px;
  justify-content:center;
}

.hobbyPreview--libraryForm .hobbyPreview__badges .chip{
  padding:4px 7px;
  font-size:9px;
  line-height:1.05;
  white-space:nowrap;
}

.hobbyPreview--libraryForm .hobbyPreview__facts{
  display:block;
  font-size:10px;
  line-height:1.32;
  text-align:center;
}

.libraryFormStatusLine{
  min-height:14px;
  padding:0 2px;
  font-size:10px;
  color:#64748b;
}

/* =========================
   Hobby Library List
   ========================= */
:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyCard__body--library{
  display:flex;
  align-items:center;
  min-height:0;
  padding-right:6px;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyLibraryInfo{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:5px;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyLibraryTitleRow{
  display:flex;
  align-items:center;
  gap:8px;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyCard__body--library .hobbyCard__title{
  font-size:18px !important;
  line-height:1.08 !important;
  letter-spacing:-0.02em !important;
  color:#0f172a !important;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyLibraryMeta{
  color:#64748b !important;
  font-size:13px !important;
  line-height:1.35 !important;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyCard__chips .chip{
  border-color:rgba(148,163,184,0.16) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.86);
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyCard__actions--library{
  flex:0 0 152px !important;
  min-width:152px !important;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:6px;
  padding:10px 10px 10px 12px;
  border-left:1px solid rgba(226,232,240,0.8) !important;
  background:linear-gradient(180deg, rgba(249,250,251,0.62), rgba(255,255,255,0.18)) !important;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyLibraryAction{
  min-height:38px;
  border-radius:12px;
  border:1px solid rgba(148,163,184,0.18);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 10px;
  font-size:13px;
  font-weight:800;
  text-decoration:none;
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    border-color .16s ease,
    background .16s ease,
    color .16s ease;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyLibraryAction:hover{
  transform:translateY(-1px);
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyLibraryAction__icon{
  width:14px;
  height:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyLibraryAction__icon svg{
  width:14px;
  height:14px;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyLibraryActionRow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyLibraryAction--start{
  background:linear-gradient(135deg, #111827, #0f172a);
  color:#ffffff;
  border-color:#0f172a;
  box-shadow:0 6px 14px rgba(15,23,42,0.16);
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyLibraryAction--done{
  background:linear-gradient(135deg, #0f766e, #115e59);
  color:#ffffff;
  border-color:#115e59;
  box-shadow:0 6px 14px rgba(15,118,110,0.14);
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyLibraryAction--resume{
  background:linear-gradient(180deg, rgba(255,247,237,0.98), rgba(255,237,213,0.95));
  color:#9a3412;
  border-color:rgba(251,146,60,0.16);
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyLibraryAction--link,
:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyLibraryAction--edit{
  min-height:auto;
  padding:0;
  border:0;
  background:transparent;
  color:#64748b;
  box-shadow:none;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyLibraryAction--link:hover,
:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyLibraryAction--edit:hover{
  color:#0f172a;
}

/* =========================
   Hobby Library Detail
   ========================= */
:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:1100;
  opacity:0;
  pointer-events:none;
  max-width:none;
  width:auto;
  top:0;
  left:0;
  right:0;
  bottom:0;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail.isOpen{
  opacity:1;
  pointer-events:auto;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetailBackdrop{
  position:fixed;
  inset:0;
  background:rgba(241,245,249,0.56);
  backdrop-filter:blur(12px) saturate(1.02);
  z-index:1090;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__card{
  width:min(920px, calc(100vw - 32px));
  max-height:min(90vh, 880px);
  overflow:auto;
  border:1px solid rgba(148,163,184,0.18);
  border-radius:30px;
  padding:26px;
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(255,255,255,0.98), rgba(248,250,252,0.94) 54%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.94));
  box-shadow:
    0 26px 60px rgba(15,23,42,0.14),
    0 12px 24px rgba(15,23,42,0.06);
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__top--library{
  display:grid;
  grid-template-columns:132px minmax(0, 1fr);
  gap:20px;
  align-items:start;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__img,
:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__ph{
  width:132px;
  height:190px;
  border-radius:22px;
  border:1px solid rgba(148,163,184,0.16);
  background:linear-gradient(180deg, rgba(255,255,255,0.92), rgba(241,245,249,0.88));
  box-shadow:0 14px 28px rgba(15,23,42,0.08);
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__img{
  object-fit:cover;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__head{
  min-height:190px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__headLeft{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__title{
  font-size:clamp(28px, 4vw, 46px);
  line-height:1.02;
  letter-spacing:-0.045em;
  font-weight:900;
  color:#0f172a;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__alt{
  margin-top:0;
  font-size:15px;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__cast{
  font-size:14px;
  line-height:1.5;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__sub{
  margin-top:0;
  font-size:14px;
  line-height:1.5;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__closeBtn{
  width:56px;
  height:56px;
  border-radius:18px;
  border:1px solid rgba(148,163,184,0.18);
  background:rgba(255,255,255,0.92);
  box-shadow:0 14px 28px rgba(15,23,42,0.08);
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__actions{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin:18px 0;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__actions.isTwo{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetailAction{
  min-height:58px;
  border-radius:22px;
  border:1px solid rgba(148,163,184,0.18);
  background:rgba(255,255,255,0.88);
  box-shadow:0 16px 30px rgba(15,23,42,0.06);
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetailAction--link{
  background:linear-gradient(180deg, rgba(240,249,255,0.96), rgba(224,242,254,0.92));
  color:#0c4a6e;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetailAction--delete{
  background:linear-gradient(180deg, rgba(255,241,242,0.96), rgba(254,226,226,0.92));
  color:#b91c1c;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__grid--library{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__panel{
  border:1px solid rgba(226,232,240,0.88);
  border-radius:22px;
  background:rgba(255,255,255,0.88);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.92),
    0 10px 24px rgba(15,23,42,0.04);
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__panel--status,
:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__panel--rating{
  min-height:114px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__panel--status .hobbyDetail__panelLabel,
:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__panel--rating .hobbyDetail__panelLabel{
  text-align:center;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__statusGroup--single,
:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__panel--rating .hobbyDetail__panelValue{
  justify-content:center;
  align-items:center;
  text-align:center;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__panel--notes{
  margin-top:16px;
}

:is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__notesBody{
  max-width:none;
  padding-inline:4px;
  line-height:1.7;
  font-size:18px;
}

@media (max-width: 980px){
  .modal__panel.modal__panel--libraryForm{
    width:min(100%, calc(100% - 10px)) !important;
  }

  .hobbyModalLayout--library{
    flex-direction:column;
  }

  .libraryFormAside{
    width:100%;
    flex:1 1 auto;
  }

  .libraryFormAsideStack{
    position:static;
  }

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

  .libraryFormGrid--primary > *{
    grid-column:auto !important;
  }

  :is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail{
    padding:12px;
  }

  :is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__card{
    width:min(100%, calc(100vw - 20px));
    padding:18px;
  }

  :is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__top--library{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
  }

  :is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__head{
    min-height:0;
    width:100%;
    flex-direction:column;
    align-items:center;
  }

  :is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__headLeft{
    align-items:center;
    text-align:center;
  }

  :is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__actions,
  :is(.hobbyWrap--books, .hobbyWrap--audiobooks) .hobbyDetail__grid--library{
    grid-template-columns:1fr;
  }
}

/* Hobby Films: premium add/edit modal */
.hobbyFilmFormModal .modal__backdrop{
  background:
    radial-gradient(120% 120% at 50% 0%, rgba(255,255,255,0.42), rgba(226,232,240,0.62)),
    rgba(226,232,240,0.46) !important;
  backdrop-filter:blur(14px) saturate(1.04);
}

.modal__panel.modal__panel--filmForm{
  width:min(1320px, calc(100% - 12px)) !important;
  max-height:min(92vh, 860px) !important;
  margin:0.6vh auto !important;
  border-radius:22px !important;
  border:1px solid rgba(148,163,184,0.20) !important;
  background:
    radial-gradient(120% 120% at 0% 0%, rgba(241,245,249,0.96), rgba(255,255,255,0.98) 48%),
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,250,252,0.96)) !important;
  box-shadow:
    0 24px 64px rgba(15,23,42,0.16),
    0 12px 24px rgba(15,23,42,0.06) !important;
}

.modal__panel.modal__panel--filmForm .modal__head{
  padding:10px 12px !important;
  border-bottom:1px solid rgba(148,163,184,0.16) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,255,255,0.84)) !important;
}

.modal__panel.modal__panel--filmForm .modal__title{
  font-size:17px !important;
  line-height:1.05 !important;
  letter-spacing:-0.03em !important;
  font-weight:800 !important;
  color:#0f172a !important;
}

.modal__panel.modal__panel--filmForm .modal__head .iconBtn{
  width:38px !important;
  height:38px !important;
  border-radius:13px !important;
  border-color:rgba(148,163,184,0.22) !important;
  background:rgba(255,255,255,0.78) !important;
  box-shadow:0 10px 20px rgba(15,23,42,0.06) !important;
}

.modal__panel.modal__panel--filmForm .modal__body{
  padding:8px !important;
  background:transparent !important;
  flex:0 0 auto !important;
  overflow:auto !important;
}

.modal__panel.modal__panel--filmForm .modal__foot{
  padding:8px 10px 10px !important;
  border-top:1px solid rgba(148,163,184,0.16) !important;
  background:rgba(255,255,255,0.94) !important;
  backdrop-filter:blur(12px);
}

.hobbyFilmFormModal .modal__foot .ghostBtn,
.hobbyFilmFormModal .modal__foot .dangerBtn,
.hobbyFilmFormModal .modal__foot .primaryBtn{
  min-height:38px !important;
  padding:0 14px !important;
  border-radius:12px !important;
  font-weight:800 !important;
  font-size:13px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  letter-spacing:-0.01em !important;
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    border-color .16s ease,
    background .16s ease,
    color .16s ease !important;
}

.hobbyFilmFormModal .modal__foot .filmFormFooterBtn--cancel{
  border:1px solid rgba(148,163,184,0.26) !important;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.94)) !important;
  color:#0f172a !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.96),
    0 10px 20px rgba(15,23,42,0.05) !important;
}

.hobbyFilmFormModal .modal__foot .filmFormFooterBtn--delete{
  border:1px solid rgba(248,113,113,0.32) !important;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(254,242,242,0.96)) !important;
  color:#b91c1c !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.96),
    0 10px 20px rgba(239,68,68,0.06) !important;
}

.hobbyFilmFormModal .modal__foot .filmFormFooterBtn--save{
  min-width:116px !important;
  border:1px solid rgba(59,130,246,0.22) !important;
  background:
    linear-gradient(135deg, #1d4ed8 0%, #2563eb 58%, #60a5fa 100%) !important;
  color:#ffffff !important;
  text-shadow:0 1px 0 rgba(15,23,42,0.18) !important;
  box-shadow:
    0 14px 24px rgba(37,99,235,0.22),
    inset 0 1px 0 rgba(255,255,255,0.18) !important;
}

.hobbyFilmFormModal .modal__foot .filmFormFooterBtn--save:hover,
.hobbyFilmFormModal .modal__foot .filmFormFooterBtn--cancel:hover,
.hobbyFilmFormModal .modal__foot .filmFormFooterBtn--delete:hover{
  transform:translateY(-1px);
}

.hobbyFilmFormModal .modal__foot .filmFormFooterBtn--save:hover{
  box-shadow:
    0 22px 34px rgba(37,99,235,0.28),
    inset 0 1px 0 rgba(255,255,255,0.18) !important;
}

.hobbyFilmFormModal .modal__foot .filmFormFooterBtn--save:focus-visible,
.hobbyFilmFormModal .modal__foot .filmFormFooterBtn--cancel:focus-visible,
.hobbyFilmFormModal .modal__foot .filmFormFooterBtn--delete:focus-visible{
  outline:none !important;
  box-shadow:
    0 0 0 4px rgba(59,130,246,0.14),
    0 14px 28px rgba(15,23,42,0.10) !important;
}

.hobbyModalLayout--film{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  align-items:start !important;
}

.filmFormShell{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.filmFormAside{
  flex:0 0 236px;
  width:236px;
  min-width:0;
  align-self:start;
}

.filmFormAsideStack{
  position:sticky;
  top:0;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:stretch;
}

.filmFormIntro__eyebrow{
  font-size:10px;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#64748b;
}

.filmFormIntro__title{
  margin-top:2px;
  font-size:18px;
  line-height:1.04;
  letter-spacing:-0.03em;
  font-weight:800;
  color:#0f172a;
}

.filmFormIntro__text{
  display:none;
}

.filmFormIntro__text::before{
  content:"TMDB primary";
  display:inline-flex;
  align-items:center;
  margin-right:10px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(14,116,144,0.16);
  background:linear-gradient(180deg, rgba(240,249,255,0.98), rgba(224,242,254,0.94));
  color:#0c4a6e;
  font-size:10px;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
  vertical-align:middle;
}

.filmFormSection{
  border:1px solid rgba(148,163,184,0.18);
  border-radius:14px;
  padding:7px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.94));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.92),
    0 4px 10px rgba(15,23,42,0.035);
}

.filmFormSection--primary{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,250,252,0.96));
}

.filmFormSection__head{
  display:none;
}

.filmFormSection__title{
  font-size:13px;
  font-weight:800;
  letter-spacing:-0.01em;
  color:#0f172a;
}

.filmFormSection__hint{
  display:none;
}

.filmFormGrid{
  display:grid;
  gap:5px;
}

.filmFormGrid--primary{
  grid-template-columns:repeat(12, minmax(0, 1fr));
  align-items:end;
}

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

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

.filmFormField{
  min-width:0;
}

.modal__panel.modal__panel--filmForm .filmFormField .label{
  margin-bottom:3px !important;
  font-size:9px !important;
  font-weight:800 !important;
  letter-spacing:0.08em !important;
  text-transform:uppercase !important;
  color:#64748b !important;
  text-align:center !important;
}

.modal__panel.modal__panel--filmForm .filmFormField--year .input{
  text-align:center !important;
}

.modal__panel.modal__panel--filmForm .filmFormField--status select.input,
.modal__panel.modal__panel--filmForm .filmFormField--source select.input{
  text-align:center !important;
  text-align-last:center !important;
}

.modal__panel.modal__panel--filmForm .input,
.modal__panel.modal__panel--filmForm select.input,
.modal__panel.modal__panel--filmForm textarea.input{
  min-height:36px !important;
  border-radius:10px !important;
  border-color:rgba(148,163,184,0.24) !important;
  background:rgba(255,255,255,0.96) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.92),
    0 1px 2px rgba(15,23,42,0.02) !important;
  padding:7px 9px !important;
}

.modal__panel.modal__panel--filmForm textarea.input{
  min-height:72px !important;
  padding-top:8px !important;
}

.modal__panel.modal__panel--filmForm .input:focus{
  box-shadow:
    0 0 0 4px rgba(59,130,246,0.12),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;
}

.filmFormField--title .input{
  min-height:40px !important;
  font-size:16px !important;
  font-weight:800 !important;
  letter-spacing:-0.03em !important;
}

.filmFormField--title{
  position:relative;
}

.filmFormField--title::after{
  display:none;
}

.filmFormField--altName{
  padding:4px;
  border:1px solid rgba(148,163,184,0.16);
  border-radius:10px;
  background:
    linear-gradient(180deg, rgba(248,250,252,0.98), rgba(255,255,255,0.96));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.94),
    0 6px 12px rgba(15,23,42,0.025);
}

.filmFormField--altName .label{
  margin-bottom:4px !important;
}

.filmFormField--altName .input{
  min-height:34px !important;
  background:#ffffff !important;
}

.filmFormField--cast .input{
  min-height:36px !important;
}

.filmFormField--cast{
  padding-right:2px;
}

.filmFormLookup,
.filmFormField--rating{
  padding:6px;
  border:1px solid rgba(191,219,254,0.58);
  border-radius:12px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(243,248,255,0.92));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.96),
    0 6px 14px rgba(59,130,246,0.04);
}

.filmFormLookup{
  overflow:visible;
}

.filmFormLookup .lookupBox{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.filmFormLookup .lookupBox > .muted:first-child{
  background:rgba(255,255,255,0.92);
}

.filmFormField--rating{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.filmFormField--rating .label{
  margin-bottom:6px !important;
}

.filmFormField--rating .starsInput{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  justify-content:flex-start;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:3px 4px;
  border:1px solid rgba(148,163,184,0.18);
  border-radius:10px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.94));
  gap:2px;
}

.filmFormField--rating .starsInput::-webkit-scrollbar{
  display:none;
}

.modal__panel.modal__panel--filmForm .starBtn,
.modal__panel.modal__panel--filmForm .starClearBtn{
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-radius:8px;
  border-color:rgba(148,163,184,0.22);
  box-shadow:none;
}

.modal__panel.modal__panel--filmForm .starBtn{
  background:rgba(255,255,255,0.96);
}

.modal__panel.modal__panel--filmForm .starBtn.isOn{
  background:linear-gradient(180deg, rgba(255,247,237,0.98), rgba(255,237,213,0.94));
  border-color:rgba(251,146,60,0.22);
  color:#9a3412;
}

.modal__panel.modal__panel--filmForm .starClearBtn{
  margin-left:1px;
  background:rgba(248,250,252,0.92);
  font-size:14px;
  line-height:1;
}

.filmFormField--notes textarea.input{
  min-height:96px !important;
  line-height:1.45 !important;
}

.filmFormLookup{
  min-width:0;
  position:relative;
}

.hobbyFilmFormModal .lookupBox{
  position:static;
  margin-top:0 !important;
  padding:5px !important;
  border-radius:9px !important;
  border-color:rgba(59,130,246,0.14) !important;
  background:
    linear-gradient(180deg, rgba(248,250,252,0.96), rgba(239,246,255,0.88)) !important;
  overflow:hidden !important;
}

.hobbyFilmFormModal .lookupBox > .muted:first-child{
  display:flex;
  align-items:center;
  gap:8px;
  padding:4px 7px;
  border-radius:9px;
  border:1px solid rgba(148,163,184,0.16);
  background:rgba(255,255,255,0.74);
  font-size:9px;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.hobbyFilmFormModal .lookupBox > .muted:first-child::before{
  content:"TMDB";
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid rgba(14,116,144,0.16);
  background:linear-gradient(180deg, rgba(240,249,255,0.98), rgba(224,242,254,0.94));
  color:#0c4a6e;
  font-size:10px;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.lookupBox__status{
  margin-top:4px;
  min-height:0;
  font-size:10px;
  color:#475569;
}

.lookupBox__status:empty{
  display:none;
}

.hobbyFilmFormModal .lookupResults{
  position:static;
  margin-top:5px;
  max-height:118px;
  overflow:auto;
  padding:3px;
  border:1px solid rgba(148,163,184,0.18);
  border-radius:10px;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.92);
}

.hobbyFilmFormModal .lookupResults:empty{
  display:none;
}

.hobbyFilmFormModal .lookupItem{
  width:100%;
  border-radius:10px !important;
  border-color:rgba(148,163,184,0.14) !important;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.94)) !important;
  box-shadow:0 10px 20px rgba(15,23,42,0.04) !important;
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    border-color .16s ease !important;
}

.hobbyFilmFormModal .lookupItem:hover{
  transform:translateY(-1px);
  border-color:rgba(59,130,246,0.18) !important;
  box-shadow:0 14px 28px rgba(15,23,42,0.08) !important;
}

.lookupItem__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}

.lookupItem__meta{
  margin-top:4px;
  font-size:10px;
  line-height:1.3;
  color:#475569;
}

.lookupSource{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  padding:3px 7px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,0.18);
  background:#ffffff;
  color:#475569;
  font-size:9px;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.lookupSource.isPrimary{
  border-color:rgba(14,116,144,0.16);
  background:linear-gradient(180deg, rgba(240,249,255,0.98), rgba(224,242,254,0.94));
  color:#0c4a6e;
}

.filmFormSecondary{
  border:1px solid rgba(148,163,184,0.16);
  border-radius:16px;
  background:rgba(255,255,255,0.94);
  overflow:hidden;
  box-shadow:0 8px 18px rgba(15,23,42,0.03);
}

.filmFormSecondary__summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:7px 9px;
  cursor:pointer;
}

.filmFormSecondary__summary::-webkit-details-marker{
  display:none;
}

.filmFormSecondary__summary::after{
  content:"+";
  width:18px;
  height:18px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid rgba(148,163,184,0.18);
  background:#ffffff;
  color:#475569;
  font-weight:700;
  transition:transform .14s ease;
}

.filmFormSecondary[open] .filmFormSecondary__summary::after{
  transform:rotate(45deg);
}

.filmFormSecondary__meta{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}

.filmFormSecondary__title{
  font-size:11px;
  font-weight:800;
  color:#0f172a;
}

.filmFormSecondary__hint{
  font-size:10px;
  line-height:1.3;
  color:#64748b;
}

.filmFormSecondary__body{
  padding:0 8px 8px;
  border-top:1px solid rgba(226,232,240,0.88);
}

.filmFormStatusLine{
  min-height:14px;
  padding:0 2px;
  font-size:10px;
  color:#64748b;
}

.hobbyPreview--filmForm{
  position:relative;
  border:1px solid rgba(148,163,184,0.18) !important;
  border-radius:14px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,250,252,0.95)) !important;
  box-shadow:
    0 14px 28px rgba(15,23,42,0.07),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-self:start;
  min-height:0;
}

.hobbyPreview--filmForm .hobbyPreview__media{
  aspect-ratio:2 / 3;
  min-height:0;
  position:relative;
  border:0 !important;
  border-radius:0 !important;
  border-bottom:1px solid rgba(148,163,184,0.14);
  padding:0;
  background:
    linear-gradient(180deg, rgba(226,232,240,0.68), rgba(241,245,249,0.86)) !important;
}

.hobbyPreview--filmForm .hobbyPreview__img{
  width:100%;
  height:100%;
  object-fit:cover !important;
  background:transparent;
  border-radius:0;
}

.hobbyPreview--filmForm .hobbyPreview__placeholder{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
}

.hobbyPreview--filmForm .hobbyPreview__content{
  padding:10px 11px;
  display:flex;
  flex-direction:column;
  gap:5px;
  justify-content:flex-start;
  align-items:center;
  text-align:center;
}

.hobbyPreview__eyebrow{
  display:none;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#64748b;
}

.hobbyPreview--filmForm .hobbyPreview__title{
  margin-bottom:0;
  font-size:15px;
  line-height:1.08;
  letter-spacing:-0.03em;
  text-align:center;
}

.hobbyPreview__metaLine{
  font-size:10px;
  line-height:1.24;
  color:#475569;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-align:center;
}

.hobbyPreview__metaLine.isEmpty{
  color:#94a3b8;
  font-style:italic;
}

.hobbyPreview__facts{
  font-size:9px;
  line-height:1.22;
  color:#64748b;
}

.hobbyPreview__altTitles{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-top:0;
  align-items:center;
  width:100%;
}

.hobbyPreview__altTitle{
  display:flex;
  gap:6px;
  align-items:flex-start;
  justify-content:center;
  padding:3px 5px;
  border-radius:8px;
  border:1px solid rgba(148,163,184,0.14);
  background:
    linear-gradient(180deg, rgba(248,250,252,0.98), rgba(241,245,249,0.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.94);
}

.hobbyPreview__altTitle--plain{
  width:100%;
}

.hobbyPreview__altLabel{
  flex:0 0 auto;
  min-width:32px;
  font-size:8px;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#64748b;
}

.hobbyPreview__altValue{
  font-size:10px;
  line-height:1.24;
  color:#0f172a;
  overflow-wrap:anywhere;
  text-align:center;
}

.hobbyPreview--filmForm .hobbyPreview__badges{
  margin-top:0;
  gap:3px;
  justify-content:center;
  flex-wrap:nowrap;
  width:100%;
  align-items:center;
}

.hobbyPreview--filmForm .hobbyPreview__badges .chip{
  padding:3px 6px;
  font-size:9px;
  line-height:1.05;
  white-space:nowrap;
  border-color:rgba(148,163,184,0.18);
  background:rgba(255,255,255,0.9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.88);
}

.hobbyPreview--filmForm .hobbyPreview__facts{
  display:none;
}

.filmFormStatusLine:empty{
  display:none;
}

@media (max-width: 1040px){
  .modal__panel.modal__panel--filmForm{
    width:min(100% - 16px, 980px) !important;
    margin:1vh auto !important;
    border-radius:24px !important;
  }

  .hobbyModalLayout--film{
    display:block !important;
  }

  .filmFormAside{
    order:0;
    width:auto;
    flex:0 0 auto;
  }

  .filmFormAsideStack{
    position:relative;
    top:auto;
  }
}

@media (max-width: 760px){
  .modal__panel.modal__panel--filmForm .modal__title{
    font-size:22px !important;
  }

  .modal__panel.modal__panel--filmForm .modal__body{
    padding:14px !important;
  }

  .modal__panel.modal__panel--filmForm .modal__foot{
    padding:12px 14px !important;
    flex-wrap:wrap !important;
  }

  .filmFormSection,
  .filmFormSecondary{
    border-radius:20px;
  }

  .filmFormGrid--primary,
  .filmFormGrid--secondary,
  .filmFormGrid--aside{
    grid-template-columns:1fr;
  }

  .filmFormSection__head{
    flex-direction:column;
    align-items:flex-start;
  }

  .filmFormSection__hint{
    max-width:none;
    text-align:left;
  }

  .filmFormField--title .input{
    font-size:18px !important;
    min-height:52px !important;
  }

  .hobbyPreview--filmForm{
    grid-template-columns:92px minmax(0, 1fr);
  }

  .hobbyPreview--filmForm .hobbyPreview__title{
    font-size:18px;
  }
}

/* Hobby Films: premium detail sheet */
@media (min-width: 901px){
  body.hasHobbyDetailOverlay{
    overflow:hidden;
  }

  .hobbyWrap--films .hobbyDetail{
    display:block !important;
    position:fixed !important;
    top:50% !important;
    left:50% !important;
    right:auto !important;
    bottom:auto !important;
    width:min(820px, calc(100vw - 40px)) !important;
    max-width:calc(100vw - 40px) !important;
    max-height:calc(100vh - 56px) !important;
    z-index:72 !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(-50%, calc(-50% + 18px), 0) scale(0.985);
    transition:opacity .18s ease, transform .22s cubic-bezier(.22, 1, .36, 1), visibility .18s ease;
  }

  .hobbyWrap--films .hobbyDetail.isOpen{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(-50%, -50%, 0);
  }

  .hobbyWrap--films .hobbyDetailBackdrop{
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    z-index:68 !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .18s ease, visibility .18s ease;
    background:
      radial-gradient(120% 120% at 50% 0%, rgba(255,255,255,0.42), rgba(226,232,240,0.62)),
      rgba(226,232,240,0.46) !important;
    backdrop-filter:blur(14px) saturate(1.04);
  }

  .hobbyWrap--films .hobbyDetailBackdrop.isOpen{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
}

.hobbyWrap--films .hobbyDetail__card{
  position:relative !important;
  overflow:hidden !important;
  border:1px solid rgba(148,163,184,0.14) !important;
  border-radius:28px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.99), rgba(248,250,252,0.96)) !important;
  padding:20px !important;
  box-shadow:
    0 28px 72px rgba(15,23,42,0.16),
    0 12px 28px rgba(15,23,42,0.07),
    inset 0 1px 0 rgba(255,255,255,0.94) !important;
}

@media (min-width: 901px){
  .hobbyWrap--films .hobbyDetail__card{
    max-height:calc(100vh - 56px) !important;
    overflow:auto !important;
  }
}

.hobbyWrap--films .hobbyDetail__card::before{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:180px;
  background:
    radial-gradient(90% 120% at 100% 100%, rgba(251,191,36,0.08), rgba(255,255,255,0) 72%),
    radial-gradient(120% 160% at 0% 100%, rgba(59,130,246,0.08), rgba(255,255,255,0) 70%);
  pointer-events:none;
}

.hobbyWrap--films .hobbyDetail__top{
  position:relative;
  z-index:1;
  display:grid !important;
  grid-template-columns:108px minmax(0, 1fr) !important;
  gap:24px !important;
  align-items:center !important;
  min-height:208px;
  margin:-20px -20px 0 !important;
  padding:22px 28px !important;
  border-radius:28px 28px 24px 24px;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.94), rgba(248,250,252,0.98)),
    linear-gradient(135deg, #f8fafc, #eef2f7) !important;
}

.hobbyWrap--films .hobbyDetail__top.hasArt{
  background:linear-gradient(180deg, rgba(255,255,255,0.50), rgba(248,250,252,0.86)) !important;
}

.hobbyWrap--films .hobbyDetail__heroArt,
.hobbyWrap--films .hobbyDetail__heroShade{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.hobbyWrap--films .hobbyDetail__heroArt{
  background-size:cover;
  background-position:center 28%;
  filter:blur(22px) saturate(1.02) brightness(1.10);
  transform:scale(1.16);
  opacity:0.84;
}

.hobbyWrap--films .hobbyDetail__heroShade{
  background:
    radial-gradient(120% 120% at 0% 0%, rgba(255,255,255,0.86), rgba(255,255,255,0.18) 42%, rgba(255,255,255,0) 64%),
    radial-gradient(100% 120% at 100% 0%, rgba(255,255,255,0.28), rgba(255,255,255,0) 48%),
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(248,250,252,0.50) 52%, rgba(241,245,249,0.90));
}

.hobbyWrap--films .hobbyDetail__img,
.hobbyWrap--films .hobbyDetail__ph{
  position:relative;
  z-index:1;
  width:108px !important;
  height:156px !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,0.58) !important;
  box-shadow:
    0 24px 42px rgba(15,23,42,0.18),
    0 6px 16px rgba(15,23,42,0.10) !important;
}

.hobbyWrap--films .hobbyDetail__img{
  background:#cbd5e1 !important;
}

.hobbyWrap--films .hobbyDetail__ph{
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(226,232,240,0.94)) !important;
}

.hobbyWrap--films .hobbyDetail__phIcon{
  font-size:20px !important;
}

.hobbyWrap--films .hobbyDetail__phLetter{
  font-size:20px !important;
  color:#0f172a !important;
}

.hobbyWrap--films .hobbyDetail__head{
  position:relative;
  z-index:1;
  min-height:156px !important;
  align-items:center !important;
  gap:10px !important;
}

.hobbyWrap--films .hobbyDetail__headLeft{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:10px !important;
  min-width:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.hobbyWrap--films .hobbyDetail__title{
  margin-top:0 !important;
  font-size:28px !important;
  line-height:0.98 !important;
  letter-spacing:-0.03em !important;
  font-weight:800 !important;
  color:#0f172a !important;
  text-shadow:0 8px 24px rgba(255,255,255,0.34);
}

.hobbyWrap--films .hobbyDetail__sub{
  margin-top:0 !important;
  font-size:13px !important;
  line-height:1.45 !important;
  color:#475569 !important;
  text-shadow:none;
}

.hobbyWrap--films .hobbyDetail__alt{
  margin-top:1px;
  font-size:13px;
  line-height:1.38;
  font-weight:600;
  color:#64748b !important;
}

.hobbyWrap--films .hobbyDetail__cast{
  font-size:13px;
  line-height:1.46;
  color:#475569 !important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  max-width:66ch;
}

.hobbyWrap--films .hobbyDetail__sub.isEmpty{
  display:none !important;
}

.hobbyWrap--films .hobbyDetail__closeBtn{
  width:42px !important;
  height:42px !important;
  border-radius:14px !important;
  border:1px solid rgba(148,163,184,0.20) !important;
  background:rgba(255,255,255,0.74) !important;
  color:#0f172a !important;
  backdrop-filter:blur(10px);
  box-shadow:0 12px 24px rgba(15,23,42,0.08) !important;
}

.hobbyWrap--films .hobbyDetail__closeBtn:hover{
  background:#ffffff !important;
  border-color:rgba(148,163,184,0.28) !important;
  transform:translateY(-1px);
}

.hobbyWrap--films .hobbyDetail__closeBtn:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(96,165,250,0.16), 0 12px 24px rgba(15,23,42,0.08) !important;
}

.hobbyWrap--films .hobbyDetail__actions{
  position:relative;
  z-index:1;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:10px !important;
  margin:-14px 0 14px !important;
}

.hobbyWrap--films .hobbyDetail__actions.isTwo{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
}

.hobbyWrap--films .hobbyDetailAction{
  min-height:48px;
  padding:0 12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,0.60);
  background:rgba(255,255,255,0.92);
  color:#0f172a;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  line-height:1;
  transition:transform .14s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
  box-shadow:
    0 18px 28px rgba(15,23,42,0.10),
    0 4px 10px rgba(15,23,42,0.04);
  backdrop-filter:blur(10px);
}

.hobbyWrap--films .hobbyDetailAction:hover{
  transform:translateY(-1px);
  border-color:rgba(100,116,139,0.24);
  box-shadow:0 12px 24px rgba(15,23,42,0.08);
}

.hobbyWrap--films .hobbyDetailAction:focus-visible{
  outline:none;
  border-color:rgba(59,130,246,0.28);
  box-shadow:0 0 0 4px rgba(59,130,246,0.12), 0 12px 24px rgba(15,23,42,0.08);
}

.hobbyWrap--films .hobbyDetailAction__icon{
  width:16px;
  height:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.hobbyWrap--films .hobbyDetailAction__icon svg{
  width:16px;
  height:16px;
  display:block;
}

.hobbyWrap--films .hobbyDetailAction__label{
  white-space:nowrap;
}

.hobbyWrap--films .hobbyDetailAction--link{
  background:linear-gradient(180deg, rgba(240,249,255,0.98), rgba(224,242,254,0.94));
  border-color:rgba(14,116,144,0.16);
  color:#0c4a6e;
}

.hobbyWrap--films .hobbyDetailAction--edit{
  background:linear-gradient(180deg, rgba(248,250,252,0.98), rgba(241,245,249,0.94));
  border-color:rgba(148,163,184,0.18);
  color:#334155;
}

.hobbyWrap--films .hobbyDetailAction--delete{
  background:linear-gradient(180deg, rgba(254,242,242,0.98), rgba(254,226,226,0.92));
  border-color:rgba(239,68,68,0.18);
  color:#b91c1c;
}

.hobbyWrap--films .hobbyDetail__grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:12px;
  margin-bottom:12px;
}

.hobbyWrap--films .hobbyDetail__panel{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(148,163,184,0.12);
  border-radius:20px;
  padding:16px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.94));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.88),
    0 10px 22px rgba(15,23,42,0.035);
}

.hobbyWrap--films .hobbyDetail__panel--notes{
  margin-top:0 !important;
  padding:18px 20px;
}

.hobbyWrap--films .hobbyDetail__panel--status,
.hobbyWrap--films .hobbyDetail__panel--rating{
  align-items:center;
  text-align:center;
}

.hobbyWrap--films .hobbyDetail__panel--status .hobbyDetail__panelLabel,
.hobbyWrap--films .hobbyDetail__panel--rating .hobbyDetail__panelLabel{
  width:100%;
  text-align:center;
}

.hobbyWrap--films .hobbyDetail__panelLabel{
  margin-bottom:10px;
  font-size:11px;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#64748b;
}

.hobbyWrap--films .hobbyDetail__panelValue{
  color:#0f172a;
  font-weight:700;
}

.hobbyWrap--films .hobbyDetail__statusGroup{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.hobbyWrap--films .hobbyDetail__statusGroup--single{
  justify-content:center;
  align-items:center;
  width:100%;
}

.hobbyWrap--films .hobbyDetail__statusGroup .chip{
  min-height:36px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,0.16);
  background:#ffffff;
  color:#475569;
  font-weight:700;
  box-shadow:none;
}

.hobbyWrap--films .hobbyDetail__statusGroup .chip--plan{
  background:linear-gradient(180deg, rgba(255,247,237,0.98), rgba(255,237,213,0.94));
  border-color:rgba(251,146,60,0.16);
  color:#9a3412;
}

.hobbyWrap--films .hobbyDetail__statusGroup .chip--doing{
  background:linear-gradient(180deg, rgba(239,246,255,0.98), rgba(219,234,254,0.94));
  border-color:rgba(59,130,246,0.16);
  color:#1d4ed8;
}

.hobbyWrap--films .hobbyDetail__statusGroup .chip--done{
  background:linear-gradient(180deg, rgba(236,253,245,0.98), rgba(209,250,229,0.94));
  border-color:rgba(16,185,129,0.16);
  color:#047857;
}

.hobbyWrap--films .hobbyDetail__statusGroup .chip.isOn{
  border-color:rgba(15,23,42,0.12);
  box-shadow:0 0 0 1px rgba(15,23,42,0.06), 0 8px 18px rgba(15,23,42,0.08);
  color:#0f172a;
}

.hobbyWrap--films .hobbyDetail__statusGroup--single .chip{
  min-width:140px;
  justify-content:center;
}

.hobbyWrap--films .hobbyDetail__rating{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  font-size:22px;
  line-height:1;
  letter-spacing:0.1em;
  color:#f59e0b;
  text-shadow:0 2px 10px rgba(245,158,11,0.18);
}

.hobbyWrap--films .hobbyDetail__rating.isEmpty{
  font-size:13px;
  letter-spacing:0;
  color:#94a3b8;
}

.hobbyWrap--films .hobbyDetail__notesBody{
  margin-top:0 !important;
  white-space:pre-wrap;
  word-break:break-word;
  font-size:15px;
  line-height:1.78;
  letter-spacing:-0.01em;
  color:#1e293b;
  max-width:none;
  width:100%;
  margin-left:0;
  margin-right:0;
  text-wrap:pretty;
}

.hobbyWrap--films .hobbyDetail__notesBody.isEmpty{
  color:#94a3b8;
  font-style:italic;
}

.hobbyWrap--films .hobbyDetail__foot{
  position:relative;
  z-index:1;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(226,232,240,0.86);
  font-size:12px;
  line-height:1.5;
  color:#64748b;
}

@media (max-width: 900px){
  .hobbyWrap--films .hobbyDetailBackdrop.isOpen{
    display:block !important;
    background:rgba(226,232,240,0.46) !important;
    backdrop-filter:blur(8px);
  }

  .hobbyWrap--films .hobbyDetail__card{
    border-radius:22px !important;
    padding:16px !important;
  }

  .hobbyWrap--films .hobbyDetail__top{
    grid-template-columns:84px minmax(0, 1fr) !important;
    gap:14px !important;
    min-height:172px;
    margin:-16px -16px 0 !important;
    padding:16px !important;
    border-radius:22px 22px 18px 18px;
  }

  .hobbyWrap--films .hobbyDetail__img,
  .hobbyWrap--films .hobbyDetail__ph{
    width:84px !important;
    height:122px !important;
    border-radius:16px !important;
  }

  .hobbyWrap--films .hobbyDetail__head{
    min-height:122px !important;
  }

  .hobbyWrap--films .hobbyDetail__title{
    font-size:22px !important;
  }

  .hobbyWrap--films .hobbyDetail__actions{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:8px !important;
    margin:-12px 0 14px !important;
  }

  .hobbyWrap--films .hobbyDetailAction{
    min-height:42px;
    padding:0 10px;
    font-size:12px;
  }

  .hobbyWrap--films .hobbyDetail__grid{
    grid-template-columns:1fr;
  }
}

/* Hobby Films: micro-hover polish */
.hobbyWrap--films .hobbyCard__media,
.hobbyWrap--films .hobbyCard__img,
.hobbyWrap--films .hobbyCard__ph,
.hobbyWrap--films .hobbyCard__body--films .hobbyCard__title{
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    color .16s ease,
    filter .16s ease;
}

.hobbyWrap--films .hobbyCard:hover .hobbyCard__media,
.hobbyWrap--films .hobbyCard:focus-within .hobbyCard__media{
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.55),
    0 8px 18px rgba(15,23,42,0.08);
}

.hobbyWrap--films .hobbyCard:hover .hobbyCard__img,
.hobbyWrap--films .hobbyCard:focus-within .hobbyCard__img{
  transform:scale(1.035);
}

.hobbyWrap--films .hobbyCard:hover .hobbyCard__ph,
.hobbyWrap--films .hobbyCard:focus-within .hobbyCard__ph{
  transform:translateY(-1px);
  filter:saturate(1.04);
}

.hobbyWrap--films .hobbyCard:hover .hobbyCard__body--films .hobbyCard__title,
.hobbyWrap--films .hobbyCard:focus-within .hobbyCard__body--films .hobbyCard__title{
  color:#020617 !important;
  transform:translateX(1px);
}

.hobbyWrap--films .hobbyFilmAction--link .hobbyFilmAction__icon,
.hobbyWrap--films .hobbyFilmAction--edit .hobbyFilmAction__icon{
  width:10px !important;
  height:10px !important;
}

.hobbyWrap--films .hobbyFilmAction--link .hobbyFilmAction__icon svg,
.hobbyWrap--films .hobbyFilmAction--edit .hobbyFilmAction__icon svg{
  width:10px !important;
  height:10px !important;
}

.hobbyWrap--films .hobbyFilmAction--link .hobbyFilmAction__label,
.hobbyWrap--films .hobbyFilmAction--edit .hobbyFilmAction__label{
  font-size:9px !important;
  letter-spacing:0 !important;
}

/* Hobby Films: final tracker compact pass */
.hobbyWrap--films.hobbyWrap.isCompact .hobbyList{
  gap:2px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard{
  min-height:62px !important;
  border-radius:12px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__media{
  width:42px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__media,
.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__img,
.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__ph{
  height:62px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__ph{
  gap:3px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__phIcon{
  font-size:10px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard__phLetter{
  width:22px !important;
  height:22px !important;
  border-radius:7px !important;
  font-size:11px !important;
}

.hobbyWrap--films .hobbyCard__body--films{
  grid-template-columns:1fr !important;
  align-items:center !important;
  gap:0 !important;
  padding:5px 8px 5px 10px !important;
}

.hobbyWrap--films .hobbyFilmInfo{
  gap:1px !important;
}

.hobbyWrap--films .hobbyCard__body--films .hobbyCard__title{
  font-size:12.5px !important;
  line-height:1.04 !important;
}

.hobbyWrap--films .hobbyFilmMeta{
  font-size:9px !important;
  line-height:1.02 !important;
}

.hobbyWrap--films .hobbyCard__chips--films{
  gap:3px !important;
  margin-top:2px !important;
}

.hobbyWrap--films .hobbyCard__chips--films .chip{
  padding:2px 5px !important;
  font-size:8.5px !important;
}

.hobbyWrap--films .hobbyCard__actions--films{
  min-width:84px !important;
  flex:0 0 84px !important;
  padding:4px 5px !important;
  gap:3px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact.isNoCovers .hobbyList .hobbyCard__actions--films{
  min-width:84px !important;
  flex:0 0 84px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact.isNoCovers .hobbyList .hobbyCard{
  min-height:54px !important;
}

.hobbyWrap--films.hobbyWrap.isCompact.isNoCovers .hobbyCard__body--films{
  padding-left:12px !important;
}

.hobbyWrap--films .hobbyFilmAction--start,
.hobbyWrap--films .hobbyFilmAction--done,
.hobbyWrap--films .hobbyFilmAction--resume{
  min-height:23px !important;
  padding:0 6px !important;
  border-radius:8px !important;
}

.hobbyWrap--films .hobbyFilmActionRow{
  gap:7px !important;
  opacity:0;
  transform:translateY(2px);
  pointer-events:none;
  transition:opacity .14s ease, transform .14s ease;
}

.hobbyWrap--films .hobbyCard:hover .hobbyFilmActionRow,
.hobbyWrap--films .hobbyCard:focus-within .hobbyFilmActionRow,
.hobbyWrap--films .hobbyCard.isActive .hobbyFilmActionRow{
  opacity:1;
  transform:none;
  pointer-events:auto;
}

.hobbyWrap--films .hobbyFilmAction--link,
.hobbyWrap--films .hobbyFilmAction--edit{
  min-height:16px !important;
  font-weight:600 !important;
}

.hobbyWrap--films .hobbyFilmAction--link .hobbyFilmAction__label,
.hobbyWrap--films .hobbyFilmAction--edit .hobbyFilmAction__label{
  font-size:8.5px !important;
}

.hobbyWrap--films .hobbyFilmAction--link .hobbyFilmAction__icon,
.hobbyWrap--films .hobbyFilmAction--edit .hobbyFilmAction__icon{
  width:9px !important;
  height:9px !important;
}

.hobbyWrap--films .hobbyFilmAction--link .hobbyFilmAction__icon svg,
.hobbyWrap--films .hobbyFilmAction--edit .hobbyFilmAction__icon svg{
  width:9px !important;
  height:9px !important;
}

@media (hover: none){
  .hobbyWrap--films .hobbyFilmActionRow{
    opacity:1;
    transform:none;
    pointer-events:auto;
  }
}

/* Hobby Films: premium polish */
.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard{
  border-color:rgba(148,163,184,0.16) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(249,250,251,0.96)) !important;
  box-shadow:
    0 8px 18px rgba(15,23,42,0.035),
    inset 0 1px 0 rgba(255,255,255,0.9) !important;
}

.hobbyWrap--films.hobbyWrap.isCompact .hobbyList .hobbyCard:hover{
  border-color:rgba(15,23,42,0.15) !important;
  box-shadow:
    0 14px 28px rgba(15,23,42,0.05),
    inset 0 1px 0 rgba(255,255,255,0.92) !important;
}

.hobbyWrap--films .hobbyCard__body--films{
  position:relative;
}

.hobbyWrap--films .hobbyCard__body--films::after{
  content:"";
  position:absolute;
  top:10px;
  bottom:10px;
  right:-1px;
  width:1px;
  background:linear-gradient(180deg, rgba(226,232,240,0), rgba(226,232,240,0.9), rgba(226,232,240,0));
  pointer-events:none;
}

.hobbyWrap--films .hobbyCard__body--films .hobbyCard__title{
  letter-spacing:-0.015em !important;
  color:#0f172a !important;
}

.hobbyWrap--films .hobbyFilmMeta{
  color:#64748b !important;
}

.hobbyWrap--films .hobbyCard__chips--films .chip{
  border-color:rgba(148,163,184,0.16) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.85);
}

.hobbyWrap--films .hobbyCard__chips--films .chip--plan{
  background:linear-gradient(180deg, rgba(255,247,237,0.98), rgba(255,237,213,0.94)) !important;
  border-color:rgba(251,146,60,0.16) !important;
}

.hobbyWrap--films .hobbyCard__chips--films .chip--done{
  background:linear-gradient(180deg, rgba(236,253,245,0.98), rgba(209,250,229,0.94)) !important;
  border-color:rgba(16,185,129,0.14) !important;
}

.hobbyWrap--films .hobbyCard__chips--films .chip:not(.chip--status){
  background:linear-gradient(180deg, rgba(248,250,252,0.98), rgba(241,245,249,0.94)) !important;
}

.hobbyWrap--films .hobbyCard__actions--films{
  border-left:1px solid rgba(226,232,240,0.8) !important;
  background:
    linear-gradient(180deg, rgba(249,250,251,0.62), rgba(255,255,255,0.20)) !important;
}

.hobbyWrap--films .hobbyFilmAction--start{
  background:linear-gradient(135deg, #111827, #0f172a) !important;
  border-color:#0f172a !important;
  box-shadow:0 6px 14px rgba(15,23,42,0.16) !important;
}

.hobbyWrap--films .hobbyFilmAction--done{
  background:linear-gradient(135deg, #0f766e, #115e59) !important;
  border-color:#115e59 !important;
  box-shadow:0 6px 14px rgba(15,118,110,0.14) !important;
}

.hobbyWrap--films .hobbyFilmAction--resume{
  background:linear-gradient(180deg, rgba(255,247,237,0.98), rgba(255,237,213,0.95)) !important;
  border-color:rgba(251,146,60,0.16) !important;
}

.hobbyWrap--films .hobbyFilmAction--link,
.hobbyWrap--films .hobbyFilmAction--edit{
  color:#64748b !important;
}

.hobbyWrap--films .hobbyFilmAction--link:hover,
.hobbyWrap--films .hobbyFilmAction--edit:hover{
  color:#0f172a !important;
}
