:root{--ink:#15211a;--muted:#68736c;--line:#dfe6e1;--paper:#fff;--wash:#f3f6f4;--green:#08783e;--green-dark:#075f34;--green-soft:#e6f4ec;--red:#b42318;--red-soft:#feeceb;--amber:#8a4b08;--shadow:0 12px 40px #12321f14;color:var(--ink);background:var(--wash);font-synthesis:none;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}a{color:inherit}button,input,select,textarea{font:inherit}button,.button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;min-height:40px;padding:0 16px;font-weight:650;text-decoration:none;display:inline-flex}button:hover,.button:hover{background:var(--green-dark)}button:disabled,.button[aria-disabled=true]{cursor:wait;opacity:.62}button:focus-visible,.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #08783e47}button.secondary,.button.secondary{border:1px solid var(--line);color:var(--ink);background:#fff}button.danger{background:var(--red-soft);color:var(--red)}button.quiet-danger{color:var(--red);background:#fff;border:1px solid #f3c9c5}button.quiet-danger:hover{background:var(--red-soft)}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cbd5ce;border-radius:10px;padding:10px 12px}textarea{resize:vertical;min-height:88px}label{color:#35443a;gap:7px;font-size:14px;font-weight:620;display:grid}.muted{color:var(--muted)}.admin-shell{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);color:#fff;background:#112219;height:100vh;padding:28px 20px;position:sticky;top:0}.brand{letter-spacing:-.02em;margin-bottom:34px;font-size:22px;font-weight:760}.brand small{color:#93aa9b;margin-top:4px;font-size:12px;font-weight:500;display:block}.nav{gap:8px;display:grid}.nav a{color:#d8e5dc;border-radius:10px;padding:11px 12px;text-decoration:none}.nav a:hover{color:#fff;background:#20372a}.nav a.current{color:#fff;background:#294b38;box-shadow:inset 3px 0 #69ca91}.sidebar-footer{position:absolute;bottom:24px;left:20px;right:20px}.sidebar-footer button{background:#20372a;width:100%}.admin-main{width:100%;max-width:1440px;margin:0 auto;padding:42px}.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.03em;margin-bottom:8px;font-size:30px}h2{margin-bottom:18px;font-size:20px}h3{margin-bottom:8px;font-size:16px}.grid{gap:18px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:16px;padding:22px}.metric{font-size:32px;font-weight:760}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid .wide{grid-column:1/-1}.form-actions,.row-actions{flex-wrap:wrap;gap:10px;display:flex}.list{gap:14px;display:grid}.list-row{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1fr) minmax(120px,auto) auto;align-items:center;gap:18px;padding-top:16px;display:grid}.list-row:first-child{border-top:0;padding-top:0}.status{background:var(--green-soft);width:fit-content;color:var(--green-dark);border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.status.off{background:var(--red-soft);color:var(--red)}.qr-thumb{border:1px solid var(--line);object-fit:contain;border-radius:12px;width:92px;height:92px}.code{overflow-wrap:anywhere;background:var(--wash);border-radius:8px;padding:7px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.empty{color:var(--muted);text-align:center;border:1px dashed #bdcac1;border-radius:14px;padding:28px}.empty h2,.empty p{margin-bottom:8px}.empty.inset{padding:22px}.empty.inset p{margin-top:6px;margin-bottom:0}.eyebrow,.context-label{color:var(--green);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:760}.field-hint,.small-text{color:var(--muted);font-size:12px;font-weight:450}.block{display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.section-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.section-heading.compact h2,.section-heading.compact h3,.section-heading.compact p{margin-bottom:6px}.heading-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.heading-line h2{margin-bottom:0}.separator{margin:0 7px}.strong-link{color:var(--ink);text-underline-offset:3px;font-weight:720;text-decoration-color:#a9b9ae}.tag-list,.linked-entries{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tag-link{border:1px solid var(--line);color:#365043;background:#fff;border-radius:999px;padding:5px 9px;font-size:12px;text-decoration:none}.tag-link:hover{background:var(--green-soft);border-color:#9eb9a8}.status.warning{color:var(--amber);background:#fff1d8}.section-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;padding:0 2px;display:flex}.section-toolbar>div:first-child{gap:12px;display:flex}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot,.attention-mark{background:var(--green);border-radius:50%;width:8px;height:8px;display:inline-block}.legend-dot.warning,.attention-mark.warning{background:#d58a22}.legend-dot.off,.attention-mark.off{background:var(--red)}.management-list,.entry-list,.pool-detail-list{gap:16px;display:grid}.management-item{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:16px;scroll-margin-top:24px;overflow:hidden}.management-item:target,.pool-detail:target,.entry-card:target{box-shadow:0 0 0 3px #08783e1f, var(--shadow);border-color:#6cad86}.management-item[open]{border-color:#aac8b5}.resource-summary{cursor:pointer;grid-template-columns:minmax(240px,2fr) minmax(110px,.8fr) minmax(150px,1fr) minmax(90px,.6fr) auto;align-items:center;gap:20px;padding:18px 20px;list-style:none;display:grid}.resource-summary::-webkit-details-marker{display:none}.resource-summary:hover{background:#fbfdfb}.resource-summary h2,.resource-summary p{margin-bottom:4px}.identity-cell{align-items:center;gap:14px;min-width:0;display:flex}.qr-thumb.small,.qr-placeholder{border-radius:10px;flex:0 0 64px;width:64px;height:64px}.qr-placeholder{border:1px dashed var(--line);color:var(--muted);place-items:center;font-size:12px;display:grid}.manage-label{color:var(--green);font-size:13px;font-weight:720}.manage-label:after{content:"展开";color:var(--muted);margin-left:6px;font-weight:500}.management-item[open] .manage-label:after{content:"收起"}.usage-cell{gap:7px;font-size:13px;display:grid}.progress-track{background:#e6ebe8;border-radius:999px;width:100%;height:6px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--green);height:100%;display:block}.management-panel{border-top:1px solid var(--line);background:#fbfcfb;padding:22px}.context-strip{background:var(--wash);border-radius:12px;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;padding:14px 16px;display:flex}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-section{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px}.danger-zone{background:snow;border:1px solid #f2d3d0;border-radius:14px;justify-content:space-between;align-items:center;gap:22px;margin-top:16px;padding:16px 18px;display:flex}.danger-zone p{margin:5px 0 0;font-size:13px}.action-feedback{border-radius:9px;grid-column:1/-1;margin:2px 0 0;padding:9px 11px;font-size:13px}.action-feedback.success{background:var(--green-soft);color:var(--green-dark)}.action-feedback.error{background:var(--red-soft);color:var(--red)}.action-feedback.compact{margin-top:6px;padding:6px 8px;font-size:11px}.admin-drawer{background:#09180f47;border:0;width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0}.admin-drawer[open]{justify-content:flex-end;display:flex}.admin-drawer::backdrop,.confirm-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#09180f61}.drawer-panel{background:#fff;width:min(560px,100%);height:100%;padding:30px;overflow-y:auto;box-shadow:-16px 0 50px #09180f29}.drawer-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;padding-bottom:20px;display:flex}.drawer-heading h2,.drawer-heading p{margin-bottom:5px}button.quiet-button{border:1px solid var(--line);min-height:36px;color:var(--ink);background:#fff;padding:0 12px}.confirm-dialog{border:0;border-radius:18px;width:min(440px,100% - 32px);padding:0;box-shadow:0 24px 80px #09180f40}.confirm-panel{padding:26px}.confirm-panel h2{margin-bottom:10px}.row-actions.end{justify-content:flex-end}.upload-field input{padding:8px}.upload-preview{border:1px solid var(--line);object-fit:contain;border-radius:12px;width:132px;height:132px}.pool-workspace{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:18px;display:grid}.pool-directory{padding:12px;position:sticky;top:24px}.pool-directory>p{padding:8px 10px 4px}.pool-directory nav{gap:4px;display:grid}.pool-directory a{border-radius:10px;gap:3px;padding:11px 10px;text-decoration:none;display:grid}.pool-directory a:hover{background:var(--green-soft)}.pool-directory a span{font-size:14px;font-weight:700}.pool-directory a small{color:var(--muted);font-size:11px}.pool-detail{scroll-margin-top:24px}.detail-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.detail-heading p{margin-bottom:0}.pool-health{border-radius:11px;flex-wrap:wrap;gap:6px 14px;margin:20px 0;padding:12px 14px;font-size:13px;display:flex}.pool-health.healthy{background:var(--green-soft);color:var(--green-dark)}.pool-health.warning{color:var(--amber);background:#fff3e2}.member-section{border-top:1px solid var(--line);padding-top:20px}.add-member-form{grid-template-columns:minmax(170px,1fr) auto;align-items:end;gap:8px;display:grid}.add-member-form .action-feedback{grid-column:1/-1}.member-table{border:1px solid var(--line);border-radius:12px;margin-top:18px;overflow:hidden}.member-table-head,.member-table-row{grid-template-columns:120px minmax(170px,1.4fr) minmax(100px,.7fr) minmax(120px,.8fr) minmax(130px,auto);align-items:center;gap:14px;padding:12px 14px;display:grid}.member-table-head{background:var(--wash);color:var(--muted);font-size:12px;font-weight:700}.member-table-row{border-top:1px solid var(--line);font-size:13px}.order-controls,.order-controls>div{align-items:center;gap:6px;display:flex}.order-controls>strong{min-width:20px;font-size:16px}.inline-form{display:inline-flex}button.mini-button{border:1px solid var(--line);min-height:30px;color:var(--muted);background:#fff;border-radius:7px;padding:0 7px;font-size:11px}button.mini-button:hover{background:var(--green-soft);color:var(--green-dark)}button.mini-button:disabled{cursor:not-allowed;color:#a2ada6;opacity:1;background:#f7f9f7}.linked-entries{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.entry-card{scroll-margin-top:24px}.entry-primary{grid-template-columns:1fr auto;gap:22px;display:grid}.entry-primary p{margin-top:9px}.entry-qr{border:1px solid var(--line);border-radius:12px;width:104px;height:104px}.entry-stats{border:1px solid var(--line);background:var(--wash);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0;display:grid;overflow:hidden}.entry-stats>div{border-left:1px solid var(--line);gap:3px;padding:12px 14px;display:grid}.entry-stats>div:first-child{border-left:0}.entry-stats strong{font-size:20px}.entry-stats span{color:var(--muted);font-size:12px}.entry-stats .has-error strong{color:var(--red)}.public-link-row{background:var(--wash);border-radius:12px;align-items:center;gap:10px;padding:8px 8px 8px 13px;display:flex}.public-link-row code{overflow-wrap:anywhere;color:#365043;flex:1;min-width:0;font-size:12px}.entry-actions{flex-wrap:wrap;align-items:flex-start;gap:9px;margin-top:16px;display:flex}.overview-state{border-radius:999px;padding:8px 12px;font-size:13px;font-weight:720}.overview-state.healthy{background:var(--green-soft);color:var(--green-dark)}.overview-state.warning{color:var(--amber);background:#fff1d8}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.metric-card{border:1px solid var(--line);min-height:134px;box-shadow:var(--shadow);color:var(--ink);background:#fff;border-radius:16px;align-content:space-between;padding:18px;text-decoration:none;display:grid}a.metric-card:hover{border-color:#a9c6b4;transform:translateY(-1px)}.metric-card>span{color:var(--muted);font-size:13px;font-weight:650}.metric-card strong{margin:6px 0;font-size:34px}.metric-card small{color:var(--muted)}.metric-card.emphasis{background:linear-gradient(135deg,#f1fbf5,#fff);border-color:#9fcab0}.metric-card.alert{border-color:#efcbc8}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start;gap:18px;margin-top:18px;display:grid}.healthy-empty{background:var(--green-soft);color:var(--green-dark);border-radius:12px;margin-top:18px;padding:22px}.healthy-empty p{margin:6px 0 0}.attention-list{gap:8px;margin-top:16px;display:grid}.attention-list a{border:1px solid var(--line);border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;text-decoration:none;display:grid}.attention-list a:hover{background:var(--wash)}.attention-list small{color:var(--muted);margin-top:3px;display:block}.activity-list{gap:0;margin:16px 0 0;padding:0;list-style:none;display:grid}.activity-list li{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:11px;padding:12px 0;display:grid}.activity-list li:first-child{border-top:0;padding-top:0}.activity-dot{background:#82a990;border-radius:50%;width:8px;height:8px;margin-top:5px}.activity-list strong,.activity-list span{display:block}.activity-list strong{font-size:13px}.activity-list div>span{color:var(--muted);margin-top:4px;font-size:11px}@media (max-width:1150px){.pool-workspace,.dashboard-grid{grid-template-columns:1fr}.pool-directory{position:static}.pool-directory nav{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.resource-summary{grid-template-columns:minmax(220px,1.5fr) minmax(105px,.7fr) minmax(140px,1fr) auto}.resource-summary>:nth-child(4){display:none}}.login-page,.public-page{background:radial-gradient(circle at 15% 5%, #15975324, transparent 30%), var(--wash);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card,.public-card{border:1px solid var(--line);background:#fff;border-radius:24px;width:min(100%,440px);padding:34px;box-shadow:0 20px 70px #12321f1f}.login-card form{gap:16px;display:grid}.error{background:var(--red-soft);color:var(--red);border-radius:10px;padding:10px 12px;font-size:14px}.public-card{text-align:center}.public-card .wechat-mark{background:var(--green);color:#fff;border-radius:16px;place-items:center;width:52px;height:52px;margin:0 auto 20px;font-size:26px;font-weight:800;display:grid}.public-qr{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(100%,320px);height:auto;margin:24px auto 18px;padding:10px;display:block}@media (max-width:800px){.admin-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar-footer{margin-top:20px;position:static}.admin-main{padding:26px 18px}.grid.two,.grid.three,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.list-row{grid-template-columns:1fr}.page-heading,.detail-heading,.section-heading,.danger-zone,.section-toolbar{flex-direction:column;align-items:stretch}.resource-summary{grid-template-columns:1fr auto}.resource-summary>:nth-child(3),.resource-summary>:nth-child(4){display:none}.settings-grid,.pool-workspace,.dashboard-grid{grid-template-columns:1fr}.pool-directory{position:static}.member-table-head{display:none}.member-table-row{grid-template-columns:1fr;gap:10px}.entry-stats,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-stats>div:nth-child(odd){border-left:0}.entry-stats>div:nth-child(n+3){border-top:1px solid var(--line)}.public-link-row{flex-direction:column;align-items:stretch}.drawer-panel{padding:24px 18px}}
