:root{--bg: #f5f7fa;--panel: #ffffff;--ink: #1f2933;--muted: #6b7280;--line: #e5e7eb;--accent: #2563eb;--accent-ink: #ffffff;--error: #dc2626;--warn: #d97706;--ok: #16a34a;--info: #6b7280;font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:var(--accent)}.topbar{background:var(--panel);border-bottom:1px solid var(--line);padding:14px 24px;display:flex;align-items:center;gap:12px}.topbar h1{font-size:16px;margin:0;font-weight:650}.topbar .sub{color:var(--muted);font-size:13px}.topbar .spacer{flex:1}.wrap{max-width:1060px;margin:0 auto;padding:24px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px}.panel+.panel{margin-top:16px}.panel h2{font-size:15px;margin:0 0 16px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}label{display:block;font-size:12.5px;color:var(--muted);margin:0 0 4px}input,select{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:#fff;color:var(--ink)}input:focus,select:focus{outline:2px solid #bfdbfe;border-color:var(--accent)}.field{margin-bottom:12px}button{font-size:14px;padding:9px 15px;border-radius:8px;border:1px solid transparent;cursor:pointer}.btn{background:var(--accent);color:var(--accent-ink)}.btn:hover{background:#1d4ed8}.btn.secondary{background:#fff;color:var(--ink);border-color:var(--line)}.btn.secondary:hover{background:#f3f4f6}.btn.ghost{background:transparent;color:var(--accent);border-color:transparent}.btn.danger{background:#fff;color:var(--error);border-color:#fecaca}.btn:disabled{opacity:.5;cursor:not-allowed}.stepper{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.step{display:flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:13px;cursor:pointer}.step.active{background:var(--accent);color:#fff;border-color:var(--accent)}.step.done{color:var(--ok);border-color:#bbf7d0}.step .n{width:18px;height:18px;border-radius:999px;background:#eef2ff;color:var(--accent);display:grid;place-items:center;font-size:11px}.step.active .n{background:#ffffff40;color:#fff}table{width:100%;border-collapse:collapse;font-size:13px}th,td{border:1px solid var(--line);padding:6px 9px;text-align:left}th{background:#f9fafb;font-weight:600;color:#374151}td input{padding:5px 6px}.list-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}.list-item+.list-item{margin-top:8px}.list-item .title{font-weight:600}.list-item .meta{color:var(--muted);font-size:12.5px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.badge.error{background:#fee2e2;color:var(--error)}.badge.warning{background:#fef3c7;color:var(--warn)}.badge.ok{background:#dcfce7;color:var(--ok)}.badge.info{background:#f3f4f6;color:var(--info)}.issues{list-style:none;padding:0;margin:8px 0 0}.issues li{font-size:13px;padding:4px 0}.issues li.error{color:var(--error)}.issues li.warning{color:var(--warn)}.issues li.info{color:var(--info)}.muted{color:var(--muted);font-size:13px}.toolbar{display:flex;gap:10px;align-items:center;margin-top:18px}.toolbar .spacer{flex:1}.chips{display:flex;gap:14px;flex-wrap:wrap}.chips label{display:flex;gap:6px;align-items:center;color:var(--ink);margin:0;font-size:13px}.chips input{width:auto}.pill{font-size:12px;color:var(--muted)}.verdict-pass{color:var(--ok);font-weight:600}.verdict-fail{color:var(--error);font-weight:600}.dropzone{border:1.5px dashed var(--line);border-radius:10px;padding:22px;text-align:center;color:var(--muted)}.spin{color:var(--muted);font-size:13px}.stephelp{display:flex;gap:10px;align-items:flex-start;background:#eff6ff;border:1px solid #dbeafe;color:#1e3a5f;border-radius:10px;padding:10px 14px;font-size:13px;line-height:1.5;margin-bottom:14px}.stephelp-ico{font-size:15px;line-height:1.4}.helptip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:6px;border-radius:999px;background:#eef2ff;color:var(--accent);font-size:11px;font-weight:700;cursor:help;-webkit-user-select:none;user-select:none;vertical-align:middle}.helptip .pop{display:none;position:absolute;z-index:60;top:150%;left:50%;transform:translate(-50%);width:250px;background:#111827;color:#fff;padding:9px 11px;border-radius:8px;font-size:12.5px;font-weight:400;line-height:1.5;text-align:left;box-shadow:0 8px 24px #0000002e}.helptip:hover .pop,.helptip:focus .pop{display:block}.helptip .pop:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:#111827}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182780;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:100;overflow-y:auto}.modal{background:#fff;border-radius:14px;width:100%;max-width:680px;box-shadow:0 20px 60px #00000040}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:16px}.modal-body{padding:18px 22px 24px}.modal-body h3{font-size:14px;margin:20px 0 8px}.modal-body h3:first-child{margin-top:4px}.help-steps{margin:0;padding-left:20px;font-size:13px;line-height:1.6;color:var(--ink)}.help-steps li{margin-bottom:4px}.help-qa{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin-bottom:8px}.help-qa summary{cursor:pointer;font-weight:600;font-size:13.5px}.help-qa p{margin:8px 0 2px;font-size:13px;line-height:1.55;color:var(--muted)}
