@import "https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.0/font/bootstrap-icons.css";
@import "https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&family=Fredoka:wght@300;400;500;600;700&display=swap";
:root{--primary-pink:#ffb6d9;--soft-pink:#ffe5f1;--baby-blue:#c5e3f6;--mint-green:#d4f4dd;--lavender:#e5d4f7;--peach:#ffd4c4;--cream:#fff8e7;--soft-yellow:#fff4cc;--menstruation-color:#ffb6d9;--fertile-color:#b8e6c9;--ovulation-color:#c5e3f6;--follicular-color:#fff8e7;--luteal-color:#e5d4f7;--holiday-color:#ffd4c4;--weekend-color:#e8e8e8;--prediction-color:#ffe5f1;--soft-shadow:0 4px 15px #ffb6d933;--hover-shadow:0 6px 20px #ffb6d94d}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#fff8e7 0%,#ffe5f1 50%,#e5d4f7 100%) fixed;min-height:100vh;font-family:Quicksand,Fredoka,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative}body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(circle at 20% 30%,#ffb6d91a 0%,#0000 50%),radial-gradient(circle at 80% 70%,#c5e3f61a 0%,#0000 50%),radial-gradient(circle,#d4f4dd1a 0%,#0000 50%);position:fixed;inset:0}body>*{z-index:1;position:relative}code{background-color:var(--soft-pink);border-radius:8px;padding:2px 6px;font-family:Courier New,monospace}.navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 0;box-shadow:0 4px 20px #ff69b44d;background:linear-gradient(135deg,#ff69b4 0%,#ffb6d9 50%,#ffe5f1 100%)!important;border:none!important;border-bottom:4px solid #ffffff80!important}.navbar-brand{text-shadow:2px 2px 8px #00000080,0 0 10px #0000004d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff3;border-radius:20px;padding:.4rem .8rem;font-family:Fredoka,sans-serif;font-size:1.3rem;font-weight:700;transition:all .3s;color:#fff!important}.navbar-brand:hover{text-shadow:3px 3px 10px #0009,0 0 15px #0006;background:#ffffff4d;transform:scale(1.05)rotate(-2deg);box-shadow:0 4px 15px #fff6}.nav-link{text-shadow:2px 2px 6px #00000080,0 0 8px #0000004d;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff26;border:2px solid #0000;border-radius:20px;margin:0 .2rem;font-family:Quicksand,sans-serif;font-size:.95rem;font-weight:700;transition:all .3s;color:#fff!important;padding:.5rem 1rem!important}.nav-link:hover{text-shadow:3px 3px 8px #0009,0 0 12px #0006;background:#ffffff59;border:2px solid #fff9;transform:translateY(-2px);box-shadow:0 6px 20px #fff6}.nav-link.active{text-shadow:3px 3px 8px #0009,0 0 12px #0006;background:#fff6;border:2px solid #fffc;box-shadow:0 4px 15px #ffffff80}.card{box-shadow:var(--soft-shadow);background:#fffffff2;border:3px solid #ffb6d9;border-radius:25px;transition:all .3s;overflow:hidden}.card:hover{box-shadow:var(--hover-shadow)}.card-header{color:#fff;text-shadow:1px 1px 2px #ff69b44d;background:linear-gradient(135deg,#ffb6d9 0%,#ffe5f1 100%);border-bottom:3px solid #ffb6d9;padding:1.2rem;font-family:Fredoka,sans-serif;font-weight:600}.card-body{padding:1.5rem}.card-body.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.card-body.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.btn{border:none;border-radius:20px;padding:.6rem 1.5rem;font-family:Quicksand,sans-serif;font-weight:600;transition:all .3s;box-shadow:0 4px 10px #0000001a}.btn-primary{color:#fff;background:linear-gradient(135deg,#ffb6d9 0%,#ff9ec7 100%)}.btn-primary:hover{background:linear-gradient(135deg,#ff9ec7 0%,#ff85b5 100%);transform:translateY(-2px);box-shadow:0 6px 15px #ff69b44d}.btn-secondary{color:#6b4c9a;background:linear-gradient(135deg,#e5d4f7 0%,#d4c5e8 100%)}.btn-secondary:hover{background:linear-gradient(135deg,#d4c5e8 0%,#c3b4d9 100%);transform:translateY(-2px)}.btn-outline-primary{color:#ffb6d9;background:0 0;border:2px solid #ffb6d9}.btn-outline-primary:hover{color:#fff;background:#ffb6d9;transform:translateY(-2px)}.btn-outline-secondary{color:#6b4c9a;background:0 0;border:2px solid #e5d4f7}.btn-outline-secondary:hover{color:#6b4c9a;background:#e5d4f7;transform:translateY(-2px)}.btn-danger{color:#fff;background:linear-gradient(135deg,#ffb6d9 0%,#ff9ec7 100%)}.btn-danger:hover{background:linear-gradient(135deg,#ff9ec7 0%,#ff85b5 100%);transform:translateY(-2px)}.form-control,.form-select{background-color:#ffffffe6;border:2px solid #ffe5f1;border-radius:15px;padding:.75rem 1rem;font-family:Quicksand,sans-serif;transition:all .3s}.form-control:focus,.form-select:focus{background-color:#fff;border-color:#ffb6d9;box-shadow:0 0 0 .3rem #ffb6d940}.form-label{color:#ff69b4;margin-bottom:.5rem;font-family:Quicksand,sans-serif;font-weight:600}.alert{border:2px solid;border-radius:20px;font-family:Quicksand,sans-serif;font-weight:500}.alert-success{color:#2d5f3f;background-color:#d4f4dd;border-color:#b8e6c9}.alert-danger{color:#c7417b;background-color:#ffe5f1;border-color:#ffb6d9}.alert-info{color:#2e5f8f;background-color:#e5f4ff;border-color:#c5e3f6}.badge{border-radius:15px;padding:.5rem 1rem;font-family:Quicksand,sans-serif;font-weight:600}.bg-primary{background:linear-gradient(135deg,#ffb6d9 0%,#ff9ec7 100%)!important}.bg-info{background:linear-gradient(135deg,#c5e3f6 0%,#a8d5f2 100%)!important}.bg-success{background:linear-gradient(135deg,#b8e6c9 0%,#9dd9b5 100%)!important}.bg-warning{color:#8b7500!important;background:linear-gradient(135deg,#fff4cc 0%,#ffe9a8 100%)!important}.bg-danger{background:linear-gradient(135deg,#ffb6d9 0%,#ff9ec7 100%)!important}.bg-light{color:#8b7500!important;background-color:#fff8e7!important}.table{font-family:Quicksand,sans-serif}.table-light{background-color:#fff8e7!important}.table-hover tbody tr:hover{background-color:#ffe5f1;transition:background-color .2s}.table-active{background-color:#ffe5f1!important}.menstruation-day{border-radius:10px;font-size:.9rem;font-weight:600;box-shadow:0 3px 8px #ff69b44d;color:#fff!important;background:linear-gradient(135deg,#ffb6d9 0%,#ff9ec7 100%)!important;padding:.5rem!important}.menstruation-day:hover{box-shadow:0 4px 12px #ff69b480}.fertile-day{border-radius:10px;font-size:.9rem;font-weight:600;box-shadow:0 3px 8px #b8e6c94d;color:#fff!important;background:linear-gradient(135deg,#b8e6c9 0%,#9dd9b5 100%)!important;padding:.5rem!important}.fertile-day:hover{box-shadow:0 4px 12px #b8e6c980}.ovulation-day{border-radius:10px;font-size:.9rem;font-weight:600;box-shadow:0 3px 8px #c5e3f64d;color:#fff!important;background:linear-gradient(135deg,#c5e3f6 0%,#a8d5f2 100%)!important;padding:.5rem!important}.ovulation-day:hover{box-shadow:0 4px 12px #c5e3f680}.holiday-day{border-radius:10px;font-size:.9rem;font-weight:600;box-shadow:0 3px 8px #ffd4c44d;color:#fff!important;background:linear-gradient(135deg,#ffd4c4 0%,#ffbfa8 100%)!important;padding:.5rem!important}.holiday-day:hover{box-shadow:0 4px 12px #ffd4c480}.weekend-day{border-radius:10px;font-size:.9rem;font-weight:500;box-shadow:0 2px 6px #00000014;color:#666!important;background:linear-gradient(135deg,#e8e8e8 0%,#d4d4d4 100%)!important;padding:.5rem!important}.weekend-day:hover{box-shadow:0 3px 10px #0000001f}.prediction-day{border-radius:10px;font-size:.9rem;font-weight:600;box-shadow:0 3px 8px #ffe5f14d;color:#ff69b4!important;background:linear-gradient(135deg,#ffe5f1 0%,#ffd4e5 100%)!important;border:2px dashed #ffb6d9!important;padding:.5rem!important}.prediction-day:hover{box-shadow:0 4px 12px #ffe5f180}.table td{vertical-align:middle;background:#fff;height:50px;position:relative;border:1px solid #ffe5f1!important;padding:.3rem!important}.table th{color:#ff69b4;font-size:.85rem;font-weight:600;background:linear-gradient(135deg,#ffe5f1 0%,#ffd4e5 100%)!important;border:2px solid #ffb6d9!important;padding:.5rem!important}.table td[style*="cursor: pointer"]:not([class*=-day]){background:#fff;font-size:.9rem}.table td[style*="cursor: pointer"]:not([class*=-day]):hover{background:#fff8f0}.table-responsive{border-radius:12px;overflow:visible;box-shadow:0 3px 12px #ffb6d91f}.table{border-collapse:separate;border-spacing:0;margin-bottom:0;font-size:.9rem}.phase-badge{border-radius:20px;padding:.6rem 1.2rem;font-family:Quicksand,sans-serif;font-weight:600;box-shadow:0 3px 10px #0000001a}.phase-badge.menstruation{color:#fff;background:linear-gradient(135deg,#ffb6d9 0%,#ff9ec7 100%)}.phase-badge.follicular{color:#8b7500;background:linear-gradient(135deg,#fff8e7 0%,#ffe9cc 100%)}.phase-badge.ovulation{color:#fff;background:linear-gradient(135deg,#c5e3f6 0%,#a8d5f2 100%)}.phase-badge.luteal{color:#6b4c9a;background:linear-gradient(135deg,#e5d4f7 0%,#d4c5e8 100%)}h1,h2,h3,h4,h5,h6{color:#ff69b4;text-shadow:1px 1px 2px #ff69b433;font-family:Fredoka,sans-serif;font-weight:600}.modal-content{box-shadow:var(--soft-shadow);border:3px solid #ffb6d9;border-radius:25px}.modal-header{color:#fff;background:linear-gradient(135deg,#ffb6d9 0%,#ffe5f1 100%);border-bottom:3px solid #ffb6d9;border-radius:22px 22px 0 0}.modal-title{text-shadow:1px 1px 2px #ff69b44d;font-family:Fredoka,sans-serif;font-weight:600}.modal-footer{background-color:#fff8e7;border-top:2px solid #ffe5f1;border-radius:0 0 22px 22px}.spinner-border{border-color:#ffb6d9 #0000 #ffb6d9 #ffb6d9}.text-muted{color:#b8a8c8!important}.text-primary{color:#ffb6d9!important}.container-main{min-height:100vh;padding-top:2rem;padding-bottom:2rem}.card,.btn,.form-control,.badge{transition:all .3s cubic-bezier(.4,0,.2,1)}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#fff8e7}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#ffb6d9 0%,#ff9ec7 100%);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#ff9ec7 0%,#ff85b5 100%)}.row h1:before{margin-right:.5rem}.card:has(form) .card-header:after{content:"🐰💕"}.card:has(table) .card-header:after{content:"🌸🐱"}.card:has(.table) .card-header:after{content:"🐻📖"}.btn-primary:before{content:"✨ "}.btn-danger:before{content:"🌸 "}.modal-title:before{content:"🐰 ";margin-right:.5rem}@keyframes fadeIn{0%{opacity:0;transform:scale(.5)}to{opacity:.5;transform:scale(1)}}.spinner-border:after{content:"🌸";font-size:1.5rem;animation:2s linear infinite spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.card-header:after{content:"🐰";opacity:.4;pointer-events:none;font-size:1.2rem;animation:3s ease-in-out infinite float;position:absolute;right:1.5rem}@media (max-width:767px){.card-header:after{display:none}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.navbar-brand:before{content:"🌸 ";animation:2s ease-in-out infinite float}body:after{content:"🐰";opacity:.2;z-index:0;pointer-events:none;font-size:1.5rem;animation:4s ease-in-out infinite float;position:fixed;bottom:10px;right:10px}@media (max-width:767px){body:after{display:none}}.alert-success:before{content:"🌸 "}.alert-danger:before{content:"🐱 "}.alert-info:before{content:"🐻 "}:focus{outline:none;box-shadow:0 0 0 3px #ffb6d94d}@media (max-width:767px){.table th:nth-child(6),.table td:nth-child(6){display:none}.table{font-size:.85rem}.table th,.table td{padding:.5rem .3rem}.badge{padding:.25rem .4rem;font-size:.7rem}.btn-group-sm .btn{padding:.2rem .4rem;font-size:.75rem}.card-body{padding:1rem .75rem}h1{font-size:1.75rem!important}h2{font-size:1.5rem!important}h3,.h3{font-size:1.25rem!important}h5,.h5{font-size:1rem!important}.calendar-cell{min-height:60px!important;font-size:.8rem!important}.navbar-brand{font-size:1.1rem!important}.nav-link{padding:.4rem .8rem!important;font-size:.85rem!important}.modal-dialog{margin:.5rem}.modal-body{padding:1rem}.form-label,.form-control,.form-select{font-size:.9rem}.alert{padding:.75rem;font-size:.9rem}}@media (min-width:768px) and (max-width:991px){.container-fluid{padding-left:1.5rem;padding-right:1.5rem}h1{font-size:2rem!important}}@media (max-width:575px){.table th:nth-child(4),.table td:nth-child(4),.table th:nth-child(3),.table td:nth-child(3){display:none}.calendar-cell{min-height:50px!important;padding:.3rem!important;font-size:.75rem!important}.row.g-2>.col-6{flex:0 0 50%;max-width:50%}.navbar{padding:.5rem 0}.navbar-brand{font-size:1rem!important}.card{margin-bottom:.75rem}.card-header{padding:.5rem .75rem;font-size:.9rem}.bi{font-size:.9rem}}@media (max-height:600px) and (orientation:landscape){.navbar{padding:.3rem 0}h1{margin-bottom:.5rem!important;font-size:1.5rem!important}.card{margin-bottom:.5rem}.card-body{padding:.75rem}}@media (hover:none) and (pointer:coarse){.btn{min-width:44px;min-height:44px}.nav-link,.form-control,.form-select{min-height:44px}input[type=checkbox],input[type=radio]{width:20px;height:20px}}@media print{body{background:#fff}.navbar,.btn,.alert{display:none}.card{box-shadow:none;border:1px solid #ddd}}@media (max-width:767px){.modal-dialog{max-width:calc(100% - 1rem);margin:.5rem}.modal-content{max-width:100%!important}.modal-header{padding:.75rem 1rem}.modal-title{font-size:1rem}.modal-body{padding:1rem}.modal-footer{gap:.5rem;padding:.75rem 1rem}.modal-footer .btn{flex:1;min-width:0}.form-label{margin-bottom:.25rem;font-size:.9rem}.form-control,.form-select{padding:.5rem .75rem;font-size:.9rem}.form-text{margin-top:.25rem;font-size:.75rem}.alert{padding:.5rem .75rem;font-size:.85rem}}.modal-dialog-centered{align-items:center;min-height:calc(100% - 1rem);display:flex}@media (min-width:576px){.modal-dialog-centered{min-height:calc(100% - 3.5rem)}}
