/* =============================================================
   AVANZA Life OS 9.0 — product polish + richer notes + clean Kanban
   ============================================================= */

/* ---------- shared visual primitives ---------- */
:root{
  --v90-soft-shadow:0 10px 30px rgba(20,35,65,.08);
  --v90-card-border:color-mix(in srgb,var(--line) 76%,transparent);
}
.top-action.btn-gradient,.btn.btn-primary{
  color:var(--button-text,#fff)!important;
}
.top-action.btn-gradient i,.btn.btn-primary i,.focus-fab i{color:inherit!important}

/* ---------- Light theme: genuinely light, not washed/dark ---------- */
html[data-theme="light"] body:not(.login-body){
  background:#fff!important;
  color:var(--light-text,#17233b)!important;
}
html[data-theme="light"] .app-main,
html[data-theme="light"] .content,
html[data-theme="light"] .content::before{
  color:var(--light-text,#17233b)!important;
}
html[data-theme="light"] .panel,
html[data-theme="light"] .glass-card,
html[data-theme="light"] .modal-card,
html[data-theme="light"] .drawer,
html[data-theme="light"] .settings-section,
html[data-theme="light"] .task-editor,
html[data-theme="light"] .note-editor,
html[data-theme="light"] .quick-action-card,
html[data-theme="light"] .theme-live-panel,
html[data-theme="light"] .studio-group{
  background:color-mix(in srgb,var(--light-surface,#fff) 96%,transparent)!important;
  border-color:var(--light-border,#e3e8f1)!important;
  color:var(--light-text,#17233b)!important;
  box-shadow:0 12px 34px rgba(35,50,80,.055)!important;
}
html[data-theme="light"] .input,
html[data-theme="light"] .select,
html[data-theme="light"] .textarea,
html[data-theme="light"] [contenteditable="true"]{
  background:var(--light-input,#fff)!important;
  color:var(--light-text,#17233b)!important;
  border-color:var(--light-border,#e3e8f1)!important;
}
html[data-theme="light"] .input::placeholder,
html[data-theme="light"] .textarea::placeholder{color:color-mix(in srgb,var(--light-muted,#667085) 72%,#fff)!important}
html[data-theme="light"] .btn-ghost,
html[data-theme="light"] .tiny-btn,
html[data-theme="light"] .close-btn,
html[data-theme="light"] .tab:not(.active),
html[data-theme="light"] .segmented label span{
  background:var(--light-neutral,#f7f9fc)!important;
  color:var(--light-text,#17233b)!important;
  border-color:var(--light-border,#e3e8f1)!important;
}
html[data-theme="light"] .btn-ghost:hover,
html[data-theme="light"] .tiny-btn:hover,
html[data-theme="light"] .close-btn:hover{
  background:color-mix(in srgb,var(--primary) 7%,#fff)!important;
  color:var(--primary)!important;
  border-color:color-mix(in srgb,var(--primary) 25%,var(--light-border,#e3e8f1))!important;
}
html[data-theme="light"] .top-action.btn-gradient{
  background:linear-gradient(var(--gradient-angle,135deg),var(--primary),var(--secondary))!important;
  color:var(--button-text,#fff)!important;
  border:0!important;
  box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 24%,transparent)!important;
}
html[data-theme="light"] .top-action.btn-gradient i{color:var(--button-text,#fff)!important;opacity:1!important}

/* Icon tiles: keep meaning through tint, never dark boxes on white. */
html[data-theme="light"] .life-pulse-label>span>i,
html[data-theme="light"] .quick-action-icon,
html[data-theme="light"] .stat-icon,
html[data-theme="light"] .project-card-icon,
html[data-theme="light"] .metric-icon,
html[data-theme="light"] .section-icon,
html[data-theme="light"] .finance-icon,
html[data-theme="light"] .risk-score,
html[data-theme="light"] .calendar-tip-icon,
html[data-theme="light"] .integration-card>i,
html[data-theme="light"] .guide-step>span{
  background:color-mix(in srgb,var(--primary) 9%,#fff)!important;
  border:1px solid color-mix(in srgb,var(--primary) 18%,#fff)!important;
  color:var(--primary)!important;
  box-shadow:none!important;
}
html[data-theme="light"] .life-pulse-card:nth-child(2) .life-pulse-label>span>i{background:#ecf8ff!important;color:#0ea5e9!important;border-color:#cdeefe!important}
html[data-theme="light"] .life-pulse-card:nth-child(3) .life-pulse-label>span>i{background:#ecfcf6!important;color:#059669!important;border-color:#cdf3e3!important}
html[data-theme="light"] .life-pulse-card:nth-child(4) .life-pulse-label>span>i{background:#fff0f5!important;color:#e11d63!important;border-color:#ffd7e4!important}
html[data-theme="light"] .life-pulse-card:nth-child(5) .life-pulse-label>span>i{background:#fff8e9!important;color:#d97706!important;border-color:#fde7bd!important}

/* Pills/badges are compact and readable in Light. */
html[data-theme="light"] .badge,
html[data-theme="light"] .status-pill,
html[data-theme="light"] .project-pill,
html[data-theme="light"] .label-dot,
html[data-theme="light"] .btn-count{
  min-height:22px!important;
  padding:3px 8px!important;
  line-height:1!important;
  border:1px solid currentColor!important;
  border-color:color-mix(in srgb,currentColor 18%,transparent)!important;
  box-shadow:none!important;
}
html[data-theme="light"] .badge.low{background:#eafaf4!important;color:#047857!important}
html[data-theme="light"] .badge.medium{background:#fff7e8!important;color:#b45309!important}
html[data-theme="light"] .badge.high,html[data-theme="light"] .badge.urgent{background:#fff0f3!important;color:#d92d52!important}
html[data-theme="light"] .status-pill{background:#eef4ff!important;color:#345a9c!important}

/* ---------- Quick action and general modal polish ---------- */
html[data-theme="light"] .modal{--modal-surface:#fff;--modal-text:var(--light-text,#17233b)}
html[data-theme="light"] .modal .modal-card{background:#fff!important;color:var(--light-text,#17233b)!important}
html[data-theme="light"] .modal .modal-actions{background:#fff!important;border-top:1px solid var(--light-border,#e3e8f1)!important}
.quick-action-card{appearance:none;text-align:left;font:inherit;width:100%;cursor:pointer}
.quick-action-card>i{margin-left:auto}

/* ---------- Notes: robust checklist + media ---------- */
.note-rich-editor .av-checklist-block{
  display:block!important;
  margin:14px 0!important;
  padding:0!important;
  list-style:none!important;
  text-decoration:none!important;
}
.note-rich-editor .av-check-item{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  min-height:34px!important;
  padding:4px 2px!important;
  list-style:none!important;
  text-decoration:none!important;
}
.note-rich-editor .av-check-item::before,.note-rich-editor .av-check-item::marker{display:none!important;content:none!important}
.note-rich-editor .note-check-box{
  width:22px!important;height:22px!important;min-width:22px!important;margin-top:1px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border-radius:7px!important;border:1.5px solid color-mix(in srgb,var(--primary) 42%,var(--line))!important;
  background:var(--surface-input)!important;color:transparent!important;cursor:pointer!important;
  user-select:none!important;text-decoration:none!important;
}
.note-rich-editor .note-check-box i{font-size:15px!important;line-height:1!important;color:inherit!important}
.note-rich-editor .av-check-item[data-checked="0"] .note-check-text{
  text-decoration:none!important;color:var(--ink-1)!important;opacity:1!important;
}
.note-rich-editor .av-check-item[data-checked="0"] .note-check-box{color:transparent!important}
.note-rich-editor .av-check-item[data-checked="1"] .note-check-box{
  background:linear-gradient(var(--gradient-angle,135deg),var(--primary),var(--secondary))!important;
  border-color:transparent!important;color:#fff!important;
}
.note-rich-editor .av-check-item[data-checked="1"] .note-check-text{
  text-decoration:line-through!important;text-decoration-thickness:1.5px!important;
  color:var(--ink-3)!important;opacity:.72!important;
}
.note-rich-editor .note-check-text{flex:1;min-width:0;line-height:1.55!important;outline:none;text-decoration-skip-ink:auto}
html[data-theme="light"] .note-rich-editor .note-check-box{background:#fff!important;border-color:#cbd5e1!important}
html[data-theme="light"] .note-rich-editor .av-check-item[data-checked="1"] .note-check-box{background:linear-gradient(var(--gradient-angle,135deg),var(--primary),var(--secondary))!important;color:#fff!important;border-color:transparent!important}
html[data-theme="light"] .note-rich-editor .av-check-item[data-checked="0"] .note-check-text{color:var(--light-text,#17233b)!important}
.note-image-block{margin:18px auto!important;max-width:860px!important;padding:0!important;text-align:center!important}
.note-image{display:block!important;width:auto!important;max-width:100%!important;max-height:620px!important;margin:0 auto!important;border-radius:16px!important;object-fit:contain!important;box-shadow:0 12px 32px rgba(15,23,42,.12)!important;border:1px solid var(--line)!important}
.note-image-caption{display:block!important;margin-top:8px!important;color:var(--ink-3)!important;font-size:var(--fs-xs)!important;text-align:center!important;outline:none}
.note-format-bar{gap:5px!important;flex-wrap:wrap!important}
.note-format-bar button{min-width:34px!important;height:34px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.note-format-bar .note-tool-labeled{padding-inline:10px!important;width:auto!important}
.note-rich-editor h2{font-size:1.48em!important;line-height:1.25!important;margin:1.2em 0 .45em!important}
.note-rich-editor h3{font-size:1.2em!important;line-height:1.35!important;margin:1em 0 .4em!important}
.note-rich-editor p{margin:.55em 0!important;line-height:1.65!important}

/* ---------- Dashboard cards ---------- */
.life-pulse-card{overflow:hidden!important}
.life-pulse-label>span{display:flex!important;align-items:center!important;gap:8px!important}
.life-pulse-label>span>i{width:30px!important;height:30px!important;border-radius:9px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.life-pulse-value{align-items:baseline!important;gap:8px!important}
html[data-theme="light"] .life-pulse-card{
  background:linear-gradient(145deg,#fff 50%,color-mix(in srgb,var(--primary) 5%,#fff))!important;
  border-color:#e5eaf2!important;box-shadow:0 8px 24px rgba(33,49,78,.05)!important;
}

/* ---------- Calendar contrast ---------- */
.fc .fc-event{
  --av-event-color:var(--primary);
  --av-event-text:#fff;
  color:var(--av-event-text)!important;
  background:var(--av-event-color)!important;
  border:1px solid color-mix(in srgb,var(--av-event-color) 70%,#17233b)!important;
  border-left:4px solid color-mix(in srgb,var(--av-event-color) 58%,#14213a)!important;
  border-radius:8px!important;
  box-shadow:0 5px 12px color-mix(in srgb,var(--av-event-color) 16%,transparent)!important;
}
.fc .fc-event .av-event-inner,.fc .fc-event .av-event-inner strong,.fc .fc-event .av-event-inner small{color:inherit!important;text-shadow:none!important}
html[data-theme="light"] .fc-theme-standard td,html[data-theme="light"] .fc-theme-standard th{border-color:#e7ebf2!important}
html[data-theme="light"] .fc .fc-timegrid-slot{border-color:#edf0f5!important}
html[data-theme="light"] .fc .fc-col-header-cell{background:#fbfcfe!important;color:#46556f!important}
html[data-theme="light"] .fc .fc-timegrid-axis,html[data-theme="light"] .fc .fc-timegrid-slot-label{color:#77869f!important;background:#fff!important}
html[data-theme="light"] .fc .fc-button{background:#fff!important;color:#24324a!important;border-color:#dfe5ee!important;box-shadow:none!important}
html[data-theme="light"] .fc .fc-button-primary:not(:disabled).fc-button-active{background:linear-gradient(var(--gradient-angle,135deg),var(--primary),var(--secondary))!important;color:#fff!important;border-color:transparent!important}

/* ---------- Project / Kanban 9.0 ---------- */
body[data-page="project"] .kanban-toolbar{grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important}
body[data-page="project"] .kanban-toolbar .filters{grid-template-columns:minmax(190px,1fr) minmax(155px,210px) 42px auto!important;justify-self:end!important;width:min(100%,820px)!important}
body[data-page="project"] .kanban-col{
  flex:0 0 clamp(270px,17vw,310px)!important;
  min-width:270px!important;max-width:310px!important;
  min-height:500px!important;
}
body[data-page="project"] .kanban{gap:12px!important}
body[data-page="project"] .task-card p{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important}
body[data-page="project"] .btn-count{margin-left:4px!important;min-width:22px!important;justify-content:center!important}
.label-manager-list,.archive-task-list{display:grid;gap:8px;max-height:480px;overflow:auto;padding-right:3px}
.label-manager-row{display:grid;grid-template-columns:22px minmax(0,1fr) 58px 38px;gap:8px;align-items:center}
.label-swatch{width:18px;height:18px;border-radius:6px;background:var(--label-color);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.label-manager-row input[type=color]{padding:3px!important;height:38px!important}
.archive-task-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-input)}
.archive-task-row div{display:grid;gap:3px}.archive-task-row small{color:var(--ink-3)}
html[data-theme="light"] .archive-task-row{background:#fbfcfe!important;border-color:#e3e8f1!important}

/* ---------- Theme scope ---------- */
.theme-scope-explainer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}
.theme-scope-explainer>div{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:12px;background:var(--surface-input);border:1px solid var(--line);color:var(--ink-2)}
.theme-scope-explainer>div i{font-size:18px;color:var(--primary);margin-top:1px}
.theme-scope-badge{display:flex;align-items:center;gap:7px;min-height:34px;padding:7px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface-input);color:var(--ink-2)}
.theme-scope-badge.personal{border-color:color-mix(in srgb,var(--primary) 30%,var(--line));background:color-mix(in srgb,var(--primary) 8%,var(--surface-input));color:var(--primary)}
.theme-studio-actions{position:sticky;bottom:12px;z-index:8;padding:10px!important;border-radius:14px;background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(18px);border:1px solid var(--line)}
html[data-theme="light"] .theme-scope-explainer>div,html[data-theme="light"] .theme-scope-badge{background:#fbfcfe!important;border-color:#e3e8f1!important;color:#4d5c75!important}
html[data-theme="light"] .theme-studio-actions{background:rgba(255,255,255,.94)!important}

/* ---------- Login: full-screen composition ---------- */
.login-body{min-height:100dvh!important;position:relative!important;overflow-x:hidden!important;background:var(--dark-page,#050b18)!important}
.login-body::before{content:"";position:fixed;inset:0;z-index:0;background-image:var(--login-bg-image);background-size:cover;background-position:var(--login-bg-position,center);opacity:.20;filter:saturate(1.05)}
.login-body::after{content:"";position:fixed;inset:0;z-index:0;background:linear-gradient(110deg,color-mix(in srgb,var(--dark-page,#050b18) 92%,transparent),color-mix(in srgb,var(--dark-page,#050b18) 76%,transparent))}
.login-page{position:relative;z-index:1!important;width:min(100%,1480px)!important;max-width:1480px!important;min-height:100dvh!important;margin:0 auto!important;padding:clamp(28px,4vw,64px)!important;display:grid!important;grid-template-columns:minmax(540px,760px) minmax(360px,430px)!important;gap:clamp(54px,7vw,110px)!important;align-items:center!important;justify-content:center!important}
.login-visual{height:min(740px,calc(100dvh - 96px))!important;min-height:570px!important;border-radius:28px!important;overflow:hidden!important}
.login-form-wrap{width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important}
.login-card{width:100%!important;max-width:420px!important;padding:clamp(24px,3vw,34px)!important}
html[data-theme="light"] .login-body{background:#f7f9fc!important}
html[data-theme="light"] .login-body::before{opacity:.12!important}
html[data-theme="light"] .login-body::after{background:rgba(247,249,252,.92)!important}
@media(max-width:980px){.login-page{grid-template-columns:1fr!important;max-width:650px!important;padding:24px!important}.login-visual{display:none!important}.login-card{max-width:460px!important}}

/* ---------- misc responsive ---------- */
@media(max-width:1120px){.theme-scope-explainer{grid-template-columns:1fr!important}body[data-page="project"] .kanban-toolbar .filters{grid-template-columns:minmax(0,1fr) minmax(150px,190px) 42px!important}body[data-page="project"] #archiveDoneBtn span{display:none}}
@media(max-width:760px){body[data-page="project"] .kanban-col{flex-basis:82vw!important;min-width:82vw!important;max-width:82vw!important}.label-manager-row{grid-template-columns:20px minmax(0,1fr) 48px 38px}.theme-studio-actions{bottom:6px;flex-wrap:wrap}}
.note-rich-editor .note-check-box::after{content:"✓";font-weight:900;font-size:14px;line-height:1;opacity:0;transform:scale(.65);transition:opacity .12s ease,transform .12s ease}
.note-rich-editor .av-check-item[data-checked="1"] .note-check-box::after{opacity:1;transform:scale(1)}
