.calculator{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);border-radius:22px;padding:20px;box-shadow:0 10px 30px rgba(26,75,95,.08);margin:30px 0;border:1px solid #d9e3ee;position:relative;overflow:hidden;box-sizing:border-box}.calculator::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(107,158,158,.12),transparent 38%),radial-gradient(circle at bottom left,rgba(26,75,95,.08),transparent 35%);pointer-events:none}.tabs{display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;background:#fff0f6;padding:6px;border-radius:14px;justify-content:flex-end;border:1px solid #ffd6e8}.tab-btn{flex:0 0 auto;padding:10px 12px;border:none;border-radius:10px;background:transparent;cursor:pointer;font-weight:700;color:#5a6c7d;text-align:center;font-size:.9rem;transition:all .2s ease}.tab-btn.active{background:linear-gradient(135deg,#ff3d8a,#ff6b9d);color:#fff;box-shadow:0 6px 18px rgba(255,61,138,.2)}.form-container{display:none}.form-container.active{display:block}.input-group{margin-bottom:25px}.input-label{display:block;color:#1a4b5f;font-weight:700;margin-bottom:12px;font-size:1rem}.date-inputs{display:flex;flex-wrap:nowrap;gap:8px;align-items:center}.date-input-wrapper{position:relative;min-width:0;flex:1}.date-input{width:100%;padding:12px 10px;border:1.5px solid #ffd6e8;border-radius:12px;text-align:center;cursor:pointer;background:#fff0f6;font-size:1rem;color:#1a3f5c;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.date-input:focus{outline:none;border-color:#1a4b5f;box-shadow:0 0 0 4px rgba(26,75,95,.08);background:#fff}.calendar-select{padding:12px 10px;border:1.5px solid #ffd6e8;border-radius:12px;background:#fff0f6;min-width:80px;font-size:.95rem;cursor:pointer;flex-shrink:0;color:#1a3f5c;transition:border-color .2s ease,box-shadow .2s ease}.calendar-select:focus{outline:none;border-color:#1a4b5f;box-shadow:0 0 0 4px rgba(26,75,95,.08);background:#fff}.date-list{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid #ffd6e8;border-radius:12px;max-height:240px;overflow:auto;display:none;box-shadow:0 12px 28px rgba(0,0,0,.08);z-index:1050}.date-list.active{display:block}.date-item{padding:10px;text-align:center;border-bottom:1px solid #dce5ec;cursor:pointer;color:#1a3f5c}.date-item:last-child{border-bottom:none}.date-item:hover{background:#f2f6fc}.calculate-btn{display:block;margin:20px auto 0;background:linear-gradient(135deg,#ff3d8a,#ff6b9d);color:#fff;border:0;padding:10px 18px;border-radius:30px;cursor:pointer;font-weight:700;font-size:1rem;min-width:120px;box-shadow:0 8px 18px rgba(255,61,138,.2);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;text-align:center}.calculate-btn:hover{transform:translateY(-2px);box-shadow:0 12px 22px rgba(255,61,138,.3);filter:saturate(1.03)}.results-container{margin-top:30px;padding:25px;background:#fff0f6;border-radius:16px;border:1px solid #ffd6e8;border-right:5px solid #ff3d8a;display:none;box-shadow:0 6px 16px rgba(0,0,0,.04)}.results-container.show{display:block}.results-title{color:#1a4b5f;font-size:1.3rem;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #ffd6e8;font-weight:800}.pregnancy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px}.pregnancy-card{background:#fff;padding:12px;border-radius:16px;border:1px solid #e0e7ef;text-align:center;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 12px rgba(0,0,0,.02)}.pregnancy-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(26,75,95,.08)}.pregnancy-number{font-size:1.6rem;font-weight:800;color:#1a4b5f;display:block;margin-bottom:8px}.pregnancy-label{color:#5a6c7d;font-size:.95rem}.additional-results{background:#fff;padding:20px;border-radius:16px;margin-top:20px;border:1px solid #e0e7ef}.result-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #dce5ec}.result-item:last-child{border-bottom:none}.result-label{color:#1a4b5f;font-weight:700}.result-value{color:#ff3d8a;font-weight:800}.trimester-info{background:#fff;padding:20px;border-radius:16px;margin-top:25px;border-right:4px solid #ff3d8a;border:1px solid #e0e7ef}.trimester-info h4{color:#1a4b5f;margin-bottom:15px;font-weight:700}.trimester-info p{color:#1a3f5c}.timeline-container{margin-top:30px;position:relative}.timeline{display:flex;justify-content:space-between;position:relative;margin-top:20px}.timeline-item{text-align:center;flex:1;position:relative;padding-top:40px}.timeline-item::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:20px;height:20px;border-radius:50%;background:#e6e6e6;border:3px solid #fff;z-index:2}.timeline-item.active::before{background:#ff3d8a}.timeline-item .label{margin-top:10px;font-size:.9rem;color:#5a6c7d}.timeline-connector{position:absolute;top:10px;left:10%;right:10%;height:4px;background:#e6e6e6;z-index:1}.timeline-connector .progress{height:100%;background:#ff3d8a;border-radius:2px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid #fff;border-top:2px solid transparent;border-radius:50%;margin-right:6px;animation:spin 0.8s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@media(max-width:768px){.calculator{padding:20px}.tabs{flex-wrap:wrap;gap:6px;justify-content:flex-start;width:auto}.tab-btn{flex:1 0 auto;min-width:0;padding:8px 10px;font-size:.85rem;white-space:normal;word-break:break-word;line-height:1.3}.date-inputs{flex-wrap:wrap}.date-input-wrapper{flex:1 1 auto;min-width:100px}.calendar-select{flex:1 1 auto}.pregnancy-grid{grid-template-columns:repeat(2,1fr);gap:12px}.pregnancy-card{padding:8px}.pregnancy-number{font-size:1.3rem;margin-bottom:5px}.timeline-container{margin-top:20px}.timeline-connector{top:10px}}@media(max-width:480px){.tabs{width:100%}.tab-btn{flex:1;text-align:center}.date-inputs{grid-template-columns:1fr 1fr;gap:8px}.date-input-wrapper{min-width:0}.calendar-select{grid-column:span 2}.calculate-btn{padding:8px 12px;font-size:.95rem;min-width:100px}.timeline-container h4{margin-bottom:40px;position:relative;z-index:2}.timeline-connector{top:30px}}@media(max-width:360px){.tabs{flex-direction:column;width:100%}.tab-btn{width:100%}.pregnancy-grid{grid-template-columns:1fr}.timeline{flex-wrap:wrap}.timeline-item{flex:0 0 50%;margin-bottom:15px}.timeline-connector{display:none}}