:root{--gs-bg:#f5f7f5;--gs-surface:#fff;--gs-sage-card:#e8f0e6;--gs-bottom-nav:#e8f3e9;--gs-nav-selected:#1b5e20;--gs-nav-unselected:#6b7c70;--gs-accent-red:#d32f2f;--gs-text-primary:#0d1f12;--gs-text-secondary:#4a5a4e;--gs-text-muted:#6b7a6f;--gs-outline-soft:#dde5dd;--gs-outline-strong:#b8c4b8;--gs-done-green:#2e7d32;--gs-filter-pill-selected:#d8ead4;--gs-sort-chip-selected:#e3ede3;--gs-login-card:#f7f7f7;--gs-login-field-fill:#f5f5f5;--gs-login-gradient-start:#46923a;--gs-login-gradient-end:#205318;--gs-login-btn-start:#41fa3440;--gs-login-btn-end:#114e2640;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background-color:var(--gs-bg);width:100%;height:100dvh;color:var(--gs-text-primary);overflow:hidden}body{-webkit-user-select:none;user-select:none;place-items:center;min-width:320px;margin:0;display:flex}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#00000040}button,input,select,textarea{font-family:inherit}.gs-date-picker-input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.app-container{background-color:var(--gs-bg);will-change:transform;flex-direction:column;width:100%;max-width:480px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden;transform:translateZ(0);box-shadow:0 0 20px #00000014}@media (width>=481px){.app-container{border-left:1px solid var(--gs-outline-soft);border-right:1px solid var(--gs-outline-soft)}}.main-content{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;padding-bottom:4px;display:flex;position:relative;overflow-y:auto}.bottom-nav{background-color:var(--gs-bottom-nav);padding:6px 4px calc(10px + env(safe-area-inset-bottom)) 4px;z-index:100;flex-shrink:0;justify-content:space-around;align-items:flex-start;min-height:64px;display:flex;box-shadow:0 -2px 10px #0000000f}.nav-item{cursor:pointer;color:var(--gs-nav-unselected);background:0 0;border:none;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;padding:0 4px;transition:opacity .2s,color .2s;display:flex}.nav-item.selected{color:var(--gs-nav-selected)}.indicator-bar{background-color:var(--gs-nav-selected);visibility:hidden;border-radius:2px;width:78%;max-width:88px;height:3px;margin-bottom:4px}.nav-item.selected .indicator-bar{visibility:visible}.nav-icon{width:24px;height:24px;margin-bottom:2px}.nav-label{text-align:center;white-space:nowrap;font-size:9px;font-weight:500;line-height:11px}.nav-item.selected .nav-label{font-weight:600}.login-screen{background:linear-gradient(180deg, var(--gs-login-gradient-start) 0%, var(--gs-login-gradient-end) 100%);background-position:50%;background-size:cover;justify-content:center;align-items:center;width:100%;height:100%;padding:18px;display:flex;position:relative}.login-card{background-color:var(--gs-login-card);border-radius:16px;flex-direction:column;align-items:center;width:94%;max-width:340px;padding:24px 16px;display:flex;box-shadow:0 8px 24px #00000026}.login-header{justify-content:center;align-items:center;width:100%;margin-bottom:24px;display:flex}.login-header span{color:#000;margin-right:12px;font-size:16px;font-weight:500}.login-logo{object-fit:contain;width:139px;height:27px}.pill-input-container{background-color:var(--gs-login-field-fill);border:1px solid #0000;border-radius:28px;width:100%;height:56px;margin-bottom:20px;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #0000000f}.pill-input-container input{color:#000;background:0 0;border:none;outline:none;width:100%;height:100%;padding:0 20px;font-size:14px;font-weight:500}.pill-input-container input::placeholder{color:#6b6b6b}.login-button{color:#000;cursor:pointer;background:linear-gradient(135deg,#41fa3459 0%,#114e2659 100%),#e0f2e1;border:none;border-radius:26px;justify-content:center;align-items:center;width:100%;height:36px;margin-top:4px;font-size:14px;font-weight:500;transition:opacity .2s,transform .1s;display:flex}.login-button:disabled{opacity:.55;cursor:not-allowed}.login-button:active:not(:disabled){transform:scale(.98)}.error-text{color:var(--gs-accent-red);margin-top:4px;padding-left:16px;font-size:12px}.success-text{color:#1b5e20;text-align:center;background-color:#e8f5e9;border:1px solid #c8e6c9;border-radius:8px;margin-top:10px;padding:8px 12px;font-size:13px;font-weight:600}.login-links-row{justify-content:space-between;align-items:center;width:100%;margin-top:16px;padding:0 4px;display:flex}.auth-link-button{color:#1b5e20;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:4px 2px;font-size:12.5px;font-weight:600;text-decoration:underline;transition:opacity .2s,color .2s}.auth-link-button:hover{opacity:.8;color:#2e7d32}.auth-link-button:active{transform:scale(.97)}.task-card{background-color:var(--gs-sage-card);border:1px solid #dde5dd99;border-radius:22px;margin-bottom:12px;padding:14px 16px;box-shadow:0 2px 8px #0000000a}.filter-pill{background:var(--gs-surface);border:1px solid var(--gs-outline-soft);color:var(--gs-text-secondary);cursor:pointer;white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.filter-pill.selected{background:var(--gs-filter-pill-selected);border-color:var(--gs-nav-selected);color:var(--gs-text-primary);font-weight:600}.sort-chip{background:var(--gs-surface);border:1px solid var(--gs-outline-soft);color:var(--gs-text-secondary);cursor:pointer;border-radius:50px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;display:flex}.sort-chip.selected{background:var(--gs-sort-chip-selected);border-color:var(--gs-nav-selected);color:var(--gs-text-primary);font-weight:600}.floating-layer-selector{top:calc(12px + env(safe-area-inset-top,0px));-webkit-backdrop-filter:blur(10px);z-index:50;background:#232628d9;border-radius:14px;flex-direction:column;align-items:center;width:86px;padding:12px 6px;display:flex;position:absolute;right:14px;box-shadow:0 4px 18px #0006}.layer-item{cursor:pointer;flex-direction:column;align-items:center;width:100%;display:flex}.layer-label{color:#fff;letter-spacing:.4px;text-transform:uppercase;text-align:center;white-space:nowrap;margin-bottom:5px;font-size:10.5px;font-weight:600}.layer-item.selected .layer-label{color:#fff;font-weight:700}.layer-thumb{object-fit:cover;border:1.5px solid #0000;border-radius:14px;width:66px;height:50px;transition:all .2s}.layer-item.selected .layer-thumb{border:2px solid #fff;box-shadow:0 2px 8px #ffffff40}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:20px;width:100%;max-width:340px;padding:20px;box-shadow:0 10px 25px #0003}.no-scrollbar::-webkit-scrollbar{width:0;height:0;display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.date-preset-btn{background-color:var(--gs-sage-card);border:1px solid var(--gs-outline-soft);color:var(--gs-text-secondary);cursor:pointer;text-align:center;border-radius:14px;flex:1;padding:7px 4px;font-size:11.5px;font-weight:600;transition:all .2s}.date-preset-btn:hover,.date-preset-btn:active{color:var(--gs-nav-selected);border-color:var(--gs-nav-selected);background-color:#e3ede3}.date-filter-input{border:1.5px solid var(--gs-outline-soft);width:100%;height:42px;color:var(--gs-text-primary);box-sizing:border-box;background-color:#fafafa;border-radius:12px;outline:none;padding:8px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.date-filter-input:focus{border-color:var(--gs-nav-selected);background-color:#fff}@keyframes indeterminateProgress{0%{transform:translate(-100%)}50%{transform:translate(60%)}to{transform:translate(250%)}}.indeterminate-progress-bar{will-change:transform;animation:1.4s cubic-bezier(.4,0,.2,1) infinite indeterminateProgress}
