:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#edf5f3;font-family:Inter,Arial,Helvetica,sans-serif}body{min-width:320px;min-height:100vh;margin:0}button,input{font-family:inherit}#root{min-height:100vh}.page{width:min(1080px,100% - 32px);margin:0 auto;padding:40px 0 28px}.intro{margin-bottom:28px}.eyebrow{letter-spacing:1.6px;text-transform:uppercase;color:#087f7a;margin:0 0 10px;font-size:14px;font-weight:700}.intro h1{margin:0;font-size:52px;line-height:1.05}.lead{color:#4b5563;max-width:620px;margin:14px auto 0;font-size:18px}.finder{grid-template-columns:320px 1fr;align-items:stretch;gap:18px;margin-bottom:18px;display:grid}.controls,.result,.calendar{background:#fff;border:1px solid #d8dee6;border-radius:8px;box-shadow:0 14px 35px #0f172a14}.controls{text-align:left;flex-direction:column;justify-content:center;gap:10px;padding:24px;display:flex}label{color:#111827;font-weight:700}input{box-sizing:border-box;width:100%;font:inherit;color:#172033;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;padding:12px}input:focus{border-color:#087f7a;outline:3px solid #087f7a2e}.result{text-align:left;background:linear-gradient(135deg,#fff 0%,#f1fbf8 100%);padding:26px 30px}.result span{color:#087f7a;margin-bottom:8px;font-weight:700;display:inline-block}.result h2{color:#172033;margin:0;font-size:34px;line-height:1.12}.result p{color:#526071;margin:12px 0 0}.calendar{padding:22px}.calendar-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.calendar-header h2{color:#172033;margin:0;font-size:28px}.calendar-header button{color:#fff;cursor:pointer;background:#087f7a;border:0;border-radius:6px;width:44px;height:44px;font-size:30px;line-height:1}.calendar-header button:hover{background:#0f766e}.weekdays,.days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.weekdays{margin-bottom:8px}.weekdays span{text-transform:uppercase;color:#64748b;padding:8px 0;font-size:13px;font-weight:700}.days button,.empty{border-radius:7px;min-height:86px}.days button{text-align:left;color:#1f2937;cursor:pointer;background:#f8fafc;border:1px solid #dbe3ee;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:10px;display:flex}.days button:hover{background:#effaf7;border-color:#087f7a}.days button.active{color:#fff;background:#087f7a;border-color:#087f7a}.days button span{font-size:18px;font-weight:800}.days button small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.days button.active small{color:#dffcf6}.empty{background:repeating-linear-gradient(-45deg,#f8fafc,#f8fafc 8px,#eef2f7 8px 16px)}footer{color:#64748b;margin-top:18px;padding:18px 0 0;font-size:14px}@media (width<=760px){.page{width:min(100% - 20px,520px);padding-top:24px}.intro h1{font-size:38px}.finder{grid-template-columns:1fr}.calendar{padding:14px}.calendar-header h2{font-size:22px}.weekdays,.days{gap:5px}.days button,.empty{min-height:58px}.days button{padding:7px}.days button small{display:none}}
