/* 用户确认：后台主题改为深蓝，沿用现有字号、间距、布局及圆角。 */
:root{--background:#f3f4f6;--surface:#fff;--soft:#f5f6f7;--text:#292d34;--muted:#727984;--line:#e7e9ed;--accent:#1e3a8a;--accent-ink:#1e3a8a;--accent-soft:#edf2ff;--accent-hover:#274ba1;--on-accent:#fff;--success:#2f8466;--danger:#bd4545;--gap:20px;--padding:16px;--radius:8px;--control-radius:6px;--control-height:34px;--font-size:13px;--title-size:22px;--caption-size:11px}
.access-section{margin-bottom:var(--gap)}
*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--text);font:var(--font-size)/1.6 'Segoe UI','Microsoft YaHei UI','PingFang SC',sans-serif}h1,h2,h3,p{margin:0}h1{font-size:var(--title-size);font-weight:500;line-height:1.4}h2{font-size:var(--font-size);font-weight:600}h3{font-size:var(--font-size)}a{color:var(--accent-ink)}button,input,textarea,select{font:inherit}button{min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--control-radius);padding:6px 12px;background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap}button:hover{background:var(--soft)}button:active{background:var(--accent-soft)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:500}button.primary:hover{background:var(--accent-hover)}button.text-button{background:transparent;border-color:transparent;color:var(--muted)}button.text-button:hover{color:var(--accent-ink)}button.danger-text{color:var(--danger)}input,textarea,select{width:100%;min-height:var(--control-height);border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--text);padding:6px 9px}input::placeholder,textarea::placeholder{color:var(--muted)}label{display:block;margin-bottom:6px;font-weight:500}input+label{margin-top:16px}textarea{resize:vertical}button.primary:disabled{background:var(--accent-soft);color:var(--muted)}[hidden]{display:none!important}.surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.muted,.caption{color:var(--muted)}.caption{font-size:var(--caption-size)}.mono{font-family:Consolas,'SFMono-Regular',monospace}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.eyebrow{font-size:var(--caption-size);letter-spacing:.1em;color:var(--muted);margin-bottom:8px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--accent-soft);color:var(--accent-ink);font-size:22px;font-weight:600}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--text);font-size:14px;font-weight:600}.brand small{display:block;font-size:10px;letter-spacing:.16em;color:var(--muted);font-weight:400}.boot{padding:40px;text-align:center;color:var(--muted)}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:var(--gap)}.login-card{width:min(100%,420px);padding:32px}.login-card .brand-mark{margin-bottom:24px}.login-card h1{margin-bottom:8px}.login-card>.muted{margin-bottom:24px}.login-card>.primary{display:flex;justify-content:space-between;width:100%;margin-top:16px}.login-card>.caption{margin-top:20px}.error{color:var(--danger);min-height:20px;margin-top:8px}.workspace{display:flex;min-height:100dvh}.sidebar{width:240px;flex-shrink:0;padding:24px 16px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:24px}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:var(--caption-size);margin-top:12px}.sidebar nav{display:grid;gap:6px}.app-link{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;border-color:transparent;padding:10px 12px}.app-link small{color:var(--muted);font-size:var(--caption-size)}.app-link[aria-current=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-soft)}.sidebar-bottom{margin-top:auto;font-size:var(--caption-size);color:var(--muted);padding:var(--padding);border-top:1px solid var(--line)}.sidebar-bottom p{color:var(--text)}.content{min-width:0;flex:1}.topbar{height:64px;display:flex;justify-content:space-between;align-items:center;padding:0 32px;background:var(--surface);border-bottom:1px solid var(--line);color:var(--muted)}.admin-name{border-left:1px solid var(--line);padding-left:16px;margin-left:8px;font-size:var(--caption-size)}main{padding:32px;max-width:1500px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--gap);margin-bottom:24px}.title-line{display:flex;align-items:center;gap:12px}.page-heading #app-id{margin-top:6px;font-size:12px}.pill{display:inline-flex;padding:2px 8px;border-radius:4px;font-size:var(--caption-size);background:var(--soft);color:var(--muted);white-space:nowrap}.pill.active{background:var(--accent-soft);color:var(--accent-ink)}.pill.disabled{color:var(--danger)}.license-section{overflow:hidden}.section-heading{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:var(--gap)}.section-heading .muted{font-size:12px;margin-top:4px}.search-row{padding:0 20px 16px;display:flex;align-items:center;gap:8px}.search-row input{max-width:340px}.search-row>span{margin-left:auto;font-size:var(--caption-size)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:16px 20px;border-top:1px solid var(--line)}th{background:var(--soft);font-size:var(--caption-size);font-weight:500;color:var(--muted);white-space:nowrap}td{vertical-align:middle;font-size:12px}td .secondary{display:block;font-size:var(--caption-size);color:var(--muted);margin-top:4px;max-width:240px;overflow-wrap:anywhere}td:last-child{min-width:150px}td button{font-size:var(--caption-size);padding:4px 8px}td .mono{font-size:12px}td .note{font-weight:500;overflow-wrap:anywhere}.table-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;border-top:1px solid var(--line)}.table-footer button{font-size:var(--caption-size)}#page-label{font-size:var(--caption-size);color:var(--muted)}.empty{text-align:center;padding:48px 20px;color:var(--muted)}.empty h1,.empty h3{color:var(--text);margin-bottom:8px}.empty button{margin-top:20px}.page-footnote{color:var(--muted);font-size:var(--caption-size);margin-top:16px}.warning,#notice{background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;margin-bottom:20px}#notice.error{color:var(--danger)}#table-busy{padding:0 20px 16px;color:var(--muted)}dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 40px);border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--surface);color:var(--text)}dialog::backdrop{background:rgba(36,42,49,.4)}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:20px}.dialog-header h2{font-size:var(--title-size);font-weight:500}.dialog-body p{margin-bottom:16px}dialog form .actions{margin-top:20px;justify-content:flex-end}dialog .helper{font-size:12px;color:var(--muted);margin:8px 0 16px}dialog .copy-field{font-family:Consolas,'SFMono-Regular',monospace;overflow-wrap:anywhere;font-size:13px;min-height:74px;margin:12px 0}dialog .details{display:grid;gap:12px}dialog .details label{font-size:12px}dialog .audit-list{display:grid;gap:12px;padding:0;list-style:none}dialog .audit-list li{padding-bottom:12px;border-bottom:1px solid var(--line)}.skip-link{position:absolute;left:12px;top:-80px;background:var(--surface);padding:12px;z-index:2}.skip-link:focus{top:12px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1050px){main{padding:20px}.topbar{padding:0 20px}.sidebar{width:200px}.table-footer{flex-wrap:wrap}th,td{padding:16px}.page-heading{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:700px){.workspace{display:block}.sidebar{width:100%;padding:16px;border-right:0;border-bottom:1px solid var(--line);gap:12px}.sidebar-heading{margin-top:0}.sidebar nav{display:flex;gap:8px;overflow-x:auto}.app-link{width:auto;gap:16px;flex-shrink:0}.sidebar-bottom{display:none}.topbar{height:56px}.admin-name{display:none}main{padding:20px 16px}.section-heading{align-items:flex-start;flex-wrap:wrap}.search-row{flex-wrap:wrap}.search-row input{flex:1;min-width:180px}.search-row>span{flex-basis:100%;margin-left:0}.table-wrap{overflow:visible}table,tbody,tr,td{display:block}thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}tr{padding:16px;border-top:1px solid var(--line)}td{border:0;padding:6px 0;display:flex;justify-content:space-between;gap:20px}td:before{content:attr(data-label);color:var(--muted);min-width:56px}td:first-child{display:block}td:first-child:before{display:none}td>div{text-align:right}td:first-child>div{text-align:left}td .secondary{max-width:none}td:last-child{justify-content:flex-end}.table-footer{padding:16px}.login-card{padding:24px}button,input,select{min-height:44px}.page-footnote{font-size:12px}}
