:root{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#17343d;background:#f4f6f3;font-size:17px;line-height:1.6;--line:#c9d6d2;--green:#075c50;--muted:#52696e;--paper:#fff}*{box-sizing:border-box}body{margin:0}a{color:#075c50;text-underline-offset:.18em}a:hover{text-decoration-thickness:2px}header{max-width:1120px;margin:auto;display:flex;justify-content:space-between;gap:1rem;padding:1.2rem 1.5rem;border-bottom:1px solid var(--line)}.brand{font-size:1.2rem;font-weight:800;text-decoration:none}header span{color:var(--muted);font-size:.9rem}main{max-width:1120px;margin:auto;padding:2rem 1.5rem}h1{font-size:clamp(2rem,5vw,3.25rem);line-height:1.12;letter-spacing:-.035em;max-width:760px;margin:.5rem 0 1rem}h2{font-size:1.35rem;line-height:1.3;margin:.1rem 0 .8rem}h3{font-size:1.08rem;line-height:1.35;margin:1.4rem 0 .6rem}.intro{max-width:760px;font-size:1.15rem;color:#38545c}.eyebrow{color:var(--green);font-size:.78rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.reference{background:#e6f0e9;border:1px solid #b3cbbb;border-radius:16px;padding:1.5rem;margin:1.8rem 0}.reference p{max-width:850px}.dates{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.dates div{border-left:3px solid #578a6b;padding-left:1rem}.dates dt{font-size:.85rem}.dates dd{font-size:clamp(1.15rem,2.7vw,1.5rem);font-weight:750;margin:0}.small,.hint{font-size:.85rem;color:var(--muted)}.layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.2rem;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1.5rem}.quiet{background:#edf1ee}.quiet ul{padding-left:1.2rem}.quiet li{margin:.6rem 0}label,legend{display:block;font-weight:650;font-size:.94rem}select,input,textarea{width:100%;font:inherit;border:1px solid #91a8a4;border-radius:8px;background:white;color:#17343d;padding:.65rem .7rem}select{margin:.4rem 0 1rem}fieldset{border:0;padding:0;margin:1.3rem 0}legend span{font-weight:400;color:var(--muted)}.date-inputs{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.date-inputs input{margin-top:.3rem}button{font:inherit;font-size:.92rem;line-height:1.3;background:#fff;color:#075548;border:1px solid #58958a;border-radius:8px;min-height:46px;padding:.7rem 1rem;cursor:pointer;font-weight:650}button:hover:not(:disabled){background:#e6f0e9}.primary{background:var(--green);color:white;border-color:var(--green);width:100%}.primary:hover:not(:disabled){background:#06483f}.subtle{border-color:var(--line);color:var(--muted)}button:disabled{cursor:not-allowed;color:#66736d;background:#ecefed;border-color:#c5d0ca}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #ffbb55;outline-offset:3px}.status{font-size:.9rem;margin:1rem 0 0}.errors{border-left:4px solid #ac4224;padding:.7rem .7rem .7rem 1.7rem;background:#fff3eb;color:#792d16}.output{margin-top:1.3rem}.output textarea{font-size:.9rem;line-height:1.55;resize:vertical;margin-top:.4rem}.actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:.8rem 0}.reminders{background:#f0f6f1;border:1px solid #c4d8c8;border-radius:10px;padding:1rem}.reminders h3{margin-top:0}.reminders ul{padding-left:1.25rem}.checklist{list-style:none;padding:0}.checklist li{margin:.7rem 0}.checklist label{display:flex;gap:.7rem;font-weight:400;align-items:flex-start}.checklist input{width:1.1rem;height:1.1rem;flex:0 0 auto;margin-top:.3rem;accent-color:var(--green)}.sources{margin-top:2rem;border-top:1px solid var(--line);padding-top:1.5rem}.sources p{max-width:850px;font-size:.9rem;color:var(--muted)}footer{text-align:center;border-top:1px solid var(--line);padding:1.5rem;font-size:.85rem;color:var(--muted)}.skip{position:absolute;left:-9999px;top:.5rem;background:#fff;padding:.6rem;z-index:10}.skip:focus{left:.5rem}[hidden]{display:none!important}@media(max-width:760px){main{padding:1.5rem 1rem}.layout{grid-template-columns:1fr}.panel,.reference{padding:1.1rem}.dates{grid-template-columns:1fr;gap:.9rem}.date-inputs{grid-template-columns:1fr}.actions{flex-direction:column}.actions button{width:100%}header{padding:1rem}header span{font-size:.8rem}}
