.admin-body{background:#f7f8fb;min-height:100vh;display:flex;flex-direction:column}.admin-header{background:#fff;height:80px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 40px;gap:28px}.admin-header .brand img{width:126px;height:auto}.admin-header-label{font-size:9px;letter-spacing:.12em;color:#949baa;border-left:1px solid var(--line);padding-left:28px}.admin-header-actions{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:12px}.language-button{font-size:12px;background:none;border:0;color:#626c80;padding:8px 0}.admin-view-site{color:var(--blue)}.quiet-button{border:1px solid #dfe3ed;background:#fff;padding:10px 16px;border-radius:7px;font-size:12px;white-space:nowrap}.quiet-button:hover{background:#f0f2f8}.admin-main{max-width:1160px;width:calc(100% - 80px);margin:0 auto;flex:1;padding:58px 0 70px}.admin-loading{text-align:center;margin:120px auto;color:var(--muted);font-size:14px}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.dashboard-heading .eyebrow{font-size:9px;margin-bottom:10px}.dashboard-heading h1{font-size:39px;letter-spacing:-.045em;margin-bottom:10px}.dashboard-heading p{font-size:14px;color:#7f8797}.refresh-button{align-self:flex-end;margin-bottom:4px}.stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:47px}.stat{padding:25px 26px;background:#fff;border:1px solid #e9ecf3;border-radius:12px;display:flex;align-items:flex-start;gap:13px;box-shadow:0 2px 5px #20335d02}.stat-dot{width:9px;height:9px;border-radius:50%;margin-top:5px}.blue{background:#526aff;box-shadow:0 0 0 4px #f0f2ff}.green{background:#3fae8b;box-shadow:0 0 0 4px #e9f9f3}.purple{background:#a078e2;box-shadow:0 0 0 4px #f5f0fc}.stat-label{display:block;font-size:11px;color:#828b9d;margin-bottom:13px}.stat strong{font-size:26px;letter-spacing:-.025em;font-weight:600}.stat:last-child strong{font-size:20px}.stat-divider{color:#d3d8e3;margin:0 4px}.table-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.table-heading h2{font-size:17px;letter-spacing:-.02em}.table-heading>span{font-size:10px;color:#979eac}.download-table-wrap{background:#fff;border:1px solid #e7eaf2;border-radius:12px;overflow:auto}.download-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.download-table th{background:#fafbfe;padding:17px 22px;font-size:10px;font-weight:400;color:#8b94a5;border-bottom:1px solid #e9ecf3}.download-table td{padding:21px 22px;font-size:12px;color:#747e91;border-bottom:1px solid #edf0f5}.download-table tr:last-child td{border-bottom:0}.table-platform{display:flex;align-items:center;gap:12px}.table-icon{width:36px;height:36px;background:#f4f6fb;display:grid;place-items:center;border-radius:9px;color:#56627d}.table-icon svg{width:20px;height:20px}.table-platform strong{display:block;font-size:13px;color:#293248;font-weight:600}.table-platform small{display:block;font-size:10px;color:#a0a7b6;margin-top:4px;max-width:190px;overflow:hidden;text-overflow:ellipsis}.source-badge{font-size:10px;border:1px solid #e5e9f3;padding:5px 8px;border-radius:5px;background:#fafbfe;white-space:nowrap}.source-badge.r2{color:#5b59b0;background:#f7f5ff;border-color:#ebe6ff}.status-badge{font-size:10px;color:#398875;display:inline-flex;gap:6px;align-items:center}.status-badge:before{content:'';background:#46ac8b;border-radius:50%;width:5px;height:5px}.status-badge.disabled{color:#9a8f7e}.status-badge.disabled:before{background:#b9aa91}.table-edit{background:none;border:1px solid #e2e7f1;color:#5c6680;border-radius:6px;font-size:11px;padding:7px 13px}.table-edit:hover{background:#f0f3ff;color:var(--blue);border-color:#cbd4fc}.admin-info{background:#eef2ff;border:1px solid #e2e8ff;border-radius:10px;display:flex;gap:13px;padding:20px 23px;margin-top:25px}.info-icon{width:19px;height:19px;border:1px solid #798bd9;border-radius:50%;display:grid;place-items:center;font-size:11px;color:#6679cd;flex-shrink:0}.admin-info h3{font-size:12px;letter-spacing:0;font-weight:600;color:#445b9b;margin-bottom:6px}.admin-info p{font-size:11px;line-height:1.8;color:#7584aa}.admin-storage-note{font-size:10px;color:#9ba3b3;margin:16px 2px}.admin-footer{display:flex;justify-content:space-between;gap:20px;max-width:1160px;width:calc(100% - 80px);margin:auto;border-top:1px solid #e5e9f1;padding:22px 0;color:#a2a9b8;font-size:10px}.admin-footer>span>span{font-size:8px;margin-left:8px;letter-spacing:.05em}.login-panel{max-width:400px;margin:38px auto 50px;background:#fff;border:1px solid #e5e9f1;border-radius:17px;padding:34px 32px;box-shadow:0 10px 40px #3b52a005}.login-icon{background:#eef1ff;color:var(--blue);border-radius:12px;display:inline-flex;padding:11px;margin-bottom:26px}.login-icon svg{width:24px;height:24px}.login-panel .eyebrow{font-size:9px;margin-bottom:10px}.login-panel h1{font-size:30px;margin-bottom:13px}.login-panel>p{font-size:13px;color:#7d879b;margin-bottom:27px}.login-panel form{display:flex;flex-direction:column}.login-panel label,.edit-dialog label:not(.toggle-label):not(.dropzone){font-size:11px;font-weight:600;color:#56617a;display:block;margin-bottom:9px}.login-panel input,.edit-dialog input:not([type=checkbox]):not([type=file]){border:1px solid #dfe4ef;border-radius:7px;width:100%;padding:12px 13px;background:#fff;color:#343f58;font-size:13px;min-height:43px}.login-panel .button{font-size:13px;margin-top:20px;min-height:44px}.login-panel .login-footnote{font-size:10px;text-align:center;margin:20px 0 0;color:#a3aaba}.form-error{background:#fff0f0;border:1px solid #f8d5d5;color:#b64f4f;font-size:12px;line-height:1.6;padding:11px 13px;border-radius:7px;margin-top:14px;white-space:normal}.dashboard-error{margin:0 0 18px}.edit-dialog{width:580px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);padding:0;border:1px solid #e5e9f1;border-radius:17px;box-shadow:0 25px 100px #182a5533;color:var(--ink)}.edit-dialog::backdrop{background:#17234455;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:25px 28px;border-bottom:1px solid #edf0f5}.dialog-heading .eyebrow{font-size:9px;margin-bottom:7px}.dialog-heading h2{font-size:26px}.close-button{font-size:25px;border:0;background:none;color:#8791a5;padding:4px 6px}.dialog-content{padding:25px 28px}.source-tabs{background:#f0f2f7;padding:4px;border-radius:8px;display:flex;gap:3px;margin-bottom:23px}.source-tabs button{border:0;background:none;color:#8a93a5;width:50%;font-size:12px;padding:10px 8px;border-radius:5px}.source-tabs button[aria-pressed=true]{color:#3d52b5;background:#fff;box-shadow:0 2px 5px #29385b0a}.edit-dialog .dropzone{border:1.5px dashed #c9d3ef;border-radius:9px;background:#f8faff;padding:23px 18px;display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden;text-align:center;cursor:pointer}.dropzone:hover,.dropzone.drag-over{border-color:var(--blue);background:#f0f3ff}.upload-symbol{color:#627ae0;display:grid;place-items:center;width:31px;height:31px;background:#eaf0ff;border-radius:7px;margin-bottom:10px;font-size:22px}.dropzone strong{font-size:12px;color:#5e6f9b;font-weight:500;max-width:100%;overflow-wrap:anywhere}.dropzone>span:last-of-type{font-size:10px;color:#929eb8;margin-top:7px}.dropzone input{position:absolute;opacity:0;width:1px;height:1px;bottom:0;left:50%}.dropzone:focus-within{outline:3px solid #768aff;outline-offset:3px}.current-file{font-size:10px;color:#8490aa;margin-top:9px;overflow-wrap:anywhere}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:23px}.field-row>div{min-width:0}.edit-dialog label[for=note-en],.edit-dialog label[for=note-zh],.edit-dialog label[for=sha256]{margin-top:19px}.field-hint{font-size:10px;color:#929caf;line-height:1.6;margin-top:8px}.toggle-label{display:flex;align-items:center;gap:9px;font-size:12px;color:#65728c;min-height:43px}.toggle-label input{accent-color:var(--blue);width:17px;height:17px;margin:0}.dialog-footer{position:sticky;bottom:0;background:#fff;display:flex;align-items:center;gap:12px;border-top:1px solid #edf0f5;padding:19px 28px}.save-note{margin-right:auto;font-size:9px;color:#99a1b1;max-width:130px;line-height:1.6}.dialog-footer .button{min-height:38px;font-size:11px;padding:10px 15px;white-space:nowrap}.dialog-footer .quiet-button{font-size:11px}.upload-progress{margin-top:18px;font-size:11px;color:#6d7d9e}.upload-progress>div{display:flex;justify-content:space-between;gap:15px;margin-bottom:8px}.upload-progress progress{width:100%;height:6px;accent-color:var(--blue);display:block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.admin-body.is-busy .dialog-content input,.admin-body.is-busy .source-tabs button{pointer-events:none;opacity:.6}
@media(max-width:900px){.admin-main,.admin-footer{width:calc(100% - 48px)}.admin-header{padding-inline:24px;gap:18px}.admin-header-label{padding-left:18px;font-size:8px}.admin-header-actions{gap:16px}.download-table td,.download-table th{padding:17px}.table-heading>span{font-size:9px}.table-platform small{max-width:145px}.stats-grid{gap:14px}.stat{padding:22px}.download-table{min-width:760px}}
@media(max-width:600px){.admin-header{height:68px;padding-inline:20px;gap:10px}.admin-header .brand img{width:106px}.admin-header-label{display:none}.admin-header-actions{gap:12px;font-size:10px}.language-button{font-size:10px}.admin-header-actions .quiet-button{font-size:10px;padding:7px 9px}.admin-main{width:calc(100% - 40px);padding:37px 0 50px}.dashboard-heading{align-items:flex-start;margin-bottom:25px}.dashboard-heading h1{font-size:32px}.dashboard-heading p{font-size:12px;max-width:235px}.refresh-button{font-size:10px;padding:9px 10px}.stats-grid{gap:9px;margin-bottom:32px}.stat{padding:17px 12px;gap:9px}.stat-dot{width:6px;height:6px;margin-top:4px}.stat-label{font-size:9px;margin-bottom:12px}.stat strong{font-size:23px}.stat:last-child strong{font-size:13px}.stat-divider{margin:0 1px}.table-heading>span{display:none}.table-heading h2{font-size:16px}.admin-info{padding:16px;gap:10px}.admin-info p{font-size:10px}.admin-storage-note{font-size:9px;line-height:1.8}.admin-footer{width:calc(100% - 40px);font-size:8px}.admin-footer>span>span{font-size:6px}.login-panel{margin:25px auto;max-width:400px;padding:28px 24px}.login-panel h1{font-size:28px}.dialog-heading{padding:20px}.dialog-content{padding:20px}.dialog-footer{padding:17px 20px;gap:8px}.save-note{font-size:8px;max-width:85px}.dialog-footer .button{font-size:10px;padding:10px 12px}.dialog-footer .quiet-button{font-size:10px;padding:10px}.field-row{gap:15px}.edit-dialog{max-height:calc(100dvh - 24px)}.admin-view-site{display:none}}
