*{box-sizing:border-box}:root{--bg:#f5f6f8;--panel:#fff;--border:#d8dce2;--text:#1c2430;--muted:#67707e;--accent:#b8860b;--accent-dark:#8a6508;--danger:#b23a3a;--ok:#2e7d4f}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}.app{flex-direction:column;height:100%;display:flex}.topbar{color:#fff;background:#232a35;flex:none;align-items:center;gap:24px;height:52px;padding:0 20px;display:flex}.topbar .brand{letter-spacing:.3px;font-size:16px;font-weight:700}.topbar .brand span{color:#e9b949}.topbar nav{gap:4px;height:100%;display:flex}.topbar nav button{color:#b6bdc9;background:0 0;border:none;border-bottom:3px solid #0000;height:100%;padding:0 14px;font-size:14px}.topbar nav button.active{color:#fff;border-bottom-color:#e9b949}.topbar nav button:hover{color:#fff}.topbar .user{color:#b6bdc9;align-items:center;gap:10px;margin-left:auto;font-size:13px;display:flex}.topbar .user button{color:#b6bdc9;background:0 0;border:1px solid #4a5361;border-radius:4px;padding:3px 10px;font-size:12px}.topbar .user button:hover{color:#fff;border-color:#b6bdc9}.auth-screen{height:100%;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex}.auth-screen .brand{color:var(--text);font-size:22px;font-weight:700}.auth-screen .brand span{color:var(--accent)}.auth-screen p{max-width:420px;margin:0}.auth-screen .hint{font-size:13px}.page{flex:1;padding:20px;overflow:auto}.page.explorer{flex-direction:column;display:flex;overflow:hidden}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px}h2{margin:0 0 12px;font-size:16px}.muted{color:var(--muted)}.small{font-size:12.5px}.error{color:var(--danger)}.btn{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:6px;padding:6px 14px}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-dark)}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.5;cursor:default}.btn.small{padding:3px 10px;font-size:12.5px}input[type=text],textarea,select{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;padding:6px 10px}label.field{margin-bottom:10px;display:block}label.field .name{color:var(--muted);margin-bottom:3px;font-size:12.5px;display:block}.scenario-list{gap:12px;max-width:980px;display:grid}.scenario-card{align-items:flex-start;gap:16px;display:flex}.scenario-card .body{flex:1;min-width:0}.scenario-card h3{margin:0 0 2px;font-size:15px}.scenario-card .meta{color:var(--muted);font-size:12.5px}.file-row{align-items:center;gap:8px;margin-top:4px;font-size:12.5px;display:flex}.file-row .kind{flex:none;width:170px}.file-row .status-done{color:var(--ok)}.file-row .status-failed{color:var(--danger)}.bar{background:#e8eaee;border-radius:3px;flex:1;max-width:220px;height:6px;overflow:hidden}.bar>div{background:var(--accent);height:100%;transition:width .4s}.modal-back{z-index:10;background:#14182073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;flex-direction:column;width:640px;max-width:92vw;max-height:86vh;padding:18px;display:flex}.modal h2{margin-bottom:10px}.modal .actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.crumb{color:var(--muted);word-break:break-all;margin-bottom:8px;font-size:12.5px}.browser-list{border:1px solid var(--border);border-radius:6px;flex:1;min-height:200px;max-height:46vh;overflow:auto}.browser-list .entry{text-align:left;background:0 0;border:none;border-bottom:1px solid #eef0f3;align-items:center;gap:8px;width:100%;padding:6px 10px;font-size:13.5px;display:flex}.browser-list .entry:hover{background:#f4f6f9}.browser-list .entry.file{color:var(--muted);cursor:default}.preview-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:12.5px}.preview-table th,.preview-table td{text-align:left;border-bottom:1px solid #eef0f3;padding:4px 8px}.preview-table th{color:var(--muted);font-weight:600}.controls{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;flex:none;align-items:flex-start;gap:14px;margin-bottom:12px;padding:12px 16px;display:flex}.controls .field{min-width:210px;margin:0}.multi{border:1px solid var(--border);background:#fff;border-radius:6px;min-width:210px;max-height:130px;padding:4px 8px;overflow-y:auto}.multi::-webkit-scrollbar{width:8px}.options::-webkit-scrollbar{width:8px}.multi::-webkit-scrollbar-thumb{background:#c3c9d2;border-radius:4px}.options::-webkit-scrollbar-thumb{background:#c3c9d2;border-radius:4px}.multi::-webkit-scrollbar-track{background:#f1f3f6;border-radius:4px}.options::-webkit-scrollbar-track{background:#f1f3f6;border-radius:4px}.multi,.options{scrollbar-width:thin;scrollbar-color:#c3c9d2 #f1f3f6}.site-select{min-width:210px;position:relative}.select-face{text-align:left;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.select-face .caret{color:var(--muted);font-size:11px}.site-select .dropdown{z-index:5;border:1px solid var(--border);background:#fff;border-radius:8px;width:280px;padding:8px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #14182024}.site-select .dropdown input{margin-bottom:6px;padding:4px 8px;font-size:12.5px}.site-select .options{max-height:300px;overflow-y:auto}.site-select .option{text-align:left;background:0 0;border:none;border-radius:5px;width:100%;padding:4px 8px;font-size:13px;display:block}.site-select .option:hover{background:#f4f6f9}.site-select .option.selected{background:var(--accent);color:#fff}.site-select .option.missing{color:#b0b6bf}.multi label{align-items:center;gap:6px;padding:1px 0;font-size:13px;display:flex}.multi label.missing{color:#b0b6bf}.chart-wrap{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex:1;min-height:0;padding:6px}.inline-select{width:auto;padding:5px 8px;font-size:12.5px}.toggle{gap:0;display:flex}.toggle button{border:1px solid var(--border);background:#fff;padding:6px 12px}.toggle button:first-child{border-radius:6px 0 0 6px}.toggle button:last-child{border-left:none;border-radius:0 6px 6px 0}.toggle button.active{background:var(--accent);border-color:var(--accent);color:#fff}.empty{height:100%;color:var(--muted);justify-content:center;align-items:center;display:flex}.pkg-item{align-items:center;gap:8px;margin-bottom:6px;display:flex}.pkg-item select{flex:1}.pkg-item input[type=color]{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;flex:none;width:42px;height:30px;padding:2px}.pkg-chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.pkg-chip{border:1px solid var(--border);background:#fff;border-radius:12px;align-items:center;gap:6px;padding:2px 10px;font-size:12.5px;display:inline-flex}.pkg-chip .dot{border-radius:5px;width:10px;height:10px}.export-grid{grid-template-columns:repeat(auto-fit,minmax(380px,460px));align-items:start;gap:16px;display:grid}.export-panel .field{margin-bottom:10px}.toast{color:#ffd7d7;z-index:20;background:#3a2626;border-radius:8px;max-width:420px;padding:10px 16px;position:fixed;bottom:18px;right:18px}
