:root{--primary-color:#4a6cf7;--primary-light:#eef1ff;--menstrual-color:#f56565;--safe-color:#48bb78;--ovulation-color:#ed8936;--today-color:#4a6cf7;--light-bg:#f8f9fa}.btn-primary,.btn-primary:hover,.btn-primary:focus{background-color:var(--primary-color) !important;border-color:var(--primary-color) !important}.text-primary,.link-primary{color:var(--primary-color) !important}.border-primary{border-color:var(--primary-color) !important}.bg-primary-light{background-color:var(--primary-light) !important}.calculator-card{border-top:4px solid var(--primary-color);border-radius:12px}.result-card{transition:all 0.3s ease}.period-indicator{height:24px;border-radius:12px;display:flex;overflow:hidden}.period-item{display:flex;align-items:center;justify-content:center;color:#ffffff;font-size:12px;font-weight:500}@media (max-width:768px){.period-item{font-size:10px}}.cycle-table-container{overflow-x:auto;border-radius:8px;border:1px solid #dee2e6}.cycle-table{width:100%;min-width:600px;border-collapse:collapse}.cycle-table th{background-color:var(--primary-light);color:var(--primary-color);font-weight:600;padding:12px 8px;text-align:center;border-bottom:2px solid var(--primary-color);font-size:0.875rem}.cycle-table{table-layout:fixed;width:100%}.cycle-table td{padding:12px 8px;text-align:center;border:1px solid #4a6cf74f;font-weight:500;position:relative;transition:all 0.2s ease;height:80px;vertical-align:top;width:14.2857%}.cycle-table td .badge{display:block;margin:4px auto;max-width:90%}.cycle-day-number{font-size:1.1rem;font-weight:600;margin-bottom:4px;display:block}.cycle-date{font-size:0.75rem;color:#6c757d;display:block;margin-bottom:4px}.cycle-status{font-size:0.75rem;padding:2px 6px;border-radius:12px;display:inline-block;color:#ffffff;margin-top:4px}.menstrual-day{background-color:rgba(245,101,101,0.15);border:2px solid var(--menstrual-color)}.safe-day{background-color:rgba(72,187,120,0.15);border:2px solid var(--safe-color)}.ovulation-day{background-color:rgba(237,137,54,0.15);border:2px solid var(--ovulation-color)}.fertility-day{position:relative;border:2px solid var(--ovulation-color)}.fertility-day::before{content:'';position:absolute;left:0;top:0;height:100%;width:50%;background-color:rgba(237,137,54,0.15);z-index:0}.fertility-day::after{content:'';position:absolute;right:0;top:0;height:100%;width:50%;background-color:rgba(13,202,240,0.15);z-index:0}.fertility-day > *{position:relative;z-index:1}.today-cell{position:relative;box-shadow:0 0 0 2px #ffffff,0 0 0 4px var(--today-color);z-index:1}.today-badge{background-color:var(--today-color);color:#ffffff;padding:1px 6px;border-radius:4px;font-size:0.7rem;position:absolute;top:4px;right:4px}.status-menstrual{background-color:var(--menstrual-color)}.status-safe{background-color:var(--safe-color)}.status-ovulation{background-color:var(--ovulation-color)}.month-title{background-color:var(--primary-light);border-top:2px solid var(--primary-color);border-bottom:2px solid var(--primary-color)}.month-title h6{font-weight:600;color:var(--primary-color);margin:0;padding:8px 0}.calendar-day{font-size:1rem;font-weight:600;display:block;margin-bottom:2px}.other-day{background-color:#f8f9fa;border:1px solid #dee2e6;color:#6c757d}.cycle-day-number{font-size:0.75rem;font-weight:600;margin-bottom:2px;display:block;color:#495057}.cycle-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.legend-item{display:flex;align-items:center;gap:6px}.legend-color{width:16px;height:16px;border-radius:4px}.legend-menstrual{background-color:var(--menstrual-color)}.legend-safe{background-color:var(--safe-color)}.legend-ovulation{background-color:var(--ovulation-color)}.legend-today{background-color:var(--today-color)}.cycle-summary{background-color:var(--light-bg);border-radius:8px;padding:16px;margin-bottom:16px}.summary-item{display:flex;align-items:center;gap:8px;margin-bottom:8px}.summary-icon{width:24px;text-align:center}.history-card{transition:all 0.3s ease;border:1px solid #e9ecef;border-radius:8px;overflow:hidden}.history-card:hover{box-shadow:0 4px 12px rgba(0,0,0,0.1);transform:translateY(-2px)}.history-header{background-color:var(--primary-light);padding:12px 16px;border-bottom:1px solid #e9ecef}.history-body{padding:16px}.history-method{font-weight:600;color:var(--primary-color);margin-bottom:4px}.history-date{font-size:0.75rem;color:#6c757d}.history-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px}.history-info-item{display:flex;flex-direction:column}.history-info-label{font-size:0.75rem;color:#6c757d;margin-bottom:2px}.history-info-value{font-size:0.875rem;font-weight:500;color:#212529}.history-actions{margin-top:16px;display:flex;justify-content:flex-end}.no-history{text-align:center;padding:40px 20px;color:#6c757d}.no-history-icon{font-size:2rem;margin-bottom:12px;color:#adb5bd}