*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:#1c2940;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}.wrap{max-width:820px;margin:0 auto;padding:54px 20px}header{margin-bottom:28px}h1{font-size:clamp(36px,6vw,52px);line-height:1.1;margin:10px 0}header p{color:#627087;max-width:640px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:#2563eb}.panel,.result,.error{background:white;border:1px solid #e0e7f1;border-radius:18px;padding:30px;box-shadow:0 10px 30px #2139570a}.fieldlabel{display:block;font-weight:750;margin-bottom:12px}.space{margin-top:30px}.datebox,.customrow{display:flex;gap:12px}input[type=date],input[type=number],select{font:inherit;border:1px solid #cbd5e1;border-radius:10px;padding:12px 14px;background:white;color:#1c2940;min-width:0}input[type=date]{flex:1}.secondary{border:1px solid #cbd5e1;background:#f8fafc;color:#243550;border-radius:10px;padding:0 20px;cursor:pointer}.presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.chip input{position:absolute;opacity:0}.chip span{display:block;text-align:center;padding:11px 5px;border:1px solid #d6dfeb;border-radius:10px;cursor:pointer;font-size:14px}.chip input:checked+span{background:#eaf1ff;color:#164fc1;border-color:#5687f2;font-weight:750}.chip input:focus-visible+span{outline:3px solid #93c5fd}.custom{display:flex;align-items:center;gap:9px;font-weight:700;margin:24px 0 10px}.customrow input{width:35%}.customrow select{flex:1}.hint{font-size:13px;color:#64748b;margin:10px 0 24px}.primary{width:100%;border:0;background:#2563eb;color:white;border-radius:11px;padding:15px;font:inherit;font-weight:750;cursor:pointer}.primary:hover{background:#1d4ed8}.result{margin-top:20px;border-color:#a5c5fb}.result h2{font-size:clamp(25px,4vw,36px);margin:12px 0}.result p{color:#52647a}.warn{color:#a16207!important}.error{margin-top:20px;color:#b91c1c}footer{font-size:12px;color:#75839a;margin:25px 3px}@media(max-width:600px){.wrap{padding:28px 14px}.panel,.result{padding:20px}.presets{grid-template-columns:repeat(2,minmax(0,1fr))}.datebox{flex-wrap:wrap}.datebox input{width:100%}}
