/* AVANZA Life OS 4.1 — theme reliability + richer visual polish */
:root{
  --surface-page:#050b18;
  --surface-panel:rgba(13,28,55,.64);
  --surface-panel-strong:rgba(16,34,65,.78);
  --surface-input:rgba(8,19,40,.66);
  --surface-hover:rgba(255,255,255,.055);
  --ink:#f7f9ff;
  --ink-2:#d9e2f5;
  --ink-3:#91a4c8;
  --line:rgba(159,186,234,.14);
  --line-strong:rgba(159,186,234,.22);
  --elev-shadow:0 18px 48px rgba(0,0,0,.22);
  --color-glow:1;
}

html[data-visual-style="balanced"]{--color-glow:.72}
html[data-visual-style="crystal"]{--color-glow:1.18}
html[data-visual-style="minimal"]{--color-glow:.28}
html[data-visual-style="vivid"]{--color-glow:1.35}

/* Dark theme uses semantic tokens so all modules share the same visual language. */
[data-theme="dark"]{
  color-scheme:dark;
  --surface-page:#050b18;
  --surface-panel:rgba(13,28,55,.64);
  --surface-panel-strong:rgba(16,34,65,.78);
  --surface-input:rgba(8,19,40,.72);
  --surface-hover:rgba(255,255,255,.055);
  --ink:#f8fbff;--ink-2:#d9e3f7;--ink-3:#91a4c8;
  --line:rgba(159,186,234,.14);--line-strong:rgba(159,186,234,.22);
}

/* Light theme is a real light design, not a faded dark theme. */
[data-theme="light"]{
  color-scheme:light;
  --surface-page:#e9eff8;
  --surface-panel:rgba(255,255,255,.78);
  --surface-panel-strong:rgba(255,255,255,.92);
  --surface-input:rgba(255,255,255,.84);
  --surface-hover:rgba(38,62,103,.055);
  --ink:#13213b;--ink-2:#30415f;--ink-3:#6f82a3;
  --line:rgba(47,72,111,.13);--line-strong:rgba(47,72,111,.21);
  --elev-shadow:0 18px 46px rgba(63,82,116,.12);
}

/* More confident global text hierarchy. */
body{color:var(--ink-2)!important}
h1,h2,h3,h4,h5,h6,.panel-title strong,.section-heading strong{color:var(--ink)!important}
.page-head p,.panel-title p,.section-heading p,.muted,.subtle{color:var(--ink-3)!important}

/* Liquid-glass base shared by every major surface. */
.panel,.glass-card,.settings-section,.modal-card,.notes-folders,.notes-list-pane,.note-editor-pane,.calendar-workspace,
.stat-card,.life-pulse-card,.project-card,.finance-card,.risk-card,.routine-card{
  background:
    radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--secondary) calc(6% * var(--color-glow)),transparent),transparent 32%),
    radial-gradient(circle at 0% 100%,color-mix(in srgb,var(--primary) calc(7% * var(--color-glow)),transparent),transparent 38%),
    linear-gradient(145deg,var(--surface-panel-strong),var(--surface-panel))!important;
  border-color:var(--line)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),var(--elev-shadow)!important;
}
html[data-visual-style="crystal"] .panel,
html[data-visual-style="crystal"] .glass-card,
html[data-visual-style="crystal"] .settings-section,
html[data-visual-style="crystal"] .modal-card{backdrop-filter:blur(calc(var(--glass-blur) + 7px)) saturate(1.55)!important;-webkit-backdrop-filter:blur(calc(var(--glass-blur) + 7px)) saturate(1.55)!important}
html[data-visual-style="minimal"] .panel,
html[data-visual-style="minimal"] .glass-card,
html[data-visual-style="minimal"] .settings-section{background:linear-gradient(145deg,var(--surface-panel-strong),var(--surface-panel))!important}

/* Colorful but disciplined card accents. */
.life-pulse-grid>.life-pulse-card:nth-child(1){--pulse:#9b7bff}
.life-pulse-grid>.life-pulse-card:nth-child(2){--pulse:#40c7ff}
.life-pulse-grid>.life-pulse-card:nth-child(3){--pulse:#45d9a5}
.life-pulse-grid>.life-pulse-card:nth-child(4){--pulse:#ff7d9f}
.life-pulse-grid>.life-pulse-card:nth-child(5){--pulse:#f7b84b}
.life-pulse-card{position:relative;overflow:hidden}
.life-pulse-card:after{content:"";position:absolute;inset:auto -35px -50px auto;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--pulse,var(--primary)) calc(22% * var(--color-glow)),transparent),transparent 68%);pointer-events:none}
.life-pulse-card>span i{color:var(--pulse,var(--primary))!important}
.life-pulse-card strong{font-size:clamp(1.45rem,2vw,2.05rem)!important;letter-spacing:-.05em}

.life-mini-grid>.panel:nth-child(1){--section-accent:#a78bfa}
.life-mini-grid>.panel:nth-child(2){--section-accent:#34d399}
.life-mini-grid>.panel:nth-child(3){--section-accent:#fb7185}
.life-mini-grid>.panel:nth-child(4){--section-accent:#38bdf8}
.life-mini-grid>.panel{border-top:2px solid color-mix(in srgb,var(--section-accent) 48%,transparent)!important}
.life-mini-grid>.panel .tiny-btn{color:var(--section-accent)}

/* Inputs/controls use theme tokens instead of hard-coded dark colors. */
.input,.select,.textarea,.global-search,.note-title-input,.notes-search,.calendar-context,.help-popover{
  background:var(--surface-input)!important;
  color:var(--ink-2)!important;
  border-color:var(--line)!important;
}
.input::placeholder,.textarea::placeholder,.notes-search input::placeholder{color:color-mix(in srgb,var(--ink-3) 78%,transparent)!important}
.input:focus,.select:focus,.textarea:focus,.note-title-input:focus{
  border-color:color-mix(in srgb,var(--primary) 58%,var(--line))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)!important;
}

/* True readable light surfaces. */
[data-theme="light"] body{background:#e9eff8!important;color:var(--ink-2)!important}
[data-theme="light"] body:before{
  background:
   radial-gradient(circle at 80% 6%,color-mix(in srgb,var(--secondary) 20%,transparent),transparent 30%),
   radial-gradient(circle at 13% 88%,color-mix(in srgb,var(--primary) 16%,transparent),transparent 29%),
   linear-gradient(rgba(234,240,249,.88),rgba(234,240,249,.90)),
   var(--app-background-image),#e9eff8!important;
}
[data-theme="light"] .panel,[data-theme="light"] .glass-card,[data-theme="light"] .settings-section,[data-theme="light"] .modal-card,[data-theme="light"] .notes-folders,[data-theme="light"] .notes-list-pane,[data-theme="light"] .note-editor-pane,[data-theme="light"] .calendar-workspace,
[data-theme="light"] .stat-card,[data-theme="light"] .life-pulse-card,[data-theme="light"] .project-card,[data-theme="light"] .finance-card,[data-theme="light"] .risk-card,[data-theme="light"] .routine-card{
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--secondary) calc(6% * var(--color-glow)),transparent),transparent 34%),
    radial-gradient(circle at 0% 100%,color-mix(in srgb,var(--primary) calc(5% * var(--color-glow)),transparent),transparent 38%),
    linear-gradient(145deg,rgba(255,255,255,.93),rgba(246,249,255,.82))!important;
  border-color:rgba(46,70,108,.13)!important;
  box-shadow:0 16px 42px rgba(60,81,118,.11),inset 0 1px 0 rgba(255,255,255,.96)!important;
}
[data-theme="light"] .today-item,[data-theme="light"] .task-card,[data-theme="light"] .reminder-item,[data-theme="light"] .project-member-card,[data-theme="light"] .routine-mini,[data-theme="light"] .dashboard-rule-row{
  background:rgba(255,255,255,.78)!important;border-color:rgba(49,73,111,.11)!important;color:var(--ink-2)!important
}
[data-theme="light"] .today-item:hover,[data-theme="light"] .task-card:hover,[data-theme="light"] .dashboard-rule-row:hover{background:rgba(255,255,255,.98)!important;box-shadow:0 10px 24px rgba(72,91,125,.08)}
[data-theme="light"] .kanban-col{background:rgba(244,248,254,.75)!important;border-color:rgba(52,77,116,.11)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
[data-theme="light"] .kanban-col .task-card{box-shadow:0 8px 20px rgba(68,88,124,.07)!important}
[data-theme="light"] .task-card h3,[data-theme="light"] .task-card strong,[data-theme="light"] .project-card h3,[data-theme="light"] .table th,[data-theme="light"] .table td{color:var(--ink)!important}
[data-theme="light"] .task-card p,[data-theme="light"] .task-card small,[data-theme="light"] .project-card small{color:var(--ink-3)!important}
[data-theme="light"] .table tr{border-color:rgba(48,72,109,.09)!important}
[data-theme="light"] .table tbody tr:hover{background:rgba(77,105,149,.045)!important}
[data-theme="light"] .badge.neutral{background:#edf2fb!important;color:#586c8e!important;border-color:#dfe7f4!important}
[data-theme="light"] .topbar{background:rgba(248,251,255,.84)!important;border-bottom:1px solid rgba(47,72,111,.09)!important;box-shadow:0 8px 26px rgba(72,89,118,.07)!important;backdrop-filter:blur(18px) saturate(1.15)!important}
[data-theme="light"] .top-action,[data-theme="light"] .user-chip,[data-theme="light"] .icon-btn,[data-theme="light"] .tiny-btn,[data-theme="light"] .close-btn,[data-theme="light"] .info-help{background:rgba(255,255,255,.82)!important;color:#4f6587!important;border-color:rgba(47,72,111,.12)!important}
[data-theme="light"] .top-action:hover,[data-theme="light"] .icon-btn:hover,[data-theme="light"] .tiny-btn:hover,[data-theme="light"] .close-btn:hover,[data-theme="light"] .info-help:hover{background:#fff!important;color:#14233e!important}
[data-theme="light"] .note-format-bar{background:rgba(249,251,255,.90)!important;border-color:rgba(48,72,109,.09)!important}
[data-theme="light"] .note-format-bar button{background:rgba(255,255,255,.76)!important;color:#53698b!important;border:1px solid rgba(49,73,111,.08)!important}
[data-theme="light"] .note-format-bar button.active,[data-theme="light"] .note-format-bar button:hover{background:color-mix(in srgb,var(--primary) 10%,#fff)!important;color:var(--primary)!important;border-color:color-mix(in srgb,var(--primary) 20%,transparent)!important}
[data-theme="light"] .note-rich-editor{color:#263955!important}
[data-theme="light"] .notes-list-pane .note-list-item.active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 11%,#fff),color-mix(in srgb,var(--secondary) 7%,#fff))!important}
[data-theme="light"] .risk-cell.low{background:rgba(52,211,153,.13)!important}.risk-cell.medium{background:rgba(245,158,11,.13)!important}.risk-cell.critical{background:rgba(251,83,115,.14)!important}
[data-theme="light"] .money-snapshot>div{background:rgba(255,255,255,.65);border:1px solid rgba(47,72,111,.08);border-radius:12px;padding:9px 10px}

/* FullCalendar: custom controls in both themes. */
.fc .fc-button-primary{background:var(--surface-input)!important;border-color:var(--line)!important;color:var(--ink-2)!important;box-shadow:none!important}
.fc .fc-button-primary:hover{background:var(--surface-hover)!important;color:var(--ink)!important}
.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background:linear-gradient(135deg,var(--primary),var(--secondary))!important;color:#fff!important;border-color:transparent!important}
[data-theme="light"] .fc{--fc-page-bg-color:transparent;--fc-neutral-bg-color:rgba(255,255,255,.58);--fc-border-color:rgba(51,75,112,.10);--fc-today-bg-color:color-mix(in srgb,var(--primary) 7%,transparent);color:#2f4260!important}
[data-theme="dark"] .fc{--fc-page-bg-color:transparent;--fc-neutral-bg-color:rgba(255,255,255,.025);--fc-border-color:rgba(151,181,229,.10);--fc-today-bg-color:color-mix(in srgb,var(--primary) 7%,transparent)}

/* Better notes editor interaction feedback. */
.note-format-bar button{position:relative;transition:transform .14s ease,background .14s ease,color .14s ease,border-color .14s ease}
.note-format-bar button:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--primary) 11%,var(--surface-input))!important;color:#fff}
.note-format-bar button.active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 25%,transparent),color-mix(in srgb,var(--secondary) 18%,transparent))!important;color:#fff!important;border-color:color-mix(in srgb,var(--primary) 28%,transparent)!important}
.note-rich-editor{max-width:980px;width:100%;margin:0 auto}
.note-editor-pane{background-clip:padding-box!important}
.note-rich-editor:focus{outline:none}
.note-rich-editor::selection,.note-rich-editor *::selection{background:color-mix(in srgb,var(--primary) 32%,transparent)}

/* Theme Studio visual style cards. */
.visual-style-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 14px}
.visual-style-chip{appearance:none;border:1px solid var(--line);background:var(--surface-input);color:var(--ink-2);border-radius:12px;padding:10px 11px;text-align:left;cursor:pointer;display:grid;gap:4px;transition:.16s}
.visual-style-chip strong{font-size:.68rem}.visual-style-chip small{font-size:.57rem!important;color:var(--ink-3)!important}
.visual-style-chip:before{content:"";height:5px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--secondary),var(--accent));opacity:.55}
.visual-style-chip.active{border-color:color-mix(in srgb,var(--primary) 48%,var(--line));background:color-mix(in srgb,var(--primary) 8%,var(--surface-input));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 8%,transparent)}

/* Login is contained and balanced on ultrawide screens. */
.login-page{max-width:1360px!important;grid-template-columns:minmax(0,1fr) minmax(390px,430px)!important;gap:clamp(36px,4.2vw,66px)!important;padding-inline:clamp(28px,4vw,58px)!important}
.login-visual{height:min(760px,calc(100vh - 64px))!important}
.login-copy{max-width:620px!important}.login-copy h1{font-size:clamp(2.8rem,4.15vw,4.75rem)!important}.login-copy>p{max-width:570px!important}
.login-card{max-width:430px!important}

/* Responsive safety */
@media(max-width:1200px){.visual-style-row{grid-template-columns:repeat(2,minmax(0,1fr))}.note-rich-editor{max-width:none}}
@media(max-width:700px){.visual-style-row{grid-template-columns:1fr 1fr}.life-pulse-card strong{font-size:1.55rem!important}.login-page{padding:0!important}.login-form-wrap{padding:18px!important}}

/* High contrast remains coherent with both themes. */
html[data-high-contrast="1"]{--line:rgba(173,202,248,.34);--line-strong:rgba(173,202,248,.48)}
html[data-theme="light"][data-high-contrast="1"]{--ink:#07142b;--ink-2:#162a4b;--ink-3:#4d6488;--line:rgba(28,55,95,.27);--line-strong:rgba(28,55,95,.38)}
