body{background:#f7f8f4}.topbar{position:sticky;top:0;z-index:5;background:#fafbf8f5;backdrop-filter:blur(12px)}.console-link{font-size:12px;text-decoration:none;white-space:nowrap}.admin-layout{display:grid;grid-template-columns:218px minmax(0,1fr);max-width:1680px;margin:auto;min-height:calc(100vh - 76px)}.admin-sidebar{padding:36px 20px;border-right:1px solid var(--line);background:#f2f4ed;display:flex;flex-direction:column;min-width:0}.admin-sidebar>.section-kicker{margin:0 13px 26px}.admin-nav{display:grid;gap:7px}.admin-nav a{display:flex;align-items:center;gap:12px;padding:13px;border-radius:9px;color:#73816e;text-decoration:none;font-size:13px}.admin-nav a:hover{background:#e8eee1}.admin-nav a[aria-current]{background:#e2ebdb;color:#315e49;font-weight:600}.admin-nav a>span:first-child{font-size:19px;line-height:1}.nav-number{margin-left:auto;font-size:9px;letter-spacing:.08em;color:#98a68d}.node-summary{border-top:1px solid #e0e6d9;margin:32px 12px 0;padding-top:25px}.node-summary h2{font-size:11px;color:#8e9a84;font-weight:500}.admin-node{margin-top:17px}.admin-node>div{display:flex;align-items:center;gap:7px;font-size:12px;overflow-wrap:anywhere}.admin-node p{font-size:10px;color:#98a28f;margin:5px 0 0 13px}.admin-node.online .status-dot{background:#439a75}.sidebar-note{margin: auto 12px 0;padding-top:60px;color:#8e9e84}.sidebar-note .mini-mark{display:inline-block;padding:6px 10px}.sidebar-note p{font-size:11px;margin:14px 0}.sidebar-note a{font-size:10px;color:#869b78}.admin-main{padding:38px 46px 24px;min-width:0;max-width:1340px;width:100%;margin:auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:31px}.page-heading h1{font-size:30px;letter-spacing:-.04em;line-height:1.35;margin:11px 0;color:#2a493c;font-weight:550}.page-heading p{font-size:12px;color:#84907c;margin:0}.live-label{display:flex;gap:7px;align-items:center;color:#899980;font-size:10px;white-space:nowrap;margin-top:15px}.live-label .status-dot{background:#89a783}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:34px}.stat-card{background:#fff;border:1px solid #e2e8dc;border-radius:11px;padding:18px 20px}.stat-card>span{display:block;font-size:10px;color:#88967e}.stat-card strong{display:block;font-size:31px;font-weight:500;line-height:1;margin:17px 0 11px;color:#376448;letter-spacing:-.04em}.stat-card strong.stat-word{font-size:22px;line-height:31px}.stat-card small{font-size:9px;color:#a0aa98}.section-heading{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:20px}.section-heading h2{font-size:17px;color:#4a6549;margin:0 0 7px}.section-heading p{font-size:11px;color:#919d87;margin:0}.section-heading>.button{white-space:nowrap;font-size:11px}.section-heading>select{width:auto;max-width:165px;font-size:12px}.surface{padding:25px;background:#fff;border:1px solid #e0e7d9;border-radius:12px}.create-panel{margin-bottom:25px;border-color:#cddcc6}.create-panel .section-heading h2{margin-top:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.create-panel label,.settings-grid label{font-size:12px;color:#65745d;margin:0 0 17px}.create-panel input,.create-panel select,.create-panel textarea,.settings-grid input{font-size:12px;margin-top:8px;line-height:1.7;background:#fcfdf9}.create-panel textarea{resize:vertical;min-height:70px}.label-aside{font-size:10px;font-weight:400;color:#9ca78f;margin-left:10px}.field-note{display:block;color:#96a28b;font-size:10px;font-weight:400;line-height:1.7;margin:5px 0}.form-inline-note{display:flex;align-items:center;gap:12px;font-size:10px;color:#96a28b;margin:-5px 0 18px;flex-wrap:wrap}.form-inline-note a{font-size:10px}.create-panel fieldset{border:1px solid #e5ebdf;border-radius:8px;padding:13px 16px 5px;margin:0 0 18px}.create-panel legend{padding:0 6px;font-size:11px;color:#789167}.check-options{display:flex;gap:8px 20px;flex-wrap:wrap}.check-options label{display:flex;gap:7px;align-items:center;font-size:11px;font-weight:400;margin-bottom:7px}.check-options input{margin:0;width:14px;height:14px;accent-color:var(--teal)}.create-panel .check-label{display:flex;align-items:center;gap:8px;font-size:11px;margin:0}.check-label input{width:15px;height:15px;margin:0;accent-color:var(--teal)}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px;padding-top:17px;border-top:1px solid #edf0e7}.form-footer>div{display:flex;gap:9px}.form-footer .button{font-size:11px}.mission-filter{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:14px}.mission-filter select{width:auto;max-width:200px;font-size:11px;padding:8px 12px;background:transparent}.mission-list{display:grid;gap:12px}.mission-card{background:#fff;border:1px solid #e0e7d9;border-radius:12px;padding:22px 24px;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:22px}.mission-card.attention{border-color:#e5d8bb;background:#fffefa}.mission-card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:9px}.mission-card h3{font-size:15px;color:#446142;margin:0;overflow-wrap:anywhere}.admin-badge{display:inline-block;border-radius:5px;padding:3px 7px;background:#eaf2e4;color:#718961;font-size:9px;white-space:nowrap}.admin-badge.warning{background:#faf1dd;color:#ad8349}.admin-badge.ended{background:#eff1eb;color:#969f8e}.admin-badge.danger{background:#faeee8;color:#aa705c}.mission-goal{font-size:11px;color:#91a082;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mission-meta{display:flex;gap:15px;flex-wrap:wrap;font-size:9px;color:#9baa8d}.mission-side{display:flex;flex-direction:column;justify-content:center}.progress-heading{display:flex;justify-content:space-between;font-size:10px;color:#8a9c7d;margin-bottom:8px}.mission-progress{width:100%;height:4px;border:0;appearance:none;border-radius:3px;background:#eef2e9;overflow:hidden}.mission-progress::-webkit-progress-bar{background:#eef2e9}.mission-progress::-webkit-progress-value{background:#91b27b;border-radius:3px}.mission-progress::-moz-progress-bar{background:#91b27b;border-radius:3px}.mission-actions{display:flex;flex-wrap:wrap;gap:3px;margin-top:14px}.mission-actions .button{font-size:10px;padding:6px 9px}.button.danger{color:#a66b51}.empty-admin{text-align:center;padding:55px 25px;border:1px dashed #d7e1ce;border-radius:12px;background:#f9fbf6}.empty-admin>span{display:inline-block;font-size:29px;color:#97b086;margin-bottom:12px}.empty-admin h3{font-size:16px;color:#6c855c;margin:8px 0}.empty-admin p{font-size:12px;color:#a2ad97}.admin-pager{display:flex;gap:12px;justify-content:flex-end;margin:15px 0}.mission-detail{margin-top:22px}.detail-goal{font-size:12px;color:#7a8b6d;white-space:pre-wrap;overflow-wrap:anywhere}.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.detail-facts div{padding:12px;background:#f7f9f3;border-radius:7px}.detail-facts dt{font-size:9px;color:#9aaa8c;margin-bottom:5px}.detail-facts dd{font-size:12px;color:#6f855f;margin:0;overflow-wrap:anywhere}.stage-list{padding:0;list-style:none}.stage-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;position:relative;padding:15px 0;border-bottom:1px solid #edf0e7}.stage-number{display:grid;place-items:center;width:26px;height:26px;background:#f0f4e9;border:1px solid #e2e9d9;border-radius:50%;font-size:10px;color:#839c72}.stage-row.done .stage-number{background:#e6efe0;color:#719961}.stage-row.current .stage-number{background:#477c5e;border-color:#477c5e;color:#fff}.stage-row h3{font-size:12px;color:#6c825d;margin:4px 0 7px;overflow-wrap:anywhere}.stage-row p{font-size:10px;color:#9da991;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.stage-row .button{margin-top:6px}.inline-note{padding:12px 15px;border-radius:8px;background:#eef3e8;font-size:11px;color:#7b9267;line-height:1.8}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-grid form{margin-top:15px}.settings-grid .switch-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0 20px;border-bottom:1px solid #ebefe5}.switch-row strong{display:block;font-size:12px;font-weight:550}.switch-row small{display:block;font-size:10px;color:#99a58e;margin-top:7px;line-height:1.8}.settings-grid .switch-row input{width:19px;height:19px;flex-shrink:0;margin:0;accent-color:var(--teal)}.settings-subtitle{font-size:12px;color:#708763;margin:27px 0 20px}.observed-panel h3{margin-top:25px;color:#6d8460}.observed-panel .muted{font-size:11px}.observed-fact{font-size:11px;color:#839674;padding:12px 0;border-bottom:1px solid #edf0e7;overflow-wrap:anywhere}.observed-fact strong{display:block;font-size:10px;color:#a0ac94;margin-bottom:7px;font-weight:400}.approval-list{display:grid;gap:12px}.approval-card{padding:20px 24px;background:#fff;border:1px solid #e1e8da;border-radius:11px}.approval-card summary{cursor:pointer;display:flex;align-items:center;gap:12px;flex-wrap:wrap;list-style:none;color:#607c54;font-size:12px}.approval-card summary::after{content:'展开 ↓';margin-left:auto;color:#97a98a;font-size:10px}.approval-card[open] summary::after{content:'收起 ↑'}.approval-card summary small{font-size:10px;color:#9ba98e}.receipt-details{margin-top:20px}.receipt-details dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;font-size:10px;line-height:1.8}.receipt-details dt{color:#9aaa8e}.receipt-details dd{margin:0;color:#6e835f;overflow-wrap:anywhere}.revoke-form{display:flex;gap:10px;border-top:1px solid #edf0e5;padding-top:15px;margin-top:16px}.revoke-form label{flex:1;margin:0}.revoke-form input{font-size:11px;padding:8px 11px}.revoke-form button{white-space:nowrap}.audit-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:17px 0;border-bottom:1px solid #edf1e7;font-size:12px;overflow-wrap:anywhere}.audit-row:last-child{border:0}.audit-row time{font-size:10px;color:#9aa98d}.audit-row strong{font-weight:500;color:#69815d}.audit-row p{font-size:10px;margin:5px 0 0;color:#9aa98d;white-space:pre-wrap}.admin-footer{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#a5af9a;margin-top:50px;padding-top:22px;border-top:1px solid #e7ecdf}.admin-retry{padding:15px 18px;background:#fff7e6;border:1px solid #ecdfbd;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;color:#a27c3e;font-size:12px}.admin-retry p{margin:5px 0 0;font-size:10px}.admin-login{max-width:480px;margin:10vh auto;padding:20px}.admin-login h1{font-size:27px;margin:22px 0}.admin-login form .button{margin-top:15px}#content-dialog{width:min(780px,calc(100vw - 32px));max-height:85vh}#content-dialog pre{background:#f7f9f3;border:1px solid #e5ebdd;padding:18px;max-height:52vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.8;color:#718464}.content-links{display:flex;gap:8px;flex-wrap:wrap}.content-links .button{font-size:10px}.notice{overflow-wrap:anywhere}.pending-write{opacity:.7}
@media(min-width:1500px){.admin-main{padding-left:58px;padding-right:58px}}@media(max-width:1150px){.admin-layout{grid-template-columns:180px minmax(0,1fr)}.admin-sidebar{padding-left:12px;padding-right:12px}.admin-main{padding:30px 28px}.mission-card{grid-template-columns:minmax(0,1fr) 190px}.stat-card{padding:16px}.stat-card small{line-height:1.7;display:block}}@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{padding:14px 24px;border-right:0;border-bottom:1px solid var(--line)}.admin-sidebar>.section-kicker,.node-summary,.sidebar-note{display:none}.admin-nav{grid-template-columns:repeat(4,1fr);gap:7px}.admin-nav a{padding:10px;justify-content:center;font-size:11px}.nav-number{display:none}.admin-main{padding:27px 24px}.status-grid{gap:9px}.stat-card{padding:14px}.stat-card>span{font-size:9px}.settings-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.topbar{height:auto;min-height:70px;padding:13px 16px;gap:12px}.brand{font-size:18px}.top-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end}.top-actions .connection{display:none}.console-link{font-size:10px}.top-actions .button{font-size:10px;padding:6px}.admin-sidebar{padding:10px 12px}.admin-nav a{gap:6px;padding:9px 5px;font-size:10px}.admin-nav a>span:first-child{font-size:15px}.admin-main{padding:25px 16px}.page-heading{margin-bottom:22px;gap:10px}.page-heading h1{font-size:25px}.page-heading p{font-size:10px}.live-label{font-size:9px;margin-top:6px}.status-grid{grid-template-columns:1fr 1fr;margin-bottom:26px}.stat-card{padding:15px}.stat-card strong{font-size:26px;margin:13px 0 8px}.stat-card strong.stat-word{font-size:20px;line-height:26px}.mission-card{grid-template-columns:1fr;gap:16px;padding:20px}.mission-side{max-width:none}.mission-actions{margin-top:10px}.surface{padding:20px 17px}.form-grid,.settings-grid{grid-template-columns:1fr;gap:0}.settings-grid{gap:15px}.label-aside{display:block;margin:6px 0 0}.form-footer{align-items:flex-start;flex-direction:column}.form-footer>div{width:100%;justify-content:flex-end}.detail-facts{grid-template-columns:1fr 1fr}.section-heading{gap:12px}.section-heading h2{font-size:15px}.section-heading p{font-size:10px}.section-heading>.button{font-size:10px;padding:9px 10px}.approval-card{padding:18px}.receipt-details dl{grid-template-columns:80px minmax(0,1fr)}.revoke-form{flex-direction:column}.audit-row{grid-template-columns:1fr;gap:8px}.admin-footer{flex-direction:column;gap:9px;margin-top:30px}.admin-retry{align-items:flex-start;flex-direction:column}.admin-login{margin-top:5vh}.notice{padding:12px 16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
