.tools-page .tool-interface{opacity:1!important;transform:none!important;visibility:visible!important}.tools-page .reveal.is-visible{opacity:1!important;transform:none!important}.val-section-title{margin:0;font-size:var(--text-2xl);font-weight:var(--font-extrabold);letter-spacing:-.02em;color:var(--color-text)}.val-section-lead{margin-top:var(--space-sm);color:var(--color-text-muted);font-size:var(--text-base);line-height:1.6}.val-grid{display:grid;gap:var(--space-lg)}.val-card{padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--bg-surface-strong);border:.0625rem solid var(--border-subtle);box-shadow:var(--shadow-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.val-card:hover{border-color:var(--border-light)}.val-card--ok{border-color:rgba(46,204,113,.35);background:linear-gradient(180deg,rgba(46,204,113,.04) 0,rgba(255,255,255,.02) 100%)}.val-card--ok:hover{border-color:rgba(46,204,113,.55)}.val-card--warn{border-color:rgba(245,158,11,.35);background:linear-gradient(180deg,rgba(245,158,11,.04) 0,rgba(255,255,255,.02) 100%)}.val-card--warn:hover{border-color:rgba(245,158,11,.55)}.val-card--error{border-color:rgba(239,68,68,.35);background:linear-gradient(180deg,rgba(239,68,68,.05) 0,rgba(255,255,255,.02) 100%)}.val-card--error:hover{border-color:rgba(239,68,68,.55)}.val-input-wrap{display:flex;flex-direction:column;gap:var(--space-sm)}.val-textarea{width:100%;min-height:13rem;padding:var(--space-md);border-radius:var(--radius-md);border:.0625rem solid var(--border-default);background:var(--color-bg);color:var(--color-text);font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);font-size:var(--text-sm);line-height:1.6;resize:vertical;transition:border-color var(--transition-base)}.val-textarea:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 .125rem var(--color-primary-soft)}.val-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md)}.val-toolbar-group{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.val-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.val-counter{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);background:var(--bg-surface-08);padding:.25rem .625rem;border-radius:var(--radius-full)}.val-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--space-md);margin:var(--space-lg) 0}.val-stat-card{background:var(--bg-surface);border:.0625rem solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-md);display:flex;flex-direction:column;gap:.25rem}.val-stat-card__val{font-size:1.75rem;font-weight:var(--font-bold);line-height:1}.val-stat-card__label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.val-stat--total .val-stat-card__val{color:var(--color-text)}.val-stat--ok .val-stat-card__val{color:var(--color-success)}.val-stat--warn .val-stat-card__val{color:#f59e0b}.val-stat--error .val-stat-card__val{color:var(--color-error-soft)}.val-filters{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:.0625rem solid var(--border-subtle)}.val-filter-btn{background:0 0;border:.0625rem solid transparent;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-medium);padding:.375rem .875rem;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base)}.val-filter-btn:hover{color:var(--color-text);background:var(--bg-surface-06)}.val-filter-btn.active{background:var(--color-primary-soft);color:var(--color-primary-light);border-color:var(--color-primary-border);font-weight:var(--font-semibold)}.val-results-list{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)}.val-header{display:flex;flex-wrap:wrap;align-items:center;gap:.625rem;margin-bottom:var(--space-sm)}.val-code-index{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--font-medium)}.val-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);white-space:nowrap}.val-badge--ok{background:rgba(46,204,113,.15);color:var(--color-success);border:.0625rem solid rgba(46,204,113,.25)}.val-badge--warn{background:rgba(245,158,11,.15);color:#f59e0b;border:.0625rem solid rgba(245,158,11,.25)}.val-badge--error{background:rgba(239,68,68,.15);color:var(--color-error-soft);border:.0625rem solid rgba(239,68,68,.25)}.val-badge--group{background:rgba(255,255,255,.06);color:var(--color-text-muted);font-size:.75rem;border:.0625rem solid rgba(255,255,255,.08)}.val-code-view{margin-bottom:var(--space-sm);padding:.625rem .875rem;border-radius:var(--radius-md);background:rgba(0,0,0,.35);border:.0625rem solid rgba(255,255,255,.06);font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);font-size:var(--text-xs);color:rgba(255,255,255,.88);word-break:break-all;overflow-x:auto;line-height:1.6}.val-gs-tag{display:inline-block;vertical-align:middle;margin:0 .125rem;padding:.05rem .35rem;border-radius:.25rem;background:rgba(46,204,113,.25);color:#2ecc71;font-size:.65rem;font-weight:var(--font-bold);letter-spacing:.03em;user-select:none}.val-table-wrap{margin-bottom:var(--space-sm);overflow-x:auto}.val-table{width:100%;border-collapse:collapse;text-align:left;font-size:var(--text-xs)}.val-table tr{border-top:.0625rem solid rgba(255,255,255,.06)}.val-table td{padding:.45rem .75rem .45rem 0;vertical-align:top}.val-col-ai{white-space:nowrap;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);color:var(--color-text-muted);font-weight:var(--font-semibold);width:3.5rem}.val-col-name{color:var(--color-text-muted);min-width:9rem}.val-col-val{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);color:rgba(255,255,255,.88);word-break:break-all;max-width:20rem}.val-col-status{white-space:nowrap}.val-status--ok{color:var(--color-success)}.val-status--warn{color:#f59e0b}.val-status--error{color:var(--color-error-soft)}.val-status-note{color:var(--color-text-muted);margin-left:.25rem;font-size:.75rem}.val-messages{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.3rem;font-size:var(--text-xs);line-height:1.5}.val-msg{display:flex;align-items:flex-start;gap:.375rem}.val-msg--ok{color:var(--color-success)}.val-msg--warn{color:#f59e0b}.val-msg--error{color:var(--color-error-soft)}.val-dropzone{border:.125rem dashed var(--border-default);border-radius:var(--radius-md);padding:var(--space-md);text-align:center;cursor:pointer;background:var(--bg-surface);transition:all var(--transition-base);margin-bottom:var(--space-md)}.val-dropzone.drag-over,.val-dropzone:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.val-dropzone__title{margin:0 0 .25rem;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text)}.val-dropzone__hint{margin:0;font-size:var(--text-xs);color:var(--color-text-muted)}.btn-val-action{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base);background:var(--bg-surface-08);color:var(--color-text);border:.0625rem solid var(--border-subtle)}.btn-val-action:hover{background:var(--bg-surface-12);border-color:var(--border-light);color:var(--color-text)}.btn-val-action--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:var(--font-semibold)}.btn-val-action--primary:hover{background:var(--color-primary-light);border-color:var(--color-primary-light)}.val-batch-notice{padding:var(--space-md);border-radius:var(--radius-md);background:rgba(108,92,231,.08);border:.0625rem solid var(--color-primary-border);font-size:var(--text-xs);color:var(--color-text-secondary);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.val-batch-controls{display:flex;align-items:center;gap:var(--space-xs)}.val-info-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.val-info-table th{background:var(--bg-surface-08);color:var(--color-text-muted);font-weight:var(--font-semibold);padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:.0625rem solid var(--border-subtle)}.val-info-table td{padding:var(--space-sm) var(--space-md);border-bottom:.0625rem solid var(--border-subtle);vertical-align:top;line-height:1.5}.val-info-table tr:hover td{background:var(--bg-surface-subtle)}.val-cta-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:1rem;background:rgba(5,7,15,.78)}.val-cta-modal[hidden]{display:none}.val-cta-modal__panel{position:relative;width:min(100%,34rem);padding:2rem;border:.0625rem solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-elevated);box-shadow:var(--shadow-lg)}.val-cta-modal__panel h2{margin:0 0 .75rem;color:var(--color-text)}.val-cta-modal__panel p:not(.tool-eyebrow){color:var(--color-text-muted);line-height:1.6}.val-cta-modal__close{position:absolute;top:.75rem;right:.75rem;width:2.25rem;height:2.25rem;border:0;border-radius:50%;background:var(--bg-surface-strong);color:var(--color-text);font-size:1.6rem;cursor:pointer}.val-cta-modal__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}.val-excel-modal__panel{width:min(100%,40rem);max-height:calc(100vh - 2rem);overflow:auto}.val-excel-filename{margin:0 0 .5rem;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text);word-break:break-all}.val-excel-lead{margin:0 0 1.25rem;font-size:var(--text-sm)}.val-excel-section{margin-bottom:1.1rem}.val-excel-section__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text)}.val-excel-select-all{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-muted);cursor:pointer}.val-excel-sheets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;max-height:11rem;overflow:auto}.val-excel-sheet{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;padding:.55rem .7rem;border:.0625rem solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer}.val-excel-sheet:hover{border-color:var(--border-light)}.val-excel-sheet-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.val-excel-sheet-meta{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.val-excel-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text)}.val-excel-field select{width:100%;padding:.55rem .7rem;border-radius:var(--radius-md);border:.0625rem solid var(--border-default);background:var(--color-bg);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-medium)}.val-excel-preview{padding:.75rem .85rem;border-radius:var(--radius-md);background:rgba(0,0,0,.28);border:.0625rem solid rgba(255,255,255,.06);font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.55;min-height:4.5rem}.val-excel-preview strong{display:block;margin-bottom:.4rem;color:var(--color-text)}.val-excel-preview-item{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);word-break:break-all;color:rgba(255,255,255,.86)}.val-excel-meta{margin:.65rem 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}#val-excel-import:disabled{opacity:.5;cursor:not-allowed}