@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}.__variable_f367f3{--font-inter:"__Inter_f367f3","__Inter_Fallback_f367f3"}*,:after,:before{box-sizing:border-box}:root{--font:var(--font-inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);--bg:#f1f5f9;--surface:#fff;--surface-2:#f8fafc;--border:#e2e8f0;--border-focus:#6366f1;--text:#0f172a;--text-muted:#64748b;--text-subtle:#94a3b8;--primary:#6366f1;--primary-hover:#4f46e5;--primary-light:#eef2ff;--overdue:#ef4444;--overdue-light:#fef2f2;--overdue-border:#fecaca;--ok:#22c55e;--ok-light:#f0fdf4;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 2px rgba(0,0,0,.06);--shadow:0 1px 4px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.04);--shadow-lg:0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);--transition:150ms cubic-bezier(.4,0,.2,1)}body{margin:0;font-family:var(--font);font-size:15px;line-height:1.6;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-inner{max-width:860px;margin:0 auto;padding:.875rem 1.5rem;display:flex;align-items:center}.nav-brand{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:var(--primary);text-decoration:none}.app-shell{padding:2rem 1.5rem 4rem}.page{max-width:860px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem}.page-header h1{margin:0;font-size:1.6rem;font-weight:700;letter-spacing:-.025em;color:var(--text)}.stats-bar{display:flex;gap:1rem;margin-bottom:1.75rem}.stat-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.625rem 1rem;display:flex;flex-direction:column;gap:.1rem;box-shadow:var(--shadow-sm)}.stat-chip--overdue{border-color:var(--overdue-border);background:var(--overdue-light)}.stat-value{font-size:1.4rem;font-weight:700;line-height:1}.stat-label{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.stat-chip--overdue .stat-value{color:var(--overdue)}.btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.8375rem;font-weight:500;cursor:pointer;border:1px solid transparent;text-decoration:none;transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);white-space:nowrap;font-family:var(--font)}.btn--primary{background:var(--primary);color:#fff;box-shadow:0 1px 2px rgba(99,102,241,.3)}.btn--primary:hover{background:var(--primary-hover);box-shadow:0 2px 6px rgba(99,102,241,.4)}.btn--secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn--secondary:hover{background:var(--surface-2);border-color:#cbd5e1}.btn--danger{background:transparent;color:var(--overdue);border-color:var(--overdue-border)}.btn--danger:hover{background:var(--overdue-light)}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-icon{background:none;border:none;cursor:pointer;color:var(--text-subtle);padding:.35rem;border-radius:var(--radius-sm);font-size:.95rem;line-height:1;transition:background var(--transition),color var(--transition);display:flex;align-items:center}.btn-icon:hover{background:var(--overdue-light);color:var(--overdue)}.friends-list{display:flex;flex-direction:column;gap:.625rem}.friend-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}.friend-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.friend-card--overdue{border-color:var(--overdue-border);background:linear-gradient(to right,var(--overdue-light),var(--surface));border-left:3px solid var(--overdue)}.friend-card--selected{border-color:#6366f1;background:linear-gradient(to right,#eef2ff,var(--surface))}.friend-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:-.01em}.friend-card-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.friend-name{font-size:1rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-meta{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.friend-goal{font-size:.72rem;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:.1rem .5rem}.friend-card-actions{display:flex;gap:.5rem;flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.01em}.badge--overdue{background:var(--overdue-light);color:var(--overdue);border:1px solid var(--overdue-border)}.badge--ok{background:var(--ok-light);color:var(--ok);border:1px solid #bbf7d0}.badge--neutral{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.empty-state{text-align:center;color:var(--text-muted);padding:4rem 0;font-size:.9375rem}.empty-state-icon{font-size:2.5rem;margin-bottom:.75rem}.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;animation:fade-in .12s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:460px;box-shadow:var(--shadow-lg);animation:slide-up .18s cubic-bezier(.34,1.56,.64,1)}@keyframes slide-up{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 1rem}.modal-header h2{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.01em}.modal-close{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);font-size:.75rem;transition:background var(--transition),color var(--transition)}.modal-close:hover{background:var(--bg);color:var(--text)}.modal-body{padding:0 1.5rem 1.5rem}.form{gap:.875rem}.form,.form-label{display:flex;flex-direction:column}.form-label{gap:.3rem;font-size:.8125rem;font-weight:500;color:var(--text)}.form-input{padding:.5625rem .75rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem;font-family:var(--font);background:var(--surface);color:var(--text);transition:border-color var(--transition),box-shadow var(--transition)}.form-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(99,102,241,.12)}.form-input::placeholder{color:var(--text-subtle)}.form-textarea{min-height:76px;resize:vertical}.form-actions{display:flex;gap:.625rem;justify-content:flex-end;padding-top:.25rem}.back-link{display:inline-flex;align-items:center;gap:.375rem;color:var(--text-muted);text-decoration:none;font-size:.8375rem;font-weight:500;margin-bottom:1.5rem;padding:.3rem .6rem .3rem .3rem;border-radius:var(--radius-sm);transition:background var(--transition),color var(--transition)}.back-link:hover{background:var(--surface);color:var(--text)}.detail-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);margin-bottom:1rem}.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.detail-header-left{display:flex;align-items:center;gap:.875rem}.detail-avatar{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:#fff;flex-shrink:0}.detail-name{font-size:1.3rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .3rem}.detail-fields{gap:.75rem}.detail-field,.detail-fields{display:flex;flex-direction:column}.detail-field{gap:.15rem}.detail-field-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.detail-field-value{font-size:.9375rem;color:var(--text)}.detail-actions{display:flex;gap:.625rem;flex-wrap:wrap;padding-top:1.25rem;border-top:1px solid var(--border);margin-top:1.25rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-title{font-size:.9375rem;font-weight:600;margin:0;letter-spacing:-.01em}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--bg)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:380px;box-shadow:var(--shadow)}.auth-title{margin:0 0 .25rem;font-size:1.4rem;font-weight:700;letter-spacing:-.025em;color:var(--primary)}.auth-subtitle{margin:0 0 1.5rem;font-size:.875rem;color:var(--text-muted)}.auth-error{margin:0;font-size:.8125rem;color:var(--overdue);background:var(--overdue-light);border:1px solid var(--overdue-border);border-radius:var(--radius-sm);padding:.5rem .75rem}.auth-footer{margin:1.25rem 0 0;font-size:.8125rem;color:var(--text-muted);text-align:center}.auth-link{color:var(--primary);text-decoration:none;font-weight:500}.auth-link:hover{text-decoration:underline}.nav-inner{justify-content:space-between}.nav-right{display:flex;align-items:center;gap:.5rem}.nav-admin,.nav-logout{font-size:.8rem;padding:.375rem .75rem}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table th{text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:0 1rem .75rem}.admin-table td,.admin-table th{border-bottom:1px solid var(--border)}.admin-table td{padding:.875rem 1rem;vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-email{font-weight:500;color:var(--text)}.admin-date{color:var(--text-muted);font-size:.8125rem}.admin-actions{display:flex;gap:.375rem;flex-wrap:wrap}.contact-list{display:flex;flex-direction:column;gap:.5rem}.contact-entry{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition)}.contact-entry:hover{border-color:#cbd5e1}.contact-entry-info{display:flex;flex-direction:column;gap:.15rem}.contact-date{font-size:.875rem;font-weight:500;color:var(--text)}.contact-notes{font-size:.8rem;color:var(--text-muted)}.nav-links{display:flex;align-items:center;gap:.125rem;margin-left:1rem}.nav-link{font-size:.8rem;padding:.375rem .625rem;color:var(--text-muted);text-decoration:none;border-radius:var(--radius-sm);font-weight:500;transition:background var(--transition),color var(--transition);white-space:nowrap}.nav-link:hover{background:var(--bg);color:var(--text)}.nav-link--active{color:var(--primary);background:var(--primary-light)}.filter-tabs{display:flex;gap:.375rem;margin-bottom:1.25rem}.filter-tab{padding:.375rem .875rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition);font-family:var(--font)}.filter-tab:hover{background:var(--surface-2);color:var(--text)}.filter-tab--active{background:var(--primary);color:#fff;border-color:var(--primary)}.tasks-list{display:flex;flex-direction:column;gap:.5rem}.task-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.875rem 1rem .875rem 1.125rem;display:flex;align-items:flex-start;gap:.875rem;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),transform var(--transition)}.task-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.task-card--overdue{border-color:var(--overdue-border);background:linear-gradient(to right,var(--overdue-light),var(--surface));border-left:3px solid var(--overdue)}.task-card--completed{opacity:.65}.task-card--completed:hover{transform:none;box-shadow:var(--shadow-sm)}.task-checkbox{width:20px;height:20px;flex-shrink:0;border:2px solid var(--border);border-radius:6px;background:var(--surface);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition),border-color var(--transition);margin-top:1px;color:#fff}.task-checkbox:hover{border-color:var(--primary)}.task-checkbox--checked{background:var(--ok);border-color:var(--ok)}.task-card-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.task-title-row{display:flex;align-items:center;gap:.5rem}.task-title{font-size:.9375rem;font-weight:500;color:var(--text)}.task-title--done{text-decoration:line-through;color:var(--text-muted)}.task-notes{margin:0;font-size:.8rem;color:var(--text-muted)}.task-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.1rem}.task-due{font-size:.75rem;color:var(--text-muted)}.task-due--overdue{color:var(--overdue);font-weight:600}.task-card-actions{display:flex;gap:.375rem;flex-shrink:0;margin-top:1px}.task-event-badge{font-size:.72rem;font-weight:600;color:var(--primary);background:var(--primary-light);border:1px solid #c7d2fe;border-radius:999px;padding:.1rem .55rem}.task-event-fields{display:flex;flex-direction:column;gap:.75rem;padding:.875rem 1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.priority-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;display:inline-block}.priority-dot--high{background:#ef4444}.priority-dot--medium{background:#f59e0b}.priority-dot--low{background:#94a3b8}.task-priority-badge{font-size:.68rem;font-weight:600;padding:.1rem .45rem;border-radius:999px;border:1px solid}.task-priority-badge--high{color:#ef4444;background:#fef2f2;border-color:#fecaca}.task-priority-badge--medium{color:#d97706;background:#fffbeb;border-color:#fde68a}.task-priority-badge--low{color:var(--text-muted);background:var(--surface-2);border-color:var(--border)}.habits-list{display:flex;flex-direction:column;gap:.875rem}.habit-add-form{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.habit-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.125rem;display:flex;flex-direction:column;gap:.625rem;transition:border-color var(--transition)}.habit-card--done{border-color:#86efac}.habit-card-top{display:flex;align-items:center;gap:.875rem}.habit-card-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.habit-check{width:28px;height:28px;flex-shrink:0;border:2px solid var(--border);border-radius:50%;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff;transition:background var(--transition),border-color var(--transition)}.habit-check--done,.habit-check:hover{border-color:#22c55e}.habit-check--done{background:#22c55e}.habit-title{font-size:.9375rem;font-weight:500;color:var(--text)}.habit-title--done{text-decoration:line-through;color:var(--text-muted)}.habit-streak{font-size:.75rem;color:var(--text-muted)}.habit-delete{width:28px;height:28px;flex-shrink:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--text-subtle);display:flex;align-items:center;justify-content:center;transition:color var(--transition),background var(--transition)}.habit-delete:hover{color:var(--overdue);background:#fef2f2;border-color:#fecaca}.habit-history-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.habit-grid{display:grid;grid-template-columns:repeat(30,1fr);grid-gap:3px;gap:3px}.habit-cell{aspect-ratio:1;border-radius:2px;background:var(--surface-2)}.habit-cell--done{background:#22c55e}.habit-cell--today{outline:2px solid var(--primary);outline-offset:1px}.cal-nav{display:flex;align-items:center;justify-content:center;gap:.875rem;margin-bottom:1.25rem}.cal-month-label{font-size:1.05rem;font-weight:600;min-width:160px;text-align:center}.cal-nav-btn{width:32px;height:32px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm)}.cal-nav-btn:hover{background:var(--surface-2);color:var(--text)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--border);grid-gap:1px;gap:1px;box-shadow:var(--shadow-sm);margin-bottom:1.25rem}.cal-day-header{background:var(--surface-2);padding:.5rem 0;text-align:center;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.cal-cell{background:var(--surface);padding:.375rem .5rem .5rem;min-height:88px;min-width:0;cursor:pointer;transition:background var(--transition);display:flex;flex-direction:column;gap:.25rem}.cal-cell:hover{background:var(--surface-2)}.cal-cell--other{background:#f8fafc}.cal-cell--other .cal-cell-date{color:#cbd5e1}.cal-cell--today{background:var(--primary-light)}.cal-cell--today .cal-cell-date{color:var(--primary);font-weight:700}.cal-cell--selected{outline:2px solid var(--primary);outline-offset:-2px}.cal-cell-date{font-size:.8rem;font-weight:500;color:var(--text);line-height:1}.cal-items{display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.cal-chip{font-size:.65rem;line-height:1.35;border-radius:2px;padding:1px 4px 1px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:2px solid transparent}.cal-chip--high{background:#fee2e2;color:#991b1b;border-left-color:#ef4444}.cal-chip--medium{background:#fef3c7;color:#92400e;border-left-color:#f59e0b}.cal-chip--low{background:#f1f5f9;color:#475569;border-left-color:#94a3b8}.cal-chip--birthday{background:#f5f3ff;color:#6d28d9;border-left-color:#8b5cf6}.cal-chip--done{opacity:.4}.cal-more{font-size:.65rem;color:var(--text-subtle)}.cal-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block}.cal-dot--high{background:#ef4444}.cal-dot--medium{background:#f59e0b}.cal-dot--low{background:#94a3b8}.cal-dot--birthday{background:#8b5cf6}.cal-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;box-shadow:var(--shadow-sm);animation:slide-up .16s cubic-bezier(.34,1.56,.64,1)}.cal-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.cal-detail-title{font-size:.9375rem;font-weight:600;color:var(--text)}.cal-detail-empty{margin:0;font-size:.875rem;color:var(--text-muted);padding:.5rem 0}.cal-detail-list{display:flex;flex-direction:column;gap:.5rem}.cal-detail-item{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.cal-detail-item--birthday{border-color:#ddd6fe;background:#f5f3ff}.cal-detail-item--done .cal-detail-item-label{text-decoration:line-through;color:var(--text-muted)}.cal-detail-item-label{font-size:.875rem;color:var(--text);flex:1 1;min-width:0}.nav-dropdown{position:relative}.nav-dropdown-trigger{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;cursor:pointer;font-family:var(--font)}.nav-dropdown-arrow{transition:transform var(--transition);flex-shrink:0}.nav-dropdown-arrow--open{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:200;overflow:hidden;animation:fade-in .12s ease}.nav-dropdown-item{display:block;padding:.625rem 1rem;font-size:.8375rem;font-weight:500;color:var(--text-muted);text-decoration:none;transition:background var(--transition),color var(--transition)}.nav-dropdown-item:hover{background:var(--bg);color:var(--text)}.nav-dropdown-item--active{color:var(--primary);background:var(--primary-light)}.qotd-loading{color:var(--text-muted);padding:4rem 0;text-align:center}.qotd-date{font-size:.85rem;color:var(--text-muted);font-weight:500}.qotd-question-card{background:var(--surface);border-radius:var(--radius-lg);padding:1.75rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border);border-left:4px solid var(--primary)}.qotd-question{margin:0;font-size:1.2rem;font-weight:600;line-height:1.5;color:var(--text);letter-spacing:-.015em}.qotd-answer-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.qotd-textarea{min-height:120px}.qotd-share-toggle{display:flex;align-items:center;gap:.625rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qotd-share-checkbox{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.qotd-share-label{font-size:.875rem;color:var(--text-muted);font-weight:500}.qotd-submitted{display:flex;flex-direction:column;gap:.875rem}.qotd-submitted-header{display:flex;align-items:center;gap:.75rem}.qotd-submitted-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.qotd-submitted-answer{margin:0;font-size:.9375rem;color:var(--text);line-height:1.65;white-space:pre-wrap}.qotd-community{margin-top:.5rem}.qotd-answers-list{display:flex;flex-direction:column;gap:.625rem}.qotd-community-answer{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}.qotd-community-text{margin:0;font-size:.9rem;color:var(--text);line-height:1.65;white-space:pre-wrap}.goal-add-form{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.goals-list{display:flex;flex-direction:column;gap:.625rem}.goal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition);overflow:hidden}.goal-card:hover{box-shadow:var(--shadow)}.goal-card--completed{opacity:.7}.goal-card--abandoned{opacity:.55}.goal-card-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.goal-title{font-size:.9375rem;font-weight:500;color:var(--text)}.goal-card--completed .goal-title{text-decoration:line-through;color:var(--text-muted)}.goal-card--abandoned .goal-title{text-decoration:line-through;color:var(--text-subtle)}.goal-status-badge--active{background:var(--primary-light);color:var(--primary);border-color:#c7d2fe}.goal-status-badge--completed{background:var(--ok-light);color:var(--ok);border-color:#bbf7d0}.goal-status-badge--abandoned{background:var(--surface-2);color:var(--text-subtle);border-color:var(--border)}.goal-card-actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.goal-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;padding:.875rem 1rem}.goal-card{padding:0}.goal-notes-body{border-top:1px solid var(--border);padding:1rem;gap:.875rem}.goal-note-add,.goal-notes-body{display:flex;flex-direction:column}.goal-note-add{gap:.5rem}.goal-notes-empty{margin:0;font-size:.875rem;color:var(--text-muted)}.goal-notes-list{display:flex;flex-direction:column;gap:.5rem}.goal-note{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem}.goal-note-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.goal-note-date{font-size:.75rem;font-weight:600;color:var(--text-muted)}.goal-note-content{margin:0;font-size:.875rem;color:var(--text);line-height:1.6;white-space:pre-wrap}.workout-list{display:flex;flex-direction:column;gap:.75rem}.workout-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.workout-card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer;gap:1rem;transition:background var(--transition)}.workout-card-header:hover{background:var(--surface-2)}.workout-card-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.35rem}.workout-title{font-size:1rem;font-weight:600;color:var(--text)}.workout-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.workout-last-log{font-size:.72rem;color:var(--text-subtle)}.workout-card-actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.workout-card-body{border-top:1px solid var(--border);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.workout-empty{margin:0;font-size:.875rem;color:var(--text-muted)}.exercise-list{display:flex;flex-direction:column;gap:.375rem}.exercise-row{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap}.exercise-num{font-size:.75rem;font-weight:700;color:var(--text-subtle);min-width:16px}.exercise-name{font-size:.9rem;font-weight:500;color:var(--text);flex:1 1;min-width:0}.exercise-meta{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.exercise-notes{font-size:.75rem;color:var(--text-subtle);font-style:italic}.exercise-delete{margin-left:auto}.exercise-add-form{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding-top:.25rem;border-top:1px dashed var(--border)}.exercise-add-name{flex:2 1;min-width:140px}.exercise-add-small{width:72px;flex-shrink:0}.exercise-add-notes{flex:2 1;min-width:120px}.workout-log-section{display:flex;flex-direction:column;gap:.625rem;padding-top:.25rem;border-top:1px solid var(--border)}.workout-log-actions{display:flex;gap:.5rem;flex-wrap:wrap}.workout-logs{display:flex;flex-direction:column;gap:.375rem}.workout-log-entry{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.workout-log-date{font-size:.8125rem;font-weight:500;color:var(--text);white-space:nowrap}.workout-log-notes{font-size:.8rem;color:var(--text-muted)}.weight-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1rem 1rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm)}.weight-chart-svg{width:100%;height:auto;display:block}.weight-chart-empty{text-align:center;color:var(--text-muted);font-size:.875rem;padding:3rem 0;margin:0}.weight-log-form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm)}.weight-log-form{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.weight-log-form .form-input{flex:1 1;min-width:120px}.weight-history-list{display:flex;flex-direction:column;gap:.375rem}.weight-history-row{display:flex;align-items:center;gap:1rem;padding:.625rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.weight-history-date{flex:1 1;font-size:.875rem;color:var(--text-muted)}.weight-history-val{font-size:.9375rem;font-weight:600;color:var(--text)}.stat-chip--ok{border-color:#bbf7d0;background:var(--ok-light)}.nav-hamburger{display:none;background:none;border:none;cursor:pointer;padding:.4rem;border-radius:var(--radius-sm);width:36px;height:36px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.nav-hamburger:hover{background:var(--bg)}.nav-hamburger-icon,.nav-hamburger-icon:after,.nav-hamburger-icon:before{display:block;width:18px;height:2px;background:var(--text);border-radius:2px;transition:transform var(--transition),opacity var(--transition);position:relative}.nav-hamburger-icon:after,.nav-hamburger-icon:before{content:"";position:absolute;left:0}.nav-hamburger-icon:before{top:-5px}.nav-hamburger-icon:after{top:5px}.nav-hamburger-icon--open{background:transparent}.nav-hamburger-icon--open:before{transform:rotate(45deg) translate(3.5px,3.5px)}.nav-hamburger-icon--open:after{transform:rotate(-45deg) translate(3.5px,-3.5px)}.nav-mobile-menu{border-top:1px solid var(--border);background:var(--surface);padding:.5rem 0 1rem;animation:fade-in .12s ease}.nav-mobile-section{display:flex;flex-direction:column;padding:.25rem .75rem}.nav-mobile-section-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);padding:.5rem .5rem .25rem;margin:0}.nav-mobile-divider{height:1px;background:var(--border);margin:.25rem .75rem}.nav-mobile-link{display:block;padding:.75rem .5rem;font-size:.9375rem;font-weight:500;color:var(--text-muted);text-decoration:none;border-radius:var(--radius-sm);transition:background var(--transition),color var(--transition);background:none;border:none;cursor:pointer;width:100%;text-align:left;font-family:var(--font)}.nav-mobile-link:hover{background:var(--bg);color:var(--text)}.nav-mobile-link--active{color:var(--primary)}.nav-mobile-signout{color:var(--overdue)}@media (max-width:640px){.nav-hamburger{display:flex}.nav-admin,.nav-links,.nav-logout{display:none}.app-shell{padding:1.25rem 1rem 4rem}.page-header{flex-direction:column;align-items:flex-start;gap:.75rem}.stats-bar{flex-wrap:wrap}.filter-tabs{overflow-x:auto;padding-bottom:.25rem;flex-wrap:nowrap}.filter-tab{white-space:nowrap;flex-shrink:0}.goal-add-form{flex-direction:column}.goal-add-form .form-input{width:100%}.goal-add-form .btn{width:100%;justify-content:center}.goal-card-actions{flex-wrap:wrap}.exercise-add-form{flex-direction:column}.exercise-add-name,.exercise-add-notes,.exercise-add-small{width:100%;min-width:unset}.exercise-add-form .btn{width:100%;justify-content:center}.workout-log-actions{flex-direction:column}.workout-log-actions .btn{width:100%;justify-content:center}.workout-card-actions{flex-wrap:wrap}.weight-log-form{flex-direction:column}.weight-log-form .form-input{width:100%;min-width:unset}.weight-log-form .btn{width:100%;justify-content:center}.form-actions{flex-direction:column}.form-actions .btn{width:100%;justify-content:center}.btn-icon{padding:.5rem;min-width:36px;min-height:36px;justify-content:center}.modal{max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-overlay{align-items:flex-end;padding:0}.cal-cell{min-height:56px;padding:.25rem}.cal-cell-date{font-size:.7rem}.cal-items{flex-direction:row;flex-wrap:wrap;gap:2px}.cal-chip{font-size:0;width:6px;height:6px;border-radius:50%;padding:0;border-left:none;flex-shrink:0}.cal-chip--high{background:#ef4444}.cal-chip--medium{background:#f59e0b}.cal-chip--low{background:#94a3b8}.cal-chip--birthday{background:#8b5cf6}.cal-chip--done{opacity:.35}.habit-grid{grid-template-columns:repeat(20,1fr)}.detail-header{flex-direction:column}.detail-actions{flex-wrap:wrap}.detail-actions .btn{flex:1 1;min-width:120px;justify-content:center}}