:root{--color-primary:#0f766e;--color-primary-hover:#115e59;--color-secondary:#14b8a6;--color-accent:#6366f1;--gradient-primary:linear-gradient(135deg, #0f766e, #14b8a6);--gradient-premium:linear-gradient(135deg, #0f766e, #14b8a6, #6366f1);--gradient-hero:linear-gradient(135deg, #14b8a6, #a7f3d0);--color-background:#f8fafc;--color-surface:#fff;--color-surface-elevated:#fff;--color-text:#111827;--color-text-secondary:#6b7280;--color-border:#e5e7eb;--color-success:#6f9a8d;--color-success-light:#e7f5f1;--color-warning-light:#fef3c7;--color-warning:#f59e0b;--color-error-light:#fee2e2;--color-error:#dc2626;--color-action:#0f766e;--color-action-hover:#115e59;--shadow-card:0 6px 24px #0f766e14;--shadow-dialog:0 20px 60px #00000029;--shadow-fab:0 10px 30px #14b8a647;--radius-button:16px;--radius-card:20px;--radius-input:14px;--transition-fast:.18s ease-out;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{min-height:100vh;color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-font-smoothing:grayscale;background:linear-gradient(#f8fafc 0%,#fff 45%,#f0fdfa 100%);margin:0;line-height:1.6}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button,a,.card,input{transition:all var(--transition-fast)}button:hover{transform:translateY(-2px)}.card:hover{transform:translateY(-3px)}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);box-sizing:border-box;flex-shrink:0;width:220px;min-height:100vh;padding:1.25rem .85rem}.sidebar__brand{align-items:center;gap:.65rem;padding:.5rem .7rem 1.5rem;display:flex}.sidebar__logo{object-fit:contain;flex-shrink:0;width:38px;height:38px}.sidebar__brand-name{color:var(--color-primary);font-family:Manrope,sans-serif;font-size:1.45rem;font-weight:700}.sidebar__nav{flex-direction:column;gap:.35rem;display:flex}.sidebar__link{color:var(--color-text-secondary);transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border-radius:12px;align-items:center;gap:.75rem;padding:.8rem .85rem;font-size:.98rem;font-weight:600;text-decoration:none;display:flex}.sidebar__link:hover{color:var(--color-accent);background:#6366f114;transform:translate(2px)}.sidebar__link.active{color:var(--color-accent);background:#6366f11a}.sidebar__icon{justify-content:center;align-items:center;width:24px;font-size:1.15rem;display:flex}.sidebar__coming-up-preview{margin-top:.25rem;margin-bottom:.35rem}.sidebar__coming-up-link{display:none}@media (width<=768px){.sidebar{border-right:none;border-bottom:1px solid var(--color-border);box-sizing:border-box;width:100%;min-height:auto;padding:.75rem .75rem .5rem}.sidebar__brand{padding:.25rem .5rem .75rem}.sidebar__logo{width:34px;height:34px}.sidebar__brand-name{font-size:1.3rem}.sidebar__nav{flex-direction:row;align-items:center;gap:.25rem;width:100%;padding-bottom:.25rem;overflow-x:auto}.sidebar__link{white-space:nowrap;flex:none;justify-content:center;padding:.65rem .8rem;font-size:.85rem}.sidebar__icon{width:auto;font-size:1.05rem}.sidebar__coming-up-link{display:flex}.sidebar__coming-up-preview{display:none}}.coming-up-preview{border:1px solid var(--color-border);width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:#f8fafc;border-radius:16px;padding:1rem;transition:background .2s,border-color .2s,transform .2s}.coming-up-preview:hover{background:#6366f11a;border-color:#6366f14d;transform:translateY(-1px)}.coming-up-preview__header{color:var(--color-accent);align-items:center;gap:.55rem;margin-bottom:.9rem;font-size:1rem;font-weight:700;display:flex}.coming-up-preview__icon{font-size:1.15rem}.coming-up-preview__items{flex-direction:column;gap:.75rem;display:flex}.coming-up-preview__item{border-bottom:1px solid #6366f11f;flex-direction:column;gap:.2rem;padding-bottom:.7rem;display:flex}.coming-up-preview__item:last-child{border-bottom:none;padding-bottom:0}.coming-up-preview__item strong{color:var(--color-text);font-size:.9rem;line-height:1.3}.coming-up-preview__item span{color:var(--color-text-secondary);font-size:.8rem}.coming-up-preview__loading,.coming-up-preview__empty{color:var(--color-text-secondary);font-size:.85rem}.coming-up-preview__view{color:var(--color-accent);margin-top:.8rem;font-size:.82rem;font-weight:700;display:block}.button{border-radius:var(--radius-button);cursor:pointer;min-height:48px;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.55rem;padding:0 1.5rem;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;display:inline-flex}.button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.button-full-width{width:100%}.button-primary{background:var(--color-accent);color:#fff;box-shadow:0 6px 18px #6366f133}.button-primary:hover:not(:disabled){background:#4f46e5;transform:translateY(-1px);box-shadow:0 8px 22px #6366f147}.button-primary:active:not(:disabled){background:#4338ca;transform:translateY(0)}.button-secondary{color:#0f766e;background:#f0fdfa;border:1px solid #99f6e4}.button-secondary:hover:not(:disabled){color:#0f766e;background:#ccfbf1;border-color:#5eead4;transform:translateY(-2px)}.button-outline{color:var(--color-primary);border:1.5px solid var(--color-primary);background:0 0}.button-outline:hover:not(:disabled){color:var(--color-primary-hover);border-color:var(--color-primary-hover);background:#0f766e14;transform:translateY(-2px)}.button-danger{background:var(--color-error);color:#fff;box-shadow:0 8px 22px #dc26262e}.button-danger:hover:not(:disabled){background:#b91c1c;transform:translateY(-2px);box-shadow:0 12px 28px #dc262640}.button:focus-visible{outline:none;box-shadow:0 0 0 4px #6366f12e}@media (width<=768px){.button{min-width:0;min-height:42px;padding:.65rem 1.2rem;font-size:.95rem}.button-full-width{width:100%}}.app-layout{background:var(--color-background);width:100%;min-height:100vh;display:flex;overflow-x:hidden}.app-layout__main{flex-direction:column;flex:1;width:0;min-width:0;display:flex}.app-layout__topbar{justify-content:flex-end;align-items:center;padding:1rem 1.5rem;display:flex}.app-layout__content{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem 2rem}@media (width<=768px){.app-layout{flex-direction:column;width:100%;min-width:0;display:flex}.app-layout__main{width:100%;min-width:0}.app-layout__topbar{padding:.75rem 1rem}.app-layout__content{box-sizing:border-box;width:100%;max-width:100%;padding:0 1rem 2rem}}.error-message{background:var(--color-error-light);color:var(--color-error);border:1px solid #fecaca;border-left:4px solid var(--color-error);border-radius:14px;align-items:center;gap:.75rem;padding:1rem 1.1rem;font-size:.95rem;font-weight:500;line-height:1.6;display:flex}@media (width<=768px){.error-message{border-radius:12px;padding:.9rem 1rem;font-size:.9rem}}.login-page{background:radial-gradient(circle at top,#14b8a614,#0000 40%),linear-gradient(#f8fafc 0%,#fff 55%,#f0fdfa 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);width:100%;max-width:460px;box-shadow:var(--shadow-dialog);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:2.75rem}.login-logo{flex-direction:column;align-items:center;margin-bottom:1.5rem;display:flex}.login-logo img,.login-logo-image{object-fit:contain;width:72px;height:72px;transition:transform var(--transition-fast);margin-bottom:1rem}.login-logo img:hover,.login-logo-image:hover{transform:scale(1.05)}.login-title{text-align:center;color:var(--color-primary);margin-bottom:.6rem;font-family:Manrope,sans-serif;font-size:2.2rem;font-weight:700}.login-subtitle{text-align:center;color:var(--color-text-secondary);margin-bottom:2rem;line-height:1.6}.login-form{flex-direction:column;gap:1.25rem;display:flex}.login-button{margin-top:.5rem}.login-form input{width:100%}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:3rem}.password-toggle{color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--color-primary)}.success-message{color:var(--color-success);border-left:4px solid var(--color-success);background:#dcfce7;border-radius:14px;margin-bottom:1rem;padding:1rem}.login-footer{text-align:center;color:var(--color-text-secondary);margin-top:1.75rem}.login-footer a{color:var(--color-primary);transition:color var(--transition-fast);font-weight:600}.login-footer a:hover{color:var(--color-primary-hover)}.login-form input{border:1px solid var(--color-border);border-radius:12px;outline:none;width:100%;padding:.9rem 1rem;font-size:1rem;transition:border-color .2s}.login-form input:focus{border-color:var(--color-primary)}.login-button{background:var(--color-primary);color:#fff;border:none;border-radius:12px;padding:.95rem}.login-button:hover{background:var(--color-primary-hover)}.login-button:disabled{opacity:.65;cursor:not-allowed}@media (width<=768px){.login-page{padding:1.25rem}.login-card{padding:2rem 1.5rem}.login-title{font-size:2rem}.login-logo img,.login-logo-image{width:64px;height:64px}}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{color:var(--color-text);margin-bottom:.35rem;font-size:1.5rem;font-weight:600;line-height:1.2}.dashboard-header p{color:var(--color-text-secondary);font-size:1.1rem;line-height:1.5}@media (width<=768px){.dashboard-header{margin-bottom:1.5rem}.dashboard-header h1{margin-bottom:.3rem;font-size:1.3rem;line-height:1.3}.dashboard-header p{font-size:.95rem;line-height:1.5}}.loading-spinner{color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 0;display:flex}.spinner{border:4px solid #d1fae5;border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:.9s linear infinite spinnerRotate}@keyframes spinnerRotate{to{transform:rotate(360deg)}}@media (width<=768px){.loading-spinner{padding:2rem 0}.spinner{border-width:3px;width:34px;height:34px}}.empty-state{text-align:center;color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:4rem 1.5rem;display:flex}.empty-state h2{color:var(--color-text);margin:1rem 0 .5rem;font-family:Manrope,sans-serif;font-size:1.8rem;font-weight:700}.empty-state p{max-width:460px;color:var(--color-text-secondary);line-height:1.7}.empty-state svg{width:72px;height:72px;color:var(--color-secondary);opacity:.9;margin-bottom:.5rem}.empty-state .button{margin-top:2rem}@media (width<=768px){.empty-state{padding:3rem 1rem}.empty-state h2{font-size:1.5rem}.empty-state p{font-size:.95rem;line-height:1.6}.empty-state svg{width:60px;height:60px}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);margin-bottom:1.5rem;padding:1.5rem}.card:hover{border-color:#14b8a647;transform:translateY(-3px);box-shadow:0 14px 36px #0f766e1a}.card h2{color:var(--color-text);margin-bottom:1rem;font-family:Manrope,sans-serif;font-size:1.35rem;font-weight:700;line-height:1.3}.card p{color:var(--color-text-secondary);line-height:1.65}@media (width<=768px){.card{border-radius:18px;margin-bottom:1.25rem;padding:1.25rem}}.task-card{justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1rem 0;display:flex}.task-card:not(:last-child){border-bottom:1px solid var(--color-border)}.task-card__content{flex:1;min-width:0}.task-card__content h3{color:var(--color-text);margin-bottom:.5rem;font-size:1.35rem;font-weight:600;line-height:1.4}.task-card__content p{color:var(--color-text-secondary);margin-bottom:.5rem;font-size:1.05rem;line-height:1.5}.task-card__content small{color:var(--color-text-secondary);font-size:.95rem;display:block}.task-card__image{object-fit:cover;border-radius:16px;flex-shrink:0;width:84px;height:84px;margin-bottom:.75rem}.task-card__actions{justify-content:flex-end;align-items:center;min-width:48px;display:flex}.task-complete-check{border:2px solid var(--color-primary);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--color-primary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex;box-shadow:0 4px 12px #0f766e1a}.task-complete-check:hover:not(:disabled){background:var(--gradient-primary);color:#fff;border-color:#0000;transform:scale(1.08);box-shadow:0 6px 18px #14b8a638}.task-complete-check:active:not(:disabled){transform:scale(.95)}.task-complete-check:focus-visible{outline:none;box-shadow:0 0 0 4px #14b8a62e}.task-complete-check:disabled{opacity:.55;cursor:not-allowed;transform:none}.task-complete-check__spinner{animation:.8s linear infinite task-complete-spin}@keyframes task-complete-spin{to{transform:rotate(360deg)}}.status{text-transform:capitalize;border-radius:999px;justify-content:center;align-items:center;min-width:90px;padding:.4rem .9rem;font-size:.95rem;font-weight:600;display:inline-flex}.status.pending{background:var(--color-warning);color:var(--color-surface)}.status.completed{background:var(--color-success);color:var(--color-surface)}.status.overdue{background:var(--color-warning);color:var(--color-surface)}.status.skipped{color:#475569;background:#eef2f7}.status.cancelled{color:#991b1b;background:#fee2e2}.task-card__title{align-items:center;gap:.75rem;display:flex}.task-complete-check__icon{opacity:0;transition:opacity var(--transition-fast), transform var(--transition-fast);transform:scale(.6)}.task-complete-check:hover:not(:disabled) .task-complete-check__icon,.task-complete-check:focus-visible .task-complete-check__icon{opacity:1;transform:scale(1)}@media (width<=768px){.task-card{flex-direction:row;align-items:flex-start;gap:.85rem;padding:.9rem 0}.task-card__image{border-radius:14px;width:52px;height:52px}.task-card__content h3{font-size:1.15rem;line-height:1.35}.task-card__content p{font-size:.95rem;line-height:1.45}.task-card__content small{font-size:.85rem}.task-card__actions{justify-content:flex-end;width:auto;min-width:36px;margin-top:.1rem}.task-complete-check{width:34px;min-width:34px;height:34px;min-height:34px}.status{min-width:82px;padding:.35rem .8rem;font-size:.82rem}}.suggested-activities__header{align-items:flex-start;gap:.9rem;margin-bottom:1.25rem;display:flex}.suggested-activities__icon{font-size:1.8rem;line-height:1}.suggested-activities__header h2{color:var(--color-text);margin:0 0 .25rem;font-size:1.25rem;font-weight:600}.suggested-activities__header p{color:var(--color-text-secondary);margin:0;font-size:.95rem}.suggested-activities__list{flex-direction:column;gap:.8rem;display:flex}.suggested-activity{background:var(--color-background-soft);border-radius:12px;align-items:flex-start;gap:.75rem;padding:.9rem;display:flex}.suggested-activity__dot{flex-shrink:0;font-size:1rem}.suggested-activity p{color:var(--color-text);margin:0;font-size:1rem;line-height:1.5}.suggested-activity{align-items:center;gap:.75rem;display:flex}.suggested-activity p{flex:1;margin:0}.suggested-activity__add{color:var(--color-primary);cursor:pointer;background:0 0;border:none;border-radius:.5rem;flex-shrink:0;padding:.35rem .5rem;font-size:1.15rem;font-weight:600;transition:background .2s,opacity .2s}.suggested-activity__add:hover:not(:disabled){background:var(--color-background-soft)}.suggested-activity__add:disabled{cursor:default}.suggested-activity--added{opacity:.75}.suggested-activity--added .suggested-activity__add{color:var(--color-accent);font-size:.85rem}.suggested-activities__error{color:#c0392b;margin:.75rem 0;font-size:.875rem}@media (width<=768px){.suggested-activities__header h2{font-size:1.1rem}.suggested-activities__header p{font-size:.88rem}.suggested-activity{padding:.8rem}.suggested-activity p{font-size:.95rem}}.overdue-group{border-bottom:1px solid var(--color-border)}.overdue-group:last-child{border-bottom:none}.overdue-group__summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;transition:background-color .2s,padding .2s;display:flex}.overdue-group__summary:hover{background-color:var(--color-background-soft)}.overdue-group__summary h3{color:var(--color-text);margin:0 0 .3rem;font-size:1.2rem;font-weight:600}.overdue-group__summary small{color:var(--color-text-secondary);font-size:.95rem}.overdue-group__summary>span{width:32px;height:32px;color:var(--color-text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;font-weight:400;display:flex}.overdue-group__items{padding-bottom:.5rem}.overdue-group__items .card{margin-bottom:.75rem}@media (width<=768px){.overdue-group__summary{gap:.75rem;padding:.9rem 0}.overdue-group__summary h3{font-size:1.05rem}.overdue-group__summary small{font-size:.85rem}.overdue-group__summary>span{width:28px;height:28px;font-size:1.2rem}.overdue-group__items{padding-left:0}}.page-header{justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;display:flex}.page-header-content{flex-direction:column;gap:.4rem;display:flex}.page-header-title{letter-spacing:-.03em;color:var(--color-text);margin:0;font-family:Manrope,sans-serif;font-size:2rem;font-weight:700;line-height:1.2}.page-header-subtitle{color:var(--color-text-secondary);max-width:600px;margin:0;font-size:1rem;line-height:1.6}.page-header-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}@media (width<=1024px){.page-header-title{font-size:1.75rem}}@media (width<=768px){.page-header{flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:1.5rem}.page-header-title{font-size:1.6rem}.page-header-subtitle{font-size:.95rem;line-height:1.5}.page-header-actions{justify-content:stretch;width:100%}.page-header-actions>*{flex:1}}.confirm-dialog-backdrop{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a47;justify-content:center;align-items:center;padding:1.5rem;animation:.18s ease-out dialogFade;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);width:100%;max-width:440px;box-shadow:var(--shadow-dialog);flex-direction:column;gap:1.25rem;padding:1.75rem;animation:.22s ease-out dialogScale;display:flex}.confirm-dialog-title{color:var(--color-text);margin:0;font-family:Manrope,sans-serif;font-size:1.4rem;font-weight:700;line-height:1.3}.confirm-dialog-message{color:var(--color-text-secondary);margin:0;line-height:1.7}.confirm-dialog-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}@keyframes dialogFade{0%{opacity:0}to{opacity:1}}@keyframes dialogScale{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=768px){.confirm-dialog-backdrop{padding:1rem}.confirm-dialog{gap:1rem;max-width:100%;padding:1.5rem}.confirm-dialog-title{font-size:1.25rem}.confirm-dialog-message{font-size:.95rem}.confirm-dialog-actions{flex-direction:column-reverse;gap:.75rem}.confirm-dialog-actions button{width:100%}}.badge{white-space:nowrap;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.4rem .8rem;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;line-height:1;display:inline-flex}.badge-default{color:var(--color-text-secondary);background:#f3f4f6;border-color:#e5e7eb}.badge-success{color:var(--color-success);background:#dcfce7;border-color:#bbf7d0}.badge-warning{color:var(--color-warning);background:#fef3c7;border-color:#fcd34d}.badge-danger{color:var(--color-error);background:#fee2e2;border-color:#fecaca}.badge-info{color:var(--color-primary);background:#e6fffb;border-color:#99f6e4}@media (width<=768px){.badge{padding:.35rem .7rem;font-size:.8rem}}.task-item{flex-direction:column;gap:1rem;display:flex}.task-item-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.task-title{color:var(--color-text);margin:0;font-size:1.5rem;font-weight:600}.task-description{color:var(--color-text-secondary);margin:0;font-size:1.1rem;line-height:1.5}.task-meta{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.task-due-date{color:var(--color-text-secondary);font-size:1.1rem}.task-form-actions{gap:.75rem;display:flex}@media (width<=768px){.task-item{gap:.85rem}.task-item-header{flex-direction:column;gap:.75rem}.task-title{font-size:1.3rem;line-height:1.35}.task-description{font-size:1rem;line-height:1.5}.task-meta{gap:.5rem}.task-due-date{font-size:.95rem}.task-form-actions{flex-direction:column;gap:.75rem}.task-form-actions button{width:100%}}.task-list{flex-direction:column;gap:1rem;display:flex}.task-search{margin:1.5rem 0 2rem}.task-search input{background:var(--color-surface);width:100%;max-width:340px;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-input);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);padding:.9rem 1rem;font-family:inherit;font-size:1rem}.task-search input::placeholder{color:var(--color-text-secondary)}.task-search input:hover{border-color:#cbd5e1}.task-search input:focus,textarea:focus,select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 4px #14b8a626,0 8px 24px #0f766e14}@media (width<=768px){.task-search{margin:1.25rem 0 1.5rem}.task-search input{max-width:100%;padding:.85rem 1rem;font-size:1rem}}.task-form{flex-direction:column;gap:1.5rem;display:flex}.task-form-group{flex-direction:column;gap:.5rem;display:flex}.task-form-group label{color:var(--color-text);font-weight:600}.task-form input,.task-form textarea,.task-form select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-text);font:inherit;border-radius:14px;padding:.85rem 1rem;transition:border-color .2s,box-shadow .2s,background .2s}.task-form textarea{resize:vertical;min-height:110px;padding-top:.9rem}.task-form input::placeholder,.task-form textarea::placeholder{color:var(--color-text-secondary)}.task-form input:hover,.task-form textarea:hover,.task-form select:hover{border-color:#cbd5e1}.task-form input:focus,.task-form textarea:focus,.task-form select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 4px #14b8a626,0 8px 24px #0f766e14}.task-checkbox{cursor:pointer;color:var(--color-text);align-items:center;gap:.75rem;font-weight:500;display:inline-flex}.task-checkbox input{width:18px;height:18px;accent-color:var(--color-primary);box-shadow:none;margin:0}.task-checkbox input:focus{box-shadow:none}.task-form-actions{justify-content:flex-end;gap:1rem;margin-top:.5rem;display:flex}@media (width<=768px){.task-form{gap:1.25rem}.task-form input,.task-form textarea,.task-form select{font-size:16px}.task-form textarea{min-height:120px}.task-checkbox{align-items:flex-start;line-height:1.5}.task-form-actions{flex-direction:column}}.recurrence-form{flex-direction:column;gap:1.5rem;display:flex}.recurrence-title{color:var(--color-text);margin:0;font-family:Manrope,sans-serif;font-size:1.2rem;font-weight:700}.recurrence-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--color-text);font-weight:600}.form-group input,.form-group select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-text);font:inherit;border-radius:14px;padding:.85rem 1rem;transition:border-color .2s,box-shadow .2s,background .2s}.form-group input::placeholder{color:var(--color-text-secondary)}.form-group input:hover,.form-group select:hover{border-color:#cbd5e1}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 4px #14b8a626,0 8px 24px #0f766e14}.interval-row{align-items:center;gap:.75rem;display:flex}.interval-row input{width:90px}.interval-row span{color:var(--color-text-secondary);font-weight:500}.weekday-selector{flex-wrap:wrap;gap:.75rem;display:flex}.weekday-chip{border:1px solid var(--color-border);background:var(--color-surface);width:42px;height:42px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:999px;font-weight:600;transition:background-color .2s,border-color .2s,color .2s,transform .2s,box-shadow .2s}.weekday-chip:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 6px 16px #0f766e1a}.weekday-chip.active{background:linear-gradient(135deg, var(--color-secondary), var(--color-primary));border-color:var(--color-primary);color:#fff;box-shadow:0 8px 20px #0f766e2e}.weekday-chip:focus-visible{outline:none;box-shadow:0 0 0 4px #14b8a62e}@media (width<=768px){.recurrence-form{gap:1.25rem}.recurrence-title{font-size:1.1rem}.recurrence-grid{grid-template-columns:1fr;gap:.9rem}.form-group input,.form-group select{padding:.9rem 1rem;font-size:16px}.interval-row{flex-direction:column;align-items:stretch;gap:.6rem}.interval-row input{width:100%}.weekday-selector{justify-content:center;gap:.6rem}.weekday-chip{width:40px;height:40px;font-size:.9rem}}.task-details{background:0 0;flex-direction:column;gap:1.5rem;min-height:calc(100vh - 120px);display:flex}.task-history-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card);transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast);border-radius:16px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.task-history-card:hover{border-color:#14b8a640;transform:translateY(-2px);box-shadow:0 10px 28px #0f766e14}.task-history-date{color:var(--color-text);font-size:.95rem;font-weight:500}.task-history-status{text-transform:capitalize;border-radius:999px;justify-content:center;align-items:center;min-width:92px;padding:.35rem .8rem;font-size:.8rem;font-weight:600;display:inline-flex}.task-history-status.completed{color:var(--color-success);background:#dcfce7}.task-history-status.pending{color:var(--color-primary);background:#e6fffb}.task-history-status.overdue{color:var(--color-warning);background:#fef3c7}.task-history-status.skipped{color:var(--color-text-secondary);background:#f3f4f6}.task-history-status.cancelled{color:var(--color-error);background:#fee2e2}@media (width<=768px){.task-details{gap:1rem;min-height:auto;padding-bottom:1rem}.task-history-card{border-radius:14px;gap:.75rem;padding:1rem}.task-history-date{word-break:break-word;font-size:.9rem;line-height:1.4}.task-history-status{flex-shrink:0;min-width:80px;padding:.3rem .65rem;font-size:.75rem}}.onboarding{background:radial-gradient(circle at top,#14b8a61a,#0000 40%),linear-gradient(#f8fafc 0%,#fff 55%,#f0fdfa 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.onboarding-image{width:100%;max-width:440px;height:auto;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #14b8a61f;border-radius:24px;box-shadow:0 18px 45px #0f766e1f}.onboarding-image:hover{transform:translateY(-4px);box-shadow:0 24px 55px #0f766e29}.skip-button{color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;font-size:.95rem;font-weight:600;position:absolute;top:24px;right:24px}.skip-button:hover{color:var(--color-primary)}.dots{gap:10px;margin:2rem 0;display:flex}.dot{width:10px;height:10px;transition:all var(--transition-fast);background:#d1d5db;border-radius:999px}.dot.active{background:var(--gradient-primary);width:30px;box-shadow:0 4px 14px #14b8a640}.next-button{border-radius:var(--radius-button);background:var(--gradient-primary);color:#fff;cursor:pointer;min-height:48px;transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);border:none;padding:0 2rem;font-size:1rem;font-weight:600;box-shadow:0 10px 30px #14b8a63d}.next-button:hover{background:linear-gradient(135deg,#115e59,#0f766e);transform:translateY(-2px);box-shadow:0 14px 36px #14b8a64d}.next-button:active{transform:translateY(0)}@media (width<=768px){.onboarding{padding:1.5rem}.onboarding-image{max-width:100%}.next-button{width:100%;max-width:340px}}.page-container{width:100%;max-width:1240px;margin:0 auto;padding:2rem;animation:.22s ease-out pageFade}@keyframes pageFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width>=1440px){.page-container{max-width:1320px;padding:2.5rem}}@media (width<=1024px){.page-container{padding:1.75rem}}@media (width<=768px){.page-container{padding:1rem}}.calendar-page{width:100%}.calendar-header{margin-bottom:1.25rem}.calendar-header h1{color:var(--color-text);margin:0 0 .35rem;font-size:1.8rem;font-weight:700}.calendar-header p{color:var(--color-text-secondary);margin:0;font-size:1rem}.calendar-card{background:var(--color-surface);border:1px solid var(--color-border);width:100%;max-width:520px;box-shadow:var(--shadow-card);border-radius:16px;margin-left:auto;margin-right:auto;padding:1rem}.calendar-navigation{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.calendar-navigation h2{color:var(--color-text);margin:0;font-size:1.35rem;font-weight:700}.calendar-navigation button{width:34px;height:34px;color:var(--color-primary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.7rem;line-height:1;display:flex}.calendar-navigation button:hover{color:var(--color-primary-hover);background:#0f766e14}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays{margin-bottom:.25rem}.calendar-weekdays span{text-align:center;color:var(--color-text-secondary);font-size:.85rem;font-weight:700}.calendar-day{width:100%;height:44px;color:var(--color-text);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);background:0 0;border:2px solid #0000;border-radius:10px;justify-content:center;align-items:center;margin:2px;padding:0;font-size:1.05rem;font-weight:500;display:flex}.calendar-day:hover{color:var(--color-accent);background:#6366f114;transform:translateY(-1px)}.calendar-day--empty{cursor:default}.calendar-day--empty:hover{color:inherit;background:0 0;transform:none}.calendar-day--today{border-color:var(--color-accent);color:var(--color-accent);font-weight:700}.calendar-day--selected{background:var(--color-accent);border-color:var(--color-accent);color:#fff;font-weight:700;box-shadow:0 5px 12px #6366f138}.calendar-day--selected:hover{background:var(--color-accent);color:#fff;transform:none}.calendar-create{background:var(--color-surface);border:1px solid var(--color-border);width:100%;max-width:520px;box-shadow:var(--shadow-card);border-radius:16px;justify-content:space-between;align-items:center;gap:1rem;margin:1rem auto 0;padding:1rem;display:flex}.calendar-create>div:first-child{align-items:flex-start;gap:.75rem;display:flex}.calendar-create__accent{color:var(--color-accent);font-size:1.4rem;line-height:1.2}.calendar-create h2{color:var(--color-text);margin:0 0 .2rem;font-size:1.1rem;font-weight:700}.calendar-create p{color:var(--color-text-secondary);margin:0;font-size:.9rem}.calendar-add-button{background:var(--color-accent);color:#fff;cursor:pointer;transition:opacity var(--transition-fast), transform var(--transition-fast);border:none;border-radius:10px;flex-shrink:0;padding:.65rem 1rem;font-size:.9rem;font-weight:600}.calendar-add-button:hover{opacity:.92;transform:translateY(-1px)}.calendar-task-editor{width:100%;max-width:520px;margin:1rem auto 0}@media (width<=768px){.calendar-page{width:100%;min-width:0}.calendar-header{margin-bottom:1rem}.calendar-header h1{font-size:1.5rem}.calendar-header p{font-size:.9rem}.calendar-card{box-sizing:border-box;width:100%;max-width:520px;margin-left:auto;margin-right:auto;padding:.7rem}.calendar-navigation{margin-bottom:.6rem}.calendar-navigation h2{font-size:1.2rem}.calendar-navigation button{width:36px;height:36px}.calendar-weekdays span{font-size:.72rem}.calendar-day{border-radius:9px;height:42px;margin:1px;font-size:.95rem}.calendar-create{box-sizing:border-box;flex-direction:column;align-items:stretch;width:100%;max-width:520px;margin-left:auto;margin-right:auto}.calendar-add-button{width:100%}.calendar-task-editor{width:100%;max-width:520px;margin-left:auto;margin-right:auto}}.coming-up-page{box-sizing:border-box;width:100%;max-width:760px;margin:0 auto}.coming-up-page__header{text-align:center;margin-bottom:1.5rem}.coming-up-page__header h1{color:var(--color-primary);margin-bottom:.4rem;font-size:2rem;font-weight:700}.coming-up-page__header p{color:var(--color-text-secondary);margin:0;font-size:1rem}.coming-up-list{flex-direction:column;gap:1rem;display:flex}.coming-up-item{justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.coming-up-item h2{color:var(--color-text);margin:0 0 .4rem;font-size:1.2rem}.coming-up-item p{color:var(--color-text-secondary);margin:0;line-height:1.5}.coming-up-item__date{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.25rem;display:flex}.coming-up-item__date strong{color:var(--color-accent);font-size:1rem}.coming-up-item__date span{color:var(--color-text-secondary);font-size:.85rem}.coming-up-empty{text-align:center;padding:2rem}.coming-up-empty__icon{margin-bottom:.7rem;font-size:2rem}.coming-up-empty h2{color:var(--color-text);margin-bottom:.4rem}.coming-up-empty p{color:var(--color-text-secondary);margin:0}@media (width<=600px){.coming-up-page{width:100%}.coming-up-page__header h1{font-size:1.6rem}.coming-up-page__header p{font-size:.9rem}.coming-up-item{flex-direction:column;align-items:flex-start;gap:.8rem}.coming-up-item__date{align-items:flex-start}.coming-up-item h2{font-size:1.1rem}.coming-up-item p{font-size:.9rem}.coming-up-empty{padding:1.5rem 1rem}}.expenses-page{width:100%}.expenses-summary{margin:1.5rem 0 2rem}.expenses-summary__content{flex-direction:column;gap:.35rem;padding:.35rem 0;display:flex}.expenses-summary__label{color:var(--color-text-secondary);font-size:.95rem;font-weight:600}.expenses-summary__amount{color:var(--color-accent);font-size:2.25rem;font-weight:700;line-height:1.2}.expenses-summary__month{color:var(--color-text-secondary);font-size:.9rem}.expense-form-section{margin-bottom:2rem}.expense-form h2{color:var(--color-text);margin:0 0 1.5rem;font-size:1.3rem;font-weight:600}.expense-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.expense-form__field{flex-direction:column;gap:.5rem;display:flex}.expense-form__field>span{color:var(--color-text);font-size:.9rem;font-weight:600}.expense-form__field--full{grid-column:1/-1}.expense-form input,.expense-form select,.expense-form textarea{background:var(--color-surface);width:100%;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-input);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);padding:.9rem 1rem;font-family:inherit;font-size:1rem}.expense-form textarea{resize:vertical;min-height:90px}.expense-form input::placeholder,.expense-form textarea::placeholder{color:var(--color-text-secondary)}.expense-form input:hover,.expense-form select:hover,.expense-form textarea:hover{border-color:#cbd5e1}.expense-form input:focus,.expense-form select:focus,.expense-form textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 4px #6366f11f,0 8px 24px #6366f10f}.expense-form__amount{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-input);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:center;display:flex}.expense-form__amount>span{color:var(--color-text-secondary);padding-left:1rem;font-size:1rem;font-weight:600}.expense-form__amount input{box-shadow:none;background:0 0;border:none}.expense-form__amount:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 4px #6366f11f,0 8px 24px #6366f10f}.expense-form__amount:focus-within input{box-shadow:none}.expense-form__actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.expenses-list-section{margin-bottom:2rem}.expenses-section-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.expenses-section-header h2{color:var(--color-text);margin:0;font-size:1.3rem;font-weight:600}.expenses-section-header>span{color:var(--color-text-secondary);font-size:.9rem}.expenses-list{flex-direction:column;display:flex}.expense-item{align-items:flex-start;gap:1rem;padding:1rem 0;display:flex}.expense-item:not(:last-child){border-bottom:1px solid var(--color-border)}.expense-item__icon{background:#6366f114;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.2rem;display:flex}.expense-item__details{flex:1;min-width:0}.expense-item__title-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.expense-item__title-row h3{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:1.05rem;font-weight:600}.expense-item__title-row strong{color:var(--color-text);flex-shrink:0;font-size:1.05rem;font-weight:700}.expense-item__meta{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.35rem;font-size:.85rem;display:flex}.expense-item__description{color:var(--color-text-secondary);margin:.45rem 0 0;font-size:.9rem;line-height:1.45}.expense-item__delete{width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:1.4rem;line-height:1;display:inline-flex}.expense-item__delete:hover{color:var(--color-error);background:#dc262614;transform:scale(1.05)}.expense-item__delete:focus-visible{outline:none;box-shadow:0 0 0 4px #dc26261f}.expenses-empty{text-align:center;padding:2rem 1rem}.expenses-empty__icon{margin-bottom:.75rem;font-size:2rem}.expenses-empty h3{color:var(--color-text);margin:0 0 .5rem;font-size:1.15rem;font-weight:600}.expenses-empty p{color:var(--color-text-secondary);margin:0;font-size:.95rem;line-height:1.5}@media (width<=768px){.expenses-summary{margin:1.25rem 0 1.5rem}.expenses-summary__amount{font-size:1.9rem}.expense-form__grid{grid-template-columns:1fr;gap:1rem}.expense-form__field--full{grid-column:auto}.expense-form__actions{flex-direction:column-reverse;align-items:stretch}.expense-form__actions .button{width:100%}.expense-item{gap:.75rem;padding:.9rem 0}.expense-item__icon{border-radius:10px;width:38px;height:38px;font-size:1.05rem}.expense-item__title-row{gap:.5rem}.expense-item__title-row h3,.expense-item__title-row strong{font-size:1rem}.expense-item__delete{width:30px;height:30px}}.digital-diary-page{width:100%}.diary-compose-section{margin:1.5rem 0 2rem}.diary-compose{flex-direction:column;gap:1.25rem;display:flex}.diary-compose__heading{align-items:flex-start;gap:.9rem;display:flex}.diary-compose__icon{background:#6366f114;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.25rem;display:flex}.diary-compose__heading h2{color:var(--color-text);margin:0 0 .25rem;font-size:1.3rem;font-weight:600}.diary-compose__heading p{color:var(--color-text-secondary);margin:0;font-size:.9rem;line-height:1.5}.diary-compose__field{flex-direction:column;gap:.5rem;display:flex}.diary-compose__field>span,.diary-compose__date>span{color:var(--color-text);align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.diary-compose__field small{color:var(--color-text-secondary);font-size:.78rem;font-weight:400}.diary-compose input,.diary-compose textarea{background:var(--color-surface);width:100%;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-input);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);padding:.9rem 1rem;font-family:inherit;font-size:1rem}.diary-compose textarea{resize:vertical;min-height:150px;line-height:1.6}.diary-compose input::placeholder,.diary-compose textarea::placeholder{color:var(--color-text-secondary)}.diary-compose input:hover,.diary-compose textarea:hover{border-color:#cbd5e1}.diary-compose input:focus,.diary-compose textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 4px #6366f11f,0 8px 24px #6366f10f}.diary-compose__footer{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.diary-compose__date{flex-direction:column;gap:.5rem;width:min(280px,100%);display:flex}.diary-list-section{margin-bottom:2rem}.diary-section-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.diary-section-header h2{color:var(--color-text);margin:0;font-size:1.3rem;font-weight:600}.diary-section-header>span{color:var(--color-text-secondary);font-size:.9rem}.diary-entry-list{flex-direction:column;gap:1rem;display:flex}.diary-entry{min-width:0}.diary-entry__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.diary-entry__date{color:var(--color-text-secondary);margin-bottom:.3rem;font-size:.82rem;display:block}.diary-entry__header h3{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:1.1rem;font-weight:600}.diary-entry__content{color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;margin:.9rem 0 0;font-size:.98rem;line-height:1.65}.diary-entry__delete{width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:1.4rem;line-height:1;display:inline-flex}.diary-entry__delete:hover{color:var(--color-error);background:#dc262614;transform:scale(1.05)}.diary-entry__delete:focus-visible{outline:none;box-shadow:0 0 0 4px #dc26261f}.diary-suggestions{border-top:1px solid var(--color-border);margin-top:1.25rem;padding-top:1.25rem}.diary-suggestions__heading{align-items:flex-start;gap:.65rem;margin-bottom:1rem;display:flex}.diary-suggestions__heading>span{font-size:1.1rem}.diary-suggestions__heading strong{color:var(--color-text);font-size:.95rem;font-weight:600;display:block}.diary-suggestions__heading p{color:var(--color-text-secondary);margin:.2rem 0 0;font-size:.85rem;line-height:1.45}.diary-suggestions__list{flex-direction:column;gap:.75rem;display:flex}.diary-suggestion{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.diary-suggestion--expense{background:linear-gradient(135deg,#10b9810d,#10b98103)}.diary-suggestion--period{background:linear-gradient(135deg,#ec48990d,#ec489903)}.diary-suggestion--health{background:linear-gradient(135deg,#ef44440b,#ef444403)}.diary-suggestion--task{background:linear-gradient(135deg,#6366f10d,#6366f103)}.diary-suggestion--event{background:linear-gradient(135deg,#0ea5e90d,#0ea5e903)}.diary-suggestion__main{align-items:center;gap:.85rem;min-width:0;display:flex}.diary-suggestion__icon{background:#6366f114;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.15rem;display:flex}.diary-suggestion__details{flex-direction:column;gap:.15rem;min-width:0;display:flex}.diary-suggestion__type{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.76rem;font-weight:600}.diary-suggestion__details strong{color:var(--color-text);overflow-wrap:anywhere;font-size:.98rem;font-weight:600}.diary-suggestion__value{color:var(--color-accent);font-size:.9rem;font-weight:600}.diary-suggestion__actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.diary-entry__tracked{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.diary-tracked-badge{border-radius:999px;align-items:center;gap:.25rem;padding:.35rem .6rem;font-size:.78rem;font-weight:600;display:inline-flex}.diary-tracked-badge--confirmed{color:#047857;background:#10b9811a}.diary-tracked-badge--dismissed{color:var(--color-text-secondary);background:#64748b1a}.diary-empty{text-align:center;padding:2rem 1rem}.diary-empty__icon{margin-bottom:.75rem;font-size:2rem}.diary-empty h3{color:var(--color-text);margin:0 0 .5rem;font-size:1.15rem;font-weight:600}.diary-empty p{max-width:480px;color:var(--color-text-secondary);margin:0 auto;font-size:.95rem;line-height:1.5}@media (width<=768px){.diary-compose-section{margin:1.25rem 0 1.5rem}.diary-compose__heading{gap:.7rem}.diary-compose__icon{border-radius:10px;width:40px;height:40px;font-size:1.1rem}.diary-compose__heading h2{font-size:1.15rem}.diary-compose textarea{min-height:130px}.diary-compose__footer{flex-direction:column;align-items:stretch}.diary-compose__date,.diary-compose__footer .button{width:100%}.diary-suggestion{flex-direction:column;align-items:stretch}.diary-suggestion__actions{justify-content:flex-end}.diary-entry__content{font-size:.95rem}}@media (width<=520px){.diary-suggestion__actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.diary-suggestion__actions .button{width:100%}.diary-suggestion__icon{border-radius:10px;width:38px;height:38px;font-size:1rem}.diary-entry__header{gap:.5rem}}.health-page{width:100%}.health-form-section{margin:1.5rem 0 2rem}.health-form h2{color:var(--color-text);margin:0 0 1.5rem;font-size:1.3rem;font-weight:600}.health-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.health-form__field{flex-direction:column;gap:.5rem;min-width:0;display:flex}.health-form__field>span{color:var(--color-text);font-size:.9rem;font-weight:600}.health-form__field--full{grid-column:1/-1}.health-form input,.health-form select,.health-form textarea{background:var(--color-surface);width:100%;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-input);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);padding:.9rem 1rem;font-family:inherit;font-size:1rem}.health-form textarea{resize:vertical;min-height:90px}.health-form input::placeholder,.health-form textarea::placeholder{color:var(--color-text-secondary)}.health-form input:hover,.health-form select:hover,.health-form textarea:hover{border-color:#cbd5e1}.health-form input:focus,.health-form select:focus,.health-form textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 4px #6366f11f,0 8px 24px #6366f10f}.health-form__measurement{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-input);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:center;display:flex;overflow:hidden}.health-form__measurement input{min-width:0;box-shadow:none;background:0 0;border:none;border-radius:0}.health-form__measurement>span{color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0;padding:0 1rem;font-size:.9rem;font-weight:600}.health-form__measurement:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 4px #6366f11f,0 8px 24px #6366f10f}.health-form__measurement:focus-within input{box-shadow:none}.health-form__actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.health-list-section{margin-bottom:2rem}.health-section-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.health-section-header h2{color:var(--color-text);margin:0;font-size:1.3rem;font-weight:600}.health-section-header>span{color:var(--color-text-secondary);font-size:.9rem}.health-list{flex-direction:column;display:flex}.health-item{align-items:flex-start;gap:1rem;padding:1rem 0;display:flex}.health-item:not(:last-child){border-bottom:1px solid var(--color-border)}.health-item__icon{background:#ef444412;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;display:flex}.health-item__details{flex:1;min-width:0}.health-item__title-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.health-item__title-row>div{min-width:0}.health-item__title-row h3{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-size:1.05rem;font-weight:600}.health-item__title-row strong{color:var(--color-accent);overflow-wrap:anywhere;margin-top:.2rem;font-size:1.15rem;font-weight:700;display:block}.health-item__meta{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.45rem;font-size:.82rem;display:flex}.health-source{align-items:center;gap:.2rem;display:inline-flex}.health-source--diary{color:var(--color-accent);background:#6366f114;border-radius:999px;padding:.2rem .45rem;font-weight:600}.health-source--file{color:#0284c7;background:#0ea5e914;border-radius:999px;padding:.2rem .45rem;font-weight:600}.health-item__notes{color:var(--color-text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin:.5rem 0 0;font-size:.9rem;line-height:1.5}.health-item__delete{width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:1.4rem;line-height:1;display:inline-flex}.health-item__delete:hover{color:var(--color-error);background:#dc262614;transform:scale(1.05)}.health-item__delete:focus-visible{outline:none;box-shadow:0 0 0 4px #dc26261f}.health-empty{text-align:center;padding:2rem 1rem}.health-empty__icon{margin-bottom:.75rem;font-size:2rem}.health-empty h3{color:var(--color-text);margin:0 0 .5rem;font-size:1.15rem;font-weight:600}.health-empty p{max-width:480px;color:var(--color-text-secondary);margin:0 auto;font-size:.95rem;line-height:1.5}@media (width<=768px){.health-form-section{margin:1.25rem 0 1.5rem}.health-form__grid{grid-template-columns:1fr;gap:1rem}.health-form__field--full{grid-column:auto}.health-form__actions{flex-direction:column-reverse;align-items:stretch}.health-form__actions .button{width:100%}.health-item{gap:.75rem;padding:.9rem 0}.health-item__icon{border-radius:10px;width:40px;height:40px;font-size:1.05rem}.health-item__title-row h3{font-size:1rem}.health-item__title-row strong{font-size:1.05rem}.health-item__delete{width:30px;height:30px}}@media (width<=520px){.health-item__meta{align-items:flex-start}.health-source--diary,.health-source--file{width:fit-content}}.periods-page{width:100%}.period-form-section{margin:1.5rem 0 2rem}.period-form__heading{align-items:flex-start;gap:.9rem;margin-bottom:1.5rem;display:flex}.period-form__icon{background:#ec489914;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.25rem;display:flex}.period-form__heading h2{color:var(--color-text);margin:0 0 .25rem;font-size:1.3rem;font-weight:600}.period-form__heading p{color:var(--color-text-secondary);margin:0;font-size:.9rem;line-height:1.5}.period-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.period-form__field{flex-direction:column;gap:.5rem;min-width:0;display:flex}.period-form__field--full{grid-column:1/-1}.period-form__field>span{color:var(--color-text);align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.period-form__field small{color:var(--color-text-secondary);font-size:.78rem;font-weight:400}.period-form input,.period-form select,.period-form textarea{background:var(--color-surface);width:100%;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-input);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);padding:.9rem 1rem;font-family:inherit;font-size:1rem}.period-form textarea{resize:vertical;min-height:90px;line-height:1.5}.period-form input::placeholder,.period-form textarea::placeholder{color:var(--color-text-secondary)}.period-form input:hover,.period-form select:hover,.period-form textarea:hover{border-color:#cbd5e1}.period-form input:focus,.period-form select:focus,.period-form textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 4px #6366f11f,0 8px 24px #6366f10f}.period-form__actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.period-history-section{margin-bottom:2rem}.period-section-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.period-section-header h2{color:var(--color-text);margin:0;font-size:1.3rem;font-weight:600}.period-section-header>span{color:var(--color-text-secondary);font-size:.9rem}.period-list{flex-direction:column;gap:1rem;display:flex}.period-item{align-items:flex-start;gap:1rem;display:flex}.period-item__icon{background:#ec489914;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.25rem;display:flex}.period-item__content{flex:1;min-width:0}.period-item__heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.period-item__heading h3{color:var(--color-text);margin:0;font-size:1.05rem;font-weight:600}.period-item__dates{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.3rem;font-size:.85rem;display:flex}.period-item__details{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.8rem;display:flex}.period-detail-badge{color:var(--color-text-secondary);background:#64748b14;border-radius:999px;align-items:center;gap:.25rem;padding:.3rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.period-detail-badge--light{color:#be185d;background:#f472b614}.period-detail-badge--medium{color:#be185d;background:#ec48991c}.period-detail-badge--heavy{color:#9d174d;background:#be185d1f}.period-item__meta{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.65rem;font-size:.82rem;display:flex}.period-source{align-items:center;gap:.2rem;display:inline-flex}.period-source--diary{color:var(--color-accent);background:#6366f114;border-radius:999px;padding:.2rem .45rem;font-weight:600}.period-source--file{color:#0284c7;background:#0ea5e914;border-radius:999px;padding:.2rem .45rem;font-weight:600}.period-item__notes{color:var(--color-text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin:.65rem 0 0;font-size:.9rem;line-height:1.5}.period-item__delete{width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:1.4rem;line-height:1;display:inline-flex}.period-item__delete:hover{color:var(--color-error);background:#dc262614;transform:scale(1.05)}.period-item__delete:focus-visible{outline:none;box-shadow:0 0 0 4px #dc26261f}.period-empty{text-align:center;padding:2rem 1rem}.period-empty__icon{margin-bottom:.75rem;font-size:2rem}.period-empty h3{color:var(--color-text);margin:0 0 .5rem;font-size:1.15rem;font-weight:600}.period-empty p{max-width:480px;color:var(--color-text-secondary);margin:0 auto;font-size:.95rem;line-height:1.5}@media (width<=768px){.period-form-section{margin:1.25rem 0 1.5rem}.period-form__grid{grid-template-columns:1fr;gap:1rem}.period-form__field--full{grid-column:auto}.period-form__actions{flex-direction:column-reverse;align-items:stretch}.period-form__actions .button{width:100%}.period-item{gap:.75rem}.period-item__icon{border-radius:10px;width:40px;height:40px;font-size:1.05rem}.period-item__heading h3{font-size:1rem}}@media (width<=520px){.period-item__icon{display:none}.period-item__dates{align-items:flex-start}.period-item__details{gap:.4rem}}
