:root{--nav:#112c43;--green:#087f79;background:#f2f5f9;color:#243c50;font-family:"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.5}body{background:#f2f5f9}button,.link{border-radius:9px;font-weight:500;transition:background .15s,box-shadow .15s,transform .15s}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #48adbd;outline-offset:3px}button.primary{background:#087f79;box-shadow:0 3px 8px #087f7915}button.primary:hover{background:#066b67}button.danger{background:#fff7f7;border-color:#f0cdd2}input,select,textarea{border-color:#d4dfe8;border-radius:8px;line-height:1.5}textarea{min-height:105px}input:hover,select:hover,textarea:hover{border-color:#97adbb}input:focus,select:focus,textarea:focus{outline:3px solid #0b918421;border-color:#138c84}label{font-weight:500;color:#526878}h1{font-weight:650;font-size:28px;letter-spacing:.3px}h2{font-weight:600}aside{padding:30px 17px;background:linear-gradient(175deg,#173952,#0e263b);position:sticky;top:0;height:100vh}.brand{font-size:19px;line-height:1.65}.brand .mark{width:45px;height:45px;background:#147f7b;border:1px solid #75c6bd44;margin-bottom:17px}.brand small{font-size:12px;letter-spacing:3px;margin-top:9px}nav{gap:7px}nav button{font-size:15px;letter-spacing:.4px;padding:14px 15px;border:1px solid transparent}nav button:hover{background:#ffffff0d;color:white}nav button.active{background:#ffffff13;border:1px solid #ffffff14;box-shadow:inset 3px 0 #53d2bd;color:white}aside footer{border-top:1px solid #ffffff12;padding-top:20px}.topbar{padding:18px 36px;background:#ffffffdd}.content{max-width:1600px;margin:auto;padding:30px 36px}.content>.notice:first-child{font-size:13px;padding:8px 0;background:none;border:0;color:#648091;margin:0 0 18px}.heading{margin-bottom:26px}.heading .muted{line-height:1.8}.card,.panel{border:1px solid #e0e7ee;box-shadow:0 3px 14px #173f5b04;border-radius:14px}.card{position:relative;padding:24px;overflow:hidden}.card:first-child{border-top:1px solid #e0e7ee;background:#eaf6f4}.card strong{font-variant-numeric:tabular-nums;letter-spacing:-.6px;font-size:30px;margin:13px 0}.card span{font-size:14px}.card:before{content:'';display:block;width:28px;height:3px;background:#23998d;margin-bottom:15px;border-radius:3px}.card:nth-child(2):before{background:#3979bd}.card:nth-child(3):before{background:#ce9340}.card:nth-child(4):before{background:#7867a8}.panel>h2,.panel>.row>h2{font-size:18px}.panel{padding:24px;margin-bottom:24px}.tablewrap{border:1px solid #e9eef2;border-radius:10px}th{background:#f6f8fb;color:#627989;font-size:13px;padding:14px 16px}td{padding:17px 16px;color:#2c4658}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fbfd}td:first-child strong{font-weight:600}td .sub{font-size:13px;color:#7b8c98}.badge{font-size:13px;border-radius:5px;padding:4px 9px}.filters{background:#f7f9fb;border-radius:10px;padding:14px;margin-bottom:20px}.filters input,.filters select{background:white}.empty{padding:40px 25px;color:#8595a2;font-size:14px}.notice{background:#eaf5f3;border:1px solid #d7ece6;border-radius:9px}.profiletabs{position:sticky;top:-28px;z-index:2;background:white;padding:16px 0;gap:8px}.profiletabs button{border:0;background:#f3f6f9;color:#526c7e}.profiletabs button.primary{background:#0a827a;color:white}.detailgrid{gap:0;border:1px solid #e6edf2;border-radius:10px;overflow:hidden}.detailgrid>div{padding:17px 20px;border-bottom:1px solid #edf1f4}.detailgrid label{font-size:13px;color:#81909d;margin-bottom:5px}.detailvalue{font-size:15px}.recordcard{border-radius:12px;padding:20px;background:white}.formsection{border:1px solid #e0e8ef;border-radius:11px;padding:0;overflow:visible}.formsection>summary{background:#f5f8fa;padding:16px 18px;list-style-position:inside;border-radius:10px;color:#3a596e;font-size:15px}.formsection[open]>summary{border-bottom:1px solid #e6edf2;border-radius:10px 10px 0 0}.formsection>.formgrid,.formsection>#contactRows,.formsection>p{padding:0 20px}.formsection>.formgrid{padding-bottom:20px}.formsection>#addContact{margin:0 20px 20px}.contact-row{background:#fafcfd}.checkgroup label{font-weight:400;background:#f3f7fa;border:1px solid #e1e9ee;padding:8px 12px;border-radius:7px;margin-right:8px}.checkgroup label:has(input:checked){background:#e5f4ef;border-color:#8dc7b9;color:#156c59}dialog{padding:28px;border:1px solid #dae4eb;border-radius:16px;box-shadow:0 24px 100px #0d293744}dialog::backdrop{background:#0b233969;backdrop-filter:blur(3px)}#editForm>.actions{position:sticky;bottom:-28px;background:#fff;border-top:1px solid #e6edf2;margin:24px -28px -28px;padding:18px 28px;z-index:3}.formhelp{font-size:14px;background:#f4f8fb;color:#637e91;padding:14px;border-radius:8px}.workbrief{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding:20px 24px;border-radius:12px;background:#fff;border:1px solid #e0e8ef}.workbrief h2{margin:0 0 5px;font-size:20px}.workbrief p{margin:0;color:#6b8190;font-size:14px}.workbrief .datepill{padding:9px 14px;background:#f0f5fa;border-radius:8px;color:#526d81;font-size:14px}.quality-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #edf1f5}.quality-row:last-child{border:0}.quality-row strong{font-size:15px;display:block}.quality-row small{color:#8394a0;font-size:13px}.section-anchor{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.section-anchor button{font-size:13px;padding:7px 10px;background:#f2f6f9;border:0}.unsaved{padding:16px;margin:16px 0;background:#fff5e5;border:1px solid #e8c691;border-radius:8px}.backup-note{padding:14px;background:#f4f7fa;border-radius:8px;font-size:14px}.loginIntro{background:linear-gradient(140deg,#153b54,#0b263e)}.loginForm form{background:white;border:1px solid #e0e7ee;border-radius:18px;padding:34px;width:420px;box-shadow:0 18px 55px #193c5008}.loginForm h1{font-size:26px}.loginForm{background:#f2f6fa}.loginIntro h1{font-size:32px}.loginIntro h2{font-size:23px;line-height:1.6}.row{align-items:center}.error:not(:empty){background:#fff1f1;padding:12px;border-radius:7px}#deleteProgress{font-size:20px;font-weight:600;color:#8e4550}@media(min-width:1400px){.layout{grid-template-columns:250px minmax(0,1fr)}}@media(max-width:900px){.content{padding:24px}.card strong{font-size:25px}.topbar{padding:16px 24px}.workbrief{align-items:flex-start;gap:10px}}@media(max-width:700px){aside{position:static;height:auto;padding:18px}.brand{padding:0}.brand br{display:none}.content{padding:16px}.topbar{padding:14px}.card,.panel{padding:17px}.card strong{font-size:23px}.filters{padding:10px}.workbrief{padding:16px;display:block}.workbrief .datepill{display:inline-block;margin-top:12px}dialog{padding:20px}#editForm>.actions{bottom:-20px;margin-left:-20px;margin-right:-20px;margin-bottom:-20px;padding:15px 20px}.profiletabs{top:-20px}.loginForm form{padding:24px;width:100%}.loginIntro{padding:30px}.loginIntro h1{font-size:23px}.section-anchor{gap:5px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Association sign-in */
.signin-page{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px 28px 28px;background:radial-gradient(ellipse at 15% 10%,#deebeefa,transparent 55%),#eff3f7}.signin-shell{width:min(100%,1060px);display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 24px 80px #15384c12,0 2px 8px #15384c06;border:1px solid #dce5eb;min-height:570px}.signin-brand{padding:40px 42px 32px;background:linear-gradient(150deg,#173f57 0%,#102d43 80%);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.signin-identity{display:flex;align-items:center;gap:13px;font-size:17px;font-weight:600;letter-spacing:.4px}.signin-symbol{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border:1px solid #ffffff30;background:#ffffff0d;border-radius:12px;color:#83d3c3;font-size:30px}.signin-title{padding:48px 0 54px}.signin-eyebrow{font-size:14px;color:#a6c1ce;letter-spacing:2px}.signin-title h1{font-size:36px;font-weight:600;letter-spacing:2px;line-height:1.4;margin:16px 0 24px;color:#fff}.signin-title p{font-size:18px;line-height:1.9;color:#c3d5df;margin:0}.signin-rule{height:3px;width:40px;background:#63baa9;margin:30px 0 20px;border-radius:3px}.signin-caption{font-size:13px;color:#a4c0cb;letter-spacing:1px}.signin-brand footer{font-size:12px;color:#9bb7c6}.signin-formpanel{padding:52px 56px 30px;display:flex;flex-direction:column;justify-content:center}.signin-formheading{margin-bottom:32px}.signin-formheading h2{font-size:27px;line-height:1.4;color:#1a3548;margin:0 0 9px}.signin-formheading p{font-size:14px;color:#7b8d9b;margin:0}.signin-formpanel label{font-size:14px;font-weight:500;color:#40586a;margin:22px 0 9px}.signin-formpanel input{height:50px;border-radius:8px;border:1px solid #d9e2e8;padding:12px 14px;background:#fbfcfd;font-size:15px}.signin-formpanel input::placeholder{color:#9aa8b4}.signin-password{position:relative}.signin-password input{padding-right:66px}.signin-password button{position:absolute;right:6px;top:6px;height:38px;padding:6px 10px;border:0;background:transparent;font-size:13px;color:#597586;font-weight:400}.signin-password button:hover{background:#eef4f6}.signin-formpanel #signinSubmit{width:100%;height:50px;margin-top:14px;background:#137e77;border:0;border-radius:8px;font-size:16px;letter-spacing:2px;box-shadow:0 6px 14px #137e7715}.signin-formpanel #signinSubmit:hover{background:#0c6b66}.signin-help{padding-top:22px;color:#788c99;font-size:13px;line-height:1.8}.signin-help details{margin-top:13px;border-top:1px solid #edf1f4;padding-top:13px}.signin-help summary{font-size:13px;color:#557586;list-style-position:inside}.signin-help p{font-size:13px;background:#f5f8fa;padding:12px;border-radius:6px;margin:10px 0 0;line-height:1.8}.signin-private{font-size:12px;color:#96a4ae;text-align:center;margin:32px 0 0}.signin-footer{color:#8b9ca8;font-size:12px;letter-spacing:1px;margin-top:25px}.signin-caps{font-size:13px;color:#a77725;margin:10px 0}.signin-caps[hidden]{display:none}.signin-page .error:empty{display:none}.signin-page .error:not(:empty){margin:14px 0 0;font-size:13px}@media(max-width:850px){.signin-brand{padding:35px 28px}.signin-formpanel{padding:38px 32px 28px}.signin-identity{font-size:15px;gap:10px}.signin-title h1{font-size:30px}}@media(max-width:640px){.signin-page{padding:24px 16px;justify-content:flex-start}.signin-shell{display:block;border-radius:16px;min-height:0;max-width:430px}.signin-brand{padding:24px}.signin-identity{font-size:16px}.signin-symbol{width:36px;height:36px;font-size:26px}.signin-title{padding:24px 0 0}.signin-title h1{font-size:26px;margin:6px 0 0}.signin-title p,.signin-rule,.signin-caption,.signin-brand footer,.signin-eyebrow{display:none}.signin-formpanel{padding:28px 26px 24px}.signin-formheading{margin-bottom:24px}.signin-formheading h2{font-size:23px}.signin-private{margin-top:24px}.signin-footer{margin-top:18px}}@media(max-height:720px) and (min-width:641px){.signin-page{padding-top:24px}.signin-shell{min-height:510px}.signin-title{padding:32px 0}.signin-formpanel{padding-top:36px;padding-bottom:26px}}
/* Focused, single-card sign-in */
.signin-page{background:#f3f5f7;min-height:100svh;padding:48px 24px;justify-content:center}.signin-shell{display:block;width:460px;max-width:100%;min-height:0;border:1px solid #e2e7ec;border-radius:16px;background:#fff;box-shadow:0 16px 50px #26394b08;overflow:visible}.signin-brand{display:block;padding:34px 36px 25px;background:none;color:#173a52;border-bottom:1px solid #edf0f3;border-radius:16px 16px 0 0}.signin-identity{display:flex;align-items:center;justify-content:flex-start;gap:12px;letter-spacing:0}.signin-symbol{width:38px;height:38px;border:1px solid #d9e9e5;background:#eef7f4;color:#197b70;border-radius:10px;font-size:27px}.signin-identity h1{font-size:21px;line-height:1.5;letter-spacing:0;font-weight:600;margin:0;color:#1b394d}.signin-systemname{font-size:14px;color:#7e8e9c;margin:8px 0 0 50px;letter-spacing:1px}.signin-formpanel{padding:28px 36px 30px;display:block}.signin-formheading{margin-bottom:23px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}.signin-formheading h2{font-size:20px;font-weight:600;margin:0;color:#243f52}.signin-formheading p{font-size:13px;color:#8293a0;margin:0}.signin-formpanel label{font-size:14px;color:#4c6373;margin:19px 0 8px}.signin-formpanel input{height:48px;background:#fff;border:1px solid #dbe3e9;border-radius:7px;font-size:15px}.signin-formpanel input:focus{border-color:#5a9c91;outline:3px solid #eaf4f0}.signin-formpanel #signinSubmit{height:48px;border-radius:7px;background:#176d64;box-shadow:none;font-size:15px;letter-spacing:1px;margin-top:24px}.signin-formpanel #signinSubmit:hover{background:#125a53}.signin-password button{top:5px}.signin-help{padding-top:19px;font-size:12px;color:#8b98a2;text-align:center}.signin-help details{margin-top:20px;padding-top:16px;text-align:left}.signin-help summary{font-size:12px;color:#8999a5}.signin-help p{font-size:13px;text-align:left}.signin-footer{margin-top:24px;letter-spacing:0;font-size:12px;color:#99a4ad;text-align:center}.signin-caps{margin-bottom:0}@media(max-width:640px){.signin-page{padding:24px 18px;justify-content:center}.signin-shell{max-width:420px}.signin-brand{padding:28px 25px 22px}.signin-formpanel{padding:25px}.signin-identity h1{font-size:18px}.signin-identity{gap:10px}.signin-symbol{width:34px;height:34px;font-size:25px}.signin-systemname{margin-left:44px;font-size:13px}.signin-formheading h2{font-size:19px}.signin-formheading p{font-size:12px}.signin-footer{font-size:11px}}@media(max-height:680px){.signin-page{justify-content:flex-start;padding-top:24px;padding-bottom:24px}.signin-brand{padding-top:25px;padding-bottom:20px}.signin-formpanel{padding-top:22px;padding-bottom:24px}}
