/* IOOK personal control centre. Scopes itself to the dashboard view only. */
#dashboardView{min-height:calc(100vh - 80px);position:relative;isolation:isolate;color:#f1f7f2;--dash-accent:#44d29a;--dash-muted:#94a9a1}
#dashboardView .dashboardBackdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;background-color:#09100d;background-image:linear-gradient(90deg,rgba(5,10,9,.9),rgba(6,14,13,.68)),url('/dashboard/default-background');background-size:cover;background-position:center;background-repeat:no-repeat;filter:brightness(.79) blur(10px);transform:scale(1.045);transition:background-image .25s ease,filter .2s ease}
#dashboardView[data-bg=midnight] .dashboardBackdrop{background-image:radial-gradient(ellipse at 76% 16%,#24444c 0,transparent 47%),linear-gradient(160deg,#081119,#050809 76%)}
#dashboardView[data-bg=aurora] .dashboardBackdrop{background-image:radial-gradient(ellipse at 78% 5%,#134f37 0,transparent 44%),radial-gradient(ellipse at 5% 70%,#16384d 0,transparent 50%),linear-gradient(155deg,#040908,#101b19)}
#dashboardView[data-bg=blueprint] .dashboardBackdrop{background-image:linear-gradient(#0b212d88 1px,transparent 1px),linear-gradient(90deg,#0b212d88 1px,transparent 1px),linear-gradient(140deg,#070c17,#101c24);background-size:38px 38px,38px 38px,cover}
#dashboardView[data-bg=custom] .dashboardBackdrop{background-image:linear-gradient(120deg,rgba(4,10,8,.78),rgba(3,8,7,.58)),var(--dash-custom-image);filter:brightness(.78) blur(4px)}
.shell:has(#dashboardView.active){background:#07100de8;grid-template-columns:220px minmax(0,1fr)}
.shell:has(#dashboardView.active) .sidebar{z-index:4;background:linear-gradient(180deg,#091513f2,#06100ffa);border-right:1px solid #284b3b;box-shadow:9px 0 34px rgba(0,0,0,.27)}
.shell:has(#dashboardView.active) .brand span{color:#799c90}
.shell:has(#dashboardView.active) .nav{border-radius:11px;font-weight:700;font-size:12px;color:#9fb5a9;min-height:42px;transition:background .16s,border-color .16s}
.shell:has(#dashboardView.active) .nav.active{color:#effff1;background:linear-gradient(90deg,#174535ad,#0c211aac);box-shadow:inset 3px 0 #37d49a;border-color:#2c5c4e}
.shell:has(#dashboardView.active) main{position:relative;background:transparent;max-width:none;padding:0 28px 64px;min-width:0}
.shell:has(#dashboardView.active) main>.topbar{display:none}
.dashboardMain{max-width:1680px;margin:0 auto;padding:27px 0}
.dashboardHeader{position:relative;display:flex;justify-content:space-between;gap:20px;align-items:start;min-height:165px}
.dashboardEyebrow{font-size:10px;letter-spacing:.17em;color:#7fbb98;font-weight:850}
.dashboardSpark{color:#45e2a8;font-size:18px;margin-right:6px}
.dashboardHeader h2{font-size:clamp(26px,3vw,38px);font-weight:870;letter-spacing:-.045em;line-height:1.1;margin:11px 0}
.dashboardHeader p{color:#91a8a0;font-size:13px;line-height:1.6;max-width:460px;margin:0}
.dashboardActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dashboardGhostButton,.dashboardPrimaryButton{border-radius:11px;border:1px solid #305848;background:#12231ff0;color:#c9dfd4;padding:11px 14px;font-size:11px;font-weight:800;cursor:pointer}
.dashboardPrimaryButton{background:linear-gradient(100deg,#3bd79d,#3bc89c);color:#062119;border-color:#2bd498;box-shadow:0 8px 23px #19a16e1c}
.dashboardGhostButton:hover{border-color:#4f9475;background:#17352a}
.dashboardPrimaryButton:hover{filter:brightness(1.07)}
.dashboardMountain{position:absolute;top:36px;right:10%;width:33%;height:136px;pointer-events:none;opacity:.42;clip-path:polygon(0 91%,14% 72%,25% 79%,40% 47%,46% 59%,58% 24%,64% 37%,77% 7%,85% 40%,100% 69%,100% 100%,0 100%);background:linear-gradient(180deg,#2d695c,#102d29)}
.dashboardMountainGlow{position:absolute;inset:0;background:linear-gradient(130deg,transparent,#62fcbb55 68%,transparent)}
.dashboardMountain>span{position:absolute;color:#63ffc0;right:23%;top:4px}
.dashboardGrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:15px;align-items:stretch;position:relative}
.dashboardLoading{grid-column:1/-1;border:1px solid #285144;border-radius:17px;background:#0b1715dc;padding:40px;text-align:center;color:#96b7a7}
.dashboardWidget{grid-column:span 3;min-width:0;min-height:255px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #385149bd;border-radius:15px;background:linear-gradient(155deg,#15201edc,#0d1717e8);box-shadow:0 13px 34px #0006,0 1px 0 #6ba88a0e inset;backdrop-filter:blur(23px);transition:transform .16s ease,border-color .16s}
.dashboardWidget:hover{transform:translateY(-2px);border-color:#52846c}
.dashboardWidget[draggable=true]{cursor:grab}.dashboardWidget.dragging{opacity:.55;border-style:dashed}
.dashboardWidget.wide{grid-column:span 6}
.dashboardWidgetHead{display:flex;align-items:center;gap:9px;padding:18px 16px 13px}
.dashboardWidgetIcon{width:33px;height:33px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;color:#062a1b;background:linear-gradient(135deg,#63e8ae,#2ab981);box-shadow:0 0 16px #2bdc8c25;font-size:16px;font-weight:850}
.dashboardWidgetHead strong{font-size:12px;color:#eef7f1;letter-spacing:.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboardWidgetHead .dashboardWidgetControls{margin-left:auto;display:flex;gap:3px}
.dashboardWidgetControls button{border:0;background:#1f332b78;color:#7da894;border-radius:6px;padding:4px 5px;font-size:10px;line-height:1;min-width:21px}
.dashboardWidgetControls button:hover{background:#29543f;color:#e9ffee}
.dashboardWidgetContent{padding:0 16px 12px;flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}
.dashboardWidgetMetric{font-size:clamp(25px,2.5vw,37px);font-weight:850;letter-spacing:-.055em;color:#effbf3;line-height:1.1}
.dashboardWidgetSub{font-size:11px;line-height:1.6;color:#95ada0}
.dashboardWidgetFoot{margin:0 16px 15px;border:0;border-radius:10px;background:linear-gradient(100deg,#43d9a0,#35b992);color:#062117;font-size:11px;font-weight:800;min-height:36px;display:grid;place-items:center;cursor:pointer;text-decoration:none}
.dashboardWidgetFoot:hover{filter:brightness(1.08)}
.dashboardTinyLabel{font-size:9px;letter-spacing:.13em;font-weight:850;color:#84b99b;text-transform:uppercase}
.dashboardTagRow{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.dashboardTag{border:1px solid #315548;color:#aecdb9;padding:5px 7px;border-radius:99px;background:#14271d9c;font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboardList{display:grid;gap:7px;margin-top:1px}
.dashboardListLine{display:flex;align-items:baseline;gap:9px;color:#c0dccb;font-size:11px;border-bottom:1px solid #30433858;padding:5px 0}
.dashboardListLine strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboardListLine span{color:#8cab9b;flex:0 0 auto}
.dashboardProgress{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.dashboardRing{--p:0;flex:0 0 116px;width:116px;height:116px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#36d89a calc(var(--p) * 1%),#25453b 0);box-shadow:inset 0 0 0 1px #3371538a,0 0 23px #1fc78c16}
.dashboardRingInner{width:92px;height:92px;background:#101b19;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.dashboardRingInner strong{font-size:27px;letter-spacing:-.055em;line-height:1.1;color:#f6fff9}
.dashboardRingInner span{font-size:9px;color:#90a99d}
.dashboardProgressList{flex:1;display:grid;gap:6px}
.dashboardProgressList span{font-size:10px;color:#a3bcad;line-height:1.3}
.dashboardSparkline{width:100%;height:88px;display:block}
.dashboardEmpty{border:1px dashed #365544;border-radius:11px;padding:14px;color:#91a99b;font-size:11px;line-height:1.6}
.dashboardStatus{min-height:20px;color:#a2c8b3;font-size:11px;margin-top:15px}
.dashboardSettings{position:fixed;inset:0;z-index:70;display:flex;align-items:stretch;justify-content:flex-end}
.dashboardSettings[hidden]{display:none}
.dashboardSettingsScrim{position:absolute;inset:0;background:#020706b9;backdrop-filter:blur(7px)}
.dashboardSettingsDialog{position:relative;z-index:2;width:min(530px,100%);height:100%;background:linear-gradient(180deg,#0e1915,#08110f);border-left:1px solid #375648;box-shadow:-20px 0 80px #000a;display:flex;flex-direction:column;overflow:hidden}
.dashboardSettingsDialog header{padding:23px 25px 17px;display:flex;align-items:start;justify-content:space-between;border-bottom:1px solid #27483a}
.dashboardSettingsDialog h2{font-size:24px;letter-spacing:-.045em;margin:8px 0 0}
.dashboardSettingsDialog header button{border:1px solid #375648;border-radius:8px;background:#13241d;color:#c6e2d3;padding:5px 10px;font-size:23px}
.dashboardSettingsBody{padding:19px 25px;overflow:auto;flex:1}
.dashboardSettingsBody h3{font-size:14px;margin:19px 0 5px}.dashboardSettingsBody p,.dashboardSettingsBody small{color:#92aa9c;font-size:11px;line-height:1.65}
.dashboardWidgetPicker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:11px}
.dashboardWidgetPicker label,.dashboardMilestones label{display:flex;gap:9px;align-items:center;background:#12241c;border:1px solid #2c4d3b;padding:10px;border-radius:10px;font-size:11px;color:#cce7d5}
.dashboardWidgetPicker input,.dashboardMilestones input{accent-color:#45d89e;flex:0 0 auto}
.dashboardBackgroundOptions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px}
.dashboardBackgroundOptions button{padding:11px 5px;border:1px solid #365746;border-radius:9px;background:#11241b;color:#bed9c8;font-size:11px}
.dashboardBackgroundOptions button.selected{background:#1e5137;color:#eaffef;border-color:#4be4a8;box-shadow:inset 0 0 0 1px #41b48266}
.dashboardUploadLabel{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:13px 0 6px;font-size:11px;color:#e2eede}
.dashboardUploadLabel input{max-width:100%;font-size:11px;color:#93b59f}
.dashboardGoalForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dashboardGoalForm label{font-size:11px;color:#a9c3b2}
.dashboardGoalForm input,.dashboardGoalForm select{display:block;width:100%;background:#0b1a12;border:1px solid #315241;border-radius:9px;color:#e5f4ec;padding:10px;margin-top:6px;outline:none;min-width:0}
.dashboardMilestones{display:grid;gap:6px;margin:10px 0}
.dashboardSettingsDialog footer{border-top:1px solid #2b4b3b;padding:17px 25px;display:flex;justify-content:flex-end;gap:10px}
#dashboardSettingsStatus{min-height:19px;padding:0 25px;color:#d4c08b;font-size:11px;margin:0 0 10px}
@media(max-width:1420px){.dashboardWidget{grid-column:span 4}.dashboardWidget.wide{grid-column:span 6}}
@media(max-width:1120px){.dashboardWidget{grid-column:span 6}.dashboardWidget.wide{grid-column:span 12}.dashboardMountain{opacity:.2}.dashboardHeader{min-height:140px}}
@media(max-width:900px){.shell:has(#dashboardView.active){grid-template-columns:1fr}.shell:has(#dashboardView.active) main{padding:0 18px 70px}.dashboardHeader{flex-direction:column;min-height:180px;gap:14px}.dashboardActions{justify-content:flex-start}.dashboardMountain{right:0;top:6px;opacity:.16}.dashboardMain{padding-top:22px}.dashboardWidget{grid-column:span 6}.dashboardWidget.wide{grid-column:span 12}}
@media(max-width:620px){.shell:has(#dashboardView.active) main{padding:0 12px 110px}.dashboardWidget,.dashboardWidget.wide{grid-column:span 12}.dashboardGrid{gap:11px}.dashboardHeader{min-height:188px}.dashboardHeader h2{font-size:29px}.dashboardWidget{min-height:215px}.dashboardWidgetPicker{grid-template-columns:1fr}.dashboardSettingsBody{padding:16px}.dashboardSettingsDialog header,.dashboardSettingsDialog footer{padding:15px}.dashboardGoalForm{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.dashboardWidget,.dashboardBackdrop{transition:none!important}.dashboardWidget:hover{transform:none}}
