:root{
  --bg: #0b1220;
  --panel: rgba(255,255,255,0.06);
  --panel2: rgba(255,255,255,0.09);
  --border: rgba(255,255,255,0.10);
  --text: rgba(255,255,255,0.92);
  --muted: rgba(255,255,255,0.62);

  --ok: #2ee59d;
  --warn: #ffd166;
  --bad: #ff5c7a;

  --radius: 16px;
  --shadow: 0 10px 30px rgba(0,0,0,0.35);
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 700px at 20% -10%, rgba(46,229,157,0.12), transparent 60%),
              radial-gradient(900px 600px at 80% 0%, rgba(255,92,122,0.10), transparent 55%),
              var(--bg);
  color: var(--text);
}

a{ color: inherit; text-decoration:none; }
a:hover{ text-decoration:underline; }

.container{
  max-width: 1100px;
  margin: 0 auto;
  padding: 16px;
}

@media (max-width: 520px){
  .container{
    max-width: none;
    margin: 0;
    padding: 8px;
  }
}

.card{
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 14px;
}

.card + .card{ margin-top: 12px; }

.hstack{ display:flex; align-items:center; gap:10px; }
.vstack{ display:flex; flex-direction:column; gap:10px; }

h1,h2,h3{ margin: 0 0 10px 0; letter-spacing: 0.2px; }
h1{ font-size: 22px; }
h2{ font-size: 16px; color: var(--muted); font-weight: 600; }

.small{ font-size: 12px; color: var(--muted); }

hr{
  border:0;
  border-top:1px solid var(--border);
  margin: 12px 0;
}

.btn{
  appearance:none;
  border:1px solid var(--border);
  background: var(--panel2);
  color: var(--text);
  padding: 10px 12px;
  border-radius: 12px;
  cursor:pointer;
  font-weight: 650;
  letter-spacing: 0.2px;
}
.btn:hover{ filter: brightness(1.08); }
.btn:active{ transform: translateY(1px); }

.btn.primary{ border-color: rgba(46,229,157,0.35); }
.btn.danger{ border-color: rgba(255,92,122,0.35); }
.btn.ghost{ background: transparent; }

.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 6px 10px;
  border-radius: 999px;
  border:1px solid var(--border);
  background: rgba(255,255,255,0.05);
  font-size: 12px;
  color: var(--muted);
}

.pill.ok{ color: var(--ok); border-color: rgba(46,229,157,0.25); }
.pill.warn{ color: var(--warn); border-color: rgba(255,209,102,0.25); }
.pill.bad{ color: var(--bad); border-color: rgba(255,92,122,0.25); }

.input, select, textarea{
  width:100%;
  background: rgba(255,255,255,0.05);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 10px 12px;
  outline: none;
}
.input:focus, select:focus, textarea:focus{
  border-color: rgba(46,229,157,0.35);
  box-shadow: 0 0 0 4px rgba(46,229,157,0.10);
}

.grid{
  display:grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0,1fr));
}
@media (min-width: 820px){
  .grid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}

.nav{
  display:flex;
  gap: 10px;
  flex-wrap: wrap;
}
.nav .btn{ padding: 9px 11px; }
.nav .btn.active{
  border-color: rgba(46,229,157,0.35);
  box-shadow: 0 0 0 4px rgba(46,229,157,0.08);
}

.row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap: 12px;
}
.row .meta{ color: var(--muted); font-size: 12px; }

/* Bridge styles for existing LifePanel UI classes (no HTML rewrite needed) */
.lp_tab, .lp_fab, .lp_iconbtn, .lp_morebtn{
  border: 1px solid var(--border);
  background: var(--panel2);
  color: var(--text);
  border-radius: 12px;
  cursor: pointer;
  font-weight: 650;
  letter-spacing: 0.2px;
}
.lp_tab:hover, .lp_fab:hover, .lp_iconbtn:hover, .lp_morebtn:hover{ filter: brightness(1.08); }
.lp_tab:active, .lp_fab:active, .lp_iconbtn:active, .lp_morebtn:active{ transform: translateY(1px); }

.lp_iconbtn{ padding: 8px 10px; }
.lp_morebtn{ padding: 10px 12px; width: 100%; }


/* ===== Mobile polish patch (ROI first) ===== */
:root{
  --touch: 44px;
}

/* Turn the Home category buttons into a tight grid */
@media (max-width: 520px){
  button[data-home-cat].btn{
    width: 100%;
    padding: 10px 10px;
    border-radius: 14px;
    font-weight: 700;
  }
  /* If they are wrapped in some container, this will still help spacing */
  .homeCats, .home_grid, .homecats, #homeCats{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
}

/* Calm down the big white square calendar arrows (keep your HTML as-is) */
#cal_prev, #cal_next, #cal_editor_close{
  background: var(--panel2) !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
  border-radius: 12px !important;
  width: var(--touch);
  height: var(--touch);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Bottom tab bar: shrink height a bit */
@media (max-width: 520px){
  .lp_tab{
    padding: 10px 10px;
    min-height: 44px;
    border-radius: 14px;
  }
  .lp_fab{
    min-height: 52px;
    padding: 12px 14px;
    border-radius: 18px;
    font-size: 18px;
  }
}

/* Unify pills look a bit */
.pill{
  backdrop-filter: blur(6px);
}


/* Home nav: real selector from HTML */
#homeNav{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  width: 100%;
}
#homeNav .btn{
  width: 100%;
  justify-content: center;
}

/* On wider screens, 3 columns look better */
@media (min-width: 820px){
  #homeNav{ grid-template-columns: 1fr 1fr 1fr; }
}


/* Home header row: stack on mobile */
@media (max-width: 520px){
  #view_home .row{ flex-direction: column; align-items: stretch; }
  #go_dashboard{ width: 100%; }
}


/* ===== Fix background seams / overlays ===== */
html, body{
  background-color: var(--bg);
}

/* Ensure the gradient is on body only and fills full height */
body{
  min-height: 100vh;
  background-attachment: fixed;
}

/* Kill accidental section backgrounds causing seams */
.container, #appCard, #view_home, #view_dashboard, #view_items, #view_setup{
  background: transparent !important;
}


/* ===== Upcoming list (fix "seznam mrtvol") ===== */
/* upcoming is plain HTML injected by JS; style it for readability */
#upcoming{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* If JS uses divs for items */
#upcoming > div{
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
}

/* If JS uses buttons/links for items */
#upcoming > button,
#upcoming > a{
  display: block;
  width: 100%;
  text-align: left;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
  color: var(--text);
}

/* Make inner lines less "wall of text" */
#upcoming{
  line-height: 1.25;
}
#upcoming strong{ font-weight: 800; }
#upcoming .lp_muted, #upcoming small{ color: var(--muted); }


/* ===== Dashboard uses more width on mobile ===== */
@media (max-width: 520px){
  #view_dashboard .card{ padding-left: 10px !important; padding-right: 10px !important; }
  #view_dashboard .lp_card{ margin-left: 0; margin-right: 0; }
}


/* Android/mobile: avoid background layer seams */
@media (max-width: 820px){
  body{ background-attachment: scroll; }
}


/* ===== lp_row final polish ===== */
#upcoming .lp_row{
  transition: filter .12s ease;
}
#upcoming .lp_row:hover{
  filter: brightness(1.06);
}
#upcoming .lp_row_date{
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
}


/* ===== Use more width on desktop, less wasted sides ===== */
@media (min-width: 900px){
  .container{ max-width: 1280px; }
}

/* ===== Bottom bar: stop drifting ===== */
.lp_bottom{
  left:0; right:0; width:100%;
  box-sizing:border-box;
  padding-left:10px;
  padding-right:10px;
}
.lp_bottom > *{ box-sizing:border-box; }

/* ---- Lifepanel dashboard facelift (V1) ---- */

#view_dashboard { padding-bottom: 92px; }

.lp_screen { 
  max-width: 560px; 
  margin: 0 auto; 
  padding: 12px 12px 0; 
}

.lp_topbar { 
  display:flex; 
  justify-content:space-between; 
  align-items:center; 
  gap:12px; 
  margin: 6px 0 14px; 
}

.lp_brand { 
  display:flex; 
  align-items:center; 
  gap:10px; 
}

.lp_avatar { 
  width:36px; 
  height:36px; 
  border-radius: 999px; 
  background: rgba(255,255,255,.14); 
  border:1px solid rgba(255,255,255,.18); 
}

.lp_title { 
  font-size: 22px; 
  font-weight: 900; 
  letter-spacing: .2px; 
}

.lp_top_actions { 
  display:flex; 
  align-items:center; 
  gap:10px; 
}

.lp_chip {
  appearance:none;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.10);
  color: inherit;
  border-radius: 16px;
  padding: 10px 12px;
  font-weight: 800;
}

.lp_iconbtn {
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.10);
  color: inherit;
  border-radius: 16px;
  padding: 10px 12px;
}

.lp_card {
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
  margin-bottom: 12px;
}

.lp_hot {
  background: linear-gradient(135deg, rgba(255,120,80,.24), rgba(255,255,255,.06));
}

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

.lp_section_title { 
  font-weight: 900; 
  font-size: 18px; 
  letter-spacing: .2px; 
}

.lp_section_sub { 
  margin-top: 2px; 
  font-weight: 800; 
  opacity: .75; 
  font-size: 13px; 
}

.lp_muted { opacity: .75; }

.lp_chev { 
  font-size: 22px; 
  opacity: .75; 
  line-height: 1; 
}

.lp_empty_hot { 
  margin-top: 10px; 
  opacity: .85; 
}

.lp_morebtn {
  width: 100%;
  margin-top: 10px;
  border: 0;
  background: rgba(120,255,170,.14);
  color: inherit;
  padding: 12px 14px;
  border-radius: 16px;
  font-weight: 900;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
}

.lp_bottom {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 10px 10px 12px;
  background: rgba(10,12,18,.78);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(255,255,255,.10);
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:10px;
  z-index: 9998;
}

.lp_tab {
  flex: 1;
  border: 0;
  background: transparent;
  color: inherit;
  opacity: .9;
  padding: 8px 8px;
  border-radius: 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  font-weight: 900;
}

.lp_tab span { 
  font-size: 12.5px; 
  font-weight: 900; 
  opacity: .85; 
}

.lp_fab {
  flex: 1.2;
  border: 0;
  background: rgba(120,255,170,.22);
  color: inherit;
  padding: 14px 12px;
  border-radius: 18px;
  font-weight: 950;
  font-size: 18px;
  box-shadow: 0 10px 25px rgba(0,0,0,.25);
}

@media (max-width: 380px) {
  .lp_title { font-size: 20px; }
  .lp_chip, .lp_iconbtn { padding: 9px 10px; }
}

/* dashboard hot + soon styling additions */

#dash_hot { 
  margin-top: 10px; 
  display: grid; 
  gap: 10px; 
}

.lp_donebtn{
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(120,255,170,.18);
  color: inherit;
  border-radius: 14px;
  padding: 10px 12px;
  font-weight: 950;
}

.lp_hot_item{
  display:flex; 
  justify-content:space-between; 
  align-items:center; 
  gap:10px;
  padding:12px 12px; 
  border-radius:16px;
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.10);
}

.lp_hot_main{ 
  flex:1; 
  min-width:0; 
}

.lp_badge{
  padding:8px 10px; 
  border-radius:999px; 
  font-weight:950; 
  letter-spacing:.2px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.10);
  min-width:78px; 
  text-align:center;
}

.lp_badge_today{ background: rgba(255,120,80,.24); }
.lp_badge_tomorrow{ background: rgba(255,180,120,.20); }
.lp_badge_bad{ background: rgba(255,80,80,.22); }
.lp_badge_soon{ background: rgba(255,255,255,.10); }

.lp_soon_row{
  display:flex; 
  justify-content:space-between; 
  align-items:center; 
  gap:10px;
  padding:14px 12px; 
  border-radius:16px;
  background: rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  margin-top:10px;
}

.lp_soon_title{ 
  font-weight: 900; 
  font-size: 18px; 
  line-height:1.15; 
}

.lp_soon_meta{ 
  opacity:.75; 
  margin-top:4px; 
  font-weight:800; 
  font-size:13px; 
}

.lp_soon_date{ 
  font-weight: 950; 
  opacity:.85; 
  white-space:nowrap; 
}

/* Mobile: dashboard full width */
@media (max-width: 520px){
  .lp_screen{
    max-width: none;
    margin: 0;
    padding: 0 4px;
  }
}

/* FIX HOT OVERLAP */
.lp_hot_item{
  align-items: flex-start;
}

.lp_hot_main{
  flex: 1 1 auto;
  min-width: 0;
}

.lp_hot_item button{
  flex-shrink: 0;
}

/* ===== HOME CALENDAR (robust) ===== */

/* nav šipky: 50/50 přes celou šířku */
#view_home .cal_nav{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
  width:100%;
}
#view_home .cal_nav .btn{
  width:100%;
  min-height:52px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* calendar root je grid */
#view_home #calendar{
  width:100% !important;
  display:grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap:8px;
  padding:10px;
}

/* KRITICKÝ TRIK: zploštit wrappery, aby grid viděl přímo dny */
#view_home #calendar > div,
#view_home #calendar > section,
#view_home #calendar > ul{
  display: contents !important;
}

/* pokud tam máš sloupec s Po-Út-..., ten nechceme */
#view_home #calendar .cal_dowcol,
#view_home #calendar .dowcol,
#view_home #calendar .cal_dow_column{
  display:none !important;
}

/* buňky dnů: bereme jak buttony tak divy */
/* buňky dnů: jen datum + znaky (bez textů) */
/* buňky dnů: čtverce + znaky */
#view_home #calendar button,
#view_home #calendar .cal_cell,
#view_home #calendar .cal-cell,
#view_home #calendar .day{
  min-width: 0;
  aspect-ratio: 1 / 1;

  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 12px;
  background: rgba(255,255,255,0.04);

  padding: 4px;
  overflow: hidden;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;   /* ✅ datum nahoře */
  text-align: center;
  gap: 1px;                      /* ✅ míň mezery */
}

#view_home #calendar button{
  appearance:none;
  color:inherit;
  cursor:pointer;
}
#view_home #calendar button:hover{ filter:brightness(1.06); }
#view_home #calendar button:active{ transform: translateY(1px); }

/* číslo dne */
#view_home #calendar .d,
#view_home #calendar .daynum,
#view_home #calendar .num{
  font-weight: 950;
  font-size: 11px;
  line-height: 12px;
  height: 12px;                /* 🔑 pevná výška řádku */
  margin: 0;
  opacity: .9;
}

/* poznámky / text uvnitř */
/* month grid: hide notes/text, keep only date + markers */
/* month grid: hide long text/meta, but KEEP markers */
#view_home #calendar .title,
#view_home #calendar .note,
#view_home #calendar .cal_note,
#view_home #calendar .cal_meta,
#view_home #calendar .cal_tag{
  display:none !important;
}

/* month grid markers (emoji / short tags) */
#view_home #calendar .t,
#view_home #calendar small{
  display:flex !important;
  justify-content:center;
  align-items:center;
  gap:2px;
  font-size: 12px;
  line-height: 14px;
  height: 14px;               /* 🔑 pevná výška pro markery */
  margin: 0;
  white-space: nowrap;        /* 2 emoji vždy vedle sebe */
  overflow: hidden;
  max-width: 100%;
  opacity: .95;
}

/* allow short markers / icons inside day */
#view_home #calendar .t > span,
#view_home #calendar .t > div,
#view_home #calendar small > span,
#view_home #calendar small > div{
  display:inline-block;
}

/* mimo měsíc */
#view_home #calendar .muted{ opacity:.45; }

@media (max-width:520px){
  #view_home #calendar{ gap:6px; padding:6px; }
}


/* ===== ITEMS: make list not look like a bad log file ===== */

#view_items #items_list{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* If JS uses .item */
#view_items #items_list .item{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.03);
}

/* Prevent content from pushing layout sideways */
#view_items #items_list .item > *{
  min-width: 0;
}

/* Make title stand out (works even if it's just a <b> or plain text in first line) */
#view_items #items_list .item b,
#view_items #items_list .item .title{
  font-weight: 900;
  font-size: 16px;
}

/* Meta text */
#view_items #items_list .item .muted,
#view_items #items_list .item small,
#view_items #items_list .item .meta{
  color: var(--muted);
  font-size: 12px;
}

/* EDIT button look consistent */
#view_items #items_list .item button,
#view_items #items_list .item .btn{
  white-space: nowrap;
  border-radius: 14px;
  padding: 10px 12px;
}

/* Mobile: keep edit button on the right but avoid it crushing text */
@media (max-width: 520px){
  #view_items #items_list .item{
    grid-template-columns: 1fr auto;
    padding: 12px;
  }
}

/* ===== Items header: fix mobile layout ===== */
@media (max-width: 520px){
  #view_items > .card > .row{
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  #catTabs{
    width: 100%;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 0 !important;
  }

  #catTabs .btn{
    width: 100%;
    justify-content: center;
  }

  #items_back_home, #items_go_dashboard{
    width: 100%;
  }
}

/* ===== Dashboard HOT: prevent overlap ===== */
#dash_hot .lp_hot_item{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

#dash_hot .lp_hot_main{
  flex:1;
  min-width:0;
}

#dash_hot .lp_hot_actions{
  display:flex;
  gap:8px;
  flex:0 0 auto;
  align-items:center;
}

#dash_hot button{
  min-width:44px;
  min-height:44px;
  border-radius:12px;
}

/* Reserve space for bottom navigation */
#view_home,
#view_items,
#view_history,
#view_setup,
#view_dashboard{
  padding-bottom: 92px;
}

/* ===== ADD MODAL (minimal, ROI-first) ===== */
.lp_modal{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 10000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 14px;
}
.hidden{ display:none !important; }

.lp_modal_card{
  width: min(92vw, 520px);
  max-height: 90vh;
  overflow: auto;
  background: rgba(10,12,18,.92);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  box-shadow: var(--shadow);
  padding: 14px;
}

.lp_modal_head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}

.lp_modal_actions{
  margin-top: 12px;
  display:flex;
  justify-content:flex-end;
  gap: 10px;
}

.lp_seg{
  display:flex;
  gap: 10px;
}

.lp_lbl{
  display:block;
  font-size: 12px;
  opacity: .75;
  margin: 10px 0 4px;
}

.lp_grid2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

@media (max-width: 420px){
  .lp_grid2{ grid-template-columns: 1fr; }
  .lp_seg{ flex-direction: column; }
}

/* ===== cal day list nicer ===== */
#cal_day_list { display:flex; flex-direction:column; gap:10px; }

.cal_line{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}

.cal_main{ flex:1; min-width:0; }
.cal_title{ display:flex; gap:8px; align-items:baseline; }
.cal_kind{ opacity:.9; }
.cal_tag{ opacity:.75; font-size:12px; }
.cal_meta{ margin-top:6px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.cal_note{ margin-top:6px; line-height:1.25; }

.cal_actions{
  display:flex;
  gap:8px;
  flex:0 0 auto;
}
.cal_actions .btn{ min-height:44px; padding:10px 12px; border-radius:12px; }

/* mobile: actions stack */
@media (max-width:520px){
  .cal_line{ flex-direction:column; }
  .cal_actions{ width:100%; }
  .cal_actions .btn{ width:100%; }
}

.range_notice{
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(255,255,255,0.06);
  display:flex;
  gap:10px;
  align-items:center;
  justify-content: space-between;
}
.range_notice_text{
  color: var(--text);
  font-size: 14px;
  line-height: 1.25;
}
.range_notice_actions{
  display:flex;
  gap:8px;
  align-items:center;
}

#interval_next_preview{
  line-height: 1.25;
}

.interval_confirm{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  border-radius: 16px;
  padding: 12px;
}
/* ===== Bottom nav: make 6 tabs fit on phone ===== */
@media (max-width: 420px){
  .lp_bottom{
    gap: 6px;
    padding: 8px 8px 10px;
  }

  .lp_tab{
    padding: 8px 6px;
    gap: 3px;
  }

  .lp_tab span{
    display: none; /* icon-only on small screens */
  }

  .lp_fab{
    padding: 12px 10px;
    font-size: 16px;
  }
}

/* Slightly bigger phones: keep labels but shrink */
@media (min-width: 421px) and (max-width: 520px){
  .lp_bottom{ gap: 8px; }
  .lp_tab span{ font-size: 11px; }
}

/* ===== UI shell pass / step 1 ===== */
.app_intro_title{
  margin: 0 0 6px;
  font-size: clamp(30px, 7vw, 44px);
  line-height: 1.02;
  font-weight: 950;
  letter-spacing: -0.02em;
}

.app_intro_sub{
  max-width: 640px;
  margin-bottom: 14px;
  font-size: 15px;
  line-height: 1.35;
}

.lp_auth_brand{
  max-width: 520px;
  margin: 10px auto 14px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.lp_auth_brandmark{
  position: relative;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 30%, rgba(255,255,255,.95) 0 10%, transparent 11% 100%),
    conic-gradient(from 220deg, #7b6dff 0 38%, #58d7ff 38% 72%, rgba(255,255,255,.14) 72% 100%);
  box-shadow:
    0 10px 24px rgba(60,100,220,.24),
    inset 0 0 0 3px rgba(7,14,28,.55);
}

.lp_auth_brandmark::after{
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  background: rgba(8,14,28,.92);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}

.lp_auth_branddot{
  position: absolute;
  width: 7px;
  height: 7px;
  right: 3px;
  top: 8px;
  border-radius: 50%;
  background: #58d7ff;
  box-shadow: 0 0 12px rgba(88,215,255,.6);
  z-index: 2;
}

.lp_auth_brandtext{
  min-width: 0;
}

.lp_auth_brand .app_intro_title{
  margin: 0 0 4px;
  font-size: clamp(26px, 6vw, 38px);
  letter-spacing: -0.03em;
}

.lp_auth_brand .app_intro_sub{
  margin: 0;
  max-width: none;
}

.lp_auth_brand{
  gap: 16px;
}

.lp_auth_brand .lp_home_logo_wrap{
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
}

.lp_auth_brand .lp_home_logo_ring{
  width: 58px;
  height: 58px;
}

.lp_auth_check{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 650;
  user-select: none;
}

.lp_auth_check input{
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #7b6dff;
}

.lp_auth_shell{
  max-width: 520px;
  margin: 18px auto 22px;
}

.lp_auth_card{
  padding: 20px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)),
    radial-gradient(circle at top left, rgba(103,127,255,.18), transparent 42%),
    radial-gradient(circle at top right, rgba(201,126,255,.14), transparent 38%),
    rgba(12,18,34,.82);
  box-shadow:
    0 18px 46px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.05);
}

.lp_auth_kicker{
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.lp_auth_title{
  margin: 0;
  font-size: clamp(24px, 5vw, 32px);
  font-weight: 950;
  letter-spacing: -0.02em;
}

.lp_auth_copy{
  margin-top: 8px;
  color: var(--muted);
  line-height: 1.45;
  font-size: 14px;
}

.lp_auth_form{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
}

.lp_auth_actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.lp_auth_primary{
  min-height: 46px;
  flex: 1 1 220px;
  border-color: rgba(98,149,255,.42) !important;
  background:
    linear-gradient(180deg, rgba(98,149,255,.22), rgba(130,103,255,.16)),
    rgba(255,255,255,.05);
  box-shadow: 0 10px 26px rgba(50,84,190,.18);
}

.lp_auth_secondary{
  min-height: 46px;
  flex: 0 0 auto;
  color: var(--muted);
  border-color: rgba(255,255,255,.10) !important;
  background: transparent;
}

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

.lp_auth_note{
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.lp_auth_link{
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--muted);
  padding: 0;
  cursor: pointer;
  font-weight: 750;
  letter-spacing: .01em;
}

.lp_auth_link:hover{
  color: var(--text);
  text-decoration: underline;
}

.lp_auth_msg{
  min-height: 20px;
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--muted);
}

.lp_auth_msg.is-danger{ color: #ff9b9b; }
.lp_auth_msg.is-ok{ color: #9fe3b1; }
.lp_auth_msg.is-warn{ color: #ffd166; }

body.lp_logged_in .app_intro_title,
body.lp_logged_in .app_intro_sub,
body.lp_logged_in #authShell{
  display: none !important;
}

body:not(.lp_logged_in) #status{
  display: none !important;
}

@media (max-width: 520px){
  .lp_auth_brand{
    gap: 12px;
    margin: 6px auto 12px;
  }

  .lp_auth_brand .lp_home_logo_wrap{
    width: 46px;
    height: 46px;
    flex-basis: 46px;
  }

  .lp_auth_brand .lp_home_logo_ring{
    width: 46px;
    height: 46px;
  }

  .lp_auth_brand .app_intro_title{
    font-size: 28px;
  }

  .lp_auth_shell{
    margin: 12px auto 18px;
  }

  .lp_auth_card{
    padding: 16px;
    border-radius: 20px;
  }

  .lp_auth_actions{
    flex-direction: column;
    align-items: stretch;
  }

  .lp_auth_primary,
  .lp_auth_secondary{
    width: 100%;
    flex: 1 1 auto;
  }
}

#appCard.card{
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

#appCard > .row:first-child{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 0 0 12px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  background: rgba(255,255,255,.06);
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
}

#appCard > .row:first-child > div{
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1 1 auto;
  min-width: 0;
  flex-wrap: wrap;
}

#appCard > .row:first-child > div > b{
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .2px;
}

#appCard > .row:first-child #me{
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#appCard > .row:first-child #panelSelect{
  width: auto;
  min-width: 180px;
  max-width: 240px !important;
}

#appCard > .row:first-child #logoutBtn{
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 16px;
  flex: 0 0 auto;
}

@media (max-width: 520px){
  #appCard > .row:first-child{
    align-items: flex-start;
    padding: 12px;
    border-radius: 18px;
  }

  #appCard > .row:first-child > div{
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  #appCard > .row:first-child #panelSelect{
    width: 100%;
    min-width: 0;
    max-width: none !important;
  }
}

/* ===== Home cleanup / step 1 ===== */
.home_shell{
  padding: 14px;
}

.home_head{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}

.home_head_main{
  min-width: 0;
  flex: 1 1 auto;
}

.home_kicker{
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.home_shell h3{
  margin: 0;
  font-size: 24px;
  font-weight: 950;
  letter-spacing: -0.01em;
}

.home_intro{
  margin-top: 6px;
  max-width: 42ch;
  line-height: 1.35;
}

.home_primary_nav{
  margin-top: 2px;
}

.home_secondary_nav{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 10px;
}

.home_secondary_nav .btn{
  width: 100%;
  min-height: 44px;
}

.home_calendar_card{
  margin-top: 12px !important;
}

@media (max-width: 520px){
  .home_shell{
    padding: 12px;
  }

  .home_head{
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .home_head #go_setup{
    width: 100%;
    min-height: 44px;
  }

  .home_shell h3{
    font-size: 22px;
  }

  .home_secondary_nav{
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   LIFEPANEL FINAL HOME UI
   master visual based on locked reference
   ========================================================= */

:root{
  --lp-home-bg-1: #060816;
  --lp-home-bg-2: #0a1024;
  --lp-home-bg-3: #101933;

  --lp-home-surface: rgba(16, 22, 44, 0.78);
  --lp-home-surface-2: rgba(20, 26, 52, 0.72);
  --lp-home-surface-3: rgba(24, 30, 58, 0.86);

  --lp-home-border: rgba(255,255,255,0.08);
  --lp-home-border-soft: rgba(255,255,255,0.05);

  --lp-home-text: rgba(255,255,255,0.96);
  --lp-home-text-soft: rgba(220,228,255,0.74);
  --lp-home-text-dim: rgba(186,196,224,0.56);

  --lp-home-purple: #8d5cff;
  --lp-home-violet: #c167ff;
  --lp-home-blue: #4ca7ff;
  --lp-home-cyan: #41d6ff;
  --lp-home-green: #39e6a1;
  --lp-home-gold: #efb15d;
  --lp-home-orange: #ff8b5c;
  --lp-home-red: #ff6a7a;

  --lp-home-shadow: 0 18px 40px rgba(0,0,0,0.38);
  --lp-home-shadow-soft: 0 12px 28px rgba(0,0,0,0.28);
}

#view_home{
  padding: 0 0 110px 0 !important;
}

#view_home .card,
#view_home .row,
#view_home .muted{
  all: revert;
}

#view_home{
  position: relative;
}

.lp_home_screen{
  position: relative;
  min-height: calc(100vh - 20px);
  padding: 18px 16px 26px;
  color: var(--lp-home-text);
  background:
    radial-gradient(1100px 700px at 12% -8%, rgba(64,130,255,0.14), transparent 55%),
    radial-gradient(900px 620px at 88% 12%, rgba(182,92,255,0.10), transparent 48%),
    radial-gradient(700px 580px at 62% 54%, rgba(68,120,255,0.08), transparent 52%),
    linear-gradient(180deg, var(--lp-home-bg-1) 0%, var(--lp-home-bg-2) 38%, var(--lp-home-bg-3) 100%);
  overflow: hidden;
}

.lp_home_bg{
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.lp_home_bg_blur{
  position: absolute;
  border-radius: 999px;
  filter: blur(52px);
  opacity: .72;
}

.lp_home_bg_blur_1{
  width: 180px;
  height: 180px;
  top: 180px;
  right: -20px;
  background: radial-gradient(circle, rgba(198,119,255,.28) 0%, rgba(115,76,255,.18) 35%, transparent 72%);
}

.lp_home_bg_blur_2{
  width: 210px;
  height: 210px;
  bottom: 90px;
  left: -40px;
  background: radial-gradient(circle, rgba(50,172,255,.20) 0%, rgba(45,112,255,.14) 40%, transparent 72%);
}

.lp_home_bg_blur_3{
  width: 150px;
  height: 150px;
  top: 420px;
  left: 44%;
  background: radial-gradient(circle, rgba(255,169,96,.12) 0%, rgba(198,85,255,.10) 38%, transparent 72%);
}

.lp_home_screen > *{
  position: relative;
  z-index: 1;
}

.lp_home_header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
  padding-top: 4px;
}

.lp_home_header_left{
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.lp_home_logo_wrap{
  width: 56px;
  height: 56px;
  border-radius: 50%;
  position: relative;
  flex: 0 0 auto;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.08), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border: 1px solid rgba(255,255,255,.07);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 8px 20px rgba(0,0,0,.22);
}

.lp_home_logo_ring{
  position: absolute;
  inset: 9px;
  border-radius: 50%;
  background:
    conic-gradient(from 200deg,
      transparent 0 14%,
      #f08fe8 14% 25%,
      transparent 25% 41%,
      #8c62ff 41% 62%,
      #3e8bff 62% 79%,
      #4be2ff 79% 90%,
      transparent 90% 100%);
}

.lp_home_logo_ring::after{
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  background: linear-gradient(180deg, #0f1630 0%, #0a1022 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.lp_home_header_text{
  min-width: 0;
}

.lp_home_greeting{
  color: var(--lp-home-text-soft);
  font-size: 16px;
  line-height: 1.1;
  margin-bottom: 4px;
}

.lp_home_user{
  color: var(--lp-home-text);
  font-size: 24px;
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.lp_home_header_actions{
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.lp_home_iconbtn{
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.96);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 50%;
  cursor: pointer;
}

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

.lp_home_notifybtn{
  margin-right: -2px;
}

.lp_home_notify_badge{
  position: absolute;
  top: 4px;
  right: 2px;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #f14b53;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 20px;
  box-shadow: 0 8px 18px rgba(241,75,83,.35);
}

.lp_home_stats{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.lp_home_statcard{
  position: relative;
  min-height: 120px;
  padding: 18px 16px 14px;
  border-radius: 24px;
  border: 1px solid var(--lp-home-border);
  background:
    linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.012)),
    var(--lp-home-surface);
  box-shadow: var(--lp-home-shadow-soft);
  overflow: hidden;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.lp_home_statcard::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 88% 100%, rgba(160,116,255,.12), transparent 30%);
  pointer-events: none;
}

.lp_home_statlabel{
  color: rgba(255,255,255,.88);
  font-size: 14px;
  line-height: 1.15;
  margin-bottom: 18px;
}

.lp_home_statvalue{
  color: #fff;
  font-size: 27px;
  line-height: 1.05;
  font-weight: 500;
  letter-spacing: -0.03em;
  margin-bottom: 14px;
}

.lp_home_statsub{
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--lp-home-text-soft);
  font-size: 14px;
}

.lp_home_weatherdot{
  font-size: 16px;
}

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

.lp_home_progress{
  width: 62px;
  height: 62px;
  position: relative;
  flex: 0 0 auto;
}

.lp_home_progress svg{
  width: 62px;
  height: 62px;
  transform: rotate(-90deg);
  overflow: visible;
}

.lp_home_progress_bg{
  fill: none;
  stroke: rgba(255,255,255,.10);
  stroke-width: 4;
}

.lp_home_progress_fg{
  fill: none;
  stroke-width: 4;
  stroke-linecap: round;
  stroke: url(#lp-home-progress-gradient);
  stroke-dasharray: 100.53;
  stroke-dashoffset: 28;
  filter: drop-shadow(0 0 5px rgba(114,148,255,.26));
}

.lp_home_progress span{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
}

.lp_home_statmeta{
  color: rgba(255,255,255,.76);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.lp_home_statrow_upcoming{
  margin-top: 10px;
  gap: 10px;
}

.lp_home_clockdot{
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,150,105,.08);
  border: 1px solid rgba(255,150,105,.22);
  box-shadow: 0 0 24px rgba(255,137,89,.10);
}

.lp_home_clockdot svg{
  width: 20px;
  height: 20px;
  stroke: #ff9a71;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lp_home_statmeta_big{
  color: rgba(255,255,255,.92);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.lp_home_card_glow{
  position: absolute;
  right: -8px;
  bottom: -8px;
  width: 90px;
  height: 58px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(178,130,255,.22), rgba(132,87,255,.08), transparent 70%);
  filter: blur(12px);
  pointer-events: none;
}

.lp_home_section{
  margin-bottom: 22px;
}

.lp_home_section_head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.lp_home_section_head h2{
  margin: 0;
  color: #fff;
  font-size: 21px;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.lp_home_chevbtn,
.lp_home_linkbtn{
  border: 0;
  background: transparent;
  color: rgba(228,234,255,.78);
  cursor: pointer;
}

.lp_home_chevbtn{
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.lp_home_chevbtn svg{
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lp_home_linkbtn{
  font-size: 15px;
  font-weight: 500;
}

.lp_home_today_wrap{
  position: relative;
  border-radius: 24px;
}

.lp_home_today_list{
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
}

.lp_home_today_list::before{
  content: "";
  position: absolute;
  left: 26px;
  top: 16px;
  bottom: 16px;
  width: 1px;
  background: linear-gradient(180deg, rgba(183,196,255,.11), rgba(183,196,255,.035));
  z-index: 0;
}

.lp_home_agenda_group{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lp_home_agenda_row{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
}

.lp_home_agenda_time{
  padding-top: 12px;
  color: rgba(255,255,255,.68);
  font-size: 13px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-align: left;
}

.lp_home_agenda_card{
  min-height: 68px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 11px 11px 0;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.055);
  background:
    linear-gradient(180deg, rgba(255,255,255,.020), rgba(255,255,255,.009)),
    rgba(18, 24, 46, 0.74);
  box-shadow: var(--lp-home-shadow-soft);
  overflow: hidden;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.lp_home_agenda_card_dense{
  min-height: 64px;
  align-items: flex-start;
  padding: 10px 11px 10px 0;
}

.lp_home_agenda_bar{
  width: 4px;
  align-self: stretch;
  border-radius: 999px;
  margin-left: 11px;
  box-shadow: 0 0 10px currentColor;
  opacity: .92;
}

.lp_home_agenda_bar.red{ color: #ff6f76; background: linear-gradient(180deg, #ff8778, #ff6174); }
.lp_home_agenda_bar.cyan{ color: #33daff; background: linear-gradient(180deg, #38ebff, #21b9ff); }
.lp_home_agenda_bar.purple{ color: #9d54ff; background: linear-gradient(180deg, #bb62ff, #7e47ff); }
.lp_home_agenda_bar.gold{ color: #f0b067; background: linear-gradient(180deg, #ffcc80, #f09b58); }

.lp_home_agenda_main{
  min-width: 0;
  flex: 1 1 auto;
}

.lp_home_agenda_title_row{
  display: flex;
  align-items: center;
  gap: 7px;
  justify-content: space-between;
  margin-bottom: 4px;
}

.lp_home_agenda_title{
  color: #fff;
  font-size: 14px;
  line-height: 1.18;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin-bottom: 0;
}

.lp_home_agenda_type{
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  border-radius: 999px;
  padding: 3px 7px;
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .02em;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.035);
}

.lp_home_agenda_meta{
  color: rgba(186,196,224,.50);
  font-size: 12px;
  line-height: 1.15;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.lp_home_agenda_type_item{
  color: #64d8ff;
}

.lp_home_agenda_type_event{
  color: #d18bff;
}

.lp_home_agenda_meta_dot{
  opacity: .55;
}

.lp_home_agenda_side{
  display: none;
}

.lp_home_agenda_actions{
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.lp_home_agenda_action{
  min-height: 26px;
  padding: 5px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.085);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.84);
  font-size: 11px;
  line-height: 1;
  font-weight: 600;
}

.lp_home_agenda_action_muted{
  color: rgba(255,255,255,.70);
  background: rgba(255,255,255,.028);
}

.lp_home_agenda_action_ghost{
  background: transparent;
  color: rgba(255,255,255,.72);
}

.lp_home_agenda_action:hover{
  filter: brightness(1.06);
}

.lp_home_agenda_action:active{
  transform: translateY(1px);
}

.lp_home_quick{
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
}

.lp_home_quickcard{
  min-height: 106px;
  padding: 14px 12px 12px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.07);
  background:
    linear-gradient(180deg, rgba(255,255,255,.024), rgba(255,255,255,.010)),
    rgba(17,22,44,.82);
  box-shadow: var(--lp-home-shadow-soft);
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  text-align: left;
  overflow: hidden;
  position: relative;
}

.lp_home_quickcard::before{
  content: "";
  position: absolute;
  inset: auto -18px -18px auto;
  width: 86px;
  height: 86px;
  border-radius: 50%;
  filter: blur(20px);
  opacity: .20;
}

.lp_home_quickcard_green::before{ background: rgba(65,230,161,.65); }
.lp_home_quickcard_blue::before{ background: rgba(78,150,255,.70); }
.lp_home_quickcard_gold::before{ background: rgba(239,177,93,.68); }
.lp_home_quickcard_purple::before{ background: rgba(193,103,255,.72); }

.lp_home_quickicon{
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.lp_home_quickicon svg{
  width: 26px;
  height: 26px;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lp_home_quickcard_green .lp_home_quickicon svg{ stroke: #42f0b0; }
.lp_home_quickcard_blue .lp_home_quickicon svg{ stroke: #54afff; }
.lp_home_quickcard_gold .lp_home_quickicon svg{ stroke: #efbc73; }
.lp_home_quickcard_purple .lp_home_quickicon svg{ stroke: #db7cff; }

.lp_home_quicklabel{
  color: rgba(255,255,255,.94);
  font-size: 15px;
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.lp_home_panels_row{
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: none;
}

.lp_home_panels_row::-webkit-scrollbar{
  display: none;
}

.lp_home_panelcard{
  min-width: 170px;
  max-width: 170px;
  min-height: 128px;
  padding: 14px 14px 12px;
  border-radius: 22px;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.07);
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.010)),
    rgba(17,22,44,.78);
  box-shadow: var(--lp-home-shadow-soft);
}

.lp_home_panelcard::before{
  content: "";
  position: absolute;
  inset: auto -10px -14px auto;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  filter: blur(18px);
  opacity: .18;
}

.lp_home_panelcard_family{
  background:
    radial-gradient(140px 80px at 30% 100%, rgba(88,151,255,.18), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.010)),
    rgba(17,22,44,.78);
}

.lp_home_panelcard_family::after{
  content: "";
  position: absolute;
  inset: auto auto -10px 12px;
  width: 120px;
  height: 60px;
  border-radius: 999px 999px 0 0;
  background:
    radial-gradient(120px 55px at 50% 100%, rgba(116,168,255,.38), rgba(116,168,255,.10) 62%, transparent 76%);
  opacity: .55;
}

.lp_home_panelcard_work::before{
  background: rgba(100,128,255,.52);
}

.lp_home_panelcard_finance::before{
  background: rgba(64,220,255,.46);
}

.lp_home_paneltop{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
  position: relative;
  z-index: 1;
}

.lp_home_panelicon{
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.lp_home_panelicon svg{
  width: 24px;
  height: 24px;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lp_home_panelcard_family .lp_home_panelicon svg{ stroke: #61e8c3; }
.lp_home_panelcard_work .lp_home_panelicon svg{ stroke: #7d85ff; }
.lp_home_panelcard_finance .lp_home_panelicon svg{ stroke: #f0b35f; }

.lp_home_paneldot{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  box-shadow: 0 0 12px currentColor;
}

.lp_home_paneldot_blue{ color: #45a3ff; background: #45a3ff; }
.lp_home_paneldot_green{ color: #35e48d; background: #35e48d; }

.lp_home_paneltitle{
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 20px;
  line-height: 1.05;
  font-weight: 500;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
}

.lp_home_panelmeta{
  position: relative;
  z-index: 1;
  color: #49f0b0;
  font-size: 16px;
  font-weight: 500;
}

.lp_home_panelavatars{
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  margin-top: 6px;
}

.lp_home_panelavatars span{
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: inline-block;
  margin-right: -6px;
  border: 2px solid rgba(8,12,26,.92);
  background-size: cover;
  background-position: center;
}

.lp_home_panelavatars span:nth-child(1){ background: linear-gradient(180deg, #f6d29a, #b87754); }
.lp_home_panelavatars span:nth-child(2){ background: linear-gradient(180deg, #d9dce5, #7d879b); }
.lp_home_panelavatars span:nth-child(3){ background: linear-gradient(180deg, #dfb891, #9b5b44); }
.lp_home_panelavatars span:nth-child(4){ background: linear-gradient(180deg, #f0d0c8, #9c5b5c); }

.lp_home_legacy_mount{
  display: none !important;
}

.lp_bottom{
  position: fixed !important;
  left: 50%;
  bottom: max(14px, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  width: min(100% - 18px, 430px);
  min-height: 82px;
  padding: 10px 12px;
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,.07);
  background:
    linear-gradient(180deg, rgba(19,23,43,.92), rgba(12,16,30,.94));
  box-shadow:
    0 24px 44px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.03);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  display: grid !important;
  grid-template-columns: 1fr 1fr auto 1fr 1fr;
  align-items: end;
  gap: 2px;
  z-index: 80;
}

.lp_tab{
  min-height: 60px;
  border: 0 !important;
  background: transparent !important;
  color: rgba(220,226,248,.62) !important;
  border-radius: 22px !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  box-shadow: none !important;
}

.lp_tab .ico{
  font-size: 24px;
  line-height: 1;
}

.lp_tab.active,
.lp_tab[aria-current="page"]{
  color: #9d70ff !important;
}

.lp_fab{
  width: 72px;
  height: 72px;
  min-height: 72px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.10), transparent 42%),
    linear-gradient(145deg, rgba(103,84,255,.95), rgba(240,138,100,.92)) !important;
  color: #fff !important;
  box-shadow:
    0 18px 34px rgba(0,0,0,.34),
    0 0 28px rgba(126,82,255,.24),
    0 0 22px rgba(240,138,100,.16);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  align-self: center;
  transform: translateY(-10px);
  font-size: 34px !important;
  font-weight: 300;
}

.lp_fab .ico{
  font-size: 34px !important;
  line-height: 1;
}

#home_agenda .muted{
  color: var(--lp-home-text-dim) !important;
  font-size: 15px !important;
}

#home_agenda .danger{
  color: #ff8d99 !important;
  font-size: 14px !important;
}

svg defs#lp-home-hidden-defs{
  position: absolute;
}

.lp_home_svg_defs{
  position: absolute;
  width: 0;
  height: 0;
  pointer-events: none;
  opacity: 0;
}

@media (max-width: 420px){
  .lp_home_screen{
    padding-left: 14px;
    padding-right: 14px;
  }

  .lp_home_user{
    font-size: 22px;
  }

  .lp_home_stats{
    gap: 10px;
  }

  .lp_home_statcard{
    min-height: 114px;
    padding: 16px 14px 14px;
  }

  .lp_home_statvalue{
    font-size: 24px;
  }

  .lp_home_agenda_row{
    grid-template-columns: 62px minmax(0,1fr);
    gap: 10px;
  }

  .lp_home_agenda_time{
    font-size: 15px;
  }

  .lp_home_agenda_title{
    font-size: 17px;
  }

  .lp_home_quicklabel{
    font-size: 14px;
  }

  .lp_home_panelcard{
    min-width: 162px;
    max-width: 162px;
  }
}

@media (max-width: 380px){
  .lp_home_stats{
    grid-template-columns: 1fr;
  }

  .lp_home_quick{
    grid-template-columns: 1fr 1fr;
  }
}



/* =========================================================
   HOME SHELL CLEANUP + MOBILE SHRINK PASS
   ========================================================= */

.app_intro_title,
.app_intro_sub,
#status{
  display: none !important;
}

#appCard{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

#appCard > .row:first-child{
  display: none !important;
}

.container{
  max-width: 430px;
  margin: 0 auto;
  padding: 0 !important;
}

.lp_shell_card{
  margin: 14px 14px 110px;
  border-radius: 24px;
  background: rgba(17,22,44,.82);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 18px 34px rgba(0,0,0,.30);
}

.lp_placeholder_card{
  padding: 18px 16px;
}

.lp_placeholder_kicker{
  color: rgba(220,228,255,.70);
  font-size: 13px;
  margin-bottom: 6px;
}

.lp_placeholder_head h3{
  margin: 0 0 8px 0;
  color: #fff;
  font-size: 24px;
  line-height: 1.08;
}

.lp_profile_actions{
  margin-top: 16px;
}

.lp_home_screen{
  padding: 14px 14px 18px;
  min-height: auto;
}

.lp_home_header{
  margin-bottom: 14px;
}

.lp_home_logo_wrap{
  width: 52px;
  height: 52px;
}

.lp_home_greeting{
  font-size: 15px;
  margin-bottom: 2px;
}

.lp_home_user{
  font-size: 20px;
}

.lp_home_header_actions{
  gap: 4px;
}

.lp_home_iconbtn{
  width: 40px;
  height: 40px;
}

.lp_home_notify_badge{
  top: 3px;
  right: 1px;
  min-width: 18px;
  height: 18px;
  line-height: 18px;
  font-size: 11px;
}

.lp_home_stats{
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.lp_home_statcard{
  min-height: 96px;
  padding: 14px 12px 12px;
  border-radius: 20px;
}

.lp_home_statlabel{
  font-size: 13px;
  margin-bottom: 10px;
}

.lp_home_statvalue{
  font-size: 20px;
  margin-bottom: 10px;
}

.lp_home_statsub{
  font-size: 13px;
}

.lp_home_progress{
  width: 52px;
  height: 52px;
}

.lp_home_progress svg{
  width: 52px;
  height: 52px;
}

.lp_home_progress span{
  font-size: 18px;
}

.lp_home_statmeta{
  font-size: 16px;
}

.lp_home_statmeta_big{
  font-size: 15px;
}

.lp_home_clockdot{
  width: 34px;
  height: 34px;
}

.lp_home_section{
  margin-bottom: 16px;
}

.lp_home_section_head{
  margin-bottom: 10px;
}

.lp_home_section_head h2{
  font-size: 18px;
}

.lp_home_chevbtn{
  width: 30px;
  height: 30px;
}

.lp_home_today_list{
  gap: 10px;
}

.lp_home_today_list::before{
  left: 19px;
  top: 14px;
  bottom: 14px;
}

.lp_home_agenda_row{
  grid-template-columns: 52px minmax(0,1fr);
  gap: 8px;
}

.lp_home_agenda_time{
  padding-top: 14px;
  font-size: 14px;
}

.lp_home_agenda_card{
  min-height: 72px;
  gap: 10px;
  padding: 12px 10px 12px 0;
  border-radius: 18px;
}

.lp_home_agenda_bar{
  margin-left: 10px;
}

.lp_home_agenda_title{
  font-size: 15px;
  margin-bottom: 5px;
}

.lp_home_agenda_meta{
  font-size: 13px;
}

.lp_home_agenda_side{
  gap: 8px;
  padding-right: 8px;
}

.lp_home_agenda_check{
  width: 30px;
  height: 30px;
}

.lp_home_quick{
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.lp_home_quickcard{
  min-height: 84px;
  padding: 12px 12px 10px;
  border-radius: 18px;
}

.lp_home_quickicon{
  width: 28px;
  height: 28px;
}

.lp_home_quickicon svg{
  width: 22px;
  height: 22px;
}

.lp_home_quicklabel{
  font-size: 13px;
}

.lp_home_panels_row{
  gap: 10px;
}

.lp_home_panelcard{
  min-width: 145px;
  max-width: 145px;
  min-height: 106px;
  padding: 12px 12px 10px;
  border-radius: 18px;
}

.lp_home_paneltop{
  margin-bottom: 14px;
}

.lp_home_paneltitle{
  font-size: 16px;
  margin-bottom: 8px;
}

.lp_home_panelmeta{
  font-size: 14px;
}

.lp_home_panelavatars span{
  width: 22px;
  height: 22px;
}

.lp_bottom{
  width: min(100% - 18px, 410px);
  min-height: 68px;
  padding: 8px 10px;
  border-radius: 24px;
  gap: 0;
}

.lp_tab{
  min-height: 52px;
  gap: 4px;
  font-size: 11px;
  padding: 0 2px;
}

.lp_tab .ico{
  font-size: 18px;
}

.lp_fab{
  width: 58px;
  height: 58px;
  min-height: 58px !important;
  font-size: 28px !important;
  transform: translateY(-8px);
}

.lp_fab .ico{
  font-size: 28px !important;
}

@media (max-width: 360px){
  .lp_home_screen{
    padding-left: 12px;
    padding-right: 12px;
  }

  .lp_home_stats{
    gap: 8px;
  }

  .lp_home_statcard{
    padding-left: 10px;
    padding-right: 10px;
  }

  .lp_home_statvalue{
    font-size: 18px;
  }

  .lp_home_statmeta{
    font-size: 15px;
  }

  .lp_home_panelcard{
    min-width: 138px;
    max-width: 138px;
  }
}


/* =========================================================
   LIFEPANEL HOME - mobile bottom nav hard fix
   ========================================================= */
@media (max-width: 520px){
  .lp_bottom{
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    width: min(calc(100% - 16px), 410px) !important;
    min-height: 74px !important;
    padding: 8px 10px !important;
    border-radius: 26px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr 64px 1fr 1fr !important;
    align-items: end !important;
    gap: 4px !important;
    overflow: visible !important;
    z-index: 9999 !important;
  }

  .lp_tab{
    min-width: 0 !important;
    min-height: 54px !important;
    padding: 4px 2px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    color: rgba(220,226,248,.78) !important;
    text-align: center !important;
  }

  .lp_tab .ico{
    display: block !important;
    font-size: 18px !important;
    line-height: 1 !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
  }

  .lp_tab > span:last-child{
    display: block !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
    font-weight: 600 !important;
    opacity: .92 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }

  .lp_tab.active,
  .lp_tab[aria-current="page"]{
    color: #9d70ff !important;
  }

  .lp_fab{
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    min-height: 64px !important;
    padding: 0 !important;
    margin: 0 auto !important;
    border-radius: 50% !important;
    align-self: center !important;
    justify-self: center !important;
    transform: translateY(-10px) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
  }

  .lp_fab .ico{
    display: block !important;
    font-size: 30px !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  .lp_fab > span:not(.ico){
    display: none !important;
  }
}

/* =========================================================
   LIFEPANEL HOME - compact first screen pass
   ========================================================= */
@media (max-width: 520px){
  .lp_home_screen{
    padding-top: 12px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    padding-bottom: 18px !important;
  }

  .lp_home_header{
    margin-bottom: 12px !important;
    gap: 10px !important;
  }

  .lp_home_logo_wrap{
    width: 48px !important;
    height: 48px !important;
  }

  .lp_home_logo_ring{
    inset: 8px !important;
  }

  .lp_home_greeting{
    font-size: 14px !important;
    margin-bottom: 2px !important;
  }

  .lp_home_user{
    font-size: 20px !important;
    line-height: 1.02 !important;
  }

  .lp_home_iconbtn{
    width: 40px !important;
    height: 40px !important;
  }

  .lp_home_notify_badge{
    min-width: 18px !important;
    height: 18px !important;
    line-height: 18px !important;
    font-size: 11px !important;
    top: 5px !important;
    right: 3px !important;
  }

  .lp_home_stats{
    gap: 8px !important;
    margin-bottom: 12px !important;
  }

  .lp_home_statcard{
    min-height: 96px !important;
    padding: 12px 10px 10px !important;
    border-radius: 18px !important;
  }

  .lp_home_statlabel{
    font-size: 12px !important;
    margin-bottom: 10px !important;
  }

  .lp_home_statvalue{
    font-size: 20px !important;
    margin-bottom: 8px !important;
  }

  .lp_home_statsub{
    font-size: 12px !important;
    gap: 6px !important;
  }

  .lp_home_weatherdot{
    font-size: 13px !important;
  }

  .lp_home_progress{
    width: 48px !important;
    height: 48px !important;
  }

  .lp_home_progress svg{
    width: 48px !important;
    height: 48px !important;
  }

  .lp_home_progress span{
    font-size: 16px !important;
  }

  .lp_home_statmeta{
    font-size: 16px !important;
  }

  .lp_home_clockdot{
    width: 30px !important;
    height: 30px !important;
  }

  .lp_home_clockdot svg{
    width: 16px !important;
    height: 16px !important;
  }

  .lp_home_statmeta_big{
    font-size: 15px !important;
  }

  .lp_home_section{
    margin-bottom: 14px !important;
  }

  .lp_home_section_head{
    margin-bottom: 8px !important;
  }

  .lp_home_section_head h2{
    font-size: 18px !important;
  }

  .lp_home_today_list{
    gap: 8px !important;
  }

  .lp_home_today_list::before{
    left: 20px !important;
    top: 12px !important;
    bottom: 12px !important;
  }

  .lp_home_agenda_row{
    grid-template-columns: 54px minmax(0,1fr) !important;
    gap: 8px !important;
  }

  .lp_home_agenda_time{
    padding-top: 14px !important;
    font-size: 13px !important;
  }

  .lp_home_agenda_card{
    min-height: 68px !important;
    padding: 12px 10px 12px 0 !important;
    border-radius: 16px !important;
    gap: 10px !important;
  }

  .lp_home_agenda_bar{
    margin-left: 10px !important;
    width: 3px !important;
  }

  .lp_home_agenda_title{
    font-size: 15px !important;
    margin-bottom: 4px !important;
  }

  .lp_home_agenda_meta{
    font-size: 12px !important;
    gap: 6px !important;
  }

  .lp_home_agenda_side{
    gap: 8px !important;
    padding-right: 8px !important;
  }

  .lp_home_agenda_check{
    width: 28px !important;
    height: 28px !important;
  }

  .lp_home_agenda_check svg{
    width: 15px !important;
    height: 15px !important;
  }

  .lp_home_quick{
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 8px !important;
  }

  .lp_home_quickcard{
    min-height: 82px !important;
    padding: 10px 8px !important;
    border-radius: 16px !important;
    gap: 6px !important;
  }

  .lp_home_quickicon{
    width: 26px !important;
    height: 26px !important;
  }

  .lp_home_quickicon svg{
    width: 20px !important;
    height: 20px !important;
  }

  .lp_home_quicklabel{
    font-size: 12px !important;
    line-height: 1.05 !important;
  }

  .lp_home_panels_row{
    gap: 8px !important;
  }

  .lp_home_panelcard{
    min-width: 138px !important;
    max-width: 138px !important;
    min-height: 102px !important;
    padding: 10px !important;
    border-radius: 16px !important;
  }

  .lp_home_paneltop{
    margin-bottom: 12px !important;
  }

  .lp_home_paneltitle{
    font-size: 16px !important;
    margin-bottom: 6px !important;
  }

  .lp_home_panelmeta{
    font-size: 13px !important;
  }

  .lp_home_panelavatars span{
    width: 22px !important;
    height: 22px !important;
  }
}

/* =========================================================
   LIFEPANEL HOME - agenda compact mode + more link
   ========================================================= */
.lp_home_today_more_wrap{
  display: flex;
  justify-content: flex-end;
  margin-top: 8px;
}

.lp_home_today_more{
  appearance: none;
  border: 0;
  background: transparent;
  color: rgba(214,224,255,.78);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.1;
  cursor: pointer;
  padding: 2px 0;
}

.lp_home_today_more:hover{
  color: rgba(255,255,255,.95);
}

@media (max-width: 520px){
  .lp_home_agenda_row_compact{
    grid-template-columns: 48px minmax(0,1fr) !important;
    gap: 7px !important;
  }

  .lp_home_agenda_row_compact .lp_home_agenda_time{
    padding-top: 11px !important;
    font-size: 12px !important;
  }

  .lp_home_agenda_card_compact{
    min-height: 58px !important;
    padding: 10px 8px 10px 0 !important;
    gap: 8px !important;
    border-radius: 14px !important;
  }

  .lp_home_agenda_card_compact .lp_home_agenda_bar{
    margin-left: 8px !important;
  }

  .lp_home_agenda_card_compact .lp_home_agenda_title{
    font-size: 14px !important;
    margin-bottom: 3px !important;
  }

  .lp_home_agenda_card_compact .lp_home_agenda_meta{
    font-size: 11px !important;
    gap: 4px !important;
  }

  .lp_home_agenda_card_compact .lp_home_agenda_side{
    gap: 6px !important;
    padding-right: 6px !important;
  }

  .lp_home_agenda_card_compact .lp_home_agenda_check{
    width: 26px !important;
    height: 26px !important;
  }

  .lp_home_today_more{
    font-size: 12px !important;
  }
}

/* =========================================================
   LIFEPANEL HOME - active panel feedback
   ========================================================= */
.lp_home_panelcard{
  appearance: none;
  text-align: left;
  cursor: pointer;
  transition:
    transform .14s ease,
    box-shadow .14s ease,
    border-color .14s ease,
    filter .14s ease;
}

.lp_home_panelcard:hover{
  filter: brightness(1.04);
}

.lp_home_panelcard:active{
  transform: translateY(1px);
}

.lp_home_panelcard.is-active{
  border-color: rgba(90, 134, 255, 0.42) !important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.28),
    0 0 0 1px rgba(90,134,255,.18),
    0 0 22px rgba(90,134,255,.16) !important;
  transform: translateY(-1px);
}

.lp_home_panelcard.is-active .lp_home_paneltitle{
  color: #ffffff;
}

.lp_home_panelcard.is-active .lp_home_panelmeta{
  color: #7fb4ff !important;
  font-weight: 700;
}

.lp_home_panelcard.is-active .lp_home_paneldot{
  box-shadow: 0 0 16px currentColor, 0 0 28px currentColor;
}

@media (max-width: 520px){
  .lp_home_panelcard.is-active{
    box-shadow:
      0 12px 24px rgba(0,0,0,.24),
      0 0 0 1px rgba(90,134,255,.18),
      0 0 16px rgba(90,134,255,.14) !important;
  }
}

/* =========================================================
   LIFEPANEL SOLO CALENDAR VIEW
   ========================================================= */
#view_calendar{
  padding: 0 0 110px 0 !important;
  position: relative;
}

.lp_calendar_screen{
  position: relative;
  min-height: calc(100vh - 20px);
  padding: 18px 16px 26px;
  color: var(--lp-home-text, rgba(255,255,255,.96));
  background:
    radial-gradient(1100px 700px at 12% -8%, rgba(64,130,255,0.14), transparent 55%),
    radial-gradient(900px 620px at 88% 12%, rgba(182,92,255,0.10), transparent 48%),
    radial-gradient(700px 580px at 62% 54%, rgba(68,120,255,0.08), transparent 52%),
    linear-gradient(180deg, #060816 0%, #0a1024 38%, #101933 100%);
  overflow: hidden;
}

.lp_calendar_bg{
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.lp_calendar_bg_blur{
  position: absolute;
  border-radius: 999px;
  filter: blur(52px);
  opacity: .72;
}

.lp_calendar_bg_blur_1{
  width: 180px;
  height: 180px;
  top: 120px;
  right: -20px;
  background: radial-gradient(circle, rgba(198,119,255,.24) 0%, rgba(115,76,255,.16) 35%, transparent 72%);
}

.lp_calendar_bg_blur_2{
  width: 210px;
  height: 210px;
  bottom: 90px;
  left: -40px;
  background: radial-gradient(circle, rgba(50,172,255,.18) 0%, rgba(45,112,255,.12) 40%, transparent 72%);
}

.lp_calendar_screen > *{
  position: relative;
  z-index: 1;
}

.lp_calendar_header{
  margin-bottom: 14px;
}

.lp_calendar_kicker{
  color: rgba(220,228,255,0.74);
  font-size: 14px;
  margin-bottom: 4px;
}

.lp_calendar_title_main{
  margin: 0 0 4px 0;
  color: #fff;
  font-size: 28px;
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.lp_calendar_intro{
  color: rgba(220,228,255,0.68);
  font-size: 14px;
}

.lp_calendar_shell .home_calendar_card{
  margin-top: 0 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012)),
    rgba(16,22,44,.78) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 14px !important;
}

.lp_calendar_shell .cal_head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.lp_calendar_shell .cal_title{
  color: #fff;
}

.lp_calendar_shell .cal_nav{
  display: flex;
  gap: 8px;
}

.lp_calendar_shell #calendar .cal-cell{
  min-height: 74px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.03);
}

.lp_calendar_shell #calendar .d{
  color: #fff;
  font-weight: 700;
}

.lp_calendar_shell #calendar .t{
  font-size: 18px;
  opacity: .95;
}

.lp_calendar_shell #cal_editor{
  margin-top: 12px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.010)),
    rgba(18,24,46,.82) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 20px !important;
}

.lp_calendar_shell .cal_line{
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  padding: 12px;
  background: rgba(255,255,255,.025);
  margin-bottom: 8px;
}

.lp_calendar_shell .cal_actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}

@media (max-width: 520px){
  .lp_calendar_screen{
    padding: 14px 14px 20px;
  }

  .lp_calendar_title_main{
    font-size: 24px;
  }

  .lp_calendar_shell .home_calendar_card{
    border-radius: 20px !important;
    padding: 12px !important;
  }

  .lp_calendar_shell #calendar .cal-cell{
    min-height: 62px;
    border-radius: 14px;
  }

  .lp_calendar_shell #calendar .t{
    font-size: 16px;
  }
}

/* =========================================================
   LIFEPANEL SOLO CALENDAR VIEW - hard layout fix
   ========================================================= */
#view_calendar .lp_calendar_shell{
  max-width: 100%;
}

#view_calendar .home_calendar_card{
  width: 100%;
}

#view_calendar #calendar{
  width: 100%;
  display: block;
}

#view_calendar #calendar .cal-grid{
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
}

#view_calendar #calendar .cal-dow{
  min-width: 0;
  text-align: center;
  color: rgba(220,228,255,.72);
  font-size: 12px;
  font-weight: 700;
  padding: 4px 0 6px;
}

#view_calendar #calendar .cal-cell{
  min-height: 0;
  aspect-ratio: 1 / 1;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.06);
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.012)),
    rgba(15,20,36,.78);
  padding: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
  transition:
    transform .14s ease,
    border-color .14s ease,
    box-shadow .14s ease,
    background .14s ease;
}

#view_calendar #calendar .cal-cell.muted{
  opacity: .28;
  background: rgba(255,255,255,.015);
}

#view_calendar #calendar .d{
  color: #fff;
  font-weight: 900;
  font-size: 16px;
  line-height: 1;
}

#view_calendar #calendar .t{
  font-size: 16px;
  line-height: 1.1;
  word-break: break-word;
}

#view_calendar .cal_head{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

#view_calendar .cal_title{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

#view_calendar .cal_nav{
  display: flex !important;
  align-items: center;
  gap: 8px !important;
  flex: 0 0 auto;
}

#view_calendar #cal_prev,
#view_calendar #cal_next{
  min-width: 42px;
  height: 42px;
  padding: 0 12px !important;
}

#view_calendar #cal_editor{
  width: 100%;
}

#view_calendar #cal_day_list{
  width: 100%;
}

@media (max-width: 820px){
  #view_calendar #calendar .cal-grid{
    gap: 6px !important;
  }

  #view_calendar #calendar .cal-cell{
    min-height: 74px;
    padding: 8px 8px 6px;
  }

  #view_calendar #calendar .d{
    font-size: 14px;
    margin-bottom: 8px;
  }

  #view_calendar #calendar .t{
    font-size: 14px;
  }
}

@media (max-width: 520px){
  #view_calendar .lp_calendar_screen{
    padding: 14px 14px 18px !important;
  }

  #view_calendar #calendar .cal-grid{
    gap: 5px !important;
  }

  #view_calendar #calendar .cal-dow{
    font-size: 11px;
    padding-bottom: 4px;
  }

  #view_calendar #calendar .cal-cell{
    min-height: 58px;
    padding: 7px 6px 5px;
    border-radius: 12px;
  }

  #view_calendar #calendar .d{
    font-size: 13px;
    margin-bottom: 6px;
  }

  #view_calendar #calendar .t{
    font-size: 12px;
  }

  #view_calendar #cal_prev,
  #view_calendar #cal_next{
    min-width: 38px;
    height: 38px;
  }
}

/* =========================================================
   V1 FIX - standard modals above bottom nav
   ========================================================= */
.modal{
  position: fixed !important;
  inset: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  background: rgba(5, 8, 18, 0.68);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 10060 !important;
}

.modal.hidden{
  display: none !important;
}

.modal-card{
  width: min(92vw, 680px);
  max-height: 90vh;
  overflow: auto;
  background: rgba(10,12,18,.96);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(0,0,0,.42);
  padding: 14px;
  position: relative;
  z-index: 10061 !important;
}

#editModal,
#eventEditModal,
#itemHistoryModal,
#eventHistoryModal{
  z-index: 10060 !important;
}

/* =========================================================
   SOLO CALENDAR - hide legacy quick add row
   ========================================================= */
#view_calendar #cal_quick_add_row{
  display: none !important;
}

/* =========================================================
   V1 EDITORS - unified shell for item/event edit
   ========================================================= */
.lp_editor_modal_card{
  width: min(92vw, 640px);
  max-height: 90vh;
  overflow: auto;
  background: rgba(10,12,18,.96);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(0,0,0,.42);
  padding: 16px;
}

.lp_editor_modal_head{
  align-items: flex-start;
}

.lp_editor_kicker{
  color: rgba(220,228,255,.64);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.lp_editor_title{
  color: #fff;
  font-size: 22px;
  line-height: 1.1;
  font-weight: 800;
}

.lp_editor_subtitle{
  color: rgba(220,228,255,.72);
  font-size: 13px;
  line-height: 1.35;
  margin-top: 6px;
}

.lp_editor_form{
  margin-top: 14px;
}

.lp_editor_section{
  padding-top: 12px;
}

.lp_editor_section + .lp_editor_section{
  margin-top: 6px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.lp_editor_section_title{
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 8px;
}

.lp_editor_conditional{
  display: block;
  margin-top: 10px;
}

.lp_editor_hint{
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.4;
}

.lp_editor_modal_actions{
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.lp_editor_notes_section{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.10);
}

.lp_editor_notes_msg{
  font-size: 13px;
  margin-bottom: 8px;
}

.lp_editor_notes_add{
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
}

.lp_editor_notes_add .input{
  flex: 1;
}

.lp_editor_notes_list{
  display: grid;
  gap: 8px;
}

.lp_editor_msg{
  margin-top: 10px;
  font-size: 13px;
}

#editModal .input,
#editModal select,
#eventEditModal .input,
#eventEditModal select{
  width: 100%;
  box-sizing: border-box;
}

#editModal label,
#eventEditModal label{
  display: block;
}

@media (max-width: 640px){
  .lp_editor_modal_card{
    width: min(94vw, 640px);
    padding: 14px;
    border-radius: 18px;
  }

  .lp_editor_title{
    font-size: 20px;
  }

  .lp_editor_notes_add{
    flex-direction: column;
  }

  .lp_editor_notes_add .btn{
    width: 100%;
  }

  .lp_editor_modal_actions{
    flex-direction: column-reverse;
  }

  .lp_editor_modal_actions .btn{
    width: 100%;
  }
}

/* =========================================================
   LIFEPANEL CALENDAR - human day detail
   ========================================================= */
#view_calendar .lp_day_editor{
  background:
    linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012)),
    rgba(15,21,40,.82) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 38px rgba(0,0,0,.30) !important;
  padding: 14px !important;
}

#view_calendar .lp_day_editor_head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

#view_calendar .lp_day_editor_kicker{
  color: rgba(220,228,255,.68);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 4px;
}

#view_calendar .lp_day_editor_date{
  color: #fff;
  font-size: 20px;
  line-height: 1.1;
}

#view_calendar .lp_day_editor_close{
  min-width: 44px;
  min-height: 44px;
  border-radius: 14px;
}

#view_calendar #cal_day_list{
  display:grid;
  gap:14px;
}

#view_calendar .lp_day_section{
  display:grid;
  gap:10px;
}

#view_calendar .lp_day_section_head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

#view_calendar .lp_day_section_head h4{
  margin:0;
  color:#fff;
  font-size:15px;
  font-weight:800;
}

#view_calendar .lp_day_section_count{
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.86);
  font-size: 12px;
  font-weight: 800;
}

#view_calendar .lp_day_cards{
  display:grid;
  gap:10px;
}

#view_calendar .lp_day_empty{
  padding: 14px;
  border: 1px dashed rgba(255,255,255,.10);
  border-radius: 16px;
  color: rgba(220,228,255,.60);
  background: rgba(255,255,255,.02);
}

#view_calendar .cal_line{
  display:grid;
  gap:10px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.07);
  background:
    linear-gradient(180deg, rgba(255,255,255,.026), rgba(255,255,255,.012)),
    rgba(13,18,34,.78);
}

#view_calendar .cal_due{
  box-shadow: inset 3px 0 0 rgba(90, 170, 255, .55);
}

#view_calendar .cal_event{
  box-shadow: inset 3px 0 0 rgba(208, 114, 255, .52);
}

#view_calendar .cal_card_head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

#view_calendar .cal_title{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  color:#fff;
}

#view_calendar .cal_title b{
  font-size:16px;
  line-height:1.2;
}

#view_calendar .cal_kind{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  opacity: 1;
}

#view_calendar .cal_kind_due{
  background: rgba(79, 164, 255, .14);
  color: #7fc2ff;
}

#view_calendar .cal_kind_event{
  background: rgba(199, 108, 255, .14);
  color: #d38cff;
}

#view_calendar .cal_state{
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.82);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

#view_calendar .cal_meta{
  margin-top: 0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}

#view_calendar .cal_note{
  margin-top: 2px;
  font-size: 14px;
  line-height: 1.35;
}

#view_calendar .cal_actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

#view_calendar .cal_actions .btn{
  min-height: 40px;
  padding: 9px 12px;
  border-radius: 12px;
}

@media (max-width: 520px){
  #view_calendar .cal_card_head{
    flex-direction: column;
    align-items: flex-start;
  }

  #view_calendar .cal_actions{
    display:grid;
    grid-template-columns: 1fr 1fr;
  }

  #view_calendar .cal_actions .btn{
    width: 100%;
  }
}

/* =========================================================
   LIFEPANEL CALENDAR - V1 month grid upgrade
   ========================================================= */
#view_calendar #calendar .cal-grid{
  gap: 8px;
}

#view_calendar #calendar .cal-dow{
  color: rgba(220,228,255,.62);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  padding-bottom: 4px;
}

#view_calendar #calendar .cal-cell{
  min-height: 92px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.06);
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.012)),
    rgba(15,20,36,.78);
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition:
    transform .14s ease,
    border-color .14s ease,
    box-shadow .14s ease,
    background .14s ease;
}

#view_calendar #calendar .cal-cell:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 10px 22px rgba(0,0,0,.22);
}

#view_calendar #calendar .cal-cell.is-empty{
  opacity: .42;
  background:
    linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,.006)),
    rgba(13,18,32,.46);
}

#view_calendar #calendar .cal-cell.has-due{
  box-shadow: inset 3px 0 0 rgba(90,170,255,.50);
}

#view_calendar #calendar .cal-cell.has-ev{
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.012)),
    rgba(22,18,38,.80);
}

#view_calendar #calendar .cal-cell.has-due.has-ev{
  box-shadow:
    inset 3px 0 0 rgba(90,170,255,.50),
    inset -3px 0 0 rgba(208,114,255,.42);
}

#view_calendar #calendar .cal-cell.is-today{
  border-color: rgba(196,216,255,.86);
  box-shadow:
    0 0 0 1px rgba(196,216,255,.22),
    0 0 28px rgba(143,184,255,.22),
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 14px 28px rgba(0,0,0,.24);
  background:
    linear-gradient(180deg, rgba(255,255,255,.040), rgba(255,255,255,.016)),
    rgba(21,28,48,.90);
}

#view_calendar #calendar .cal-cell.is-open{
  border-color: rgba(102,143,255,.88);
  box-shadow:
    0 0 0 2px rgba(102,143,255,.34),
    0 0 20px rgba(90,134,255,.16);
}

#view_calendar #calendar .cal-cell.is-today.is-open{
  border-color: rgba(214,230,255,.94);
  box-shadow:
    0 0 0 2px rgba(102,143,255,.34),
    0 0 0 4px rgba(196,216,255,.14),
    0 0 34px rgba(143,184,255,.24),
    0 14px 28px rgba(0,0,0,.24);
}

#view_calendar #calendar .cal-cell-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

#view_calendar #calendar .d{
  color: #fff;
  font-weight: 800;
  font-size: 15px;
  line-height: 1;
}








@media (max-width: 520px){
  #view_calendar #calendar .cal-grid{
    gap: 6px;
  }

  #view_calendar #calendar .cal-cell{
    aspect-ratio: 1 / 1;
    min-height: 0;
    padding: 8px;
    border-radius: 16px;
  }

  #view_calendar #calendar .d{
    font-size: 15px;
  }

  #view_calendar #calendar .cal-today-label{
    font-size: 9px;
    padding: 3px 6px;
  }

  #view_calendar #calendar .cal-dot{
    width: 9px;
    height: 9px;
  }

  #view_calendar #calendar .cal-dot-count{
    font-size: 10px;
  }
}

/* =========================================================
   LIFEPANEL CALENDAR - dot polish override
   ========================================================= */
#view_calendar #calendar .cal-today-label{
  display:none !important;
}

#view_calendar #calendar .cal-dot-due{
  background: linear-gradient(180deg, #8fdbff 0%, #42a5ff 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.12),
    0 0 16px rgba(66,165,255,.62),
    0 0 28px rgba(66,165,255,.26) !important;
}

#view_calendar #calendar .cal-dot-ev{
  background: linear-gradient(180deg, #ecadff 0%, #b15cff 100%) !important;
  box-shadow:
    0 0 0 1px rgba(255,255,255,.12),
    0 0 16px rgba(177,92,255,.60),
    0 0 28px rgba(177,92,255,.24) !important;
}

#view_calendar #calendar .cal-dot-count{
  color: rgba(244,247,255,.96) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

#view_calendar #calendar .cal-cell.is-today{
  border-color: rgba(227,236,255,.95) !important;
  box-shadow:
    0 0 0 1px rgba(227,236,255,.26),
    0 0 34px rgba(143,184,255,.28),
    inset 0 0 0 1px rgba(255,255,255,.05),
    0 14px 28px rgba(0,0,0,.24) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.020)),
    rgba(24,31,54,.94) !important;
}

#view_calendar #calendar .cal-cell.is-open{
  border-color: rgba(104,150,255,.98) !important;
  box-shadow:
    0 0 0 2px rgba(104,150,255,.42),
    0 0 24px rgba(90,134,255,.18) !important;
}

#view_calendar #calendar .cal-cell.is-today.is-open{
  border-color: rgba(240,245,255,.98) !important;
  box-shadow:
    0 0 0 2px rgba(104,150,255,.42),
    0 0 0 4px rgba(227,236,255,.17),
    0 0 38px rgba(143,184,255,.28),
    0 14px 28px rgba(0,0,0,.24) !important;
}

/* =========================================================
   LIFEPANEL CALENDAR - V1 color frame polish
   ========================================================= */

/* --- month grid: days with data --- */
#view_calendar #calendar .cal-cell.has-due{
  border-color: rgba(122, 205, 255, .34) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.014)),
    rgba(16, 28, 48, .84) !important;
  box-shadow:
    inset 0 0 0 1px rgba(122,205,255,.08),
    0 0 18px rgba(80,170,255,.12) !important;
}

#view_calendar #calendar .cal-cell.has-ev{
  border-color: rgba(223, 154, 255, .34) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.014)),
    rgba(27, 19, 44, .84) !important;
  box-shadow:
    inset 0 0 0 1px rgba(223,154,255,.08),
    0 0 18px rgba(190,110,255,.12) !important;
}

#view_calendar #calendar .cal-cell.has-due.has-ev{
  border-color: rgba(210, 224, 255, .40) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.015)),
    linear-gradient(135deg, rgba(66,165,255,.12) 0%, rgba(177,92,255,.10) 100%),
    rgba(20, 20, 40, .88) !important;
  box-shadow:
    inset 2px 0 0 rgba(80,170,255,.40),
    inset -2px 0 0 rgba(190,110,255,.34),
    0 0 22px rgba(120,140,255,.12) !important;
}

/* hover ať je živější */
#view_calendar #calendar .cal-cell.has-due:hover{
  border-color: rgba(142, 219, 255, .56) !important;
  box-shadow:
    inset 0 0 0 1px rgba(142,219,255,.10),
    0 0 24px rgba(80,170,255,.18),
    0 10px 22px rgba(0,0,0,.22) !important;
}

#view_calendar #calendar .cal-cell.has-ev:hover{
  border-color: rgba(236, 173, 255, .56) !important;
  box-shadow:
    inset 0 0 0 1px rgba(236,173,255,.10),
    0 0 24px rgba(190,110,255,.18),
    0 10px 22px rgba(0,0,0,.22) !important;
}

#view_calendar #calendar .cal-cell.has-due.has-ev:hover{
  border-color: rgba(230, 238, 255, .62) !important;
  box-shadow:
    inset 2px 0 0 rgba(80,170,255,.42),
    inset -2px 0 0 rgba(190,110,255,.36),
    0 0 28px rgba(130,150,255,.18),
    0 10px 22px rgba(0,0,0,.22) !important;
}

/* --- day detail cards below calendar --- */
#view_calendar .cal_line.cal_due{
  border-color: rgba(122, 205, 255, .26) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.014)),
    rgba(17, 28, 48, .86) !important;
  box-shadow:
    inset 3px 0 0 rgba(92, 188, 255, .72),
    0 0 22px rgba(80,170,255,.10) !important;
}

#view_calendar .cal_line.cal_event{
  border-color: rgba(223, 154, 255, .26) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.014)),
    rgba(28, 19, 46, .86) !important;
  box-shadow:
    inset 3px 0 0 rgba(198, 116, 255, .68),
    0 0 22px rgba(190,110,255,.10) !important;
}

/* hover efekt pro karty dole */
#view_calendar .cal_line.cal_due:hover{
  border-color: rgba(142, 219, 255, .42) !important;
  box-shadow:
    inset 3px 0 0 rgba(92,188,255,.80),
    0 0 26px rgba(80,170,255,.16) !important;
}

#view_calendar .cal_line.cal_event:hover{
  border-color: rgba(236, 173, 255, .42) !important;
  box-shadow:
    inset 3px 0 0 rgba(198,116,255,.76),
    0 0 26px rgba(190,110,255,.16) !important;
}

/* badge v detailu dne trochu hezčí */
#view_calendar .cal_kind_due{
  background: rgba(92,188,255,.16) !important;
  color: #9ed8ff !important;
  box-shadow: inset 0 0 0 1px rgba(122,205,255,.14);
}

#view_calendar .cal_kind_event{
  background: rgba(198,116,255,.16) !important;
  color: #efb4ff !important;
  box-shadow: inset 0 0 0 1px rgba(223,154,255,.14);
}

/* =========================================================
   LIFEPANEL CALENDAR - split day colors like HOME
   ========================================================= */

/* month-grid: vypnout staré dot UI */
#view_calendar #calendar .cal-dots,
#view_calendar #calendar .cal-dot-group,
#view_calendar #calendar .cal-dot,
#view_calendar #calendar .cal-dot-count,
#view_calendar #calendar .cal-today-label{
  display: none !important;
}

/* základ buňky */
#view_calendar #calendar .cal-cell{
  overflow: hidden;
  position: relative;
}

/* bez záznamu nech tmavé */
#view_calendar #calendar .cal-cell.is-empty{
  background:
    linear-gradient(180deg, rgba(255,255,255,.014), rgba(255,255,255,.006)),
    rgba(13,18,32,.52) !important;
  opacity: .92;
}

/* jen EVENT = levá půlka fialová */
#view_calendar #calendar .cal-cell.has-ev:not(.has-due){
  background:
    linear-gradient(90deg,
      rgba(214,113,255,.22) 0%,
      rgba(214,113,255,.12) 50%,
      rgba(18,24,42,.88) 50%,
      rgba(18,24,42,.88) 100%
    ) !important;
  border-color: rgba(220,154,255,.30) !important;
  box-shadow:
    inset 2px 0 0 rgba(214,113,255,.50),
    0 0 18px rgba(192,100,255,.10) !important;
}

/* jen ITEM = pravá půlka modrá */
#view_calendar #calendar .cal-cell.has-due:not(.has-ev){
  background:
    linear-gradient(90deg,
      rgba(18,24,42,.88) 0%,
      rgba(18,24,42,.88) 50%,
      rgba(78,182,255,.12) 50%,
      rgba(78,182,255,.22) 100%
    ) !important;
  border-color: rgba(136,212,255,.30) !important;
  box-shadow:
    inset -2px 0 0 rgba(78,182,255,.54),
    0 0 18px rgba(78,182,255,.10) !important;
}

/* EVENT + ITEM = obě poloviny */
#view_calendar #calendar .cal-cell.has-due.has-ev{
  background:
    linear-gradient(90deg,
      rgba(214,113,255,.20) 0%,
      rgba(214,113,255,.12) 50%,
      rgba(78,182,255,.12) 50%,
      rgba(78,182,255,.20) 100%
    ) !important;
  border-color: rgba(225,232,255,.34) !important;
  box-shadow:
    inset 2px 0 0 rgba(214,113,255,.46),
    inset -2px 0 0 rgba(78,182,255,.50),
    0 0 20px rgba(120,140,255,.10) !important;
}

/* hover */
#view_calendar #calendar .cal-cell.has-ev:not(.has-due):hover{
  border-color: rgba(232,175,255,.42) !important;
  box-shadow:
    inset 2px 0 0 rgba(214,113,255,.60),
    0 0 22px rgba(192,100,255,.14),
    0 10px 22px rgba(0,0,0,.20) !important;
}

#view_calendar #calendar .cal-cell.has-due:not(.has-ev):hover{
  border-color: rgba(160,224,255,.42) !important;
  box-shadow:
    inset -2px 0 0 rgba(78,182,255,.64),
    0 0 22px rgba(78,182,255,.14),
    0 10px 22px rgba(0,0,0,.20) !important;
}

#view_calendar #calendar .cal-cell.has-due.has-ev:hover{
  border-color: rgba(235,240,255,.46) !important;
  box-shadow:
    inset 2px 0 0 rgba(214,113,255,.58),
    inset -2px 0 0 rgba(78,182,255,.62),
    0 0 24px rgba(120,140,255,.14),
    0 10px 22px rgba(0,0,0,.20) !important;
}

/* dnešek nech silný */
#view_calendar #calendar .cal-cell.is-today{
  border-color: rgba(228,236,255,.96) !important;
  box-shadow:
    0 0 0 2px rgba(228,236,255,.18),
    0 0 28px rgba(160,190,255,.18),
    0 14px 28px rgba(0,0,0,.24) !important;
}

/* kliknutý den sekundárně */
#view_calendar #calendar .cal-cell.is-open{
  box-shadow:
    0 0 0 2px rgba(108,148,255,.34),
    0 0 22px rgba(108,148,255,.14) !important;
}

/* kombinace dnes + klik */
#view_calendar #calendar .cal-cell.is-today.is-open{
  box-shadow:
    0 0 0 2px rgba(108,148,255,.34),
    0 0 0 4px rgba(228,236,255,.12),
    0 0 30px rgba(160,190,255,.20),
    0 14px 28px rgba(0,0,0,.24) !important;
}

/* číslo dne */
#view_calendar #calendar .d{
  position: relative;
  z-index: 1;
  color: #f4f7ff;
  font-weight: 900;
}

/* detail dne dole */
#view_calendar .cal_line.cal_due{
  border-color: rgba(136,212,255,.34) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.014)),
    rgba(18,30,52,.90) !important;
  box-shadow:
    inset 3px 0 0 rgba(78,182,255,.72),
    0 0 18px rgba(78,182,255,.08) !important;
}

#view_calendar .cal_line.cal_event{
  border-color: rgba(220,154,255,.34) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.014)),
    rgba(34,20,50,.90) !important;
  box-shadow:
    inset 3px 0 0 rgba(214,113,255,.70),
    0 0 18px rgba(192,100,255,.08) !important;
}

#view_calendar .cal_kind_due{
  background: rgba(78,182,255,.16) !important;
  color: #a9ddff !important;
  box-shadow: inset 0 0 0 1px rgba(136,212,255,.14) !important;
}

#view_calendar .cal_kind_event{
  background: rgba(214,113,255,.16) !important;
  color: #efbcff !important;
  box-shadow: inset 0 0 0 1px rgba(220,154,255,.14) !important;
}

/* =========================================================
   LIFEPANEL DASHBOARD -> PREHLED V1
   ========================================================= */

#view_dashboard .lp_dash_filters{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin: 10px 0 14px;
}

#view_dashboard .lp_dash_filter{
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: inherit;
  border-radius: 999px;
  padding: 9px 12px;
  font-weight: 800;
}

#view_dashboard .lp_dash_filter.is-active{
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.20);
  box-shadow: 0 0 0 1px rgba(255,255,255,.04) inset;
}

#view_dashboard .lp_overview_day{
  margin-top: 14px;
}

#view_dashboard .lp_overview_day:first-child{
  margin-top: 0;
}

#view_dashboard .lp_overview_dayhead{
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(220,228,255,.62);
  margin: 0 0 10px;
}

#view_dashboard .lp_overview_stack{
  display:grid;
  gap:10px;
}

/* stejné karty a akcenty jako detail dne v kalendáři */
#view_dashboard .cal_line.cal_due{
  border-color: rgba(136,212,255,.34) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.014)),
    rgba(18,30,52,.90) !important;
  box-shadow:
    inset 3px 0 0 rgba(78,182,255,.72),
    0 0 18px rgba(78,182,255,.08) !important;
}

#view_dashboard .cal_line.cal_event{
  border-color: rgba(220,154,255,.34) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.014)),
    rgba(34,20,50,.90) !important;
  box-shadow:
    inset 3px 0 0 rgba(214,113,255,.70),
    0 0 18px rgba(192,100,255,.08) !important;
}

#view_dashboard .cal_line.cal_due:hover{
  border-color: rgba(160,224,255,.42) !important;
  box-shadow:
    inset 3px 0 0 rgba(78,182,255,.82),
    0 0 22px rgba(78,182,255,.14) !important;
}

#view_dashboard .cal_line.cal_event:hover{
  border-color: rgba(232,175,255,.42) !important;
  box-shadow:
    inset 3px 0 0 rgba(214,113,255,.80),
    0 0 22px rgba(192,100,255,.14) !important;
}

#view_dashboard .cal_kind_due{
  background: rgba(78,182,255,.16) !important;
  color: #a9ddff !important;
  box-shadow: inset 0 0 0 1px rgba(136,212,255,.14) !important;
}

#view_dashboard .cal_kind_event{
  background: rgba(214,113,255,.16) !important;
  color: #efbcff !important;
  box-shadow: inset 0 0 0 1px rgba(220,154,255,.14) !important;
}

#view_dashboard .cal_card_head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}

#view_dashboard .cal_title{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:flex-start;
}

#view_dashboard .cal_title b{
  font-size: 18px;
  line-height: 1.2;
}

#view_dashboard .cal_state{
  white-space:nowrap;
}

#view_dashboard .cal_meta{
  margin-top:8px;
}

#view_dashboard .lp_overview_when{
  color: rgba(230,236,255,.88);
  font-weight: 700;
}

@media (max-width: 520px){
  #view_dashboard .cal_title b{
    font-size: 16px;
  }
}

/* =========================================================
   LIFEPANEL DASHBOARD - full background like HOME
   ========================================================= */

#view_dashboard{
  position: relative;
  min-height: calc(100vh - 86px);
  padding-bottom: 110px;
  isolation: isolate;
}

#view_dashboard::before{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -3;
  background:
    radial-gradient(1100px 700px at 12% -8%, rgba(64,130,255,0.14), transparent 55%),
    radial-gradient(900px 620px at 88% 12%, rgba(182,92,255,0.10), transparent 48%),
    radial-gradient(700px 580px at 62% 54%, rgba(68,120,255,0.08), transparent 52%),
    linear-gradient(180deg, #060816 0%, #0a1024 38%, #101933 100%);
}

#view_dashboard::after{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -2;
  background:
    radial-gradient(circle at 16% 14%, rgba(198,119,255,.18) 0%, transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(50,172,255,.14) 0%, transparent 26%),
    radial-gradient(circle at 56% 58%, rgba(255,169,96,.08) 0%, transparent 22%);
  filter: blur(36px);
  opacity: .95;
}

#view_dashboard .lp_screen{
  position: relative;
  z-index: 1;
}

#view_dashboard .lp_card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012)),
    rgba(19,24,46,.84);
  border-color: rgba(255,255,255,.10);
  box-shadow: 0 14px 34px rgba(0,0,0,.26);
}

#view_dashboard .lp_hot{
  background:
    linear-gradient(135deg, rgba(255,120,80,.16), rgba(255,255,255,.05)),
    rgba(28,24,42,.82);
}

@media (max-width: 520px){
  #view_dashboard{
    min-height: calc(100vh - 74px);
    padding-bottom: 102px;
  }
}

/* =========================================================
   LIFEPANEL DASHBOARD - use HOME logo
   ========================================================= */

#view_dashboard .lp_dash_logo_wrap{
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  margin: 0;
  flex: 0 0 42px;
}

#view_dashboard .lp_dash_logo_wrap .lp_home_logo_ring{
  width: 100%;
  height: 100%;
}

#view_dashboard .lp_brand{
  align-items: center;
}

/* =========================================================
   LIFEPANEL DASHBOARD - brand mark fix
   same symbol as HOME, different shell
   ========================================================= */

#view_dashboard .lp_brand{
  display:flex;
  align-items:center;
  gap:12px;
}

#view_dashboard .lp_dash_brand_mark{
  width: 48px;
  height: 48px;
  min-width: 48px;
  flex: 0 0 48px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.010)),
    rgba(10,16,32,.74);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow:
    0 10px 24px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.04);
}

#view_dashboard .lp_dash_brand_mark .lp_home_logo_ring{
  width: 31px;
  height: 31px;
}

#view_dashboard .lp_title{
  font-size: 21px;
  line-height: 1;
  letter-spacing: .2px;
}

@media (max-width: 520px){
  #view_dashboard .lp_brand{
    gap: 10px;
  }

  #view_dashboard .lp_dash_brand_mark{
    width: 44px;
    height: 44px;
    min-width: 44px;
    flex-basis: 44px;
    border-radius: 14px;
  }

  #view_dashboard .lp_dash_brand_mark .lp_home_logo_ring{
    width: 28px;
    height: 28px;
  }

  #view_dashboard .lp_title{
    font-size: 20px;
  }
}

/* =========================================================
   LIFEPANEL ITEMS - V1 shell
   ========================================================= */

#view_items{
  position: relative;
  min-height: calc(100vh - 86px);
  padding-bottom: 110px;
  isolation: isolate;
}

#view_items::before{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -3;
  background:
    radial-gradient(1100px 700px at 12% -8%, rgba(64,130,255,0.14), transparent 55%),
    radial-gradient(900px 620px at 88% 12%, rgba(182,92,255,0.10), transparent 48%),
    radial-gradient(700px 580px at 62% 54%, rgba(68,120,255,0.08), transparent 52%),
    linear-gradient(180deg, #060816 0%, #0a1024 38%, #101933 100%);
}

#view_items::after{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -2;
  background:
    radial-gradient(circle at 16% 14%, rgba(198,119,255,.18) 0%, transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(50,172,255,.14) 0%, transparent 26%),
    radial-gradient(circle at 56% 58%, rgba(255,169,96,.08) 0%, transparent 22%);
  filter: blur(36px);
  opacity: .95;
}

#view_items .lp_items_screen{
  position: relative;
  z-index: 1;
  max-width: 560px;
  margin: 0 auto;
  padding: 12px 12px 0;
}

#view_items .lp_card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012)),
    rgba(19,24,46,.84);
  border-color: rgba(255,255,255,.10);
}

#view_items .lp_items_topbar{
  margin-bottom: 14px;
}

#view_items .lp_items_subtitle{
  margin-top: 3px;
  font-size: 13px;
  font-weight: 800;
  color: rgba(220,228,255,.72);
}

#view_items .lp_items_filters_card{
  margin-bottom: 12px;
}

#view_items #items_scope{
  white-space: nowrap;
}

#view_items .lp_items_cat_tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

#view_items .lp_items_cat_tabs .pill{
  text-decoration: none;
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: inherit;
  font-weight: 800;
}

#view_items .lp_items_hint{
  margin-top: 12px;
}

#view_items .lp_items_hintrow{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

#view_items .lp_items_switch{
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
}

#view_items .lp_items_toggle{
  text-decoration: none;
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: inherit;
  font-weight: 800;
}

#view_items .lp_items_toggle.is-active{
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.20);
  box-shadow: 0 0 0 1px rgba(255,255,255,.04) inset;
}

#view_items .lp_items_count{
  color: rgba(220,228,255,.76);
  font-size: 14px;
}

#view_items .lp_items_list_shell{
  display: grid;
  gap: 12px;
}

#view_items .lp_items_group{
  margin-bottom: 0;
}

#view_items .lp_items_grouphead{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

#view_items .lp_items_groupname{
  font-size: 18px;
  font-weight: 900;
  line-height: 1.15;
  color: #fff;
}

#view_items .lp_items_groupcount{
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(228,234,255,.88);
  font-weight: 800;
  font-size: 13px;
}

#view_items .lp_items_stack{
  display: grid;
  gap: 10px;
}

#view_items .lp_items_row{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.020), rgba(255,255,255,.010)),
    rgba(255,255,255,.035);
}

#view_items .lp_items_main{
  flex: 1 1 auto;
  min-width: 0;
}

#view_items .lp_items_title{
  color: #fff;
  font-size: 20px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.02em;
}

#view_items .lp_items_meta{
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

#view_items .lp_items_metatext{
  color: rgba(220,228,255,.72);
  font-size: 14px;
  font-weight: 700;
}

#view_items .lp_items_actions{
  display: flex;
  gap: 8px;
  align-items: center;
  flex: 0 0 auto;
}

#view_items .lp_items_iconbtn,
#view_items .lp_items_editbtn,
#view_items .lp_items_restorebtn{
  min-height: 44px;
  border-radius: 14px;
}

#view_items .lp_items_empty{
  text-align: left;
}

#view_items .lp_items_empty_title{
  font-size: 18px;
  font-weight: 900;
  color: #fff;
}

#view_items .lp_items_empty_text{
  margin-top: 6px;
  color: rgba(220,228,255,.74);
  line-height: 1.35;
}

@media (max-width: 520px){
  #view_items .lp_items_screen{
    max-width: none;
    margin: 0;
    padding: 0 4px;
  }

  #view_items .lp_items_topbar{
    margin-bottom: 12px;
  }

  #view_items .lp_items_row{
    flex-direction: column;
    align-items: stretch;
  }

  #view_items .lp_items_actions{
    width: 100%;
  }

  #view_items .lp_items_actions .btn{
    flex: 1 1 0;
    justify-content: center;
  }

  #view_items .lp_items_title{
    font-size: 18px;
  }
}


/* =========================================================
   ITEMS logo fix
   ========================================================= */

#view_items .lp_items_logo_wrap{
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
}

#view_items .lp_items_logo_wrap .lp_home_logo_ring{
  inset: 7px;
}

#view_items .lp_items_logo_wrap .lp_home_logo_ring::after{
  inset: 7px;
}


/* =========================================================
   EVENTS shell V1
   ========================================================= */

#view_events{
  position: relative;
  min-height: calc(100vh - 86px);
  padding-bottom: 110px;
  isolation: isolate;
}

#view_events::before{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -3;
  background:
    radial-gradient(1100px 700px at 12% -8%, rgba(64,130,255,0.14), transparent 55%),
    radial-gradient(900px 620px at 88% 12%, rgba(182,92,255,0.10), transparent 48%),
    radial-gradient(700px 580px at 62% 54%, rgba(68,120,255,0.08), transparent 52%),
    linear-gradient(180deg, #060816 0%, #0a1024 38%, #101933 100%);
}

#view_events::after{
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -2;
  background:
    radial-gradient(circle at 18% 16%, rgba(198,119,255,.18) 0%, transparent 24%),
    radial-gradient(circle at 82% 18%, rgba(50,172,255,.14) 0%, transparent 26%),
    radial-gradient(circle at 58% 58%, rgba(255,169,96,.08) 0%, transparent 22%);
  filter: blur(36px);
  opacity: .95;
}

#view_events .lp_screen{
  position: relative;
  z-index: 1;
  max-width: 560px;
  margin: 0 auto;
  padding: 12px 12px 0;
}

@media (max-width: 520px){
  #view_events .lp_screen{
    max-width: none;
    margin: 0;
    padding: 0 4px;
  }
}

#view_events .lp_card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012)),
    rgba(19,24,46,.84);
  border-color: rgba(255,255,255,.10);
}

#view_events .lp_events_logo_wrap{
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
}

#view_events .lp_events_logo_wrap .lp_home_logo_ring{
  inset: 7px;
}

#view_events .lp_events_logo_wrap .lp_home_logo_ring::after{
  inset: 7px;
}

#view_events .lp_events_subtitle{
  margin-top: 4px;
  font-size: 13px;
  font-weight: 800;
  opacity: .75;
}

#view_events .lp_events_navbtn{
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: inherit;
  border-radius: 14px;
  padding: 10px 12px;
  font-weight: 800;
}

#view_events .lp_events_filters{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin: 10px 0 0;
}

#view_events .lp_events_filterlink{
  text-decoration:none;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: inherit;
  border-radius: 999px;
  padding: 9px 12px;
  font-weight: 800;
}

#view_events .lp_events_filterlink.is-active{
  background: rgba(214,113,255,.18);
  border-color: rgba(220,154,255,.30);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}

#view_events .lp_events_hintrow{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top: 12px;
}

#view_events .lp_events_linkbtn{
  border:0;
  background:transparent;
  color: rgba(220,228,255,.78);
  font-weight: 800;
  padding: 0;
}

#view_events .lp_events_list{
  display:grid;
  gap:12px;
}

#view_events .lp_events_day{
  margin-top: 12px;
}

#view_events .lp_events_day:first-child{
  margin-top: 0;
}

#view_events .lp_events_dayhead{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin: 0 0 10px;
  color: rgba(220,228,255,.70);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

#view_events .lp_events_daycount{
  min-width: 28px;
  height: 28px;
  padding: 0 9px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(214,113,255,.12);
  border: 1px solid rgba(220,154,255,.20);
  color: #efbcff;
  font-size: 12px;
  font-weight: 900;
}

#view_events .lp_events_stack{
  display:grid;
  gap:10px;
}

#view_events .lp_event_card{
  flex-direction: column;
  gap: 10px;
}

#view_events .lp_event_card .cal_card_head,
#view_events .lp_event_card .cal_main{
  width: 100%;
}

#view_events .lp_event_when{
  color: rgba(238,228,255,.92);
  font-weight: 800;
}

#view_events .lp_event_note{
  line-height: 1.3;
}

#view_events .lp_event_actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

#view_events .lp_event_actions .btn{
  min-height: 42px;
  border-radius: 12px;
}

#view_events .lp_event_state{
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
  border: 1px solid rgba(255,255,255,.14);
}

#view_events .lp_event_state.is-planned{
  background: rgba(214,113,255,.16);
  color: #efbcff;
  border-color: rgba(220,154,255,.24);
}

#view_events .lp_event_state.is-done{
  background: rgba(70,215,160,.16);
  color: #8ef0c7;
  border-color: rgba(70,215,160,.26);
}

#view_events .lp_event_state.is-skipped{
  background: rgba(255,186,110,.16);
  color: #ffd3a0;
  border-color: rgba(255,186,110,.26);
}

#view_events .lp_event_card.is-done{
  border-color: rgba(70,215,160,.28) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.014)),
    rgba(18,40,38,.88) !important;
  box-shadow:
    inset 3px 0 0 rgba(70,215,160,.58),
    0 0 18px rgba(70,215,160,.08) !important;
}

#view_events .lp_event_card.is-skipped{
  border-color: rgba(255,186,110,.28) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.014)),
    rgba(48,30,24,.88) !important;
  box-shadow:
    inset 3px 0 0 rgba(255,186,110,.58),
    0 0 18px rgba(255,186,110,.08) !important;
}

/* =========================================================
   ITEMS mixed entity shell
   ========================================================= */

#view_items .lp_entity_switch{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin: 0 0 12px;
}

#view_items .lp_entity_tab{
  text-decoration:none;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: inherit;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 900;
}

#view_items .lp_entity_tab.is-active{
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.20);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}

#view_items .lp_entity_badge{
  margin-left: 8px;
  font-weight: 800;
}

#view_items .lp_entity_badge_item{
  background: rgba(78,182,255,.16) !important;
  color: #a9ddff !important;
  box-shadow: inset 0 0 0 1px rgba(136,212,255,.14) !important;
}

#view_items .lp_entity_badge_event{
  background: rgba(214,113,255,.16) !important;
  color: #efbcff !important;
  box-shadow: inset 0 0 0 1px rgba(220,154,255,.14) !important;
}

#view_items .lp_mix_item.lp_mix_event{
  border-color: rgba(220,154,255,.30);
  background:
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.014)),
    rgba(34,20,50,.84);
  box-shadow:
    inset 3px 0 0 rgba(214,113,255,.58),
    0 0 18px rgba(192,100,255,.08);
}

#view_items .lp_mix_event.lp_event_state_done{
  border-color: rgba(70,215,160,.28);
  background:
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.014)),
    rgba(18,40,38,.88);
  box-shadow:
    inset 3px 0 0 rgba(70,215,160,.58),
    0 0 18px rgba(70,215,160,.08);
}

#view_items .lp_mix_event.lp_event_state_skipped{
  border-color: rgba(255,186,110,.28);
  background:
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.014)),
    rgba(48,30,24,.88);
  box-shadow:
    inset 3px 0 0 rgba(255,186,110,.58),
    0 0 18px rgba(255,186,110,.08);
}

/* =========================================================
   ITEMS mixed entity cards - remove text badges, keep color only
   ========================================================= */

#view_items .lp_entity_badge,
#view_items .lp_entity_badge_item,
#view_items .lp_entity_badge_event{
  display: none !important;
}

/* default = ITEM (modrá) */
#view_items .lp_mix_item{
  border-color: rgba(136,212,255,.30) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.014)),
    rgba(18,30,52,.84) !important;
  box-shadow:
    inset 3px 0 0 rgba(78,182,255,.58),
    0 0 18px rgba(78,182,255,.08) !important;
}

/* EVENT = fialová */
#view_items .lp_mix_item.lp_mix_event{
  border-color: rgba(220,154,255,.30) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.014)),
    rgba(34,20,50,.84) !important;
  box-shadow:
    inset 3px 0 0 rgba(214,113,255,.58),
    0 0 18px rgba(192,100,255,.08) !important;
}

/* done / skipped event ponech odlišné, ale bez textového badge bordelu */
#view_items .lp_mix_item.lp_mix_event.lp_event_state_done{
  border-color: rgba(120,220,170,.28) !important;
  box-shadow:
    inset 3px 0 0 rgba(80,210,150,.56),
    0 0 18px rgba(80,210,150,.08) !important;
}

#view_items .lp_mix_item.lp_mix_event.lp_event_state_skipped{
  border-color: rgba(255,186,110,.30) !important;
  box-shadow:
    inset 3px 0 0 rgba(255,186,110,.58),
    0 0 18px rgba(255,186,110,.08) !important;
}


/* =========================================================
   ITEMS mixed view -> EVENT mobile cleanup
   ========================================================= */

#view_items .lp_mix_item.lp_mix_event{
  display: block !important;
  padding: 14px !important;
}

/* hlavní event wrapper ve smíšeném view */
#view_items .lp_mix_item.lp_mix_event > .row,
#view_items .lp_mix_item.lp_mix_event .row[style*="justify-content:space-between"]{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

/* textová část musí jít přes celý horní řádek */
#view_items .lp_mix_item.lp_mix_event > .row > div[style*="flex:1"],
#view_items .lp_mix_item.lp_mix_event .row[style*="justify-content:space-between"] > div[style*="flex:1"]{
  flex: 1 1 100% !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* title + meta */
#view_items .lp_mix_item.lp_mix_event b{
  display: block;
  line-height: 1.12;
  margin-bottom: 6px;
}

#view_items .lp_mix_item.lp_mix_event .muted{
  line-height: 1.22;
}

/* akce už nesmí lézt do textu */
#view_items .lp_mix_item.lp_mix_event .eventResolveBtn,
#view_items .lp_mix_item.lp_mix_event .eventUndoBtn,
#view_items .lp_mix_item.lp_mix_event .eventEditBtn{
  flex: 1 1 calc(50% - 5px) !important;
  min-width: 120px !important;
  min-height: 44px !important;
  white-space: nowrap !important;
  text-align: center !important;
  justify-content: center !important;
}

#view_items .lp_mix_item.lp_mix_event .eventHistoryBtn{
  flex: 0 0 56px !important;
  width: 56px !important;
  min-width: 56px !important;
  min-height: 44px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center !important;
  justify-content: center !important;
}

/* ať mezi textem a akcemi vznikne jasný prostor */
#view_items .lp_mix_item.lp_mix_event .eventResolveBtn,
#view_items .lp_mix_item.lp_mix_event .eventUndoBtn,
#view_items .lp_mix_item.lp_mix_event .eventEditBtn,
#view_items .lp_mix_item.lp_mix_event .eventHistoryBtn{
  margin-top: 2px !important;
}

/* extra úzké mobily */
@media (max-width: 380px){
  #view_items .lp_mix_item.lp_mix_event .eventResolveBtn,
  #view_items .lp_mix_item.lp_mix_event .eventUndoBtn,
  #view_items .lp_mix_item.lp_mix_event .eventEditBtn{
    flex: 1 1 100% !important;
    min-width: 0 !important;
  }

  #view_items .lp_mix_item.lp_mix_event .eventHistoryBtn{
    flex: 1 1 100% !important;
    width: 100% !important;
  }
}


/* ===== HISTORY VIEW V1 ===== */
.lp_hist_shell{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.lp_hist_topbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:2px;
}

.lp_hist_toptext{
  min-width:0;
  flex:1;
}

.lp_hist_title{
  font-size:32px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-0.02em;
  color:rgba(255,255,255,.96);
}

.lp_hist_subtitle{
  margin-top:6px;
  font-size:13px;
  line-height:1.35;
  color:rgba(230,235,255,.62);
}

.lp_hist_backbtn{
  flex:0 0 auto;
  min-height:42px;
  padding:10px 14px;
  border-radius:16px;
}

.lp_hist_filters{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:2px;
}

.lp_hist_filter{
  appearance:none;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.86);
  border-radius:999px;
  min-height:38px;
  padding:0 14px;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  transition:transform .12s ease, border-color .12s ease, background .12s ease, color .12s ease;
}

.lp_hist_filter:hover{
  border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
}

.lp_hist_filter.is-active{
  color:#fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 0 1px rgba(255,255,255,.04);
}

.lp_hist_filter.is-active[data-hf="all"]{
  border-color:rgba(255,255,255,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05));
}

.lp_hist_filter.is-active[data-hf="items"]{
  border-color:rgba(102,214,255,.34);
  background:
    linear-gradient(180deg, rgba(102,214,255,.20), rgba(86,146,255,.10));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 0 1px rgba(102,214,255,.06);
}

.lp_hist_filter.is-active[data-hf="events"]{
  border-color:rgba(214,113,255,.34);
  background:
    linear-gradient(180deg, rgba(214,113,255,.20), rgba(120,170,255,.10));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 0 0 1px rgba(214,113,255,.06);
}

.lp_hist_list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.lp_hist_empty{
  padding:14px 2px 0;
  color:rgba(230,235,255,.62);
  font-size:14px;
}

.lp_hist_card{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.028));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 10px 26px rgba(0,0,0,.16);
  padding:14px 14px 12px;
}

.lp_hist_card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:rgba(255,255,255,.12);
  opacity:.95;
}

.lp_hist_card.is-item::before{
  background:linear-gradient(180deg, rgba(102,214,255,.92), rgba(86,146,255,.58));
}

.lp_hist_card.is-event::before{
  background:linear-gradient(180deg, rgba(223,154,255,.96), rgba(141,109,255,.58));
}

.lp_hist_card.is-restore::before,
.lp_hist_card.is-undo::before{
  background:linear-gradient(180deg, rgba(255,214,102,.95), rgba(255,168,76,.55));
}

.lp_hist_card.is-archived::before{
  background:linear-gradient(180deg, rgba(196,201,216,.72), rgba(131,138,156,.40));
}

.lp_hist_head{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:8px;
}

.lp_hist_badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.88);
}

.lp_hist_badge.entity-item{
  border-color:rgba(102,214,255,.24);
  background:rgba(102,214,255,.10);
  color:rgba(185,238,255,.98);
}

.lp_hist_badge.entity-event{
  border-color:rgba(223,154,255,.24);
  background:rgba(223,154,255,.10);
  color:rgba(245,216,255,.98);
}

.lp_hist_badge.state{
  color:rgba(255,255,255,.92);
}

.lp_hist_badge.state-done{
  border-color:rgba(94,233,170,.22);
  background:rgba(94,233,170,.10);
}

.lp_hist_badge.state-skipped,
.lp_hist_badge.state-moved{
  border-color:rgba(255,214,102,.22);
  background:rgba(255,214,102,.10);
}

.lp_hist_badge.state-restored,
.lp_hist_badge.state-planned{
  border-color:rgba(255,196,102,.24);
  background:rgba(255,196,102,.10);
}

.lp_hist_badge.state-archived,
.lp_hist_badge.state-deleted{
  border-color:rgba(196,201,216,.18);
  background:rgba(196,201,216,.08);
}

.lp_hist_titleline{
  font-size:17px;
  line-height:1.25;
  font-weight:800;
  color:rgba(255,255,255,.96);
  word-break:break-word;
}

.lp_hist_due{
  margin-top:4px;
  font-size:13px;
  line-height:1.35;
  color:rgba(230,235,255,.68);
}

.lp_hist_meta{
  margin-top:8px;
  font-size:14px;
  line-height:1.4;
  color:rgba(230,235,255,.88);
}

.lp_hist_time{
  margin-top:6px;
  font-size:13px;
  line-height:1.35;
  color:rgba(230,235,255,.60);
}

.lp_hist_actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}

.lp_btn_small{
  appearance:none;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.92);
  border-radius:12px;
  min-height:34px;
  padding:0 12px;
  font-size:13px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  transition:background .12s ease, border-color .12s ease, opacity .12s ease;
}

.lp_btn_small:hover{
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.18);
}

.lp_btn_small:disabled{
  opacity:.55;
  cursor:default;
}

@media (max-width: 640px){
  .lp_hist_title{
    font-size:24px;
  }

  .lp_hist_topbar{
    align-items:flex-start;
  }

  .lp_hist_backbtn{
    min-height:38px;
    padding:9px 12px;
    border-radius:14px;
  }

  .lp_hist_card{
    border-radius:20px;
    padding:13px 13px 12px;
  }

  .lp_hist_titleline{
    font-size:16px;
  }
}

/* ===== AUDIT VIEW V1 ===== */
#view_audit{
  padding-bottom:92px;
}

.lp_audit_shell{
  display:flex;
  flex-direction:column;
  gap:12px;
}

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

.lp_audit_toptext{
  min-width:0;
  flex:1;
}

.lp_audit_title{
  font-size:30px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-0.02em;
  color:rgba(255,255,255,.96);
}

.lp_audit_subtitle{
  margin-top:6px;
  font-size:13px;
  line-height:1.35;
  color:rgba(230,235,255,.62);
}

.lp_audit_reloadbtn{
  flex:0 0 auto;
  min-height:40px;
  padding:9px 14px;
  border-radius:15px;
}

.lp_audit_filters{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.lp_audit_field{
  min-width:0;
}

.lp_audit_label{
  display:block;
  margin:0 0 6px;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  color:rgba(230,235,255,.68);
}

.lp_audit_select{
  min-height:42px;
  border-radius:16px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.12);
}

.lp_audit_summary{
  min-height:18px;
  font-size:13px;
  line-height:1.35;
  color:rgba(230,235,255,.62);
}

.lp_audit_list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.lp_audit_empty{
  padding:8px 2px 0;
  font-size:14px;
  color:rgba(230,235,255,.62);
}

.lp_audit_card{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.040), rgba(255,255,255,.024));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 10px 24px rgba(0,0,0,.14);
  padding:12px 13px;
}

.lp_audit_head{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:8px;
}

.lp_audit_badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:23px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.88);
}

.lp_audit_badge.entity-event{
  border-color:rgba(223,154,255,.22);
  background:rgba(223,154,255,.09);
  color:rgba(245,216,255,.96);
}

.lp_audit_badge.entity-item,
.lp_audit_badge.entity-occurrence{
  border-color:rgba(102,214,255,.22);
  background:rgba(102,214,255,.09);
  color:rgba(185,238,255,.96);
}

.lp_audit_badge.entity-panel_member,
.lp_audit_badge.entity-panel_recipient{
  border-color:rgba(255,214,102,.22);
  background:rgba(255,214,102,.09);
  color:rgba(255,231,176,.96);
}

.lp_audit_badge.action{
  color:rgba(255,255,255,.92);
}

.lp_audit_badge.action-done,
.lp_audit_badge.action-resolve{
  border-color:rgba(94,233,170,.22);
  background:rgba(94,233,170,.10);
}

.lp_audit_badge.action-delete,
.lp_audit_badge.action-remove{
  border-color:rgba(255,120,140,.22);
  background:rgba(255,120,140,.10);
}

.lp_audit_badge.action-restore,
.lp_audit_badge.action-undo{
  border-color:rgba(255,196,102,.24);
  background:rgba(255,196,102,.10);
}

.lp_audit_badge.action-move,
.lp_audit_badge.action-update,
.lp_audit_badge.action-add{
  border-color:rgba(196,201,216,.18);
  background:rgba(196,201,216,.08);
}

.lp_audit_titleline{
  font-size:16px;
  line-height:1.32;
  font-weight:750;
  color:rgba(255,255,255,.95);
  word-break:break-word;
}

.lp_audit_meta{
  margin-top:7px;
  font-size:13px;
  line-height:1.4;
  color:rgba(230,235,255,.62);
}

.lp_audit_detail{
  margin-top:10px;
}

.lp_audit_detail > summary{
  cursor:pointer;
  list-style:none;
  font-size:13px;
  font-weight:700;
  color:rgba(230,235,255,.82);
}

.lp_audit_detail > summary::-webkit-details-marker{
  display:none;
}

.lp_audit_detailbox{
  margin-top:8px;
  padding:10px 11px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
}

.lp_audit_rawline{
  font-size:12px;
  line-height:1.4;
  color:rgba(230,235,255,.72);
  word-break:break-word;
}

.lp_audit_pre{
  margin:8px 0 0;
  padding:9px 10px;
  overflow:auto;
  border-radius:12px;
  background:rgba(8,10,16,.55);
  border:1px solid rgba(255,255,255,.06);
  font-size:11px;
  line-height:1.45;
  color:rgba(220,226,245,.84);
  white-space:pre-wrap;
  word-break:break-word;
}

.lp_audit_actions{
  margin-top:10px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

@media (max-width: 640px){
  .lp_audit_title{
    font-size:24px;
  }

  .lp_audit_filters{
    grid-template-columns:1fr;
  }

  .lp_audit_reloadbtn{
    min-height:38px;
    padding:9px 12px;
    border-radius:14px;
  }

  .lp_audit_card{
    border-radius:18px;
    padding:12px;
  }

  .lp_audit_titleline{
    font-size:15px;
  }
}

/* ===== AUDIT DETAIL POLISH ===== */
.lp_audit_card{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.050), rgba(255,255,255,.026));
}

.lp_audit_detail > summary{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  transition:background .12s ease, border-color .12s ease;
}

.lp_audit_detail > summary::before{
  content:"▸";
  font-size:12px;
  line-height:1;
  opacity:.78;
}

.lp_audit_detail[open] > summary{
  border-color:rgba(255,255,255,.13);
  background:rgba(255,255,255,.065);
}

.lp_audit_detail[open] > summary::before{
  content:"▾";
}

.lp_audit_detailbox{
  margin-top:10px;
  border-color:rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.lp_audit_pre{
  background:rgba(6,8,14,.78);
  border-color:rgba(255,255,255,.08);
}

.lp_audit_rawline strong{
  color:rgba(255,255,255,.90);
  font-weight:700;
}

/* ===== AUDIT HUMAN DETAIL LAYER ===== */
.lp_audit_changes{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.lp_audit_change_row{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:10px;
  align-items:start;
}

.lp_audit_change_key{
  font-size:12px;
  line-height:1.35;
  font-weight:700;
  color:rgba(230,235,255,.70);
}

.lp_audit_change_val{
  font-size:13px;
  line-height:1.45;
  color:rgba(255,255,255,.92);
  word-break:break-word;
}

.lp_audit_change_empty{
  font-size:13px;
  line-height:1.4;
  color:rgba(230,235,255,.66);
}

.lp_audit_tech{
  margin-top:12px;
}

.lp_audit_tech > summary{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:5px 9px;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.03);
  cursor:pointer;
  font-size:12px;
  font-weight:700;
  color:rgba(230,235,255,.76);
}

.lp_audit_tech > summary::before{
  content:"▸";
  font-size:11px;
  line-height:1;
  opacity:.75;
}

.lp_audit_tech[open] > summary::before{
  content:"▾";
}

.lp_audit_techbox{
  margin-top:9px;
  padding-top:2px;
}

@media (max-width: 640px){
  .lp_audit_change_row{
    grid-template-columns:1fr;
    gap:3px;
  }
}

/* ===== AUDIT HOME-LIKE SURFACE POLISH ===== */
.lp_audit_select{
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)),
    linear-gradient(135deg, rgba(84,214,255,.05), rgba(214,113,255,.04));
  border-color: rgba(255,255,255,.12);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 10px 24px rgba(0,0,0,.10);
}

.lp_audit_card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.050), rgba(255,255,255,.024)),
    linear-gradient(135deg, rgba(84,214,255,.045), rgba(214,113,255,.040));
  border-color: rgba(255,255,255,.11);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 14px 30px rgba(0,0,0,.16);
}

.lp_audit_detailbox{
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.028)),
    linear-gradient(135deg, rgba(84,214,255,.035), rgba(214,113,255,.028));
  border-color: rgba(255,255,255,.10);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 8px 18px rgba(0,0,0,.10);
}

.lp_audit_techbox{
  margin-top:9px;
  padding:10px 11px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.030), rgba(255,255,255,.018)),
    linear-gradient(135deg, rgba(84,214,255,.020), rgba(214,113,255,.018));
}

.lp_audit_pre{
  background:
    linear-gradient(180deg, rgba(8,10,16,.84), rgba(6,8,14,.92)),
    linear-gradient(135deg, rgba(84,214,255,.025), rgba(214,113,255,.020));
  border-color: rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.lp_audit_summary{
  color: rgba(230,235,255,.68);
}

/* ===== SETUP V1 SHELL ===== */
#view_setup{
  padding-bottom:92px;
}

.lp_setup_shell{
  width:min(100%, 760px);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:12px;
}

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

.lp_setup_toptext{
  min-width:0;
}

.lp_setup_title{
  font-size:40px;
  line-height:1.02;
  font-weight:900;
  letter-spacing:-.03em;
  color:#fff;
}

.lp_setup_subtitle{
  margin-top:8px;
  font-size:14px;
  line-height:1.45;
  color:rgba(230,235,255,.68);
  max-width:560px;
}

.lp_setup_backbtn{
  min-height:42px;
  padding:10px 14px;
  border-radius:16px;
  flex:0 0 auto;
}

.lp_setup_section{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.050), rgba(255,255,255,.028));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 12px 28px rgba(0,0,0,.16);
  padding:16px;
}

.lp_setup_section::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:rgba(255,255,255,.12);
  opacity:.96;
}

.lp_setup_section_intro::before{
  background:linear-gradient(180deg, rgba(102,214,255,.95), rgba(86,146,255,.55));
}

.lp_setup_section_starter::before{
  background:linear-gradient(180deg, rgba(255,214,102,.95), rgba(255,168,76,.55));
}

.lp_setup_section_recipients::before{
  background:linear-gradient(180deg, rgba(94,233,170,.92), rgba(68,176,128,.52));
}

.lp_setup_section_groups::before{
  background:linear-gradient(180deg, rgba(223,154,255,.95), rgba(141,109,255,.56));
}

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

.lp_setup_section_title{
  font-size:22px;
  line-height:1.15;
  font-weight:850;
  color:rgba(255,255,255,.96);
}

.lp_setup_section_sub{
  font-size:14px;
  line-height:1.45;
  color:rgba(230,235,255,.68);
  max-width:560px;
}

.lp_setup_smallbtn{
  min-height:38px;
  border-radius:14px;
  padding:9px 12px;
  flex:0 0 auto;
}

.lp_setup_formrow,
.lp_setup_actionrow{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.lp_setup_input{
  flex:1 1 240px;
  min-width:220px;
}

.lp_setup_select{
  min-width:220px;
}

.lp_setup_checkrow{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:14px;
  line-height:1.45;
  color:rgba(255,255,255,.90);
}

.lp_setup_checkrow input{
  margin-top:2px;
  flex:0 0 auto;
}

.lp_setup_divider{
  height:1px;
  margin:16px 0;
  background:linear-gradient(90deg, rgba(255,255,255,.14), rgba(255,255,255,.04));
}

.lp_setup_subblock{
  display:flex;
  flex-direction:column;
}

.lp_setup_msg{
  min-height:18px;
  font-size:13px;
  line-height:1.4;
}

.lp_setup_note{
  color:rgba(230,235,255,.68);
  font-size:13px;
  line-height:1.45;
}

.lp_setup_dynamic_list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.lp_setup_group_detail{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.026));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  padding:14px;
}

/* polish existing JS-rendered setup cards without touching logic */
#view_setup .card{
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.026));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 10px 24px rgba(0,0,0,.14);
}

#view_setup select,
#view_setup input[type="text"],
#view_setup input[type="email"]{
  min-height:42px;
  border-radius:15px;
}

#view_setup hr{
  border:none;
  height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,.14), rgba(255,255,255,.04));
  opacity:1 !important;
}

@media (max-width: 640px){
  .lp_setup_title{
    font-size:30px;
  }

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

  .lp_setup_backbtn,
  .lp_setup_smallbtn{
    min-height:38px;
    padding:9px 12px;
    border-radius:14px;
  }

  .lp_setup_section{
    border-radius:20px;
    padding:14px;
  }

  .lp_setup_section_title{
    font-size:19px;
  }

  .lp_setup_actionrow{
    flex-direction:column;
    align-items:stretch;
  }

  .lp_setup_input,
  .lp_setup_select{
    min-width:0;
    width:100%;
  }

  .lp_setup_group_detail{
    border-radius:18px;
    padding:12px;
  }
}

/* ===== SETUP ROW WRAP FIX ===== */
.lp_setup_member_row,
.lp_setup_group_row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:12px;
}

.lp_setup_member_main,
.lp_setup_group_main{
  min-width:0;
  flex:1 1 auto;
}

.lp_setup_member_email,
.lp_setup_group_name{
  font-weight:800;
  line-height:1.3;
  color:rgba(255,255,255,.96);
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.lp_setup_member_meta,
.lp_setup_group_meta{
  margin-top:4px;
  font-size:13px;
  line-height:1.4;
  color:rgba(230,235,255,.62);
}

.lp_setup_member_role select{
  width:100%;
  min-width:0;
}

.lp_setup_member_side{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  flex:0 0 auto;
}

.lp_setup_member_togglelabel{
  font-size:12px;
}

.lp_setup_group_actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  flex:0 0 auto;
}

/* mobile: input nesmí růst do výšky jak šílený */
@media (max-width: 640px){
  .lp_setup_actionrow > .lp_setup_input,
  .lp_setup_actionrow > .lp_setup_select,
  .lp_setup_actionrow > .input{
    flex:0 0 auto !important;
    width:100%;
    min-width:0;
  }

  .lp_setup_member_row,
  .lp_setup_group_row{
    flex-direction:column;
    align-items:stretch;
  }

  .lp_setup_member_side,
  .lp_setup_group_actions{
    width:100%;
    justify-content:flex-start;
  }

  .lp_setup_group_actions .btn,
  .lp_setup_member_side .btn{
    flex:1 1 calc(50% - 4px);
    text-align:center;
  }

  .lp_setup_member_side input[type="checkbox"]{
    transform:scale(1.08);
  }
}

/* ===== AUDIT GROUP ENTITIES ===== */
.lp_audit_badge.entity-panel_group,
.lp_audit_badge.entity-panel_group_member{
  border-color:rgba(255,214,102,.22);
  background:rgba(255,214,102,.09);
  color:rgba(255,231,176,.96);
}

/* ===== SETUP V1 POLISH ===== */
#view_setup{
  position: relative;
  background: transparent !important;
}

#view_setup::before{
  content:"";
  position: fixed;
  inset: 64px 0 84px 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 16% 18%, rgba(72,214,255,.10), transparent 32%),
    radial-gradient(circle at 84% 16%, rgba(214,113,255,.10), transparent 34%),
    radial-gradient(circle at 50% 82%, rgba(92,118,255,.08), transparent 38%);
}

#view_setup > *{
  position: relative;
  z-index: 1;
}

.lp_setup_member_name,
.lp_setup_group_name,
.lp_setup_group_member_name{
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.lp_setup_member_card,
.lp_setup_group_card,
.lp_setup_group_member_card{
  border-radius: 20px;
}

.lp_setup_toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 10px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:rgba(235,240,255,.88);
  font-size:13px;
  line-height:1.2;
}

.lp_setup_more{
  margin-top:10px;
}

.lp_setup_more > summary{
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  padding:8px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  color:rgba(235,240,255,.88);
  font-size:13px;
  font-weight:700;
}

.lp_setup_more > summary::-webkit-details-marker{
  display:none;
}

.lp_setup_more > summary::before{
  content:"▸";
  font-size:12px;
  line-height:1;
  opacity:.75;
}

.lp_setup_more[open] > summary::before{
  content:"▾";
}

.lp_setup_groups_list,
.lp_setup_memberlist,
.lp_setup_group_members_list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.lp_setup_group_actions,
.lp_setup_member_actions{
  align-items:flex-start;
}

.lp_setup_inlineform{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}

.lp_setup_inlineform .lp_setup_select{
  flex:1 1 180px;
  min-width:180px;
}

.lp_setup_inlineform .lp_setup_toggle{
  flex:0 0 auto;
}

@media (max-width: 640px){
  .lp_setup_inlineform{
    flex-direction:column;
    align-items:stretch;
  }

  .lp_setup_inlineform .lp_setup_select,
  .lp_setup_inlineform .btn,
  .lp_setup_inlineform .lp_setup_toggle{
    width:100%;
    min-width:0;
  }

  .lp_setup_group_actions,
  .lp_setup_member_actions{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}


/* ===== SETUP MEMBERS COMPACT FIX ===== */

/* existující členové: ne full-width kolosy */
.lp_setup_member_card .lp_setup_member_body{
  margin-top: 10px;
}

.lp_setup_member_card .lp_setup_inlineform{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.lp_setup_member_card .lp_setup_select,
.lp_setup_member_card .memberRoleSelect{
  width: 100%;
  min-width: 0;
  min-height: 42px;
  height: 42px;
  padding: 0 12px;
  border-radius: 14px;
  box-sizing: border-box;
}

.lp_setup_member_card .btn,
.lp_setup_member_card .lp_setup_minibtn{
  min-height: 42px;
  height: 42px;
  padding: 0 14px;
  border-radius: 14px;
  white-space: nowrap;
}

.lp_setup_member_card .lp_setup_toggle{
  grid-column: 1 / -1;
  justify-self: start;
  min-height: 40px;
  padding: 0 12px;
  border-radius: 14px;
}

.lp_setup_member_card .lp_setup_member_actions{
  justify-content: flex-start;
}

.lp_setup_member_card .lp_setup_statpill{
  min-height: 22px;
  padding: 0 9px;
  font-size: 11px;
}

/* skupiny: tlačítka kompaktněji a název normálně zalomit */
.lp_setup_group_card .lp_setup_group_head{
  align-items: center;
}

.lp_setup_group_card .lp_setup_group_name{
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.lp_setup_group_card .lp_setup_group_actions{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.lp_setup_group_card .lp_setup_group_actions .btn{
  min-height: 38px;
  height: 38px;
  padding: 0 12px;
  border-radius: 13px;
  white-space: nowrap;
}

/* mobil: člen pořád kompaktní, ale čitelný */
@media (max-width: 640px){
  .lp_setup_member_card .lp_setup_inlineform{
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .lp_setup_member_card .lp_setup_select,
  .lp_setup_member_card .memberRoleSelect,
  .lp_setup_member_card .btn,
  .lp_setup_member_card .lp_setup_minibtn{
    width: 100%;
    min-width: 0;
  }

  .lp_setup_member_card .lp_setup_toggle{
    width: 100%;
    justify-content: flex-start;
  }

  .lp_setup_group_card .lp_setup_group_head{
    align-items: flex-start;
  }

  .lp_setup_group_card .lp_setup_group_actions{
    width: 100%;
    justify-content: flex-start;
  }
}

/* ===== SETUP MEMBER SIDE FIX ===== */
.lp_setup_member_side{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  justify-content:stretch;
}

.lp_setup_member_side .lp_setup_toggle{
  width:auto;
  min-width:0;
  justify-content:flex-start;
}

.lp_setup_member_side .btn,
.lp_setup_member_side .lp_setup_minibtn{
  width:auto;
  min-width:0;
  flex:0 0 auto;
  white-space:nowrap;
}

@media (max-width: 640px){
  .lp_setup_member_side{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
    justify-content:stretch;
    width:100%;
  }

  .lp_setup_member_side .lp_setup_toggle{
    width:auto !important;
    min-width:0;
    justify-content:flex-start;
  }

  .lp_setup_member_side .btn,
  .lp_setup_member_side .lp_setup_minibtn{
    width:auto !important;
    flex:0 0 auto !important;
  }
}

/* ===== SETUP V1 LOGIC / READABILITY ===== */
.lp_setup_role_block{
  margin-top:14px;
}

.lp_setup_role_title{
  margin:0 0 8px;
  font-size:12px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(230,235,255,.62);
}

.lp_setup_more{
  margin-top:10px;
}

.lp_setup_more > summary{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  cursor:pointer;
  font-size:13px;
  font-weight:700;
  color:rgba(235,240,255,.86);
}

.lp_setup_more > summary::before{
  content:"▸";
  font-size:12px;
  line-height:1;
  opacity:.78;
}

.lp_setup_more[open] > summary::before{
  content:"▾";
}

.lp_setup_member_controls{
  display:grid;
  grid-template-columns:minmax(0, 240px) auto;
  gap:10px;
  align-items:center;
}

.lp_setup_member_controls .memberRoleSelect{
  min-width:0;
  width:100%;
  max-width:240px;
}

.lp_setup_member_togglelabel{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:0 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.92);
}

.lp_setup_member_togglelabel input{
  width:18px;
  height:18px;
  margin:0;
}

.lp_setup_member_togglelabel span{
  font-size:13px;
  line-height:1.2;
  font-weight:700;
}

.lp_setup_member_actions .btn,
.lp_setup_group_actions .btn{
  white-space:nowrap;
}

.lp_setup_group_preview{
  font-size:13px;
  line-height:1.45;
  color:rgba(230,235,255,.70);
  word-break:break-word;
  overflow-wrap:anywhere;
}

@media (max-width: 640px){
  .lp_setup_member_controls{
    grid-template-columns:1fr;
  }

  .lp_setup_member_controls .memberRoleSelect{
    max-width:none;
  }

  .lp_setup_member_togglelabel{
    width:100%;
    justify-content:flex-start;
  }
}

/* ===== SETUP V1 CLEAN LAYOUT ===== */
.lp_setup_stats_row{
  margin:12px 0 10px;
}

.lp_setup_member_addbox{
  margin-top:12px;
  margin-bottom:14px;
}

.lp_setup_member_addrow{
  display:grid;
  grid-template-columns:minmax(0,1fr) 170px auto;
  gap:8px;
  align-items:center;
  margin-top:10px;
}

.lp_setup_bucket{
  margin-top:12px;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.040), rgba(255,255,255,.024));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 8px 22px rgba(0,0,0,.10);
}

.lp_setup_bucket_title{
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(190,205,235,.76);
  margin-bottom:10px;
}

.lp_setup_memberlist{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:0;
}

.lp_setup_member_card{
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.042), rgba(255,255,255,.024));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  padding:12px;
}

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

.lp_setup_member_flags{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.lp_setup_tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:0 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.86);
}

.lp_setup_tag.is-on{
  border-color:rgba(94,233,170,.26);
  background:rgba(94,233,170,.12);
  color:rgba(210,255,235,.96);
}

.lp_setup_member_controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:8px;
  align-items:center;
  margin-top:10px;
}

.lp_setup_member_rolewrap{
  min-width:0;
}

.lp_setup_member_controls .memberRoleSelect,
.lp_setup_member_controls .input,
.lp_setup_member_controls select{
  width:100%;
  min-width:0;
}

.lp_setup_member_togglelabel{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.92);
  white-space:nowrap;
}

.lp_setup_member_togglelabel input{
  width:18px;
  height:18px;
  margin:0;
}

.lp_setup_more{
  margin-top:10px;
}

.lp_setup_more > summary{
  display:inline-flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
  padding:6px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  color:rgba(230,235,255,.82);
  font-size:13px;
  font-weight:700;
}

.lp_setup_more > summary::before{
  content:"▸";
  font-size:12px;
  line-height:1;
  opacity:.78;
}

.lp_setup_more[open] > summary::before{
  content:"▾";
}

.lp_setup_groups_list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:10px;
}

.lp_setup_group_card{
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.040), rgba(255,255,255,.024));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 8px 22px rgba(0,0,0,.10);
  padding:12px;
}

.lp_setup_group_preview{
  margin-top:8px;
  font-size:13px;
  line-height:1.45;
  color:rgba(220,228,245,.74);
  word-break:break-word;
}

.lp_setup_group_actions_compact{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}

.lp_setup_group_actions_compact .btn{
  width:100%;
  min-height:38px;
  padding:8px 10px;
  border-radius:14px;
}

#setupGroupsWrap .lp_setup_actionrow{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}

#setupGroupsWrap .lp_setup_actionrow .input{
  width:100%;
  min-width:0;
}

@media (max-width: 640px){
  .lp_setup_member_addrow{
    grid-template-columns:1fr;
  }

  .lp_setup_member_controls{
    grid-template-columns:1fr 1fr;
  }

  .lp_setup_member_rolewrap{
    grid-column:1 / -1;
  }

  .lp_setup_member_togglelabel,
  .lp_setup_member_controls .btn{
    width:100%;
    justify-content:center;
  }

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

  #setupGroupsWrap .lp_setup_actionrow{
    grid-template-columns:1fr;
  }
}

/* ===== V1 SHELL CLEAN FIX ===== */

#appCard > .row:first-child{
  display: none !important;
}

body.lp_logged_in .lp_auth_brand{
  display: none !important;
}

body.lp_logged_out .lp_auth_brand{
  display: flex !important;
}

body.lp_logged_in #authShell{
  display: none !important;
}

body.lp_logged_out #authShell{
  display: block !important;
}

body.lp_logged_in #appCard{
  display: block !important;
}

body.lp_logged_out #appCard{
  display: none !important;
}

#appBottomNav{
  display: none !important;
  position: fixed !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
  width: min(720px, calc(100vw - 24px)) !important;
  z-index: 10040 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.lp_logged_in #appBottomNav{
  display: flex !important;
}

body.lp_logged_out #appBottomNav{
  display: none !important;
}

body.lp_logged_in .container{
  padding-bottom: 132px !important;
}

@media (max-width: 820px){
  #appBottomNav{
    width: calc(100vw - 16px) !important;
    bottom: max(8px, env(safe-area-inset-bottom, 0px)) !important;
  }

  body.lp_logged_in .container{
    padding-bottom: 124px !important;
  }
}

/* LP BOTTOM NAV STABILIZER */
#appBottomNav{
  position: fixed !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 10px) !important;
  width: min(390px, calc(100vw - 20px)) !important;
  min-height: 62px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr 58px 1fr 1fr !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 8px 10px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(11,16,34,.84) !important;
  box-shadow:
    0 12px 34px rgba(0,0,0,.34),
    0 0 0 1px rgba(255,255,255,.03) inset !important;
  backdrop-filter: blur(16px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(130%) !important;
  z-index: 9999 !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#appBottomNav .lp_bn_item{
  min-width: 0 !important;
  min-height: 44px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  padding: 4px 2px !important;
  text-decoration: none !important;
  color: rgba(214,222,255,.68) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  border-radius: 14px !important;
  transition: background .18s ease, color .18s ease, transform .18s ease !important;
}

#appBottomNav .lp_bn_item:hover{
  color: rgba(255,255,255,.92) !important;
  background: rgba(255,255,255,.04) !important;
}

#appBottomNav .lp_bn_item.is-active{
  color: #fff !important;
  background: linear-gradient(180deg, rgba(88,110,255,.16), rgba(88,110,255,.08)) !important;
  box-shadow: 0 0 0 1px rgba(120,145,255,.14) inset !important;
}

#appBottomNav .lp_bn_ico{
  width: 18px !important;
  height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: .92 !important;
}

#appBottomNav .lp_bn_label{
  display: block !important;
  white-space: nowrap !important;
}

#appBottomNav .lp_bn_addwrap{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#appBottomNav .lp_bn_add{
  width: 42px !important;
  height: 42px !important;
  margin: 0 auto !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
  cursor: pointer !important;
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background:
    linear-gradient(180deg, rgba(255,164,117,.92), rgba(196,114,255,.92)) !important;
  box-shadow:
    0 8px 22px rgba(154,102,255,.22),
    0 0 0 1px rgba(255,255,255,.08) inset !important;
  transform: none !important;
  position: relative !important;
  top: 0 !important;
}

#appBottomNav .lp_bn_add:hover{
  filter: brightness(1.04) !important;
}

#appBottomNav .lp_bn_add:active{
  transform: scale(.97) !important;
}

#view_home,
#view_items,
#view_calendar,
#view_profile,
#view_setup{
  padding-bottom: 96px !important;
}

/* LP BOTTOM NAV MODERN OVERRIDE V1 */
#appBottomNav{
  position: fixed !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 10px) !important;
  width: min(390px, calc(100vw - 20px)) !important;
  min-height: 62px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr 58px 1fr 1fr !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 8px 10px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(11,16,34,.84) !important;
  box-shadow:
    0 12px 34px rgba(0,0,0,.34),
    0 0 0 1px rgba(255,255,255,.03) inset !important;
  backdrop-filter: blur(16px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(130%) !important;
  z-index: 9999 !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#appBottomNav .lp_bn_item{
  min-width: 0 !important;
  min-height: 44px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  padding: 4px 2px !important;
  text-decoration: none !important;
  color: rgba(214,222,255,.68) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  border-radius: 14px !important;
  transition: background .18s ease, color .18s ease, transform .18s ease !important;
}

#appBottomNav .lp_bn_item:hover{
  color: rgba(255,255,255,.92) !important;
  background: rgba(255,255,255,.04) !important;
}

#appBottomNav .lp_bn_item.is-active{
  color: #fff !important;
  background: linear-gradient(180deg, rgba(88,110,255,.16), rgba(88,110,255,.08)) !important;
  box-shadow: 0 0 0 1px rgba(120,145,255,.14) inset !important;
}

#appBottomNav .lp_bn_ico{
  width: 18px !important;
  height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: .92 !important;
  font-size: 16px !important;
}

#appBottomNav .lp_bn_label{
  display: block !important;
  white-space: nowrap !important;
}

#appBottomNav .lp_bn_addwrap{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#appBottomNav .lp_bn_add{
  width: 42px !important;
  height: 42px !important;
  margin: 0 auto !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
  cursor: pointer !important;
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(180deg, rgba(255,164,117,.92), rgba(196,114,255,.92)) !important;
  box-shadow:
    0 8px 22px rgba(154,102,255,.22),
    0 0 0 1px rgba(255,255,255,.08) inset !important;
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

#appBottomNav .lp_bn_add:hover{
  filter: brightness(1.04) !important;
}

#appBottomNav .lp_bn_add:active{
  transform: scale(.97) !important;
}

#view_home,
#view_items,
#view_calendar,
#view_profile,
#view_setup{
  padding-bottom: 96px !important;
}

/* ===== PROFILE V1 ===== */
.lp_profile_screen{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:14px 14px 22px;
}

.lp_profile_hero{
  padding:16px;
  border-radius:24px;
}

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

.lp_profile_avatar{
  width:64px;
  height:64px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  font-weight:800;
  color:#fff;
  flex:0 0 64px;
  background:
    radial-gradient(circle at 30% 30%, rgba(108,203,255,.35), transparent 58%),
    linear-gradient(135deg, rgba(60,118,255,.35), rgba(130,84,255,.28)),
    rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 10px 30px rgba(0,0,0,.22);
}

.lp_profile_identity{
  min-width:0;
  flex:1;
}

.lp_profile_kicker,
.lp_profile_section_kicker{
  margin:0 0 6px 0;
  font-size:11px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(145,170,210,.78);
}

.lp_profile_name{
  margin:0;
  color:#fff;
  font-size:24px;
  line-height:1.08;
  font-weight:800;
  letter-spacing:-.02em;
}

.lp_profile_email{
  margin-top:6px;
  font-size:14px;
  line-height:1.35;
  word-break:break-word;
}

.lp_profile_badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.lp_profile_section{
  padding:14px;
  border-radius:22px;
}

.lp_profile_section_head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.lp_profile_section_head h3{
  margin:0;
  color:#fff;
  font-size:18px;
  line-height:1.15;
  font-weight:800;
}

.lp_profile_list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.lp_profile_row{
  width:100%;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  border-radius:18px;
  min-height:64px;
  padding:14px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  text-align:left;
  color:inherit;
  cursor:pointer;
  transition:
    transform .14s ease,
    border-color .14s ease,
    background .14s ease,
    box-shadow .14s ease;
}

.lp_profile_row:hover{
  transform:translateY(-1px);
  border-color:rgba(124,170,255,.22);
  background:rgba(255,255,255,.05);
  box-shadow:0 10px 24px rgba(0,0,0,.16);
}

.lp_profile_row_static{
  cursor:default;
}

.lp_profile_row_static:hover{
  transform:none;
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  box-shadow:none;
}

.lp_profile_row_main{
  min-width:0;
  flex:1;
}

.lp_profile_row_title{
  color:#fff;
  font-size:15px;
  line-height:1.2;
  font-weight:700;
}

.lp_profile_row_sub{
  margin-top:4px;
  font-size:13px;
  line-height:1.35;
}

.lp_profile_row_side{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:8px;
  color:rgba(170,190,225,.82);
  font-size:18px;
  line-height:1;
}

.lp_profile_panels_list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.lp_profile_panel_item{
  width:100%;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  border-radius:18px;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  text-align:left;
  color:inherit;
  cursor:pointer;
  transition:
    transform .14s ease,
    border-color .14s ease,
    background .14s ease,
    box-shadow .14s ease;
}

.lp_profile_panel_item:hover{
  transform:translateY(-1px);
  border-color:rgba(124,170,255,.22);
  background:rgba(255,255,255,.05);
  box-shadow:0 10px 24px rgba(0,0,0,.16);
}

.lp_profile_panel_item.is-active{
  border-color:rgba(110,195,255,.32);
  background:
    linear-gradient(180deg, rgba(78,133,255,.10), rgba(255,255,255,.03)),
    rgba(255,255,255,.04);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 12px 28px rgba(0,0,0,.18);
}

.lp_profile_panel_main{
  min-width:0;
  flex:1;
}

.lp_profile_panel_title{
  color:#fff;
  font-size:15px;
  line-height:1.2;
  font-weight:700;
}

.lp_profile_panel_meta{
  margin-top:4px;
  font-size:13px;
  line-height:1.35;
  color:rgba(170,190,225,.82);
}

.lp_profile_panel_side{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.lp_profile_footer_actions{
  padding:2px 2px 10px;
}

.lp_profile_logout_btn{
  width:100%;
  min-height:52px;
  border-radius:18px;
  font-weight:800;
}

@media (max-width: 560px){
  .lp_profile_screen{
    padding:12px 12px 20px;
    gap:12px;
  }

  .lp_profile_hero,
  .lp_profile_section{
    padding:14px;
    border-radius:20px;
  }

  .lp_profile_hero_top{
    align-items:flex-start;
  }

  .lp_profile_avatar{
    width:58px;
    height:58px;
    flex-basis:58px;
    border-radius:18px;
    font-size:22px;
  }

  .lp_profile_name{
    font-size:22px;
  }

  .lp_profile_row,
  .lp_profile_panel_item{
    min-height:60px;
    padding:13px;
    border-radius:16px;
  }

  .lp_profile_row_title,
  .lp_profile_panel_title{
    font-size:14px;
  }

  .lp_profile_row_sub,
  .lp_profile_panel_meta{
    font-size:12px;
  }
}
/* ===== /PROFILE V1 ===== */


/* ===== PROFILE PASSWORD BOX ===== */
.lp_profile_inlinebox{
  margin-top:2px;
  padding:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  border-radius:18px;
}

.lp_profile_inlinebox_title{
  color:#fff;
  font-size:15px;
  line-height:1.2;
  font-weight:800;
  margin-bottom:10px;
}

.lp_profile_inlinebox_fields{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.lp_profile_inlinebox_actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}

.lp_profile_inlinebox_actions .btn{
  min-height:44px;
}

.lp_profile_inlinebox_msg{
  margin-top:10px;
  min-height:18px;
}

@media (max-width: 560px){
  .lp_profile_inlinebox{
    padding:13px;
    border-radius:16px;
  }

  .lp_profile_inlinebox_actions{
    flex-direction:column;
  }

  .lp_profile_inlinebox_actions .btn{
    width:100%;
  }
}
/* ===== /PROFILE PASSWORD BOX ===== */


/* ===== CALENDAR JUMP TARGET ===== */
#view_calendar .cal_line.is-jump-target{
  border-color: rgba(255, 214, 102, .52) !important;
  box-shadow:
    0 0 0 2px rgba(255, 214, 102, .18),
    0 10px 28px rgba(0,0,0,.20) !important;
  transform: translateY(-1px);
}
/* ===== /CALENDAR JUMP TARGET ===== */

