:root{--m-bg:#f2f2f2;--m-fg:#1C548C;--m-overlay:rgba(0,0,0,.5);--m-radius:12px;--m-shadow:0 20px 60px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.08);--m-gap:16px;--m-maxw:520px;--btn-bg:#1C548C;--btn-fg:#f2f2f2;--btn-bg-hover:#1C548C80}.current-link{text-decoration:underline!important}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center}.modal__overlay{position:absolute;inset:0;background:var(--m-overlay);opacity:0;transition:opacity .2s ease}.modal__panel{position:relative;width:min(92vw,var(--m-maxw));background:var(--m-bg);color:var(--m-fg);border-radius:var(--m-radius);box-shadow:var(--m-shadow);transform:translateY(8px) scale(.98);opacity:0;transition:transform .18s ease,opacity .18s ease;outline:none}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px var(--m-gap) 8px var(--m-gap)}.modal__title{margin:0;font-size:18px;line-height:1.2;letter-spacing:.2px}.modal__close{appearance:none;border:0;background:transparent;padding:8px;border-radius:10px;cursor:pointer;color:inherit;display:flex}.modal__close:hover{background:rgba(0,0,0,.05)}.modal__body{padding:8px var(--m-gap) 4px var(--m-gap);font-size:15px;line-height:1.6}.modal__actions{padding:12px var(--m-gap) 16px var(--m-gap);display:flex;justify-content:flex-end;gap:8px}.btn{appearance:none;border:0;cursor:pointer;border-radius:10px;padding:10px 14px;font-size:14px}.btn--primary{background:var(--btn-bg);color:var(--btn-fg)}.btn--primary:hover{background:var(--btn-bg-hover)}.modal.is-open .modal__overlay{opacity:1}.modal.is-open .modal__panel{opacity:1;transform:translateY(0) scale(1)}input:focus,textarea:focus,select:focus{outline:none;box-shadow:none}input[type="checkbox"]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:14px;min-width:14px;max-height:14px;height:14px;border:1px solid #1c548c;background-color:#f2f2f2;border-radius:4px;cursor:pointer;position:relative;transition:background-color 0.2s,border-color 0.2s}input[type="checkbox"]:checked{background-color:#f2f2f2;border-color:#1c548c}input[type="checkbox"]:checked::after{content:"";position:absolute;top:1px;left:1px;width:10px;height:10px;background-color:#1c548c;border-radius:3px}