@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap";.dropzone{border:2px dashed var(--gray-medium);border-radius:8px;padding:48px;text-align:center;cursor:pointer;transition:all .3s ease;background-color:var(--gray-light)}.dropzone:hover{border-color:var(--primary-color);background-color:#f0f7ff}.dropzone.active{border-color:var(--primary-color);background-color:#e3f2fd}.dropzone.uploading{cursor:not-allowed;opacity:.7}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:16px}.dropzone-content svg{color:var(--primary-color)}.dropzone-content p{font-size:18px;font-weight:500;color:#333}.dropzone-hint{font-size:14px!important;color:var(--gray-dark)!important;font-weight:400!important}.uploading-content{display:flex;flex-direction:column;align-items:center;gap:16px}.uploading-content p{font-size:16px;color:var(--gray-dark)}.step-description{color:var(--gray-dark);margin-bottom:24px}.requirements{margin-top:32px;padding-top:24px;border-top:1px solid var(--gray-medium)}.requirements h3{font-size:16px;margin-bottom:12px;color:#333}.requirements ul{list-style-position:inside;color:var(--gray-dark)}.requirements li{margin-bottom:8px}.mapping-info{background-color:var(--gray-light);padding:16px;border-radius:4px;margin-bottom:24px}.mapping-info p{margin-bottom:8px;color:#333}.mapping-info p:last-child{margin-bottom:0}.mapping-section{margin-bottom:32px}.mapping-section h3{font-size:18px;margin-bottom:16px;color:#333;border-bottom:2px solid var(--primary-color);padding-bottom:8px}.mapping-grid{display:grid;gap:20px}.mapping-item{display:flex;flex-direction:column;gap:8px}.mapping-item label{font-weight:600;color:#333;font-size:14px}.mapping-item .required{color:var(--error-color)}.mapping-hint{font-size:12px;color:var(--success-color);font-style:italic}.mapping-warning{background-color:#fff3cd;border-left:4px solid #ffc107;padding:12px;border-radius:4px;margin-top:20px;margin-bottom:20px}.mapping-warning p{color:#856404;margin:0;font-size:14px}.mapping-info-box{background-color:#e3f2fd;border-left:4px solid #2196f3;padding:16px;border-radius:4px;margin-bottom:20px}.mapping-info-box p{color:#1976d2;margin:0;font-size:14px;line-height:1.6}.mapping-item-special{background-color:#f5f5f5;padding:16px;border-radius:4px;border:2px dashed #2196f3}.special-badge{display:inline-block;background-color:#2196f3;color:#fff;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;margin-left:8px}.special-hint{color:#2196f3!important;font-weight:500}.disabled-hint{color:#ff9800!important;font-weight:500}.mapping-item select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.file-info{background-color:var(--gray-light);padding:16px;border-radius:4px;margin-bottom:24px}.file-info p{margin-bottom:8px;color:#333}.file-info p:last-child{margin-bottom:0}.preview-table-container{margin-top:32px}.preview-table-container h3{font-size:18px;margin-bottom:16px;color:#333}.table-wrapper{overflow-x:auto;max-height:500px;overflow-y:auto;border:1px solid var(--gray-medium);border-radius:4px}.table{min-width:100%}.table th{position:sticky;top:0;background-color:var(--gray-light);z-index:1}.validation-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;padding:20px;background-color:var(--gray-light);border-radius:4px}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-label{font-size:14px;color:var(--gray-dark);font-weight:500}.summary-value{font-size:18px;font-weight:600;color:#333}.summary-value.success{color:var(--success-color)}.summary-value.error{color:var(--error-color)}.error-scroll{max-height:400px;overflow-y:auto;margin-top:16px}.error-item{padding:12px;background-color:#fff;border-left:3px solid var(--error-color);margin-bottom:8px;border-radius:4px;display:flex;flex-direction:column;gap:4px}.error-row{font-weight:600;color:var(--error-color);font-size:14px}.error-field{font-size:12px;color:var(--gray-dark);font-style:italic}.error-message{font-size:14px;color:#333}.error-note{margin-top:16px;padding:12px;background-color:#fff3cd;border-left:3px solid #ffc107;border-radius:4px;color:#856404;font-size:14px}.success-box h3{color:var(--success-color);margin-bottom:8px}.success-box p{color:#333;line-height:1.6}.validation-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:24px}.validation-loading .spinner{width:64px;height:64px;border:5px solid var(--gray-light);border-top:5px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.loading-message{color:var(--gray-dark);font-size:16px;text-align:center;margin:0}.import-warning{background-color:#fff3cd;border-left:4px solid #ffc107;padding:16px;border-radius:4px;margin-top:24px}.import-warning h4{color:#856404;margin-bottom:12px;font-size:16px}.import-warning ul{list-style-position:inside;color:#856404;margin:0}.import-warning li{margin-bottom:8px}.actions button{display:flex;align-items:center;gap:8px}.status-header{margin-bottom:24px}.status-info{background-color:var(--gray-light);padding:20px;border-radius:4px}.status-info p{margin-bottom:12px;color:#333}.status-info p:last-child{margin-bottom:0}.polling-container{margin-top:20px;padding:24px;background:linear-gradient(135deg,var(--brand-blue) 0%,var(--brand-red) 100%);border-radius:8px;text-align:center}.polling-loader{display:flex;flex-direction:column;align-items:center;gap:16px}.polling-loader .spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top:4px solid var(--brand-white);border-radius:50%;animation:spin 1s linear infinite}.polling-note{color:var(--brand-white);font-size:16px;font-weight:500;margin:0}.progress-note{color:#ffffffe6;font-size:14px;margin:0}.deals-section{margin-top:32px;padding:24px;background-color:var(--gray-light);border-radius:4px;border-left:4px solid var(--primary-color)}.deals-section h3{margin-top:0;margin-bottom:12px;color:#333}.deals-info p{color:#666;margin-bottom:16px}.deals-disclaimer{background-color:#fff3cd;border-left:3px solid #ffc107;padding:16px;border-radius:4px;margin:16px 0}.deals-disclaimer strong{color:#856404;display:block;margin-bottom:8px}.deals-disclaimer ul{margin:8px 0 0;padding-left:20px;color:#856404}.deals-disclaimer li{margin-bottom:4px}.info-box{margin-top:24px;padding:16px;background-color:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px}.info-box h4{margin-top:0;color:#1976d2}.info-box p{color:#333;margin-bottom:8px}.info-box p:last-child{margin-bottom:0}.audit-link{color:var(--primary-color);text-decoration:none;font-weight:500;transition:opacity .2s}.audit-link:hover{opacity:.8;text-decoration:underline}.preview-validated{margin-top:24px;padding:16px;background-color:#f5f5f5;border-radius:4px}.preview-validated h4{margin-top:0;margin-bottom:12px;color:#333}.preview-validated .table-wrapper{overflow-x:auto;max-height:300px;overflow-y:auto}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--brand-blue);padding:20px}.login-card{background:var(--brand-white);border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:48px;max-width:450px;width:100%;text-align:center;border:1px solid rgba(255,255,255,.1);position:relative;z-index:1}.login-logo{margin-bottom:32px;display:flex;justify-content:center;align-items:center}.login-logo img{height:40px;width:auto;max-width:200px}.login-header h1{margin:0 0 8px;color:var(--brand-blue);font-size:32px;font-weight:700}.login-header p{margin:0 0 32px;color:var(--brand-blue);font-size:16px;opacity:.9}.login-content{margin-top:32px}.google-login-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:16px 24px;background:var(--brand-white);border:2px solid #dadce0;border-radius:10px;font-size:16px;font-weight:500;color:var(--text-default);cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.google-login-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,74,143,.1),transparent);transition:left .5s ease}.google-login-btn:hover:not(:disabled):before{left:100%}.google-login-btn:hover:not(:disabled){box-shadow:0 4px 12px #004a8f33;background:var(--surface-light);border-color:var(--brand-blue);transform:translateY(-2px)}.google-login-btn:active:not(:disabled){box-shadow:0 1px 2px #0000001a}.google-login-btn:disabled{opacity:.6;cursor:not-allowed}.google-icon{width:20px;height:20px}.unauthorized-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--secondary-color) 0%,#c7002a 100%);padding:20px}.unauthorized-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;padding:48px;max-width:500px;width:100%;text-align:center}.unauthorized-icon{width:80px;height:80px;margin:0 auto 24px;color:var(--secondary-color)}.unauthorized-icon svg{width:100%;height:100%}.unauthorized-card h1{margin:0 0 16px;color:#333;font-size:28px;font-weight:600}.unauthorized-message{margin:0 0 24px;color:#666;font-size:16px;line-height:1.6}.unauthorized-redirect{margin:0 0 32px;color:#888;font-size:14px}.unauthorized-redirect strong{color:var(--secondary-color);font-weight:600}.unauthorized-redirect .countdown-number{color:var(--secondary-color);font-weight:700;font-size:18px;display:inline-block;min-width:20px;text-align:center}.redirect-btn{display:inline-block;padding:12px 24px;background:var(--secondary-color);color:#fff;text-decoration:none;border-radius:6px;font-weight:500;transition:all .2s ease}.redirect-btn:hover{background:#c7002a;transform:translateY(-2px);box-shadow:0 4px 12px #e700334d}.app{min-height:100vh}.app-header{background:linear-gradient(135deg,var(--brand-blue) 0%,#003a6f 100%);color:var(--brand-white);padding:40px 0;margin-bottom:40px;box-shadow:0 2px 8px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.app-header h1{font-size:32px;margin-bottom:8px}.app-header p{font-size:16px;opacity:.9}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,255,255,.3)}.user-details{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.user-name{font-size:14px;font-weight:500;opacity:.95}.logout-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.logout-btn:hover{background:#ffffff4d;border-color:#ffffff80}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{color:var(--gray-dark);font-size:16px}.step-indicator{display:flex;justify-content:center;margin-bottom:40px;gap:20px}.step{display:flex;align-items:center;gap:10px}.step-number{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;background-color:var(--gray-medium);color:var(--gray-dark)}.step.active .step-number{background-color:var(--brand-blue);color:var(--brand-white)}.step.completed .step-number{background-color:var(--success-color);color:var(--brand-white)}.step-label{font-weight:500}.actions{display:flex;gap:12px;margin-top:24px;justify-content:flex-end}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333}.form-group .help-text{font-size:14px;color:var(--gray-dark);margin-top:4px}.error-list{background-color:#ffebee;border-left:4px solid var(--error-color);padding:16px;margin-top:20px;border-radius:4px}.error-item{margin-bottom:8px;font-size:14px}.error-item:last-child{margin-bottom:0}.success-box{background-color:#e8f5e9;border-left:4px solid var(--success-color);padding:16px;margin-top:20px;border-radius:4px}*{margin:0;padding:0;box-sizing:border-box;font-family:Roboto,sans-serif}:root{--brand-blue: #004a8f;--brand-red: #e70033;--brand-white: #ffffff;--surface-light: #f8faff;--text-default: #272833;--container-max: 1200px;--container-padding-desktop: 2.5rem;--container-padding-tablet: 2rem;--container-padding-mobile: 1.5rem;--section-spacing-desktop: 4rem;--section-spacing-tablet: 3rem;--section-spacing-mobile: 2.5rem;--stack-gap-desktop: 2.5rem;--stack-gap-tablet: 2rem;--stack-gap-mobile: 1.5rem;--primary-color: var(--brand-blue);--secondary-color: var(--brand-red);--white: var(--brand-white);--gray-light: #f5f5f5;--gray-medium: #e0e0e0;--gray-dark: #666666;--error-color: #d32f2f;--success-color: #2e7d32}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--surface-light);color:var(--text-default)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background:var(--white);border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.btn{padding:12px 24px;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background-color:var(--primary-color);color:var(--white)}.btn-primary:hover{background-color:#003a6f}.btn-secondary{background-color:var(--secondary-color);color:var(--white)}.btn-secondary:hover{background-color:#c7002a}.btn:disabled{opacity:.6;cursor:not-allowed}.input{width:100%;padding:12px;border:1px solid var(--gray-medium);border-radius:4px;font-size:16px}.input:focus{outline:none;border-color:var(--primary-color)}.select{width:100%;padding:12px;border:1px solid var(--gray-medium);border-radius:4px;font-size:16px;background-color:var(--white)}.select:focus{outline:none;border-color:var(--primary-color)}.error-message{color:var(--error-color);font-size:14px;margin-top:8px}.success-message{color:var(--success-color);font-size:14px;margin-top:8px}.table{width:100%;border-collapse:collapse;margin-top:20px}.table th,.table td{padding:12px;text-align:left;border-bottom:1px solid var(--gray-medium)}.table th{background-color:var(--gray-light);font-weight:600}.table tr:hover{background-color:var(--gray-light)}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.badge-success{background-color:#e8f5e9;color:var(--success-color)}.badge-error{background-color:#ffebee;color:var(--error-color)}.badge-warning{background-color:#fff3e0;color:#f57c00}.loading{display:inline-block;width:20px;height:20px;border:3px solid var(--gray-medium);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}
