:root{--bg:#f5f7fb;--panel:#fff;--text:#1f2937;--muted:#6b7280;--primary:#2563eb;--border:#e5e7eb;--ok:#0f766e;--warn:#b45309;--err:#b91c1c}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Tahoma,Arial,sans-serif;color:var(--text)}a{text-decoration:none;color:inherit}.sidebar{position:fixed;right:0;top:0;bottom:0;width:250px;background:#111827;color:#fff;padding:22px}.brand{font-weight:700;font-size:18px;margin-bottom:28px}.sidebar nav{display:grid;gap:8px}.sidebar a{padding:12px;border-radius:10px;color:#d1d5db}.sidebar a:hover{background:#1f2937;color:#fff}.main{margin-right:250px;padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.topbar h1{font-size:24px;margin:0}.cards{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:16px;margin-bottom:20px}.card,.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 20px rgba(15,23,42,.04)}.card{padding:22px}.card b{display:block;font-size:34px}.card span{color:var(--muted)}.card.ok b{color:var(--ok)}.card.warn b{color:var(--warn)}.panel{padding:20px;margin-bottom:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.panel-head h2{margin:0;font-size:20px}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid var(--border);text-align:right;font-size:14px}th{color:#374151;background:#f9fafb}.btn{display:inline-flex;align-items:center;justify-content:center;background:#eef2ff;color:#1d4ed8;border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;font-size:14px}.btn.primary{background:var(--primary);color:white}.btn.small{padding:6px 9px;font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.badge{background:#f3f4f6;border-radius:999px;padding:5px 10px}.alert{padding:12px 14px;border-radius:12px;margin:0 0 15px}.alert.ok{background:#ecfdf5;color:#065f46}.alert.error{background:#fef2f2;color:#991b1b}.alert.warn{background:#fffbeb;color:#92400e}label{display:grid;gap:7px;font-weight:700;margin-bottom:14px}input,select{width:100%;padding:11px;border:1px solid var(--border);border-radius:10px;background:#fff;font-family:inherit}.grid2{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:15px}.upload-box{border:2px dashed #cbd5e1;border-radius:18px;background:#f8fafc;padding:30px;text-align:center;margin-bottom:20px}.upload-box input{background:white}.thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:14px}.thumb,.review-card{border:1px solid var(--border);border-radius:14px;padding:10px;background:#fff}.thumb img,.review-card img{width:100%;height:150px;object-fit:contain;background:#f9fafb;border-radius:10px}.group.warn{border-color:#f59e0b}.group.ok{border-color:#14b8a6}.review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.install{max-width:650px;margin:40px auto;padding:20px}.muted{color:var(--muted)}@media(max-width:900px){.sidebar{position:static;width:auto}.main{margin:0;padding:18px}.cards,.grid2{grid-template-columns:1fr}.panel-head{display:block}.actions{margin-top:10px}}
.chunk-progress{margin-top:18px;text-align:right;border:1px solid var(--border);border-radius:14px;background:#f8fafc;padding:14px}.chunk-progress .progress-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.chunk-progress .progress-top strong{font-size:22px;color:#1d4ed8;direction:ltr}.chunk-progress .progress-top span{font-weight:700;color:#334155}.chunk-progress .bar{height:14px;border-radius:999px;background:#e5e7eb;overflow:hidden}.chunk-progress .bar span{display:block;height:100%;width:0;background:#2563eb;transition:width .2s}.chunk-progress p{margin:8px 0 0;color:#334155;font-size:14px}

.provider-hint{margin-top:18px;padding:14px 16px;border-radius:14px;background:#eef6ff;border:1px solid #cfe4ff;color:#123456;line-height:1.9;font-weight:600}
.provider-hint.warning{background:#fff7e6;border-color:#ffd591;color:#7a4b00}
.notice.info{background:#eef6ff;border:1px solid #cfe4ff;color:#123456;padding:14px 18px;border-radius:14px;margin:10px 0 18px;line-height:1.9}
.help-list{line-height:2.1;margin:0;padding-right:22px}
.help-list li{margin-bottom:8px}
