:root{--bg:#f6f7f9;--surface:#fff;--border:#dde1e7;--text:#1c2430;--muted:#6b7686;--accent:#2f5fd0;--accent-hover:#2650b3;--accent-soft:#e8eefb;--ok:#1f8a4c;--ok-bg:#e2f5ea;--warning:#a86400;--warning-bg:#fdf0d5;--failed:#c62828;--failed-bg:#fbe4e4;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--radius:6px;--font:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, "PingFang SC", "Microsoft YaHei", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);margin:0;font-size:14px;line-height:1.5}h1{margin:0 0 var(--space-4);font-size:20px}h2{margin:0 0 var(--space-3);font-size:16px}a{color:var(--accent)}.muted{color:var(--muted)}.error-text{color:var(--failed);font-size:13px}.center-note{padding:var(--space-5);text-align:center;color:var(--muted)}.app{flex-direction:column;min-height:100%;display:flex}.topbar{align-items:center;gap:var(--space-4);height:48px;padding:0 var(--space-5);background:var(--surface);border-bottom:1px solid var(--border);z-index:10;display:flex;position:sticky;top:0}.brand{font-size:15px;font-weight:600}.nav{gap:var(--space-1);display:flex}.nav-link{padding:6px var(--space-3);border-radius:var(--radius);color:var(--muted);text-decoration:none}.nav-link:hover{background:var(--bg);color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.spacer{flex:1}.user-info{align-items:baseline;gap:var(--space-3);white-space:nowrap;font-size:13px;display:flex}.content{padding:var(--space-5);flex:1;width:100%;max-width:1440px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4)}.btn{justify-content:center;align-items:center;gap:var(--space-1);padding:6px var(--space-3);font:inherit;cursor:pointer;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);display:inline-flex}.btn:hover:not(:disabled){border-color:var(--muted)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{color:var(--failed);border-color:var(--failed)}.btn-sm{padding:2px var(--space-2);font-size:12px}.input,.select,.textarea{width:100%;padding:6px var(--space-2);font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.input:focus,.select:focus,.textarea:focus,.btn:focus-visible{outline:2px solid var(--accent-soft);border-color:var(--accent)}.textarea{resize:vertical;font-family:var(--font)}.field{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;font-size:13px;display:flex}.field>span{color:var(--muted)}.table{border-collapse:collapse;background:var(--surface);width:100%}.table th,.table td{padding:6px var(--space-3);text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.table th{color:var(--muted);background:var(--bg);white-space:nowrap;font-size:12px;font-weight:500}.table tbody tr:hover{background:#fafbfc}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.badge{padding:0 var(--space-2);white-space:nowrap;border-radius:10px;font-size:12px;line-height:20px;display:inline-block}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-failed{background:var(--failed-bg);color:var(--failed)}.login-wrap{min-height:100%;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.login-card{width:100%;max-width:340px;padding:var(--space-5);flex-direction:column;display:flex}.login-card .error-text{margin-bottom:var(--space-3)}@media (width<=900px){.topbar{padding:0 var(--space-3);gap:var(--space-2)}.content{padding:var(--space-3)}.user-info .muted{display:none}}.translate-page{gap:var(--space-4);flex-direction:column;display:flex}.form-card{gap:var(--space-3);flex-direction:column;display:flex}.form-row{align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.radio-group{gap:var(--space-4);display:flex}.inline-field{align-items:center;gap:var(--space-2);display:flex}.inline-field .select{width:auto;min-width:200px}.form-foot{align-items:center;gap:var(--space-4);display:flex}.result{gap:var(--space-3);flex-direction:column;display:flex}.banner{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);flex-wrap:wrap;display:flex}.banner-failed{background:var(--failed-bg);color:var(--failed);border:1px solid var(--failed)}.result-table td{word-break:break-word}.result-table .actions{white-space:nowrap;min-width:150px}.row-warning{background:var(--warning-bg)}.row-failed{background:var(--failed-bg)}.table tbody tr.row-warning:hover{background:var(--warning-bg)}.table tbody tr.row-failed:hover{background:var(--failed-bg)}.badges{gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.count-over{color:var(--failed);font-weight:600}.retranslate-box{gap:var(--space-1);margin-top:var(--space-1);flex-direction:column;display:flex}.result-foot{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.summary{font-weight:500}.copy-all{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:inline-flex}.confirm-box{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--failed-bg);border-radius:var(--radius);flex-wrap:wrap;display:inline-flex}.copy-done{color:var(--ok)}.table tbody tr.clickable{cursor:pointer}.pager{align-items:center;gap:var(--space-3);margin-top:var(--space-3);display:flex}.admin-nav{margin-bottom:var(--space-4);flex-wrap:wrap}.admin-form{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.admin-form .field{margin-bottom:0}.admin-form .input,.admin-form .select{width:auto;min-width:140px}.table .row-actions{white-space:nowrap;gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.table .input.narrow{width:90px}.table tbody tr.row-disabled{color:var(--muted)}.section{margin-bottom:var(--space-5)}.total-usd{margin:var(--space-3) 0;font-size:22px;font-weight:600}.save-ok{color:var(--ok)}
