/* Levidag 2.0: endast gränssnitt – kryptering och användardata påverkas inte. */
:root{--lv-side:#e8f4fa;--lv-selected:#cce7f0;--lv-panel:#fff;--lv-shell:#f5f8fb;--lv-hairline:#d9e5ed;--lv-accent:#087f8c;--lv-text:#153049;--lv-subtle:#5a7080;--lv-chip:#eff8fa;--lv-glow:0 6px 20px rgba(30,70,96,.045)}
html[data-theme="dark"]{--lv-side:#091f30;--lv-selected:#0b555e;--lv-panel:#102c3d;--lv-shell:#071b2c;--lv-hairline:#274858;--lv-accent:#16c4cb;--lv-text:#edf8ff;--lv-subtle:#b2cbd8;--lv-chip:#123849;--lv-glow:0 7px 26px rgba(0,0,0,.16);--bg:#071b2c;--surface:#102c3d;--ink:#edf8ff;--line:#274858;--muted:#bed0db;--teal:#42c6d1;--deep:#0c8993}
body,.shell{background:var(--lv-shell);color:var(--lv-text)}
.shell{grid-template-columns:245px minmax(0,1fr)}
.sidebar{background:var(--lv-side);border-right:1px solid var(--lv-hairline);z-index:4}
.sidebar .brand{border-bottom:1px solid var(--lv-hairline);margin-bottom:12px;padding:18px 18px 15px}
.sidebar .brand strong{font-size:1.42rem;color:var(--lv-text)}
.sidebar .brand small{color:var(--lv-subtle)}
.side-nav{display:block;padding:0 10px 18px;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--lv-hairline) transparent}
.lv-nav-group{padding:6px 0 11px;border-bottom:1px solid var(--lv-hairline);margin:0 0 8px}
.lv-nav-heading{font-size:.67rem;text-transform:uppercase;letter-spacing:.11em;color:var(--lv-subtle);font-weight:800;margin:9px 12px 7px}
.nav-link{width:100%;min-height:37px;padding:8px 12px;border-radius:9px;color:var(--lv-text);gap:10px;font-size:.88rem;font-weight:600;line-height:1.2}
.nav-link .icon{height:18px;width:18px;flex:0 0 18px}
.nav-link.active,.nav-link:hover{background:var(--lv-selected);color:var(--lv-text);box-shadow:none}
.nav-link.active{border-left:3px solid var(--lv-accent);padding-left:9px}
.side-footer{background:var(--lv-side);padding:10px 12px;gap:8px;border-color:var(--lv-hairline)}
.side-footer .ghost{margin-left:auto}
.workspace{max-width:none}
.topbar{min-height:71px;background:var(--lv-panel);border-bottom:1px solid var(--lv-hairline);padding:10px clamp(18px,3vw,40px)}
.top-date{font-weight:650;text-transform:capitalize;color:var(--lv-subtle)}
.top-actions .icon-btn{border-radius:10px}
main{width:100%;max-width:1470px;padding:27px clamp(16px,2.8vw,40px) 86px}
.lv-overline{font-size:.77rem;text-transform:uppercase;letter-spacing:.11em;color:var(--lv-subtle);font-weight:750;margin:0 0 6px}
.lv-today-intro{min-height:120px;border:1px solid var(--lv-hairline);background:linear-gradient(105deg,rgba(53,165,188,.11),rgba(92,170,182,.04));padding:19px 25px;margin-bottom:17px;border-radius:17px;display:flex;align-items:center;justify-content:space-between;overflow:hidden}
.lv-today-intro h1{font-size:clamp(1.5rem,2.6vw,2.2rem);letter-spacing:-.035em;line-height:1.12;color:var(--lv-text);margin:0 0 7px}
.lv-today-intro p:not(.lv-overline){color:var(--lv-subtle);font-size:.94rem;margin:0}
.lv-intro-decoration{font-size:3.6rem;line-height:1;color:#ffc45c;opacity:.82;margin-right:16px;text-shadow:0 5px 17px #f1d6a777}
.lv-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.lv-stat{background:var(--lv-panel);border:1px solid var(--lv-hairline);border-radius:14px;color:var(--lv-text);text-align:left;min-height:83px;padding:14px;display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto;gap:0 10px;box-shadow:var(--lv-glow)}
.lv-stat:hover,.lv-module-tile:hover,.lv-quick-btn:hover,.lv-timeline-row:hover{border-color:var(--lv-accent);background:var(--lv-chip)}
.lv-stat-icon{display:grid;place-items:center;grid-row:span 2;width:40px;height:40px;border-radius:11px;background:var(--lv-chip);color:var(--lv-accent)}
.lv-stat-icon .icon{height:23px;width:23px}
.lv-stat strong{font-size:1.5rem;line-height:1.15;font-weight:850}
.lv-stat small{font-size:.8rem;color:var(--lv-subtle)}
.lv-daily-grid{display:grid;grid-template-columns:minmax(0,1.68fr) minmax(285px,.87fr);align-items:start;gap:16px}
.lv-daily-main,.lv-daily-rail{display:grid;gap:16px;min-width:0}
.lv-panel{border:1px solid var(--lv-hairline);border-radius:16px;background:var(--lv-panel);padding:17px 19px;box-shadow:var(--lv-glow);min-width:0}
.lv-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.lv-panel-heading h2{display:flex;align-items:center;gap:9px;margin:0;font-size:1.02rem;color:var(--lv-text);line-height:1.25}
.lv-panel-heading h2 .icon{width:21px;height:21px;color:var(--lv-accent)}
.lv-text-link{color:var(--lv-accent);padding:4px 0;border:0;background:transparent;font-size:.82rem;font-weight:760;text-decoration:none;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.lv-text-link:hover{text-decoration:underline}
.lv-text-link .icon{height:14px;width:14px}
.lv-panel .item{padding:10px 1px;border-color:var(--lv-hairline)}
.lv-tasks-list{min-height:105px}
.lv-panel-foot{border-top:1px solid var(--lv-hairline);padding-top:13px;margin-top:8px;display:flex;align-items:center;gap:12px;justify-content:space-between;color:var(--lv-subtle);font-size:.82rem}
.lv-timeline{display:grid}
.lv-timeline-row{width:100%;display:grid;grid-template-columns:53px 10px minmax(0,1fr) 16px;align-items:center;text-align:left;gap:11px;min-height:64px;padding:8px 2px;border:0;border-bottom:1px solid var(--lv-hairline);background:none;color:var(--lv-text)}
.lv-timeline-row:last-child{border-bottom:0}
.lv-timeline-time{font-size:.8rem;font-weight:750;font-variant-numeric:tabular-nums;color:var(--lv-subtle)}
.lv-timeline-dot{width:9px;height:9px;border-radius:50%;background:var(--lv-accent);box-shadow:0 0 0 4px var(--lv-chip)}
.lv-timeline-desc{display:flex;flex-direction:column;gap:2px;min-width:0}
.lv-timeline-desc strong{font-size:.91rem;overflow-wrap:anywhere}
.lv-timeline-desc small{font-size:.75rem;color:var(--lv-subtle)}
.lv-timeline-row>.icon{width:16px;height:16px;color:var(--lv-subtle)}
.lv-reminder>strong{display:block;font-size:.93rem;margin:0 0 3px;color:var(--lv-text)}
.lv-reminder>p{font-size:.84rem;color:var(--lv-subtle);margin:0 0 10px}
.lv-daily-rail>.mood-panel{margin:0;background:var(--lv-panel);color:var(--lv-text);border:1px solid var(--lv-hairline);border-radius:16px;box-shadow:var(--lv-glow);padding:17px 16px}
.lv-daily-rail .mood-panel-top p,.lv-daily-rail .mood-kicker{color:var(--lv-subtle)}
.lv-daily-rail .mood-btn{min-width:0}
.lv-daily-rail .mood-btn-label{font-size:.65rem}
.lv-rail-training{padding:0}
.lv-rail-training>.training-home{border:0;box-shadow:none;border-radius:16px;background:transparent;margin:0}
.lv-rail-training .training-home-content p{margin-top:5px}
.lv-quick-panel{margin:16px 0 0;background:var(--lv-panel);padding:15px 18px 18px;border:1px solid var(--lv-hairline);border-radius:16px}
.lv-quick-panel h2{font-size:1rem;margin:0 0 11px}
.lv-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.lv-quick-btn{display:flex;align-items:center;gap:8px;justify-content:center;text-align:center;background:var(--lv-chip);color:var(--lv-text);border:1px solid var(--lv-hairline);border-radius:11px;padding:13px 8px;font-size:.86rem;font-weight:750;min-height:52px}
.lv-quick-btn .icon{width:20px;height:20px;color:var(--lv-accent)}
.lv-extras{margin-top:15px;border-radius:13px;border:1px solid var(--lv-hairline);background:var(--lv-panel);padding:11px 17px}
.lv-extras summary{cursor:pointer;font-size:.85rem;color:var(--lv-subtle);font-weight:700}
.lv-extra-grid{display:grid;gap:12px;margin-top:14px}
.lv-extra-grid .card{margin:0}
.lv-functions-page .page-heading{margin-bottom:14px}
.lv-search-wrap{display:flex;align-items:center;gap:9px;max-width:630px;border:1px solid var(--lv-hairline);background:var(--lv-panel);border-radius:13px;padding:1px 15px;margin-bottom:26px}
.lv-search-wrap svg{color:var(--lv-subtle);width:20px;height:20px}
.lv-search-wrap input{padding:12px 0;background:transparent;color:var(--lv-text);border:0;min-height:45px;flex:1;min-width:0;outline:0;width:100%}
.lv-search-wrap:focus-within{outline:2px solid var(--lv-accent)}
.lv-module-group{margin:0 0 26px}
.lv-module-group h2{font-size:1rem;color:var(--lv-text);margin:0 0 11px}
.lv-modules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.lv-module-tile{color:var(--lv-text);display:flex;align-items:center;text-align:left;gap:12px;min-height:68px;border-radius:13px;background:var(--lv-panel);border:1px solid var(--lv-hairline);padding:12px}
.lv-module-tile strong{flex:1;overflow-wrap:anywhere;font-size:.88rem}
.lv-tile-icon{color:var(--lv-accent);display:grid;place-items:center;width:38px;height:38px;background:var(--lv-chip);border-radius:11px;flex-shrink:0}
.lv-module-tile>.icon{width:17px;height:17px;color:var(--lv-subtle)}
.lv-search-empty{color:var(--lv-subtle)}
.lv-mood-page{max-width:920px}
.lv-mood-page .mood-panel{background:var(--lv-panel);border:1px solid var(--lv-hairline);padding:25px}
.lv-mood-page .mood-panel-top p{color:var(--lv-subtle)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .sidebar,html[data-theme="dark"] .bottom-nav{background:var(--lv-side);border-color:var(--lv-hairline)}
html[data-theme="dark"] .sidebar .brand,html[data-theme="dark"] .side-footer{border-color:var(--lv-hairline)}
html[data-theme="dark"] .lv-panel,html[data-theme="dark"] .lv-stat,html[data-theme="dark"] .lv-quick-panel,html[data-theme="dark"] .lv-module-tile,html[data-theme="dark"] .lv-extras{background:var(--lv-panel);border-color:var(--lv-hairline);color:var(--lv-text)}
html[data-theme="dark"] .lv-intro-decoration{text-shadow:none}
html[data-theme="dark"] .lv-daily-rail>.mood-panel{background:var(--lv-panel);border-color:var(--lv-hairline);color:var(--lv-text)}
html[data-theme="dark"] .lv-daily-rail .mood-panel p,html[data-theme="dark"] .mood-panel .mood-compact-footer{color:var(--lv-subtle)}
html[data-theme="dark"] .lv-search-wrap{background:var(--lv-panel);border-color:var(--lv-hairline)}
html[data-theme="dark"] .lv-search-wrap input{background:transparent!important;border:0!important;color:var(--lv-text)!important}
html[data-theme="dark"] .lv-stat:hover,html[data-theme="dark"] .lv-module-tile:hover,html[data-theme="dark"] .lv-quick-btn:hover{background:var(--lv-chip)}
html[data-theme="dark"] .nav-link{color:var(--lv-text)}
html[data-theme="dark"] .nav-link.active,html[data-theme="dark"] .nav-link:hover{background:var(--lv-selected);color:#f3fdff}
html[data-theme="dark"] .lv-tasks-list .item{background:transparent;border-color:var(--lv-hairline)}
html[data-theme="dark"] .lv-quick-btn{background:var(--lv-chip);border-color:var(--lv-hairline);color:var(--lv-text)}
@media(max-width:1150px){.shell{grid-template-columns:213px minmax(0,1fr)}.lv-daily-grid{grid-template-columns:minmax(0,1.35fr) minmax(250px,.95fr)}.lv-panel{padding:15px}.lv-modules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.lv-daily-grid{grid-template-columns:1fr}.lv-daily-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.lv-daily-rail>.mood-panel{grid-column:1/-1}.lv-metrics{gap:9px}}
@media(max-width:820px){.shell{display:block}.sidebar{display:none}.topbar{background:var(--lv-panel);min-height:64px}.topbar .mini-brand{display:flex;color:var(--lv-text)}.bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--lv-panel);box-shadow:0 -4px 16px rgba(18,50,70,.06);border-color:var(--lv-hairline)}.bottom-link{font-size:.68rem;color:var(--lv-subtle)}.bottom-link.active{color:var(--lv-accent)}main{padding:16px 15px calc(105px + var(--safe))}.lv-today-intro{padding:19px;border-radius:14px}.lv-daily-rail{display:grid;grid-template-columns:1fr}.lv-daily-rail>.mood-panel{grid-column:auto}}
@media(max-width:550px){.lv-today-intro{min-height:98px}.lv-today-intro h1{font-size:1.57rem}.lv-intro-decoration{font-size:2.5rem;margin-right:0}.lv-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.lv-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px 3px;min-height:99px;gap:3px}.lv-stat-icon{width:31px;height:31px}.lv-stat-icon .icon{width:17px;height:17px}.lv-stat strong{font-size:1.3rem}.lv-stat small{font-size:.66rem;line-height:1.2}.lv-panel{padding:14px;border-radius:13px}.lv-panel-heading h2{font-size:.96rem}.lv-text-link{font-size:.74rem}.lv-timeline-row{min-height:57px}.lv-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lv-modules-grid{grid-template-columns:1fr}.lv-quick-btn{font-size:.8rem}.lv-mood-page .mood-panel{padding:14px}}
@media(prefers-reduced-motion:reduce){.lv-module-tile,.lv-stat,.lv-quick-btn{transition:none!important}}
/* En tom toast ska aldrig synas som ett litet mörkt streck. */
#status-toast:empty{display:none!important}

/* Levidag 2.1: keep the 1.19 sleep module and styles on the new dashboard. */
.lv-daily-rail .sleep-home{margin:0;background:var(--lv-panel);border-color:var(--lv-hairline);box-shadow:var(--lv-glow);border-radius:16px;padding:16px}
.lv-daily-rail .sleep-home p{color:var(--lv-subtle)}
.lv-daily-rail .sleep-home h2{color:var(--lv-text)}
.lv-functions-page [hidden], .lv-module-tile[hidden], .lv-module-group[hidden] {display:none!important}
@media(max-width:800px){.lv-daily-rail .sleep-home{padding:14px}}
