:root {
    --dg-cyan: #38bdf8;
    --dg-blue: #2563eb;
    --dg-violet: #8b5cf6;
    --dg-green: #22c55e;
    --dg-amber: #f59e0b;
    --dg-danger: #fb7185;
}

.data-generator-page { max-width: 1200px; margin: 0 auto; padding: 18px; }
.data-generator-hero { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; padding:24px; border:1px solid rgba(56,189,248,.3); border-radius:18px; background:linear-gradient(135deg,rgba(8,26,46,.97),rgba(22,16,52,.94)); box-shadow:0 0 32px rgba(56,189,248,.12); }
.data-generator-kicker { color:var(--dg-cyan); font-size:.72rem; letter-spacing:.16em; font-weight:800; }
.data-generator-hero h2 { margin:8px 0 6px; color:#fff; font-size:clamp(1.4rem,3vw,2.2rem); }
.data-generator-hero p { margin:0; color:#a7bad0; max-width:730px; line-height:1.55; }
.data-generator-warning { min-width:210px; padding:14px; border:1px solid rgba(251,113,133,.48); border-radius:14px; background:rgba(127,29,29,.22); color:#fecdd3; font-size:.8rem; line-height:1.4; }
.data-generator-warning strong { display:block; color:#fb7185; margin-bottom:5px; }
.data-generator-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:16px 0; padding:14px; border:1px solid rgba(148,163,184,.18); border-radius:14px; background:rgba(15,23,42,.78); }
.data-generator-toolbar label { color:#b8c7da; font-size:.78rem; font-weight:700; }
.data-generator-toolbar select, .data-generator-toolbar button, .data-generator-form input, .data-generator-form select, .data-generator-form textarea { border:1px solid rgba(96,165,250,.32); border-radius:9px; background:#101b2d; color:#e2e8f0; padding:10px 12px; font:inherit; }
.data-generator-toolbar select { min-width:180px; }
.data-generator-btn { cursor:pointer; font-weight:800; transition:transform .16s ease, filter .16s ease; }
.data-generator-btn:hover { filter:brightness(1.15); transform:translateY(-1px); }
.data-generator-btn.primary { background:linear-gradient(135deg,var(--dg-blue),var(--dg-cyan)); color:white; }
.data-generator-btn.secondary { background:rgba(51,65,85,.9); }
.data-generator-btn.manual { background:linear-gradient(135deg,#7c3aed,#c026d3); color:white; }
.data-generator-btn.export { background:linear-gradient(135deg,#047857,#22c55e); color:white; }
.data-generator-status { margin-left:auto; color:#86efac; font-size:.78rem; }
.data-generator-workspace { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr); gap:16px; align-items:start; }
.data-generator-panel { border:1px solid rgba(96,165,250,.2); border-radius:16px; padding:18px; background:rgba(9,17,31,.9); }
.data-generator-panel h3 { margin:0 0 14px; color:#dbeafe; font-size:1rem; }
.data-generator-form { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.data-generator-field { display:flex; flex-direction:column; gap:5px; }
.data-generator-field.full { grid-column:1/-1; }
.data-generator-field label { color:#94a3b8; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.data-generator-field input, .data-generator-field select, .data-generator-field textarea { width:100%; box-sizing:border-box; }
.data-generator-field textarea { min-height:84px; resize:vertical; }
.data-generator-field input:focus, .data-generator-field select:focus, .data-generator-field textarea:focus { outline:2px solid rgba(56,189,248,.6); outline-offset:1px; }
.data-generator-documents { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.data-generator-document { padding:14px; border:1px solid rgba(139,92,246,.28); border-radius:13px; background:linear-gradient(150deg,rgba(30,41,59,.78),rgba(15,23,42,.82)); }
.data-generator-document h4 { margin:0 0 7px; color:#c4b5fd; font-size:.84rem; }
.data-generator-document code { color:#e0f2fe; font-size:.9rem; word-break:break-word; }
.data-generator-document small { display:block; margin-top:8px; color:#64748b; font-size:.7rem; }
.data-generator-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin:0 0 14px; }
.data-generator-stat { padding:11px; border-radius:10px; background:rgba(30,41,59,.64); border:1px solid rgba(148,163,184,.14); }
.data-generator-stat span { display:block; color:#64748b; font-size:.67rem; text-transform:uppercase; }
.data-generator-stat strong { color:#bae6fd; display:block; margin-top:4px; font-size:.86rem; }
.data-generator-empty { color:#64748b; text-align:center; padding:50px 15px; border:1px dashed rgba(148,163,184,.25); border-radius:13px; }
.data-generator-badge { display:inline-flex; align-items:center; gap:6px; padding:5px 9px; border-radius:999px; background:rgba(245,158,11,.13); color:#fcd34d; font-weight:800; font-size:.68rem; letter-spacing:.04em; }
@media (max-width: 860px) { .data-generator-hero { flex-direction:column; } .data-generator-warning { width:auto; min-width:0; } .data-generator-workspace { grid-template-columns:1fr; } }
@media (max-width: 520px) { .data-generator-form { grid-template-columns:1fr; } .data-generator-summary { grid-template-columns:1fr 1fr; } .data-generator-field.full { grid-column:auto; } .data-generator-page { padding:10px; } }
