: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}.brand{display:flex;align-items:center;gap:10px;min-width:0;flex:none}.brand-logo-crop{position:relative;display:block;flex:none;overflow:hidden;width:64px;aspect-ratio:825 / 559;background:#fff}.brand-logo-crop img{position:absolute;width:194%;max-width:none;height:auto;left:-47.9%;top:-92.8%}.brand-copy{display:flex;flex-direction:column;min-width:0}.brand-copy h1{color:#24435a}.brand-login{flex-direction:column;gap:8px;margin:0 0 22px;text-align:center}.brand-login .brand-logo-crop{width:150px}.brand-login .brand-copy h1{font-size:22px}.brand-login .brand-copy .sub{margin-top:3px;color:var(--muted);font-size:13px}@media (max-width: 760px){.topbar{padding:12px;flex-wrap:wrap}.topbar .brand-logo-crop{width:56px}.topbar .brand-copy .sub{display:none}}.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}.legacy-transition{border-color:#f59e0b;background:#fffbeb;margin-bottom:18px}.transition-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.transition-step{display:flex;flex-direction:column;gap:9px;padding:14px;border:1px solid #fde68a;border-radius:10px;background:#fff}.transition-step .btn{margin-top:auto}.transition-result{margin-top:14px;padding:12px 14px;border-radius:8px;background:#fff;border:1px solid #fde68a;font-size:13px}.transition-result ul{margin:8px 0 0;padding-left:20px}.warning{margin:10px 0;padding:10px 12px;color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;font-size:13px}.ok{color:var(--ok)}@media (max-width: 760px){.transition-steps{grid-template-columns:1fr}}.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)}.advice-section{margin-bottom:6px}.advice-list{list-style:none;margin:0;padding:0}.advice-list li{border-left:3px solid var(--line);padding:6px 0 6px 12px;margin-bottom:10px}.advice-list li.advice-todo{border-left-color:#f59e0b}.advice-list li.advice-done{border-left-color:#16a34a}.advice-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px}.advice-list p{margin:4px 0 0;font-size:13px;line-height:1.55;color:var(--muted)}.assistant-fab{position:fixed;right:20px;bottom:20px;z-index:90;border-radius:999px;padding:11px 16px;font-weight:600;box-shadow:0 8px 24px #2563eb59}.assistant-drawer{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:92vw;background:var(--panel);border-left:1px solid var(--line);box-shadow:-12px 0 40px #00000024;z-index:110;display:flex;flex-direction:column}.assistant-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}.assistant-head b{font-size:14px}.assistant-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.assistant-msg{max-width:88%;padding:8px 11px;border-radius:12px;font-size:13.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.assistant-msg.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.assistant-msg.assistant{align-self:flex-start;background:#f3f4f6;color:var(--ink);border-bottom-left-radius:4px}.assistant-msg.bot-typing{opacity:.6;letter-spacing:2px}.assistant-proposals{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fafbfc}.assistant-proposals-head{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.assistant-proposal{padding:7px 0;border-top:1px dashed var(--line)}.assistant-proposal:first-of-type{border-top:none}.assistant-proposal-row{display:flex;align-items:center;gap:8px;cursor:pointer}.assistant-proposal-label{font-size:13px;font-weight:600}.assistant-proposal-value{margin:5px 0 0 24px}.assistant-proposal-value input,.assistant-proposal-value select{width:100%;max-width:220px}.assistant-multi{display:flex;flex-wrap:wrap;gap:4px 12px}.assistant-multi label{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:400}.assistant-actions{display:flex;gap:8px;margin-top:10px}.assistant-routes{display:flex;flex-direction:column;gap:8px}.assistant-route{display:flex;flex-direction:column;gap:6px;align-items:flex-start;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:9px 11px;font-size:13px}.assistant-input{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);align-items:flex-end}.assistant-input textarea{flex:1;resize:none;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:13.5px}.assistant-newsource{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:8px;margin-bottom:4px}.assistant-newsource .assistant-proposal-label{color:#166534}.assistant-newsource-fields{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 0 24px}.assistant-chip{background:#fff;border:1px solid #bbf7d0;border-radius:999px;padding:2px 8px;font-size:11.5px;color:#166534}
