.calculator{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);border-radius:22px;padding:28px;box-shadow:0 10px 30px rgba(26,75,95,.08);margin-bottom:30px;max-width:900px;margin-left:auto;margin-right:auto;box-sizing:border-box;border:1px solid #d9e3ee;position:relative;overflow:hidden}
.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:flex;gap:8px;margin-bottom:18px;background:#f2f6fc;padding:8px;border-radius:14px;flex-wrap:wrap;justify-content:center;border:1px solid #d9e3ee}
.tab-btn{padding:10px 20px;border-radius:10px;border:0;background:transparent;cursor:pointer;font-weight:700;color:#2e546a;flex:1;min-width:140px;text-align:center;font-size:.95rem;transition:all .2s ease;font-family:'Cairo',sans-serif}
.tab-btn:hover{background:#fff}
.tab-btn.active{background:linear-gradient(135deg,#1a4b5f 0%,#2b6a79 100%);color:#fff;box-shadow:0 6px 16px rgba(26,75,95,.14)}
.date-input-group{margin-bottom:16px;text-align:center}
.input-label{display:block;font-weight:700;color:#1a3f5c;margin-bottom:10px;font-size:1rem}
.input-hint{display:block;font-size:.82rem;color:#7a8c9a;margin-top:8px;text-align:center}
.date-inputs{background:linear-gradient(180deg,#fffdf7 0%,#fffaf0 100%);border:1px solid #ecdca8;border-radius:14px;padding:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;justify-content:center;box-shadow:0 6px 16px rgba(0,0,0,.04)}
.date-input-wrapper{min-width:0;width:100%;position:relative;flex:1}
.date-input{width:100%;padding:10px 12px;border-radius:10px;border:2px solid #d0ddee;text-align:center;cursor:pointer;background:#fff;font-size:1rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease;font-family:'Cairo',sans-serif}
.date-input:focus{border-color:#1a4b5f;box-shadow:0 0 0 4px rgba(26,75,95,.08)}
.date-list{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid #1a4b5f;border-radius:10px;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{text-align:center;border-bottom:1px solid #eef2f6;cursor:pointer}
.date-item{padding:8px 12px;font-size:0.9rem;line-height:1.3}
.date-item:last-child{border-bottom:none}
.date-item:hover{background:#f2f6fc}
.calculate-btn{background:linear-gradient(135deg,#1a4b5f 0%,#2b6a79 100%);color:#fff;border:0;padding:12px 28px;border-radius:10px;cursor:pointer;font-weight:700;margin:12px auto 0 auto;display:block;width:fit-content;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;box-shadow:0 8px 18px rgba(26,75,95,.14);font-family:'Cairo',sans-serif;font-size:1rem}
.calculate-btn:hover{transform:translateY(-2px);box-shadow:0 12px 22px rgba(26,75,95,.18);filter:saturate(1.03)}
#countdown-section{display:none;margin-top:25px}
.birthday-info-bar{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#1a4b5f 0%,#2b6a79 100%);color:#fff;border-radius:12px;padding:12px 18px;margin-bottom:20px;font-weight:700;font-size:1rem;gap:12px;flex-wrap:wrap}
.reset-btn{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:6px 14px;cursor:pointer;font-size:.85rem;font-weight:700;font-family:'Cairo',sans-serif;transition:background .2s;white-space:nowrap}
.reset-btn:hover{background:rgba(255,255,255,.28)}
.countdown-title{text-align:center;color:#1a3f5c;font-size:1rem;font-weight:700;margin-bottom:14px}
.countdown-wrapper{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 20px}
.countdown-box{background:#f6f9fc;border-radius:14px;padding:12px 8px;min-width:78px;text-align:center;border:1px solid #d0ddee;flex:1 1 78px}
.countdown-number{display:block;font-size:1.9rem;font-weight:800;color:#1a3f5c;line-height:1}
.countdown-label{font-size:.75rem;color:#2e546a;font-weight:600;margin-top:5px;display:block}
.progress-section{margin:0 0 20px}
.progress-label{display:flex;justify-content:space-between;font-size:.82rem;color:#3a5f5f;margin-bottom:6px;font-weight:600}
.progress-bar-bg{background:#e1e9ef;height:10px;border-radius:20px;overflow:hidden}
.progress-fill{background:linear-gradient(90deg,#1a4b5f,#6b9e9e);height:10px;border-radius:20px;transition:width .5s ease}
.extra-stats{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:stretch;margin:0;background:#fefcf5;padding:14px;border-radius:16px;border:1px solid #ecdca8}
.stat-item{text-align:center;flex:1 1 30%;display:flex;flex-direction:column;justify-content:center;gap:4px}
.stat-label{font-size:.82rem;color:#6b4f2a;font-weight:600}
.stat-number{font-size:.88rem;font-weight:700;color:#7a5c2e;line-height:1.4}
@media(max-width:768px){.calculator{padding:20px}.tabs{gap:6px;padding:7px}.tab-btn{min-width:120px;padding:8px 10px;font-size:.9rem}.date-input{padding:9px 10px;font-size:.95rem}.countdown-number{font-size:1.5rem}.countdown-box{flex:0 0 calc(33.333% - 8px);min-width:72px}.stat-item{flex:1 1 calc(50% - 8px)}}
@media(max-width:480px){.calculator{padding:16px;border-radius:18px}.date-inputs{grid-template-columns:repeat(3,1fr);padding:10px}.tab-btn{min-width:100px;flex:1;padding:8px;font-size:.85rem}.countdown-wrapper{gap:6px}.countdown-box{flex:0 0 calc(33.333% - 6px);min-width:65px;padding:8px 5px}.countdown-number{font-size:1.2rem}.countdown-label{font-size:.65rem}.calculate-btn{width:100%;justify-content:center}.birthday-info-bar{flex-direction:column;text-align:center;gap:8px}.stat-item{flex:1 1 100%}.date-item{padding:6px 10px;font-size:0.85rem}}