:root{--bg: #f5f6f7;--panel: #ffffff;--text: #1f2933;--muted: #667085;--line: #d9dde3;--accent: #1d4f91;--accent-dark: #163c70;--ok: #2b7a3d;--danger: #b42318;--warn: #9a6700}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Segoe UI,system-ui,-apple-system,Roboto,sans-serif}.container{max-width:1040px;margin:0 auto;padding:0 16px 80px}header{padding:20px 0 14px;border-bottom:1px solid var(--line);margin-bottom:20px}h1{font-size:20px;font-weight:600;margin:0}h2{font-size:15px;font-weight:600;margin:0 0 12px}h3{font-size:14px;font-weight:600;margin:0}p{margin:0 0 10px}a{color:var(--accent)}code{font-size:12px;background:#eceff2;padding:1px 5px;border-radius:3px}.muted{color:var(--muted)}.small{font-size:12.5px}.warn{color:var(--warn)}.spacer{flex:1}.card{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:16px 18px;margin:0 0 16px}.card ul{margin:0 0 12px;padding-left:18px;columns:2;column-gap:24px}.card .card{background:#fafbfc}.banner{margin:0 0 16px;padding:9px 12px;border:1px solid #e6d9a8;border-left:3px solid var(--warn);background:#fffdf5;border-radius:4px;font-size:13px}input:not([type=checkbox]),select,textarea{width:100%;height:34px;padding:5px 9px;border:1px solid #c4cad2;border-radius:4px;background:#fff;color:var(--text);font:inherit}input:disabled,select:disabled{background:#f0f2f4;color:var(--muted)}input:focus-visible,select:focus-visible,button:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);margin:0}button{height:34px;padding:0 14px;border:1px solid #c4cad2;border-radius:4px;background:#fff;color:var(--text);font:inherit;cursor:pointer}button:hover:not(:disabled){background:#f0f2f4}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-dark)}button.ok{color:var(--ok);border-color:var(--ok)}button.danger{color:var(--danger);border-color:var(--danger)}button.ok:hover:not(:disabled){background:#eef7f0}button.danger:hover:not(:disabled){background:#fdf0ee}.field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);flex:1;min-width:160px;margin-bottom:12px}.check{display:flex;gap:8px;align-items:center}.row{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}.row>button{margin-bottom:12px}.row>.check{margin-bottom:18px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.toolbar h2{margin:0;flex:1}.actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.tabs{display:inline-flex}.tabs button{border-radius:0;margin-left:-1px}.tabs button:first-child{border-radius:4px 0 0 4px;margin-left:0}.tabs button:last-child{border-radius:0 4px 4px 0}.tabs .active{background:var(--accent);border-color:var(--accent);color:#fff;position:relative}.tabs .active:hover:not(:disabled){background:var(--accent)}.table-wrap{overflow:auto;max-height:62vh;border:1px solid var(--line);border-radius:4px}table{border-collapse:collapse;font-size:12.5px;width:max-content;min-width:100%}th,td{padding:6px 10px;border-bottom:1px solid #e8ebef;text-align:left;vertical-align:top;max-width:260px}th{position:sticky;top:0;background:#eef0f3;font-weight:600;white-space:nowrap;z-index:1}tbody tr:hover{background:#f8f9fb}tr.off{opacity:.45}.item{border-left:3px solid var(--line)}.item.approved{border-left-color:var(--ok)}.item.discarded{border-left-color:var(--danger)}.badge{padding:0 7px;border:1px solid var(--line);border-radius:3px;font-size:12px}.badge.approved{color:var(--ok);border-color:var(--ok)}.badge.discarded{color:var(--danger);border-color:var(--danger)}.progress{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.progress-head{font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:8px}.bar{height:6px;background:#e4e7ec;border-radius:3px;overflow:hidden}.bar div{height:100%;background:var(--accent);transition:width .3s ease}.progress ul{list-style:none;margin:10px 0 0;padding:0;columns:1;font-size:13px;color:var(--muted)}.progress li{padding:1px 0}.progress li.now{color:var(--text)}.spinner{display:inline-block;width:13px;height:13px;margin-right:8px;vertical-align:-2px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.spinner.dark{border-color:#d0d5dc;border-top-color:var(--accent);margin-right:0}@keyframes spin{to{transform:rotate(360deg)}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14181f73;display:grid;place-items:center;padding:16px;z-index:10}.modal{background:var(--panel);border-radius:4px;padding:22px;max-width:460px;width:100%;border:1px solid var(--line)}.modal h2{font-size:17px}.modal.good{border-top:3px solid var(--ok)}.modal.bad{border-top:3px solid var(--warn)}.linkbtn{align-self:center;font-weight:600}.toast{position:fixed;bottom:20px;right:20px;left:auto;z-index:20;max-width:min(420px,calc(100vw - 32px));padding:10px 14px;background:#fff;color:var(--text);border:1px solid var(--line);border-left:4px solid var(--muted);border-radius:4px;cursor:pointer}.toast.success{border-left-color:var(--ok)}.toast.error{border-left-color:var(--danger)}.toast.info{border-left-color:var(--muted)}.toast a{font-weight:600}[hidden]{display:none!important}@media (max-width: 640px){.card ul{columns:1}.toast{left:16px;right:16px;max-width:none}}
