*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Segoe UI,system-ui,sans-serif}.upload-page{--primary:#0b4f6c;--accent:#01baef;--light:#f0f5f8;--dark:#1a1a2e;color:#1a1a1a;background:linear-gradient(160deg,#f4f8fb 0%,#e4eef4 100%);min-height:100vh;font-family:Segoe UI,system-ui,sans-serif}.upload-page .wrap{max-width:640px;margin:0 auto;padding:48px 20px}.upload-page .card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 28px #0b4f6c1f}.upload-page .header{background:var(--primary);color:#fff;padding:28px 32px}.upload-page .header h1{margin:0 0 6px;font-size:1.55rem}.upload-page .header p{opacity:.9;margin:0;font-size:.95rem}.upload-page .accent{background:var(--accent);height:4px}.upload-page .body{padding:28px 32px 32px}.upload-page label{color:var(--primary);margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.upload-page input[type=file]{background:var(--light);border:2px dashed #b8cdd8;border-radius:8px;width:100%;margin-bottom:18px;padding:12px}.upload-page .row{flex-wrap:wrap;align-items:center;gap:16px 24px;margin-bottom:20px;display:flex}.upload-page select{border:1px solid #c5d4de;border-radius:6px;padding:8px 12px;font-size:.95rem}.upload-page button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:14px 20px;font-size:1rem;font-weight:600;transition:background .15s}.upload-page button:hover{background:#083a50}.upload-page button:disabled{opacity:.65;cursor:not-allowed}.upload-page .status{background:var(--light);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin-top:20px;padding:14px 16px;font-size:.92rem}.upload-page .status.error{color:#8a1f11;background:#fdecea}.upload-page .status.ok{color:#14532d;background:#e8f7ef}.upload-page .links a{color:var(--primary);margin-right:16px;font-weight:600}.app-shell{--ui-primary:#0b4f6c;--ui-bg:#f4f8fb;--ui-panel:#fff;--ui-border:#d8e2e8;--ui-text:#1a1a1a;--ui-muted:#5a6b73;background:var(--ui-bg);height:100vh;color:var(--ui-text);flex-direction:column;display:flex}.app-header{background:var(--ui-panel);border-bottom:1px solid var(--ui-border);justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.app-header h1{color:var(--ui-primary);margin:0;font-size:1.1rem}.app-header-actions{gap:10px;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;align-items:center;padding:9px 16px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--ui-primary);color:#fff}.btn-primary:hover{background:#083a50}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:var(--ui-primary);border:1px solid var(--ui-border);background:#fff}.btn-secondary:hover{background:#f0f5f8}.app-body{flex:1;min-height:0;display:flex}.theme-panel{background:var(--ui-panel);border-right:1px solid var(--ui-border);flex:none;width:280px;padding:18px;overflow-y:auto}.theme-panel h2{text-transform:uppercase;letter-spacing:.06em;color:var(--ui-muted);margin:0 0 12px;font-size:.85rem}.tab-switcher{gap:6px;margin-bottom:16px;display:flex}.tab-btn{border:1px solid var(--ui-border);color:var(--ui-muted);cursor:pointer;background:#fff;border-radius:6px;flex:1;padding:8px 10px;font-size:.85rem;font-weight:600}.tab-btn:hover{border-color:var(--ui-primary)}.tab-active{border-color:var(--ui-primary);color:var(--ui-primary);background:#f0f5f8}.content-panel{flex-direction:column;gap:18px;display:flex}.content-section{border-bottom:1px solid var(--ui-border);flex-direction:column;gap:6px;padding-bottom:14px;display:flex}.content-field-label{color:var(--ui-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.content-section input[type=text],.content-section textarea{border:1px solid var(--ui-border);resize:vertical;border-radius:4px;padding:6px 8px;font-family:inherit;font-size:.85rem}.content-table-wrap{flex-direction:column;gap:6px;margin-top:6px;display:flex}.content-table{flex-direction:column;gap:4px;display:flex}.content-table-row{align-items:center;gap:4px;display:flex}.content-table-row input[type=text]{border:1px solid var(--ui-border);border-radius:4px;flex:1;min-width:0;padding:5px 6px;font-size:.78rem}.content-table-header input[type=text]{background:#f0f5f8;font-weight:600}.content-table-row-delete{color:var(--ui-muted);cursor:pointer;background:0 0;border:none;flex:none;padding:2px 4px;font-size:.8rem}.content-table-row-delete:hover{color:#c0392b}.content-table-add-row{align-self:flex-start;padding:5px 10px;font-size:.78rem}.swatch-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.swatch{border:2px solid var(--ui-border);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;align-items:flex-start;gap:6px;padding:8px;display:flex}.swatch:hover{border-color:var(--ui-primary)}.swatch-active{border-color:var(--ui-primary);box-shadow:0 0 0 2px #0b4f6c33}.swatch-colors{gap:3px;display:flex}.swatch-colors span{border:1px solid #00000014;border-radius:3px;width:16px;height:16px}.swatch-label{color:var(--ui-text);font-size:.75rem}.swatch-custom{justify-content:center;align-items:center}.custom-fields{flex-direction:column;gap:12px;margin-top:16px;display:flex}.color-field{color:var(--ui-muted);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.color-field-inputs{gap:6px;display:flex}.color-field-inputs input[type=color]{border:1px solid var(--ui-border);background:0 0;border-radius:4px;width:34px;height:30px;padding:0}.color-field-inputs input[type=text]{border:1px solid var(--ui-border);border-radius:4px;flex:1;padding:5px 8px;font-family:monospace;font-size:.85rem}.status-line{color:var(--ui-muted);margin-top:14px;font-size:.8rem}.preview-pane{background:#dfe6ea;flex:1;justify-content:center;padding:16px;display:flex;overflow:auto}.poster-iframe{background:#fff;border:none;flex:1}.poster-scale-wrap{flex:none;position:relative;overflow:hidden;box-shadow:0 2px 10px #00000026}.poster-scale-wrap .poster-iframe{transform-origin:0 0;position:absolute;top:0;left:0}.empty-state{color:var(--ui-muted);padding:20px;font-size:.9rem}
