:root{--primary:#2ecc71;--primary-hover:#27ae60;--accent:#a3e4d7;--background:#0f1115;--text:#e4e6eb;--red:#dc3545;--red-hover:#c82333;--font-sans:"Inter","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--panel-bg-start:#1a1d23;--panel-bg-end:#0f1115;--panel-surface:#ffffff0f;--panel-surface-strong:#ffffff1a;--panel-border:#fff3;--panel-border-soft:#ffffff1f;--panel-input-bg:#ffffff0f;--form-bg:#ffffff0f;--form-text:#fff;--form-placeholder:#ffffff73;--form-border:#fff3;--form-border-focus:#2ecc71b3;--form-focus-ring:0 0 0 3px #2ecc7133;--form-disabled-bg:#ffffff08;--form-disabled-text:#ffffff80;--radius-sm:10px;--radius-md:12px;--radius-lg:16px;--shadow-soft:0 12px 32px #00000059;--on-primary:#0f1115;--switch-surface:#fff;--panel-page-text:#e4e6eb;--panel-page-heading:#fff;--panel-subtitle:#ffffffc7;--panel-muted-blue:#a8b5c8;--panel-fg-92:#ffffffeb;--panel-fg-90:#ffffffe6;--panel-fg-88:#ffffffe0;--panel-fg-85:#ffffffd9;--panel-fg-84:#ffffffd6;--panel-fg-82:#ffffffd1;--panel-fg-80:#fffc;--panel-fg-75:#ffffffbf;--panel-fg-72:#ffffffb8;--panel-fg-70:#ffffffb3;--panel-fg-65:#ffffffa6;--panel-fg-64:#ffffffa3;--panel-fg-62:#ffffff9e;--panel-fg-60:#fff9;--panel-fg-55:#ffffff8c;--panel-fg-50:#ffffff80;--panel-fg-45:#ffffff73;--panel-fg-40:#fff6;--panel-border-30:#ffffff4d;--panel-border-28:#ffffff47;--panel-border-25:#ffffff40;--panel-border-20:#fff3;--panel-border-18:#ffffff2e;--panel-border-16:#ffffff29;--panel-fill-15:#ffffff26;--panel-border-14:#ffffff24;--panel-border-12:#ffffff1f;--panel-border-10:#ffffff1a;--panel-fill-08:#ffffff14;--panel-border-08:#ffffff14;--panel-border-06:#ffffff0f;--panel-fill-05:#ffffff0d;--panel-fill-04:#ffffff0a;--panel-fill-03:#ffffff08;--panel-fill-02:#ffffff05;--panel-scrim-70:#000000b3;--panel-scrim-60:#0009;--panel-scrim-55:#0000008c;--panel-scrim-50:#00000080;--panel-scrim-30:#0000004d;--panel-scrim-90:#000000e6;--elevated-start:#171c25;--elevated-mid:#10131a;--elevated-end:#0b0d12;--modal-popover-bg:#0f1115f5;--widget-slot-deep:#0f1115fa;--widget-onboarding-1:#20252f;--widget-onboarding-2:#141821;--widget-onboarding-3:#0d1017;--widget-modal-soft:#20252f;--widget-modal-mid:#141821;--widget-modal-end:#0d1017;--login-radial-top:#252a33;--login-radial-bottom:#050609;--settings-outline-text:#d6ffe7;--logout-hover-bg:#dc354533;--logout-hover-text:#ffd2d7;--shadow-elevated:0 18px 50px #0009;--shadow-elevated-lg:0 22px 56px #000000a3;--shadow-widget:0 18px 45px #000000b3;--shadow-modal:0 24px 60px #000000b3;--chart-tooltip-shadow:0 18px 50px #0009;--analytics-range-bg:#ffffff0a;--analytics-range-border:#ffffff0f;--analytics-tooltip-caret:#00000029;--settings-card-bg:#ffffff0a;--calendar-row-bg:#ffffff08;--calendar-modal-inner:#0c0f16d9;--widget-card-selected-end:#0d1017f2;--calendar-pill-warn-bg:#ffc10717;--calendar-pill-warn-text:#ffe8b0;--calendar-pill-warn-border:#ffc10773;--calendar-pill-info-bg:#4682dc33;--calendar-pill-info-text:#eef6ff;--calendar-pill-info-border:#6eaafff2;--calendar-bar-bg:#1e2128;--login-backend-bg:#0000004d;--login-photo-border:#fff3;--recharts-tooltip-label:#ffffffa3;--chart-grid-stroke:#ffffff38;--profile-menu-bg:linear-gradient(180deg,#2a3038,#1e2228);--profile-input-bg:#00000040;--profile-color-ring:var(--panel-page-heading)}[data-theme=light]{--background:#e8ecf4;--text:#0f1419;--panel-bg-start:#f4f6fb;--panel-bg-end:#e8ecf4;--panel-surface:#0000000a;--panel-surface-strong:#00000012;--panel-border:#00000024;--panel-border-soft:#0000001a;--panel-input-bg:#0000000a;--form-bg:#fff;--form-text:#0f1419;--form-placeholder:#0f141973;--form-border:#00000029;--form-border-focus:#27ae608c;--form-focus-ring:0 0 0 3px #27ae602e;--form-disabled-bg:#0000000a;--form-disabled-text:#0f141973;--shadow-soft:0 12px 36px #0f1e3c1f;--switch-surface:#fff;--panel-page-text:#1a2332;--panel-page-heading:#0c1018;--panel-subtitle:#1a2332c7;--panel-muted-blue:#5a6a7d;--panel-fg-92:#0f1620eb;--panel-fg-90:#0f1620e6;--panel-fg-88:#0f1620e0;--panel-fg-85:#0f1620d9;--panel-fg-84:#0f1620d6;--panel-fg-82:#0f1620d1;--panel-fg-80:#0f1620cc;--panel-fg-75:#0f1620bf;--panel-fg-72:#0f1620b8;--panel-fg-70:#0f1620b3;--panel-fg-65:#0f1620a6;--panel-fg-64:#0f1620a3;--panel-fg-62:#0f16209e;--panel-fg-60:#0f162099;--panel-fg-55:#0f16208c;--panel-fg-50:#0f162080;--panel-fg-45:#0f162073;--panel-fg-40:#0f162066;--panel-border-30:#0000002e;--panel-border-28:#00000029;--panel-border-25:#00000024;--panel-border-20:#0000001f;--panel-border-18:#0000001f;--panel-border-16:#0000001f;--panel-fill-15:#00000014;--panel-border-14:#0000001a;--panel-border-12:#0000001a;--panel-border-10:#00000014;--panel-fill-08:#0000000f;--panel-border-08:#00000014;--panel-border-06:#00000014;--panel-fill-05:#0000000d;--panel-fill-04:#0000000a;--panel-fill-03:#00000008;--panel-fill-02:#00000005;--panel-scrim-70:#0f162073;--panel-scrim-60:#0f162059;--panel-scrim-55:#0f16204d;--panel-scrim-50:#0f162040;--panel-scrim-30:#0f16201f;--panel-scrim-90:#0f1620a6;--elevated-start:#fff;--elevated-mid:#f4f6fa;--elevated-end:#e8ecf4;--modal-popover-bg:#fffffffa;--widget-slot-deep:#f8fafcfa;--widget-onboarding-1:#f8fafc;--widget-onboarding-2:#eef2f7;--widget-onboarding-3:#e4eaf2;--widget-modal-soft:#f6f8fc;--widget-modal-mid:#eef2f8;--widget-modal-end:#e4eaf2;--login-radial-top:#dfe6f2;--login-radial-bottom:#c8d4e6;--settings-outline-text:#0d5c2e;--logout-hover-bg:#dc35451f;--logout-hover-text:#b02a37;--shadow-elevated:0 18px 50px #0f1e3c24;--shadow-elevated-lg:0 22px 56px #0f1e3c29;--shadow-widget:0 18px 45px #0f1e3c1f;--shadow-modal:0 24px 60px #0f1e3c2e;--chart-tooltip-shadow:0 18px 50px #0f1e3c29;--analytics-range-bg:#0000000a;--analytics-range-border:#00000014;--analytics-tooltip-caret:#00000014;--settings-card-bg:#00000008;--calendar-row-bg:#00000008;--calendar-modal-inner:#fffffff2;--widget-card-selected-end:#e6ebf5f2;--calendar-pill-warn-bg:#ffc1071f;--calendar-pill-warn-text:#8a6d1b;--calendar-pill-warn-border:#c8960073;--calendar-pill-info-bg:#4682dc1f;--calendar-pill-info-text:#1a4a8c;--calendar-pill-info-border:#4682dc73;--calendar-bar-bg:#e4eaf2;--login-backend-bg:#0000000f;--login-photo-border:#0000001f;--recharts-tooltip-label:#0f16208c;--chart-grid-stroke:#0f16201f;--profile-menu-bg:linear-gradient(180deg,#fff,#eef1f7);--profile-input-bg:#0000000a;--profile-color-ring:var(--panel-page-heading)}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}:focus-visible{outline:2px solid #2ecc71b3;outline:2px solid var(--form-border-focus,#2ecc71b3);outline-offset:2px}:focus:not(:focus-visible){outline:none}[role=button],button,input,select,textarea{touch-action:manipulation}article,aside,div,footer,h1,h2,h3,h4,h5,h6,header,label,li,main,p,section,span{cursor:default}[contenteditable=true],input:not([type]),input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],textarea{cursor:text}.ui-element{user-select:none;-webkit-user-select:none}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}body{background-color:var(--background);color:var(--text);font-family:var(--font-sans);margin:0}.app-loading{align-items:center;color:var(--text);display:flex;font-size:18px;justify-content:center;min-height:100vh}.page{margin:0 auto;max-width:960px}.page h1{font-size:28px;margin-bottom:12px;margin-top:0}.page p{color:var(--text);margin:0 0 12px}.sidebar-layout__content :where(input,select,textarea){background:var(--form-bg);border:1px solid var(--form-border);color:var(--form-text)}.sidebar-layout__content :where(input,select,textarea)::placeholder{color:var(--form-placeholder)}.sidebar-layout__content :where(input,select,textarea):focus-visible{border-color:var(--form-border-focus);box-shadow:var(--form-focus-ring);outline:none}.sidebar-layout__content :where(input,select,textarea):disabled{background:var(--form-disabled-bg);color:var(--form-disabled-text);cursor:not-allowed}.profile-switcher{max-width:100%;position:relative;width:100%}.profile-switcher--header{max-width:260px}.profile-switcher__trigger{align-items:center;background:var(--panel-input-bg);border:1px solid var(--panel-border-soft);border-radius:10px;color:var(--panel-page-heading);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 10px;text-align:left;transition:border-color .15s,background .15s;width:100%}.profile-switcher__trigger:hover{border-color:#2ecc7173}.profile-switcher__trigger-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.profile-switcher__trigger-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-switcher__chevron{flex-shrink:0;opacity:.75}.profile-switcher__menu{background:var(--profile-menu-bg);border:1px solid var(--panel-border-soft);border-radius:10px;box-shadow:var(--shadow-soft);left:0;max-height:min(280px,50vh);overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 4px);z-index:2000}.profile-switcher__item{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--panel-fg-92);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 10px;text-align:left;width:100%}.profile-switcher__item:hover{background:var(--panel-fill-08)}.profile-switcher__item--active{background:#2ecc711f}.profile-switcher__item-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.profile-switcher__item-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-switcher__item--create{border-top:1px solid var(--panel-border-10);color:#2ecc71;color:var(--primary,#2ecc71);font-weight:600;margin-top:4px;padding-top:10px}.profile-switcher__create-only{background:#2ecc7114;border:1px dashed #2ecc7180;border-radius:10px;color:#2ecc71;color:var(--primary,#2ecc71);cursor:pointer;font-size:13px;font-weight:600;padding:8px 10px;width:100%}.profile-switcher__create-only:hover{background:#2ecc7124}.profile-switcher__modal-overlay{align-items:center;background:var(--panel-scrim-55);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10000}.profile-switcher__modal{background:var(--profile-menu-bg);border:1px solid var(--panel-border-12);border-radius:12px;box-shadow:var(--shadow-modal);padding:20px 22px;width:min(360px,100%)}.profile-switcher__modal-title{color:var(--panel-page-heading);font-size:17px;font-weight:600;margin:0 0 16px}.profile-switcher__form{display:flex;flex-direction:column;gap:14px}.profile-switcher__field{color:var(--panel-fg-75);display:flex;flex-direction:column;font-size:13px;gap:6px}.profile-switcher__input{background:var(--profile-input-bg);border:1px solid var(--panel-border-20);border-radius:8px;color:var(--panel-page-heading);font-size:14px;padding:10px 12px}.profile-switcher__colors{display:flex;flex-wrap:wrap;gap:8px}.profile-switcher__color-dot{border:2px solid #0000;border-radius:50%;cursor:pointer;height:28px;padding:0;width:28px}.profile-switcher__color-dot--active{border-color:var(--profile-color-ring);box-shadow:0 0 0 2px var(--panel-border-30)}.profile-switcher__error{color:#ffb3b3;font-size:13px;margin:0}.profile-switcher__modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.profile-switcher__btn{border:1px solid #0000;border-radius:8px;cursor:pointer;font-size:14px;padding:8px 14px}.profile-switcher__btn--ghost{background:#0000;border-color:var(--panel-border-25);color:var(--panel-fg-90)}.profile-switcher__btn--primary{background:#2ecc71;background:var(--primary,#2ecc71);color:#0f1115;font-weight:600}.profile-switcher__btn--primary:disabled{cursor:not-allowed;opacity:.6}.skip-link{background:var(--primary);border-radius:var(--radius-sm);box-shadow:0 4px 16px #00000040;color:#0f1115;font-size:14px;font-weight:600;left:12px;padding:10px 16px;position:fixed;text-decoration:none;top:-120px;transition:top .2s ease;z-index:10001}.skip-link:focus,.skip-link:focus-visible{outline:2px solid #fff;outline:2px solid var(--panel-page-heading,#fff);outline-offset:2px;top:12px}.sidebar-layout{align-items:stretch;font-family:var(--font-sans)}.sidebar-layout,.sidebar-layout__sidebar{display:flex;min-height:100vh;min-height:100dvh}.sidebar-layout__sidebar{align-self:stretch;background:linear-gradient(180deg,var(--panel-bg-start) 0,var(--panel-bg-end) 100%);border-right:1px solid var(--panel-border-soft);box-sizing:border-box;flex-direction:column;padding:24px 20px;position:-webkit-sticky;position:sticky;top:0}.sidebar-layout__logo-container{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:24px}.sidebar-layout__logo{display:block;height:100px;width:100px}.sidebar-layout__logo-text{color:var(--panel-page-heading);font-size:24px;font-weight:700}.sidebar-layout__logo-text:hover{color:var(--primary-hover)}.sidebar-layout__nav-container{display:flex;flex:1 1;flex-direction:column;gap:10px}.sidebar-layout__nav-title{color:var(--panel-subtitle);font-size:14px;font-weight:700;margin-bottom:10px}.sidebar-layout__nav{display:flex;flex-direction:column;gap:8px}.sidebar-layout__nav-link{align-items:center;border-radius:var(--radius-sm);color:var(--panel-fg-90);display:flex;font-size:14px;gap:10px;padding:10px 12px;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease}.sidebar-layout__nav-icon{color:inherit;flex-shrink:0;height:24px;width:24px}.sidebar-layout__nav-link:hover{background-color:var(--primary-hover);color:#0f1115;transform:translateX(2px)}.sidebar-layout__nav-link--active{background:linear-gradient(90deg,var(--primary),var(--primary-hover));color:#0f1115}.sidebar-layout__nav-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sidebar-layout__user{align-items:center;background:var(--panel-surface);border:1px solid var(--panel-border-soft);border-radius:var(--radius-sm);display:flex;gap:10px;margin-bottom:20px;overflow:visible;padding:10px 12px;position:relative;z-index:60}.sidebar-layout__avatar{border-radius:50%;height:40px;object-fit:cover;width:40px}.sidebar-layout__avatar--placeholder{align-items:center;background:var(--primary);color:#0f1115;display:flex;font-size:18px;font-weight:600;justify-content:center}.sidebar-layout__user-name{color:var(--panel-page-heading);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.sidebar-layout__user-main{align-items:stretch;display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:0}.sidebar-layout__profile-row{min-width:0;width:100%}.sidebar-layout__logout{background:#0000;border:1px solid var(--panel-border-soft);border-radius:var(--radius-sm);color:var(--panel-fg-90);cursor:pointer;font-size:14px;margin-top:auto;padding:10px 12px;transition:background .2s,color .2s;width:100%}.sidebar-layout__logout:hover{background:var(--logout-hover-bg);color:var(--logout-hover-text)}.sidebar-layout__logout:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sidebar-layout__content{background:linear-gradient(180deg,var(--panel-bg-start) 0,var(--panel-bg-end) 100%);box-sizing:border-box;flex:1 1;min-height:0;min-width:0;padding:30px 30px calc(30px + env(safe-area-inset-bottom, 0px))}.sidebar-layout__mobile-topbar{display:none}.sidebar-layout__menu-btn{align-items:center;background:var(--panel-surface);border:1px solid var(--panel-border-soft);border-radius:var(--radius-sm);color:var(--panel-page-heading);cursor:pointer;display:inline-flex;flex-shrink:0;height:44px;justify-content:center;margin:0;padding:0;transition:background .18s ease,border-color .18s ease;width:44px}.sidebar-layout__menu-btn:hover{background:var(--panel-fill-08);border-color:var(--panel-border)}.sidebar-layout__menu-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sidebar-layout__menu-icon{background:currentColor;border-radius:1px;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor;display:block;height:2px;width:18px}.sidebar-layout__backdrop,.sidebar-layout__drawer-close{display:none}@media (max-width:1024px){.sidebar-layout{flex-direction:column}.sidebar-layout__mobile-topbar{align-items:center;background:linear-gradient(180deg,var(--panel-bg-start) 0,var(--panel-bg-end) 100%);border-bottom:1px solid var(--panel-border-soft);display:flex;flex-shrink:0;gap:12px;padding:calc(10px + env(safe-area-inset-top, 0px)) calc(14px + env(safe-area-inset-right, 0px)) 10px calc(14px + env(safe-area-inset-left, 0px));position:-webkit-sticky;position:sticky;top:0;z-index:100}.sidebar-layout__mobile-brand{color:var(--panel-page-heading);flex:1 1;font-size:17px;font-weight:700;letter-spacing:-.02em;min-width:0}.sidebar-layout__mobile-topbar-avatar{border:1px solid var(--panel-border-soft);border-radius:50%;flex-shrink:0;height:36px;object-fit:cover;width:36px}.sidebar-layout__mobile-topbar-avatar--placeholder{align-items:center;background:var(--primary);color:#0f1115;display:flex;font-size:14px;font-weight:700;justify-content:center}.sidebar-layout__backdrop{animation:sidebar-layout-backdrop-in .2s ease-out;background:var(--panel-scrim-60);border:none;cursor:pointer;display:block;inset:0;margin:0;padding:0;position:fixed;z-index:1998}@keyframes sidebar-layout-backdrop-in{0%{opacity:0}to{opacity:1}}.sidebar-layout__sidebar{-webkit-overflow-scrolling:touch;border-bottom:none;border-right:1px solid var(--panel-border-soft);bottom:0;box-shadow:var(--shadow-modal);height:100dvh;left:0;max-width:100%;min-height:100dvh;overflow-y:auto;padding-left:calc(20px + env(safe-area-inset-left, 0px));padding-right:calc(20px + env(safe-area-inset-right, 0px));padding-top:calc(24px + env(safe-area-inset-top, 0px));position:fixed;top:0;transform:translateX(-100%);transition:transform .28s cubic-bezier(.22,1,.36,1);width:min(300px,88vw);z-index:1999}.sidebar-layout__sidebar--open{transform:translateX(0)}.sidebar-layout__drawer-close{align-items:center;background:var(--panel-fill-08);border:1px solid var(--panel-border-soft);border-radius:var(--radius-sm);color:var(--panel-page-heading);cursor:pointer;display:flex;font-size:22px;height:44px;justify-content:center;line-height:1;margin:0;padding:0;position:absolute;right:12px;top:calc(12px + env(safe-area-inset-top, 0px));width:44px;z-index:2}.sidebar-layout__drawer-close:hover{background:var(--panel-surface-strong)}.sidebar-layout__drawer-close:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sidebar-layout__logo-container{justify-content:flex-start;margin-bottom:20px;margin-top:8px;padding-right:40px}.sidebar-layout__logo{height:56px;width:56px}.sidebar-layout__logo-text{font-size:20px}.sidebar-layout__user{display:flex}.sidebar-layout__nav-container{align-items:stretch;flex:1 1;flex-direction:column}.sidebar-layout__nav-title{display:block}.sidebar-layout__nav{flex-direction:column;flex-wrap:nowrap;gap:6px}.sidebar-layout__nav-link{font-size:15px;min-height:44px;padding:12px 14px}.sidebar-layout__nav-link span{display:inline}.sidebar-layout__logout{margin-top:auto;min-height:44px;width:100%}.sidebar-layout__content{padding:16px 14px calc(20px + env(safe-area-inset-bottom, 0px))}}@media (prefers-reduced-motion:reduce){.sidebar-layout__sidebar{transition:transform .01ms}.sidebar-layout__backdrop{animation:none}}@media (min-width:1025px){.sidebar-layout__sidebar,.sidebar-layout__sidebar--open{transform:none!important}}.login-page{align-items:center;background:radial-gradient(circle at top,var(--login-radial-top) 0,var(--panel-bg-end) 55%,var(--login-radial-bottom) 100%);box-sizing:border-box;display:flex;font-family:var(--font-sans);justify-content:center;min-height:100vh;min-height:100dvh;overflow:hidden;padding:max(16px,env(safe-area-inset-top,16px)) max(16px,env(safe-area-inset-right,16px)) max(16px,env(safe-area-inset-bottom,16px)) max(16px,env(safe-area-inset-left,16px));position:relative}.login-background-canvas{inset:0;pointer-events:none;position:fixed;z-index:0}.login-card{background:var(--panel-surface);border:1px solid var(--panel-border-soft);border-radius:var(--radius-lg);box-shadow:0 8px 32px var(--panel-scrim-30);max-width:400px;padding:32px;position:relative;width:100%;z-index:1}.login-card__title{color:var(--panel-page-heading);font-size:28px;font-weight:700;margin:0 0 4px;text-align:center}.login-card__subtitle{color:var(--panel-fg-60);font-size:14px;margin:0 0 24px;text-align:center}.login-backend-warning{background:#ffc10726;border:1px solid #ffc10780;border-radius:8px;color:#ffc107;font-size:13px;line-height:1.5;margin-bottom:20px;padding:12px 14px}.login-backend-warning code{background:var(--panel-scrim-30);border-radius:4px;display:inline-block;font-size:12px;margin:2px 0;padding:2px 6px}.login-tabs{display:flex;gap:8px;margin-bottom:20px}.login-tabs__btn{background:#0000;border:1px solid var(--panel-border);border-radius:var(--radius-sm);color:var(--panel-fg-70);cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 16px;transition:background .2s,color .2s,border-color .2s}.login-tabs__btn:hover{background:var(--panel-fill-08);color:var(--panel-page-heading)}.login-tabs__btn--active{background:#2ecc71;border-color:#2ecc71;color:#0f1115}.login-error{background:#dc354533;border:1px solid #dc354580;border-radius:8px;color:#f8a5a5;font-size:14px;margin:0 0 16px;padding:10px 12px}.login-form{display:flex;flex-direction:column;gap:12px}.login-form input[type=email],.login-form input[type=number],.login-form input[type=password],.login-form input[type=text]{background:var(--panel-input-bg);border:1px solid var(--panel-border);border-radius:var(--radius-sm);color:var(--panel-page-heading);font-size:15px;outline:none;padding:12px 14px;transition:border-color .2s}.login-form input::placeholder{color:var(--panel-fg-40)}.login-form input:focus{border-color:#2ecc71}.login-form input[type=file]{display:none}.login-form__photo{display:flex;flex-direction:column;gap:8px}.login-form__photo-label{color:var(--panel-fg-70);cursor:pointer;font-size:13px}.login-form__photo-label span{border:1px dashed var(--panel-border-30);border-radius:8px;display:inline-block;padding:8px 12px}.login-form__photo-label:hover span{border-color:#2ecc71;color:#2ecc71}.login-form__photo-preview{background-position:50%;background-size:cover;border:2px solid var(--panel-border-20);border-radius:50%;height:64px;width:64px}.login-form button[type=submit]{background:linear-gradient(90deg,#2ecc71,#27ae60);border:none;border-radius:var(--radius-sm);color:#0f1115;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px;transition:opacity .2s,transform .15s}.login-form button[type=submit]:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.login-form button[type=submit]:disabled{cursor:not-allowed;opacity:.7}@media (max-width:480px){.login-card{border-radius:var(--radius-md);padding:24px 18px}.login-card__title{font-size:24px}.login-tabs__btn{min-height:44px}.login-form button[type=submit]{min-height:48px}}.segmented-toggle{align-items:center;background:var(--panel-surface);border:1px solid var(--panel-border-soft);border-radius:999px;display:inline-flex;gap:4px;padding:4px}.segmented-toggle__btn{background:#0000;border:none;border-radius:999px;color:var(--panel-fg-72);cursor:pointer;font-size:12px;font-weight:600;padding:7px 12px;transition:background .2s ease,color .2s ease}.segmented-toggle__btn--active,.segmented-toggle__btn:hover{color:var(--panel-page-heading)}.segmented-toggle__btn--active{background:var(--panel-border-16)}@media (max-width:600px){.segmented-toggle__btn{font-size:13px;min-height:40px;padding:8px 14px}}.ns-select{display:block;position:relative;width:100%}.ns-select__trigger{align-items:center;background:var(--form-bg);border:1px solid var(--form-border);border-radius:10px;border-radius:var(--radius-sm,10px);box-sizing:border-box;color:var(--form-text);cursor:pointer;display:flex;font-family:inherit;font-size:14px;gap:10px;justify-content:space-between;line-height:1.25;min-height:40px;padding:9px 12px;text-align:left;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.ns-select__trigger:hover:not(:disabled){border-color:var(--form-border-focus)}.ns-select__trigger:focus{outline:none}.ns-select__trigger:focus-visible{border-color:var(--form-border-focus);box-shadow:var(--form-focus-ring)}.ns-select__trigger:disabled{background:var(--form-disabled-bg);color:var(--form-disabled-text);cursor:not-allowed;opacity:.85}.ns-select__trigger-inner{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.ns-select__opt-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.ns-select__opt-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ns-select__chevron{border-left:5px solid #0000;border-right:5px solid #0000;border-top:6px solid var(--panel-fg-55);display:block;flex-shrink:0;height:0;margin-top:2px;opacity:.85;transition:transform .15s ease,margin .15s ease;width:0}.ns-select__trigger[aria-expanded=true] .ns-select__chevron{margin-top:-2px;transform:rotate(180deg)}.ns-select__menu{background:var(--modal-popover-bg);border:1px solid var(--panel-border-soft);border-radius:10px;border-radius:var(--radius-sm,10px);box-shadow:var(--shadow-soft);box-sizing:border-box;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:4px 0;position:fixed;z-index:10050}.ns-select__option{align-items:center;background:#0000;border:none;box-sizing:border-box;color:var(--panel-page-text);cursor:pointer;display:flex;font-family:inherit;font-size:14px;gap:8px;line-height:1.25;margin:0;padding:9px 12px;text-align:left;width:100%}.ns-select__option--active,.ns-select__option:hover{background:var(--panel-fill-08)}.ns-select__option--selected{color:var(--primary);font-weight:600}.ns-select__option .ns-select__opt-text{overflow:visible;text-overflow:clip;white-space:normal}.dashboard{color:var(--panel-page-text);font-family:var(--font-sans);min-height:100%}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.dashboard-header__user{align-items:center;display:flex;gap:12px}.dashboard-header__avatar{border-radius:50%;height:48px;object-fit:cover;width:48px}.dashboard-header__avatar--placeholder{align-items:center;background:var(--primary);color:#0f1115;display:flex;font-size:20px;font-weight:600;justify-content:center}.dashboard-header__greeting{color:var(--panel-page-heading);font-size:18px;font-weight:600}.dashboard-header__profile-wrap{flex:0 1 auto;max-width:280px;min-width:200px}.dashboard-title{color:var(--panel-page-heading);font-size:28px;font-weight:700;margin:0 0 24px}.dashboard-view-toggle{align-items:center;display:flex;flex-wrap:wrap;gap:12px 20px;margin:-8px 0 20px}.dashboard-view-toggle__hint{color:var(--panel-fg-62);font-size:13px;line-height:1.4;margin:0;max-width:420px}.dashboard .switch input[type=checkbox]{display:none}.dashboard .switch{align-items:center;display:inline-flex;gap:12px;height:auto;width:auto}.dashboard .switch .slider{background-color:var(--switch-surface);border:2px solid #cfd6dd;border-radius:72px;height:40px;position:relative;transition:all .35s ease-in-out;width:90px}.dashboard .switch .slider:before{background-color:var(--switch-surface);border:2px solid #cfd6dd;border-radius:50%;box-shadow:3px 8px 8px -2px rgba(0,0,0,.315);content:"";display:block;height:34px;margin-left:1px;margin-top:1px;transition:all .25s ease-in-out;width:34px}.dashboard .switch input[type=checkbox]:checked+.slider{background-color:#029607;border-color:#0000}.dashboard .switch input[type=checkbox]:checked+.slider:before{transform:translateX(48px)}.dashboard .switch__label{color:var(--panel-fg-88);font-size:14px;font-weight:600;min-width:72px;transition:color .25s ease,transform .25s ease}.dashboard .switch__label--personal{color:var(--panel-fg-72)}.dashboard .switch__label--shared{color:#029607f2}@media (prefers-reduced-motion:reduce){.dashboard .switch__label{transition:color .12s ease}}.dashboard-progress__inputs{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}.dashboard-progress__inputs label{color:var(--panel-fg-70);display:flex;flex-direction:column;font-size:13px;gap:4px}.dashboard-progress__inputs input{background:var(--panel-input-bg);border:1px solid var(--panel-border);border-radius:var(--radius-sm);color:var(--panel-page-heading);font-size:15px;padding:8px 12px;width:140px}.dashboard-progress__bar-wrap{background:var(--panel-fill-15);border-radius:5px;height:10px;margin-top:16px;overflow:hidden}.dashboard-progress__bar{background:linear-gradient(90deg,var(--primary),var(--primary-hover));border-radius:5px;height:100%;transition:width .2s ease}.dashboard-progress__text{color:var(--panel-fg-90);font-size:14px;font-weight:600;margin:8px 0 0}.dashboard-widgets-bar{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin-bottom:16px;position:relative}.dashboard-widgets-bar__btn{background:var(--panel-surface);border:1px solid var(--panel-border-soft);border-radius:999px;color:var(--panel-page-heading);cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:background .15s ease,border-color .15s ease}.dashboard-widgets-bar__btn--primary{background:linear-gradient(90deg,var(--primary),var(--primary-hover));border-color:#0000;box-shadow:0 6px 18px #2ecc7173;color:#0f1115}.dashboard-widgets-bar__btn--primary:disabled{box-shadow:none;cursor:default;opacity:.45}.dashboard-widgets-bar__btn:hover{background:var(--panel-fill-08);border-color:var(--panel-border-30)}.dashboard-widgets-bar__dropdown{background:var(--modal-popover-bg);border:1px solid var(--panel-border-12);border-radius:10px;box-shadow:0 16px 40px #00000080;min-width:200px;padding:6px;position:absolute;right:0;top:110%;z-index:10}.dashboard-widgets-bar__item{background:#0000;border:none;border-radius:8px;color:var(--panel-fg-85);cursor:pointer;font-size:13px;padding:8px 10px;text-align:left;transition:background .15s ease,color .15s ease,opacity .15s ease;width:100%}.dashboard-widgets-bar__item:hover:not(:disabled){background:var(--panel-fill-08);color:var(--panel-page-heading)}.dashboard-widgets-bar__item:disabled{cursor:default;opacity:.45}.dashboard-widgets-bar__item--calendar-link{border-top:1px solid var(--panel-border-12);margin-top:4px}.dashboard-rgl{min-height:200px}.dashboard-rgl .react-grid-item{transition:transform .22s ease,width .22s ease,height .22s ease}.dashboard-rgl .react-grid-placeholder{background:#2ecc7138;border:1px dashed #2ecc71bf;border-radius:14px}.dashboard-rgl .react-resizable-handle{opacity:.9}.dashboard-widget-frame{display:flex;flex-direction:column;gap:6px;height:100%}.dashboard-widget-frame__toolbar{align-items:center;display:flex;justify-content:space-between;padding:0 4px}.dashboard-widget-frame__title{color:var(--panel-fg-72);font-size:12px;font-weight:600}.dashboard-widget-frame__actions{align-items:center;display:inline-flex;gap:6px}.dashboard-widget-frame__drag-handle{background:var(--panel-fill-04);border:1px solid var(--panel-border-20);border-radius:999px;color:var(--panel-fg-70);cursor:grab;font-size:11px;line-height:1;padding:3px 8px}.dashboard-widget-frame__drag-handle:active{cursor:grabbing}.dashboard-widget-slot{background:var(--panel-surface);border:1px dashed var(--panel-border-18);border-radius:var(--radius-lg);box-sizing:border-box;display:flex;min-height:0;padding:2px;position:relative;transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease,background .15s ease}.dashboard-widget-slot--grid{border-style:solid}.dashboard-widget-slot--filled{overflow:hidden}.dashboard-widget-slot__content{display:flex;flex:1 1;overflow:hidden}.dashboard-widget-slot__content,.dashboard-widget-slot__content>*{box-sizing:border-box;height:100%;width:100%}.dashboard-widget-auto-height{height:auto;min-height:0;width:100%}@keyframes dashboard-drop-pulse{0%{opacity:.85;transform:scale(.996)}50%{opacity:1;transform:scale(1)}to{opacity:.85;transform:scale(.996)}}.dashboard-widget-slot__empty{background:var(--panel-fill-04);border-radius:999px;color:var(--panel-fg-50);font-size:13px;margin:auto;padding:10px 14px}.dashboard-widget-slot--empty-visible{border-style:dashed}.dashboard-widget-slot__remove{align-items:center;background:var(--panel-scrim-60);border:none;border-radius:999px;color:var(--panel-fg-85);cursor:pointer;display:flex;font-size:13px;height:22px;justify-content:center;line-height:1;position:static;transition:background .15s ease,transform .12s ease;width:22px}.dashboard-widget-frame__actions .dashboard-widget-slot__remove{flex:0 0 auto;order:1}.dashboard-widget-frame__actions .dashboard-widget-frame__drag-handle{order:2}.dashboard-widget-slot__remove:hover{background:var(--panel-scrim-90);transform:translateY(-1px)}.dashboard-onboarding-overlay{align-items:center;background:var(--panel-scrim-70);display:flex;inset:0;justify-content:center;position:fixed;z-index:1200}.dashboard-onboarding{background:radial-gradient(circle at top left,var(--widget-onboarding-1) 0,var(--widget-onboarding-2) 55%,var(--widget-onboarding-3) 100%);border:1px solid var(--panel-border-16);border-radius:18px;box-shadow:0 24px 60px var(--panel-scrim-70);max-width:640px;padding:24px 28px 22px;width:100%}.dashboard-onboarding__title{color:var(--panel-page-heading);font-size:20px;font-weight:600;margin:0 0 4px}.dashboard-onboarding__subtitle{color:var(--panel-fg-70);font-size:13px;margin:0 0 16px}.dashboard-onboarding__sizes{display:flex;gap:8px;margin-bottom:16px}.dashboard-onboarding__size-btn{background:var(--panel-fill-04);border:1px solid var(--panel-border-25);border-radius:999px;color:var(--panel-fg-85);cursor:pointer;flex:0 0 auto;font-size:12px;padding:6px 12px;transition:background .15s ease,border-color .15s ease,color .15s ease}.dashboard-onboarding__size-btn--active{background:linear-gradient(90deg,var(--primary),var(--primary-hover));border-color:#0000;color:#0f1115}.dashboard-onboarding__widgets{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.dashboard-onboarding__widget-card{background:var(--calendar-modal-inner);border:1px solid var(--panel-border-12);border-radius:12px;color:var(--panel-fg-90);cursor:pointer;padding:10px 12px;text-align:left;transition:border-color .15s ease,background .15s ease,transform .12s ease}.dashboard-onboarding__widget-card--selected{background:radial-gradient(circle at top left,#2ecc7129,var(--widget-card-selected-end));border-color:var(--primary);transform:translateY(-1px)}.dashboard-onboarding__widget-title{display:block;font-size:14px;font-weight:600}.dashboard-onboarding__widget-hint{color:var(--panel-fg-60);display:block;font-size:12px;margin-top:4px}.dashboard-onboarding__actions{display:flex;justify-content:flex-end}.dashboard-onboarding__btn{border:none;border-radius:999px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px}.dashboard-onboarding__btn--primary{background:linear-gradient(90deg,var(--primary),var(--primary-hover));box-shadow:0 6px 18px #2ecc7173;color:#0f1115}.dashboard-onboarding__btn--primary:disabled{box-shadow:none;cursor:default;opacity:.45}.dashboard-widget{background:radial-gradient(circle at top left,var(--widget-onboarding-1) 0,var(--widget-onboarding-2) 55%,var(--widget-onboarding-3) 100%);border:1px solid var(--panel-fill-08);border-radius:14px;box-shadow:0 18px 40px #0000008c;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;height:100%;padding:18px 18px 20px;width:100%}.dashboard-widget__title{color:var(--panel-fg-90);font-size:15px;font-weight:600;margin:0 0 6px}.dashboard-widget__amount{color:var(--primary);font-size:26px;font-weight:700;margin:0}.dashboard-widget__hint,.dashboard-widget__label{color:var(--panel-fg-55);font-size:13px;margin:4px 0 0}.dashboard-widget--mini-wallet,.dashboard-widget--spending{justify-content:space-between}.dashboard-mini-card{background:radial-gradient(circle at top left,#23a36a 0,#1a734b 40%,#0d1118 100%);border-radius:14px;box-shadow:0 16px 36px var(--panel-scrim-70);overflow:hidden;padding:14px 16px 52px;position:relative}.dashboard-mini-card__chip{background:linear-gradient(135deg,var(--panel-fg-80),#c8c8c880);border-radius:6px;height:22px;opacity:.9;width:30px}.dashboard-mini-card__brand{color:var(--panel-fg-90);font-size:13px;font-weight:600;letter-spacing:.08em;position:absolute;right:16px;text-transform:uppercase;top:14px}.dashboard-mini-card__balance{bottom:16px;color:var(--panel-page-heading);font-size:18px;font-weight:600;left:16px;position:absolute}.dashboard-mini-card__btn{background:#0a0c12e6;border:none;border-radius:999px;bottom:14px;color:var(--panel-fg-90);cursor:pointer;font-size:11px;font-weight:500;padding:6px 12px;position:absolute;right:16px;transition:background .15s ease,transform .12s ease}.dashboard-mini-card__btn:hover{background:#0a0c12;transform:translateY(-1px)}.calendar-widget{padding:14px}.calendar-widget__group{display:flex;flex-direction:column;gap:10px;height:100%}.calendar-widget__group .calendar-nav{align-items:center;display:flex;gap:10px}.calendar-widget__group .calendar-nav__btn{align-items:center;background:var(--panel-border-06);border:1px solid var(--panel-border-20);border-radius:8px;color:var(--panel-page-heading);cursor:pointer;display:inline-flex;height:32px;justify-content:center;width:32px}.calendar-widget__group .calendar-nav__month{flex:1 1;font-size:13px;font-weight:600;min-width:0;text-align:center}.calendar-widget__group .calendar-grid-wrap{background:var(--panel-fill-04);border:1px solid var(--panel-border-10);border-radius:12px;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:10px;width:auto}.dashboard-calendar__weekdays{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.dashboard-calendar__wd{color:var(--panel-fg-50);font-size:11px;text-align:center}.dashboard-calendar__grid{grid-gap:4px;display:grid;flex:1 1;gap:4px;grid-auto-rows:minmax(0,1fr);grid-template-columns:repeat(7,1fr);min-height:0}.dashboard-calendar__day{align-items:center;background:var(--panel-fill-04);border:1px solid #0000;border-radius:8px;color:var(--panel-fg-90);cursor:pointer;display:flex;flex-direction:column;font-size:14px;gap:2px;justify-content:center;min-height:0;overflow:hidden;padding:6px;transition:background .15s,border-color .15s}.dashboard-calendar__day:hover{background:var(--panel-border-10);border-color:var(--panel-border-20)}.dashboard-calendar__day--empty{pointer-events:none;visibility:hidden}.dashboard-calendar__day--today{background:#4682dc33;border-color:#6eaafff2;box-shadow:inset 0 0 0 1px #b9daff73,0 0 0 1px #4682dc59;color:#eef6ff}.dashboard-calendar__day--future{color:#ffe8b0}.dashboard-calendar__day--positive{color:#d9ffe8}.dashboard-calendar__day--negative{color:#ffdbe0}.dashboard-calendar__month{color:var(--panel-fg-60);font-size:13px;margin:12px 0 0}.dashboard-mobile-balance-panel,.dashboard-mobile-widgets-title{display:none}@media (max-width:1024px){.dashboard-header__profile-wrap{flex:1 1 auto;max-width:100%}}@media (max-width:720px){.dashboard{margin:0;padding:16px 0}.dashboard-header{margin-bottom:10px}.dashboard-header__greeting,.dashboard-title{display:none}.dashboard-header__avatar{height:36px;width:36px}.dashboard-widgets-bar{justify-content:flex-start;margin-bottom:10px}.dashboard-widgets-bar__btn{font-size:12px;padding:7px 12px}.dashboard-mobile-balance-panel{background:radial-gradient(circle at top,#416effa6 0,#0e133beb 58%,#080b1c 100%);border:1px solid var(--panel-border-14);border-radius:14px;box-shadow:0 14px 32px #00000073;display:flex;flex-direction:column;gap:4px;margin-bottom:8px;padding:14px 14px 12px}.dashboard-mobile-balance-panel__label{color:var(--panel-fg-75);font-size:12px;letter-spacing:.02em}.dashboard-mobile-balance-panel__value{color:var(--panel-page-heading);font-size:30px;font-weight:700;line-height:1.1}.dashboard-mobile-widgets-title{color:var(--panel-page-heading);display:block;font-size:22px;font-weight:700;margin:4px 0 10px}.dashboard-rgl--mobile .dashboard-widget-slot__remove{background:var(--panel-scrim-70)}.dashboard-widget-frame__title{font-size:11px}.dashboard-widget-frame__drag-handle{font-size:10px;padding:2px 7px}.calendar-widget{padding:10px}.calendar-widget__group{gap:8px}.calendar-widget__group .calendar-grid-wrap{padding:8px}.dashboard-calendar__grid,.dashboard-calendar__weekdays{gap:3px}.dashboard-calendar__wd{font-size:10px}.dashboard-calendar__day{border-radius:5px;font-size:11px;min-height:0;padding:4px}.dashboard-calendar__month{font-size:11px;margin-top:8px}}.dashboard-widget--analytics-kpi{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-analytics-widget{box-sizing:border-box;height:100%}.calendar-widget .calendar-modal-overlay{align-items:center;background:var(--panel-scrim-60);display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1100}.calendar-widget .calendar-modal{background:#1e2128;border:1px solid var(--panel-border-12);border-radius:12px;box-shadow:0 8px 32px #0006;max-height:86vh;max-width:430px;overflow:auto;padding:16px;position:relative;width:100%}.calendar-widget .calendar-modal__head{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.calendar-widget .calendar-modal__title{color:var(--panel-page-heading);font-size:16px;margin:0}.calendar-widget .calendar-modal__close{background:var(--panel-border-10);border:none;border-radius:8px;color:var(--panel-page-heading);cursor:pointer;font-size:20px;height:30px;width:30px}.calendar-widget .calendar-modal__tabs{display:flex;gap:6px;margin-bottom:10px}.calendar-widget .calendar-modal__tab{background:#0000;border:1px solid var(--panel-border-20);border-radius:8px;color:var(--panel-fg-80);cursor:pointer;padding:7px 12px}.calendar-widget .calendar-modal__tab--active{background:var(--primary);border-color:var(--primary);color:#0f1115}.calendar-widget .calendar-modal__total{border-radius:8px;font-weight:600;margin-bottom:12px;padding:8px 10px}.calendar-widget .calendar-modal__total--add{background:#2ecc7126;color:var(--primary)}.calendar-widget .calendar-modal__total--remove{background:#dc354526;color:var(--red)}.calendar-widget .calendar-modal__list,.calendar-widget .calendar-modal__saved-list{list-style:none;margin:0 0 12px;padding:0}.calendar-widget .calendar-modal__item,.calendar-widget .calendar-modal__saved-item{align-items:center;border-radius:8px;display:flex;gap:10px;justify-content:space-between;margin-bottom:6px;padding:8px 10px}.calendar-widget .calendar-modal__item--add,.calendar-widget .calendar-modal__saved-item--add{background:#2ecc711a;border-left:3px solid var(--primary)}.calendar-widget .calendar-modal__item--remove,.calendar-widget .calendar-modal__saved-item--remove{background:#dc35451a;border-left:3px solid var(--red)}.calendar-widget .calendar-modal__item--shared-scope,.calendar-widget .calendar-modal__saved-item--shared-scope{background:color-mix(in srgb,#5a6578 17%,#0000);background:color-mix(in srgb,var(--entry-profile-color,#5a6578) 17%,#0000);border-left:3px solid #5a6578;border-left:3px solid var(--entry-profile-color,#5a6578)}.calendar-widget .calendar-modal__item-author{color:var(--panel-fg-55);display:block;font-size:10px;font-weight:600;letter-spacing:.02em;margin-bottom:2px}.calendar-widget .calendar-modal__item-text,.calendar-widget .calendar-modal__saved-item-text{color:var(--panel-fg-92);font-size:13px}.calendar-widget .calendar-modal__item-cat{font-size:12px;opacity:.9}.calendar-widget .calendar-modal__item-delete{background:#0000;border:1px solid var(--panel-border-28);border-radius:6px;color:var(--panel-fg-75);cursor:pointer;font-size:11px;padding:4px 8px}.calendar-widget .calendar-modal__saved-item-actions{align-items:center;display:flex;gap:6px}.calendar-widget .calendar-modal__section{border-top:1px solid var(--panel-border-10);margin-top:12px;padding-top:12px}.calendar-widget .calendar-modal__section-title{font-size:13px;margin:0}.calendar-widget .calendar-modal__section-title--add{color:var(--primary)}.calendar-widget .calendar-modal__section-title--remove{color:var(--red)}.calendar-widget .calendar-modal__entry-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:10px}.calendar-widget .calendar-modal__form,.calendar-widget .calendar-modal__saved-form{display:flex;flex-direction:column;gap:8px}.calendar-widget .calendar-modal__input{background:var(--panel-input-bg);border:1px solid var(--panel-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--panel-page-heading);font-size:13px;padding:9px 10px;width:100%}.calendar-widget .calendar-modal__select-row{display:flex;flex-direction:column;gap:6px}.calendar-widget .calendar-modal__saved-type--column{color:var(--panel-fg-80);display:flex;flex-direction:column;font-size:13px;gap:6px}.calendar-widget .calendar-modal__btn{border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 12px}.calendar-widget .calendar-modal__btn--small{font-size:12px;padding:6px 10px}.calendar-widget .calendar-modal__btn--add{background:var(--primary);color:#0f1115}.calendar-widget .calendar-modal__btn--remove{background:var(--red);color:var(--panel-page-heading)}.calendar-widget .calendar-modal__btn--outline{background:#0000;border:1px solid var(--panel-border-28);color:var(--primary)}.calendar-widget .calendar-modal__voice-row{margin:6px 0 10px}.calendar-widget .calendar-modal__voice-btn{width:100%}.calendar-widget .calendar-modal__voice-btn--listening{border-color:var(--panel-fg-60);box-shadow:0 0 0 2px var(--panel-fill-08)}.calendar-widget .calendar-modal__voice-btn--mode-remove{background:#dc354533;border:1px solid #dc35458c;color:#ff6b6b}.calendar-widget .calendar-modal__voice-btn--mode-add{background:#2ecc712e;border:1px solid #2ecc718c;color:var(--primary)}.calendar-widget .calendar-modal__voice-actions{display:flex;flex-direction:column;gap:8px;width:100%}.calendar-widget .calendar-modal__voice-actions-btns{display:flex;flex-wrap:wrap;gap:8px}.calendar-widget .calendar-modal__voice-status{color:var(--panel-fg-75);font-size:12px;line-height:1.35}.calendar-widget .calendar-modal__voice-dots{display:inline-flex;margin-left:4px}.calendar-widget .calendar-modal__voice-dots>span{animation:calendar-widget-voice-dot 1.2s infinite;opacity:.2}.calendar-widget .calendar-modal__voice-dots>span:nth-child(2){animation-delay:.2s}.calendar-widget .calendar-modal__voice-dots>span:nth-child(3){animation-delay:.4s}@keyframes calendar-widget-voice-dot{0%,80%,to{opacity:.2}40%{opacity:1}}.calendar-widget .calendar-modal__voice-preview{background:var(--panel-fill-05);border:1px solid var(--panel-border-12);border-radius:10px;box-sizing:border-box;color:var(--panel-fg-92);font-size:12px;margin:0 0 12px;max-width:94%;padding:10px 12px;width:94%}.calendar-widget .calendar-modal__voice-transcript{margin-bottom:6px;word-break:break-word}.calendar-widget .calendar-modal__voice-error{color:#ffb3b3}.calendar-widget .calendar-modal__voice-wave{--voice-level:0;align-items:flex-end;display:flex;gap:3px;height:24px;margin-bottom:2px;margin-top:4px;overflow:hidden}.calendar-widget .calendar-modal__voice-wave>span{animation:calendar-widget-voice-wave-idle .7s ease-in-out infinite;background:#2ecc71d9;border-radius:999px;height:6px;transform:scaleY(calc(.25 + var(--voice-level)*2.45));transform-origin:bottom center;width:3px}.calendar-widget .calendar-modal__voice-wave>span:nth-child(2n){animation-delay:80ms}.calendar-widget .calendar-modal__voice-wave>span:nth-child(3n){animation-delay:.14s}.calendar-widget .calendar-modal__voice-wave>span:nth-child(4n){animation-delay:.21s}@keyframes calendar-widget-voice-wave-idle{0%,to{opacity:.45}50%{opacity:1}}.calendar-widget .calendar-modal__section{overflow-x:hidden}.calendar-widget .calendar-modal__future-banner{background:#ffc10726;border:1px solid #ffc10766;border-radius:8px;color:#ffc107;font-size:12px;margin-bottom:10px;padding:8px 10px}.calendar-widget .calendar-category-popup-overlay{align-items:center;background:#000000a6;border-radius:12px;display:flex;inset:0;justify-content:center;position:absolute;z-index:20}.calendar-widget .calendar-category-popup{background:linear-gradient(180deg,#252a33,#1e2128);border:1px solid var(--panel-border-12);border-radius:12px;max-width:95%;min-width:min(320px,100%);padding:14px}.calendar-widget .calendar-category-popup__title{color:var(--panel-page-heading);font-size:15px;margin:0 0 10px}.calendar-widget .calendar-category-popup__form{display:flex;flex-direction:column;gap:8px}.calendar-widget .calendar-category-popup__label{display:flex;flex-direction:column;font-size:13px;gap:6px}.calendar-widget .calendar-category-popup__input{background:var(--panel-border-06);border:1px solid var(--panel-border-20);border-radius:8px;color:var(--panel-page-heading);padding:8px 10px}.calendar-widget .calendar-color-picker{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.calendar-widget .calendar-color-picker__swatch{border:2px solid #0000;border-radius:8px;cursor:pointer;height:28px;padding:0;width:28px}.calendar-widget .calendar-color-picker__swatch--selected{border-color:var(--panel-page-heading)}.calendar-widget .calendar-color-picker__custom{align-items:center;display:inline-flex;gap:8px}.calendar-widget .calendar-color-picker__custom-input{background:#0000;border:1px solid var(--panel-border-25);border-radius:8px;height:28px;padding:1px;width:28px}.calendar-widget .calendar-category-popup__actions{display:flex;gap:8px;margin-top:4px}.calendar-widget-categories-list{display:flex;flex-direction:column;gap:6px;max-height:110px;overflow:auto}.calendar-widget-categories-list__item{align-items:center;background:var(--panel-fill-03);border:1px solid var(--panel-fill-15);border-radius:8px;color:var(--panel-fg-90);cursor:pointer;display:flex;gap:8px;padding:6px 8px;width:100%}.calendar-widget-categories-list__dot{border-radius:50%;height:10px;width:10px}.calendar-widget-categories-list__remove{font-size:11px;margin-left:auto;opacity:.75}.analytics-page{color:var(--panel-page-text);margin:0;min-height:100%;padding:0 0 36px}.analytics-page__head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:8px}.analytics-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.analytics-subtitle{color:var(--panel-muted-blue);margin-top:-6px}.analytics-range{background:var(--panel-fill-04);border:1px solid var(--panel-border-soft);border-radius:999px;display:inline-flex;padding:4px}.analytics-range__btn{background:#0000;border:none;border-radius:999px;color:var(--panel-fg-72);cursor:pointer;font-size:12px;padding:7px 12px}.analytics-range__btn--active{background:linear-gradient(90deg,var(--primary),var(--primary-hover));color:#0f1115;font-weight:700}.analytics-kpi-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:18px 0}.analytics-kpi{background:radial-gradient(circle at top left,var(--elevated-start) 0,var(--elevated-mid) 55%,var(--elevated-end) 100%);border:1px solid var(--panel-border-06);border-radius:18px;box-shadow:0 18px 50px var(--panel-scrim-60);display:flex;flex-direction:column;gap:6px;padding:14px}.analytics-kpi span{color:var(--panel-muted-blue);font-size:13px}.analytics-kpi strong{font-size:23px}.analytics-charts-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.analytics-card{background:radial-gradient(circle at top left,var(--elevated-start) 0,var(--elevated-mid) 55%,var(--elevated-end) 100%);border:1px solid var(--panel-border-06);border-radius:18px;box-shadow:0 18px 50px var(--panel-scrim-60);padding:14px}.analytics-card h3{margin-bottom:10px;margin-top:2px}.analytics-stats-rows{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:8px}.analytics-stats-rows>div{background:#00000029;border:1px solid var(--panel-border-soft);border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:8px}.analytics-stats-rows span{color:var(--panel-fg-64);font-size:11px}.analytics-stats-rows strong{font-size:15px}.analytics-chart{height:220px;width:100%}.analytics-insights-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:18px}.analytics-insight-card{background:radial-gradient(circle at top left,var(--elevated-start) 0,var(--elevated-mid) 55%,var(--elevated-end) 100%);border:1px solid var(--panel-border-06);border-radius:18px;box-shadow:0 18px 50px var(--panel-scrim-60);padding:12px}.analytics-insight-card__title-row{align-items:center;display:inline-flex;flex:1 1;gap:8px;min-width:0}.analytics-insight-card__title-row h4{color:var(--panel-page-heading);margin:0}.analytics-insight-card h4{color:var(--panel-page-heading);margin:0 0 6px}.analytics-insight-card__head .analytics-insight-card__title-row h4{margin-bottom:0}.analytics-insight-card p{color:var(--panel-muted-blue);margin:0}.analytics-insight-card__head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.analytics-insight-help{align-self:center;display:inline-flex;flex-shrink:0;position:relative}.analytics-insight-help__btn{align-items:center;background:var(--panel-fill-05);border:1px solid var(--panel-border-18);border-radius:50%;color:var(--panel-muted-blue);cursor:help;display:inline-flex;font-size:12px;font-weight:800;height:22px;justify-content:center;line-height:1;margin:0;padding:0;transition:color .15s ease,border-color .15s ease,background .15s ease;width:22px}.analytics-insight-help__btn:focus-visible,.analytics-insight-help__btn:hover{background:#2ecc711f;border-color:#2ecc7173;color:var(--panel-page-heading);outline:none}.analytics-insight-help__icon{position:relative;top:-.5px}.analytics-insight-help__tip{background:radial-gradient(circle at top left,var(--elevated-start) 0,var(--elevated-mid) 55%,var(--elevated-end) 100%);border:1px solid var(--panel-border-12);border-radius:12px;bottom:calc(100% + 10px);box-shadow:var(--shadow-elevated);color:var(--panel-fg-82);font-size:12px;font-weight:500;left:50%;line-height:1.45;opacity:0;padding:10px 12px;pointer-events:none;position:absolute;text-align:left;transform:translateX(-50%);transition:opacity .15s ease,visibility .15s ease;visibility:hidden;width:min(300px,78vw);z-index:30}.analytics-insight-help__tip:after{border:6px solid #0000;border-top:6px solid var(--elevated-mid);content:"";left:50%;margin-left:-6px;position:absolute;top:100%}.analytics-insight-help:focus-within .analytics-insight-help__tip,.analytics-insight-help:hover .analytics-insight-help__tip{opacity:1;visibility:visible}.analytics-confidence{border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;padding:3px 8px}.analytics-confidence--high{background:linear-gradient(90deg,var(--primary),var(--primary-hover));color:#0f1115}.analytics-confidence--medium{background:linear-gradient(90deg,#f4c542,#f39c12);color:#1b1202}.analytics-confidence--low{background:linear-gradient(90deg,#dc3545,#c82333);color:var(--panel-page-heading)}.analytics-insight-card--interactive{cursor:default;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.analytics-insight-card--interactive:hover{border-color:#2ecc714d;box-shadow:var(--shadow-elevated-lg);transform:translateY(-3px)}.analytics-insight-card__metric{color:var(--panel-page-heading);font-size:28px;font-weight:800;line-height:1.1;margin-bottom:6px}.analytics-page .recharts-tooltip-wrapper{filter:drop-shadow(0 18px 50px var(--panel-scrim-60))}.analytics-page .recharts-default-tooltip{background:radial-gradient(circle at top left,var(--elevated-start) 0,var(--elevated-mid) 55%,var(--elevated-end) 100%)!important;border:1px solid var(--panel-border-06)!important;border-radius:18px!important;box-shadow:0 18px 50px var(--panel-scrim-60)!important;padding:10px 12px!important}.analytics-page .recharts-tooltip-label{color:var(--panel-fg-92)!important;font-weight:700!important}.analytics-page .recharts-tooltip-item{color:var(--panel-fg-82)!important}.switch{gap:10px}.switch .slider{height:34px;transition:all .3s ease-in-out;width:78px}.switch .slider:before{box-shadow:3px 8px 8px -2px var(--panel-scrim-30);height:28px;width:28px}.switch input[type=checkbox]:checked+.slider:before{transform:translateX(42px)}@media (max-width:900px){.analytics-page{margin:0;padding:0 0 28px}.analytics-page__head{align-items:stretch;flex-direction:column}.analytics-controls{justify-content:flex-start}.analytics-range{align-self:flex-start}.analytics-charts-grid{grid-template-columns:1fr}.analytics-kpi-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.analytics-insights-list,.analytics-stats-rows{grid-template-columns:1fr}.analytics-range__btn{font-size:13px;min-height:40px;padding:9px 14px}.analytics-chart{height:200px}}@media (max-width:480px){.analytics-page h1{font-size:22px}.analytics-kpi strong{font-size:20px}.analytics-insight-card__metric{font-size:24px}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;will-change:width,height;z-index:1}.react-grid-item.react-draggable-dragging{transition:none;will-change:transform;z-index:3}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;-webkit-user-select:none;user-select:none;z-index:2}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{height:20px;opacity:0;position:absolute;width:20px}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{border-bottom:2px solid #0006;border-right:2px solid #0006;bottom:3px;content:"";height:5px;position:absolute;right:3px;width:5px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgd2lkdGg9IjYiIGhlaWdodD0iNiI+PHBhdGggZD0iTTYgNkgwVjQuMmg0LjJWMEg2djZaIiBvcGFjaXR5PSIuMzAyIi8+PC9zdmc+);background-origin:content-box;background-position:100% 100%;background-repeat:no-repeat;box-sizing:border-box;height:20px;padding:0 3px 3px 0;position:absolute;width:20px}.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-resizable-handle-e,.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.calendar-page{color:var(--panel-page-text);display:flex;flex-direction:column;font-family:var(--font-sans);margin:0;min-height:100%;padding:0}.calendar-page__title{color:var(--panel-page-heading);font-size:28px;font-weight:700;margin:0}.calendar-page__title-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.calendar-page__import-csv-btn{background:#ffffff0f;background:var(--panel-surface-2,#ffffff0f);border:1px solid #ffffff1f;border:1px solid var(--panel-border,#ffffff1f);border-radius:10px;color:var(--panel-page-text);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:14px;font-weight:600;padding:10px 16px}.calendar-page__import-csv-btn:hover{background:#ffffff1a;background:var(--panel-surface-hover,#ffffff1a)}.calendar-modal__file-input{clip:rect(0,0,0,0);height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.calendar-modal__receipt-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.calendar-modal__receipt-hint{color:#ffffff8c;color:var(--panel-fg-65,#ffffff8c);flex:1 1 160px;font-size:12px}.calendar-modal__import-hint{background:#2ecc711f;border:1px solid #2ecc7159;border-radius:8px;color:#ffffffbf;color:var(--panel-fg-80,#ffffffbf);font-size:13px;margin-bottom:12px;padding:10px 12px}.calendar-modal__category-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.calendar-modal__category-pill{align-items:center;background:#ffffff0d;background:var(--panel-surface-2,#ffffff0d);border:1px solid #ffffff24;border:1px solid var(--panel-border,#ffffff24);border-radius:999px;color:var(--panel-page-text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:500;gap:6px;padding:6px 12px}.calendar-modal__category-pill:before{background:#ffffff59;background:var(--pill-accent,var(--panel-fg-40,#ffffff59));border-radius:50%;content:"";flex-shrink:0;height:8px;width:8px}.calendar-modal__category-pill--active{background:#2ecc7126;border-color:#2ecc71;border-color:var(--primary,#2ecc71);box-shadow:0 0 0 1px #2ecc7140}.calendar-modal--csv-import{display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-width:min(920px,calc(100vw - 32px));overflow:hidden}.calendar-modal__csv-intro{color:#ffffffc7;color:var(--panel-fg-80,#ffffffc7);font-size:14px;line-height:1.45;margin:0 0 12px}.calendar-modal__csv-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.calendar-modal__csv-filename{color:#fff9;color:var(--panel-fg-65,#fff9);font-size:13px}.calendar-modal__csv-warnings{color:#f39c12;color:var(--amber,#f39c12);font-size:13px;margin:0 0 12px;padding-left:1.2em}.calendar-modal__csv-table-wrap{border:1px solid #ffffff1a;border:1px solid var(--panel-border,#ffffff1a);border-radius:8px;flex:1 1;margin-bottom:16px;min-height:0;overflow:auto}.calendar-modal__csv-table{border-collapse:collapse;font-size:13px;width:100%}.calendar-modal__csv-table td,.calendar-modal__csv-table th{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--panel-border,#ffffff14);padding:8px 10px;text-align:left;vertical-align:middle}.calendar-modal__csv-table th{background:#1a1d24;background:var(--panel-surface,#1a1d24);color:#ffffffa6;color:var(--panel-fg-65,#ffffffa6);font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:1}.calendar-modal__csv-desc-input{background:#12141a;background:var(--panel-bg,#12141a);border:1px solid #ffffff1f;border:1px solid var(--panel-border,#ffffff1f);border-radius:6px;color:inherit;font-family:inherit;font-size:13px;max-width:280px;min-width:120px;padding:6px 8px;width:100%}.calendar-modal__csv-cat-select{max-width:200px;min-width:140px}.calendar-modal__csv-footer{display:flex;flex-wrap:wrap;gap:10px;padding-top:4px}.calendar-page__entry-visibility{align-items:flex-start;display:flex;flex-direction:column;gap:8px;min-width:0}.calendar-page__entry-visibility-label{color:var(--panel-fg-65);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.switch input[type=checkbox]{display:none}.switch{align-items:center;display:inline-flex;gap:12px;height:auto;width:auto}.switch .slider{background-color:var(--switch-surface);border:2px solid #cfd6dd;border-radius:72px;height:40px;position:relative;transition:all .35s ease-in-out;width:90px}.switch .slider:before{background-color:var(--switch-surface);border:2px solid #cfd6dd;border-radius:50%;box-shadow:3px 8px 8px -2px rgba(0,0,0,.315);content:"";display:block;height:34px;margin-left:1px;margin-top:1px;transition:all .25s ease-in-out;width:34px}.switch input[type=checkbox]:checked+.slider{background-color:#029607;border-color:#0000}.switch input[type=checkbox]:checked+.slider:before{transform:translateX(48px)}.switch__label{color:var(--panel-fg-88);font-size:14px;font-weight:600;min-width:72px;transition:color .25s ease,transform .25s ease}.switch__label--personal{color:var(--panel-fg-72)}.switch__label--shared{color:#029607f2}.calendar-page__body{transition:opacity .22s ease,transform .26s cubic-bezier(.22,1,.36,1)}.calendar-page__body--switching{opacity:.48;pointer-events:none;transform:translateY(5px) scale(.993);-webkit-user-select:none;user-select:none}@media (prefers-reduced-motion:reduce){.calendar-page__body{transition:opacity .12s ease}.calendar-page__body--switching{transform:none}.switch__label{transition:color .12s ease}}.calendar-summary-row{align-items:flex-start;display:flex;gap:24px;margin-bottom:20px}.calendar-summary-left{display:flex;flex:1 1;flex-direction:column;gap:12px}.calendar-salary{align-items:flex-start;display:flex;gap:12px}.calendar-salary__edit{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.calendar-salary__display{align-items:center;display:flex;gap:12px}.calendar-salary__values{display:flex;flex-direction:column;gap:2px}.calendar-salary__actions{align-items:center;display:flex;gap:8px}.calendar-salary__add-btn{background:linear-gradient(90deg,var(--primary),var(--primary-hover));border:none;border-radius:999px;box-shadow:0 6px 18px #2ecc7173;color:#0f1115;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.calendar-salary__add-btn:hover:enabled{box-shadow:0 8px 22px #2ecc718c;transform:translateY(-1px)}.calendar-salary__add-btn:disabled{box-shadow:none;cursor:default;opacity:.4}.calendar-salary__main{color:var(--panel-page-heading);font-size:16px;font-weight:600}.calendar-salary__sub{color:var(--panel-fg-60);font-size:13px}.calendar-salary__svg-btn{align-items:center;background:var(--panel-fill-08);border:1px solid var(--panel-border-25);border-radius:8px;color:var(--panel-page-heading);cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:background .2s,color .2s;width:40px}.calendar-salary__svg-btn:hover{background:var(--primary);border-color:var(--primary);color:#0f1115}.calendar-salary__label{color:var(--panel-fg-80);display:inline-flex;flex-direction:column;font-size:14px;gap:6px}.calendar-salary__label input{background:var(--panel-border-06);border:1px solid var(--panel-border-20);border-radius:8px;color:var(--panel-page-heading);font-size:16px;padding:10px 14px;width:160px}.calendar-salary__label input::placeholder{color:var(--panel-fg-40)}.calendar-progress-wrap{margin-bottom:24px;max-width:560px;width:100%}.calendar-progress{align-items:center;background:var(--panel-border-10);border-radius:100px;display:flex;height:40px;justify-content:flex-start;padding:0 5px;position:relative;width:100%}.calendar-progress__value{border-radius:100px;height:30px;transition:width .35s ease;width:0}.calendar-progress__filled{border-radius:100px;display:flex;flex:0 0 auto;height:30px;min-width:0;overflow:hidden}.calendar-progress__value--spent{background:linear-gradient(90deg,var(--red),#e74c3c);box-shadow:0 4px 20px -4px var(--red);min-width:4px}.calendar-progress__value--card{background:linear-gradient(90deg,var(--primary),var(--primary-hover));box-shadow:0 4px 20px -4px var(--primary)}.calendar-progress__label{color:var(--panel-fg-70);font-size:14px;margin:8px 0 0}.calendar-progress__by-category{color:var(--panel-fg-75);display:flex;flex-wrap:wrap;font-size:13px;gap:6px 14px;list-style:none;margin:6px 0 0;padding:0}.calendar-progress__category-row{align-items:center;display:inline-flex;gap:5px}.calendar-progress__category-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.calendar-progress__category-name{font-weight:500}.calendar-progress__category-amount{color:var(--panel-fg-90)}.calendar-progress__category-pct{color:var(--panel-fg-50);font-size:12px}.calendar-chart-card{background:radial-gradient(circle at top left,var(--elevated-start) 0,var(--elevated-mid) 55%,var(--elevated-end) 100%);border:1px solid var(--panel-border-06);border-radius:18px;box-shadow:0 18px 50px var(--panel-scrim-60);box-sizing:border-box;margin-bottom:24px;max-width:560px;padding:16px 18px 18px;width:100%}.calendar-chart-card--widget{margin-bottom:0;max-width:100%}.calendar-chart-card--compact .calendar-chart__svg{height:120px}.calendar-chart-card__header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:10px}.calendar-chart-card__label{color:var(--panel-fg-60);font-size:12px;letter-spacing:.04em;text-transform:uppercase}.calendar-chart-card__value{color:var(--panel-page-heading);font-size:24px;font-weight:600;margin-top:4px}.calendar-chart-card__sub{color:var(--panel-fg-60);font-size:12px;margin-top:2px}.calendar-chart-card__range{align-items:center;background:var(--panel-fill-03);border-radius:999px;display:inline-flex;gap:6px;padding:4px}.calendar-chart-card__range-btn{background:#0000;border:none;border-radius:999px;color:var(--panel-fg-60);cursor:pointer;font-size:11px;font-weight:500;padding:4px 10px;transition:background .18s ease,color .18s ease}.calendar-chart-card__range-btn--active{background:var(--primary);color:#0f1115}.calendar-chart-card__range-btn:hover:not(.calendar-chart-card__range-btn--active){background:var(--panel-fill-08)}.calendar-chart{margin-top:4px;position:relative}.calendar-chart__svg{display:block;height:200px;overflow:visible;width:100%}.calendar-chart__area{opacity:1}.calendar-chart__line{stroke-width:1.1;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(77,210,255,.6))}.calendar-chart__dot{stroke:#1b9fff;stroke-width:2;fill:#fff}.calendar-chart__cursor-line{stroke:var(--chart-grid-stroke);stroke-width:.4;stroke-dasharray:1.5 1.5}.calendar-chart__axis{color:var(--panel-fg-55);font-size:11px;height:1.2em;margin-top:6px;position:relative}.calendar-chart__axis--invisible{height:0;margin-top:0;overflow:hidden}.calendar-chart__axis-tick{position:absolute;transform:translateX(-50%);white-space:nowrap}.calendar-modal__item-cat{font-size:12px;opacity:.9}.calendar-nav{align-items:center;display:flex;gap:16px;margin-bottom:16px}.calendar-nav__btn{background:var(--panel-fill-08);border:1px solid var(--panel-border-25);border-radius:8px;color:var(--panel-page-heading);cursor:pointer;font-size:18px;padding:8px 14px;transition:background .2s}.calendar-nav__btn:hover{background:var(--panel-fill-15)}.calendar-nav__month{color:var(--panel-page-heading);font-size:18px;font-weight:600;min-width:180px;text-align:center}.calendar-grid-wrap{background:var(--panel-fill-05);border:1px solid var(--panel-border-10);border-radius:12px;display:flex;flex:1 1;flex-direction:column;max-width:100%;min-height:0;padding:16px}.calendar-weekdays{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.calendar-weekdays__cell{color:var(--panel-fg-50);font-size:12px;font-weight:600;text-align:center}.calendar-grid{grid-gap:4px;display:grid;flex:1 1;gap:4px;grid-auto-rows:minmax(0,1fr);grid-template-columns:repeat(7,1fr);min-height:200px}.calendar-day{align-items:center;background:var(--panel-fill-04);border:1px solid #0000;border-radius:8px;color:var(--panel-fg-90);cursor:pointer;display:flex;flex-direction:column;font-size:14px;gap:2px;justify-content:center;min-height:60px;padding:6px;transition:background .15s,border-color .15s}.calendar-day:hover{background:var(--panel-border-10);border-color:var(--panel-border-20)}.calendar-day--empty{cursor:default;pointer-events:none;visibility:hidden}.calendar-day--today{background:#4682dc33;border-color:#6eaafff2;box-shadow:inset 0 0 0 1px #b9daff73,0 0 0 1px #4682dc59;color:#eef6ff}.calendar-day--future{background:#ffc10717;border-color:#ffc10773;border-style:dashed;color:#ffe8b0;opacity:.8}.calendar-day--future:hover{opacity:.85}.calendar-day__badge--scheduled{font-style:italic;opacity:.8}.calendar-day__num{font-weight:600}.calendar-day__badge{font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day__badge--add{color:var(--primary)}.calendar-day__badge--remove{color:var(--red)}.calendar-modal-overlay{align-items:center;background:var(--panel-scrim-60);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.calendar-modal{background:#1e2128;border:1px solid var(--panel-border-12);border-radius:12px;box-shadow:0 8px 32px #0006;max-height:90vh;max-width:400px;overflow:auto;padding:20px;position:relative;width:100%}.calendar-modal__head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.calendar-modal__future-banner{background:#ffc10726;border:1px solid #ffc10766;border-radius:8px;color:#ffc107;font-size:13px;margin-bottom:12px;padding:10px 12px}.calendar-modal__tabs{display:flex;gap:4px;margin-bottom:16px}.calendar-modal__tab{background:#0000;border:1px solid var(--panel-border-20);border-radius:8px;color:var(--panel-fg-70);cursor:pointer;font-size:14px;padding:8px 16px;transition:background .2s,color .2s}.calendar-modal__tab:hover{background:var(--panel-fill-08);color:var(--panel-page-heading)}.calendar-modal__tab--active{background:var(--primary);border-color:var(--primary);color:#0f1115}.calendar-modal__total--scheduled{opacity:.85}.calendar-modal__item--scheduled{opacity:.8}.calendar-modal__title{color:var(--panel-page-heading);font-size:18px;font-weight:600;margin:0}.calendar-modal__close{background:var(--panel-border-10);border:none;border-radius:8px;color:var(--panel-page-heading);cursor:pointer;font-size:20px;height:32px;line-height:1;transition:background .2s;width:32px}.calendar-modal__close:hover{background:var(--panel-border-20)}.calendar-modal__total{border-radius:8px;font-size:16px;font-weight:600;margin-bottom:16px;padding:10px 12px}.calendar-modal__total--add{background:#2ecc7126;color:var(--primary)}.calendar-modal__total--remove{background:#dc354526;color:var(--red)}.calendar-modal__balance-hint{display:block;font-size:12px;font-weight:400;margin-top:6px;opacity:.85}.calendar-modal__section{border-top:1px solid var(--panel-border-10);margin-top:20px;padding:16px}.calendar-modal__section-title{background-color:var(--panel-fill-05);border:1px solid var(--panel-border-10);border-radius:8px;font-size:13px;font-weight:600;margin:0 0 10px;padding:10px 12px}.calendar-modal__section-title--add{color:var(--primary)}.calendar-modal__section-title--remove{color:var(--red)}.calendar-modal__list{list-style:none;margin:0 0 16px;padding:0}.calendar-modal__item{align-items:center;border-radius:8px;display:flex;gap:12px;justify-content:space-between;margin-bottom:6px;padding:10px 12px}.calendar-modal__item--add{background:#2ecc711a;border-left:3px solid var(--primary)}.calendar-modal__item--remove{background:#dc35451a;border-left:3px solid var(--red)}.calendar-modal__item--shared-scope{background:color-mix(in srgb,#5a6578 17%,#0000);background:color-mix(in srgb,var(--entry-profile-color,#5a6578) 17%,#0000);border-left:3px solid #5a6578;border-left:3px solid var(--entry-profile-color,#5a6578)}.calendar-modal__item-text{color:var(--panel-fg-90);font-size:14px}.calendar-modal__item-author{color:var(--panel-fg-55);display:block;font-size:11px;font-weight:600;letter-spacing:.02em;margin-bottom:3px}.calendar-modal__item-delete{background:#0000;border:1px solid var(--panel-border-30);border-radius:6px;color:var(--panel-fg-70);cursor:pointer;font-size:12px;padding:4px 10px;transition:background .2s}.calendar-modal__item-delete:hover{background:var(--panel-border-10)}.calendar-modal__form{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.calendar-modal__form:last-of-type{margin-bottom:0}.calendar-modal__form--entry{align-items:flex-end}.calendar-modal__input{background:var(--panel-input-bg);border:1px solid var(--panel-border);border-radius:var(--radius-sm);color:var(--panel-page-heading);flex:1 1;font-size:14px;min-width:140px;padding:10px 12px}.calendar-modal__input::placeholder{color:var(--panel-fg-40)}.calendar-modal__btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:opacity .2s}.calendar-modal__btn--add{background:var(--primary);color:#0f1115}.calendar-modal__btn--add:hover{opacity:.9}.calendar-modal__btn--remove{background:var(--red);color:var(--panel-page-heading)}.calendar-modal__btn--remove:hover{background:var(--red-hover)}.calendar-modal__btn--small{font-size:12px;padding:6px 12px}.calendar-modal__btn--outline{background:#0000;border:1px solid var(--panel-border-30);color:var(--primary)}.calendar-modal__btn--outline:hover{background:#2ecc7126;border-color:var(--primary)}.calendar-modal__saved-type .calendar-modal__btn--outline{margin-left:4px}.calendar-modal__voice-row{margin:6px 0 10px;width:100%}.calendar-modal__voice-btn{width:100%}.calendar-modal__voice-btn--listening{border-color:var(--panel-fg-65);box-shadow:0 0 0 2px var(--panel-fill-08)}.calendar-modal__voice-preview{background:var(--panel-fill-05);border:1px solid var(--panel-border-12);border-radius:10px;box-sizing:border-box;color:var(--panel-fg-92);font-size:12px;margin:0 0 10px;max-width:94%;padding:10px 12px;width:94%}.calendar-modal__voice-transcript{margin-bottom:6px;word-break:break-word}.calendar-modal__voice-error{color:#ffb3b3}.calendar-modal__voice-btn--mode-remove{background:#dc354533;border:1px solid #dc35458c;color:#ff6b6b}.calendar-modal__voice-btn--mode-add{background:#2ecc712e;border:1px solid #2ecc718c;color:var(--primary)}.calendar-modal__voice-actions{display:flex;flex-direction:column;gap:8px;width:100%}.calendar-modal__voice-actions-btns{display:flex;flex-wrap:wrap;gap:8px}.calendar-modal__voice-status{color:var(--panel-fg-75);font-size:12px;line-height:1.35}.calendar-modal__voice-wave{--voice-level:0;align-items:flex-end;display:flex;gap:3px;height:24px;margin-bottom:2px;margin-top:4px;overflow:hidden}.calendar-modal__voice-wave>span{animation:calendar-voice-wave-idle .7s ease-in-out infinite;background:#2ecc71d9;border-radius:999px;height:6px;transform:scaleY(calc(.25 + var(--voice-level)*2.45));transform-origin:bottom center;width:3px}.calendar-modal__voice-wave>span:nth-child(2n){animation-delay:80ms}.calendar-modal__voice-wave>span:nth-child(3n){animation-delay:.14s}.calendar-modal__voice-wave>span:nth-child(4n){animation-delay:.21s}@keyframes calendar-voice-wave-idle{0%,to{opacity:.45}50%{opacity:1}}.calendar-modal__section{overflow-x:hidden}.calendar-modal__voice-dots{display:inline-flex;margin-left:4px}.calendar-modal__voice-dots>span{animation:calendar-voice-dot 1.2s infinite;opacity:.2}.calendar-modal__voice-dots>span:nth-child(2){animation-delay:.2s}.calendar-modal__voice-dots>span:nth-child(3){animation-delay:.4s}@keyframes calendar-voice-dot{0%,80%,to{opacity:.2}40%{opacity:1}}.calendar-modal__saved{margin-top:0}.calendar-modal__saved-intro{color:var(--panel-fg-70);font-size:13px;margin:0 0 12px}.calendar-modal__saved-list{list-style:none;margin:0 0 20px;padding:0}.calendar-modal__saved-item{align-items:center;border-radius:8px;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px;padding:10px 12px}.calendar-modal__saved-item--add{background:#2ecc711a;border-left:3px solid var(--primary)}.calendar-modal__saved-item--remove{background:#dc35451a;border-left:3px solid var(--red)}.calendar-modal__saved-item--shared-scope{background:color-mix(in srgb,#5a6578 17%,#0000);background:color-mix(in srgb,var(--entry-profile-color,#5a6578) 17%,#0000);border-left:3px solid #5a6578;border-left:3px solid var(--entry-profile-color,#5a6578)}.calendar-modal__saved-item-text{color:var(--panel-fg-90);font-size:14px}.calendar-modal__saved-item-actions{align-items:center;display:flex;gap:8px}.calendar-modal__saved-form{border-top:1px solid var(--panel-border-10);display:flex;flex-direction:column;gap:10px;padding-top:16px}.calendar-modal__saved-form .calendar-modal__section-title{margin:0 0 4px}.calendar-modal__saved-type{align-items:center;color:var(--panel-fg-80);display:flex;font-size:14px;gap:8px}.calendar-modal__saved-type--column{align-items:flex-start;flex-direction:column}.calendar-modal__entry-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.calendar-modal__entry-toggle{margin-left:auto}.calendar-modal__select-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;width:100%}.calendar-modal__select-row .ns-native-select{flex:1 1;min-width:190px}.calendar-category-popup-overlay{align-items:center;background:#000000a6;border-radius:16px;display:flex;inset:0;justify-content:center;position:absolute;z-index:20}.calendar-category-popup{background:linear-gradient(180deg,#252a33,#1e2128);border:1px solid var(--panel-border-12);border-radius:12px;box-shadow:0 20px 40px #0006;max-width:90%;min-width:280px;padding:20px 24px}.calendar-category-popup__title{color:var(--panel-page-heading);font-size:16px;font-weight:600;margin:0 0 16px}.calendar-category-popup__form{display:flex;flex-direction:column;gap:14px}.calendar-category-popup__label{color:var(--panel-fg-80);display:flex;flex-direction:column;font-size:13px;gap:6px}.calendar-category-popup__input{background:var(--panel-border-06);border:1px solid var(--panel-border-20);border-radius:8px;color:var(--panel-page-heading);font-size:14px;padding:10px 12px}.calendar-category-popup__input--percent{width:80px}.calendar-category-popup__actions{display:flex;gap:10px;margin-top:6px}.calendar-color-picker{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.calendar-color-picker__swatch{border:2px solid #0000;border-radius:8px;cursor:pointer;flex-shrink:0;height:32px;padding:0;transition:transform .15s,box-shadow .15s;width:32px}.calendar-color-picker__swatch:hover{box-shadow:0 4px 12px #00000059;transform:scale(1.08)}.calendar-color-picker__swatch--selected{border-color:var(--panel-page-heading);box-shadow:0 0 0 1px var(--panel-fg-50),0 4px 12px #00000059;transform:scale(1.05)}.calendar-color-picker__custom{align-items:center;color:var(--panel-fg-60);cursor:pointer;display:inline-flex;font-size:12px;gap:8px}.calendar-color-picker__custom-label{flex-shrink:0}.calendar-color-picker__custom-input{background:var(--panel-fill-08);border:2px solid var(--panel-border-25);border-radius:8px;cursor:pointer;height:32px;padding:2px;width:32px}.calendar-color-picker__custom-input::-webkit-color-swatch-wrapper{padding:0}.calendar-color-picker__custom-input::-webkit-color-swatch{border:none;border-radius:6px}@media (max-width:960px){.calendar-summary-row{align-items:stretch;flex-direction:column;gap:16px}.calendar-summary-left{max-width:100%}.calendar-chart-card{max-width:100%;width:100%}.calendar-page__title-row{align-items:stretch;flex-direction:column;gap:10px}.calendar-page__import-csv-btn{justify-content:center;width:100%}.calendar-salary__main{font-size:15px}}@media (max-width:600px){.calendar-page__title{font-size:22px}.calendar-modal-overlay{align-items:flex-end;justify-content:center;padding:12px 12px max(12px,env(safe-area-inset-bottom,0px))}.calendar-modal{border-radius:16px 16px 0 0;max-height:min(92dvh,100%);max-width:100%;padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px));width:100%}.calendar-modal--csv-import{border-radius:16px 16px 0 0;max-height:min(94dvh,100%)}.calendar-modal__close{height:44px;min-width:44px;width:44px}.calendar-modal__tab{flex:1 1;min-height:44px;text-align:center}.calendar-modal__tabs{gap:6px}.calendar-grid-wrap{-webkit-overflow-scrolling:touch;margin-left:-4px;margin-right:-4px;overflow-x:auto;padding-left:4px;padding-right:4px}.calendar-grid,.calendar-weekdays{min-width:min(100%,320px)}.calendar-nav__btn{min-height:44px;min-width:44px}.calendar-day,.calendar-modal__btn{min-height:44px}.calendar-modal__category-pill{min-height:40px;padding:8px 14px}}@media (max-width:380px){.calendar-weekdays__cell{font-size:10px}.calendar-day__num{font-size:13px}}.settings-page{background:linear-gradient(180deg,var(--panel-bg-start) 0,var(--panel-bg-end) 100%);border:1px solid var(--panel-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);color:var(--panel-page-text);margin:0;max-width:1100px;padding:24px}.settings-page h1,.settings-page h2{color:var(--panel-page-heading)}.settings-page p{color:var(--panel-subtitle)}.settings-page .calendar-modal__section{border-top-color:var(--panel-border-soft)}.settings-page .calendar-modal__input{background:var(--panel-input-bg);border-color:var(--panel-border);color:var(--panel-page-heading)}.settings-page .calendar-modal__input::placeholder{color:var(--panel-fg-45)}.settings-page input[type=color]{background:var(--panel-input-bg);border:1px solid var(--panel-border);border-radius:8px}.settings-page input[type=file]{color:var(--panel-fg-88)}.settings-page input[type=file]::-webkit-file-upload-button{background:var(--panel-surface);border:1px solid var(--panel-border);border-radius:8px;color:var(--panel-page-heading);margin-right:10px;padding:7px 10px}.settings-page input[type=file]::file-selector-button{background:var(--panel-surface);border:1px solid var(--panel-border);border-radius:8px;color:var(--panel-page-heading);margin-right:10px;padding:7px 10px}.settings-page .calendar-modal__saved-item{background:var(--panel-fill-04);border:1px solid var(--panel-border-soft)}.settings-page .calendar-modal__btn--outline{border-color:#2ecc7173;color:var(--settings-outline-text)}.settings-theme__hint{color:var(--panel-subtitle);font-size:14px;margin:0 0 12px}.settings-theme__toggle{display:flex;flex-wrap:wrap;gap:10px}.settings-theme__btn{background:var(--panel-surface);border:1px solid var(--panel-border-soft);border-radius:var(--radius-sm);color:var(--panel-page-text);cursor:pointer;flex:1 1;font-size:14px;font-weight:600;min-width:120px;padding:10px 16px;transition:background .18s ease,border-color .18s ease,color .18s ease}.settings-theme__btn:hover{background:var(--panel-fill-08);border-color:var(--panel-border)}.settings-theme__btn--active{background:linear-gradient(90deg,var(--primary),var(--primary-hover));border-color:#0000;color:var(--on-primary)}.settings-page .calendar-modal__item-delete{border-color:var(--panel-border-28);color:var(--panel-fg-84)}@media (max-width:1024px){.settings-page{border-radius:var(--radius-md);max-width:none;padding:16px 14px}}@media (max-width:600px){.settings-page{border-left:none;border-radius:0;border-right:none;box-shadow:none;padding:14px 12px}.settings-theme__btn{min-height:44px;min-width:0}.settings-page .calendar-modal__btn,.settings-page .calendar-modal__btn--add{min-height:44px}}
/*# sourceMappingURL=main.da197fa3.css.map*/