[data-table-tool] { margin-block: 28px 56px; min-width: 0; }
.tt-toolbar, .tt-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.tt-toolbar { margin-bottom: 20px; }
.tt-columns { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 22px; }
.tt-panel { min-width: 0; padding: 24px; border: 1px solid var(--line,#d8d8d0); border-radius: 8px; background: var(--surface,#fff); }
.tt-panel h2 { font-size: 22px; margin-bottom: 14px; }
.tt-panel p { font-size: 14px; }
.tt-editor, .tt-preview { min-height: 240px; max-height: 560px; overflow: auto; padding: 16px; border: 1px solid var(--line,#d8d8d0); border-radius: 4px; background: #fff; color: #171714; }
.tt-editor { border: 1px dashed #8a8a80; }
.tt-editor:empty { background: repeating-linear-gradient(0deg,#fff,#fff 39px,#f6f6f1 40px); }
.tt-preview table, .tt-editor table { max-width: none; }
.tt-preview table, .tt-editor table { border-collapse: collapse; table-layout: fixed; width: 100%; min-width: 320px; font-family: 'Malgun Gothic', sans-serif; font-size: 11pt; background: white; }
.tt-preview col, .tt-editor col { width: auto; }
.tt-preview td, .tt-preview th, .tt-editor td, .tt-editor th { border: 1px solid #6b6b64; padding: 3pt; vertical-align: top; overflow-wrap: break-word; color: #171714; background: #fff; font-weight: normal; }
.tt-preview th, .tt-editor th { font-weight: bold; }
[data-tt-style="header"] :is(.tt-preview,.tt-editor) th { background: #f5e6d8; }
[data-tt-style="plain"] :is(.tt-preview,.tt-editor) :is(td,th) { border: 0; border-bottom: 1px solid #c8c8c2; }
[data-tt-font="Arial"] :is(.tt-preview,.tt-editor) table { font-family: Arial, sans-serif; }
[data-tt-font="Times New Roman"] :is(.tt-preview,.tt-editor) table { font-family: 'Times New Roman', serif; }
[data-tt-size="9"] :is(.tt-preview,.tt-editor) table { font-size: 9pt; }
[data-tt-size="10"] :is(.tt-preview,.tt-editor) table { font-size: 10pt; }
[data-tt-size="12"] :is(.tt-preview,.tt-editor) table { font-size: 12pt; }
[data-tt-size="14"] :is(.tt-preview,.tt-editor) table { font-size: 14pt; }
[data-tt-size="16"] :is(.tt-preview,.tt-editor) table { font-size: 16pt; }
[data-tt-spacing="6"] :is(.tt-preview,.tt-editor) :is(td,th) { padding: 6pt; }
[data-tt-spacing="9"] :is(.tt-preview,.tt-editor) :is(td,th) { padding: 9pt; }
.tt-preview table p, .tt-editor table p { color: inherit; }
.tt-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.tt-options label { display: grid; gap: 6px; font-size: 13px; font-weight: 600; }
.tt-options select { min-height: 42px; width: 100%; min-width: 0; border: 1px solid var(--line,#d8d8d0); border-radius: 4px; padding: 8px; background: #fff; color: #171714; }
.tt-check { display: flex; align-items: center; gap: 8px; margin-block: 18px; font-size: 14px; }
.tt-check input { width: 18px; height: 18px; accent-color: var(--accent,#ed6a35); }
.tt-stats { min-height: 20px; margin-block: 12px; font-variant-numeric: tabular-nums; }
.tt-actions .button { padding: 10px 14px; height: auto; }
.tt-status { min-height: 26px; margin-block: 18px 12px; color: #22643e !important; font-weight: 600; }
.tt-status[data-error="true"] { color: #a9362d !important; }
.tt-privacy, .tt-compatibility { font-size: 13px; }
.tt-privacy { padding-inline-start: 12px; border-inline-start: 3px solid var(--accent,#ed6a35); }
.tt-copy-buffer { position: fixed; inset-inline-start: -10000px; top: 0; }
@media (max-width: 900px) { .tt-columns { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 480px) { .tt-panel { padding: 16px; } .tt-options { gap: 10px; } .tt-actions .button { width: 100%; } }
