:root{--bg:#0f172a;--card:#0b1224;--card-muted:#121a32;--accent:#6c9cfd;--muted:#9fb3d1;--muted-strong:#cbd5e1;--border:hsla(0,0%,100%,.08);--success:#22c55e;--warn:#f97316;--danger:#f43f5e;--text:#f8fafc;--gradient:radial-gradient(circle at 10% 20%,rgba(108,156,253,.25) 0,rgba(108,156,253,0) 35%),radial-gradient(circle at 80% 0%,rgba(255,189,89,.35) 0,rgba(255,189,89,0) 40%),radial-gradient(circle at 20% 80%,rgba(34,197,94,.25) 0,rgba(34,197,94,0) 35%),linear-gradient(145deg,#0f172a,#0a0f1d 60%,#0f172a);color-scheme:dark;--tg-theme-bg-color:var(--bg);--tg-theme-text-color:var(--text);--tg-theme-hint-color:var(--muted);--tg-theme-link-color:var(--accent);--tg-theme-button-color:var(--accent);--tg-theme-button-text-color:#0b1022;--tg-theme-secondary-bg-color:var(--card)}*{box-sizing:border-box}html{overscroll-behavior-y:none;overscroll-behavior-x:none;height:100%;overflow:hidden;--safe-area-inset-top:env(safe-area-inset-top,0px);--safe-area-inset-bottom:env(safe-area-inset-bottom,0px);--safe-area-inset-left:env(safe-area-inset-left,0px);--safe-area-inset-right:env(safe-area-inset-right,0px)}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);overscroll-behavior-y:none;overscroll-behavior-x:none;-webkit-overflow-scrolling:touch;position:fixed;touch-action:pan-y}.app-shell,body{width:100%;height:100vh;height:100dvh;overflow:hidden}.app-shell{display:flex;flex-direction:column}.page-container{flex:1 1;overflow:hidden;position:relative;display:flex;flex-direction:column}.page-container[data-scrollable=true]{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.bottom-tab-bar,.top-bar{flex-shrink:0}.bottom-tab-item{transition:all .2s ease}.bottom-tab-item:active{transform:scale(.95);opacity:.8}.telegram-miniapp{min-height:100vh;background:var(--bg);color:var(--text);overscroll-behavior-y:none;overscroll-behavior-x:none;overflow-y:auto;overflow-x:hidden;height:100vh;height:100dvh;width:100%;position:relative}.btn,button{cursor:pointer;border:none;border-radius:12px;padding:12px 16px;font-weight:600;background:linear-gradient(120deg,#6c9cfd,#5d7dff);color:#0b1022;transition:all .2s ease;box-shadow:0 10px 30px rgba(92,136,255,.25)}.btn:hover:not(:disabled),button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 40px rgba(92,136,255,.35),0 0 20px rgba(108,156,253,.4);background:linear-gradient(120deg,#7ba8fe,#6d8eff)}button:disabled{opacity:.7;cursor:not-allowed;transform:none}.input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid hsla(0,0%,100%,.15);background:hsla(0,0%,100%,.08);color:#fff;outline:none;transition:all .2s ease;font-weight:500}.input:focus{border-color:rgba(108,156,253,.8);background-color:hsla(0,0%,100%,.12);box-shadow:0 0 0 3px rgba(108,156,253,.25)}.muted{color:var(--muted);margin:0}.dashboard{display:flex;flex-direction:column;gap:18px;position:relative;min-height:100vh}.dashboard-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.period-card{position:-webkit-sticky;position:sticky;top:20px;z-index:100;min-width:260px;background:linear-gradient(145deg,hsla(0,0%,100%,.06),hsla(0,0%,100%,.02));border:1px solid hsla(0,0%,100%,.12);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 20px rgba(0,0,0,.3)}.widgets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:14px;gap:14px}.widget{border:1px solid var(--border);border-radius:16px;background:rgba(11,18,36,.85);box-shadow:0 16px 40px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:12px;padding:16px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.widget-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.widget-body{background:hsla(0,0%,100%,.02);border:1px solid var(--border);border-radius:14px;padding:14px}.reminder-card,.reminder-list{display:flex;flex-direction:column;gap:10px}.reminder-card{border:1px solid var(--border);border-radius:12px;padding:12px;background:hsla(0,0%,100%,.03)}.reminder-title{font-weight:700}.reminder-date{color:var(--muted);font-size:14px}.pill{border-radius:999px;border:1px solid var(--border)}.pill,.status{padding:6px 10px;font-weight:700;font-size:13px}.status{border-radius:10px;background:hsla(0,0%,100%,.05);border:1px solid var(--border)}.status.done{color:#22c55e;border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.12)}.status.pending{color:#fbbf24;border-color:rgba(251,191,36,.35);background:rgba(251,191,36,.12)}.switch{position:relative;display:inline-block;width:48px;height:26px}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:hsla(0,0%,100%,.15);border-radius:999px}.slider,.slider:before{position:absolute;transition:.2s}.slider:before{content:"";height:18px;width:18px;left:4px;bottom:4px;background-color:#fff;border-radius:50%}.switch input:checked+.slider{background-color:rgba(34,197,94,.45)}.switch input:checked+.slider:before{transform:translateX(20px)}.empty{padding:12px;border-radius:12px;background:hsla(0,0%,100%,.04);border:1px dashed var(--border);color:var(--muted);text-align:center}.field-label{display:flex;flex-direction:column;gap:6px;font-weight:600;margin-bottom:8px}.ghost-button{background:hsla(0,0%,100%,.06);border:1px solid var(--border);color:#fff;box-shadow:none;transition:all .2s ease;cursor:pointer;border-radius:12px;padding:8px 12px;font-weight:500}.ghost-button:hover:not(:disabled){background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.2);transform:translateY(-1px)}.ghost-button:disabled{opacity:.5;cursor:not-allowed}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOut{0%{transform:translateX(0);opacity:1}to{transform:translateX(-20%);opacity:0}}.page-container>div{animation:fadeIn .3s ease}.card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}@media (max-width:767px){.dashboard{gap:16px}.widget,.widget-body{padding:16px}.dashboard-header{flex-direction:column;gap:16px}.period-card{width:100%;min-width:100%!important;position:-webkit-sticky;position:sticky;top:12px;padding:12px 14px!important}.widgets-grid{grid-template-columns:1fr;gap:16px}}.bottom-nav{position:fixed;left:0;right:0;bottom:0;padding:12px 12px calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:row;gap:8px;background:rgba(8,12,26,.92);border-top:1px solid hsla(0,0%,100%,.08);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:999;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:smooth;touch-action:pan-x}.bottom-nav::-webkit-scrollbar{display:none}.bottom-nav-item{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);color:var(--muted);box-shadow:none;padding:14px 16px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:72px;min-width:80px;flex-shrink:0;transition:all .2s ease;cursor:pointer;touch-action:pan-y}.bottom-nav-item:active{transform:scale(.95);opacity:.8}.bottom-nav-item.active{background:rgba(108,156,253,.16);border-color:rgba(108,156,253,.35);color:var(--text)}.bottom-nav-icon{font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center}.bottom-nav-label{font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}