/* =============================================================
   AVANZA Life OS 6.0 — Precision UI + Full Theme Studio
   Final layer. The goal is consistency, readability and true light/dark theming.
   ============================================================= */

:root{
  --fs-xxs:.67rem;--fs-xs:.74rem;--fs-sm:.82rem;--fs-md:.90rem;--fs-lg:1rem;--fs-xl:1.15rem;--fs-2xl:1.55rem;--fs-3xl:2.2rem;
  --control-h:42px;--control-h-sm:34px;--icon-size:38px;
  --shadow-soft:0 14px 38px rgba(0,0,0,.16);--shadow-light:0 16px 40px rgba(48,67,104,.10);
}
html{font-size:var(--base-font-size)!important;scroll-behavior:smooth}
body,button,input,select,textarea{font-family:var(--ui-font)!important}
body{font-size:1rem!important;line-height:1.48!important}
*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--primary) 32%,transparent) transparent}
*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--primary) 24%,var(--line));border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--primary) 46%,var(--line));background-clip:padding-box}

/* Semantic theme foundation */
html[data-theme="dark"]{
  --surface-page:var(--dark-page);--surface-panel:color-mix(in srgb,var(--dark-surface) calc(var(--dark-card-alpha) * 100%),transparent);--surface-panel-strong:color-mix(in srgb,var(--dark-surface) 88%,#020715);--surface-input:color-mix(in srgb,var(--dark-surface) 72%,#050b18);--surface-hover:color-mix(in srgb,var(--primary) 8%,var(--dark-surface));
  --ink:var(--dark-text);--ink-2:color-mix(in srgb,var(--dark-text) 87%,var(--dark-muted));--ink-3:var(--dark-muted);--line:color-mix(in srgb,var(--dark-border) 30%,transparent);--line-strong:color-mix(in srgb,var(--dark-border) 48%,transparent);color-scheme:dark;
}
html[data-theme="light"]{
  --surface-page:var(--light-page);--surface-panel:color-mix(in srgb,var(--light-surface) calc(var(--light-card-alpha) * 100%),transparent);--surface-panel-strong:color-mix(in srgb,var(--light-surface) 96%,#f1f5fb);--surface-input:#fff;--surface-hover:color-mix(in srgb,var(--primary) 5%,#fff);
  --ink:var(--light-text);--ink-2:color-mix(in srgb,var(--light-text) 86%,var(--light-muted));--ink-3:var(--light-muted);--line:color-mix(in srgb,var(--light-border) 78%,transparent);--line-strong:color-mix(in srgb,var(--light-border) 100%,transparent);color-scheme:light;
}
body{background:var(--surface-page)!important;color:var(--ink-2)!important}
body:before{background-position:var(--app-bg-position)!important;background-size:cover!important}
html[data-theme="dark"] body:before{background:radial-gradient(circle at 78% 5%,color-mix(in srgb,var(--secondary) 12%,transparent),transparent 28%),radial-gradient(circle at 15% 88%,color-mix(in srgb,var(--primary) 13%,transparent),transparent 31%),linear-gradient(color-mix(in srgb,var(--dark-page) var(--dark-bg-cover),transparent),color-mix(in srgb,var(--dark-page) var(--dark-bg-cover),transparent)),var(--app-background-image),var(--dark-page)!important}
html[data-theme="light"] body:before{background:radial-gradient(circle at 83% 4%,color-mix(in srgb,var(--secondary) 9%,transparent),transparent 28%),radial-gradient(circle at 12% 92%,color-mix(in srgb,var(--primary) 7%,transparent),transparent 30%),linear-gradient(color-mix(in srgb,var(--light-page) var(--light-bg-cover),transparent),color-mix(in srgb,var(--light-page) var(--light-bg-cover),transparent)),var(--app-background-image),var(--light-page)!important;opacity:1!important}

/* Typography is consistent across modules */
h1,h2,h3,h4,h5,h6,strong{color:var(--ink)}
.page-head h1{font-size:clamp(2.15rem,2.65vw,2.85rem)!important;line-height:1.02!important;letter-spacing:-.047em!important;font-weight:800!important}
.page-head p{font-size:var(--fs-md)!important;line-height:1.55!important;max-width:900px}
.eyebrow{font-size:var(--fs-xxs)!important;letter-spacing:.14em!important;font-weight:800!important}
.panel-title h2,.panel-title h3,.section-heading h2,.section-heading h3{font-size:var(--fs-xl)!important;line-height:1.2!important;font-weight:750!important;letter-spacing:-.025em!important}
.panel-title p,.section-heading p,.field small,.muted,.subtle{font-size:var(--fs-xs)!important;line-height:1.45!important;color:var(--ink-3)!important}
.field>label,.field label,.table th{font-size:var(--fs-xs)!important;font-weight:700!important;color:var(--ink-2)!important}
.input,.select,.textarea,.btn,.nav-item,.nav-parent,.table td,.task-card,.today-item,.note-list-item,.project-card{font-size:var(--fs-sm)!important}
.badge,.status-pill,.project-pill,.category-chip{font-size:var(--fs-xxs)!important}

/* Layout and layer safety */
.sidebar{z-index:220!important}.sidebar-overlay{z-index:219!important}.topbar{z-index:180!important}.main{position:relative;z-index:1;min-width:0}.content{min-width:0}.app-footer{position:relative;z-index:2}
body[data-page="reports"] .sidebar,body[data-page="reports"] .topbar{pointer-events:auto!important}
body[data-page="reports"] canvas{position:relative;z-index:0!important}

/* Major surfaces */
.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(5% * 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%),var(--surface-panel)!important;
  border:1px solid var(--line)!important;border-radius:var(--card-radius)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.045),var(--shadow-soft)!important;backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation))!important;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturation))!important
}
html[data-theme="light"] .panel,html[data-theme="light"] .glass-card,html[data-theme="light"] .settings-section,html[data-theme="light"] .modal-card,html[data-theme="light"] .notes-folders,html[data-theme="light"] .notes-list-pane,html[data-theme="light"] .note-editor-pane,html[data-theme="light"] .calendar-workspace,html[data-theme="light"] .stat-card,html[data-theme="light"] .life-pulse-card,html[data-theme="light"] .project-card,html[data-theme="light"] .finance-card,html[data-theme="light"] .risk-card,html[data-theme="light"] .routine-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.98),var(--shadow-light)!important;background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--secondary) 4%,transparent),transparent 35%),radial-gradient(circle at 0 100%,color-mix(in srgb,var(--primary) 3%,transparent),transparent 40%),color-mix(in srgb,var(--light-surface) calc(var(--light-card-alpha) * 100%),transparent)!important}

/* Buttons & icons */
.btn{min-height:var(--control-h)!important;border-radius:var(--button-radius)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;line-height:1!important}
.btn-sm{min-height:var(--control-h-sm)!important;height:var(--control-h-sm)!important}.btn-primary{background:linear-gradient(var(--gradient-angle),var(--primary),color-mix(in srgb,var(--primary) 45%,var(--secondary)),var(--secondary))!important;opacity:var(--button-opacity)!important}
.icon-btn,.tiny-btn,.close-btn,.top-action.icon-only,.info-help,.mobile-menu,.sidebar-collapse,.focus-time-btn{display:grid!important;place-items:center!important;padding:0!important;line-height:1!important;text-align:center!important}
.icon-btn i,.tiny-btn i,.close-btn i,.top-action i,.info-help i,.mobile-menu i,.sidebar-collapse i{margin:0!important;line-height:1!important;display:block!important}
.close-btn{width:38px!important;height:38px!important}.modal-head>.close-btn{right:0!important;top:0!important}
html[data-theme="light"] .btn-ghost,html[data-theme="light"] .tiny-btn,html[data-theme="light"] .icon-btn,html[data-theme="light"] .close-btn,html[data-theme="light"] .top-action,html[data-theme="light"] .page-guide-btn{background:#fff!important;color:var(--ink-2)!important;border-color:var(--line)!important;box-shadow:0 5px 14px rgba(53,70,100,.05)!important}
html[data-theme="light"] .btn-ghost:hover,html[data-theme="light"] .tiny-btn:hover,html[data-theme="light"] .icon-btn:hover{background:color-mix(in srgb,var(--primary) 5%,#fff)!important;color:var(--primary)!important}

/* Inputs in light mode should be truly white */
html[data-theme="light"] .input,html[data-theme="light"] .select,html[data-theme="light"] .textarea,html[data-theme="light"] .global-search,html[data-theme="light"] .note-title-input,html[data-theme="light"] .notes-search{background:#fff!important;color:var(--ink)!important;border-color:var(--line)!important;box-shadow:inset 0 1px 2px rgba(30,50,80,.025)!important}
html[data-theme="light"] .input::placeholder,html[data-theme="light"] .textarea::placeholder{color:color-mix(in srgb,var(--ink-3) 72%,#fff)!important}

/* Sidebar remains distinct in both modes but is not disconnected from light theme */
html[data-theme="light"] .sidebar{background:#081328!important;border-right-color:rgba(83,110,157,.20)!important}.sidebar{pointer-events:auto!important}.sidebar *{pointer-events:auto}
.nav-item,.nav-parent{font-size:var(--fs-sm)!important}.nav-submenu .nav-item{font-size:var(--fs-xs)!important}

/* Dashboard cards: strong visual identity, no text collisions */
.life-pulse-grid{gap:12px!important}.life-pulse-card{min-height:122px!important;padding:17px 18px!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(34px,1fr) auto!important;gap:9px!important;align-items:stretch!important}.life-pulse-label{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-width:0!important}.life-pulse-label>span{display:flex!important;align-items:center!important;gap:7px!important;font-size:var(--fs-xs)!important;min-width:0!important}.life-pulse-label .pulse-mini{font-size:var(--fs-xxs)!important;white-space:nowrap!important}.life-pulse-value{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}.life-pulse-value strong{font-size:2rem!important;line-height:1!important;margin:0!important;white-space:nowrap!important}.life-pulse-value em{font-size:var(--fs-xxs)!important;line-height:1.25!important;white-space:nowrap!important}.life-pulse-foot{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;font-size:var(--fs-xxs)!important;line-height:1.35!important;color:var(--ink-3)!important}.life-pulse-foot>span:first-child{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.pulse-track{flex:0 0 56px!important}.life-pulse-card:after{opacity:.9!important}

/* Kanban: click/touch panning and centered controls */
.kanban-wrap{overflow-x:auto!important;overflow-y:visible!important;cursor:grab!important;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:12px!important}.kanban-wrap.is-panning{cursor:grabbing!important;user-select:none!important;scroll-snap-type:none}.kanban-board{min-width:max-content!important;display:flex!important;gap:12px!important}.kanban-col{scroll-snap-align:start;min-width:300px!important;max-width:340px!important}.kanban-col .panel-title,.kanban-head{align-items:center!important}.kanban-col .tiny-btn,.task-card .tiny-btn{flex:0 0 auto!important;align-self:center!important}.task-card{cursor:pointer!important}.task-card .avatar-img{object-fit:cover!important}
html[data-theme="light"] .kanban-col{background:#f8fafd!important;border-color:var(--line)!important}.kanban-wrap::-webkit-scrollbar{height:10px}.kanban-wrap::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:99px}

/* Today and calendar cards */
html[data-theme="light"] .today-item,html[data-theme="light"] .task-card,html[data-theme="light"] .dashboard-rule-row,html[data-theme="light"] .reminder-item,html[data-theme="light"] .account-row,html[data-theme="light"] .recurring-row{background:#fff!important;border-color:var(--line)!important;color:var(--ink)!important}
.calendar-workspace{min-height:720px}.calendar-main{min-width:0}.fc .fc-toolbar-title{font-size:1rem!important;color:var(--ink)!important}.fc .fc-col-header-cell-cushion,.fc .fc-timegrid-axis-cushion,.fc .fc-timegrid-slot-label-cushion{font-size:var(--fs-xs)!important;color:var(--ink-3)!important}.fc .fc-event-title{font-size:var(--fs-xs)!important;font-weight:750!important}.fc .fc-event-time{font-size:var(--fs-xxs)!important}.fc .fc-timegrid-now-indicator-line{border-color:#ff496c!important;border-width:2px!important}.fc .fc-timegrid-now-indicator-arrow{border-color:#ff496c!important}
html[data-theme="light"] .fc{--fc-page-bg-color:#fff;--fc-neutral-bg-color:#f8fafe;--fc-border-color:#e1e7f0;--fc-today-bg-color:color-mix(in srgb,var(--primary) 6%,#fff);color:var(--ink)!important}.calendar-sidebar{min-width:260px!important}

/* Notes editor */
.note-editor-pane{overflow:hidden}.note-format-bar{position:sticky!important;top:0!important;z-index:4!important}.note-rich-editor{font-size:1rem!important;line-height:1.72!important;min-height:58vh!important;max-width:900px!important;padding:24px 10px 80px!important}.note-rich-editor h1{font-size:2rem!important}.note-rich-editor h2{font-size:1.55rem!important}.note-rich-editor h3{font-size:1.25rem!important}.note-rich-editor p,.note-rich-editor li{font-size:1rem!important}.note-format-bar button{display:grid!important;place-items:center!important;width:34px!important;height:34px!important}
html[data-theme="light"] .note-editor-pane,html[data-theme="light"] .notes-folders,html[data-theme="light"] .notes-list-pane{background:#fff!important}.note-rich-editor a{color:var(--primary)!important}

/* Finance 6.0 */
.finance-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.finance-account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.finance-account-card{position:relative;padding:15px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-panel-strong) 82%,transparent);display:grid;gap:8px}.finance-account-card .account-balance{font-size:1.4rem;font-weight:800;letter-spacing:-.04em;color:var(--ink)}.finance-account-actions{display:flex;gap:6px;position:absolute;right:10px;top:10px}.finance-recurring-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.finance-recurring-actions{display:flex;gap:6px}.finance-status{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xxs);font-weight:700}.finance-status.auto{color:#34d399}.finance-status.manual{color:#f59e0b}.budget-row{border-bottom:1px solid var(--line);padding:11px 0!important}.budget-row:last-child{border-bottom:0}.budget-head{gap:10px}.budget-actions{display:flex;gap:6px;align-items:center}.finance-flow-note{padding:12px 14px;border-radius:13px;background:color-mix(in srgb,var(--primary) 7%,var(--surface-input));border:1px solid color-mix(in srgb,var(--primary) 14%,var(--line));font-size:var(--fs-xs);color:var(--ink-3);display:flex;gap:9px;align-items:flex-start}.finance-flow-note i{color:var(--primary);font-size:1.1rem}
html[data-theme="light"] .finance-account-card{background:#fff!important;box-shadow:0 8px 20px rgba(40,60,90,.045)}

/* Settings / Theme Studio 6.0 */
.theme-studio-form .studio-group{border:1px solid var(--line)!important;border-radius:16px!important;padding:16px!important;background:color-mix(in srgb,var(--surface-panel-strong) 72%,transparent)!important}.studio-group-head{margin-bottom:14px!important}.theme-controls-stack{gap:12px!important}.palette-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.theme-color-matrix{display:grid;grid-template-columns:1fr 1fr;gap:12px}.theme-color-set{border:1px solid var(--line);border-radius:14px;padding:13px;background:var(--surface-input)}.theme-color-set h4{margin:0 0 10px;font-size:var(--fs-sm)}.theme-color-set .palette-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.theme-live-panel{min-width:320px}.font-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.font-option{border:1px solid var(--line);background:var(--surface-input);border-radius:12px;padding:11px;cursor:pointer;text-align:left;color:var(--ink-2)}.font-option.active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 10%,transparent);background:color-mix(in srgb,var(--primary) 7%,var(--surface-input))}.font-option strong{display:block;font-size:1rem}.font-option small{font-size:var(--fs-xxs);color:var(--ink-3)}
html[data-theme="light"] .theme-studio-form .studio-group,html[data-theme="light"] .theme-color-set{background:#fff!important}

/* Manual / documentation */
.manual-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:16px;margin-bottom:16px}.manual-rhythm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.manual-step{padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--surface-input);display:grid;grid-template-columns:38px 1fr;gap:10px}.manual-step>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(var(--gradient-angle),var(--primary),var(--secondary));color:#fff;font-weight:800}.manual-step h3{font-size:var(--fs-md);margin:0 0 4px}.manual-step p{font-size:var(--fs-xs);color:var(--ink-3);margin:0}.manual-modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.manual-module{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-input)}.manual-module i{font-size:1.3rem;color:var(--primary)}.manual-module h3{margin:8px 0 5px;font-size:var(--fs-md)}.manual-module p{font-size:var(--fs-xs);color:var(--ink-3)}.manual-checklist{display:grid;gap:8px}.manual-checklist li{list-style:none;display:flex;gap:9px;font-size:var(--fs-sm);color:var(--ink-2)}.manual-checklist i{color:#34d399;margin-top:2px}
html[data-theme="light"] .manual-step,html[data-theme="light"] .manual-module{background:#fff!important}

/* Floating controls must never hide under footer */
.accessibility-fab{position:fixed!important;right:18px!important;bottom:max(86px,calc(env(safe-area-inset-bottom) + 86px))!important;z-index:9995!important}.focus-fab{position:fixed!important;right:18px!important;bottom:max(28px,calc(env(safe-area-inset-bottom) + 28px))!important;z-index:9994!important}.accessibility-panel{position:fixed!important;right:18px!important;bottom:max(136px,calc(env(safe-area-inset-bottom) + 136px))!important;z-index:9996!important;max-height:min(72vh,650px)!important;overflow:auto!important}.app-footer{padding-right:190px!important}

/* Responsive */
@media(max-width:1180px){.theme-color-matrix{grid-template-columns:1fr}.font-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-hero{grid-template-columns:1fr}.manual-rhythm{grid-template-columns:1fr}.calendar-sidebar{min-width:225px!important}.kanban-col{min-width:285px!important}}
@media(max-width:760px){:root{--control-h:44px}.content{width:min(calc(100% - 24px),var(--content-max-width))!important}.page-head h1{font-size:2rem!important}.page-head p{font-size:.88rem!important}.panel-title h2,.panel-title h3{font-size:1.06rem!important}.palette-grid{grid-template-columns:1fr!important}.theme-color-set .palette-grid{grid-template-columns:1fr 1fr!important}.font-family-grid{grid-template-columns:1fr 1fr}.finance-recurring-row{grid-template-columns:1fr auto}.finance-recurring-row>.finance-status{grid-column:1}.accessibility-fab{right:12px!important;bottom:92px!important}.focus-fab{right:12px!important;bottom:26px!important}.app-footer{padding-right:0!important}.kanban-col{min-width:84vw!important}.calendar-sidebar{min-width:100%!important}}

/* Reduced motion */
html[data-reduce-motion="1"] *,html[data-reduce-motion="1"] *:before,html[data-reduce-motion="1"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

/* =============================================================
   6.0.0 — FINAL CONSISTENCY / TRUE CUSTOM THEME LAYER
   ============================================================= */

/* Semantic colors are theme-studio tokens, not hard-coded decoration. */
.text-success,.positive{color:var(--success)!important}.text-danger,.negative{color:var(--danger)!important}.text-info{color:var(--info)!important}
.badge.success,.badge.low{background:color-mix(in srgb,var(--success) 12%,transparent)!important;color:color-mix(in srgb,var(--success) 75%,var(--ink))!important;border-color:color-mix(in srgb,var(--success) 25%,transparent)!important}
.badge.medium,.badge.warning{background:color-mix(in srgb,var(--warning) 12%,transparent)!important;color:color-mix(in srgb,var(--warning) 78%,var(--ink))!important;border-color:color-mix(in srgb,var(--warning) 25%,transparent)!important}
.badge.high,.badge.urgent,.badge.danger{background:color-mix(in srgb,var(--danger) 12%,transparent)!important;color:color-mix(in srgb,var(--danger) 78%,var(--ink))!important;border-color:color-mix(in srgb,var(--danger) 25%,transparent)!important}
.stat-icon.success{color:var(--success)!important;background:color-mix(in srgb,var(--success) 13%,var(--surface-input))!important}.stat-icon.danger{color:var(--danger)!important;background:color-mix(in srgb,var(--danger) 13%,var(--surface-input))!important}
.btn-primary{opacity:1!important;color:var(--button-text)!important;background:linear-gradient(var(--gradient-angle),color-mix(in srgb,var(--primary) calc(var(--button-opacity) * 100%),transparent),color-mix(in srgb,var(--secondary) calc(var(--button-opacity) * 100%),transparent))!important}

/* Visual styles remain customizable: they use the user's actual theme tokens. */
html[data-visual-style="vivid"] .panel,html[data-visual-style="vivid"] .glass-card,html[data-visual-style="vivid"] .settings-section{
  background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--secondary) 8%,transparent),transparent 34%),radial-gradient(circle at 0 100%,color-mix(in srgb,var(--primary) 7%,transparent),transparent 38%),var(--surface-panel)!important
}
html[data-visual-style="balanced"] .panel,html[data-visual-style="balanced"] .glass-card,html[data-visual-style="balanced"] .settings-section{background:var(--surface-panel)!important}
html[data-visual-style="crystal"] .panel,html[data-visual-style="crystal"] .glass-card,html[data-visual-style="crystal"] .settings-section{background:color-mix(in srgb,var(--surface-panel) 76%,transparent)!important;backdrop-filter:blur(max(var(--glass-blur),24px)) saturate(max(var(--glass-saturation),1.34))!important;-webkit-backdrop-filter:blur(max(var(--glass-blur),24px)) saturate(max(var(--glass-saturation),1.34))!important}
html[data-visual-style="minimal"] .panel,html[data-visual-style="minimal"] .glass-card,html[data-visual-style="minimal"] .settings-section{background:var(--surface-panel-strong)!important;box-shadow:0 7px 22px rgba(20,35,60,.07)!important}
html[data-theme="light"][data-visual-style="vivid"] .panel,html[data-theme="light"][data-visual-style="vivid"] .glass-card,html[data-theme="light"][data-visual-style="vivid"] .settings-section{background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--secondary) 5%,transparent),transparent 36%),radial-gradient(circle at 0 100%,color-mix(in srgb,var(--primary) 4%,transparent),transparent 42%),color-mix(in srgb,var(--light-surface) calc(var(--light-card-alpha) * 100%),transparent)!important}
html[data-theme="light"][data-visual-style="balanced"] .panel,html[data-theme="light"][data-visual-style="balanced"] .glass-card,html[data-theme="light"][data-visual-style="balanced"] .settings-section{background:color-mix(in srgb,var(--light-surface) calc(var(--light-card-alpha) * 100%),transparent)!important}
html[data-theme="light"][data-visual-style="crystal"] .panel,html[data-theme="light"][data-visual-style="crystal"] .glass-card,html[data-theme="light"][data-visual-style="crystal"] .settings-section{background:color-mix(in srgb,var(--light-surface) 78%,transparent)!important}
html[data-theme="light"][data-visual-style="minimal"] .panel,html[data-theme="light"][data-visual-style="minimal"] .glass-card,html[data-theme="light"][data-visual-style="minimal"] .settings-section{background:var(--light-surface)!important}

/* A truly light option for the whole shell. Users can also keep the dark sidebar. */
html[data-theme="light"][data-light-sidebar="light"] .sidebar{background:var(--light-surface)!important;border-right-color:var(--line)!important;box-shadow:8px 0 30px rgba(45,65,95,.055)!important}
html[data-theme="light"][data-light-sidebar="light"] .sidebar-bg{opacity:.06!important;filter:saturate(.7)!important}
html[data-theme="light"][data-light-sidebar="light"] .sidebar-shade{background:linear-gradient(180deg,color-mix(in srgb,var(--light-surface) 90%,transparent),color-mix(in srgb,var(--light-page) 95%,transparent))!important;backdrop-filter:none!important}
html[data-theme="light"][data-light-sidebar="light"] .nav-item,html[data-theme="light"][data-light-sidebar="light"] .nav-parent{color:var(--ink-3)!important}
html[data-theme="light"][data-light-sidebar="light"] .nav-item:hover,html[data-theme="light"][data-light-sidebar="light"] .nav-parent:hover{background:color-mix(in srgb,var(--primary) 5%,#fff)!important;color:var(--ink)!important}
html[data-theme="light"][data-light-sidebar="light"] .nav-item.active,html[data-theme="light"][data-light-sidebar="light"] .nav-parent.active{background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 13%,#fff),color-mix(in srgb,var(--secondary) 7%,#fff))!important;color:var(--primary)!important;box-shadow:inset 2px 0 var(--primary)!important}
html[data-theme="light"][data-light-sidebar="light"] .nav-section-label,html[data-theme="light"][data-light-sidebar="light"] .sidebar-quote{color:var(--ink-3)!important}
html[data-theme="light"][data-light-sidebar="light"] .sidebar-quote strong{color:var(--ink)!important}
html[data-theme="light"][data-light-sidebar="light"] .sidebar-collapse,html[data-theme="light"][data-light-sidebar="light"] .sidebar-footer .icon-btn{background:#fff!important;color:var(--ink-3)!important;border-color:var(--line)!important}

/* Typography normalization: old module-specific micro-fonts are brought back to one scale. */
.today-main strong,.routine-mini strong,.account-row strong,.recurring-row strong,.kanban-head strong,.project-card h3,.role-card h3,.inbox-item strong,.plan-item strong,.process-choice strong,.calendar-toggle-row strong,.calendar-legend-tip strong,.guide-step strong{font-size:var(--fs-sm)!important;line-height:1.35!important}
.today-main small,.routine-mini small,.account-row small,.recurring-row small,.project-card p,.project-metrics,.project-progress-row span,.inbox-item small,.plan-item small,.process-choice small,.calendar-toggle-row small,.calendar-pref-summary span,.calendar-pref-summary strong,.calendar-legend-tip small,.guide-step p,.budget-row small,.money-snapshot span{font-size:var(--fs-xs)!important;line-height:1.42!important}
.dashboard-rule-row,.perm-item strong,.role-card p,.stat-card span,.stat-card small{font-size:var(--fs-xs)!important}
.stat-card strong{font-size:1.45rem!important}.money-snapshot strong{font-size:1rem!important}.permission-group h4{font-size:var(--fs-sm)!important}.perm-item small{font-size:var(--fs-xxs)!important}
.task-card{font-size:var(--fs-sm)!important}.task-card p,.task-card small{font-size:var(--fs-xs)!important;line-height:1.42!important}.task-card h4,.task-card strong{font-size:var(--fs-sm)!important}
.settings-section h2{font-size:var(--fs-xl)!important}.settings-section>p{font-size:var(--fs-xs)!important}.integration-setting-card p,.integration-setting-card small,.integration-note,.custom-sound-upload p,.shortcut-steps{font-size:var(--fs-xs)!important}

/* Light theme: white, restrained, and higher contrast instead of translucent grey wash. */
html[data-theme="light"] body{background:var(--light-page)!important;color:var(--ink-2)!important}
html[data-theme="light"] .content{color:var(--ink-2)!important}
html[data-theme="light"] .panel,html[data-theme="light"] .settings-section,html[data-theme="light"] .modal-card,html[data-theme="light"] .calendar-workspace,html[data-theme="light"] .notes-folders,html[data-theme="light"] .notes-list-pane,html[data-theme="light"] .note-editor-pane{border-color:var(--line)!important}
html[data-theme="light"] .topbar{background:color-mix(in srgb,var(--light-surface) 94%,transparent)!important;border-bottom-color:var(--line)!important;box-shadow:0 7px 24px rgba(30,55,90,.055)!important}
html[data-theme="light"] .today-item,html[data-theme="light"] .task-card,html[data-theme="light"] .smart-insight,html[data-theme="light"] .money-snapshot>div,html[data-theme="light"] .dashboard-rule-row,html[data-theme="light"] .note-dashboard-list>a,html[data-theme="light"] .week-strip>div,html[data-theme="light"] .budget-row,html[data-theme="light"] .routine-card,html[data-theme="light"] .quick-log,html[data-theme="light"] .week-signal,html[data-theme="light"] .review-task,html[data-theme="light"] .habit-stat,html[data-theme="light"] .process-choice,html[data-theme="light"] .risk-card{background:var(--light-surface)!important;border-color:var(--line)!important;color:var(--ink-2)!important}
html[data-theme="light"] .kanban-col{background:color-mix(in srgb,var(--light-page) 72%,#fff)!important;border-color:var(--line)!important;box-shadow:0 8px 26px rgba(36,54,86,.045)!important}
html[data-theme="light"] .task-card{box-shadow:0 7px 20px rgba(36,54,86,.055)!important}
html[data-theme="light"] .fc .fc-col-header-cell{background:color-mix(in srgb,var(--light-page) 66%,#fff)!important}.fc .fc-button{font-family:var(--ui-font)!important}
html[data-theme="light"] .fc-theme-standard td,html[data-theme="light"] .fc-theme-standard th,html[data-theme="light"] .fc-theme-standard .fc-scrollgrid{border-color:var(--line)!important}
html[data-theme="light"] .responsive-table tbody tr,html[data-theme="light"] .table tbody tr{background:var(--light-surface)!important}
html[data-theme="light"] .responsive-table tbody td,html[data-theme="light"] .table tbody td{color:var(--ink-2)!important;border-color:var(--line)!important}

/* Theme Studio controls */
.semantic-palette{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.integration-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.integration-actions>*{flex:1 1 160px}.integration-manual-link{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-input);display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.integration-manual-link>i{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 10%,var(--surface-input));color:var(--primary);font-size:1.15rem}.integration-manual-link strong{font-size:var(--fs-sm)}.integration-manual-link p{margin:3px 0 0;font-size:var(--fs-xs);color:var(--ink-3)}

/* Reports cannot steal clicks from the shell. */
body[data-page="reports"] .content,body[data-page="reports"] .report-grid,body[data-page="reports"] .chart-card{isolation:isolate}body[data-page="reports"] .chart-wrap,body[data-page="reports"] canvas{pointer-events:auto!important}body[data-page="reports"] .sidebar{isolation:isolate!important;z-index:10000!important}body[data-page="reports"] .topbar{z-index:9000!important}

/* Avatar/profile feedback */
.avatar-uploader img{background:var(--surface-input)!important}.avatar-uploader{position:relative}.avatar-uploader:after{content:'PNG · JPG · WEBP';display:block;margin-top:6px;font-size:var(--fs-xxs);color:var(--ink-3)}

/* Manual anchors */
#integraciones{scroll-margin-top:calc(var(--topbar-h) + 20px)}

@media(max-width:1180px){.semantic-palette{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.semantic-palette{grid-template-columns:1fr 1fr}.integration-manual-link{grid-template-columns:auto 1fr}.integration-manual-link .btn{grid-column:1/-1}.life-pulse-value strong{font-size:1.65rem!important}}

/* =============================================================
   6.0 — PRODUCT POLISH PASS: consistent type, white light theme,
   compact page rhythm, touch-friendly boards and reliable shell.
   ============================================================= */
:root{
  --fs-xxs:.76rem;--fs-xs:.82rem;--fs-sm:.90rem;--fs-md:1rem;--fs-lg:1.08rem;--fs-xl:1.22rem;--fs-2xl:1.62rem;--fs-3xl:2.28rem;
}

/* The uploaded app background obeys separate Dark/Light visibility controls. */
html[data-theme="dark"] body:before{
  background:
    radial-gradient(circle at 78% 5%,color-mix(in srgb,var(--secondary) 11%,transparent),transparent 28%),
    radial-gradient(circle at 15% 88%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 31%),
    linear-gradient(color-mix(in srgb,var(--dark-page) var(--dark-bg-cover),transparent),color-mix(in srgb,var(--dark-page) var(--dark-bg-cover),transparent)),
    var(--app-background-image),var(--dark-page)!important;
}
html[data-theme="light"] body:before{
  background:
    radial-gradient(circle at 84% 4%,color-mix(in srgb,var(--secondary) 3%,transparent),transparent 30%),
    radial-gradient(circle at 13% 91%,color-mix(in srgb,var(--primary) 2.5%,transparent),transparent 32%),
    linear-gradient(color-mix(in srgb,var(--light-page) var(--light-bg-cover),transparent),color-mix(in srgb,var(--light-page) var(--light-bg-cover),transparent)),
    var(--app-background-image),var(--light-page)!important;
}

/* One readable type system across all modules. */
.nav-item,.nav-parent,.btn,.input,.select,.textarea,.table td,.task-card,.today-item,.project-card,.note-list-item,.reminder-item,.routine-card,.risk-card,.finance-card{font-size:var(--fs-sm)!important}
.nav-submenu .nav-item,.badge,.status-pill,.project-pill,.category-chip,.label-dot,.eyebrow,.table th,.field>label,.field label,.muted,.subtle,small{font-size:var(--fs-xs)!important}
.user-chip strong,.dropdown a,.dropdown button,.settings-nav a,.permission-group h4,.perm-item strong,.role-card h3,.inbox-item strong,.review-task,.reminder-main strong{font-size:var(--fs-sm)!important}
.user-chip small,.perm-item small,.role-card p,.inbox-item small,.process-choice small,.reminder-main small,.score-circle span{font-size:var(--fs-xs)!important}
.page-head{margin-bottom:18px!important;align-items:center!important}.page-head h1{font-size:clamp(2rem,2.25vw,2.65rem)!important}.page-head p{font-size:var(--fs-md)!important}.eyebrow{letter-spacing:.12em!important}.panel-title p,.section-heading p,.settings-section>p{font-size:var(--fs-xs)!important}

/* Truly white light theme: the image remains only a barely visible ambience. */
html[data-theme="light"]{--surface-page:var(--light-page);--surface-input:#fff;--surface-panel-strong:#fff}
html[data-theme="light"] body{background:var(--light-page)!important}
html[data-theme="light"] .content{background:transparent!important}
html[data-theme="light"] .panel,html[data-theme="light"] .glass-card,html[data-theme="light"] .settings-section,html[data-theme="light"] .modal-card,html[data-theme="light"] .notes-folders,html[data-theme="light"] .notes-list-pane,html[data-theme="light"] .note-editor-pane,html[data-theme="light"] .calendar-workspace,html[data-theme="light"] .stat-card,html[data-theme="light"] .life-pulse-card,html[data-theme="light"] .project-card,html[data-theme="light"] .finance-card,html[data-theme="light"] .risk-card,html[data-theme="light"] .routine-card{
  background:linear-gradient(180deg,color-mix(in srgb,var(--light-surface) 99%,var(--secondary)),color-mix(in srgb,var(--light-surface) 99.5%,var(--primary)))!important;
  border-color:var(--line-strong)!important;
  box-shadow:0 9px 26px rgba(26,45,76,.055),inset 0 1px 0 rgba(255,255,255,1)!important;
}
html[data-theme="light"] .kanban-col{background:linear-gradient(180deg,#fff,#fbfcff)!important;border:1px solid var(--line-strong)!important;box-shadow:0 8px 22px rgba(31,51,84,.045)!important}
html[data-theme="light"] .task-card,html[data-theme="light"] .today-item,html[data-theme="light"] .plan-item,html[data-theme="light"] .account-row,html[data-theme="light"] .recurring-row,html[data-theme="light"] .risk-action-row,html[data-theme="light"] .review-task,html[data-theme="light"] .process-choice{background:#fff!important;border-color:var(--line)!important;color:var(--ink)!important}
html[data-theme="light"] .badge,html[data-theme="light"] .status-pill{box-shadow:none!important}
html[data-theme="light"] .app-footer{background:rgba(255,255,255,.84)!important;border-top-color:var(--line)!important;color:var(--ink-3)!important}

/* Stronger, clearer semantic chips. */
.badge,.status-pill,.project-pill,.category-chip{min-height:24px!important;padding:5px 9px!important;border:1px solid transparent!important;font-weight:750!important;letter-spacing:0!important}
.badge.low,.status-pill.active{background:color-mix(in srgb,var(--success) 16%,var(--surface-input))!important;color:color-mix(in srgb,var(--success) 76%,var(--ink))!important;border-color:color-mix(in srgb,var(--success) 28%,transparent)!important}
.badge.medium{background:color-mix(in srgb,var(--warning) 16%,var(--surface-input))!important;color:color-mix(in srgb,var(--warning) 78%,var(--ink))!important;border-color:color-mix(in srgb,var(--warning) 30%,transparent)!important}
.badge.high,.badge.urgent{background:color-mix(in srgb,var(--danger) 15%,var(--surface-input))!important;color:color-mix(in srgb,var(--danger) 78%,var(--ink))!important;border-color:color-mix(in srgb,var(--danger) 29%,transparent)!important}

/* Project / Kanban: remove dead space and make horizontal navigation obvious. */
body[data-page="project"] .content{padding-top:22px!important}
body[data-page="project"] .page-head{margin-bottom:14px!important}
body[data-page="project"] .project-layout{gap:14px!important}
body[data-page="project"] .kanban-toolbar{margin:0 0 12px!important;min-height:42px!important;align-items:center!important}
body[data-page="project"] .kanban-wrap{margin-top:0!important;padding-top:1px!important;touch-action:pan-y!important}
body[data-page="project"] .kanban{align-items:stretch!important;min-height:510px!important}
body[data-page="project"] .kanban-col{min-height:510px!important}
body[data-page="project"] .kanban-list{min-height:120px!important}
.kanban-wrap{scroll-behavior:smooth}.kanban-wrap.is-panning,.kanban-wrap.is-panning *{cursor:grabbing!important}
.kanban-head .tiny-btn,.kanban-head .count{flex:0 0 auto!important}.kanban-head{align-items:center!important}.kanban-dot{flex:0 0 auto!important}

/* Today: empty states should not create a giant blank poster. */
body[data-page="today"] .plan-layout{align-items:start!important}
body[data-page="today"] .plan-layout>section.panel:first-child{min-height:300px!important}
body[data-page="today"] #planItems:empty{min-height:0!important}
body[data-page="today"] .empty-slot{min-height:72px!important;display:grid!important;place-items:center!important}
body[data-page="today"] .daily-focus-card{padding:18px!important}
body[data-page="today"] .energy-dot{width:34px!important;height:34px!important;font-size:var(--fs-sm)!important}

/* Reports: charts stay inside content and can never cover the persistent shell. */
body[data-page="reports"] .content{position:relative!important;z-index:1!important;overflow:visible!important}
body[data-page="reports"] .report-grid,body[data-page="reports"] .chart-card,body[data-page="reports"] .chart-wrap{position:relative!important;z-index:1!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
body[data-page="reports"] canvas{max-width:100%!important;position:relative!important;z-index:1!important}
body[data-page="reports"] .sidebar{position:fixed!important;z-index:10020!important;pointer-events:auto!important}
body[data-page="reports"] .sidebar *{pointer-events:auto!important}
body[data-page="reports"] .sidebar-overlay{z-index:10019!important}
body[data-page="reports"] .topbar{z-index:10010!important}

/* Calendar: practical dimensions and cleaner readable grid. */
body[data-page="calendar"] .content{max-width:min(1900px,var(--content-max-width))!important}
.calendar-workspace{grid-template-columns:minmax(245px,285px) minmax(0,1fr)!important;min-height:calc(100vh - var(--topbar-h) - 165px)!important;overflow:hidden!important}
.calendar-sidebar{width:auto!important;min-width:0!important;max-height:calc(100vh - var(--topbar-h) - 170px)!important;overflow:auto!important}
.calendar-main{min-height:680px!important;overflow:hidden!important}
#calendar{min-height:650px!important}.fc .fc-scrollgrid{border-radius:13px!important;overflow:hidden!important}.fc .fc-timegrid-slot{height:2.9em!important}.fc .fc-timegrid-slot-label{vertical-align:top!important}.fc .fc-timegrid-col-events{margin:0 4px!important}.fc .fc-event{border-radius:8px!important;padding:3px 5px!important;box-shadow:0 4px 12px rgba(18,32,60,.10)!important}
html[data-theme="light"] .fc{--fc-page-bg-color:#fff!important;--fc-neutral-bg-color:#fbfcfe!important;--fc-border-color:var(--line)!important;--fc-today-bg-color:color-mix(in srgb,var(--primary) 5%,#fff)!important}

/* Settings: a real design console, not a wall of tiny controls. */
.theme-studio-grid{align-items:start!important}.studio-group{scroll-margin-top:calc(var(--topbar-h) + 14px)!important}.studio-group-head strong{font-size:var(--fs-lg)!important}.studio-group-head small,.studio-inline-label small{font-size:var(--fs-xs)!important}.color-control span,.color-control b,.layout-preset-row>span{font-size:var(--fs-xs)!important}.color-control input[type=color]{width:38px!important;height:38px!important}
.theme-color-set{background:var(--surface-panel-strong)!important}.theme-preview-shell{border:1px solid var(--line-strong)!important}
html[data-theme="light"] .theme-live-panel,.theme-live-sticky{color:var(--ink-2)!important}

/* Floating controls stay safe above footer and iPad browser safe area. */
.accessibility-fab{right:max(16px,env(safe-area-inset-right))!important;bottom:max(94px,calc(env(safe-area-inset-bottom) + 94px))!important}
.focus-fab{right:max(16px,env(safe-area-inset-right))!important;bottom:max(32px,calc(env(safe-area-inset-bottom) + 32px))!important}
.accessibility-panel{right:max(16px,env(safe-area-inset-right))!important;bottom:max(148px,calc(env(safe-area-inset-bottom) + 148px))!important}

/* Help is part of the product language. */
.page-guide-btn,.info-help{border-color:color-mix(in srgb,var(--info) 24%,var(--line))!important}.page-guide-btn i,.info-help i{color:var(--info)!important}.help-popover{font-size:var(--fs-sm)!important;line-height:1.55!important}.guide-step p{font-size:var(--fs-xs)!important}

@media(max-width:1250px){.calendar-workspace{grid-template-columns:1fr!important}.calendar-sidebar{max-height:none!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.calendar-sidebar>*{min-width:0!important}.project-layout{grid-template-columns:1fr!important}}
@media(max-width:760px){
  :root{--fs-xxs:.78rem;--fs-xs:.84rem;--fs-sm:.91rem;--fs-md:1rem}
  .page-head{align-items:flex-start!important}.page-head h1{font-size:1.95rem!important}.page-head p{font-size:.92rem!important}
  .calendar-sidebar{grid-template-columns:1fr!important}.calendar-main{min-height:620px!important}.fc .fc-timegrid-slot{height:3.1em!important}
  body[data-page="project"] .kanban{min-height:470px!important}.kanban-col{min-height:470px!important}
}
