.date-selector{position:relative}.date-details-block{padding:12px 14px 10px;margin:4px 0 10px}.date-details-block .inner-section-header{margin-bottom:10px}.date-details-block .date-selector{margin-bottom:0}.date-details-block>.field-error{margin-top:6px;margin-left:0}@media (max-width:540px){.date-details-block{padding:10px 12px 8px}}.ds-input-row{display:flex;align-items:stretch;gap:6px}.ds-combo{flex:1;position:relative}.ds-combo[data-field=month]{flex:1.3}.ds-combo[data-field=year]{flex:1.2}.ds-combo-input{width:100%;background:var(--bg-primary);border:1.5px solid var(--input-border);border-radius:10px;padding:10px 24px 10px 10px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:.88rem;font-weight:600;text-align:center;cursor:text;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;margin-bottom:0}.ds-combo-arrow{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;border-radius:6px;color:var(--accent-color);cursor:pointer;opacity:.7;transition:opacity .2s ease,background .2s ease,transform .2s ease;padding:0}.ds-combo-arrow:hover{opacity:1;background:rgba(107,91,149,.1)}.ds-combo.open .ds-combo-arrow{opacity:1;transform:translateY(-50%) rotate(180deg)}body.dark-theme .ds-combo-arrow{color:var(--accent-light)}body.dark-theme .ds-combo-arrow:hover{background:rgba(139,123,184,.15)}.ds-combo-list{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:220px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--bg-primary);border:1.5px solid var(--border-color);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06);z-index:50;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;scrollbar-width:thin;scrollbar-color:var(--accent-color) transparent}.ds-combo.open .ds-combo-list{opacity:1;visibility:visible;transform:translateY(0)}body.dark-theme .ds-combo-list{background:#2c2c30;border-color:var(--border-color);box-shadow:0 8px 24px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.25)}.ds-combo-list::-webkit-scrollbar{width:4px}.ds-combo-list::-webkit-scrollbar-track{background:0 0}.ds-combo-list::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:4px;opacity:.5}.ds-combo-list li{padding:7px 10px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;color:var(--text-secondary);border-radius:6px;cursor:pointer;text-align:center;transition:background .12s ease,color .12s ease;user-select:none}.ds-combo-list li.highlighted,.ds-combo-list li:hover{background:rgba(107,91,149,.12);color:var(--accent-color)}body.dark-theme .ds-combo-list li.highlighted,body.dark-theme .ds-combo-list li:hover{background:rgba(139,123,184,.18);color:var(--accent-light)}.ds-combo-list .ds-combo-empty{color:var(--text-tertiary);font-style:italic;cursor:default;background:0 0}.ds-combo-list .ds-combo-empty:hover{background:0 0;color:var(--text-tertiary)}.ds-combo-input:hover{border-color:var(--accent-light);background-color:var(--bg-secondary)}.ds-combo-input:focus{outline:0;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(107,91,149,.15);background:var(--bg-primary)}.ds-combo-input:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.ds-combo-input::placeholder{color:var(--text-tertiary);font-weight:500}.ds-cal-btn{display:flex;align-items:center;justify-content:center;width:42px;flex-shrink:0;background:var(--bg-primary);border:1.5px solid var(--input-border);border-radius:10px;color:var(--accent-color);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,transform .15s ease}.ds-cal-btn:hover{border-color:var(--accent-color);background:var(--bg-secondary);color:var(--accent-color);transform:scale(1.05)}.ds-cal-btn:active{transform:scale(.95)}.ds-cal-btn.open{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(107,91,149,.15);background:var(--accent-color);color:#fff}.ds-cal-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}body.dark-theme .ds-cal-btn{color:var(--accent-light)}body.dark-theme .ds-cal-btn:hover{border-color:var(--accent-light);color:var(--accent-light)}body.dark-theme .ds-cal-btn.open{background:var(--accent-light);color:#111113;box-shadow:0 0 0 3px rgba(139,123,184,.25)}.date-selector .datepicker-popup{left:auto;right:0;width:280px;min-width:0;max-width:calc(100vw - 32px);padding:12px;border-radius:14px}.date-selector .datepicker-popup .cal-header{margin-bottom:8px;gap:3px}.date-selector .datepicker-popup .cal-nav-btn{width:26px;height:26px;border-radius:7px}.date-selector .datepicker-popup .cal-nav-btn svg{width:11px;height:11px}.date-selector .datepicker-popup .cal-title{gap:4px}.date-selector .datepicker-popup .cal-title select{padding:4px 18px 4px 6px;font-size:.74rem;border-radius:6px;background-position:right 4px center}.date-selector .datepicker-popup .cal-weekdays{gap:1px;margin-bottom:4px;padding-bottom:4px}.date-selector .datepicker-popup .cal-weekday{font-size:.58rem;padding:2px 0;letter-spacing:.04em}.date-selector .datepicker-popup .cal-days{gap:1px}.date-selector .datepicker-popup .cal-day{font-size:.75rem;border-radius:7px;aspect-ratio:auto;height:30px}.date-selector .datepicker-popup .cal-footer{margin-top:6px;padding-top:6px}.date-selector .datepicker-popup .cal-today-btn{padding:5px 16px;font-size:.72rem;border-radius:6px}.datepicker-field{position:relative}.datepicker-selectors{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:8px}.datepicker-selectors select{width:100%;background:var(--bg-primary);border:1.5px solid var(--input-border);border-radius:10px;padding:9px 10px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:.82rem;font-weight:600;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .15s ease;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b5b95' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:26px;margin-bottom:0}.datepicker-selectors select:hover{border-color:var(--accent-light);background-color:var(--bg-secondary)}body.dark-theme .datepicker-selectors select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b7bb8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.datepicker-selectors select:focus{outline:0;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(107,91,149,.15)}.datepicker-selectors select:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.datepicker-trigger{width:100%;display:flex;align-items:center;gap:10px;background:var(--bg-primary);border:1.5px solid var(--input-border);border-radius:12px;padding:11px 14px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:.92rem;font-weight:600;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .15s ease;text-align:left;outline:0}.datepicker-trigger:hover{border-color:var(--accent-light);background:var(--bg-secondary)}.datepicker-trigger.open,.datepicker-trigger:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(107,91,149,.15)}.datepicker-trigger:active{transform:scale(.99)}.datepicker-trigger:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.datepicker-trigger svg{flex-shrink:0;color:var(--accent-color);opacity:.7;transition:opacity .2s ease,transform .2s ease}.datepicker-trigger.open svg,.datepicker-trigger:hover svg{opacity:1;transform:scale(1.1)}.datepicker-trigger .datepicker-display{flex:1;line-height:1.4}.datepicker-trigger .datepicker-placeholder{color:var(--text-tertiary);font-weight:500}.datepicker-popup{position:absolute;top:calc(100% + 8px);left:0;right:0;min-width:280px;background:var(--bg-primary);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1.5px solid var(--border-color);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.15),0 4px 12px rgba(0,0,0,.08);padding:16px;z-index:100;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.97);transition:opacity .2s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1),visibility .2s ease;transform-origin:top center}.datepicker-popup.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}body.dark-theme .datepicker-popup{background:#2c2c30;border-color:var(--border-color);box-shadow:0 12px 40px rgba(0,0,0,.5),0 4px 12px rgba(0,0,0,.3)}.popup-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:1050;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.popup-backdrop.active{opacity:1;visibility:visible;pointer-events:auto}body.dark-theme .popup-backdrop{background:rgba(0,0,0,.55)}.datepicker-popup.portal-dropdown,.timepicker-popup.portal-dropdown{position:fixed;right:auto}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:4px}.cal-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1.5px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .15s ease,box-shadow .18s ease;flex-shrink:0}.cal-nav-btn:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff;transform:scale(1.08);box-shadow:0 2px 8px rgba(107,91,149,.3)}.cal-nav-btn:active{transform:scale(.95)}.cal-nav-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}body.dark-theme .cal-nav-btn:hover{background:var(--accent-light);border-color:var(--accent-light);color:#111113;box-shadow:0 2px 8px rgba(139,123,184,.35)}.cal-title{display:flex;gap:6px;align-items:center;justify-content:center;flex:1}.cal-title select{background:var(--bg-secondary);border:1.5px solid var(--border-color);border-radius:8px;padding:5px 8px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:.82rem;font-weight:700;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;margin-bottom:0;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236b5b95' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;padding-right:22px}body.dark-theme .cal-title select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%238b7bb8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.cal-title select:hover{border-color:var(--accent-light);background-color:var(--bg-primary)}.cal-title select:focus{outline:0;border-color:var(--accent-color);box-shadow:0 0 0 2px rgba(107,91,149,.12)}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--border-color)}.cal-weekday{text-align:center;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-color);padding:4px 0;opacity:.7}body.dark-theme .cal-weekday{color:var(--accent-light)}.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal-day{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:none;border-radius:10px;background:0 0;color:var(--text-primary);font-family:Inter,sans-serif;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .12s ease;position:relative}.cal-day:hover:not(.empty):not(.selected){background:var(--bg-secondary);color:var(--accent-color);transform:scale(1.08)}.cal-day:active:not(.empty){transform:scale(.93)}.cal-day.today:not(.selected){font-weight:700;color:var(--accent-color);box-shadow:inset 0 0 0 1.5px var(--accent-color)}body.dark-theme .cal-day.today:not(.selected){color:var(--accent-light);box-shadow:inset 0 0 0 1.5px var(--accent-light)}.cal-day.selected{background:linear-gradient(135deg,var(--accent-color),var(--accent-dark));color:#fff;font-weight:700;box-shadow:0 2px 8px rgba(107,91,149,.35)}body.dark-theme .cal-day.selected{background:linear-gradient(135deg,var(--accent-light),var(--accent-color));color:#111113;box-shadow:0 2px 8px rgba(139,123,184,.4)}.cal-day.other-month{color:var(--text-tertiary);opacity:.4}.cal-day.empty{cursor:default}.cal-day:focus-visible{outline:2px solid var(--accent-color);outline-offset:1px}.cal-footer{display:flex;justify-content:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-color)}.cal-today-btn{padding:7px 20px;border:1.5px solid var(--accent-color);border-radius:8px;background:0 0;color:var(--accent-color);font-family:Inter,sans-serif;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .18s ease,color .18s ease,transform .15s ease,box-shadow .18s ease}.cal-today-btn:hover{background:var(--accent-color);color:#fff;transform:translateY(-1px);box-shadow:0 3px 10px rgba(107,91,149,.3)}.cal-today-btn:active{transform:translateY(0)}.cal-today-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}body.dark-theme .cal-today-btn{border-color:var(--accent-light);color:var(--accent-light)}body.dark-theme .cal-today-btn:hover{background:var(--accent-light);color:#111113;box-shadow:0 3px 10px rgba(139,123,184,.35)}input[type=time]{width:100%;background:var(--bg-primary);border:1.5px solid var(--input-border);border-radius:12px;padding:11px 14px;color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:.98rem;font-weight:700;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;margin-bottom:8px;appearance:none;-webkit-appearance:none}input[type=time]:hover{border-color:var(--accent-light)}input[type=time]:focus{outline:0;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(107,91,149,.15);background:var(--bg-primary)}input[type=time]:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;padding:4px;border-radius:6px;transition:opacity .2s ease,background .2s ease;filter:none}input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:.85;background:rgba(107,91,149,.1)}body.dark-theme input[type=time]::-webkit-calendar-picker-indicator{filter:invert(.7) sepia(.3) hue-rotate(200deg);opacity:.6}body.dark-theme input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:.9;background:rgba(139,123,184,.15)}input[type=time]::-webkit-inner-spin-button{display:none}.timepicker-field{position:relative}.timepicker-field input[type=time]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}.timepicker-trigger{width:100%;display:flex;align-items:center;gap:10px;background:var(--bg-primary);border:1.5px solid var(--input-border);border-radius:12px;padding:11px 14px;color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:.98rem;font-weight:700;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .15s ease;text-align:left;outline:0;margin-bottom:8px}.timepicker-trigger:hover{border-color:var(--accent-light);background:var(--bg-secondary)}.timepicker-trigger.open,.timepicker-trigger:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(107,91,149,.15)}.timepicker-trigger:active{transform:scale(.99)}.timepicker-trigger:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.timepicker-trigger .timepicker-display{flex:1;line-height:1.4}.timepicker-trigger svg{flex-shrink:0;color:var(--accent-color);opacity:.7;transition:opacity .2s ease,transform .2s ease}.timepicker-trigger.open svg,.timepicker-trigger:hover svg{opacity:1;transform:scale(1.1)}.timepicker-popup{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:220px;background:var(--bg-primary);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1.5px solid var(--border-color);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.15),0 4px 12px rgba(0,0,0,.08);padding:14px;z-index:100;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.97);transition:opacity .2s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1),visibility .2s ease;transform-origin:top center}.timepicker-popup.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}body.dark-theme .timepicker-popup{background:#2c2c30;border-color:var(--border-color);box-shadow:0 12px 40px rgba(0,0,0,.5),0 4px 12px rgba(0,0,0,.3)}.timepicker-col-labels{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:6px;text-align:center}.timepicker-col-label{font-family:Inter,sans-serif;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-color);padding:0 0 4px;border-bottom:1.5px solid var(--border-color)}.timepicker-columns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.timepicker-scroll{max-height:210px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--accent-color) transparent;display:flex;flex-direction:column;gap:2px;padding:2px}.timepicker-scroll::-webkit-scrollbar{width:4px}.timepicker-scroll::-webkit-scrollbar-track{background:0 0}.timepicker-scroll::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:4px;opacity:.5}.tp-option{display:flex;align-items:center;justify-content:center;padding:7px 4px;border:none;border-radius:8px;background:0 0;color:var(--text-secondary);font-family:Inter,sans-serif;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,transform .1s ease;flex-shrink:0}.tp-option:hover{background:rgba(107,91,149,.1);color:var(--text-primary)}.tp-option.selected{background:var(--accent-color);color:#fff;font-weight:700;box-shadow:0 2px 8px rgba(107,91,149,.35)}.tp-option.selected:hover{background:var(--accent-light);color:#fff}body.dark-theme .tp-option:hover{background:rgba(139,123,184,.15)}body.dark-theme .tp-option.selected{background:var(--accent-color);box-shadow:0 2px 8px rgba(139,123,184,.4)}@media (min-width:769px){.content-wrapper:has(#ageForm){align-items:stretch}.content-wrapper:has(#ageForm)>.input-card,.content-wrapper:has(#ageForm)>.results-card{max-height:calc(100vh - 170px);overflow-y:auto;scrollbar-width:thin}.content-wrapper:has(#ageForm)>.input-card,.content-wrapper:has(#ageForm)>.results-card{display:flex;flex-direction:column}.content-wrapper:has(#ageForm)>.input-card #ageForm{flex:1 1 auto}.content-wrapper:has(#ageForm)>.input-card #submitBtn{margin-top:auto}}.content-wrapper:has(#ageForm) .input-card,.content-wrapper:has(#ageForm) .results-card{padding:16px 18px}.content-wrapper:has(#ageForm) .input-card h2,.content-wrapper:has(#ageForm) .results-card h2{font-size:1rem;margin-bottom:10px;padding-bottom:6px}.content-wrapper:has(#ageForm) .date-details-block{margin:4px 0 8px;padding:10px 12px 8px}.content-wrapper:has(#ageForm) .date-details-block .inner-section-header{margin-bottom:8px;font-size:.7rem}.content-wrapper:has(#ageForm) #submitBtn{margin-top:6px;padding:9px 16px;font-size:.85rem}.content-wrapper:has(#ageForm) .result-hero{padding:10px 12px;margin-bottom:8px;border-radius:12px;flex:0 0 auto}.content-wrapper:has(#ageForm) .result-hero-value{font-size:1.6rem;line-height:1.1}.content-wrapper:has(#ageForm) .result-hero-label{font-size:.62rem;margin-top:2px}.content-wrapper:has(#ageForm) .result-hero-divider{height:30px}.content-wrapper:has(#ageForm) .result-list{margin-bottom:8px;flex:0 0 auto}.content-wrapper:has(#ageForm) .result-list-row{padding:4px 2px}.content-wrapper:has(#ageForm) .result-list-label,.content-wrapper:has(#ageForm) .result-list-value{font-size:.78rem}.content-wrapper:has(#ageForm) .chart-container{flex:1 1 100px;min-height:100px;max-height:180px;padding:6px;margin-top:4px}@media (max-width:768px){.content-wrapper:has(#ageForm)>.input-card,.content-wrapper:has(#ageForm)>.results-card{max-height:none;overflow-y:visible}.content-wrapper:has(#ageForm) .chart-container{height:180px;max-height:180px;min-height:160px}.content-wrapper:has(#ageForm) .result-hero-value{font-size:1.6rem}}