*{box-sizing:border-box;margin:0;padding:0}:root{--navy:#1a2744;--navy-600:#22315a;--gold:#c5a572;--gold-strong:#b08d4f;--bg:#ece8e2;--surface:#fff;--surface-alt:#f7f5f0;--border:#ddd6c9;--border-strong:#c9c0ae;--text:#1f2430;--text-muted:#6b6f7a;--heading:var(--navy);--accent:var(--navy);--accent-contrast:#fff;--success:#2f9e6e;--success-bg:#eef8f2;--success-border:#b7e0cb;--error:#d64545;--error-bg:#fdf1f1;--error-border:#f2c4c4;--info:#3b6fb5;--info-bg:#eef3fb;--shadow:0 2px 10px #1a274414;--shadow-hover:0 6px 20px #1a27441f;--radius:12px}:root[data-theme=dark]{--bg:#10131a;--surface:#191d27;--surface-alt:#1f242f;--border:#2c3240;--border-strong:#3a4150;--text:#e6e8ee;--text-muted:#98a0b0;--heading:#eae3d3;--gold:#d3b787;--accent:#d3b787;--accent-contrast:#10131a;--success:#45c48a;--success-bg:#16281f;--success-border:#2c5a41;--error:#f07373;--error-bg:#2a1717;--error-border:#5a2c2c;--info:#6ea0e0;--info-bg:#172233;--shadow:0 2px 12px #0006;--shadow-hover:0 6px 22px #00000080}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#ece8e2;background:var(--bg);color:#1f2430;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh;transition:background .25s ease,color .25s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{align-items:flex-start;background:var(--bg);display:flex;justify-content:center;min-height:100vh;padding:40px 20px;transition:background .25s ease}.container{max-width:900px;width:100%}.card-lock-wrap{position:relative}.locked-card{filter:saturate(.85);opacity:.55;transition:opacity .2s ease;-webkit-user-select:none;user-select:none}.locked-card *{pointer-events:none}.card-lock-shield{background:#0000;border:none;border-radius:var(--radius);cursor:pointer;height:100%;inset:0;margin:0;padding:0;position:absolute;width:100%;z-index:5}.signin-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0f19b8;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1200}.signin-modal{animation:popIn .22s ease-out;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-top:3px solid var(--gold);box-shadow:0 24px 50px #0006;padding:36px 32px 28px;text-align:center;width:min(420px,100%)}.signin-icon{align-items:center;animation:iconPop .4s cubic-bezier(.18,1.4,.4,1) both;background:var(--navy);border-radius:50%;box-shadow:0 6px 16px #1a274440;color:#fff;display:inline-flex;height:60px;justify-content:center;margin:0 auto 16px;width:60px}:root[data-theme=dark] .signin-icon{background:var(--gold);color:var(--accent-contrast)}.signin-modal h2{color:var(--heading);font-family:Georgia,Times New Roman,Times,serif;font-size:1.4rem;font-weight:400;margin-bottom:12px}.signin-modal p{color:var(--text-muted);font-size:.9375rem;line-height:1.6;margin-bottom:24px}.signin-btn{margin-top:0;width:100%}.signin-dismiss{background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:.875rem;margin-top:14px;padding:6px 10px;transition:color .15s ease,background .15s ease}.signin-dismiss:hover{background:var(--surface-alt);color:var(--text)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.header{animation:fadeUp .45s ease both;background:linear-gradient(135deg,var(--navy),var(--navy-600));border:1px solid var(--navy-600);border-bottom:3px solid var(--gold);border-radius:var(--radius);box-shadow:var(--shadow);color:#f7f5f0;margin-bottom:32px;padding:44px 30px;position:relative;text-align:center}.header h1{color:#f7f5f0;font-family:Georgia,Times New Roman,Times,serif;font-size:2.1rem;font-weight:400;letter-spacing:.3px;margin-bottom:8px}.header p{color:#b8c0d0;font-size:1rem;font-weight:400}.theme-toggle{align-items:center;background:#ffffff1a;border:1px solid #ffffff40;border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;height:40px;justify-content:center;line-height:1;position:absolute;right:16px;top:16px;transition:background .2s ease,transform .3s ease;width:40px}.theme-toggle:hover{background:#fff3;transform:rotate(35deg) scale(1.08)}.theme-toggle .icon{animation:iconPop .35s cubic-bezier(.18,1.4,.4,1) both}.card{animation:fadeUp .45s ease both;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;padding:32px;transition:box-shadow .2s ease,background .25s ease,border-color .25s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.card:hover{box-shadow:var(--shadow-hover)}.card h2{color:var(--heading);font-size:1.5rem;font-weight:600;letter-spacing:-.3px;margin-bottom:24px}.card-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.card-header h2{margin-bottom:0}.card-header-actions{display:flex;flex-wrap:wrap;gap:8px}.config-form{display:flex;flex-direction:column;gap:22px}.config-actions{display:flex;flex-wrap:wrap;gap:12px}.config-actions .btn{flex:1 1;min-width:180px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:var(--text);font-size:.875rem;font-weight:500;letter-spacing:.01em}.help-text{color:var(--text-muted);font-size:.8125rem;line-height:1.5;margin-top:2px}.success-text{color:var(--success);font-weight:500}.input{background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;color:var(--text);font-family:inherit;font-size:.9375rem;padding:12px 16px;transition:all .2s ease}.input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c5a57233;outline:none}.input:disabled{background:var(--surface-alt);color:var(--text-muted);cursor:not-allowed;opacity:.6}.input::placeholder{color:var(--text-muted);opacity:.7}.input--invalid{border-color:var(--error);box-shadow:0 0 0 3px #d645451f}.dropzone{align-items:center;background:var(--surface-alt);border:2px dashed var(--border-strong);border-radius:10px;cursor:pointer;display:flex;gap:16px;padding:20px 18px;transition:border-color .2s ease,background .2s ease}.dropzone--active,.dropzone:hover{border-color:var(--gold)}.dropzone--active{background:#c5a5721a}.dropzone--filled{background:var(--success-bg);border-color:var(--success-border);border-style:solid}.dropzone-icon{color:var(--text-muted);display:inline-flex;flex-shrink:0;line-height:1;transition:color .2s ease,transform .2s ease}.dropzone:hover .dropzone-icon{color:var(--gold);transform:translateY(-2px)}.dropzone--filled .dropzone-icon{color:var(--success)}.dropzone--active .dropzone-icon{animation:bob .9s ease-in-out infinite;color:var(--gold)}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.dropzone-text{display:flex;flex-direction:column;gap:3px;min-width:0}.dropzone-text strong{color:var(--text);font-size:.9375rem;font-weight:600;word-break:break-word}.dropzone-text small{color:var(--text-muted);font-size:.8125rem}.dropzone-input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.9375rem;font-weight:500;gap:8px;justify-content:center;letter-spacing:.01em;padding:12px 24px;transition:transform .15s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0) scale(.98)}.btn:disabled{cursor:not-allowed;opacity:.5}.icon{flex-shrink:0;vertical-align:-.15em}.icon-success{color:var(--success)}.icon-error{color:var(--error)}.icon-info{color:var(--info)}.icon-muted{color:var(--text-muted)}.icon-spin{animation:spin .9s linear infinite}.icon-pop,.icon-spin{transform-origin:center}.icon-pop{animation:iconPop .32s cubic-bezier(.18,1.4,.4,1) both}@keyframes spin{to{transform:rotate(1turn)}}@keyframes iconPop{0%{opacity:0;transform:scale(0)}70%{transform:scale(1.25)}to{opacity:1;transform:scale(1)}}.btn-add{background:var(--surface-alt);border:1px solid var(--border-strong);color:var(--text)}.btn-add:hover:not(:disabled){background:var(--border);border-color:var(--gold)}.btn-remove{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error);font-size:.875rem;padding:10px 20px}.btn-remove:hover:not(:disabled){background:var(--error-bg);border-color:var(--error)}.btn-secondary{background:var(--surface);border:1px solid var(--gold);color:var(--navy)}:root[data-theme=dark] .btn-secondary{color:var(--gold)}.btn-secondary:hover:not(:disabled){background:#c5a5721f;border-color:var(--gold-strong)}.btn-send{background:var(--navy);border:1px solid var(--navy);color:#fff;font-size:1rem;font-weight:600;margin-top:8px;padding:15px;width:100%}.btn-send:hover:not(:disabled){background:var(--navy-600)}:root[data-theme=dark] .btn-send{background:var(--gold);border-color:var(--gold);color:var(--accent-contrast)}:root[data-theme=dark] .btn-send:hover:not(:disabled){background:var(--gold-strong)}.btn-preview{background:var(--surface);border:1px solid var(--gold);color:var(--navy)}:root[data-theme=dark] .btn-preview{color:var(--gold)}.btn-preview:hover:not(:disabled){background:#c5a5721f;border-color:var(--gold-strong)}.send-progress{align-items:center;display:flex;gap:14px;margin:8px 0 16px}.send-progress-bar{background:var(--border);border-radius:999px;flex:1 1;height:8px;overflow:hidden}.send-progress-fill{background:linear-gradient(90deg,var(--navy),var(--gold));border-radius:999px;height:100%;transition:width .3s ease}.send-progress-label{color:var(--text-muted);font-size:.8125rem;font-weight:500;white-space:nowrap}.preview-overlay{align-items:center;background:#0a0f1999;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.preview-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 20px 40px #00000059;display:flex;flex-direction:column;max-height:min(90vh,900px);overflow:hidden;width:min(720px,100%)}.preview-header{align-items:flex-start;background:var(--surface-alt);border-bottom:1px solid var(--border);display:flex;gap:16px;justify-content:space-between;padding:20px 24px}.preview-header h2{color:var(--heading);font-size:1.25rem;font-weight:600;margin:0}.preview-subject{color:var(--text-muted);font-size:.875rem;margin:6px 0 0;word-break:break-word}.preview-subject code{border-radius:4px;padding:1px 6px}.btn-preview-close,.preview-subject code{background:var(--surface);border:1px solid var(--border)}.btn-preview-close{align-items:center;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:36px;justify-content:center;line-height:1;transition:background .15s ease,color .15s ease;width:36px}.btn-preview-close:hover{background:var(--surface-alt);color:var(--text)}.preview-iframe{background:#ece8e2;border:none;flex:1 1;min-height:420px;width:100%}.import-modal{width:min(600px,100%)}.import-body{display:flex;flex-direction:column;gap:16px;min-height:0;overflow-y:auto;padding:20px 24px 24px}.csv-hint{background:var(--surface-alt);border:1px solid var(--border);border-radius:10px;padding:16px}.csv-hint-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.csv-hint-title{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.csv-hint-title,.csv-sample-link{font-size:.8125rem;font-weight:600}.csv-sample-link{align-items:center;background:none;border:none;border-radius:6px;color:var(--gold-strong);cursor:pointer;display:inline-flex;gap:6px;padding:4px 6px;transition:background .15s ease,color .15s ease}.csv-sample-link:hover{background:#c5a57224;color:var(--gold)}.csv-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.csv-table{background:var(--surface);border-collapse:collapse;font-size:.875rem;width:100%}.csv-table td,.csv-table th{border-bottom:1px solid var(--border);padding:9px 14px;text-align:left;white-space:nowrap}.csv-table thead th{background:var(--surface-alt);color:var(--text);font-weight:600}.csv-table tbody tr:last-child td{border-bottom:none}.csv-table td{color:var(--text-muted);font-family:source-code-pro,Menlo,Monaco,Consolas,monospace;font-size:.8125rem}.csv-empty{font-style:italic;opacity:.7}.csv-badge{border-radius:999px;display:inline-block;font-family:inherit;font-size:.6875rem;font-weight:600;letter-spacing:.03em;margin-left:4px;padding:1px 7px;text-transform:uppercase;vertical-align:middle}.csv-badge.required{background:#d6454524;color:var(--error)}.csv-badge.optional{background:var(--border);color:var(--text-muted)}.csv-note{color:var(--text-muted);font-size:.8125rem;line-height:1.55;margin:12px 2px 0}.csv-note strong{color:var(--text);font-weight:600}.csv-dropzone{padding:22px 18px}.import-feedback{align-items:flex-start;animation:fadeUp .25s ease both;border:1px solid;border-radius:10px;display:flex;gap:12px;padding:14px 16px}.import-feedback .icon{flex-shrink:0;margin-top:1px}.import-feedback strong{display:block;font-size:.9375rem;font-weight:600;margin-bottom:2px}.import-feedback p{font-size:.8125rem;line-height:1.5;margin:0}.import-feedback--error{background:var(--error-bg);border-color:var(--error-border);color:var(--error)}.import-feedback--success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.import-issues{background:var(--surface-alt);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:7px;list-style:none;margin:0;max-height:160px;overflow-y:auto;padding:12px 14px}.import-issues li{align-items:flex-start;color:var(--text-muted);display:flex;font-size:.8125rem;gap:8px;line-height:1.45}.import-issues li .icon{color:var(--error);flex-shrink:0;margin-top:2px}.import-actions{display:flex;gap:12px;justify-content:flex-end}.import-confirm{margin-top:0;padding:12px 28px;width:auto}.recipients-list{gap:16px;margin-bottom:24px}.recipient-item,.recipients-list{display:flex;flex-direction:column}.recipient-item{background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;gap:10px;padding:18px;transition:all .2s ease}.recipient-item:hover{border-color:var(--border-strong)}.recipient-item:has(.status-success){background:var(--success-bg);border-color:var(--success-border)}.recipient-item:has(.status-error){background:var(--error-bg);border-color:var(--error-border)}.recipient-item:has(.status-sending){background:var(--info-bg);border-color:var(--info)}.recipient-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;width:100%}.recipient-input-wrapper{align-items:center;display:flex;flex:1 1;gap:10px;min-width:200px;position:relative}.recipient-input-wrapper .input{flex:1 1;margin:0}.recipient-company{flex:1 1;min-width:200px}.status-indicator{align-items:center;display:inline-flex;flex-shrink:0;line-height:1}.status-message{border-radius:6px;font-size:.8125rem;font-weight:500;margin-top:4px;padding:8px 12px;width:100%}.status-message.status-success{background:var(--success-bg);color:var(--success)}.status-message.status-error{background:var(--error-bg);color:var(--error)}.status-message.status-sending{background:var(--info-bg);color:var(--info)}.status-message.status-pending{background:#c5a57226;color:var(--gold-strong)}.results-card{margin-top:24px}.results-summary{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.summary-item{align-items:center;background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;display:flex;flex:1 1;flex-direction:column;min-width:120px;padding:20px}.summary-item.success{background:var(--success-bg);border-color:var(--success-border)}.summary-item.failed{background:var(--error-bg);border-color:var(--error-border)}.summary-item.total{background:var(--info-bg);border-color:var(--info)}.summary-label{color:var(--text-muted);font-size:.8125rem;font-weight:500;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.summary-value{color:var(--text);font-size:2rem;font-weight:700}.summary-item.success .summary-value{color:var(--success)}.summary-item.failed .summary-value{color:var(--error)}.summary-item.total .summary-value{color:var(--info)}.results-list{display:flex;flex-direction:column;gap:12px}.result-item{align-items:center;background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:14px 16px}.result-item.success{background:var(--success-bg);border-left:3px solid var(--success)}.result-item.error{background:var(--error-bg);border-left:3px solid var(--error)}.result-email{color:var(--text);font-size:.9375rem;font-weight:500}.result-status{font-size:.875rem;font-weight:500}.result-status.success{color:var(--success)}.result-status.error{color:var(--error)}.footer{border-top:1px solid var(--border);color:var(--text-muted);font-size:.875rem;margin-top:40px;padding:32px 20px;text-align:center}.footer p{margin:0}.footer-link{color:var(--gold-strong);font-weight:600;text-decoration:none;transition:color .2s ease}.footer-link:hover{color:var(--gold);text-decoration:underline}.oauth-missing-notice{background:#c5a5721f;border:1px solid var(--gold);border-radius:10px;color:var(--gold-strong);font-size:.875rem;line-height:1.45;padding:12px 14px}.oauth-missing-notice code{background:var(--surface);border-radius:4px;font-size:.8125rem;padding:1px 6px}.google-auth-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px 16px}.google-user-chip{align-items:center;background:var(--success-bg);border:1px solid var(--success-border);border-radius:10px;display:flex;gap:12px;max-width:100%;padding:8px 14px}.google-user-avatar{border:2px solid var(--surface);border-radius:50%;box-shadow:0 1px 3px #0000001f;flex-shrink:0;height:40px;object-fit:cover;width:40px}.google-user-avatar--placeholder{align-items:center;background:linear-gradient(135deg,var(--navy),var(--gold));color:#fff;display:flex;font-size:1rem;font-weight:600;justify-content:center}.google-user-text{display:flex;flex-direction:column;gap:2px;min-width:0}.google-user-name{color:var(--text);font-size:.9375rem;font-weight:600;line-height:1.3;word-break:break-word}.google-user-email{color:var(--text-muted);font-size:.8125rem;word-break:break-all}.btn-google-signout,.google-user-loading{color:var(--text-muted);font-size:.875rem}.btn-google-signout{background:#0000;border:1px solid var(--border-strong);border-radius:8px;cursor:pointer;font-weight:500;padding:8px 14px;transition:background .15s ease,color .15s ease,border-color .15s ease}.btn-google-signout:hover:not(:disabled){background:var(--surface-alt);border-color:var(--gold);color:var(--text)}.btn-google-signout:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.App{padding:20px 12px}.header{padding:36px 20px}.header h1{font-size:1.85rem}.card{padding:24px}.recipient-item{padding:16px}.recipient-row{align-items:stretch;flex-direction:column}.recipient-company,.recipient-input-wrapper{width:100%}.card-header{align-items:flex-start;flex-direction:column;gap:16px}.config-actions .btn{min-width:100%}.results-summary{flex-direction:column}.summary-item{width:100%}.footer{margin-top:32px;padding:24px 16px}.preview-overlay{padding:12px}.preview-header{padding:16px}.preview-iframe{min-height:320px}}.notification{animation:slideIn .3s ease-out;background:#fff;background:var(--surface,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:8px;box-shadow:0 4px 16px #00000026;max-width:480px;min-width:320px;padding:16px 20px;position:fixed;right:24px;top:24px;z-index:10000}@keyframes slideIn{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}.notification-content{align-items:center;display:flex;gap:12px}.notification-icon{align-items:center;display:inline-flex;flex-shrink:0}.notification-message{color:#111827;color:var(--text,#111827);flex:1 1;font-size:.9375rem;font-weight:500;line-height:1.5}.notification-close{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;line-height:1;opacity:.6;padding:0;transition:all .2s ease;width:24px}.notification-close:hover{color:#111827;opacity:1}.notification-success{background:#f0fdf4;border-left:4px solid #10b981}.notification-success .notification-icon,.notification-success .notification-message{color:#065f46}.notification-error{background:#fef2f2;border-left:4px solid #ef4444}.notification-error .notification-icon,.notification-error .notification-message{color:#991b1b}.notification-warning{background:#fffbeb;border-left:4px solid #f59e0b}.notification-warning .notification-icon,.notification-warning .notification-message{color:#92400e}.notification-info{background:#eff6ff;border-left:4px solid #3b82f6}.notification-info .notification-icon,.notification-info .notification-message{color:#1e40af}@media (max-width:768px){.notification{left:12px;max-width:none;min-width:auto;right:12px}}
/*# sourceMappingURL=main.36988b1a.css.map*/