:root{color:#25384d;font-synthesis:none;background:#f1f4f7;font-family:Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:1180px;margin:0}button,input,select{font:inherit}button{cursor:pointer}input::placeholder{color:#a9b5b0;opacity:1;font-weight:400}.system-shell{min-height:100vh;display:flex}.sidebar{color:#e8f2ee;z-index:2;background:#173a34;width:224px;position:fixed;inset:0 auto 0 0;box-shadow:3px 0 12px #15352f24}.system-brand{border-bottom:1px solid #ffffff17;align-items:center;gap:12px;height:76px;padding:0 18px;display:flex}.system-brand strong,.system-brand span{display:block}.system-brand strong{letter-spacing:1px;font-size:16px}.system-brand span{color:#bbd1ca;margin-top:3px;font-size:13px}.seal{color:#fff;background:#2f8468;border-radius:50%;place-items:center;width:54px;height:54px;font-family:serif;font-size:26px;font-weight:700;display:grid;box-shadow:inset 0 0 0 3px #ffffff75}.seal.small{flex:0 0 42px;width:42px;height:42px;font-size:20px}.sidebar nav{gap:5px;padding:18px 10px;display:grid}.sidebar nav button{color:#c9dbd5;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:12px;padding:11px 13px;font-size:14px;display:flex}.sidebar nav button.active{color:#fff;background:#2b725d;font-weight:700}.sidebar nav i{border:1px solid #ffffff42;border-radius:5px;place-items:center;width:25px;height:25px;font-size:12px;font-style:normal;display:grid}.workspace{width:calc(100% - 224px);margin-left:224px}.topbar{background:#fff;border-bottom:1px solid #dae2e8;justify-content:space-between;align-items:center;height:76px;padding:0 26px;display:flex}.topbar h1{margin:0;font-size:21px}.topbar>div:first-child{align-items:baseline;gap:12px;display:flex}.topbar>div:first-child span{color:#8090a0;font-size:13px}.user-area{color:#52667b;align-items:center;gap:10px;font-size:14px;display:flex}.content-area{padding:20px 24px 40px}.filter-card,.result-card,.module-page{background:#fff;border:1px solid #d9e1e8;border-radius:7px;box-shadow:0 2px 7px #29465d0a}.filter-card{padding:18px}.filter-grid{gap:14px;display:grid}.primary-filters{grid-template-columns:repeat(4,minmax(160px,1fr))}.more-filters{border-top:1px dashed #dce4ea;grid-template-columns:repeat(4,minmax(160px,1fr));margin-top:17px;padding-top:17px}.filter-card label,.password-dialog label,.login-card label{color:#45596d;gap:6px;font-size:13px;font-weight:600;display:grid}.filter-card input,.filter-card select,.password-dialog input,.login-card input{color:#24394d;background:#fff;border:1px solid #cbd6df;border-radius:5px;outline:none;min-width:0;height:36px;padding:0 10px}.filter-actions{border-top:1px solid #edf1f4;justify-content:space-between;align-items:center;margin-top:17px;padding-top:14px;display:flex}.filter-actions>div{gap:8px;display:flex}.expand-button{color:#26755e;background:0 0;border:0;padding:5px 0;font-size:13px}button{border:1px solid #0000;border-radius:5px;padding:8px 14px;font-size:13px;font-weight:600}.primary{color:#fff;background:#28775e}.secondary,.quiet{color:#31546d;background:#fff;border-color:#cbd6df}.primary:disabled,.secondary:disabled{opacity:.5;cursor:not-allowed}.full{width:100%;height:40px;margin-top:4px}.result-card{margin-top:16px;overflow:hidden}.result-title{border-bottom:1px solid #e2e8ed;justify-content:space-between;align-items:center;padding:15px 17px;display:flex}.result-title h2{margin:0;font-size:17px}.result-title span{color:#77889a;font-size:13px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:1000px;font-size:13px}th{color:#526679;white-space:nowrap;background:#f6f8fa}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e5ebef;padding:11px 10px}td{color:#33495e}.name-cell{color:#183e35;font-weight:700}.policies{color:#356f5c;max-width:330px;line-height:1.55}.status-tag{color:#276950;background:#e3f2ec;border-radius:9px;padding:2px 7px;display:inline-block}.link-button{color:#22765b;background:0 0;border:0;padding:0}.empty{color:#8292a2;text-align:center;padding:28px}.pager{color:#718396;justify-content:space-between;align-items:center;padding:13px 17px;font-size:13px;display:flex}.pager>div{gap:8px;display:flex}.message{border-radius:5px;padding:10px 12px;font-size:13px}.error{color:#a03939;background:#fff2f2;border:1px solid #efd0d0}.module-page{min-height:230px;margin:20px 24px;padding:28px}.module-title{align-items:center;gap:15px;display:flex}.module-title>span{color:#28775e;background:#e3f0eb;border-radius:8px;place-items:center;width:44px;height:44px;font-weight:700;display:grid}.module-title h2{margin:0;font-size:20px}.dialog-mask{z-index:10;background:#1129237d;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.archive-dialog{background:#fff;border-radius:9px;width:min(1040px,92vw);max-height:92vh;overflow:hidden;box-shadow:0 18px 50px #132f2860}.archive-dialog>header,.password-dialog>header{background:#f8faf9;border-bottom:1px solid #dce4e9;justify-content:space-between;align-items:flex-start;padding:18px 22px;display:flex}.archive-dialog header p{color:#398069;letter-spacing:2px;margin:0 0 3px;font-size:12px;font-weight:700}.archive-dialog header h2,.password-dialog header h2{margin:0;font-size:22px}.dialog-close{color:#637587;background:0 0;border:0;padding:0 5px;font-size:27px;font-weight:400}.archive-body{max-height:calc(92vh - 78px);padding:21px 23px 28px;overflow:auto}.archive-body h3{color:#294b42;border-left:3px solid #328067;margin:2px 0 12px;padding-left:9px;font-size:16px}.archive-grid{grid-template-columns:repeat(4,1fr);gap:0 18px;margin-bottom:22px;display:grid}.archive-grid p{color:#32485d;overflow-wrap:anywhere;border-bottom:1px solid #ebeff2;min-width:0;margin:0;padding:9px 3px;font-size:13px}.archive-grid p span{color:#8795a3;margin-bottom:4px;font-size:11px;display:block}.archive-grid .wide{grid-column:span 2}.policy-list{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px;display:grid}.policy-list article{background:#fbfdfc;border:1px solid #dfe7e4;border-radius:6px;padding:13px 14px}.policy-list article>div{justify-content:space-between;gap:10px;display:flex}.policy-list strong{color:#225b49}.policy-list article>div>span{color:#7a8b85;font-size:12px}.policy-list dl{flex-wrap:wrap;gap:8px 20px;margin:10px 0 0;display:flex}.policy-list dl div{gap:6px;font-size:12px;display:flex}.policy-list dt{color:#8a9894}.policy-list dd{color:#405750;margin:0}.qualification-list{flex-wrap:wrap;gap:7px;margin-bottom:20px;display:flex}.qualification-list span{color:#496072;background:#edf3f6;border-radius:4px;padding:5px 9px;font-size:12px}.source-details{color:#647587;border-top:1px dashed #dbe2e7;padding-top:14px;font-size:13px}.source-details summary{cursor:pointer}.source-details .archive-grid{margin:10px 0 0}.password-dialog{background:#fff;border-radius:8px;width:410px;overflow:hidden;box-shadow:0 15px 45px #132f2860}.password-dialog form{gap:15px;padding:20px 22px;display:grid}.password-dialog form>div{justify-content:flex-end;gap:8px;display:flex}.password-dialog .message{color:#28614f;background:#eef6f2;margin:0}.login-page{background:linear-gradient(135deg,#e4eee9,#edf2f6);place-items:center;min-height:100vh;display:grid}.login-card{text-align:center;background:#fff;border-radius:11px;width:430px;padding:38px 42px 42px;box-shadow:0 16px 44px #21483e20}.login-card .seal{margin:0 auto 14px}.login-card .brand-mark{color:#397963;letter-spacing:3px;margin:0 0 5px;font-size:13px;font-weight:700}.login-card h1{color:#203d35;margin:0 0 29px;font-size:23px}.login-card form{text-align:left;gap:17px;display:grid}@media (width<=1300px){.primary-filters,.more-filters{grid-template-columns:repeat(3,minmax(160px,1fr))}.archive-grid{grid-template-columns:repeat(3,1fr)}}:root{color:#29443c;background:#f3f8f5}.sidebar{color:#315a4d;background:#eef8f3;border-right:1px solid #d5e8df;box-shadow:3px 0 14px #315f5010}.system-brand{background:#f8fcfa;border-bottom-color:#d9eae3}.system-brand img{object-fit:contain;width:43px;height:43px}.system-brand strong{color:#22483c}.system-brand span{color:#6e8b81}.sidebar nav button{color:#506d64}.sidebar nav button:hover{color:#23624e;background:#e2f2eb}.sidebar nav button.active{color:#176348;background:#d9eee5}.sidebar nav i{color:#4b806d;border:0;width:27px;height:27px}.sidebar nav i svg{width:19px;height:19px}.sidebar nav button.active i{color:#187052}.workspace{background:#f4f8f6}.topbar{background:#fbfdfc;border-bottom-color:#dce9e3}.topbar h1{color:#294b40}.primary{background:#3b9a76}.primary:hover{background:#318666}.secondary,.quiet{color:#3a6759;border-color:#cddfd7}.secondary:hover,.quiet:hover{background:#f0f8f4}.filter-card,.result-card,.module-page{border-color:#dce8e2;box-shadow:0 3px 12px #315b4b0c}.filter-card input:focus,.filter-card select:focus,.password-dialog input:focus,.login-card input:focus{border-color:#58a688;box-shadow:0 0 0 2px #dff1e9}.filter-actions button svg{vertical-align:-3px;width:15px;height:15px;margin-right:5px}.more-button{color:#33745e;background:#f1f9f5;border:1px solid #bcd9cd;border-radius:5px;align-items:center;padding:7px 12px;display:flex}.more-button:hover{background:#e5f4ed}.range-field{grid-column:span 2}.range-field>div{grid-template-columns:1fr 22px 1fr;align-items:center;gap:4px;display:grid}.range-field>div span{color:#71877f;text-align:center;font-weight:400}.search-select{display:flex;position:relative}.search-select>input{width:100%;padding-right:34px}.search-select>button{color:#638278;background:#fff;border:0;width:32px;height:34px;padding:0;font-size:19px;position:absolute;top:1px;right:1px}.select-panel{z-index:8;background:#fff;border:1px solid #cddfd7;border-radius:6px;max-height:280px;padding:5px;position:absolute;top:40px;left:0;right:0;overflow:auto;box-shadow:0 10px 25px #2b564724}.select-panel button{color:#35564c;text-align:left;background:#fff;justify-content:space-between;gap:10px;width:100%;height:auto;padding:8px 9px;font-weight:400;display:flex;position:static}.select-panel button:hover{background:#edf7f2}.select-panel small{color:#879a94;flex:none}.result-title>div{align-items:center;gap:12px;display:flex}.result-title>div span{border-left:1px solid #dce5e1;padding-left:12px}.pager>div:empty{display:none}.status-tag{color:#267052;background:#e3f3eb}.module-title>span{color:#348064;background:#e1f2ea}.module-title>span svg{width:22px;height:22px}.login-page{background:linear-gradient(145deg,#edf8f3,#f6faf8 55%,#e5f3ec)}.login-card{border:1px solid #d8e9e1;box-shadow:0 18px 50px #315d4d1a}.login-logo{object-fit:contain;width:82px;height:82px;margin:0 auto 12px;display:block}.login-card .brand-mark{color:#4d806e}.login-card h1{color:#284b40}.dialog-mask{background:#23413966}.archive-dialog{border:1px solid #d5e5de;box-shadow:0 20px 55px #284b3f42}.archive-dialog>header{background:#f2f8f5}.archive-body{background:#fbfdfc}.archive-section{background:#fff;border:1px solid #e0ebe6;border-radius:7px;margin-bottom:18px;padding:16px 17px 5px}.archive-body h3{border-left-color:#57a486}.assessment-grid{grid-template-columns:repeat(4,1fr);margin-bottom:12px;display:grid}.assessment-grid p{border-bottom:1px solid #edf2ef;margin:0;padding:8px 5px;font-size:13px}.assessment-grid p span{color:#879a93;margin-bottom:4px;font-size:11px;display:block}.department-tabs{border-bottom:1px solid #e2ebe7;gap:5px;margin:-2px 0 13px;display:flex}.department-tabs button{color:#657d74;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:8px 13px;font-weight:400}.department-tabs button.active{color:#277257;border-bottom-color:#3d9875;font-weight:700}.policy-list article{background:#f9fcfa;border-color:#dceae4}.password-dialog>header{background:#f3f8f5}.happiness-intro{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.happiness-intro h2{color:#294b40;margin:0 0 7px;font-size:20px}.happiness-intro p{color:#71877f;margin:0;line-height:1.7}.happiness-intro>span{color:#197454;background:#e3f4ec;border-radius:18px;flex:none;padding:7px 13px;font-size:13px;font-weight:700}.happiness-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.required{color:#c95849;margin-left:6px;font-size:12px;font-weight:500}.scope-hint{color:#71877f;align-self:center;font-size:13px}.happiness-filters label>span{margin-bottom:6px;display:block}.happiness-filters .year-range{grid-column:span 2}.year-range>div{grid-template-columns:1fr 20px 1fr;align-items:center;gap:5px;display:grid}.year-range b{color:#71877f;text-align:center;font-size:13px;font-weight:400}.policy-check{align-items:center;color:#3e6457!important;gap:8px!important;font-size:13px!important;font-weight:600!important;display:flex!important}.policy-check input{accent-color:#3b9a76;width:16px;height:16px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:20px 18px 10px;display:grid}.summary-grid article{background:linear-gradient(145deg,#f9fdfb,#eff8f3);border:1px solid #dcece4;border-radius:10px;padding:18px}.summary-grid article span,.summary-grid article small{color:#71877f;display:block}.summary-grid article strong{color:#197454;margin:8px 0 4px;font-size:27px;display:block}.scope-confirm{color:#71877f;background:#f5faf7;border-radius:8px;align-items:center;gap:9px;margin:10px 18px 18px;padding:13px 15px;display:flex}.scope-confirm strong{color:#29443c;margin-right:5px}.scope-confirm span{color:#236b52;background:#fff;border:1px solid #cfe7db;border-radius:14px;padding:4px 9px;font-size:12px}.sample-note{color:#71877f;border-top:1px solid #dce8e2;margin:0;padding:13px 18px;font-size:13px}.archive-dialog header h2 em{color:#b36a37;vertical-align:middle;margin-left:9px;font-size:14px;font-style:normal;font-weight:600}@media (width<=1100px){.happiness-filters,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.management-page{max-width:1680px}.module-heading h2,.module-banner h2,.card-heading h2{color:#294b40;margin:0;font-size:18px}.module-heading p,.module-banner p{color:#71877f;margin:6px 0 0;font-size:13px;line-height:1.65}.module-banner{background:#fff;border:1px solid #dce8e2;border-radius:7px;justify-content:space-between;align-items:center;gap:20px;padding:19px 21px;display:flex;box-shadow:0 3px 12px #315b4b0c}.module-message{color:#356253;background:#edf7f2;border:1px solid #d4e9df;margin:14px 0 0}.management-filters{grid-template-columns:repeat(4,minmax(160px,1fr));margin-top:17px}.log-filters{grid-template-columns:repeat(2,minmax(220px,320px));margin-top:17px}.management-grid{grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:16px;display:grid}.management-grid>.result-card{margin-top:16px}.editor-card{background:#fff;border:1px solid #dce8e2;border-radius:7px;margin-top:16px;padding:18px;box-shadow:0 3px 12px #315b4b0c}.card-heading{border-bottom:1px solid #e6eee9;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.form-stack{gap:13px;margin-top:15px;display:grid}.form-stack>label,.form-grid label{color:#455f56;gap:6px;font-size:13px;font-weight:600;display:grid}.form-stack input,.form-stack select,.form-grid input,.form-grid select{color:#29443c;background:#fff;border:1px solid #cbdcd4;border-radius:5px;outline:none;width:100%;min-width:0;height:36px;padding:0 10px}.form-stack input:focus,.form-stack select:focus,.form-grid input:focus,.form-grid select:focus{border-color:#58a688;box-shadow:0 0 0 2px #dff1e9}.member-picker{position:relative}.member-options{z-index:8;background:#fff;border:1px solid #cadfd5;border-radius:6px;max-height:240px;padding:5px;position:absolute;top:40px;left:0;right:0;overflow:auto;box-shadow:0 10px 25px #2b564724}.member-options button{color:#35564c;text-align:left;background:#fff;gap:3px;width:100%;padding:8px;font-weight:400;display:grid}.member-options button:hover{background:#edf7f2}.member-options span{color:#82958d;font-size:12px}.row-actions{white-space:nowrap}.row-actions button+button{margin-left:10px}.danger-link{color:#b05248}.two-column{grid-template-columns:1fr 1fr;gap:16px;display:grid}.upload-box{text-align:center;background:#f7fbf9;border:1px dashed #aacdbc;border-radius:7px;gap:12px;margin-top:15px;padding:22px;display:grid}.upload-box input{border:0;height:auto;padding:0}.upload-box p{color:#71877f;margin:0;font-size:13px}.upload-box>div{justify-content:center;gap:8px;display:flex}.import-result{flex-wrap:wrap;gap:9px;margin-top:14px;display:flex}.import-result>span{color:#668077;text-align:center;background:#eff7f3;border-radius:6px;min-width:78px;padding:9px;font-size:12px}.import-result strong{color:#237052;margin-top:4px;font-size:18px;display:block}.import-result ul{color:#a04740;background:#fff4f3;width:100%;max-height:150px;margin:4px 0 0;padding:10px 10px 10px 30px;font-size:12px;overflow:auto}.snapshot-box{border-top:1px solid #e5eee9;justify-content:space-between;align-items:center;gap:12px;margin-top:17px;padding:14px;display:flex}.snapshot-box p{color:#748b82;margin:5px 0 0;font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:13px;margin-top:15px;display:grid}.form-grid .span-two{grid-column:span 2}.card-actions{justify-content:flex-end;margin-top:16px;display:flex}.switch-line,.check-line{align-items:center;gap:8px!important;font-weight:400!important;display:flex!important}.switch-line input,.check-line input{accent-color:#3b9a76;width:16px;height:16px}.form-stack fieldset{border:1px solid #dce8e2;border-radius:6px;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:12px;display:grid}.form-stack legend{color:#455f56;padding:0 5px;font-size:13px;font-weight:600}.reset-password{border-top:1px solid #e6eee9;gap:8px;padding-top:12px;display:flex}.reset-password button{flex:none}.mini-upload{gap:10px;margin-top:14px;display:grid}.mini-upload input{color:#526b62;width:100%;font-size:12px}.mini-upload p{color:#7b8f88;margin:0;font-size:12px}.mini-upload>div{gap:8px;display:flex}.mini-upload ul{color:#a04740;background:#fff4f3;max-height:120px;margin:0;padding:9px 9px 9px 26px;font-size:12px;overflow:auto}.form-dialog{background:#fff;border:1px solid #d5e5de;border-radius:9px;width:min(620px,92vw);max-height:90vh;padding:0 20px 20px;overflow:auto;box-shadow:0 20px 55px #284b3f42}.form-dialog>header{background:#f3f8f5;border-bottom:1px solid #dce8e2;justify-content:space-between;align-items:center;margin:0 -20px 16px;padding:16px 20px;display:flex}.form-dialog>header h2{color:#294b40;margin:0;font-size:19px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.import-summary{grid-template-columns:repeat(4,1fr);gap:8px;display:grid!important}.import-summary span{color:#356253;text-align:center;background:#edf7f2;border-radius:5px;padding:9px 6px;font-size:12px}.banner-actions{gap:9px;display:flex}.member-import-layout{grid-template-columns:minmax(0,1fr) 390px;align-items:center;gap:20px;display:grid}.member-import-layout .snapshot-box{background:#f8fbf9;border:1px solid #e1ece7;border-radius:7px;margin:0}.list-search{gap:8px;display:flex}.list-search input{color:#29443c;border:1px solid #cbdcd4;border-radius:5px;outline:none;width:280px;height:36px;padding:0 10px}.list-search input:focus{border-color:#58a688;box-shadow:0 0 0 2px #dff1e9}.member-editor-dialog{width:min(1080px,100vw - 48px);max-height:92vh;padding-bottom:0;overflow:hidden}.member-editor-dialog>header{margin-bottom:0}.member-editor-dialog>header p{color:#72877f;margin:5px 0 0;font-size:12px}.member-editor-body{max-height:calc(92vh - 76px);padding:18px 3px 20px;overflow:auto}.member-editor-body fieldset{border:1px solid #dce9e3;border-radius:7px;margin:0 0 16px;padding:13px 15px 16px}.member-editor-body legend{color:#2f6d58;padding:0 7px;font-size:14px;font-weight:700}.member-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px 15px;display:grid}.member-form-grid label{color:#455f56;gap:6px;font-size:13px;font-weight:600;display:grid}.member-form-grid input,.member-form-grid select{color:#29443c;background:#fff;border:1px solid #cbdcd4;border-radius:5px;outline:none;width:100%;min-width:0;height:36px;padding:0 10px}.member-form-grid input:focus,.member-form-grid select:focus{border-color:#58a688;box-shadow:0 0 0 2px #dff1e9}.member-form-grid .span-two{grid-column:span 2}.sticky-actions{background:#fff;border-top:1px solid #dce8e2;margin:0 -3px -20px;padding:14px 4px 16px;position:sticky;bottom:-20px}.confirm-dialog{background:#fff;border:1px solid #e5d8d5;border-radius:9px;width:min(430px,92vw);overflow:hidden;box-shadow:0 20px 55px #3d282342}.confirm-dialog>header{background:#fbf7f6;border-bottom:1px solid #eadfdd;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.confirm-dialog h2{color:#5a3732;margin:0;font-size:18px}.confirm-dialog>div{padding:20px}.confirm-dialog p{color:#52645f;margin:0 0 20px;font-size:14px;line-height:1.75}.danger-button{color:#fff;background:#b65349}.danger-button:hover{background:#9d443c}.danger-button:disabled{opacity:.55}@media (width<=1350px){.management-grid{grid-template-columns:minmax(0,1fr) 320px}.two-column{grid-template-columns:1fr}.management-filters{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media (width<=1100px){.member-import-layout{grid-template-columns:1fr}.member-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
