*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #D4847A;--color-primary-light: #E8A598;--color-primary-dark: #B86B62;--color-secondary: #F5D0C5;--color-accent: #FCEAE5;--color-bg: #FDF8F5;--color-bg-secondary: #FFFFFF;--color-bg-alt: #FFF5F2;--color-border: #F0DED8;--color-border-light: #FAE8E2;--color-text: #2D2D2D;--color-text-light: #5A5A5A;--color-text-muted: #8A8A8A;--color-success: #7CB984;--color-warning: #E8B86D;--color-error: #D96B6B;--color-info: #6BA3D9;--gradient-primary: linear-gradient(135deg, #F5D0C5 0%, #FCEAE5 100%);--gradient-hero: linear-gradient(135deg, #E8A598 0%, #F5D0C5 50%, #FCEAE5 100%);--gradient-card: linear-gradient(180deg, #FFFFFF 0%, #FDF8F5 100%);--gradient-button: linear-gradient(135deg, #D4847A 0%, #E8A598 100%);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .5rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(212, 132, 122, .08);--shadow-md: 0 4px 16px rgba(212, 132, 122, .12);--shadow-lg: 0 8px 32px rgba(212, 132, 122, .16);--shadow-xl: 0 16px 48px rgba(212, 132, 122, .2);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.7;color:var(--color-text)}body{background-color:var(--color-bg);min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin-bottom:var(--spacing-md);color:var(--color-text)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}p{margin-bottom:var(--spacing-md);color:var(--color-text)}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-button);color:#fff;border:none;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg)}.btn-outline{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover:not(:disabled){background:var(--gradient-button);color:#fff;border-color:transparent;transform:translateY(-1px)}.btn-danger{background-color:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background-color:#d32f2f}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:.875rem}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1.0625rem}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;font-size:.9375rem;color:var(--color-text)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #d4847a26}.form-input.error,.form-textarea.error{border-color:var(--color-error)}.form-error{display:block;margin-top:var(--spacing-xs);font-size:.875rem;color:var(--color-error)}.form-help{display:block;margin-top:var(--spacing-xs);font-size:.875rem;color:var(--color-text-muted)}.form-textarea{min-height:100px;resize:vertical}.card{background:var(--gradient-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);border:1px solid var(--color-border-light);transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.card-title{margin:0;font-size:1.125rem;font-weight:600}.card-body{margin-bottom:var(--spacing-md)}.card-footer{padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.container-sm{max-width:600px;margin:0 auto;padding:0 var(--spacing-lg)}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--color-text-muted)}.text-small{font-size:.875rem}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.spinner{border:3px solid var(--color-border);border-top:3px solid var(--color-primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container{display:flex;justify-content:center;align-items:center;min-height:200px}.hero-section{background:var(--gradient-hero);padding:var(--spacing-3xl) var(--spacing-xl);border-radius:var(--radius-xl);margin-bottom:var(--spacing-2xl)}.section-title{font-size:1.75rem;font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-sm);letter-spacing:-.02em}.section-subtitle{font-size:1rem;color:var(--color-text-light);margin-bottom:var(--spacing-xl)}.feature-card{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);transition:all .3s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.feature-icon{width:56px;height:56px;border-radius:var(--radius-md);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-md);color:var(--color-primary-dark);font-size:1.5rem}.testimonial-card{background:var(--color-accent);border-radius:var(--radius-lg);padding:var(--spacing-xl);position:relative}.testimonial-card:before{content:'"';font-size:4rem;color:var(--color-primary-light);position:absolute;top:var(--spacing-md);left:var(--spacing-lg);line-height:1;opacity:.5}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:.8125rem;font-weight:500}.badge-primary{background:var(--color-accent);color:var(--color-primary-dark)}.badge-success{background:#7cb98426;color:var(--color-success)}.badge-warning{background:#e8b86d26;color:#b8860b}.divider{height:1px;background:var(--color-border);margin:var(--spacing-xl) 0}.divider-fancy{height:3px;width:60px;background:var(--gradient-button);border-radius:var(--radius-full);margin:var(--spacing-md) 0}.avatar{width:48px;height:48px;border-radius:var(--radius-full);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--color-primary-dark);font-size:1.125rem}.avatar-sm{width:36px;height:36px;font-size:.875rem}.avatar-lg{width:64px;height:64px;font-size:1.5rem}.install-pwa-banner{position:fixed;bottom:0;left:0;right:0;background:#fff;box-shadow:0 -4px 16px #00000026;padding:16px 20px;z-index:9999;animation:slideUp .3s ease-out;border-top:3px solid #D4847A}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.install-pwa-content{display:flex;align-items:center;gap:16px;max-width:600px;margin:0 auto}.install-pwa-icon{flex-shrink:0}.install-pwa-logo{width:56px;height:56px;border-radius:14px;object-fit:cover;display:block}.install-pwa-text{flex:1;min-width:0}.install-pwa-title{margin:0 0 4px;font-size:16px;font-weight:600;color:#2c1810}.install-pwa-description{margin:0;font-size:13px;color:#666;line-height:1.4}.install-pwa-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.install-pwa-btn-install{display:flex;align-items:center;gap:6px;padding:10px 18px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #4caf504d}.install-pwa-btn-install:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}.install-pwa-btn-install:active{transform:translateY(0)}.install-pwa-btn-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:#f5f5f5;border-radius:50%;color:#999;cursor:pointer;transition:all .2s}.install-pwa-btn-close:hover{background:#e8e8e8;color:#666}@media(max-width:768px){.install-pwa-banner{padding:14px 16px}.install-pwa-content{gap:12px}.install-pwa-logo{width:48px;height:48px;font-size:24px;border-radius:12px;display:block}.install-pwa-title{font-size:15px}.install-pwa-description{font-size:12px}.install-pwa-btn-install{padding:8px 14px;font-size:13px}.install-pwa-btn-close{width:32px;height:32px}}.forgot-password-link{color:#d4847a;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s ease}.forgot-password-link:hover{color:#b66d63}.forgot-password-link-container{text-align:right;margin-top:8px}.forgot-password-page{min-height:100vh;background:linear-gradient(135deg,#fdf8f5,#fceae5,#f5d0c5);display:flex;align-items:center;justify-content:center;padding:40px 20px}.forgot-password-container{width:100%;max-width:480px}.forgot-password-card{background:#fff;border-radius:32px;padding:48px 40px;box-shadow:0 20px 60px #d4847a26}.forgot-password-logo{width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,#d4847a,#e8a598);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#fff;font-size:32px;font-weight:600;font-family:Playfair Display,Georgia,serif;box-shadow:0 12px 32px #d4847a4d}.forgot-password-title{font-size:32px;font-weight:600;color:#2d2d2d;text-align:center;margin-bottom:8px;font-family:Playfair Display,Georgia,serif}.forgot-password-subtitle{font-size:16px;color:#8a8a8a;text-align:center;margin-bottom:32px;line-height:1.5}.forgot-password-form-group{margin-bottom:24px}.forgot-password-label{display:block;margin-bottom:10px;font-weight:500;color:#2d2d2d;font-size:15px}.forgot-password-input{width:100%;padding:16px 20px;border:2px solid #F0DED8;border-radius:14px;font-size:16px;transition:all .2s ease;outline:none;background:#fff}.forgot-password-input:focus{border-color:#d4847a;box-shadow:0 0 0 4px #d4847a1a}.forgot-password-submit-btn{width:100%;padding:18px 32px;background:linear-gradient(135deg,#d4847a,#e8a598);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px #d4847a4d;margin-top:8px}.forgot-password-submit-btn:hover:not(:disabled){transform:translateY(-2px)}.forgot-password-submit-btn:disabled{opacity:.7;cursor:not-allowed}.forgot-password-back-btn{width:100%;padding:14px 24px;background:#fff5f2;color:#d4847a;border:2px solid #F5D0C5;border-radius:14px;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease;margin-top:12px}.forgot-password-back-btn:hover{background:#ffe5dd}.forgot-password-info-box{background:#fff5f2;border:2px solid #F5D0C5;border-radius:14px;padding:20px;margin-bottom:24px}.forgot-password-info-text{color:#5a5a5a;font-size:14px;line-height:1.6;margin:0}.forgot-password-success-icon{width:64px;height:64px;background:#4caf50;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;color:#fff;margin:0 auto 24px}.reset-password-page{min-height:100vh;background:linear-gradient(135deg,#fdf8f5,#fceae5,#f5d0c5);display:flex;align-items:center;justify-content:center;padding:40px 20px}.reset-password-container{width:100%;max-width:480px}.reset-password-card{background:#fff;border-radius:32px;padding:48px 40px;box-shadow:0 20px 60px #d4847a26}.reset-password-logo{width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,#d4847a,#e8a598);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#fff;font-size:32px;font-weight:600;font-family:Playfair Display,Georgia,serif;box-shadow:0 12px 32px #d4847a4d}.reset-password-title{font-size:32px;font-weight:600;color:#2d2d2d;text-align:center;margin-bottom:8px;font-family:Playfair Display,Georgia,serif}.reset-password-subtitle{font-size:16px;color:#8a8a8a;text-align:center;margin-bottom:32px}.reset-password-form-group{margin-bottom:24px;position:relative}.reset-password-label{display:block;margin-bottom:10px;font-weight:500;color:#2d2d2d;font-size:15px}.reset-password-input{width:100%;padding:16px 20px;border:2px solid #F0DED8;border-radius:14px;font-size:16px;transition:all .2s ease;outline:none;background:#fff}.reset-password-input:focus{border-color:#d4847a;box-shadow:0 0 0 4px #d4847a1a}.reset-password-toggle{position:absolute;right:20px;top:48px;background:none;border:none;color:#8a8a8a;cursor:pointer;font-size:14px;font-weight:500}.reset-password-submit-btn{width:100%;padding:18px 32px;background:linear-gradient(135deg,#d4847a,#e8a598);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 24px #d4847a4d;margin-top:8px}.reset-password-submit-btn:hover:not(:disabled){transform:translateY(-2px)}.reset-password-submit-btn:disabled{opacity:.7;cursor:not-allowed}.reset-password-help-text{font-size:13px;color:#8a8a8a;margin-top:8px}.reset-password-help-text.error{color:#f44336}.reset-password-help-text.success{color:#4caf50}.reset-password-requirements{background:#fff5f2;border:2px solid #F5D0C5;border-radius:14px;padding:16px;margin-bottom:24px}.reset-password-requirements-title{margin:0 0 12px;font-weight:600;font-size:14px;color:#2d2d2d}.reset-password-requirement-item{font-size:14px;color:#5a5a5a;margin-bottom:8px;display:flex;align-items:center}.reset-password-checkmark{margin-right:8px;color:#4caf50}.reset-password-requirement-item.met{color:#4caf50}.reset-password-requirement-item.unmet{color:#8a8a8a}.privacy-page{min-height:100vh;background:linear-gradient(135deg,#fdf8f5,#fceae5,#f5d0c5);padding:40px 20px}.privacy-container{max-width:800px;margin:0 auto}.back-button{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#fff;border:2px solid #F0DED8;borderRadius:12px;fontSize:15px;fontWeight:500;color:#5a5a5a;cursor:pointer;margin-bottom:24px;transition:all .3s ease}.back-button:hover{background:#fdf8f5;border-color:#d4847a}.privacy-card{background:#fff;border-radius:24px;padding:48px;box-shadow:0 20px 60px #d4847a26}.privacy-title{font-size:36px;font-weight:600;color:#2d2d2d;margin-bottom:16px;font-family:Playfair Display,Georgia,serif}.privacy-date{color:#8a8a8a;margin-bottom:32px;font-size:15px}.privacy-content{line-height:1.8;color:#2d2d2d}.privacy-section{margin-bottom:32px}.privacy-section h2{font-size:24px;font-weight:600;margin-bottom:16px;color:#d4847a}.privacy-section h3{font-size:18px;font-weight:600;margin-bottom:12px;margin-top:20px}.privacy-section p{margin-bottom:12px}.privacy-section ul{margin-left:24px;margin-bottom:16px;list-style:disc}.privacy-section ul.contact-list{list-style:none;margin-left:0}.privacy-section li{margin-bottom:8px}.privacy-section strong{font-weight:600;color:#2d2d2d}@media(max-width:768px){.privacy-card{padding:32px 24px}.privacy-title{font-size:28px}.privacy-section h2{font-size:20px}}.dashboard-container{min-height:100vh;background:var(--color-bg)}.dashboard-navbar{position:fixed;top:0;left:0;right:0;background:#fff;box-shadow:0 1px #d4847a1a;z-index:100}.dashboard-navbar-inner{max-width:1200px;margin:0 auto;padding:20px 24px;display:flex;justify-content:space-between;align-items:center}.dashboard-logo{display:flex;align-items:center;gap:14px}.dashboard-logo-icon{width:52px;height:52px;border-radius:16px;box-shadow:var(--shadow-lg);object-fit:cover}.dashboard-logo-text{margin:0;font-size:28px;font-weight:600;color:var(--color-text);font-family:Playfair Display,Georgia,serif;letter-spacing:-.5px}.dashboard-logo-subtext{margin:0;font-size:14px;color:var(--color-text-muted)}.dashboard-logout-btn{padding:12px 24px;background:transparent;color:var(--color-text-light);border:2px solid var(--color-border);border-radius:var(--radius-full);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.dashboard-logout-btn:hover{background:var(--color-bg);border-color:var(--color-primary);color:var(--color-primary)}.dashboard-main{max-width:1200px;margin:0 auto;padding:120px 24px 60px}.dashboard-hero{background:var(--gradient-primary);border-radius:32px;padding:60px 48px;margin-bottom:48px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;position:relative;overflow:hidden;margin-top:2rem}.dashboard-hero-content{position:relative;z-index:2}.dashboard-hero-title{font-size:25px;font-weight:600;color:var(--color-text);font-family:Playfair Display,Georgia,serif;margin-bottom:16px;line-height:1.2}.dashboard-hero-subtitle{font-size:14px;color:var(--color-text-light);margin-bottom:32px;line-height:1.6}.dashboard-hero-stats{display:flex;gap:32px}.dashboard-hero-stat{text-align:center}.dashboard-hero-stat-number{font-size:48px;font-weight:700;color:var(--color-primary);font-family:Playfair Display,Georgia,serif;line-height:1}.dashboard-hero-stat-label{font-size:14px;color:var(--color-text-light);margin-top:8px}.dashboard-hero-image{position:relative;display:flex;align-items:center;justify-content:center}.dashboard-countdown-circle{width:280px;height:280px;border-radius:50%;background:#fff;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;align-items:center;justify-content:center}.dashboard-countdown-number{font-size:72px;font-weight:700;color:var(--color-primary);font-family:Playfair Display,Georgia,serif;line-height:1}.dashboard-countdown-label{font-size:16px;color:var(--color-text-light);margin-top:8px}.dashboard-section-title{font-size:25px;font-weight:600;color:var(--color-text);font-family:Playfair Display,Georgia,serif;margin-bottom:8px}.dashboard-section-subtitle{font-size:14px;color:var(--color-text-muted);margin-bottom:32px}.dashboard-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px}.dashboard-card{background:#fff;border-radius:24px;padding:32px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);transition:all .3s ease}.dashboard-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.dashboard-card-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:20px}.dashboard-card-title{font-size:20px;font-weight:600;color:var(--color-text);font-family:Playfair Display,Georgia,serif;margin-bottom:12px}.dashboard-card-text{font-size:15px;color:var(--color-text-light);line-height:1.6}.dashboard-action-section{background:#fff;border-radius:24px;padding:40px;margin-bottom:48px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.dashboard-action-title{font-size:24px;font-weight:600;color:var(--color-text);font-family:Playfair Display,Georgia,serif;margin-bottom:24px}.dashboard-action-buttons{display:flex;gap:16px;flex-wrap:wrap}.dashboard-btn-primary{padding:16px 32px;background:var(--gradient-button);color:#fff;border:none;border-radius:var(--radius-full);font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-md)}.dashboard-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px #d4847a66}.dashboard-btn-secondary{padding:16px 32px;background:var(--color-bg-alt);color:var(--color-primary);border:2px solid var(--color-secondary);border-radius:var(--radius-full);font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:10px}.dashboard-btn-secondary:hover{background:var(--color-accent);border-color:var(--color-primary-light)}.dashboard-btn-small{padding:10px 20px;font-size:14px}.dashboard-btn-icon{padding:8px 12px;border:none;border-radius:var(--radius-md);font-size:14px;cursor:pointer;transition:all .2s ease}.dashboard-btn-icon-edit{background:#e8f5e9;color:#2e7d32}.dashboard-btn-icon-delete{background:var(--color-accent);color:var(--color-primary)}.dashboard-btn-danger{padding:14px 32px;background:var(--color-error);color:#fff;border:none;border-radius:var(--radius-full);font-size:16px;font-weight:500;cursor:pointer}.dashboard-history-section{background:#fff;border-radius:24px;padding:40px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);margin-bottom:48px}.dashboard-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dashboard-history-list{max-height:500px;overflow-y:auto}.dashboard-year-header{background:var(--gradient-button);padding:18px 24px;border-radius:16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;color:#fff;margin-bottom:12px}.dashboard-year-header:hover{opacity:.95}.dashboard-month-header{background:var(--color-bg-alt);padding:14px 20px;border-radius:12px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin-bottom:8px;margin-left:16px}.dashboard-month-header:hover{background:var(--color-accent)}.dashboard-cycle-item{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;background:#fff;border-radius:12px;margin-bottom:8px;margin-left:32px;border:1px solid var(--color-border-light);transition:all .2s ease}.dashboard-cycle-item:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm)}.dashboard-cycle-date{margin:0;font-weight:500;color:var(--color-text)}.dashboard-cycle-duration{margin:4px 0 0;font-size:13px;color:var(--color-text-muted)}.dashboard-cycle-notes{margin:6px 0 0;font-size:13px;color:var(--color-text-light);font-style:italic;padding:8px 12px;background:var(--color-bg-alt);border-radius:8px;border-left:3px solid var(--color-primary-light)}.dashboard-cycle-badge{padding:4px 12px;background:#e3f2fd;border-radius:20px;font-size:12px;color:#1976d2;font-weight:500}.dashboard-notes-section{background:#fff;border-radius:24px;padding:40px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);margin-bottom:48px}.dashboard-notes-list{max-height:600px;overflow-y:auto}.dashboard-note-card{background:var(--color-bg-alt);border-radius:16px;padding:20px;margin-bottom:16px;border-left:4px solid var(--color-primary)}.dashboard-note-header{display:flex;justify-content:space-between;align-items:flex-start}.dashboard-note-content{flex:1}.dashboard-note-title{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--color-text)}.dashboard-note-date{font-size:12px;color:var(--color-text-muted);margin-bottom:12px}.dashboard-note-text{margin:0;color:var(--color-text-light);white-space:pre-wrap;line-height:1.6}.dashboard-note-actions{display:flex;gap:8px;margin-left:16px}.dashboard-note-item{background:#fff;border-radius:12px;margin-bottom:8px;border:1px solid var(--color-border-light);overflow:hidden;transition:all .2s ease}.dashboard-note-item:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm)}.dashboard-note-row{display:flex;align-items:center;padding:16px 20px;cursor:pointer;gap:12px}.dashboard-note-chevron{color:var(--color-primary);flex-shrink:0}.dashboard-note-info{flex:1;display:flex;align-items:center;gap:16px;min-width:0}.dashboard-note-title-compact{font-weight:500;color:var(--color-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-note-date-compact{font-size:13px;color:var(--color-text-muted);flex-shrink:0}.dashboard-note-expanded{padding:0 20px 20px 50px;border-top:1px solid var(--color-border-light);background:var(--color-bg-alt);animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.dashboard-note-full-date{font-size:12px;color:var(--color-text-muted);margin:16px 0 12px;text-transform:capitalize}.dashboard-note-content-full{color:var(--color-text-light);line-height:1.7;white-space:pre-wrap;font-size:15px}.dashboard-empty-state{text-align:center;padding:60px 20px}.dashboard-empty-icon{font-size:64px;margin-bottom:16px}.dashboard-empty-title{font-size:18px;color:var(--color-text-light);margin-bottom:8px}.dashboard-empty-text{font-size:14px;color:var(--color-text-muted)}.dashboard-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.dashboard-modal-content{background:#fff;border-radius:24px;padding:40px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.dashboard-modal-title{font-size:28px;font-weight:600;color:var(--color-text);font-family:Playfair Display,Georgia,serif;margin-bottom:32px}.dashboard-modal-icon{width:72px;height:72px;background:var(--color-accent);border-radius:50%;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;font-size:32px}.dashboard-input-group{margin-bottom:24px}.dashboard-input-label{display:block;margin-bottom:8px;font-weight:500;color:var(--color-text);font-size:15px}.dashboard-input{width:100%;padding:16px 20px;border:2px solid var(--color-border);border-radius:14px;font-size:16px;transition:all .2s ease;outline:none;background:#fff}.dashboard-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px #d4847a1a}.dashboard-input:disabled{background:#f5f5f5;color:var(--color-text-muted)}.dashboard-textarea{resize:vertical;min-height:100px}.dashboard-input-help{font-size:13px;color:var(--color-text-muted);margin-top:8px}.dashboard-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px}.dashboard-modal-actions-center{justify-content:center}.dashboard-phase-card{padding:16px 20px;border-radius:12px;margin-top:12px}.dashboard-phase-name{font-size:18px;font-weight:600}.dashboard-phase-day{font-size:14px;color:var(--color-text-light);margin-top:4px}.dashboard-fertile-calendar{display:flex;gap:8px;flex-wrap:wrap}.dashboard-fertile-day{text-align:center;padding:12px 8px;border-radius:12px;min-width:60px}.dashboard-fertile-day-date{font-size:13px;font-weight:600}.dashboard-fertile-day-name{font-size:11px;opacity:.8}.dashboard-fertile-day-today{border:2px solid currentColor}@media(max-width:1024px){.dashboard-hero{grid-template-columns:1fr;padding:40px 32px;gap:32px}.dashboard-hero-image{display:flex;justify-content:center}.dashboard-cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.dashboard-main{padding:100px 16px 40px}.dashboard-hero{padding:32px 24px}.dashboard-hero-title{font-size:24px}.dashboard-hero-stats{flex-wrap:wrap;gap:20px}.dashboard-cards-grid{grid-template-columns:1fr}.dashboard-action-section,.dashboard-history-section,.dashboard-notes-section{padding:24px}.dashboard-action-buttons{flex-direction:column}.dashboard-btn-primary,.dashboard-btn-secondary{width:100%;justify-content:center}.dashboard-modal-content{padding:24px}.dashboard-navbar-inner{padding:16px}.dashboard-logo-text{font-size:22px}.dashboard-logo-icon{width:44px;height:44px;font-size:20px}}.dashboard-fertile-bar{display:flex;gap:8px;width:100%}.dashboard-fertile-day{flex:1;border-radius:10px;padding:10px 6px;text-align:center;display:flex;flex-direction:column;justify-content:center}.dashboard-year-delete-btn,.dashboard-month-delete-btn{border-radius:999px;font-size:13px;font-weight:600;padding:6px 14px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.dashboard-year-delete-btn{background:#ffffff40;border:1px solid rgba(255,255,255,.45);color:#7a1e1e}.dashboard-year-delete-btn:hover{background:#c94a4a;border-color:#c94a4a;color:#fff}.dashboard-year-delete-btn:active{transform:scale(.97)}.dashboard-month-delete-btn{background:transparent;border:1px solid #f0caca;color:#b34a4a}.dashboard-month-delete-btn:hover{background:#f5dede;border-color:#e4a6a6}.dashboard-month-delete-btn:active{transform:scale(.97)}.dashboard-year-delete-btn:focus-visible,.dashboard-month-delete-btn:focus-visible{outline:2px solid #e57373;outline-offset:2px}.dashboard-fertile-day{flex:1;border-radius:10px;padding:10px 8px;text-align:center;display:flex;flex-direction:column;justify-content:center}@media(max-width:768px){.dashboard-fertile-day{flex:0 0 25%;max-width:25%}}.dashboard-fertile-bar{display:flex;flex-wrap:wrap}.dashboard-section{margin-bottom:48px}.dashboard-countdown-sublabel{font-size:13px;color:var(--color-text-muted);margin-top:4px}.dashboard-countdown-icon{font-size:48px;margin-bottom:8px}.dashboard-countdown-placeholder{font-size:16px;color:var(--color-text-light);text-align:center;padding:0 20px}.dashboard-duration-badge{margin-top:12px;padding:8px 16px;background:var(--color-secondary);border-radius:20px;display:inline-block;font-size:14px;font-weight:500;color:var(--color-primary-dark)}.dashboard-fertile-prob{font-size:10px}.dashboard-btn-icon-plus{font-size:20px}.dashboard-year-group{margin-bottom:16px}.dashboard-year-info{display:flex;align-items:center;gap:12px}.dashboard-expand-icon{font-size:14px}.dashboard-year-text{font-size:18px;font-weight:600}.dashboard-year-badge{background:#ffffff4d;padding:4px 12px;border-radius:20px;font-size:13px}.dashboard-months-container{margin-left:20px}.dashboard-month-group{margin-bottom:12px}.dashboard-month-info{display:flex;align-items:center;gap:10px}.dashboard-expand-icon-month{color:var(--color-primary)}.dashboard-month-text{font-weight:500;color:var(--color-text)}.dashboard-month-count{font-size:13px;color:var(--color-text-muted)}.dashboard-cycles-container{margin-left:24px}.dashboard-cycle-info{flex:1}.dashboard-cycle-actions{display:flex;gap:8px;align-items:center}.dashboard-notes-actions{display:flex;gap:12px}.dashboard-modal-confirm{max-width:420px;text-align:center}.dashboard-modal-title-center{text-align:center}.dashboard-modal-text{color:var(--color-text-light);margin-bottom:32px;font-size:15px;line-height:1.6}.dashboard-card-icon{background:linear-gradient(135deg,#f5d0c5,#fceae5)}.dashboard-nav-buttons{display:flex;gap:16px;margin-bottom:48px;flex-wrap:wrap}.dashboard-nav-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 32px;background:#fff;border:2px solid var(--color-border-light);border-radius:20px;cursor:pointer;transition:all .3s ease;min-width:120px}.dashboard-nav-btn:hover{border-color:var(--color-primary);background:var(--color-bg-alt);transform:translateY(-2px);box-shadow:var(--shadow-md)}.dashboard-nav-btn-icon{color:var(--color-primary)}.dashboard-nav-btn-label{font-size:14px;font-weight:500;color:var(--color-text);text-align:center}.dashboard-back-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;color:var(--color-primary);border:none;font-size:15px;font-weight:500;cursor:pointer;margin-bottom:24px;transition:all .2s ease}.dashboard-back-btn:hover{color:var(--color-primary-dark)}@media(max-width:768px){.dashboard-nav-buttons{justify-content:center}.dashboard-nav-btn{flex:1;min-width:45%;padding:16px 20px}.dashboard-nav-btn-icon{width:24px;height:24px}.dashboard-nav-btn-label{font-size:12px}}.dashboard-appointment-section-label{font-size:14px;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px;margin:24px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--color-border-light)}.dashboard-appointment-section-label:first-child{margin-top:0}.dashboard-appointment-section-past{color:var(--color-text-muted)}.dashboard-appointment-upcoming{border-left:3px solid var(--color-primary)}.dashboard-appointment-past{opacity:.7;border-left:3px solid var(--color-text-muted)}.dashboard-appointment-datetime-compact{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-muted);flex-shrink:0}.dashboard-appointment-reminder-badge{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--color-secondary);border-radius:50%;color:var(--color-primary);flex-shrink:0}.dashboard-appointment-details{display:flex;flex-direction:column;gap:12px;margin-top:16px}.dashboard-appointment-detail{display:flex;align-items:center;gap:10px;color:var(--color-text-light);font-size:14px;margin:0}.dashboard-appointment-detail svg{color:var(--color-primary);flex-shrink:0}.dashboard-appointment-reminder-active{color:#7cb984}.dashboard-appointment-reminder-active svg{color:#7cb984}.dashboard-appointment-reminder-inactive{color:var(--color-text-muted)}.dashboard-appointment-reminder-inactive svg{color:var(--color-text-muted)}.dashboard-appointment-notes{background:var(--color-bg);padding:12px 16px;border-radius:8px;font-size:14px;color:var(--color-text-light);margin-top:8px}.dashboard-checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:15px;color:var(--color-text);padding:12px 16px;background:var(--color-bg-alt);border-radius:12px;transition:all .2s ease}.dashboard-checkbox-label:hover{background:var(--color-secondary)}.dashboard-checkbox{width:20px;height:20px;accent-color:var(--color-primary);cursor:pointer}.dashboard-input-row{display:flex;gap:16px}.dashboard-input-row .dashboard-input-group{flex:1}@media(max-width:480px){.dashboard-input-row{flex-direction:column;gap:0}.dashboard-appointment-datetime-compact,.dashboard-note-row{flex-wrap:wrap}.dashboard-note-actions{flex-basis:100%;justify-content:flex-end;margin-left:0;margin-top:8px;padding-right:4px}.dashboard-note-info{flex-wrap:wrap;gap:8px}.dashboard-appointment-reminder-badge{margin-left:auto}}.profile-container{max-width:800px;margin:0 auto}.profile-header{display:flex;align-items:center;gap:24px;padding:32px;background:#fff;border-radius:24px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);margin-bottom:32px}.profile-avatar{width:80px;height:80px;border-radius:50%;background:var(--gradient-button);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.profile-header-info{flex:1}.profile-title{margin:0 0 8px;font-size:28px;font-weight:600;color:var(--color-text);font-family:Playfair Display,Georgia,serif}.profile-subtitle{margin:0;font-size:15px;color:var(--color-text-muted)}.profile-form{display:flex;flex-direction:column;gap:32px}.profile-section{background:#fff;border-radius:24px;padding:32px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.profile-section-title{display:flex;align-items:center;gap:12px;margin:0 0 8px;font-size:20px;font-weight:600;color:var(--color-text)}.profile-section-title svg{color:var(--color-primary)}.profile-section-description{color:var(--color-text-muted);font-size:14px;margin:0 0 24px;line-height:1.6}.profile-notifications{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.profile-actions{display:flex;justify-content:flex-end;gap:16px}.dashboard-btn-large{padding:16px 32px;font-size:16px}.dashboard-input-hint{margin:6px 0 0;font-size:13px;color:var(--color-text-muted);font-style:italic}.profile-danger-zone{border:2px solid #FFCDD2;background:#ffebee;margin-top:48px}.profile-danger-title{color:#d93025}.profile-danger-title svg{color:#d93025}.dashboard-btn-danger{padding:12px 24px;background:#d93025;color:#fff;border:none;border-radius:var(--radius-full);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.dashboard-btn-danger:hover{background:#b71c1c;transform:translateY(-2px);box-shadow:0 4px 12px #d930254d}.dashboard-btn-danger:disabled{background:#ccc;cursor:not-allowed;transform:none}.dashboard-modal-icon-danger{background:#ffebee;color:#d93025}.dashboard-modal-list{text-align:left;margin:20px auto;padding-left:24px;color:var(--color-text);max-width:300px}.dashboard-modal-list li{margin:8px 0}.dashboard-modal-warning{color:#d93025;font-weight:600;background:#ffebee;padding:12px 16px;border-radius:8px;border-left:4px solid #D93025}@media(max-width:768px){.profile-header{flex-direction:column;text-align:center}.profile-section{padding:24px}.profile-actions{flex-direction:column}.dashboard-btn-large,.profile-danger-zone .dashboard-btn-danger{width:100%}}.anonymous-banner{background:linear-gradient(135deg,#fff3cd,#ffe69c);padding:16px 20px;border-radius:12px;margin-bottom:24px;border:1px solid #FFDB8D}.anonymous-banner-inner{display:flex;align-items:center;gap:12px}.anonymous-banner-icon{font-size:24px;flex-shrink:0}.anonymous-banner-content{flex:1}.anonymous-banner-title{font-weight:600;color:#856404;margin-bottom:4px;font-size:15px}.anonymous-banner-text{font-size:14px;color:#856404;margin-bottom:8px;line-height:1.4}.anonymous-banner-button{padding:8px 16px;background:#d4847a;color:#fff;border:none;border-radius:8px;fontSize:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.anonymous-banner-button:hover{background:#c47367;transform:translateY(-1px)}@media(max-width:768px){.anonymous-banner-inner{flex-direction:column;text-align:center}.anonymous-banner-button{width:100%}.dashboard-history-header{flex-direction:column;align-items:flex-start;margin-bottom:16px}.dashboard-notes-actions{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:12px 16px;box-shadow:0 -4px 12px #0000001a;z-index:100;gap:8px;flex-direction:row;justify-content:stretch}.dashboard-notes-actions button{flex:1;justify-content:center}.dashboard-notes-section{padding-bottom:80px}.dashboard-notes-list{padding-bottom:20px}}.react-calendar__tile.cycle-start-date{background:#d4847a!important;color:#fff!important;font-weight:700!important;border-radius:8px 0 0 8px}.react-calendar__tile.cycle-start-date:hover{background:#c47367!important}.react-calendar__tile.cycle-end-date{background:#d4847a!important;color:#fff!important;font-weight:700!important;border-radius:0 8px 8px 0}.react-calendar__tile.cycle-end-date:hover{background:#c47367!important}.react-calendar__tile.cycle-middle-date{background:#ffe4dd!important;color:#d4847a!important;font-weight:500!important}.react-calendar__tile.cycle-middle-date:hover{background:#ffd1c7!important}@media(max-width:768px){input[type=date],input[type=time]{font-size:16px;min-height:44px}}.dashboard-notification-settings{background:#fff;border-radius:16px;padding:16px 20px;margin-top:16px;border:2px solid #E8E8E8;margin-bottom:45px}.dashboard-notification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dashboard-notification-title-row{display:flex;align-items:center;gap:8px}.dashboard-notification-title{font-size:16px;font-weight:600;color:var(--color-text);margin:0}.dashboard-btn-notification-enable{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.dashboard-btn-notification-enable:hover{transform:translateY(-1px);box-shadow:0 4px 8px #4caf504d}.dashboard-notification-options{display:flex;flex-direction:column;gap:12px}.dashboard-notification-option{display:flex;flex-direction:column;gap:8px}.dashboard-notification-option-header{display:flex;align-items:center;justify-content:space-between}.dashboard-notification-label{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.dashboard-notification-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.dashboard-notification-select{padding:8px 12px;border:2px solid #E8E8E8;border-radius:10px;font-size:14px;background:#fff;color:var(--color-text);cursor:pointer;transition:all .2s;margin-left:28px}.dashboard-notification-select:focus{outline:none;border-color:var(--color-primary)}.dashboard-notification-info{font-size:13px;color:#666;margin:0 0 0 28px;font-style:italic}.dashboard-notification-help{font-size:13px;color:#999;margin:8px 0 0;text-align:center}@media(max-width:768px){.dashboard-notification-settings{padding:14px 16px;margin-bottom:35px}.dashboard-notification-title{font-size:15px}.dashboard-notification-label{font-size:13px}.dashboard-notification-select{font-size:13px;padding:6px 10px}}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all .3s ease;font-size:14px;color:var(--color-text)}.user-menu-trigger:hover{background:var(--color-bg);border-color:var(--color-primary)}.user-menu-avatar{width:32px;height:32px;border-radius:50%;background:var(--gradient-button);display:flex;align-items:center;justify-content:center;color:#fff}.user-menu-email{font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-chevron{transition:transform .2s ease;color:var(--color-text-muted)}.user-menu-chevron.open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;background:#fff;border-radius:16px;box-shadow:0 8px 24px #d4847a26;border:1px solid var(--color-border-light);overflow:hidden;z-index:1000;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{padding:16px;background:var(--color-bg-alt)}.user-menu-info-name{font-weight:600;color:var(--color-text);margin:0 0 4px;font-size:15px}.user-menu-info-email{font-size:13px;color:var(--color-text-muted);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-divider{height:1px;background:var(--color-border-light)}.user-menu-items{padding:8px}.user-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:transparent;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500;color:var(--color-text);text-align:left}.user-menu-item:hover{background:var(--color-bg-alt)}.user-menu-item svg{color:var(--color-primary);flex-shrink:0}.user-menu-item-danger{color:#d93025}.user-menu-item-danger svg{color:#d93025}.user-menu-item-danger:hover{background:#ffebee}@media(max-width:768px){.user-menu-email{display:none}.user-menu-dropdown{min-width:200px}}.cycle-calendar{background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #00000014;max-width:450px;width:100%}.cycle-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.cycle-calendar-month{font-size:18px;font-weight:600;color:#2c1810;text-transform:capitalize;margin:0}.cycle-calendar-nav-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;color:#b86b62;transition:background .2s;display:flex;align-items:center;justify-content:center}.cycle-calendar-nav-btn:hover{background:#fff5f2}.cycle-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.cycle-calendar-weekday{text-align:center;font-size:12px;font-weight:600;color:#999;padding:8px 0}.cycle-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cycle-calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;transition:all .2s;position:relative;font-size:14px;font-weight:500;border:2px solid transparent}.cycle-calendar-day:not(.cycle-calendar-day-empty):hover{transform:scale(1.05);box-shadow:0 2px 8px #0000001a}.cycle-calendar-day-empty{cursor:default}.cycle-calendar-day-number{font-size:14px;font-weight:500;color:#333;margin-bottom:2px}.cycle-calendar-day-today{border:2px solid #FFB74D;font-weight:700}.cycle-calendar-day-cycle .cycle-calendar-day-number{color:#d4847a;font-weight:600}.cycle-calendar-day-fertile .cycle-calendar-day-number{color:#7cb984;font-weight:600}.cycle-calendar-day-ultrasound .cycle-calendar-day-number{color:#1976d2;font-weight:600}.cycle-calendar-day-predicted{background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(244,164,96,.1) 4px,rgba(244,164,96,.1) 8px);border:1px dashed #F4A460!important}.cycle-calendar-day-predicted .cycle-calendar-day-number{color:#f4a460;font-weight:600;opacity:.8}.cycle-calendar-marker-predicted{color:#f4a460;opacity:.8}.cycle-calendar-markers{display:flex;gap:2px;height:8px;align-items:center}.cycle-calendar-marker{font-size:8px;line-height:1}.cycle-calendar-marker-cycle{color:#d4847a}.cycle-calendar-marker-fertile{color:#7cb984}.cycle-calendar-marker-ultrasound{color:#1976d2}.cycle-calendar-legend{display:flex;justify-content:center;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid #F0F0F0}.cycle-calendar-legend-item{display:flex;align-items:center;gap:6px}.cycle-calendar-legend-dot{width:10px;height:10px;border-radius:50%}.cycle-calendar-legend-label{font-size:12px;color:#666;font-weight:500}@media(max-width:768px){.cycle-calendar{padding:16px;max-width:100%}.cycle-calendar-month{font-size:16px}.cycle-calendar-day-number{font-size:12px}.cycle-calendar-weekday{font-size:11px;padding:6px 0}.cycle-calendar-legend{flex-wrap:wrap;gap:10px}.cycle-calendar-legend-label{font-size:11px}.cycle-calendar-legend-dot{width:8px;height:8px}.cycle-calendar-grid{gap:2px}.cycle-calendar-marker{font-size:6px}}.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;line-height:16px;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:48px}.admin-stat-card{background:#fff;border-radius:16px;padding:24px;display:flex;align-items:center;gap:20px;box-shadow:0 2px 8px #0000000d;border:1px solid var(--color-border-light)}.admin-stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.admin-stat-icon-primary{background:linear-gradient(135deg,#d4847a,#e8b4a8)}.admin-stat-icon-warning{background:linear-gradient(135deg,#f59e0b,#fbbf24)}.admin-stat-icon-success{background:linear-gradient(135deg,#10b981,#34d399)}.admin-stat-icon-info{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.admin-stat-info{flex:1}.admin-stat-label{margin:0 0 4px;font-size:14px;color:var(--color-text-muted)}.admin-stat-value{margin:0;font-size:32px;font-weight:700;color:var(--color-text)}.admin-panel-section{background:#fff;border-radius:24px;padding:32px;box-shadow:0 2px 8px #0000000d;border:1px solid var(--color-border-light)}.admin-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.admin-panel-title{display:flex;align-items:center;gap:12px;margin:0;font-size:24px;font-weight:600;color:var(--color-text)}.admin-filters{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.admin-filter-group{flex:1;min-width:250px;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-bg-alt);border-radius:12px;border:1px solid var(--color-border-light)}.admin-filter-group svg{color:var(--color-text-muted)}.admin-filter-input{flex:1;border:none;background:transparent;outline:none;font-size:14px;color:var(--color-text)}.admin-filter-select{padding:12px 16px;background:var(--color-bg-alt);border:1px solid var(--color-border-light);border-radius:12px;font-size:14px;color:var(--color-text);cursor:pointer;transition:all .2s ease}.admin-filter-select:hover{border-color:var(--color-primary)}.admin-table-container{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table thead{background:var(--color-bg-alt)}.admin-table th{padding:16px;text-align:left;font-size:13px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.admin-table td{padding:16px;border-bottom:1px solid var(--color-border-light);font-size:14px;color:var(--color-text)}.admin-table tbody tr:hover{background:var(--color-bg-alt)}.admin-table-email{font-weight:500}.admin-table-date{color:var(--color-text-muted);font-size:13px}.admin-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-gray{background:#f3f4f6;color:#6b7280}.badge-primary{background:#dbeafe;color:#1e40af}.badge-info{background:#e0e7ff;color:#3730a3}.badge-purple{background:#f3e8ff;color:#6b21a8}.admin-actions{display:flex;gap:8px}.admin-action-btn{width:32px;height:32px;border-radius:8px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.admin-action-btn:hover{transform:translateY(-2px)}.admin-action-btn-success{background:#d1fae5;color:#065f46}.admin-action-btn-success:hover{background:#10b981;color:#fff}.admin-action-btn-info{background:#dbeafe;color:#1e40af}.admin-action-btn-info:hover{background:#3b82f6;color:#fff}.admin-action-btn-warning{background:#fef3c7;color:#92400e}.admin-action-btn-warning:hover{background:#f59e0b;color:#fff}.admin-action-btn-danger{background:#fee2e2;color:#991b1b}.admin-action-btn-danger:hover{background:#ef4444;color:#fff}.admin-icon-success{color:#10b981}.admin-icon-danger{color:#ef4444}.admin-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border-light)}.admin-pagination-btn{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.admin-pagination-btn:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-2px)}.admin-pagination-btn:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;transform:none}.admin-pagination-info{color:var(--color-text-muted);font-size:14px}.admin-loading{text-align:center;padding:60px 20px;color:var(--color-text-muted);font-size:16px}@media(max-width:768px){.admin-stats-grid{grid-template-columns:1fr}.admin-panel-header{flex-direction:column;gap:16px;align-items:stretch}.admin-filters{flex-direction:column}.admin-table-container{overflow-x:scroll}.admin-table{min-width:800px}.admin-pagination{flex-direction:column;gap:16px}}
