.leave-page { --leave-accent:#087d70; --leave-ink:#132238; --leave-muted:#607087; --leave-line:#d9e2ec; color:var(--leave-ink); }
.leave-heading { margin-bottom:2rem; }
.leave-eyebrow,.leave-step { color:var(--leave-accent); font-weight:800; font-size:.9rem; }
.leave-heading h1 { margin:.35rem 0 .8rem; font-size:clamp(2rem,4vw,3.25rem); letter-spacing:0; }
.leave-heading>p:last-child { color:var(--leave-muted); font-size:1.08rem; line-height:1.8; max-width:52rem; }
.leave-calculator { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr); gap:1rem; align-items:start; }
.leave-form,.leave-result,.leave-guide,.leave-formula { border:1px solid var(--leave-line); border-radius:8px; background:#fff; }
.leave-form { padding:1.5rem; }
.leave-form header h2,.leave-guide h2 { margin:.25rem 0 1.25rem; font-size:1.55rem; letter-spacing:0; }
.leave-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.leave-field { display:flex; flex-direction:column; gap:.45rem; min-width:0; font-weight:700; }
.leave-field span { font-size:.92rem; }
.leave-field input,.leave-field select { width:100%; height:3.35rem; border:1px solid var(--leave-line); border-radius:7px; background:#fff; color:var(--leave-ink); padding:0 .9rem; font:inherit; box-sizing:border-box; }
.leave-field small { color:var(--leave-muted); font-weight:400; line-height:1.5; }
.leave-wide { grid-column:1/-1; }
.leave-actions { display:flex; gap:.65rem; margin-top:1.25rem; }
.leave-actions button { min-height:3.2rem; padding:0 1.35rem; border:0; border-radius:7px; background:var(--leave-accent); color:#fff; font-weight:800; cursor:pointer; }
.leave-actions .secondary { background:#edf2f7; color:#24364c; }
.leave-status { margin:1rem 0 0; padding:.8rem .9rem; border-radius:7px; background:#eaf7f3; color:#08675d; line-height:1.55; }
.leave-status.is-warning { background:#fff6df; color:#825b08; }.leave-status.is-error { background:#fff0ef; color:#a33a32; }
.leave-result { padding:1.4rem; background:#f7fafc; position:sticky; top:1rem; }
.leave-result-main span,.leave-result-grid span { color:var(--leave-muted); font-size:.86rem; }
.leave-result-main strong { display:block; margin:.35rem 0 .55rem; font-size:2rem; color:var(--leave-accent); }
.leave-result-main p { margin:0; color:var(--leave-muted); line-height:1.55; }
.leave-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; margin-top:1rem; }
.leave-result-grid div { padding:.85rem; border:1px solid var(--leave-line); border-radius:7px; background:#fff; }
.leave-result-grid strong { display:block; margin-top:.25rem; font-size:1rem; }
.leave-formula-preview { margin:1rem 0 0; padding-top:1rem; border-top:1px solid var(--leave-line); color:var(--leave-muted); font-size:.87rem; line-height:1.55; }
.leave-formula { margin-top:1rem; padding:1.35rem; background:#f0f8f6; }
.leave-formula strong { display:block; margin-bottom:.45rem; color:var(--leave-accent); }.leave-formula p { margin:0; font-size:1.05rem; font-weight:700; }
.leave-guide { margin-top:1.25rem; padding:1.6rem; }
.leave-guide>header>p:last-child { color:var(--leave-muted); line-height:1.75; }
.leave-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.2rem; }
.leave-guide-grid section { border-top:3px solid #cfe6e1; padding:1rem 0 0; }
.leave-guide-grid h3 { margin:0 0 .55rem; font-size:1.08rem; letter-spacing:0; }.leave-guide-grid p,.leave-guide-grid li { color:var(--leave-muted); line-height:1.75; }
.leave-guide-grid ul { margin:.4rem 0 0; padding-left:1.2rem; }
.leave-source { margin-top:1.25rem; padding:1rem; background:#f7fafc; border-radius:7px; color:var(--leave-muted); line-height:1.65; }
.leave-source a { color:var(--leave-accent); font-weight:700; }
@media(max-width:900px){.leave-calculator{grid-template-columns:1fr}.leave-result{position:static}.leave-guide-grid{grid-template-columns:1fr}}
@media(max-width:560px){.leave-form,.leave-result,.leave-guide{padding:1.1rem}.leave-fields{grid-template-columns:1fr}.leave-wide{grid-column:auto}.leave-actions{display:grid;grid-template-columns:1fr 1fr}.leave-actions button{padding:0 .6rem}.leave-result-grid{grid-template-columns:1fr 1fr}.leave-heading h1{font-size:2rem}}
