:root{--bg-color:#f3f7fb;--bg-gradient:radial-gradient(circle at 10% 20%, #169bd529 0%, #03307c1a 55%), linear-gradient(180deg, #f6f9fd 0%, #eef3fb 48%, #e6eef8 100%);--text-color:#1b2a4b;--muted-text:#4b628f;--card-bg:#ffffffeb;--card-border:#0f337d14;--input-bg:#ffffffd9;--border-color:#0f337d33;--accent:#0a3d91;--accent-strong:#0058b9;--error:#c0392b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;color:var(--text-color);background:var(--bg-gradient);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;font-weight:400;line-height:1.6}a{color:var(--accent);font-weight:500;text-decoration:none;transition:color .2s}a:hover,a:focus-visible{color:var(--accent-strong)}body{background:var(--bg-gradient);min-width:320px;min-height:100vh;margin:0}h1,h2,h3,h4{color:var(--text-color);font-weight:600}button{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.6em 1.4em;font-family:inherit;font-size:1rem;font-weight:600;transition:box-shadow .25s,transform .25s}button:hover,button:focus-visible{transform:translateY(-1px);box-shadow:0 12px 22px #0a3d9140}input,select,textarea{background-color:var(--input-bg);color:var(--text-color);border:1px solid var(--border-color);border-radius:10px;padding:.6rem .75rem;transition:border-color .2s,box-shadow .2s;box-shadow:inset 0 1px 2px #0e3d9114}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px #0a3d911f}.container{max-width:960px;margin:0 auto;padding:2rem 1.5rem 4rem}.container.left{text-align:left}.container.narrow{max-width:720px}.topbar{z-index:100;color:#fff;background:linear-gradient(120deg,#001f5b 0%,#0a3d91 55%,#169bd5 100%);justify-content:space-between;align-items:center;gap:2rem;padding:1rem 2.5rem;display:flex;position:sticky;top:0;box-shadow:0 12px 30px #09234c59}.brand-link{color:inherit;flex-direction:column;gap:.35rem;text-decoration:none;display:flex}.brand-wordmark{letter-spacing:.08em;text-transform:uppercase;font-size:1.65rem;font-weight:700}.brand-subtitle{letter-spacing:.18em;text-transform:uppercase;opacity:.8;font-size:.75rem}.topbar-nav{align-items:center;gap:1rem;display:flex}.nav-link{color:#fff;font-weight:600}.logout-btn{background:#ffffff1f;border:1px solid #ffffff40;border-radius:12px}.topbar-login-link{color:#fff;font-weight:600}.login{background:var(--card-bg);text-align:left;border-radius:16px;max-width:360px;margin:6rem auto;padding:2rem;box-shadow:0 18px 40px #09234c29}.login h2{text-align:center;margin-bottom:1.5rem}.login form{flex-direction:column;gap:1rem;display:flex}.login .error{color:var(--error)}.modal{z-index:1000;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--card-bg);width:90%;max-width:500px;max-height:90vh;color:var(--text-color);border-radius:8px;padding:2rem;overflow-y:auto}.modal-content.email-draft{max-width:720px}.email-draft-grid{gap:.75rem;display:grid}.email-draft-grid label{flex-direction:column;gap:.35rem;display:flex}.email-draft-body textarea{min-height:240px}.actions{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.data-table{border-collapse:collapse;width:100%;margin-top:1rem}.data-table th,.data-table td{text-align:left;vertical-align:top;border-bottom:1px solid #444;padding:.75rem}.data-table th{color:#000;background-color:#fff;font-weight:600}.data-table tr:hover{color:#fff;background-color:#333}.actions-cell{white-space:nowrap;min-width:24rem}.actions-cell__buttons{flex-wrap:nowrap;gap:.5rem;display:inline-flex}.primary-btn{color:#fff;letter-spacing:.02em;cursor:pointer;background:#0a3d91;border:none;border-radius:10px;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;display:inline-flex}.primary-btn:hover,.primary-btn:focus-visible{background:#0e5fc1;transform:translateY(-1px);box-shadow:0 10px 22px #09317047}.leadership-actions{flex-wrap:wrap;gap:.75rem;margin:1rem 0 1.5rem;display:flex}.leadership-link{color:#fff;letter-spacing:.01em;background:#0a3d91;border-radius:999px;justify-content:center;align-items:center;padding:.65rem 1.25rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.leadership-link:hover,.leadership-link:focus-visible{background:#0e5fc1;transform:translateY(-1px);box-shadow:0 12px 24px #09317047}.jcs-form{flex-direction:column;gap:.75rem;display:flex}.jcs-form.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem 1.5rem;display:grid}.jcs-form.grid .form-group{flex-direction:column;display:flex}.jcs-form .checkbox-row{align-items:center;gap:.25rem;margin:.25rem 0;display:flex}.name-chip{color:#fff;background:#0a3d91;border-radius:4px;margin-top:.25rem;padding:.25rem .5rem;display:inline-block}.error{color:var(--error);font-size:.875rem}textarea[name=notes],textarea{resize:vertical;min-height:250px}.def-list{margin:.5rem 0;padding-left:1rem;list-style:inside}.def-list li{margin-bottom:.25rem}.checkbox-field{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.page-intro{max-width:960px;color:var(--muted-text);margin:0 0 1.5rem}.letter-layout{grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);align-items:start;gap:2rem;display:grid}.letter-form fieldset{border:1px solid var(--border-color);background:var(--card-bg);border-radius:12px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.letter-form input,.letter-form textarea{border:1px solid var(--border-color);background:var(--input-bg);width:100%;color:var(--text-color);border-radius:8px;padding:.65rem .75rem}.letter-preview{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color);border-radius:16px;flex-direction:column;gap:1.25rem;padding:1.75rem;display:flex}.letter-preview-body{flex-direction:column;gap:.85rem;line-height:1.55;display:flex}.letter-preview-body ol{flex-direction:column;gap:.4rem;padding-left:1.25rem;display:flex}.form-error{color:#ff8383;background:#dc42421f;border-radius:8px;padding:.65rem .85rem}.form-success{color:#62ffaf;background:#35a8551f;border-radius:8px;padding:.65rem .85rem}@media (max-width:980px){.letter-layout{grid-template-columns:1fr}}.home-container{max-width:960px;margin:0 auto;padding:3rem 1.5rem 4rem}.hero{color:#fff;background:linear-gradient(140deg,#002f6ceb 0%,#0073b4e0 55%,#1ebbedd9 100%);border-radius:32px;padding:clamp(2.75rem,4vw,4rem);position:relative;overflow:hidden;box-shadow:0 24px 60px #07214652}.hero:after{content:"";opacity:.65;background:radial-gradient(circle,#ffffff61 0%,#fff0 70%);width:45%;height:140%;position:absolute;top:-18%;right:-12%;transform:rotate(15deg)}.hero>*{z-index:1;position:relative}.hero-badge{letter-spacing:.12em;text-transform:uppercase;background:#ffffff2e;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem 1.1rem;font-size:.85rem;display:inline-flex}.hero-headline{color:#fffffff2;max-width:680px;margin-top:1.5rem;margin-bottom:1.25rem;font-size:clamp(2.6rem,5vw,3.6rem);font-weight:600;line-height:1.25}.action-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:clamp(2rem,3vw,2.75rem);display:grid}.action-button{color:#fff;letter-spacing:.01em;background:#ffffff1f;border:1px solid #ffffff61;border-radius:18px;justify-content:center;align-items:center;padding:1rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.action-button:hover,.action-button:focus-visible{background:#ffffff38;transform:translateY(-2px);box-shadow:0 18px 36px #09265840}.primary-action{color:#002d72;background:linear-gradient(135deg,#fff 0%,#e4f1ff 100%);border:none;box-shadow:0 20px 38px #042e6547}.primary-action:hover,.primary-action:focus-visible{box-shadow:0 26px 48px #042e655c}@media (max-width:640px){.home-container{padding:2.25rem 1.25rem 3rem}.hero{border-radius:24px;padding:2.5rem 1.75rem 3rem}.action-grid{grid-template-columns:1fr}}
.modal{z-index:1000;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--card-bg);width:90%;max-width:500px;max-height:90vh;color:var(--text-color);border-radius:8px;padding:2rem;overflow-y:auto}.actions{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.modal-content label{flex-direction:column;align-items:flex-start;width:100%;margin-bottom:1rem;display:flex}label.checkbox-row{flex-direction:row;align-items:center;gap:.25rem;margin:.25rem 0}.action-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#000;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.35rem .85rem;display:inline-flex}.action-btn:hover{opacity:.9}.link-btn{color:#0a3d91;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.link-btn:hover,.link-btn:focus-visible{text-decoration:none}.data-table{border-collapse:collapse;width:100%;margin-top:1rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #444;padding:.75rem}.data-table th{color:#000;background-color:#fff;font-weight:600}.data-table tr:hover{color:#fff;background-color:#333}.data-table td input[type=checkbox]{vertical-align:middle;margin:0}.primary-btn{color:#fff;letter-spacing:.02em;cursor:pointer;background:#0a3d91;border:none;border-radius:10px;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;display:inline-flex}.primary-btn:hover,.primary-btn:focus-visible{background:#0e5fc1;transform:translateY(-1px);box-shadow:0 10px 22px #09317047}.leadership-actions{flex-wrap:wrap;gap:.75rem;margin:1rem 0 1.5rem;display:flex}.leadership-link{color:#fff;letter-spacing:.01em;background:#0a3d91;border-radius:999px;justify-content:center;align-items:center;padding:.65rem 1.25rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.leadership-link:hover,.leadership-link:focus-visible{background:#0e5fc1;transform:translateY(-1px);box-shadow:0 12px 24px #09317047}.topbar{z-index:100;color:#fff;background:linear-gradient(120deg,#001f5b 0%,#0a3d91 55%,#169bd5 100%);justify-content:space-between;align-items:center;gap:2rem;padding:1rem 2.5rem;display:flex;position:sticky;top:0;box-shadow:0 12px 30px #09234c59}.brand-link{color:inherit;flex-direction:column;gap:.35rem;text-decoration:none;display:flex}.brand-wordmark{letter-spacing:.08em;text-transform:uppercase;font-size:1.65rem;font-weight:700}.brand-subtitle{letter-spacing:.28em;text-transform:uppercase;opacity:.82;font-size:.75rem}.topbar-nav{align-items:center;gap:1.75rem;display:flex}.nav-link{color:#f2f6ff;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .2s,transform .2s;position:relative}.nav-link:after{content:"";transform-origin:0;background:#ffffffbf;width:100%;height:2px;transition:transform .2s;position:absolute;bottom:-.35rem;left:0;transform:scaleX(0)}.nav-link:hover,.nav-link:focus-visible{color:#fff;transform:translateY(-1px)}.nav-link:hover:after,.nav-link:focus-visible:after{transform:scaleX(1)}.logout-btn{color:#fff;letter-spacing:.05em;background:#ffffff2e;border:none;border-radius:999px;margin-left:1rem;padding:.55rem 1.2rem;font-weight:600;transition:background .2s,transform .2s}.logout-btn:hover,.logout-btn:focus-visible{background:#ffffff4d;transform:translateY(-1px)}.topbar-login-link{color:#fff;background:#fff3;border-radius:999px;padding:.5rem 1.2rem;font-weight:600;text-decoration:none;transition:background .2s,transform .2s}.topbar-login-link:hover,.topbar-login-link:focus-visible{background:#ffffff52;transform:translateY(-1px)}@media (max-width:960px){.topbar{flex-direction:column;align-items:flex-start;gap:1.5rem;padding:1rem 1.5rem}.topbar-nav{flex-wrap:wrap;gap:1rem;width:100%}.logout-btn{margin-left:0}}.container{max-width:960px;margin:0 auto;padding:2rem}.container.narrow{max-width:540px}.container.left{margin-left:0;margin-right:auto}
