*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f5f7fa;min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px}.contact-container{background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,0.08);padding:28px;width:100%;max-width:500px;opacity:1;transform:translateY(0);transition:all .3s ease}.contact-container.hidden{opacity:0;transform:translateY(20px)}h2{color:#2d3748;margin-bottom:10px;font-size:26px;font-weight:700;text-align:center}h4{color:#2d3748;margin-bottom:30px;font-size:16px;font-weight:700;text-align:center}.description{margin-bottom:24px;padding:16px 20px;background:#f8f9fa;border-radius:8px}.description p{text-align:left;color:#4a5568;font-size:14px;line-height:1.6;margin-bottom:8px}.description p:last-child{margin-bottom:0}.description .warning{color:#e53e3e;font-size:13px;margin-top:12px}.description strong{font-weight:600}.form-group{margin-bottom:18px}label{display:block;margin-bottom:6px;color:#2d3748;font-weight:600;font-size:13px}input,textarea{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:16px;background:#f8fafc;color:#2d3748;transition:border-color .2s ease}input:focus,textarea:focus{outline:0;border-color:#4a90e2;background:#fff}input[type="number"]{-webkit-appearance:none;-moz-appearance:textfield;appearance:none}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;display:none}.date-input-wrapper{position:relative}#moveDate{cursor:pointer;user-select:none;position:relative;padding-right:40px}#moveDate:hover{border-color:#4a90e2;background:#fff}#moveDate.empty{color:#a0aec0}#moveDate.has-date{color:#2d3748;font-weight:500}#moveDate::after{content:'📅';position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:none}.custom-calendar{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 15px 40px rgba(0,0,0,0.15);z-index:1000;display:none;width:280px;max-width:100%}.custom-calendar.show{display:block}.calendar-header{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:#4a90e2;color:#fff;border-radius:12px 12px 0 0}.calendar-nav{background:0;border:0;color:#fff;font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px;min-width:28px;min-height:28px;display:flex;align-items:center;justify-content:center}.calendar-nav:hover{background:rgba(255,255,255,0.2)}.calendar-month-year{font-weight:600;font-size:14px;text-align:center}.calendar-grid{padding:14px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:8px}.calendar-weekday{text-align:center;font-weight:600;color:#4a90e2;font-size:11px;padding:6px 2px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day{height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;color:#2d3748}.calendar-day.clickable:hover{background:#4a90e2;color:#fff}.calendar-day.selected{background:#4a90e2;color:#fff}.calendar-day.today{background:#f7fafc;color:#4a5568;font-weight:600;border:2px solid #e2e8f0}.calendar-day.disabled{color:#cbd5e0;cursor:not-allowed;background:#f8fafc}.calendar-day.other-month{color:#e2e8f0}textarea{resize:vertical;min-height:80px;font-family:inherit;line-height:1.4}.submit-btn{width:100%;padding:14px 20px;background:#4a90e2;color:#fff;border:0;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer}.submit-btn:hover{opacity:.9}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.required{color:#e53e3e;margin-left:2px}.success-box{border-radius:8px;padding:20px 10px;background:#d4edda;color:#155724;border:1px solid #c3e6cb}.status{margin:20px 0;padding:14px 20px;border-radius:8px;font-weight:500;line-height:1.5;display:flex;font-size:15px;align-items:flex-start;gap:12px}.error{background:#fff5f5;border:1px solid #ffe0e0;color:#c53030}.error-content{display:flex;align-items:center;gap:12px}.error-icon{width:20px;height:20px;flex-shrink:0;margin-top:2px}