:root{--bg:#090d15;--panel:#131b28;--panel2:#1a2433;--stroke:rgba(192,221,255,.10);--stroke2:rgba(192,221,255,.19);--text:#eef4fd;--muted:#8494a8;--mint:#9af6cc;--blue:#92bcff;--violet:#c4a4ff;--orange:#ffca8e;--red:#ff8fa0;--radius:22px;--shadow:0 20px 75px rgba(0,0,0,.25);font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI',sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}input,select,textarea{accent-color:var(--mint)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--mint);outline-offset:3px}a{color:var(--mint)}svg{width:22px;height:22px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;fill:none;flex-shrink:0}svg.chart-svg{width:100%;height:auto;stroke:none;fill:initial}.app-shell{min-height:100vh;max-width:1180px;margin:auto;position:relative;isolation:isolate;padding:0 max(18px,env(safe-area-inset-left)) calc(98px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-right));overflow:hidden}.ambient{position:fixed;pointer-events:none;z-index:-1;filter:blur(70px);border-radius:50%;opacity:.33}.ambient-one{width:370px;height:370px;background:#1d635c;top:-210px;right:-120px}.ambient-two{width:250px;height:350px;background:#26386c;left:-150px;top:340px;opacity:.15}.topbar{height:90px;padding-top:calc(env(safe-area-inset-top) * .4);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:11px;background:none;border:0;padding:0;text-align:left}.brand-mark{width:39px;height:39px;background:linear-gradient(135deg,#a7ffde,#44ba9f);color:#0c1b21;border-radius:13px;display:grid;place-items:center;box-shadow:0 7px 22px #3bcf9f2c}.brand-mark svg{height:29px;width:29px;stroke-width:2.8}.brand-type{font-size:15px;letter-spacing:.18em;font-weight:800;white-space:nowrap}.brand-type b{color:var(--mint)}.header-actions{display:flex;gap:8px}.icon-button{height:42px;width:42px;border:1px solid var(--stroke);border-radius:14px;background:rgba(24,33,46,.83);display:grid;place-items:center}.icon-button svg{width:19px;height:19px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,650px);display:grid;grid-template-columns:1fr 1fr 1.1fr 1fr 1fr;align-items:center;padding:12px 12px calc(11px + env(safe-area-inset-bottom));background:rgba(14,20,30,.94);border:1px solid var(--stroke);border-bottom:0;border-radius:25px 25px 0 0;z-index:40;backdrop-filter:blur(20px);box-shadow:0 -9px 45px rgba(0,0,0,.25)}.nav-item{background:none;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#71849a;font-size:10px;font-weight:650;min-height:54px;padding:2px;transition:.2s}.nav-item svg{width:21px;height:21px}.nav-item.active{color:var(--mint)}.central-action{width:56px;height:56px;margin:-23px auto 2px;background:linear-gradient(135deg,#b0ffe4,#58d3a8);color:#071c1b;border-radius:19px;box-shadow:0 10px 30px rgba(66,224,167,.26)}.central-action svg{width:28px;height:28px;stroke-width:2.7}.section{padding-bottom:22px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:18px 0 24px}.page-head h1{font-size:clamp(30px,4vw,45px);letter-spacing:-.065em;line-height:1.08;margin:7px 0 7px;font-weight:800}.page-head p{color:var(--muted);margin:0;font-size:13px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.22em;color:var(--mint);font-weight:750}.page-head button{flex-shrink:0}.gradient-text{color:var(--mint)}.grid{display:grid;gap:14px}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:15px}.two-col{grid-template-columns:1.15fr .85fr}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.center{justify-content:center}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:12px}.mb{margin-bottom:16px}.mt{margin-top:15px}.card{background:linear-gradient(145deg,rgba(28,40,54,.95),rgba(18,27,40,.97));border:1px solid var(--stroke);border-radius:var(--radius);padding:19px;box-shadow:0 8px 24px rgba(0,0,0,.10)}.card.soft{background:rgba(20,29,41,.65)}.card.hero{background:radial-gradient(circle at 100% 0,#23544699,transparent 70%),linear-gradient(125deg,#1b3037,#141c2a);border-color:rgba(145,250,203,.2);padding:23px;overflow:hidden}.hero h2{font-size:clamp(24px,4vw,35px);letter-spacing:-.05em;line-height:1.12;margin:10px 0}.hero p{margin:0;color:#b2c9d4;font-size:13px;max-width:390px;line-height:1.55}.hero-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.metric-label{font-size:11px;color:var(--muted);font-weight:650;display:flex;align-items:center;gap:7px}.metric-label svg{width:15px;height:15px}.metric-value{font-size:clamp(22px,3vw,30px);letter-spacing:-.05em;font-weight:780;margin:13px 0 5px;font-variant-numeric:tabular-nums}.metric-foot{font-size:11px;color:var(--muted)}.metric-card{min-height:135px}.green{color:var(--mint)!important}.orange{color:var(--orange)!important}.red{color:var(--red)!important}.blue{color:var(--blue)!important}.violet{color:var(--violet)!important}.muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:30px;padding:5px 9px;font-size:10px;letter-spacing:.02em;font-weight:750;border:1px solid var(--stroke2);background:rgba(200,230,255,.06);color:#b7c6da;white-space:nowrap}.badge.mint{background:rgba(105,237,185,.09);border-color:rgba(105,237,185,.21);color:#94f3ca}.badge.warn{background:rgba(255,178,115,.1);border-color:rgba(255,178,115,.28);color:var(--orange)}.badge.danger{background:rgba(255,128,155,.11);border-color:rgba(255,128,155,.28);color:var(--red)}.badge.blue{background:rgba(121,162,255,.12);color:var(--blue)}.mini-title{margin:0;color:var(--text);font-size:16px;letter-spacing:-.025em;font-weight:750}.section-head{display:flex;justify-content:space-between;align-items:center;margin:23px 0 11px;gap:12px}.section-head .mini-title{font-size:18px}.section-head p{color:var(--muted);font-size:11px;margin:4px 0 0}.text-button{background:none;border:0;color:var(--mint);font-size:12px;font-weight:700;padding:9px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:13px;padding:11px 14px;background:linear-gradient(135deg,#afffdd,#6bdab7);color:#0c231f;font-size:12px;font-weight:790;min-height:41px;transition:.16s}.btn:hover{filter:brightness(1.06)}.btn svg{width:16px;height:16px}.btn.secondary{background:#253246;border-color:var(--stroke2);color:#dae8fa}.btn.ghost{background:rgba(171,199,231,.05);border-color:var(--stroke2);color:#c9d8e9}.btn.warn{background:rgba(255,113,143,.1);border-color:rgba(255,113,143,.19);color:#ffb1bb}.btn.small{padding:8px 11px;min-height:33px;border-radius:10px;font-size:11px}.btn.full{width:100%}.divider{height:1px;background:var(--stroke);margin:13px 0}.progress{height:7px;background:#2b3a4b;border-radius:30px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,#54cfaa,#b2ffe0);border-radius:30px;transition:width .25s}.progress.bluebar>span{background:linear-gradient(90deg,#6795f0,#b9ceff)}.progress.orangebar>span{background:linear-gradient(90deg,#ffba73,#f7dfb1)}.progress.redbar>span{background:linear-gradient(90deg,#e58095,#fdb5c7)}.info-line{display:flex;align-items:center;gap:9px;color:#a6b7c8;font-size:12px;line-height:1.5}.info-line svg{width:15px;height:15px}.simple-item{padding:12px 0;border-bottom:1px solid var(--stroke);display:flex;gap:11px;align-items:flex-start}.simple-item:last-child{border-bottom:0;padding-bottom:0}.simple-item:first-child{padding-top:0}.icon-square{flex-shrink:0;width:41px;height:41px;border-radius:13px;display:grid;place-items:center;background:rgba(146,188,255,.1);color:var(--blue)}.icon-square.mint{background:rgba(147,246,204,.1);color:var(--mint)}.icon-square.orange{background:rgba(255,199,140,.1);color:var(--orange)}.icon-square.violet{background:rgba(196,164,255,.1);color:var(--violet)}.icon-square svg{width:20px;height:20px}.item-title{font-size:13px;font-weight:700;line-height:1.35;margin:0 0 5px}.item-sub{color:var(--muted);font-size:11px;line-height:1.45;margin:0}.item-actions{display:flex;gap:7px;align-items:center}.tiny-btn{border:1px solid var(--stroke);border-radius:10px;background:#2531449c;padding:8px;color:#aebfd1;display:grid;place-items:center}.tiny-btn svg{width:16px;height:16px}.tiny-btn:hover{color:var(--mint)}.select-bar{display:flex;gap:8px;overflow-x:auto;padding:3px 1px 9px;margin-bottom:10px;scrollbar-width:none}.select-bar::-webkit-scrollbar{display:none}.chip{border:1px solid var(--stroke2);border-radius:13px;background:rgba(32,44,58,.8);color:#9caec2;padding:11px 13px;min-width:64px;flex-shrink:0;display:flex;flex-direction:column;gap:4px;align-items:center;font-weight:700;font-size:12px}.chip small{font-size:10px;font-weight:500;color:#71859c}.chip.active{border-color:rgba(153,249,205,.43);background:rgba(86,199,157,.13);color:var(--mint)}.chip.active small{color:#b0e3d0}.tabs{display:flex;gap:5px;background:#141e2c;border:1px solid var(--stroke);border-radius:16px;padding:5px;overflow-x:auto;margin-bottom:19px}.tab{flex:1;white-space:nowrap;padding:12px 14px;border-radius:12px;border:0;background:transparent;color:#8193a8;font-size:12px;font-weight:700}.tab.active{background:#2d4050;color:#ebfff7}.day-card{display:flex;gap:12px;align-items:center;border:1px solid var(--stroke);border-radius:16px;padding:13px;margin-bottom:9px;background:rgba(22,33,46,.75)}.day-card.conflict{border-color:rgba(250,172,115,.34);background:linear-gradient(95deg,rgba(111,75,49,.17),rgba(22,33,46,.75))}.time-pill{width:84px;flex-shrink:0;font-size:11px;font-weight:750;color:#a9bbcd;line-height:1.7}.time-pill b{font-size:12px;color:var(--text)}.course-stripe{width:4px;min-width:4px;align-self:stretch;border-radius:8px;background:var(--blue)}.course-stripe.violet{background:var(--violet)}.course-stripe.orange{background:var(--orange)}.course-stripe.mint{background:var(--mint)}.course-stripe.pink{background:#ffadc9}.course-stripe.blue{background:var(--blue)}.day-body{min-width:0;flex:1}.day-body .item-title{margin-bottom:4px}.day-body .item-sub{margin:0}.conflict-note{font-size:11px;color:var(--orange);margin-top:5px}.task-row{display:flex;align-items:flex-start;gap:11px;border-bottom:1px solid var(--stroke);padding:12px 0}.task-row:last-child{border-bottom:0;padding-bottom:0}.task-row:first-child{padding-top:0}.check-circle{flex-shrink:0;margin-top:1px;width:22px;height:22px;border-radius:9px;border:1.7px solid #627c8a;background:transparent;display:grid;place-items:center;color:#15261f}.check-circle.done{background:var(--mint);border-color:var(--mint)}.check-circle svg{width:14px;height:14px;stroke-width:3}.task-row.done .item-title{text-decoration:line-through;color:#788ba0}.task-meta{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:7px}.task-meta small{color:#8697aa;font-size:10px}.task-row .item-actions{margin-left:auto}.empty{padding:28px 15px;text-align:center;color:var(--muted);font-size:12px;line-height:1.7}.empty .empty-icon{width:53px;height:53px;border:1px solid var(--stroke2);border-radius:18px;display:grid;place-items:center;margin:0 auto 13px;color:var(--mint);background:rgba(102,187,170,.09)}.empty-icon svg{width:23px;height:23px}.workout-feature{position:relative;overflow:hidden;background:radial-gradient(circle at 100% -20%,#2a61606a,transparent 65%),linear-gradient(125deg,#21363d,#161f2c);border:1px solid rgba(147,246,204,.21);border-radius:24px;padding:23px;margin-bottom:15px}.workout-feature h2{font-size:29px;letter-spacing:-.055em;margin:7px 0 8px}.workout-feature p{font-size:12px;color:#b2c2d0;margin:0;line-height:1.6}.workout-feature .workout-symbol{position:absolute;right:12px;top:14px;font-size:67px;opacity:.11;font-weight:800}.exercise-card{border-radius:18px;background:rgba(24,35,49,.91);border:1px solid var(--stroke);overflow:hidden;margin-bottom:10px}.exercise-summary{border:0;background:transparent;padding:15px 14px;width:100%;text-align:left;display:flex;align-items:center;gap:12px}.exercise-number{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:12px;background:rgba(146,188,255,.10);color:var(--blue);font-size:12px;font-weight:800}.exercise-summary .item-title{font-size:13px;margin-bottom:5px}.exercise-stats{font-size:11px;color:#95aabe}.exercise-summary .chevron{color:#8398ab}.exercise-detail{padding:0 14px 15px;border-top:1px solid var(--stroke)}.exercise-detail .note{background:#213142;color:#b2c8dc;border-radius:12px;font-size:11px;line-height:1.65;padding:11px;margin:12px 0}.exercise-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.set-log{margin-top:10px;background:rgba(12,18,28,.45);padding:12px;border-radius:13px}.log-chip{font-size:11px;color:#c5d8ea;background:#2a3a4d;padding:5px 8px;border-radius:8px;display:inline-flex;margin:3px 3px 0 0;gap:5px}.log-chip button{background:none;border:0;color:#d3a3a3;padding:0 2px}.date-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#192637;padding:12px;border:1px solid var(--stroke);border-radius:15px;margin:13px 0 18px}.date-controls input{border:0;background:transparent;color:var(--text);font-weight:750;font-size:13px;color-scheme:dark;max-width:180px}.date-controls button{background:#283749;border:1px solid var(--stroke);width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.date-controls svg{width:16px;height:16px}.macro-line{margin-bottom:16px}.macro-line:last-child{margin-bottom:0}.macro-line .between{margin-bottom:8px}.macro-name{font-size:12px;color:#bfcde0;font-weight:680}.macro-nums{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.quick-foods{display:flex;gap:7px;flex-wrap:wrap}.quick-foods button{border-radius:9px;background:#27384b;border:1px solid var(--stroke2);font-size:11px;color:#bdccdf;padding:8px 10px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:14px 0;border-bottom:1px solid var(--stroke)}.setting-row:last-child{border-bottom:0}.setting-row b{font-size:13px}.setting-row p{font-size:11px;color:var(--muted);line-height:1.5;margin:5px 0 0}.chart-wrap{overflow:hidden;background:rgba(9,15,24,.65);border:1px solid var(--stroke);padding:8px;border-radius:16px;margin-top:14px}.chart-wrap svg text{fill:#91a4b9;font-size:10px}.card-list{display:grid;gap:9px}.course-card{border:1px solid var(--stroke);border-radius:16px;background:rgba(23,34,47,.84);padding:14px}.course-id{height:35px;width:35px;flex-shrink:0;display:grid;place-items:center;border-radius:11px;color:#101e28;background:var(--blue);font-size:11px;font-weight:850}.course-id.violet{background:var(--violet)}.course-id.orange{background:var(--orange)}.course-id.mint{background:var(--mint)}.course-id.pink{background:#ffadc9}.course-id.blue{background:var(--blue)}.pill-group{display:flex;flex-wrap:wrap;gap:8px}.pill{background:#1e2b3d;color:#9baec1;border:1px solid var(--stroke);border-radius:11px;padding:8px 10px;font-size:11px;font-weight:700}.pill.active{background:rgba(141,243,196,.13);color:var(--mint);border-color:#86e9c155}.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(0,4,10,.77);display:flex;align-items:flex-end;justify-content:center;padding:12px 10px calc(9px + env(safe-area-inset-bottom));backdrop-filter:blur(7px)}.modal-panel{background:linear-gradient(#1b2738,#101927);border:1px solid var(--stroke2);border-radius:26px;max-height:min(90dvh,800px);overflow:auto;overscroll-behavior:contain;width:min(100%,550px);padding:23px;box-shadow:0 35px 100px rgba(0,0,0,.6)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px}.modal-head h2{font-size:22px;letter-spacing:-.04em;margin:4px 0}.modal-head p{font-size:12px;color:var(--muted);margin:4px 0 0}.modal-close{border:1px solid var(--stroke);background:#2a3645;color:#b3c5d4;border-radius:11px;width:34px;height:34px;display:grid;place-items:center}.modal-close svg{width:18px;height:18px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.field label{color:#aebdd0;font-size:11px;font-weight:720}.field input,.field select,.field textarea{width:100%;background:#121d2b;border:1px solid #354558;border-radius:12px;padding:13px 12px;color:#f2f7ff;font-size:14px;outline:none;min-height:44px;color-scheme:dark}.field textarea{resize:vertical;min-height:80px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--mint)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field-grid>.field{min-width:0}.modal-actions{display:flex;gap:10px;margin-top:20px}.modal-actions>.btn{flex:1}.form-note{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0 2px}.quick-choice{display:flex;width:100%;align-items:center;gap:12px;text-align:left;background:#202f40;border:1px solid var(--stroke);border-radius:14px;padding:14px;margin-bottom:9px}.quick-choice svg{color:var(--mint)}.quick-choice b{font-size:13px}.quick-choice small{display:block;color:var(--muted);margin-top:4px}.toast{position:fixed;bottom:calc(103px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:200;background:#254439;border:1px solid #558f76;border-radius:14px;color:#dcfff0;padding:12px 18px;font-size:12px;font-weight:700;box-shadow:var(--shadow);max-width:calc(100vw - 30px);text-align:center;pointer-events:none}.import-input{display:none}.notice{font-size:11px;color:#ffcd9f;background:#50392640;border:1px solid #ffcb9360;border-radius:12px;padding:11px;line-height:1.6}.loading-state{min-height:65vh;display:flex;align-items:center;justify-content:center;gap:18px;flex-direction:column;color:#aabdd1}.loader{height:40px;width:40px;border:3px solid #2f4b4e;border-top-color:var(--mint);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hidden{display:none!important}@media(max-width:700px){.app-shell{padding-left:16px;padding-right:16px}.topbar{height:76px}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.two-col{grid-template-columns:1fr}.card{padding:16px}.metric-card{min-height:121px}.page-head{margin-top:14px}.page-head h1{font-size:33px}.nav-item{font-size:10px}.field-grid{gap:9px}}@media(max-width:390px){.brand-type{font-size:13px}.brand-mark{width:35px;height:35px}.page-head h1{font-size:30px}.metric-value{font-size:24px}.card{padding:14px}.bottom-nav{padding-left:4px;padding-right:4px}.btn{font-size:11px}.day-card{padding:11px;gap:8px}.time-pill{width:72px;font-size:10px}}@media(min-width:850px){.bottom-nav{bottom:20px;border:1px solid var(--stroke);border-radius:25px;padding:9px 12px}.app-shell{padding-bottom:135px}.topbar{height:92px}.section{max-width:1120px;margin:auto}}
