:root{--ink: #006191;--ink-2: #006191;--paper: #ffffff;--paper-2: #ffffff;--line: rgba(0, 97, 145, .3);--line-soft: rgba(0, 97, 145, .15);--accent: #00adef;--accent-text: #006191;--muted: #006191;--muted-2: #006191;--good: #006191;--draft: #006191}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:IBM Plex Sans,sans-serif;background:var(--ink);color:var(--ink-2);-webkit-font-smoothing:antialiased}h1,h2,h3,.serif{font-family:"Source Serif 4",serif}button{font-family:inherit;cursor:pointer}a{color:inherit}#login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:380px;background:var(--paper-2);padding:44px 40px 36px;border-top:3px solid var(--accent)}.login-logo{width:96px;height:96px;object-fit:contain;margin:0 auto 20px;display:block}.login-card h1{font-size:22px;font-weight:500;text-align:center;margin:0 0 4px;letter-spacing:.2px}.login-sub{text-align:center;color:var(--muted);font-size:13px;margin:0 0 32px}.field{margin-bottom:18px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.field input{width:100%;padding:10px 12px;border:1px solid var(--line);background:var(--paper);font-size:14px;font-family:inherit;color:var(--ink-2)}.field input:focus{outline:none;border-color:var(--accent);background:var(--paper-2)}.login-btn{width:100%;padding:12px;background:var(--ink);color:var(--paper-2);border:none;font-size:14px;font-weight:500;letter-spacing:.3px;margin-top:8px}.login-btn:hover{background:var(--ink-2)}.login-foot{text-align:center;font-size:11.5px;color:var(--muted-2);margin-top:20px}.role-switch{display:flex;gap:8px;justify-content:center;margin-top:26px}.role-switch button{font-size:11px;padding:6px 10px;background:none;border:1px solid var(--line);color:var(--muted)}.role-switch button.active{border-color:var(--accent);color:var(--accent-text)}#app{display:none;min-height:100vh;background:var(--paper)}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:var(--ink);color:#fff;padding:26px 0 20px;display:flex;flex-direction:column}.brand{padding:0 22px 22px;border-bottom:1px solid rgba(255,255,255,.3);margin-bottom:18px}.brand-mark{font-family:"Source Serif 4",serif;font-size:17px;color:#fff;letter-spacing:.3px}.brand-logo{display:block;width:64px;height:64px;object-fit:contain;margin-bottom:12px}.brand-sub{font-size:10.5px;color:#fff;margin-top:3px;letter-spacing:.4px}.nav-label{font-size:10.5px;color:#fff;padding:0 22px;margin-bottom:8px;letter-spacing:.5px}.committee-list{flex:1;overflow-y:auto;padding:0 10px}.committee-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:13.5px;color:#fff;border-left:2px solid transparent;margin-bottom:2px}.committee-item:hover{background:#00adef33;color:#fff}.committee-item.active{background:#00adef33;border-left-color:var(--accent);color:#fff}.committee-count{font-size:11px;color:#fff}.sidebar-foot{padding:16px 22px 0;border-top:1px solid rgba(255,255,255,.3);margin-top:14px}.user-row{display:flex;align-items:center;gap:10px}.user-avatar{width:30px;height:30px;background:#ffffff4d;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.user-name{font-size:12.5px;color:#fff}.user-role{font-size:10.5px;color:#fff}.signout{background:none;border:none;color:#fff;font-size:11px;margin-top:12px;text-decoration:underline;padding:0}.main{padding:34px 44px 60px}.main-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px;border-bottom:1px solid var(--line);padding-bottom:18px}.eyebrow{font-size:11.5px;color:var(--muted-2);margin-bottom:6px}.main-head h2{font-size:24px;font-weight:500;margin:0}.upload-btn{background:var(--ink);color:var(--paper-2);border:none;padding:10px 18px;font-size:13px;font-weight:500}.upload-btn:hover{background:var(--ink-2)}table.register{width:100%;border-collapse:collapse}table.register thead th{text-align:left;font-size:11px;color:var(--muted);font-weight:500;letter-spacing:.2px;padding:0 14px 10px;border-bottom:1px solid var(--line)}table.register td{padding:16px 14px;font-size:13.5px;border-bottom:1px solid var(--line-soft);vertical-align:middle}table.register tbody tr:hover{background:var(--paper-2)}.seq{color:var(--muted-2);font-size:12px;width:34px}.doc-title{font-weight:500}.doc-sub{font-size:11.5px;color:var(--muted-2);margin-top:2px}.status{font-size:11px;padding:3px 9px;display:inline-block;border:1px solid}.status.signed{color:var(--good);border-color:var(--good)}.status.draft{color:var(--draft);border-color:var(--draft)}.row-actions button{background:none;border:1px solid var(--line);padding:6px 12px;font-size:12px;color:var(--ink-2)}.row-actions button:hover{border-color:var(--accent);color:var(--accent-text)}.empty-note{margin-top:60px;text-align:center;color:var(--muted-2);font-size:13px}.view-switch{display:flex;gap:4px;padding:0 12px 16px}.view-switch button{flex:1;background:none;border:1px solid rgba(255,255,255,.3);color:#006191;font-size:11px;padding:8px 6px}.view-switch button.active{border-color:var(--accent);color:#fff;background:#00adef33}.admin-toolbar{display:flex;gap:10px;margin-bottom:22px}.admin-toolbar input{flex:1;max-width:280px;padding:9px 12px;border:1px solid var(--line);background:var(--paper-2);font-size:13px;font-family:inherit}table.admin-table{width:100%;border-collapse:collapse}table.admin-table thead th{text-align:left;font-size:11px;color:var(--muted);font-weight:500;padding:0 14px 10px;border-bottom:1px solid var(--line)}table.admin-table td{padding:14px;font-size:13.5px;border-bottom:1px solid var(--line-soft);vertical-align:middle}table.admin-table tbody tr:hover{background:var(--paper-2)}.badge{display:inline-block;font-size:11px;padding:3px 8px;border:1px solid var(--line);color:var(--muted);margin:2px 3px 2px 0}.link-btn{background:none;border:none;color:var(--accent-text);font-size:12.5px;padding:0;text-decoration:underline}.committee-actions{white-space:nowrap}.committee-actions>*+*{margin-left:20px}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;max-height:200px;overflow-y:auto;padding:4px 2px}.checklist label{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-2)}.overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0061918c;align-items:center;justify-content:center;z-index:10}.modal{background:var(--paper-2);width:100%;max-width:420px;padding:30px 30px 26px;border-top:3px solid var(--accent)}.modal h3{font-size:17px;font-weight:500;margin:0 0 22px}.modal .field select,.modal .field input{width:100%;padding:10px 12px;border:1px solid var(--line);background:var(--paper);font-size:13.5px;font-family:inherit}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.btn-ghost{background:none;border:1px solid var(--line);padding:9px 16px;font-size:13px}.btn-solid{background:var(--ink);color:var(--paper-2);border:none;padding:9px 16px;font-size:13px}.shell{background:var(--paper)}a.committee-item{text-decoration:none}.view-switch a{flex:1;text-align:center;text-decoration:none;background:none;border:1px solid rgba(255,255,255,.3);color:#006191;font-size:11px;padding:8px 6px}.view-switch a.active{border-color:var(--accent);color:#fff;background:#00adef33}.main{min-width:0}.table-wrap{overflow-x:auto}.overlay{display:flex;padding:20px}.modal{max-height:90vh;overflow:auto}.error{color:#006191;background:#ee1c250f;border:1px solid #ee1c25;padding:12px;font-size:13px;margin:14px 0}.notice{color:var(--muted);font-size:12px;line-height:1.5}.sidebar-empty{padding:12px;color:#006191;font-size:13px}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.checklist input{accent-color:var(--accent)}.checklist label{margin:0}.row-actions{white-space:nowrap}.row-actions button+button{margin-left:6px}fieldset{border:1px solid var(--line);padding:12px}legend{font-size:12px;color:var(--muted)}@media(max-width:800px){.shell{grid-template-columns:200px 1fr}.main{padding:24px 20px}.main-head{align-items:flex-start;gap:16px}.main-head h2{font-size:22px}}@media(max-width:580px){.shell{display:block}.sidebar{padding-top:18px}.brand{padding-bottom:12px;margin-bottom:12px}.committee-list{max-height:160px}.sidebar-foot{padding-top:10px}.user-row{display:inline-flex}.signout{float:right}.main{padding:24px 16px}.main-head{flex-wrap:wrap}.checklist{grid-template-columns:1fr}.login-card{padding:32px 24px}}.view-switch{flex-wrap:wrap}.view-switch a{flex-basis:40%}.account-active{color:var(--good);border-color:var(--good)}.account-inactive{color:var(--muted);background:var(--paper)}:root{--navy: #006191;--sky-blue: #00adef;--red: #ee1c25;--white: #ffffff}.login-card,.modal{border-top-color:var(--sky-blue);border-bottom:3px solid var(--red)}.brand{border-top:3px solid var(--red);padding-top:16px}.view-switch a,.view-switch button,.sidebar-empty{color:var(--white)}.login-btn:hover,.upload-btn:hover,.btn-solid:hover{background:linear-gradient(#00adef1f,#00adef1f),var(--navy)}.field input,.modal .field input,.modal .field select,.account-inactive{background:#00adef0a}table.register tbody tr:hover,table.admin-table tbody tr:hover{background:#00adef0f}.btn-ghost{color:var(--navy)}.error{border-left:4px solid var(--red)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:var(--navy)}.sidebar :focus-visible{outline-color:var(--white)}.checklist input{accent-color:var(--navy)}.user-avatar{background:var(--white);color:var(--navy)}.dashboard-link{display:block;text-decoration:none}.dashboard-link:hover,.dashboard-link.active{color:var(--accent-text)}.password-link{display:block;text-decoration:none;margin-bottom:12px}.password-form{max-width:480px}.committee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}.committee-card{display:block;border:1px solid var(--line);padding:24px;color:var(--ink-2);text-decoration:none;background:#fff}.committee-card:hover,.committee-card:focus-visible{border-color:var(--accent);box-shadow:0 4px 14px #0000000d}.committee-card h3{margin:10px 0;overflow-wrap:anywhere}.committee-card p{color:var(--muted);font-size:13px;margin-bottom:24px}.committee-card>span:last-child{color:var(--accent-text);font-size:13px}
