*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button:not(:disabled):active{transform:translateY(1px);filter:brightness(.92)}body{font-family:Segoe UI,Arial,sans-serif;background:#f0f2f5;color:#2d3748;min-height:100vh;font-size:14px}.topbar{position:fixed;top:0;left:0;right:0;height:58px;background:#1a2535;display:flex;align-items:center;padding:0 28px;gap:10px;z-index:100}.topbar__logo{font-size:19px;font-weight:700;color:#e8edf3;letter-spacing:.5px}.topbar__title{font-size:19px;color:#8fa3bb;letter-spacing:.5px}.topbar__user{margin-left:auto;width:36px;height:36px;border-radius:50%;background:#2e3f58;display:flex;align-items:center;justify-content:center;font-size:12px;color:#8fa3bb}.layout{padding:74px 20px 20px;display:flex;gap:20px;height:100vh;overflow:hidden}.panel{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000018;overflow:hidden;display:flex;flex-direction:column;height:100%}.panel--left{width:560px;flex-shrink:0}.panel--right{flex:1}.panel__header{background:#1a2535;padding:14px 22px;font-size:15px;font-weight:700;color:#e8edf3;display:flex;align-items:center}.panel__header-action{margin-left:auto}.panel__header-right{margin-left:auto;display:flex;align-items:center;gap:8px}.panel__batch-btn{height:30px;padding:0 14px;border-radius:6px;background:#2e3f58;border:1.5px solid #4a90d9;color:#90cdf4;font-size:11px;font-weight:700;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s,border-color .15s,color .15s;letter-spacing:.3px}.panel__batch-btn:hover:not(:disabled){background:#4a90d9;color:#fff;border-color:#4a90d9}.panel__batch-btn:disabled{opacity:.45;cursor:not-allowed}.panel__header-stats{display:flex;align-items:center;gap:8px}.panel__stat{font-size:12px;font-weight:700;padding:2px 10px;border-radius:12px;cursor:pointer}.panel__stat--ok{background:#38a16940;color:#68d391;border:1px solid rgba(56,161,105,.5)}.panel__stat--ko{background:#e53e3e40;color:#fc8181;border:1px solid rgba(229,62,62,.5)}.panel__body{padding:22px;flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0;gap:0}.panel__body--dark{padding:0;background:#fff;overflow-y:auto;overflow-x:hidden}.flow-toggle-row{display:flex;align-items:center;gap:16px;margin-bottom:20px}.download-template-btn{margin-left:auto;height:30px;padding:0 14px;border-radius:6px;background:#fffbeb;border:1.5px solid #f6ad55;color:#c05621;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;font-family:inherit;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.download-template-btn:hover{background:#c05621;color:#fff;border-color:#c05621}.required-legend{font-size:12px;color:#718096;display:flex;align-items:center;gap:4px;margin-left:auto}.flow-toggle{display:flex;flex-wrap:wrap;gap:6px;background:#eef0f4;border-radius:12px;padding:5px;width:fit-content;max-width:100%}.flow-toggle__btn{padding:8px 20px;font-size:13px;font-weight:700;font-family:inherit;background:transparent;color:#718096;border:none;border-radius:8px;cursor:pointer;letter-spacing:.5px;white-space:nowrap;transition:background .25s ease,color .25s ease,box-shadow .25s ease}.flow-toggle__btn--active{background:#1a2535;color:#e8edf3;box-shadow:0 1px 4px #0000003a}.section-label{font-size:11px;font-weight:700;color:#8fa3bb;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:6px}.section-divider{border:none;border-top:1px solid #eef0f4;margin:20px 0}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 16px;margin-bottom:4px;align-items:end}.form-grid--2col{grid-template-columns:repeat(2,1fr)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:13px;color:#4a5568;font-weight:500;display:flex;align-items:center;gap:5px;min-height:22px}.field__required{color:#e53e3e;font-size:14px;line-height:1}.field-progress{flex-shrink:0}.field-progress--done{font-size:10px;font-weight:600;letter-spacing:.3px}.field__optional{font-size:10px;font-weight:600;color:#a0aec0;background:#f0f2f5;border-radius:3px;padding:1px 5px;letter-spacing:.3px}.field input,.field select{width:100%;height:36px;padding:0 12px;border:1px solid #d1d8e4;border-radius:6px;background:#f7f9fc;font-size:13px;color:#2d3748;font-family:inherit;outline:none;transition:border-color .15s}.field input:focus,.field select:focus{border-color:#4a90d9;background:#fff}.field{transition:opacity .35s ease}.field--disabled{opacity:.35;pointer-events:none}.field--disabled label{color:#a0aec0}.field--required input,.field--required select{border-color:#fc8181;background:#fff5f5}.field--required input:focus,.field--required select:focus{border-color:#e53e3e;background:#fff}.optional-section{flex:1;min-height:0;display:flex;flex-direction:column}.drop-zone{border:2px dashed #d1d8e4;border-radius:8px;padding:32px 16px;text-align:center;cursor:pointer;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;transition:border-color .2s,background .2s}.drop-zone:hover,.drop-zone--active{border-color:#4a90d9;background:#4a90d90d}.json-paste{flex:1;width:100%;min-height:260px;box-sizing:border-box;border:2px dashed #d1d8e4;border-radius:8px;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;color:#2d3748;background:#fbfcfe;resize:vertical}.json-paste:focus{outline:none;border-color:#4a90d9;background:#4a90d90a}.json-paste--invalid{border-color:#fc8181;background:#fff5f5}.json-paste--invalid:focus{border-color:#fc8181;background:#fff5f5}.drop-zone--error{border-color:#fc8181;background:#fff5f5}.drop-zone__error{font-size:12px;color:#e53e3e;font-weight:600}.drop-zone__text{font-size:13px;color:#718096}.drop-zone__link{color:#4a90d9}.drop-zone__hint{font-size:11px;color:#a0aec0}.drop-zone__filename{color:#4a90d9;font-size:13px}.drop-zone__spinner{width:32px;height:32px;border:3px solid #cbd5e0;border-top-color:#4a90d9;border-radius:50%;animation:drop-zone-spin .7s linear infinite}@keyframes drop-zone-spin{to{transform:rotate(360deg)}}.send-section__copy{width:100%;min-height:64px;border-radius:10px;background:#2c7a7b;border:none;color:#fff;font-size:17px;font-weight:700;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;letter-spacing:.5px;transition:background .15s}.send-section__copy:hover:not(:disabled){background:#285e61}.send-section__copy--disabled{background:#a0aec0;cursor:not-allowed}.opt-textarea-wrapper{position:relative;width:100%;flex:1;display:flex;flex-direction:column}.opt-textarea::placeholder{font-size:14px;color:#a0aec0}.opt-textarea{width:100%;flex:1;min-height:36px;padding:8px 12px;border:1px solid #d1d8e4;border-radius:6px;background:#f7f9fc;font-size:13px;color:#2d3748;font-family:inherit;outline:none;resize:none;overflow:auto;line-height:1.5;transition:border-color .15s}.opt-textarea:focus{border-color:#4a90d9;background:#fff}.opt-warning{display:inline-flex;align-items:center;margin-left:auto;cursor:default}.opt-textarea--invalid{border-color:#fc8181;background:#fff5f5}.opt-invalid-indicator{position:absolute;top:-8px;right:-8px;font-size:14px;color:#e53e3e;cursor:default;line-height:1}.opt-textarea-counter{position:absolute;bottom:6px;right:10px;font-size:11px;color:#a0aec0;pointer-events:none}.optional-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.opt-item{position:relative}.opt-item__remove{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border-radius:50%;background:#718096;border:none;color:#fff;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:1;transition:background .15s}.opt-item__remove:hover{background:#e53e3e}.optional-grid input{height:32px;padding:0 8px;border:1px solid #d1d8e4;border-radius:4px;background:#f7f9fc;font-size:12px;font-family:inherit;outline:none;width:100%}.optional-grid input:focus{border-color:#4a90d9;background:#fff}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.btn{height:40px;padding:0 24px;border-radius:8px;font-size:14px;font-family:inherit;cursor:pointer;border:none;transition:opacity .15s}.btn:hover{opacity:.85}.btn--reset{background:#fff;border:1.5px solid #d1d8e4;color:#718096;width:120px}.btn--add-opt{width:100%;height:32px;border-radius:4px;background:#ebf8ff;border:1.5px dashed #4a90d9;color:#2b6cb0;font-size:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.btn--add-opt:hover{background:#bee3f8;border-color:#2b6cb0}.rt-wrapper{background:#fff;width:100%;overflow-x:hidden}.rt-toolbar{display:flex;align-items:center;gap:14px;padding:10px 18px;background:#f7f9fc;border-bottom:1px solid #eef0f4;min-width:0;overflow:hidden}.rt-toolbar__count{font-size:13px;color:#718096}.rt-stat{font-size:12px;font-weight:700;padding:3px 10px;border-radius:12px}.rt-stat--ok{background:#f0fff4;color:#9ae6b4;border:1px solid #276749}.rt-stat--ko{background:#fff5f5;color:#feb2b2;border:1px solid #9b2c2c}.rt-table{width:100%;border-collapse:collapse;font-size:12px}.rt-thead-row{background:#1a2535}.rt-th{padding:8px 6px;text-align:center;border-bottom:2px solid #2e3f58;color:#8fa3bb;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.rt-th--narrow{width:50px}.rt-th--center{text-align:center}.rt-th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.rt-th--sortable:hover{color:#cdd9e8}.rt-row{cursor:pointer;border-bottom:1px solid #eef0f4;transition:background .12s}.rt-row:hover{background:#f7f9fc}.rt-row--expanded{background:#ebf8ff!important}.rt-row--ko{background:#fca5a5}.rt-row--ko:hover{background:#fee2e2!important}.rt-row--ok{background:#86efac}.rt-row--ok:hover{background:#dcfce7!important}.rt-td{padding:6px;color:#2d3748;vertical-align:middle;cursor:pointer;font-size:12px;word-break:break-all;text-align:center}.rt-td--muted{color:#2d3748;font-size:12px}.rt-td--mono{font-family:monospace;font-size:13px}.rt-td--bold{font-weight:700}.rt-td--link{color:#2b6cb0;font-weight:600}.rt-td--center{text-align:center}.rt-td--feedback{font-size:12px}.rt-td--error{color:#c53030;font-size:12px}.rt-badge{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.03em}.rt-badge--ok{background:#f0fff4;color:#276749;border:1px solid #9ae6b4}.rt-badge--ko{background:#fff5f5;color:#9b2c2c;border:1px solid #feb2b2}.rt-filter-wrapper{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.rt-filter-tokens{display:flex;flex-wrap:wrap;gap:6px}.rt-filter-token-wrap{flex:1 0 calc(100% / 7 - 6px);display:flex;flex-direction:column;gap:2px;min-width:0}.rt-filter-token-label{font-size:9px;font-weight:700;color:#718096;text-transform:uppercase;letter-spacing:.5px;padding-left:2px}.rt-filter-token{height:24px;padding:0 8px;border:1px solid #4a90d9;border-radius:4px;background:#ebf8ff;color:#2b6cb0;font-size:11px;font-family:monospace;font-weight:600;outline:none;width:100%}.rt-filter-token:focus{background:#fff;border-color:#2b6cb0}.rt-filter-token-wrap--full{width:100%;display:flex;flex-direction:column;gap:2px}.rt-clear-btn{background:#fff;border:1.5px solid #fc8181;border-radius:6px;color:#c53030;padding:4px 12px;font-size:12px;font-family:inherit;cursor:pointer;font-weight:600;transition:all .15s}.rt-clear-btn:hover{background:#fff5f5;border-color:#e53e3e}.rt-acc-btn{background:#1a2535;border:none;border-radius:6px;color:#e8edf3;padding:4px 12px;font-size:12px;font-family:inherit;cursor:pointer;transition:background .15s;white-space:nowrap}.rt-acc-btn:hover{background:#2e3f58}.rt-detail-cell{padding:0;border-bottom:2px solid #4a90d9}.rt-detail-panels{display:flex;border-left:4px solid #4a90d9;background:#f7f9fc}.rt-detail-panel{flex:1}.rt-detail-panel+.rt-detail-panel{border-left:1px solid #d1d8e4}.rt-panel-title{padding:8px 14px;font-size:11px;font-weight:700;color:#4a5568;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #d1d8e4;background:#eef0f4;display:flex;align-items:center;gap:6px}.rt-kv-table{width:100%;border-collapse:collapse}.rt-kv-table__key{padding:7px 14px;border-bottom:1px solid #eef0f4;color:#718096;width:150px;font-family:monospace;font-size:12px;vertical-align:top}.rt-kv-table__val{padding:7px 14px;border-bottom:1px solid #eef0f4;color:#2d3748;font-family:monospace;font-size:12px;word-break:break-all}.rt-empty{padding:80px 20px;text-align:center;color:#a0aec0;font-size:18px;font-weight:700}.send-section-wrapper{background:#fff;padding:16px 0 4px;display:flex;flex-direction:column;gap:10px;flex-shrink:0;margin-top:auto}.send-section{display:flex;gap:12px;margin-top:16px}.batch-progress{margin-top:16px;display:flex;flex-direction:column;gap:6px}.batch-progress__label{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:#2e3f58}.batch-progress__track{height:8px;border-radius:6px;background:#e2e8f0;overflow:hidden}.batch-progress__bar{height:100%;border-radius:6px;background:linear-gradient(90deg,#4a90d9,#63b3ed);transition:width .25s ease}.send-section__reset{flex:1;height:64px;border-radius:10px;background:#fff;border:2px solid #d1d8e4;color:#718096;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,border-color .15s}.send-section__reset:hover{background:#f7f9fc;border-color:#a0aec0}.send-section__validate{flex:2;height:64px;border-radius:10px;background:#1a2535;border:none;color:#fff;font-size:17px;font-weight:700;font-family:inherit;cursor:pointer;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}.send-section__validate:hover{background:#2e3f58}.send-section__validate:disabled{background:#a0aec0;cursor:not-allowed}.send-section__download{width:100%;height:40px;border-radius:8px;background:#fff;border:1.5px solid #d1d8e4;color:#4a5568;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s}.send-section__download:hover{background:#f7f9fc;border-color:#a0aec0}.btn--validate{background:#1a2535;color:#fff;font-weight:700;font-size:14px;width:130px}
