.reward-type-card--disabled{opacity:.65;cursor:not-allowed!important;position:relative;pointer-events:none}.coming-soon-badge{position:absolute;top:10px;right:18px;background:orange;color:#fff;font-size:.75em;font-weight:600;padding:2px 10px;border-radius:12px;box-shadow:0 1px 4px #00000012;letter-spacing:.02em;z-index:2;pointer-events:none}.notification-item__content{display:flex;flex-direction:column;gap:.25rem;flex:1 1 auto}.notification-item__header{line-height:1.3;font-weight:600;color:var(--primary, #2a4d8f);font-size:.95rem}.notification-item__desc{line-height:1.3;color:#222;font-size:.93rem}.notification-item__cta{font-size:.8rem;color:var(--accent, #6f42c1);font-style:italic;margin-top:.1rem;line-height:1.3}.notification-item__cta--amber{color:#b8860b!important}.notification-item__cta--urgent{color:#dc3545!important}.notification-section-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#888;padding:.75rem 1.5rem .35rem}.notification-panel{background:#fff;border-radius:1rem;box-shadow:0 2px 8px #00000014;margin:2rem auto 1.5rem;max-width:600px;padding:0;border:1px solid #e5e7eb;overflow:hidden}.notification-panel-header{background:var(--primary-light, #f5f7fa);color:var(--primary, #2a4d8f);font-weight:600;font-size:1.1rem;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;letter-spacing:.01em}.notification-panel-content{padding:.25rem 0}.notification-group-header{font-size:1rem;font-weight:500;color:#2a4d8f;margin:.5rem 0 .25rem 1.5rem}.notification-divider{height:1px;background:#e5e7eb;margin:.75rem 0;width:90%;margin-left:auto;margin-right:auto}.notification-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;font-size:1rem;border-bottom:1px solid #f0f2f5;background:none;transition:background .15s}.notification-item:last-child{border-bottom:none}.notification-icon{display:flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;font-size:1.4rem;flex-shrink:0;background:#6366f114;border-radius:50%}.notification-desc{flex:1 1 auto;color:#222}.notification-time{font-size:.95em;color:#888;margin-left:.5rem}.notification-time-amber{color:#b8860b}.notification-time-urgent{color:#c0392b;font-weight:600}.notification-amber{background:#fffbe6}.notification-urgent{background:#fff0f0}.notification-approaching{background:#f0f7ff;cursor:pointer;color:#2a4d8f;font-weight:500;transition:background .15s}.notification-approaching:hover{background:#e6f0ff}.notification-fulfill-btn{flex-shrink:0;margin-left:.5rem;min-width:2.2em;min-height:2.2em;border-radius:50%;font-size:1.1em;background:var(--primary, #2a4d8f);color:#fff;border:none;cursor:pointer;transition:background .15s;box-shadow:0 1px 2px #0000000a;display:flex;align-items:center;justify-content:center}.notification-fulfill-btn:disabled{opacity:.6;cursor:not-allowed}.notification-fulfill-btn:hover:not(:disabled){background:#1d3557}.btn-sm{font-size:.95em;padding:.25em .7em;border-radius:1.2em;min-width:2em;min-height:2em}.top-banner{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.5rem;box-shadow:0 2px 8px #0000001a;position:static;z-index:900}.banner-content{max-width:1200px;margin:0 auto;justify-content:space-between;gap:1rem}.banner-content,.banner-links{display:flex;align-items:center}.banner-links{gap:1.5rem;flex-wrap:wrap}.banner-link{color:#fff;text-decoration:none;display:flex;align-items:center;gap:.5rem;font-weight:500;transition:all .2s;padding:.5rem .75rem;border-radius:4px}.banner-link:hover{background:#fff3;transform:translateY(-1px)}.banner-link i{font-size:1.1rem}.banner-hide{background:#ffffff26;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:500;display:flex;align-items:center;gap:.5rem;transition:all .2s;white-space:nowrap}.banner-hide:hover{background:#ffffff40}:root{--header-height: 60px;--padding-mobile: 1rem;--padding-desktop: 2rem;--max-width: 1200px}body{font-family:Segoe UI,Tahoma,sans-serif;background-color:#f9f9f9;color:#333;margin:20px;min-height:100vh;display:flex;flex-direction:column}h2{font-size:1.8rem;margin-bottom:20px;color:#222}h3{font-size:1.2rem;margin-bottom:10px;margin-top:30px;color:#444}button{background-color:#0057a0;color:#fff;border:none;padding:8px 14px;border-radius:4px;cursor:pointer;font-size:.95rem}button:hover{background-color:#004080}label{display:block;margin-bottom:10px;font-weight:500}hr{border:none;border-top:1px solid #ddd;margin:20px 0}.result{margin-top:8px;font-size:.9rem;padding:12px 20px;margin-bottom:15px;transition:opacity .3s ease-out;margin-top:1rem;padding:.75rem 1rem;border-radius:4px;font-size:.875rem}.result.success{color:green;background-color:#d4edda;border:1px solid #c3e6cb;background:#d4edda;color:#155724;border-left:4px solid #28a745}.result.error{color:red;background-color:#f8d7da;border:1px solid #f5c6cb;background:#f8d7da;color:#721c24;border-left:4px solid #dc3545}.quest-list,.task-list{margin-top:10px;padding-left:10px}.quest-item,.task-item{margin-bottom:4px;font-size:.95rem}.checkbox-group{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:8px;padding:12px;background:#f8f9fa;border-radius:6px}.checkbox-label{display:inline-flex;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px;border-radius:4px;transition:background-color .2s}.checkbox-label:hover{background-color:#e9ecef}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#7CB9E8;width:16px;height:16px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header button{padding:8px 16px;background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer}.header button:hover{background-color:#e0e0e0}.quest-list{margin:20px 0;overflow:hidden;transition:max-height .3s ease-out;max-height:1000px}.quest-item{background:#fff;border-radius:8px;padding:16px;margin:12px 0;box-shadow:0 2px 4px #0000001a;border-left:4px solid #7CB9E8;transition:background .2s,transform .2s}.quest-item h5{margin:0 0 8px;color:#2e5090;font-size:1.1em}.quest-item p{margin:4px 0;color:#666;font-size:.9em}.quest-type-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.8em;margin-right:8px}.quest-type-habit{background-color:#e6f3ff;color:#2e5090}.quest-type-chore{background-color:#ffe5cc;color:#c70}.quest-xp{color:orange;font-weight:700}.add-child-section{margin-bottom:30px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.children-sections{display:flex;flex-direction:column;gap:20px;margin-top:20px}.child-section{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.child-header{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.child-header h3{margin:0;flex-grow:1}.child-content{overflow:hidden;transition:max-height .3s ease-out;max-height:none}.child-content.collapsed{max-height:0}.collapse-icon{transition:transform .3s ease}.collapse-icon.collapsed{transform:rotate(-90deg)}.error-notification{position:fixed;top:20px;right:20px;background-color:#fff3f3;border:1px solid #ffcdd2;border-left:4px solid #f44336;padding:16px;border-radius:4px;box-shadow:0 2px 4px #0000001a;z-index:1000;max-width:400px}.error-notification h4{margin:0 0 8px;color:#d32f2f}.error-notification p{margin:0;color:#666;font-size:.9em}.admin-menu{padding:10px;background-color:#f5f5f5;border-radius:4px;margin:10px 0}.login-code-result{display:none;margin:1rem 0;padding:1rem;border-radius:8px;background-color:#f8f9fa;animation:fadeIn .3s ease-in}.login-code-result:not(:empty){display:block}.login-code-result .success{color:#28a745;display:flex;flex-direction:column;gap:.5rem}.login-code-result .error{color:#dc3545}.login-code-result .validity{font-size:.875rem;color:#6c757d;margin-top:.25rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.note{font-size:.9em;color:#666}.admin-dropdown{position:relative;display:inline-block;float:right;margin:8px}.menu-icon{cursor:pointer;font-size:25px;font-weight:700;padding:5px;color:#666;transition:transform .2s ease}.menu-icon:hover{transform:rotate(45deg);color:#333}.dropdown-content{display:none;position:absolute;right:0;background-color:#f9f9f9;min-width:160px;box-shadow:0 8px 16px #0003;z-index:1;border-radius:4px}.dropdown-content button{color:#000;padding:12px 16px;text-decoration:none;display:block;width:100%;text-align:left;border:none;background:none;cursor:pointer}.dropdown-content button:hover{background-color:#f1f1f1}.show{display:block}.form-container{max-width:500px;margin:1em 0;padding:1em;border:1px solid #ccc;border-radius:4px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;color:#333}.form-group input{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box}.auth-options{display:flex;flex-direction:column;gap:1rem;max-width:300px;margin:0 auto}.auth-form{width:100%;max-width:400px;margin:20px auto;background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.auth-tabs{display:flex;gap:20px;margin-bottom:20px;border-bottom:1px solid #ddd;width:100%}.auth-tab{padding:10px 20px;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:16px;opacity:1;transition:all .3s ease}.auth-tab:hover,.auth-tab.active{color:#489fd1}.auth-tab.active{border-bottom:2px solid #489fd1}.auth-panel{display:none;opacity:0;transition:opacity .3s ease}.auth-panel.active{display:block;opacity:1}.password-requirements{font-size:.8rem;margin-top:.5rem;color:#666}.password-requirements li{list-style:none;padding-left:1.5rem;position:relative}.password-requirements li:before{content:"✕";position:absolute;left:0;color:#f44}.password-requirements li.met:before{content:"✓";color:#4f4}.divider{text-align:center;margin:1rem 0;color:#666}.forgot-password{display:block;text-align:right;margin-top:1rem;font-size:.9rem;color:#489fd1}.unverified-state{margin-top:12px;padding:12px;border:1px solid #ffeeba;border-radius:6px;background-color:#fff8e6;color:#6d5204}.unverified-title{margin:0 0 6px;font-weight:600}.unverified-email,.unverified-help{margin:0 0 6px;font-size:.9rem}.unverified-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.unverified-status{margin-top:8px;min-height:20px;font-size:.85rem}.unverified-status.success{color:#1f6f2f}.unverified-status.error{color:#a61e1e}.verification-banner{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404;padding:1rem;margin:1rem 0;border-radius:4px;display:flex;justify-content:space-between;align-items:center}.verification-message{flex:1}.verification-button{background-color:#856404;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.verification-button:hover{background-color:#6d5204}.app-header{position:fixed;background-color:#fff;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;left:0;right:0;z-index:1000;height:var(--header-height)}.app-header,.header-content{display:flex;align-items:center;padding:0 var(--padding-mobile)}.header-content{max-width:var(--max-width);margin:0 auto;justify-content:space-between;width:100%;padding:0 var(--padding-mobile)}main{padding-top:calc(var(--header-height) + 1rem)}.landing-content{padding-top:calc(var(--header-height) + 2rem);margin-top:var(--header-height);padding:2rem var(--padding-mobile);max-width:var(--max-width)}.auth-container{margin-top:2rem}@media (max-width: 768px){main{padding-top:var(--header-height)}.auth-container{margin-top:1rem}.code-result{margin:.5rem 0;padding:.75rem}.modal-content,.modal-content.modal-wide{width:95%;max-height:85vh;padding:1.5rem}.modal-header h3{font-size:1.25rem}.modal-content form>div:has(button){flex-direction:column}.gender-radio-group{flex-direction:column;gap:.5rem}}.account-button{background:none;border:none;font-size:1.5rem;color:#333;cursor:pointer;padding:.5rem;border-radius:50%;transition:background-color .2s;display:flex;align-items:center;justify-content:center;position:absolute;right:0;top:50%;transform:translateY(-50%)}.account-button:hover{background-color:#0000000d}.account-menu{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000026;min-width:200px;z-index:1001}.menu-item{padding:.75rem 1rem;cursor:pointer;transition:background-color .2s}.menu-item:hover{background-color:#f5f5f5}.profile-photo{width:32px;height:32px;border-radius:50%;object-fit:cover}.menu-header{padding:1rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid #eee}.menu-profile-photo{width:48px;height:48px;border-radius:50%;object-fit:cover}.menu-user-info{display:flex;flex-direction:column}.menu-user-name{font-weight:600;color:#333}.menu-user-email{font-size:.875rem;color:#666}.menu-divider{height:1px;background-color:#eee;margin:.5rem 0}.content-container{margin-top:4rem}.login-options{display:flex;gap:1rem;margin:1rem 0}.deep-link-button,.copy-link-button{border:none;transition:background-color .2s}.deep-link-button,.copy-link-button{padding:.5rem 1rem;border-radius:4px;cursor:pointer}.deep-link-button{display:inline-block;text-decoration:none;background-color:#4caf50;color:#fff;border:none;font-family:inherit;font-size:inherit}.copy-link-button{background-color:#2196f3;color:#fff}.deep-link-button:hover{background-color:#45a049}.copy-link-button:hover{background-color:#1976d2}.quest-section{margin:1rem 0}.quest-header{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;background-color:#f5f5f5;border-radius:4px}.quest-header:hover{background-color:#eee}.quest-list.collapsible,.child-content.collapsible{overflow:hidden;transition:max-height .3s ease-out}.quest-list.collapsed{max-height:0}.logo{font-size:1.5rem;font-weight:700;color:#333}.header-nav{display:flex;gap:1rem}.nav-button{padding:.5rem 1.5rem;border-radius:4px;border:none;background-color:#007bff;color:#fff;cursor:pointer;font-size:1rem;transition:background-color .2s}.nav-button:hover{background-color:#0056b3}#app,.auth-container,.landing-content{padding-top:calc(var(--header-height) + 1rem);max-width:var(--max-width);margin:0 auto;padding-left:var(--padding-mobile);padding-right:var(--padding-mobile)}#verificationBanner{position:fixed;top:var(--header-height);left:0;right:0;z-index:999}@media (min-width: 768px){.app-header{padding:0 var(--padding-desktop)}#app,.auth-container,.landing-content{padding-left:var(--padding-desktop);padding-right:var(--padding-desktop)}}.auth-container,.landing-content{margin-top:0}.google-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:.75rem 1rem;border:1px solid #dadce0;border-radius:4px;background-color:#fff;color:#3c4043;font-family:Google Sans,Roboto,sans-serif;font-size:1rem;cursor:pointer;transition:background-color .2s,box-shadow .2s}.google-button:hover{background-color:#f8f9fa;box-shadow:0 1px 2px #0000001a}.google-button:active{background-color:#f1f3f4}.google-icon{width:18px;height:18px;object-fit:contain}.auth-separator{display:flex;align-items:center;text-align:center;margin:2rem 0}.auth-separator:before,.auth-separator:after{content:"";flex:1;border-bottom:1px solid #ddd}.auth-separator span{padding:0 1rem;color:#666}.social-auth{margin-top:1rem;display:grid;gap:.75rem}.apple-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:.75rem 1rem;border:1px solid #1d1d1f;border-radius:4px;background-color:#000;color:#fff;font-family:Segoe UI,Tahoma,sans-serif;font-size:1rem;cursor:pointer;transition:background-color .2s,box-shadow .2s}.apple-button:hover{background-color:#1d1d1f;box-shadow:0 1px 2px #0003}.apple-button:active{background-color:#2c2c2e}.auth-button{margin-bottom:1rem}.app-footer{background-color:#f8f9fa;padding:1rem 0;margin-top:auto;border-top:1px solid #dee2e6}.footer-content{display:flex;justify-content:space-between;align-items:center;max-width:var(--max-width);margin:0 auto;padding:2rem var(--padding-mobile);padding:1rem var(--padding-mobile)}.footer-links{display:flex;flex-direction:column;gap:1rem;align-items:flex-end}.social-links{display:flex;gap:1.5rem;margin-top:.5rem}.social-links a{color:#6c757d;font-size:1.25rem;transition:color .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background-color:#f8f9fa}.social-links a:hover{color:#3498db;background-color:#e9ecef}.social-links .fab{font-size:18px}@media (max-width: 768px){.footer-content{gap:1.5rem;padding:1.5rem var(--padding-mobile);flex-direction:column;gap:1rem;text-align:center}.footer-links{align-items:center}.social-links{margin-top:1rem}}.brand-link{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit}.header-logo{height:40px;width:auto;max-width:200px}.footer-logo{height:32px;width:auto;max-width:160px}.brand-name{font-size:1.25rem;font-weight:600}.header-content,.footer-content{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center}.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.copyright{font-size:.875rem;color:#6c757d}@media (max-width: 768px){.footer-brand{align-items:center}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.header-logo{image-rendering:-webkit-optimize-contrast}}.invite-result,.invite-parent-form{margin:10px 0}.invite-parent-form{background:#f5f5f5;padding:15px;border-radius:8px}.invite-parent-form h4{margin-top:0;color:#2e5090}.invite-parent-form .form-group{margin-bottom:15px}.invite-parent-form label{display:block;margin-bottom:5px;font-weight:600}.invite-parent-form input[type=email]{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.invite-parent-form .form-buttons{display:flex;gap:10px}.invite-parent-form .primary-button,.invite-parent-form .secondary-button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.invite-parent-form .primary-button{background:#2e5090;color:#fff}.invite-parent-form .secondary-button{background:#ccc;color:#333}.invite-result .success{background:#d4edda;color:#155724;padding:10px;border-radius:4px;border:1px solid #c3e6cb}.invite-result .error{background:#f8d7da;color:#721c24;padding:10px;border-radius:4px;border:1px solid #f5c6cb}.spinner-small{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem;vertical-align:middle}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes deep-link-pulse{0%{box-shadow:0 0 #667eea8c}50%{box-shadow:0 0 0 8px #667eea00}to{box-shadow:0 0 #667eea00}}.deep-link-highlight{animation:deep-link-pulse .9s ease-out 2;border-radius:8px}.loading{padding:1rem;background:#e3f2fd;border-left:4px solid #2E5090;border-radius:4px;color:#2e5090;display:flex;align-items:center}button:disabled{opacity:.6;cursor:not-allowed;position:relative}.success{padding:1rem;background:#e8f5e9;border-left:4px solid #28a745;border-radius:4px;color:#155724}.success strong{color:#0d3d1a}.error{padding:1rem;background:#f8d7da;border-left:4px solid #dc3545;border-radius:4px;color:#721c24}.progress-section{margin:1.5rem 0;padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff}.progress-section h4{margin:0 0 1rem;font-size:1.2rem;color:#fff}.progress-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.progress-stat{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;padding:1.25rem;display:flex;gap:1rem;align-items:flex-start}.stat-icon{font-size:2rem;flex-shrink:0}.stat-content{flex:1}.stat-label{font-size:.85rem;opacity:.9;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.progress-bar{width:100%;height:8px;background:#fff3;border-radius:4px;overflow:hidden;margin:.5rem 0}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:4px;transition:width .3s ease}.progress-percent{font-size:.85rem;opacity:.9;margin-top:.25rem}.today-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:.75rem 0}.today-item{display:flex;flex-direction:column;align-items:center;text-align:center}.today-number{font-size:1.5rem;font-size:1.3rem;font-weight:700;display:block;white-space:nowrap}.today-label{font-size:.75rem;opacity:.85;margin-top:.25rem}.today-visual{text-align:center;margin-top:.75rem;font-size:1.2rem;letter-spacing:2px}.filled-dots{color:gold}.empty-dots{color:#ffffff4d}.overflow{font-size:.9rem;margin-left:.5rem;opacity:.9}.progress-loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:#fff}.progress-error{text-align:center;padding:2rem;color:#fffc}.calendar-section{margin-top:2rem;background:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000001a}.calendar-grid-view{display:block}.calendar-list-view{display:none}.calendar-list{display:flex;flex-direction:column;gap:1rem}.calendar-list-day{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.calendar-list-day.today{border:2px solid #2E5090;box-shadow:0 2px 8px #2e509033}.calendar-list-day.past{opacity:.7}.list-day-header{justify-content:space-between;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.list-day-header,.list-day-date{display:flex;align-items:center}.list-day-date{gap:.75rem}.list-day-number{font-size:1.75rem;font-weight:700;line-height:1}.list-day-name{font-size:.9rem;opacity:.9}.today-badge{background:#ffffff4d;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:700;margin-left:.5rem}.yesterday-badge{background:#9e9e9e4d}.tomorrow-badge{background:#4caf504d}.list-day-summary{display:flex;flex-direction:column;align-items:flex-end}.list-task-count{font-size:1.25rem;font-weight:700;padding:.25rem .75rem;background:#fff3;border-radius:16px}.list-task-count.complete{background:#4caf504d}.list-day-tasks{padding:.5rem}.list-task{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-bottom:1px solid #f0f0f0;transition:background .2s}.list-task:last-child{border-bottom:none}.list-task:hover{background:#f8f9fa}.list-task.completed{opacity:.7}.list-task.completed .task-name{text-decoration:line-through}.task-status-icon{font-size:1.25rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.list-task.completed .task-status-icon{color:#4caf50}.task-name{flex:1;font-size:.95rem}.task-xp{font-size:.85rem;color:#666;font-weight:600;background:#fff3cd;padding:.25rem .5rem;border-radius:12px}.no-tasks-message{text-align:center;padding:2rem;color:#999;font-style:italic}.calendar-expand-btn{width:100%;padding:1rem;margin-top:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s}.calendar-expand-btn:hover{opacity:.9}.calendar-expand-btn:active{transform:scale(.98)}.mini-progress-bar{width:100%;height:4px;background:#fff3;border-radius:2px;overflow:hidden;margin-top:.5rem}.mini-progress-fill{height:100%;background:linear-gradient(90deg,gold,orange);border-radius:2px;transition:width .3s ease}.overflow-text{opacity:.8}.overflow-text,.day-badge{font-size:.75rem;margin-left:.5rem}.day-badge{background:#ffffff4d;padding:.25rem .5rem;border-radius:12px;font-weight:700}@media (max-width: 768px){.calendar-grid-view{display:none!important}.calendar-list-view{display:block!important}.calendar-header h3{font-size:1.1rem}.calendar-header button{padding:.4rem .8rem;font-size:.9rem}.calendar-section{padding:.75rem}.progress-overview,.today-stats{grid-template-columns:1fr}}@media (max-width: 1024px) and (min-width: 769px){.calendar-day{min-height:60px;font-size:.85rem}.day-number{font-size:.8rem}.day-tasks{font-size:.7rem}}.list-task.future-task{opacity:.8;background:linear-gradient(90deg,#667eea0d,#764ba20d)}.future-badge{font-size:.75rem;color:#667eea;font-weight:600;background:#667eea1a;padding:.2rem .4rem;border-radius:10px;margin-left:.5rem}.day-task-list{display:none;margin-top:.5rem;gap:.25rem;flex-direction:column}.calendar-task{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;font-size:.75rem;border-radius:4px;background:#ffffff80}.calendar-task.clickable{cursor:pointer}.calendar-task.clickable:hover{background:#667eea1a}.calendar-task.completed{opacity:.6;text-decoration:line-through}.calendar-task.future{opacity:.7;font-style:italic}.task-indicator{font-size:.875rem;font-weight:700;color:#667eea}.calendar-task.completed .task-indicator{color:#48bb78}.task-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 1200px){.day-task-list{display:flex}.day-tasks{display:none}.calendar-day{min-height:120px;padding:.5rem}}@media (min-width: 1400px){.calendar-day{min-height:140px}.calendar-task{font-size:.8125rem}}@media (max-width: 1199px){.day-tasks{display:block}.day-task-list{display:none}}.calendar{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1rem;margin-bottom:1.5rem;width:100%;box-sizing:border-box;overflow:hidden}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;width:100%}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-days,.calendar-day{width:100%;box-sizing:border-box}.calendar-day{border:1px solid #e2e8f0;border-radius:4px;padding:.5rem;min-height:60px;background:#fff;box-sizing:border-box;width:100%;overflow:hidden}.calendar-day.expanded{min-height:auto;max-height:300px;overflow-y:auto;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.day-task-popup{position:absolute;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:400px;display:flex;flex-direction:column;overflow:hidden}.popup-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;flex-shrink:0}.popup-date{font-weight:600;font-size:.875rem}.popup-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.popup-close:hover{background:#fff3}.popup-task-list{flex-direction:column;gap:.25rem;overflow-y:auto;max-height:350px}.popup-task-list,.popup-task{display:flex;padding:.5rem}.popup-task{align-items:center;gap:.5rem;font-size:.875rem;border-radius:4px;background:#f8fafc;border:1px solid #e2e8f0;transition:all .2s}.popup-task.clickable{cursor:pointer}.popup-task.clickable:hover{background:#667eea1a;border-color:#667eea;transform:translate(2px)}.popup-task.completed{opacity:.6}.popup-task.completed .task-title{text-decoration:line-through}.popup-task.future{opacity:.7;font-style:italic;background:#fff8e1}.popup-task .task-indicator{font-size:1rem;font-weight:700;color:#667eea;flex-shrink:0;width:20px;text-align:center}.popup-task.completed .task-indicator{color:#48bb78}.popup-task .task-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.popup-task .task-xp{font-size:.75rem;color:#667eea;font-weight:600;flex-shrink:0}.popup-task-list::-webkit-scrollbar{width:6px}.popup-task-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.popup-task-list::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.popup-task-list::-webkit-scrollbar-thumb:hover{background:#555}.clickable-count{cursor:pointer;transition:background .2s}.clickable-count:hover{background:#667eea1a;border-radius:4px}@media (min-width: 1200px){.day-task-popup,.clickable-count{display:none}}@media (max-width: 768px){.day-task-popup{max-width:90vw;max-height:300px}.popup-task-list{max-height:250px}.popup-task{font-size:.8125rem}}.quest-item:hover{background:#667eea0d;transform:translate(2px)}.quest-item.inactive{opacity:.6;background:#00000005}.inactive-badge{display:inline-block;background:#e53e3e;color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;margin-left:.5rem;font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;overflow-y:auto}.modal-content{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 20px #0003;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;position:relative;margin:auto}.modal-content.modal-wide{max-width:90%;width:80%}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.modal-header h3{margin:0;font-size:1.5rem;color:#2d3748}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;padding:0;width:30px;height:30px;color:#666;line-height:1;transition:color .2s,transform .2s;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#000;transform:rotate(90deg)}.modal-content form>div{margin-bottom:1rem}.modal-content form label:not(.checkbox-label):not(.gender-radio-group label){display:block;margin-bottom:.5rem;font-weight:600;color:#2d3748}.modal-content form input[type=text],.modal-content form input[type=email],.modal-content form input[type=number],.modal-content form input[type=date],.modal-content form select,.modal-content form textarea{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:4px;font-size:1rem;box-sizing:border-box;font-family:inherit}.modal-content form input:focus,.modal-content form select:focus,.modal-content form textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-content form>div:has(button){display:flex;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0}.result.info{background:#d1ecf1;color:#0c5460;border-left:4px solid #17a2b8}.modal-content .checkbox-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-top:.5rem;padding:.75rem;background:#f8f9fa;border-radius:6px}.modal-content .checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;border-radius:4px;transition:background .2s;font-weight:400}.modal-content .checkbox-label:hover{background:#e9ecef}.modal-content .checkbox-label input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:#667eea}.pending-badge{background-color:orange;color:#fff;padding:2px 8px;border-radius:4px;font-size:.8em;margin-left:8px}.quest-item.pending{border-left:4px solid #ffa500;opacity:.85}.gender-radio-group{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.gender-radio-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem;border-radius:4px;transition:background .2s;font-weight:400}.gender-radio-group label:hover{background:#667eea0d}.gender-radio-group input[type=radio]{width:auto;margin:0;cursor:pointer}.gender-note{display:block;color:#666;font-size:.875rem;margin-top:.5rem;line-height:1.4;font-style:italic}.emote-picker{margin:8px 0}.emote-picker-tabs{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}.emote-tab{background:#848898;border:none;padding:6px 12px;cursor:pointer;border-radius:4px}.emote-tab.active{background:#2e5090;color:#fff}.emote-grid{display:flex;flex-wrap:wrap;gap:6px}.emote-btn{font-size:2rem;background:none;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:border .2s}.emote-btn.selected,.emote-btn.hover{border:2px solid #2E5090;background:#e6f0ff}.emote-clear-btn{margin-top:8px;background:#848898;border:none;padding:4px 12px;border-radius:4px;cursor:pointer}.selected-emote{font-size:2rem;margin-left:8px;vertical-align:middle}
