:root{color:var(--color-text);background-color:var(--color-background);--color-primary:#7c4dff;--color-primary-hover:#6300c6;--color-background:#a4d65e;--color-surface:#fff;--color-text:#2b2b2b;--color-text-secondary:#5f6368;--color-border:#c9f;--color-success-light:#96fab7;--color-success:#0bda51;--color-warning-light:#fffdb3;--color-warning:#fff700;--color-error-light:#ff2f63;--color-error:#e30b5d;--color-action:#7c4dff;--color-action-hover:#6300c6;background:linear-gradient(#fbfaff 0%,#f5f2ff 45%,#f7fbff 100%);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{background:var(--color-background);min-height:100vh;color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.6}button{font:inherit}a{color:inherit;text-decoration:none}.navbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:3rem;padding:1rem 0;display:flex}.navbar__brand{flex-shrink:0;align-items:center;gap:.65rem;display:flex}.navbar__logo{width:52px;height:52px;transition:transform .2s}.navbar__brand:hover .navbar__logo{transform:rotate(-4deg)scale(1.05)}.navbar__title{letter-spacing:-.02em;color:var(--color-primary);font-size:2.3rem;font-weight:650}.navbar__nav{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.navbar__link{color:var(--color-text-secondary);font-size:1.7rem;font-weight:500;text-decoration:none;transition:color .2s,transform .2s}.navbar__link:hover{color:var(--color-primary);transform:translateY(-1px)}.navbar__link.active{color:var(--color-primary);font-weight:600}@media (width<=768px){.navbar{gap:1rem;margin-bottom:2rem;padding:1rem 0}.navbar__brand{gap:.5rem}.navbar__logo{width:44px;height:44px}.navbar__title{font-size:1.8rem}.navbar__nav{justify-content:space-between;gap:1rem;width:100%}.navbar__link{font-size:1.1rem}.logout-button{width:100%;margin-top:.5rem}}.button{cursor:pointer;min-height:44px;font:inherit;border:none;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:1.1rem;font-weight:600;transition:background-color .2s,color .2s,border-color .2s,transform .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.6;cursor:not-allowed}.button-full-width{width:100%}.button-primary{background:var(--color-action);color:#fff}.button-primary:hover:not(:disabled){background:var(--color-action-hover)}.button-secondary{background:var(--color-surface-alt);color:var(--color-text)}.button-outline{color:var(--color-primary);border:1px solid var(--color-primary);background:0 0}.button-danger{background:var(--color-error-light);color:#fff}.button-danger:hover:not(:disabled){filter:brightness(.95);background:var(--color-error)}@media (width<=768px){.button{justify-content:center;width:100%;min-width:0;padding:.85rem 1rem;font-size:1rem}}.page-container{max-width:1200px;margin:0 auto;padding:2rem 2.5rem}@media (width<=768px){.page-container{padding:1rem}}.error-message{background:var(--color-danger-light);color:var(--color-danger);border-radius:8px;padding:1rem}@media (width<=768px){.error-message{border-radius:10px;padding:.9rem 1rem;font-size:.9rem;line-height:1.5}}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{background:var(--color-surface);border-radius:24px;width:100%;max-width:440px;padding:3rem;box-shadow:0 10px 40px #0f172a14}.login-title{text-align:center;color:var(--color-primary);margin-bottom:.75rem;font-size:2.4rem;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-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;cursor:pointer;border:none;border-radius:12px;margin-top:.5rem;padding:.95rem;font-size:1rem;font-weight:600;transition:background .2s}.login-button:hover{background:var(--color-primary-hover)}.login-logo{flex-direction:column;align-items:center;margin-bottom:1rem;display:flex}.login-logo img{width:70px;height:70px;margin-bottom:.75rem}.login-logo-image{object-fit:contain;width:72px;height:72px;margin-bottom:.75rem}.login-footer{text-align:center;color:var(--color-text-secondary);margin-top:1.5rem;font-size:.95rem}.login-footer a{color:var(--color-primary);font-weight:600;text-decoration:none}.login-footer a:hover{text-decoration:underline}.success-message{color:var(--color-success);border:1px solid var(--color-success-light);background:#eaf8ef;border-radius:12px;margin-bottom:1rem;padding:.9rem 1rem;font-size:.95rem}.password-input-wrapper{width:100%;position:relative}.password-input-wrapper input{box-sizing:border-box;width:100%;padding-right:3rem}.password-toggle{cursor:pointer;color:#6b7280;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}@media (width<=768px){.login-page{align-items:center;padding:1.25rem}.login-card{border-radius:20px;max-width:100%;padding:2rem 1.5rem;box-shadow:0 8px 24px #0f172a14}.login-logo img,.login-logo-image{width:64px;height:64px;margin-bottom:.6rem}.login-title{margin-bottom:.5rem;font-size:2rem}.login-subtitle{margin-bottom:1.5rem;font-size:.95rem}.login-form{gap:1rem}.login-form input{padding:.9rem 1rem;font-size:16px}.login-button{padding:1rem;font-size:1rem}.login-footer{margin-top:1.25rem;font-size:.9rem}.success-message{padding:.85rem 1rem;font-size:.9rem}.password-toggle{right:.9rem}}.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{text-align:center;padding:3rem 0}.spinner{border:4px solid var(--color-surface-alt);border-top:4px solid var(--color-primary);border-radius:50%;width:36px;height:36px;margin:0 auto 1rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){.loading-spinner{padding:2rem 0}.spinner{border-width:3px;width:32px;height:32px}}.empty-state{text-align:center;color:#6b7280;padding:3rem 1rem}.empty-state h2{color:#374151;margin-bottom:.75rem}@media (width<=768px){.empty-state{padding:2rem 1rem}.empty-state h2{margin-bottom:.6rem;font-size:1.25rem;line-height:1.3}.empty-state p{font-size:.95rem;line-height:1.5}}.card{background:var(--color-surface);border:1px solid #7c4dff33;border-radius:22px;margin-bottom:2rem;padding:2rem;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 12px #2b2b2b0f,0 0 10px #7c4dff1a}.card:hover{box-shadow:0 12px 36px #0f172a17}.card h2{color:var(--color-text);margin-bottom:1.25rem;font-size:1.5rem;font-weight:600}@media (width<=768px){.card{border-radius:20px;padding:20px}}.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}.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}.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__actions{justify-content:flex-end;align-items:center;min-width:130px;display:flex}@media (width<=768px){.task-card{flex-direction:column;gap:1rem}.task-card__actions{width:100%;min-width:unset;justify-content:flex-start}.task-card{gap:.85rem;padding:.9rem 0}.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}.status{min-width:82px;padding:.35rem .8rem;font-size:.82rem}.task-card__actions{margin-top:.25rem}.task-card__actions button{width:100%}}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.page-header-content{flex-direction:column;display:flex}.page-header-title{color:var(--color-text);margin:0;font-size:1.6rem;font-weight:600;line-height:1.2}.page-header-subtitle{color:var(--color-text-secondary);margin-top:.35rem;font-size:1.2rem;line-height:1.1}.page-header-actions{align-items:center;gap:.75rem;display:flex}@media (width<=768px){.page-header{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1.5rem}.page-header-title{font-size:1.35rem;line-height:1.3}.page-header-subtitle{margin-top:.3rem;font-size:1rem;line-height:1.4}.page-header-actions{gap:.6rem;width:100%}.page-header-actions .btn{width:100%}}.confirm-dialog-backdrop{z-index:1000;background:#00000059;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.confirm-dialog{flex-direction:column;gap:1rem;width:100%;max-width:420px;display:flex}.confirm-dialog-title{margin:0;font-size:1.25rem;font-weight:600}.confirm-dialog-message{color:var(--color-text-secondary);margin:0;line-height:1.6}.confirm-dialog-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}@media (width<=768px){.confirm-dialog-backdrop{padding:1rem}.confirm-dialog{gap:.9rem;max-width:100%}.confirm-dialog-title{font-size:1.15rem;line-height:1.3}.confirm-dialog-message{font-size:.95rem;line-height:1.5}.confirm-dialog-actions{flex-direction:column-reverse;gap:.75rem}.confirm-dialog-actions button{width:100%}}.badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.25rem .65rem;font-size:1.1rem;font-weight:600;display:inline-flex}.badge-default{background:var(--color-surface-alt);color:var(--color-text-secondary)}.badge-success{background:var(--color-success);color:var(--color-surface)}.badge-warning{background:var(--color-warning);color:var(--color-surface)}.badge-danger{background:var(--color-danger);color:var(--color-surface)}.badge-info{background:var(--color-primary-light);color:var(--color-primary)}@media (width<=768px){.badge{padding:.22rem .6rem;font-size:.9rem}}.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.75rem 0 2rem}.task-search input{border:1px solid var(--color-border);width:100%;max-width:300px;color:var(--color-text);background:#fff;border-radius:14px;padding:.9rem 1rem;font-family:inherit;font-size:1.2rem;transition:border-color .4s,box-shadow .4s}.task-search input::placeholder{color:var(--color-text-secondary)}.task-search input:focus,textarea:focus,select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #7c4dff2e,0 6px 20px #2b2b2b1a}@media (width<=768px){.task-search{margin:1.25rem 0 1.5rem}.task-search input{border-radius:12px;max-width:100%;padding:.85rem 1rem;font-size:1rem}.task-search input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px #7c4dff2e,0 4px 12px #2b2b2b14}}.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%;color:var(--color-text);font:inherit;border-radius:.5rem;padding:.75rem .9rem;transition:border-color .2s,box-shadow .2s}.task-form input:focus,textarea:focus,select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #7c4dff2e,0 6px 20px #2b2b2b1a}.task-form textarea{resize:vertical;min-height:100px}.task-checkbox{cursor:pointer;align-items:center;gap:.75rem;font-weight:500;display:inline-flex}.task-checkbox input{width:auto;box-shadow:none;margin:0}.task-checkbox input:focus{box-shadow:none}.task-form-actions{justify-content:flex-end;gap:1rem;display:flex}@media (width<=768px){.task-form{gap:1.25rem}.task-form-group{gap:.45rem}.task-form input,.task-form textarea,.task-form select{padding:.85rem 1rem;font-size:16px}.task-form textarea{min-height:120px}.task-checkbox{align-items:flex-start;gap:.6rem;line-height:1.5}.task-form-actions{flex-direction:column;gap:.75rem}.task-form-actions .btn{width:100%}}.recurrence-form{flex-direction:column;gap:1.5rem;display:flex}.recurrence-title{color:var(--color-text);margin:0;font-size:1.2rem;font-weight:600}.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%;color:var(--color-text);font:inherit;border-radius:.5rem;padding:.75rem .9rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,textarea:focus,select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #7c4dff2e,0 6px 20px #2b2b2b1a}.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 .15s}.weekday-chip:hover{border-color:var(--color-primary);transform:translateY(-1px)}.weekday-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.weekday-chip:focus-visible{outline:none;box-shadow:0 0 0 3px #2ab6b533}@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:.85rem 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:var(--color-background);flex-direction:column;gap:1.5rem;min-height:calc(100vh - 120px);display:flex}.task-history-card{background:var(--color-surface,white);border:1px solid #00000014;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex}.task-history-date{color:var(--color-text);font-size:.95rem;font-weight:500}.task-history-status{text-transform:capitalize;font-size:.85rem;font-weight:600}.task-history-status.completed{color:var(--color-success)}.task-history-status.pending{color:var(--color-primary)}.task-history-status.overdue{color:var(--color-warning)}.task-history-status.skipped{color:#666}.task-history-status.cancelled{color:#b91c1c}@media (width<=768px){.task-details{gap:1rem;min-height:auto;padding-bottom:1rem}.task-history-card{border-radius:10px;gap:.75rem;padding:1rem}.task-history-date{word-break:break-word;font-size:.9rem;line-height:1.4}.task-history-status{white-space:nowrap;flex-shrink:0;font-size:.8rem}}.onboarding{background:var(--color-background);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.onboarding-image{border-radius:24px;width:100%;max-width:420px;height:auto;transition:opacity .3s;box-shadow:0 12px 36px #2b2b2b1f}.skip-button{color:var(--color-primary);cursor:pointer;background:0 0;border:none;font-size:1rem;font-weight:600;position:absolute;top:24px;right:24px}.dots{gap:10px;margin:2rem 0;display:flex}.dot{background:#7c4dff40;border-radius:50%;width:10px;height:10px;transition:all .25s}.dot.active{background:var(--color-primary);border-radius:999px;width:28px}.next-button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:14px 36px;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 8px 22px #7c4dff47}.next-button:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 12px 28px #7c4dff5c}@media (width<=768px){.onboarding{padding:1.5rem}.onboarding-image{max-width:100%}.next-button{width:100%;max-width:320px}}
