:root{--bg:#07111f;--card:#111c2d;--card2:#0d1728;--line:#26354d;--text:#e8f0ff;--muted:#9eb1ce;--green:#22c55e;--blue:#60a5fa;--red:#ef4444;--amber:#f59e0b;--violet:#c4b5fd}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,sans-serif;background:linear-gradient(180deg,#020617,#07111f 40%,#0b1325);color:var(--text)}.container{max-width:1400px;margin:0 auto;padding:18px}.hero,.card,.stat-card,.compact-overview{background:rgba(17,28,45,.92);border:1px solid var(--line);border-radius:20px}.hero{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;margin-bottom:12px}.hero h1{margin:0 0 6px}.hero p{margin:0;color:var(--muted)}.hero-actions{display:flex;gap:8px;flex-wrap:wrap}button,input,select,.upload-file-btn{font:inherit;border-radius:14px;border:1px solid var(--line);padding:11px 14px;background:#0d1728;color:var(--text)}button,.upload-file-btn{background:#2563eb;color:#fff;cursor:pointer;text-align:center;position:relative}.is-loading{opacity:.88;pointer-events:none;padding-left:36px!important}.is-loading::before{content:"";position:absolute;left:14px;top:50%;width:14px;height:14px;margin-top:-7px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.grid{display:grid;gap:12px}.compact-overview{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:12px;margin-bottom:12px}.compact-item{background:rgba(13,23,40,.9);border:1px solid var(--line);border-radius:14px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.compact-item .label{font-size:13px;color:var(--muted)}.compact-item strong{font-size:18px}.chart-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.chart-head h3{margin:0}.range-switch{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.range-btn{padding:8px 12px;background:rgba(37,99,235,.12);border:1px solid var(--line);color:var(--text)}.range-btn.active{background:#2563eb;border-color:#60a5fa}.charts-grid{grid-template-columns:1.2fr 1fr;margin-bottom:12px}.charts-grid.tighter{align-items:stretch}.chart-card{padding:14px;height:320px;display:flex;flex-direction:column}.chart-card canvas{width:100%!important;height:240px!important;max-height:240px!important;flex:0 0 240px}.card{padding:14px}.card h3{margin:0 0 10px}.cpa-list,.credential-store-list{display:grid;gap:8px}.cpa-card,.credential-item{background:rgba(13,23,40,.9);border:1px solid var(--line);border-radius:16px;padding:12px}.recent-upload-highlight{border-color:#22c55e!important;box-shadow:0 0 0 1px rgba(34,197,94,.45),0 0 18px rgba(34,197,94,.22);background:linear-gradient(180deg,rgba(34,197,94,.12),rgba(13,23,40,.92))}.account-chip .muted,.credential-item .muted{font-size:12px}.progress{width:100%;height:10px;background:#1e293b;border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,#16a34a,#4ade80)}.progress.remain>span{background:linear-gradient(90deg,#22c55e,#86efac)}.progress.mini-remain{height:6px;margin:2px 0}.progress.mini-remain>span{background:linear-gradient(90deg,#22c55e,#86efac)}.quota-row{margin-top:12px}.quota-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px;color:var(--muted);font-size:13px}.muted{color:var(--muted)}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.section-head p{margin:4px 0 0;color:var(--muted)}.cpa-form{display:grid;grid-template-columns:1fr 2fr 1.4fr 120px 120px;gap:10px}.below-form{margin-top:14px}.cpa-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.cpa-title-block{display:flex;align-items:flex-start;gap:10px}.order-tools{display:flex;gap:6px}.order-btn{min-width:34px;padding:6px 10px}.cpa-actions,.credential-toolbar{display:flex;gap:8px;flex-wrap:wrap}.badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#16324f;color:#bfdbfe;font-size:12px}.mini-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}.mini-stat{background:rgba(2,6,23,.45);padding:8px 10px;border-radius:12px;min-width:0}.mini-stat .n{font-weight:800;font-size:18px;line-height:1.15}.account-grid{display:grid;gap:8px;min-height:0}.compact-account-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:max-content}.compact-account-grid.is-collapsed{max-height:520px;overflow-y:auto;overflow-x:hidden;padding-right:4px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.compact-account-grid.is-expanded{max-height:none;overflow:visible;padding-right:0}.account-chip{background:rgba(2,6,23,.45);border:1px solid var(--line);border-radius:12px;padding:8px 10px;display:grid;gap:6px;min-width:0;position:relative}.account-chip-top,.credential-store-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.account-chip-top strong,.credential-item strong{font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.credential-toolbar{margin-bottom:10px}.credential-store-head{margin-top:4px;margin-bottom:8px}.credential-store-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.credential-store-list.credential-store-folded{max-height:468px;overflow:auto;padding-right:4px}.credential-store-list.credential-store-expanded{max-height:none;overflow:visible}.credential-item{display:grid;grid-template-columns:28px minmax(180px,1.1fr) minmax(140px,.7fr) minmax(160px,.9fr) minmax(300px,1.5fr) auto;align-items:center;gap:12px;padding:10px 12px}.credential-item input[type=checkbox]{margin:0}.credential-main{display:grid;gap:4px;min-width:0}.credential-actions,.account-actions{display:flex;justify-content:flex-end}.cred-status{display:inline-flex;align-items:center;gap:6px}.cred-status.ok{color:#86efac}.cred-status.pending{color:#9eb1ce}.cred-status.bad{color:#fca5a5}.current-target-status{font-weight:700;font-size:13px;margin-bottom:6px}.credential-presence-block{display:grid;gap:8px;min-width:0}.credential-presence-tags{display:flex;gap:6px;flex-wrap:wrap}.presence-tag{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid var(--line);background:rgba(148,163,184,.10);color:var(--muted);font-size:12px;line-height:1.2}.presence-tag.ok{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.35);color:#bbf7d0}.presence-tag.bad{background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.3);color:#fecaca}.presence-tag.pending{background:rgba(148,163,184,.10);border-color:rgba(148,163,184,.22);color:#cbd5e1}.presence-tag.is-current{box-shadow:0 0 0 1px rgba(96,165,250,.45);border-color:#60a5fa}.credential-item.is-present-in-target{border-color:rgba(34,197,94,.45);box-shadow:0 0 0 1px rgba(34,197,94,.18)}.credential-item.is-missing-in-target{border-color:rgba(245,158,11,.35)}.cred-check{display:inline-flex;width:18px;height:18px;border-radius:999px;align-items:center;justify-content:center;background:rgba(34,197,94,.18);border:1px solid rgba(34,197,94,.45);font-size:12px;font-weight:700}.small-btn{padding:6px 10px;border-radius:10px}.danger{background:rgba(239,68,68,.15)!important;color:#fecaca!important}.ghost{background:rgba(96,165,250,.08)!important;color:#bfdbfe!important}.ok{color:#86efac}.warn{color:#fcd34d}.err{color:#fca5a5}.disabled{color:var(--violet)}@media(max-width:1200px){.compact-account-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.credential-item{grid-template-columns:28px 1fr;align-items:start}}@media(max-width:980px){.compact-overview,.charts-grid,.cpa-form,.mini-grid,.compact-account-grid{grid-template-columns:1fr}.hero,.section-head,.cpa-head,.account-chip-top,.credential-store-head{flex-direction:column;align-items:stretch}.chart-card{height:300px}.chart-card canvas{height:220px!important;max-height:220px!important;flex-basis:220px}.range-switch{justify-content:flex-start}.credential-item{grid-template-columns:28px 1fr}.hero-actions{width:100%}}@media(max-width:720px){.container{padding:10px}.compact-overview{grid-template-columns:1fr 1fr!important}.compact-item{flex-direction:column;align-items:flex-start;gap:6px;padding:10px}.compact-item strong{font-size:16px}.hero{padding:14px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hero-actions button{width:100%}.chart-card{height:auto}.chart-card canvas{height:200px!important;max-height:200px!important;flex-basis:200px;min-width:0}.credential-toolbar,.cpa-actions{display:grid;grid-template-columns:1fr;gap:8px}.credential-store-head,.section-head,.cpa-head{align-items:stretch}.credential-item{grid-template-columns:24px 1fr!important;gap:8px}.credential-actions{justify-content:flex-start}.mini-stat .n{font-size:18px}.badge{align-self:flex-start}}.account-pick{position:absolute;top:8px;left:8px;display:inline-flex;align-items:center;cursor:pointer}.account-pick input{margin:0}.account-chip-top{padding-left:20px}.account-actions{display:flex;justify-content:flex-end}.progress-panel{position:fixed;top:18px;right:18px;z-index:9000;width:min(360px,calc(100vw - 24px));max-height:calc(100vh - 36px);overflow:hidden;display:grid;gap:10px;background:rgba(17,28,45,.96);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 60px rgba(2,6,23,.45);padding:14px}.progress-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.progress-log-list{display:grid;gap:8px;overflow:auto;max-height:calc(100vh - 150px);padding-right:6px;overscroll-behavior:contain;scrollbar-width:thin}.progress-log-item{border:1px solid var(--line);background:rgba(2,6,23,.45);border-radius:12px;padding:8px 10px;display:grid;gap:4px}.progress-log-item .top{display:flex;justify-content:space-between;gap:8px;align-items:center}.progress-log-item .tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;background:rgba(96,165,250,.10);color:#bfdbfe;border:1px solid rgba(96,165,250,.25)}.progress-log-item.ok .tag{background:rgba(34,197,94,.12);color:#bbf7d0;border-color:rgba(34,197,94,.28)}.progress-log-item.warn .tag{background:rgba(245,158,11,.12);color:#fde68a;border-color:rgba(245,158,11,.28)}.progress-log-item.err .tag{background:rgba(239,68,68,.12);color:#fecaca;border-color:rgba(239,68,68,.28)}.progress-log-item .time{font-size:12px;color:var(--muted)}.progress-log-item .msg{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.45}.ui-notice{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(2,6,23,.42)}.ui-notice.hidden{display:none}.ui-notice-card{width:min(92vw,560px);background:rgba(17,28,45,.99);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 80px rgba(2,6,23,.55);padding:16px 18px}.ui-notice-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.ui-notice-head strong{font-size:16px}.ui-notice-card pre{margin:0;white-space:pre-wrap;word-break:break-word;color:var(--text);font:inherit;line-height:1.6;font-size:14px}.credential-load-more{display:flex;justify-content:center;padding:8px 0 4px}.credential-load-more button{min-width:220px}@media(max-width:1100px){.progress-panel{position:static;width:auto;max-height:none;margin:12px 0}.progress-log-list{max-height:320px}}
