html,body{margin:0;padding:0}
body{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;background:#f4f6fb}
.app-bar{position:sticky;top:0;z-index:10;background:#16253a;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.app-bar-inner{max-width:1120px;margin:0 auto;padding:8px 16px 0;display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap}
.app-title{padding-bottom:10px;font-size:16px}
.tabs{display:flex;gap:4px}
.tab{display:flex;align-items:center;gap:6px;padding:9px 16px;border:none;border-radius:8px 8px 0 0;background:#2c3e5c;color:#dfe6f3;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}
.tab.active{background:#f4f6fb;color:#16253a}
.tab-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;display:inline-block;animation:tabPulse 1.2s infinite}
@keyframes tabPulse{50%{opacity:.3}}
.tool-panel{min-height:calc(100vh - 50px)}
.tool-panel[hidden]{display:none}
.tool-panel .tool-main{margin-top:20px}
.tool-extra textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid #c9d2e3;border-radius:8px;font-size:14px;font-family:inherit;margin-top:8px}
.tool-extra details summary{cursor:pointer;font-weight:700}
.tool-extra h3{margin:14px 0 6px;font-size:15px}
.tool-extra h3 small{font-weight:400;color:#667085}
.extra-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.extra-row button{width:auto;padding:8px 14px;border:none;border-radius:8px;background:#1f3a8a;color:#fff;font-weight:700;cursor:pointer;font-size:14px}
#tool-sitemap .extra-row button{background:#138a6b}
.extra-row button.secondary,#tool-sitemap .extra-row button.secondary{background:#e7ecf5;color:#16253a}
.extra-row button.danger,#tool-sitemap .extra-row button.danger{background:#fde8e8;color:#b91c1c}
.saved-row select{flex:1;min-width:220px;padding:8px;border:1px solid #c9d2e3;border-radius:8px;font-size:14px}
.saved-at{color:#667085;font-size:13px;margin:6px 0 0}
.tool-message{font-size:13px;color:#1e40af;margin:6px 0 0}
.tool-message.error{color:#b91c1c}
ul.job-list{list-style:none;margin:0;padding:0;max-height:240px;overflow:auto;border:1px solid #e3e8f0;border-radius:8px}
ul.job-list li{display:flex;gap:10px;align-items:center;padding:7px 10px;border-bottom:1px solid #eef1f6;cursor:pointer;font-size:13px;margin:0}
ul.job-list li::before{display:none !important;content:none !important}
ul.job-list li:hover{background:#f5f8ff}
ul.job-list li.job-selected{background:#e8efff;font-weight:700}
ul.job-list li.job-empty{cursor:default;color:#667085}
.job-badge{flex:none;padding:2px 8px;border-radius:999px;font-size:12px;background:#e5e7eb;color:#374151}
.job-running .job-badge{background:#fef3c7;color:#92400e}
.job-done .job-badge{background:#d1fae5;color:#065f46}
.job-error .job-badge{background:#fee2e2;color:#991b1b}
.job-name{word-break:break-all}
.job-note{margin-left:auto;color:#667085;font-weight:400;text-align:right}
.tab-dot[hidden]{display:none}
