/* Excel tools (excel-tools.php). Loaded after pdf-tools.css, code-tools.css and data-tools.css
   (hero, fields, tab strip, cards, table preview); this file adds the green hero, the
   multi-file source card, rule/column builders, the step trail, and invalid-cell highlights. */
.xt-hero{background:linear-gradient(120deg,#062a1e 0%,#0f5a3f 55%,#1a7a4f 150%)}
.xt-hero:before{content:"XLS"}
.xt-hero h1 em{color:#9ff0c4}
.xt-hero .pdft-hero-summary>span,.xt-hero .pdft-hero-badges .icon{color:#9ff0c4}
.xt-hero .pdft-hero-summary i{background:#9ff0c4}
.xt-source{margin-bottom:24px}
.xt-source-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px;align-items:start}
.xt-source .dt-drop{min-height:150px}
.xt-source-status{font-weight:700;color:#0f5a3f}
.xt-files{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.xt-files li{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;align-items:center;border:1px solid #d7e5dc;border-radius:8px;padding:6px 8px 6px 10px;background:#f2faf5;font-size:.78rem;color:#173a2b}
.xt-files li .icon{width:16px;height:16px;color:#1a7a4f}
.xt-files li b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xt-files li small{color:#557064;white-space:nowrap}
.xt-layout{align-items:start}
.xt-controls{display:block}
.xt-panel{display:grid;gap:18px}
.xt-checks{display:grid;gap:8px}
.xt-checks .dt-checkbox{min-height:40px}
.xt-span{grid-column:1/-1}
.xt-col-picks{display:flex;flex-wrap:wrap;gap:6px}
.xt-col-picks label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:5px 11px 5px 8px;font-size:.78rem;background:#fff;cursor:pointer;color:#183a5a}
.xt-col-picks label:has(input:checked){background:#0b3155;color:#fff;border-color:#0b3155}
.xt-col-picks input{width:14px;height:14px;accent-color:#0b3155;margin:0}
.xt-col-picks i{font-style:normal;font-size:.68rem;opacity:.7}
.xt-col-picks i:empty{display:none}
.xt-rules .dt-col{grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,1fr) auto}
.xt-rule-param[hidden]{display:block!important;visibility:hidden}
.xt-col-list .dt-col{grid-template-columns:auto minmax(0,1fr) auto;padding:5px 8px}
.xt-col-list .dt-col input[type=checkbox]{width:16px;height:16px;accent-color:#0b3155}
.xt-col-list .dt-col b{font-size:.8rem;font-weight:600;color:#183a5a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xt-col-list .dt-col.is-off b{color:#98a6b3;text-decoration:line-through}
.xt-findings{list-style:none;margin:0 0 4px;padding:0;display:grid;gap:6px;font-size:.8rem}
.xt-findings li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed #e1e8ee;padding:5px 0}
.xt-findings li b{color:#a43c3c;white-space:nowrap}
.xt-findings li.is-ok b{color:#1a7a4f}
.xt-steps{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.xt-steps:empty{display:none}
.xt-steps li{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;background:#eef6f1;color:#0f5a3f;font-size:.72rem;font-weight:700}
.xt-steps li:before{content:counter(step);counter-increment:step;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#1a7a4f;color:#fff;font-size:.62rem}
.xt-steps{counter-reset:step}
.xt-table-wrap{max-height:520px;min-height:120px}
.xt-table td.is-bad{background:#fdecec;color:#8c1d1d;box-shadow:inset 3px 0 0 #d84a4a;cursor:help}
.xt-table td.is-bad:empty:before{content:"—";color:#c88}
.xt-table th.is-new{background:#1a7a4f}
.xt-table .xt-rownum{color:#98a6b3;font-size:.7rem;text-align:right;width:1%}
.xt-export{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:16px}
.xt-export .pdft-field input{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:.9rem;color:var(--ink);background:#fff}
.xt-export-actions{margin-top:0;grid-template-columns:auto auto auto}
.xt-empty{padding:40px 20px;text-align:center;color:#728294;font-size:.85rem}
@media(max-width:1000px){.xt-source-grid{grid-template-columns:1fr}.xt-controls{display:block}.xt-export{grid-template-columns:1fr}.xt-export-actions{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:680px){.xt-rules .dt-col{grid-template-columns:1fr 1fr}.xt-export-actions{grid-template-columns:1fr}.xt-files li{grid-template-columns:auto minmax(0,1fr) auto}.xt-files li small{display:none}}

/* ---- dark mode ---- */
[data-theme="dark"] .xt-files li{background:var(--dm-surface-2);border-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] .xt-files li small,[data-theme="dark"] .xt-empty{color:var(--dm-text-muted)}
[data-theme="dark"] .xt-source-status{color:#9ff0c4}
[data-theme="dark"] .xt-col-picks label,[data-theme="dark"] .xt-export .pdft-field input{background:var(--dm-surface);border-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] .xt-col-picks label:has(input:checked){background:#1e4a7d;border-color:#1e4a7d;color:#fff}
[data-theme="dark"] .xt-col-list .dt-col b{color:var(--dm-text)}
[data-theme="dark"] .xt-steps li{background:rgba(26,122,79,.18);color:#9ff0c4}
[data-theme="dark"] .xt-findings li{border-color:var(--dm-border);color:var(--dm-text)}
[data-theme="dark"] .xt-table td.is-bad{background:rgba(216,74,74,.18);color:#ffb3b3}
