.main-content{margin:0 auto;max-width:680px;padding:24px 16px 64px}.loading{padding:48px}.empty-state,.loading{color:var(--color-text-secondary);text-align:center}.empty-state{padding:48px 16px}.muted{color:var(--color-text-secondary);font-size:.9rem}.nav-bar{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;gap:16px;padding:12px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.nav-brand{font-size:1.1rem;font-weight:700;margin-right:8px}.nav-links{display:flex;flex:1 1;gap:4px}.nav-link{border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.9rem;font-weight:500;padding:6px 12px;text-decoration:none;transition:background .15s,color .15s}.nav-link:hover{background:var(--color-bg);color:var(--color-text);text-decoration:none}.nav-link.active{background:var(--color-primary);color:#fff}.nav-logout{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:.85rem;padding:6px 12px}.nav-logout:hover{border-color:var(--color-danger);color:var(--color-danger)}.auth-page{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:24px}.auth-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-width:400px;padding:32px;width:100%}.auth-card h2{margin-bottom:20px;text-align:center}.auth-links{display:flex;flex-direction:column;font-size:.85rem;gap:4px;margin-top:16px;text-align:center}.form-field{margin-bottom:12px}.form-field label{color:var(--color-text-secondary);display:block;font-size:.85rem;font-weight:500;margin-bottom:4px}.form-field input[type=date],.form-field input[type=email],.form-field input[type=number],.form-field input[type=password],.form-field input[type=text],.form-field select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.95rem;padding:8px 12px;transition:border-color .15s;width:100%}.form-field input:focus,.form-field select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb26;outline:none}.form-row{display:flex;gap:12px}.form-row .form-field{flex:1 1}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.form-error{background:var(--color-danger-light);color:var(--color-danger)}.form-error,.form-success{border-radius:var(--radius-sm);font-size:.9rem;margin-bottom:12px;padding:8px 12px}.form-success{background:var(--color-success-light);color:var(--color-success)}.btn-primary{background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:background .15s}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;font-size:.9rem;padding:8px 16px}.btn-secondary:hover{background:var(--color-bg)}.btn-small{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:.8rem;padding:4px 8px}.btn-small:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-small.btn-danger{border-color:var(--color-danger);color:var(--color-danger)}.btn-icon{align-items:center;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:1.1rem;height:36px;justify-content:center;width:36px}.btn-icon:hover{border-color:var(--color-primary)}.btn-back,.btn-icon:hover{color:var(--color-primary)}.btn-back{background:none;border:none;cursor:pointer;font-size:.9rem;margin-bottom:16px;padding:0}.full-width{width:100%}.questionnaire{padding-top:8px}.date-nav{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:24px}.date-title{font-size:1.3rem;text-align:center}.date-subtitle{color:var(--color-text-secondary);display:block;font-size:.8rem;font-weight:400}.goal-cards{display:flex;flex-direction:column;gap:12px}.goal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px;transition:border-color .15s}.goal-card.saved{border-left:3px solid var(--color-success)}.goal-card.not-due{opacity:.65}.goal-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.goal-card-title h3{font-size:1rem;font-weight:600}.due-badge,.freq-badge{border-radius:10px;display:inline-block;font-size:.7rem;margin-left:6px;padding:1px 6px;vertical-align:middle}.due-badge{background:var(--color-warning-light);color:var(--color-warning)}.freq-badge{background:var(--color-bg)}.freq-badge,.target-badge{color:var(--color-text-secondary)}.target-badge{font-size:.8rem}.goal-card-input{align-items:center;display:flex;gap:12px}.binary-toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;overflow:hidden}.binary-toggle-btn{background:var(--color-surface);border:none;color:var(--color-text-secondary);cursor:pointer;font-size:.85rem;font-weight:500;padding:4px 14px;transition:background .15s,color .15s}.binary-toggle-btn+.binary-toggle-btn{border-left:1px solid var(--color-border)}.binary-toggle-btn.active{background:var(--color-primary);color:#fff}.number-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:1rem;padding:6px 10px;text-align:center;width:100px}.number-input:focus{border-color:var(--color-primary);outline:none}.goal-card-actions{display:flex;gap:6px;margin-left:auto}.btn-notes{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);padding:4px 10px}.btn-notes,.btn-save{cursor:pointer;font-size:.8rem}.btn-save{background:var(--color-primary);border:none;border-radius:var(--radius-sm);color:#fff;font-weight:500;padding:4px 12px}.btn-save:disabled{background:var(--color-muted);cursor:default}.notes-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:.85rem;margin-top:10px;padding:8px;resize:vertical;width:100%}.notes-input:focus{border-color:var(--color-primary);outline:none}.goals-page{padding-top:8px}.goals-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.goals-section{margin-bottom:24px}.section-label{color:var(--color-text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.goal-row{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;justify-content:space-between;margin-bottom:6px;padding:12px 16px}.goal-row-info{cursor:pointer;flex:1 1}.goal-row-info:hover .goal-row-title{color:var(--color-primary)}.goal-row-title{font-weight:500;transition:color .15s}.goal-row-meta{color:var(--color-text-secondary);font-size:.8rem;margin-left:8px}.goal-row-actions{display:flex;flex-shrink:0;gap:4px;margin-left:12px}.goal-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px}.goal-form h3{margin-bottom:16px}.history-page{padding-top:8px}.history-header{margin-bottom:24px}.history-header h2{margin-bottom:4px}.history-desc{margin-bottom:8px}.history-desc,.history-meta{color:var(--color-text-secondary)}.history-meta{display:flex;font-size:.85rem;gap:12px}.status-badge{border-radius:10px;font-size:.75rem;font-weight:500;padding:1px 8px}.status-active{background:var(--color-success-light);color:var(--color-success)}.status-paused{background:var(--color-warning-light);color:var(--color-warning)}.status-archived{background:var(--color-bg);color:var(--color-muted)}.history-stats{display:flex;gap:12px;margin-bottom:24px}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex:1 1;padding:16px;text-align:center}.stat-value{font-size:1.5rem;font-weight:700}.stat-label{color:var(--color-text-secondary);font-size:.75rem;letter-spacing:.03em;text-transform:uppercase}.history-list{margin-top:16px}.history-list h3{margin-bottom:12px}.history-row{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;font-size:.9rem;gap:12px;margin-bottom:4px;padding:10px 12px}.history-row.hit{border-left:3px solid var(--color-success)}.history-row.miss{border-left:3px solid var(--color-danger)}.history-date{color:var(--color-text-secondary);font-size:.85rem;min-width:90px}.history-value{font-weight:500}.history-target{color:var(--color-muted);font-weight:400}.history-notes{color:var(--color-text-secondary);font-size:.8rem;margin-left:auto}.calendar-page{padding-top:8px}.calendar-nav{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:20px}.calendar-grid{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.calendar-header-row{background:var(--color-bg);border-bottom:1px solid var(--color-border);display:grid;grid-template-columns:repeat(7,1fr)}.calendar-header-cell{color:var(--color-text-secondary);font-size:.75rem;font-weight:600;padding:8px;text-align:center;text-transform:uppercase}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-cell{align-items:center;aspect-ratio:1;border:1px solid #0000;cursor:pointer;display:flex;flex-direction:column;justify-content:center;position:relative;transition:background .15s}.calendar-cell:hover:not(.empty){background:var(--color-bg)}.calendar-cell.empty{cursor:default}.calendar-cell.today{background:#2563eb0d;border-color:var(--color-primary);border-radius:var(--radius-sm)}.calendar-day{font-size:.9rem;font-weight:500}.calendar-dot{border-radius:50%;height:6px;margin-top:2px;width:6px}.calendar-dot.complete{background:var(--color-success)}.calendar-dot.partial{background:var(--color-warning)}.calendar-legend{color:var(--color-text-secondary);display:flex;font-size:.8rem;gap:16px;justify-content:center;margin-top:16px}.legend-dot{border-radius:50%;display:inline-block;height:8px;margin-right:4px;vertical-align:middle;width:8px}.legend-dot.complete{background:var(--color-success)}.legend-dot.partial{background:var(--color-warning)}@media (max-width:600px){.main-content{padding:16px 12px 48px}.nav-bar{padding:10px 12px}.goal-card-input{flex-wrap:wrap}.goal-row{align-items:flex-start;flex-direction:column;gap:8px}.goal-row-actions{margin-left:0}.history-stats{flex-wrap:wrap}.stat-card{min-width:calc(50% - 6px)}.form-row{flex-direction:column;gap:0}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#fafafa;--color-surface:#fff;--color-text:#1a1a1a;--color-text-secondary:#666;--color-border:#e0e0e0;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-success:#16a34a;--color-success-light:#dcfce7;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-danger:#dc2626;--color-danger-light:#fee2e2;--color-muted:#9ca3af;--radius:8px;--radius-sm:4px;--shadow:0 1px 3px #00000014;--shadow-lg:0 4px 12px #0000001a}body{-webkit-font-smoothing:antialiased;background:#fafafa;background:var(--color-bg);color:#1a1a1a;color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:#2563eb;color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}
/*# sourceMappingURL=main.c3eb2c00.css.map*/