* { box-sizing: border-box; } :root { font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif; color: #f7f4ef; background: #12100e; } body { margin: 0; } #root { min-height: 100vh; } .app-shell { max-width: 1080px; margin: 0 auto; padding: 1.5rem; display: grid; gap: 1rem; } .hero, .panel { border: 1px solid #38322c; border-radius: 8px; padding: 1rem 1.2rem; background: #1b1916; } .hero h1, h2 { margin-top: 0; } .selection-actions, .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 0.6rem; margin-bottom: 0.7rem; } .selection-actions .button, .button, .preview-footer .button { border: 1px solid #4d6f60; border-radius: 8px; background: #2f5f52; color: #f7fff9; padding: 0.6rem 0.8rem; cursor: pointer; width: 100%; font-size: 0.95rem; } .button[disabled] { opacity: 0.45; cursor: not-allowed; } .button.primary { background: #2f7a67; border-color: #57a88f; margin-top: 0.6rem; } .selection-actions .hidden-input { display: none; } .drop-zone { display: grid; place-items: center; min-height: 120px; border: 2px dashed #6b6257; border-radius: 8px; margin: 0.5rem 0; color: #ebe1d4; } .drop-zone.active { border-color: #86d7bc; background: #202a24; } .drop-zone.locked { opacity: 0.6; } .help { margin: 0.4rem 0 0; color: #b8ad9e; } .file-list { max-height: 220px; overflow: auto; padding-left: 1rem; } .file-list li { list-style: none; display: flex; justify-content: space-between; gap: 0.8rem; } .preview-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 0.6rem; } .preview-grid > div { border: 1px solid #3d372f; border-radius: 8px; padding: 0.55rem; } .preview-footer { margin-top: 0.7rem; } label { display: grid; gap: 0.35rem; color: #eadfce; } input:not([type]), input[type="text"], input[type="number"] { width: 100%; border-radius: 6px; border: 1px solid #514a41; background: #12100e; color: #f7f4ef; padding: 0.45rem 0.55rem; } label:has(input[type="checkbox"]) { display: flex; align-items: center; gap: 0.45rem; min-height: 2.2rem; } input[type="checkbox"] { accent-color: #42a47f; margin: 0; } .status { margin: 0.7rem 0 0; } .status-running { color: #f6c454; } .status-ready { color: #79d18d; } .status-idle, .status-exportable, .status-blocked { color: #b8ad9e; } .muted { color: #b8ad9e; } .log-list { max-height: 260px; overflow: auto; border: 1px solid #3a342e; padding: 0.5rem; border-radius: 8px; } .log-item { border-bottom: 1px solid #302b26; padding: 0.45rem 0; } .log-item header { display: flex; gap: 0.6rem; font-size: 0.78rem; color: #aa9f91; } .log-item p { margin: 0.1rem 0; } .log-item small { color: #aa9f91; } .severity-error { color: #ff8080; } .severity-warning { color: #ffd56c; } .severity-info, .severity-debug { color: #8fd7bc; } details pre { max-height: 180px; overflow: auto; background: #0e0c0a; border-radius: 8px; padding: 0.55rem; }