:root{--navy:#173b4f;--amber:#a66a2c;--ink:#263238;--muted:#60727b;--line:#d9e1e3;--wash:#f3f6f6;--paper:#fff;--shadow:0 8px 28px rgba(23,59,79,.08)}*{box-sizing:border-box}body{margin:0;background:var(--wash);color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif}.topbar{position:sticky;top:0;z-index:2;background:#fffffff5;border-bottom:1px solid var(--line)}.topbar,.shell,footer{padding-left:max(1rem,calc((100% - 1050px)/2));padding-right:max(1rem,calc((100% - 1050px)/2))}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;flex-direction:column;color:var(--navy);text-decoration:none;font-weight:700}.brand small{color:var(--amber)}nav{display:flex;align-items:center;gap:1rem}nav form{margin:0}a{color:var(--navy)}button{font:inherit;cursor:pointer}.link-button{border:0;background:none;color:var(--navy);text-decoration:underline;padding:.4rem}.shell{max-width:1120px;margin:2rem auto 4rem}.card{background:var(--paper);border-radius:16px;padding:clamp(1.2rem,4vw,2.2rem);box-shadow:var(--shadow)}.auth-card{max-width:520px;margin:3vh auto}.eyebrow{color:var(--amber);font-weight:700;font-size:.78rem;letter-spacing:.12em}.intro{color:var(--muted)}h1{color:var(--navy);line-height:1.2}form label{display:block;font-weight:700;margin:.9rem 0 .35rem}input[type=email],input[type=password]{display:block;width:100%;padding:.75rem;border:1px solid #b9c7cb;border-radius:8px;font:inherit}button.primary,.save-button{border:0;border-radius:8px;background:var(--navy);color:#fff;padding:.7rem 1rem;margin-top:1rem;font-weight:700}.form-foot{margin-top:1.2rem}.notice{padding:.8rem 1rem;margin-bottom:1rem;border-radius:8px;background:#eef5f6}.notice.error{background:#fff0ed;color:#873b2f}.notice.success{background:#eaf6ed;color:#28613c}.admin-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.admin-card{padding:0;overflow:hidden}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:.9rem 1rem;border-bottom:1px solid var(--line)}th{background:#f7f9f9;color:var(--navy)}.role{display:block;color:var(--muted);font-size:.82rem}.badge{display:inline-block;padding:.2rem .55rem;border-radius:99px;background:#eee;font-size:.85rem}.badge.active{background:#e7f5e9;color:#28613c}.badge.pending{background:#fff4df;color:#78531a}.access-form{display:flex;align-items:center;gap:.8rem}.access-form label{margin:0}.check-label{display:flex;align-items:center;gap:.35rem}.save-button{margin:0;padding:.45rem .75rem}.admin-note,footer{color:var(--muted);font-size:.88rem}footer{text-align:center;padding-top:1rem;padding-bottom:2rem}@media(max-width:650px){.topbar{align-items:flex-start;padding-top:.8rem;padding-bottom:.8rem}.shell{margin-top:1rem}.admin-card td,.admin-card th{padding:.65rem}.access-form{flex-wrap:wrap}}
