:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.sidebar{width:260px;background-color:#fff;display:flex;flex-direction:column;border-right:1px solid #e5e5e5;flex-shrink:0}.sidebar-header{padding:16px 16px 12px;position:relative;border-bottom:1px solid #e5e5e5}.user-button{display:flex;align-items:center;gap:10px;width:100%;padding:0;background:transparent;border:none;cursor:pointer;color:#1a1a1a;font-size:14px;text-align:left}.user-button:hover{opacity:.8}.user-button svg{color:#666;flex-shrink:0}.user-button-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover;flex-shrink:0}.user-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.user-menu{position:absolute;top:100%;left:12px;right:12px;background-color:#fff;border-radius:8px;box-shadow:0 4px 16px #0000001f;border:1px solid #e5e5e5;padding:8px 0;z-index:100}.user-menu-header{display:flex;align-items:center;gap:10px;padding:10px 14px}.user-avatar{width:32px;height:32px;background-color:#e5e5e5;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;color:#666;flex-shrink:0;overflow:hidden}.user-avatar-img{width:100%;height:100%;object-fit:cover}.user-info{display:flex;flex-direction:column;gap:2px}.user-email{font-size:13px;color:#1a1a1a}.user-plan{font-size:11px;color:#888}.menu-divider{height:1px;background-color:#e5e5e5;margin:6px 0}.menu-item{display:block;width:100%;padding:8px 14px;background:transparent;border:none;color:#1a1a1a;font-size:13px;text-align:left;cursor:pointer}.menu-item:hover{background-color:#f5f5f5}.sidebar-nav{padding:4px 12px;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;color:#444;font-size:14px;text-align:left}.nav-item:hover{background-color:#f5f5f5}.nav-item.active{background-color:#f0f0f0;color:#1a1a1a}.nav-icon{display:flex;align-items:center;justify-content:center;width:20px}.nav-label{font-weight:450}.nav-divider{height:1px;background-color:#e5e5e5;margin:8px 0}.nav-section-label{padding:8px 12px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#888}.sidebar-spacer{flex:1}.sidebar-footer{padding:16px;display:flex;flex-direction:column;align-items:center;gap:12px}.footer-links{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.privacy-link{font-size:12px;color:#888;text-decoration:none}.privacy-link:hover{color:#666;text-decoration:underline}.layout{display:flex;height:100vh;width:100vw}.main-content{flex:1;background-color:#fafafa;display:flex;flex-direction:column;overflow:hidden;min-width:0}.content-header{padding:40px 60px 20px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.content-header h1{font-size:28px;font-weight:600;color:#1a1a1a;margin:0}.content-hero{display:flex;align-items:baseline;gap:6px}.content-hero .hero-name{font-size:16px;font-weight:600;color:#1a1a1a;letter-spacing:-.3px}.content-hero .hero-version{font-size:12px;color:#888;font-weight:400}.content-body{flex:1;padding:0 60px 40px;overflow:auto}.content-body.full-height{padding:0;display:flex;flex-direction:column;overflow:hidden}.home-page{display:flex;flex-direction:column;gap:32px}.alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.section-title{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header .section-title{margin-bottom:0}.view-all-btn{background:none;border:none;color:#666;font-size:13px;cursor:pointer;padding:4px 12px;border-radius:4px;text-decoration:none}.view-all-btn:hover{background-color:#e5e5e5;color:#1a1a1a}.stats-section{margin-bottom:8px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.stat-card{background-color:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:20px;display:flex;gap:16px}.stat-icon{display:flex;align-items:flex-start;justify-content:center;width:48px;height:48px;background-color:#f5f5f5;border-radius:12px;color:#666;flex-shrink:0;padding-top:12px}.stat-content{flex:1;min-width:0}.stat-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.stat-header-row .stat-label{margin-bottom:0;white-space:nowrap}.stat-label{font-size:13px;color:#666;font-weight:500;margin-bottom:4px}.stat-value{font-size:24px;font-weight:600;color:#1a1a1a;line-height:1.3}.stat-link{display:inline-block;margin-top:8px;font-size:13px;color:#2563eb;text-decoration:none}.stat-link:hover{text-decoration:underline}.month-select{font-size:12px;padding:4px 8px;border:1px solid #d0d0d0;border-radius:6px;background:#fff;color:#333;cursor:pointer}.month-select:focus{outline:none;border-color:#000}.chart-container{display:flex;align-items:center;gap:24px;margin-top:8px}.donut-chart{position:relative;width:120px;height:120px;flex-shrink:0}.donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.donut-value{font-size:20px;font-weight:600;color:#1a1a1a}.chart-legend{display:flex;flex-direction:column;gap:8px}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#444}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-delivered{background-color:#22c55e}.legend-failed{background-color:#ef4444}.sms-log-section{background-color:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:20px}.sms-log-table-container{overflow-x:auto}.sms-log-table{width:100%;border-collapse:collapse}.sms-log-table th,.sms-log-table td{text-align:left;padding:12px 16px;border-bottom:1px solid #e5e5e5}.sms-log-table th{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;background-color:#fafafa}.sms-log-table td{font-size:14px;color:#333}.sms-log-table tbody tr:hover{background-color:#fafafa}.sms-log-table tbody tr:last-child td{border-bottom:none}.col-datetime{white-space:nowrap;width:150px}.col-phone{white-space:nowrap;width:140px}.col-message{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-status{width:120px}.sms-log-table .status-badge{display:inline-flex!important;align-items:center;gap:8px;padding:4px 10px;border-radius:16px;font-size:12px;font-weight:500}.sms-log-table .status-badge svg{flex-shrink:0}.status-delivered{background-color:#dcfce7;color:#16a34a}.status-sent{background-color:#dbeafe;color:#2563eb}.status-pending{background-color:#fef3c7;color:#d97706}.status-failed{background-color:#fee2e2;color:#dc2626}.empty-state{text-align:center;padding:48px 24px;color:#666}.empty-state p{margin:0 0 16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:all .15s ease}.btn-primary:hover{background-color:#333}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.stats-grid{grid-template-columns:1fr}.chart-container{flex-direction:column;align-items:flex-start}}.contact-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.contact-modal{background-color:#fff;border-radius:12px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.contact-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e5e5}.contact-modal-header h2{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.contact-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;color:#666;cursor:pointer}.contact-modal-close:hover{background-color:#f5f5f5;color:#1a1a1a}.contact-modal-body{padding:24px}.contact-modal-error{background-color:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;margin:0 24px 16px;color:#dc2626;font-size:14px}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.form-group input{padding:10px 14px;border:1px solid #e5e5e5;border-radius:8px;font-size:14px;color:#1a1a1a;transition:border-color .15s ease}.form-group input.error{border-color:#dc2626}.form-error{font-size:12px;color:#dc2626}.form-hint{font-size:12px;color:#888}.groups-select{display:flex;flex-direction:column;gap:8px;padding:12px;background-color:#fafafa;border-radius:8px;max-height:150px;overflow-y:auto}.group-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;padding:6px 8px;border-radius:6px}.group-checkbox:hover{background-color:#f0f0f0}.group-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.group-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.group-name{font-size:14px;color:#444}.contact-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e5e5}.contact-modal-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.contact-modal-btn.cancel{background-color:#f5f5f5;border:1px solid #e5e5e5;color:#666}.contact-modal-btn.cancel:hover:not(:disabled){background-color:#ebebeb}.contact-modal-btn.save{background-color:#1a1a1a;border:1px solid #1a1a1a;color:#fff}.contact-modal-btn.save:hover:not(:disabled){background-color:#333}.contact-modal-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:500px){.form-row{grid-template-columns:1fr}}.group-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.group-modal{background-color:#fff;border-radius:12px;max-width:400px;width:90%;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1a1a1a}.group-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e5e5}.group-modal-header h2{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.group-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:6px;color:#666;cursor:pointer}.group-modal-close:hover{background-color:#f5f5f5;color:#1a1a1a}.group-modal-body{padding:24px}.group-modal-error{background-color:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;margin:0 24px 16px;color:#dc2626;font-size:14px}.group-modal-body .form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.group-modal-body .form-group:last-child{margin-bottom:0}.group-modal-body .form-group label{font-size:14px;font-weight:500;color:#1a1a1a}.group-modal-body .form-group input{padding:10px 14px;border:1px solid #e5e5e5;border-radius:8px;font-size:14px;font-family:inherit;color:#1a1a1a;background-color:#fff;transition:border-color .15s ease}.group-modal-body .form-group input:focus{outline:none;border-color:#1a1a1a}.group-modal-body .form-group input.error{border-color:#dc2626}.group-modal-body .form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.group-modal-body .form-error{font-size:12px;color:#dc2626}.color-picker{display:flex;flex-wrap:wrap;gap:8px}.color-option{width:32px;height:32px;min-width:32px;min-height:32px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer;transition:all .15s ease;flex-shrink:0}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:#1a1a1a;box-shadow:0 0 0 2px #fff,0 0 0 4px #1a1a1a}.color-option:disabled{cursor:not-allowed;opacity:.6}.group-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e5e5}.group-modal-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.group-modal-btn.cancel{background-color:#f5f5f5;border:1px solid #e5e5e5;color:#666}.group-modal-btn.cancel:hover:not(:disabled){background-color:#ebebeb}.group-modal-btn.save{background-color:#1a1a1a;border:1px solid #1a1a1a;color:#fff}.group-modal-btn.save:hover:not(:disabled){background-color:#333}.group-modal-btn:disabled{opacity:.6;cursor:not-allowed}.confirm-dialog-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.confirm-dialog{background-color:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.confirm-dialog-title{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.confirm-dialog-message{font-size:14px;color:#666;margin:0 0 24px;line-height:1.5}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:12px}.confirm-dialog-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.confirm-dialog-btn.cancel{background-color:#f5f5f5;border:1px solid #e5e5e5;color:#666}.confirm-dialog-btn.cancel:hover{background-color:#ebebeb}.confirm-dialog-btn.confirm{background-color:#1a1a1a;border:1px solid #1a1a1a;color:#fff}.confirm-dialog-btn.confirm:hover{background-color:#333}.confirm-dialog-btn.confirm.danger{background-color:#dc2626;border-color:#dc2626}.confirm-dialog-btn.confirm.danger:hover{background-color:#b91c1c}.liste-page{display:flex;flex:1;min-height:0;overflow:hidden}.lists-sidebar{width:280px;background-color:#fafafa;border-right:1px solid #e5e5e5;display:flex;flex-direction:column;flex-shrink:0}.lists-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e5e5e5;min-height:73px;box-sizing:border-box}.lists-header h2{font-size:14px;font-weight:600;color:#1a1a1a;margin:0}.icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#fff;border:1px solid #d0d0d0;border-radius:6px;color:#333;cursor:pointer;transition:all .15s ease}.icon-btn svg{display:block;width:16px;height:16px;flex-shrink:0;stroke:#333}.icon-btn:hover{background-color:#f0f0f0;border-color:#b0b0b0;color:#1a1a1a}.icon-btn:hover svg{stroke:#1a1a1a}.icon-btn.small{width:26px;height:26px}.icon-btn.small svg{width:14px;height:14px}.lists-container{flex:1;overflow-y:auto;padding:12px 8px 0}.list-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 90px 12px 12px;background:none;border:none;border-radius:8px;cursor:pointer;text-align:left;color:#444;font-size:13px}.list-item:hover{background-color:#f5f5f5}.list-item.active{background-color:#f0f0f0;color:#1a1a1a}.list-icon{display:flex;align-items:center}.list-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-count{font-size:12px;color:#888;font-weight:500}.list-item-wrapper .list-count{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.contacts-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:#fafafa;min-width:0}.contacts-toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background-color:#fafafa;border-bottom:1px solid #e5e5e5;flex-shrink:0;min-height:73px;box-sizing:border-box}.search-box{display:flex;align-items:center;gap:10px;padding:8px 14px;background-color:#f5f5f5;border-radius:8px;width:300px}.search-box svg{color:#888;flex-shrink:0}.search-box input{flex:1;border:none;background:none;font-size:14px;color:#1a1a1a;outline:none}.search-box input::placeholder{color:#888}.toolbar-actions{display:flex;gap:10px}.toolbar-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background-color:#fff;border:1px solid #e5e5e5;border-radius:8px;font-size:13px;color:#444;cursor:pointer}.toolbar-btn:hover{background-color:#f5f5f5;border-color:#d0d0d0}.toolbar-btn.primary{background-color:#1a1a1a;border-color:#1a1a1a;color:#fff}.toolbar-btn.primary:hover{background-color:#333}.selection-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 24px;background-color:#f0f9ff;border-bottom:1px solid #bae6fd;flex-shrink:0}.selection-count{font-size:13px;font-weight:500;color:#0369a1}.selection-actions{display:flex;gap:8px}.selection-btn{padding:6px 12px;background:none;border:1px solid #0369a1;border-radius:6px;font-size:13px;font-family:inherit;font-weight:500;color:#0369a1;cursor:pointer}.selection-btn:hover{background-color:#e0f2fe}.selection-btn.danger{border-color:#dc2626;color:#dc2626}.selection-btn.danger:hover{background-color:#fee2e2}.contacts-table-wrapper{flex:1;overflow:auto;background-color:#fafafa}.contacts-table{width:100%;border-collapse:collapse;font-size:13px}.contacts-table th,.contacts-table td{padding:12px 24px;text-align:left;border-bottom:1px solid #f0f0f0}.contacts-table th{background-color:#fafafa;font-weight:500;color:#666;font-size:12px;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:1}.contacts-table th:first-child,.contacts-table td:first-child{padding-left:24px}.contacts-table tbody tr:hover{background-color:#fafafa}.contacts-table tbody tr.selected{background-color:#f0f9ff}.checkbox-col{width:40px}.checkbox-col input[type=checkbox]{width:16px;height:16px;cursor:pointer}.contact-name{display:flex;align-items:center;gap:10px;font-weight:500;color:#1a1a1a}.contact-avatar{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background-color:#f0f0f0;border-radius:50%;color:#666}.phone-cell{font-family:SF Mono,Consolas,monospace;color:#444}.email-cell{color:#666}.date-cell{color:#888;font-size:12px}.contact-lists{display:flex;flex-wrap:wrap;gap:4px}.list-tag{padding:2px 8px;background-color:#f0f0f0;border-radius:10px;font-size:11px;color:#666;white-space:nowrap}.actions-col{width:80px}.row-actions{display:flex;gap:4px;opacity:.6;transition:opacity .15s ease}.contacts-table tbody tr:hover .row-actions{opacity:1}.icon-btn.danger:hover{background-color:#fee2e2;border-color:#fecaca;color:#dc2626}.icon-btn.danger:hover svg{stroke:#dc2626}.list-item-wrapper{position:relative}.list-item-wrapper:hover .list-item-actions{opacity:1}.list-item-actions{position:absolute;right:38px;top:50%;transform:translateY(-50%);display:flex;gap:4px;opacity:.6;transition:opacity .15s ease;z-index:10}.list-action-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:#fff;border:1px solid #d0d0d0;border-radius:6px;color:#333;cursor:pointer;transition:all .15s ease}.list-action-btn svg{display:block;width:14px;height:14px;flex-shrink:0;stroke:#333}.list-action-btn:hover{background-color:#f0f0f0;border-color:#b0b0b0;color:#1a1a1a}.list-action-btn:hover svg{stroke:#1a1a1a}.list-action-btn.danger:hover{background-color:#fee2e2;border-color:#fecaca;color:#dc2626}.list-action-btn.danger:hover svg{stroke:#dc2626}.selection-dropdown select{padding:6px 12px;border:1px solid #0369a1;border-radius:6px;font-size:13px;font-family:inherit;font-weight:500;color:#0369a1;background-color:transparent;cursor:pointer}.selection-dropdown select:hover{background-color:#e0f2fe}.error-banner{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background-color:#fee2e2;border-bottom:1px solid #fecaca;color:#dc2626;font-size:14px}.error-banner button{padding:6px 12px;background-color:#dc2626;border:none;border-radius:6px;color:#fff;font-size:12px;cursor:pointer}.error-banner button:hover{background-color:#b91c1c}.loading-state{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:#666}.loading-state p{font-size:14px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#888}.empty-state p{font-size:16px;font-weight:500;color:#666;margin:0 0 8px}.empty-state span{font-size:13px}.contacts-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background-color:#fafafa;border-top:1px solid #e5e5e5;flex-shrink:0}.pagination-info{font-size:13px;color:#666}.pagination-controls{display:flex;gap:4px}.pagination-btn{padding:6px 12px;background:none;border:1px solid #e5e5e5;border-radius:6px;font-size:13px;color:#444;cursor:pointer}.pagination-btn:hover:not(:disabled){background-color:#f5f5f5;border-color:#d0d0d0}.pagination-btn:disabled{color:#ccc;cursor:not-allowed}.pagination-btn.active{background-color:#1a1a1a;border-color:#1a1a1a;color:#fff}@media(max-width:900px){.lists-sidebar{width:240px}.search-box{width:200px}}@media(max-width:700px){.liste-page{flex-direction:column}.lists-sidebar{width:100%;max-height:200px;border-right:none;border-bottom:1px solid #e5e5e5}.contacts-toolbar{flex-direction:column;gap:12px}.search-box{width:100%}}.back-button{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:none;border:none;border-radius:6px;color:#666;font-size:14px;cursor:pointer;transition:all .15s ease;margin-bottom:16px}.back-button:hover{background-color:#f5f5f5;color:#1a1a1a}.back-button svg{flex-shrink:0}.import-container{padding:32px;max-width:900px;margin:0 auto}.import-container h1{font-size:24px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.import-container>p{color:#666;margin:0 0 32px}.import-progress{display:flex;align-items:center;margin-bottom:32px}.progress-step{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500;color:#999;background-color:#f5f5f5;transition:all .2s ease}.progress-step.active{color:#1a1a1a;background-color:#e5e5e5}.progress-step.completed{color:#16a34a;background-color:#dcfce7}.progress-step .step-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background-color:currentColor;color:#fff;font-size:12px}.progress-step.active .step-number{background-color:#1a1a1a}.progress-step.completed .step-number{background-color:#16a34a}.progress-line{flex:1;height:2px;background-color:#e5e5e5;margin:0 8px}.progress-line.completed{background-color:#16a34a}.import-step{background-color:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:24px}.import-step h2{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.import-step>p{color:#666;margin:0 0 24px;font-size:14px}.upload-area{border:2px dashed #e5e5e5;border-radius:12px;padding:48px;text-align:center;cursor:pointer;transition:all .2s ease}.upload-area:hover,.upload-area.dragging{border-color:#1a1a1a;background-color:#fafafa}.upload-area .upload-icon{font-size:48px;margin-bottom:16px}.upload-area p{color:#666;margin:0 0 8px}.upload-area small{color:#999;font-size:12px}.upload-area input[type=file]{display:none}.file-info{display:flex;align-items:center;gap:16px;padding:16px;background-color:#f5f5f5;border-radius:8px;margin-top:16px}.file-info .file-icon{font-size:32px}.file-info .file-details{flex:1}.file-info .file-name{font-weight:500;color:#1a1a1a}.file-info .file-size{font-size:12px;color:#666}.file-info .remove-file{padding:8px;background:none;border:none;color:#666;cursor:pointer;border-radius:6px}.file-info .remove-file:hover{background-color:#e5e5e5;color:#dc2626}.mapping-form{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.mapping-field{display:flex;align-items:center;gap:16px}.mapping-field label{flex:0 0 120px;font-weight:500;color:#1a1a1a}.mapping-field label .required{color:#dc2626}.mapping-field select{flex:1;padding:10px 14px;border:1px solid #e5e5e5;border-radius:8px;font-size:14px;color:#1a1a1a;background-color:#fff;cursor:pointer}.mapping-field select:focus{outline:none;border-color:#1a1a1a}.preview-section{margin-top:24px}.preview-section h3{font-size:14px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.preview-table{width:100%;border-collapse:collapse;font-size:14px}.preview-table th,.preview-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #e5e5e5}.preview-table th{background-color:#f5f5f5;font-weight:500;color:#666}.preview-table td{color:#1a1a1a}.preview-table tr:last-child td{border-bottom:none}.duplicates-actions{display:flex;gap:12px;margin-bottom:16px}.duplicates-actions .btn{flex:1}.duplicates-table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:16px}.duplicates-table th,.duplicates-table td{padding:12px;text-align:left;border-bottom:1px solid #e5e5e5}.duplicates-table th{background-color:#f5f5f5;font-weight:500;color:#666}.duplicates-table .existing-contact{background-color:#fef3c7}.duplicates-table .new-contact{background-color:#dbeafe}.duplicates-table .action-cell{text-align:center}.duplicates-table .action-cell select{padding:6px 12px;border:1px solid #e5e5e5;border-radius:6px;font-size:13px;cursor:pointer}.duplicate-row{border:1px solid #e5e5e5;border-radius:8px;margin-bottom:12px;overflow:hidden}.duplicate-row:last-child{margin-bottom:0}.duplicate-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#f5f5f5}.duplicate-header span{font-weight:500;color:#1a1a1a}.duplicate-header select{padding:6px 12px;border:1px solid #e5e5e5;border-radius:6px;font-size:13px;cursor:pointer;background-color:#fff}.duplicate-comparison{display:grid;grid-template-columns:1fr 1fr;gap:1px;background-color:#e5e5e5}.comparison-column{padding:12px 16px;background-color:#fff}.comparison-column.existing{background-color:#fefce8}.comparison-column.new{background-color:#eff6ff}.comparison-column h4{font-size:12px;font-weight:600;text-transform:uppercase;color:#666;margin:0 0 8px}.comparison-column p{margin:4px 0;font-size:14px;color:#1a1a1a}.comparison-column p strong{color:#666;font-weight:500}.validation-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.summary-item{padding:16px;border-radius:8px;text-align:center}.summary-item.valid{background-color:#dcfce7}.summary-item.invalid{background-color:#fee2e2}.summary-item.skipped{background-color:#f5f5f5}.summary-item .count{font-size:32px;font-weight:600;line-height:1;margin-bottom:4px}.summary-item.valid .count{color:#16a34a}.summary-item.invalid .count{color:#dc2626}.summary-item.skipped .count{color:#666}.summary-item .label{font-size:14px;color:#666}.invalid-section{margin-top:24px}.invalid-section h3{font-size:14px;font-weight:600;color:#dc2626;margin:0 0 12px}.invalid-section .preview-table tr{background-color:#fef2f2}.invalid-section .error-message{color:#dc2626;font-size:12px}.group-selection{margin-top:24px;padding-top:24px;border-top:1px solid #e5e5e5}.group-selection h3{font-size:14px;font-weight:600;color:#1a1a1a;margin:0 0 12px}.group-selection select{width:100%;max-width:300px;padding:10px 14px;border:1px solid #e5e5e5;border-radius:8px;font-size:14px;color:#1a1a1a;background-color:#fff;cursor:pointer}.group-selection select:focus{outline:none;border-color:#1a1a1a}.complete-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.complete-stat{padding:24px;border-radius:8px;text-align:center}.complete-stat.imported{background-color:#dcfce7}.complete-stat.skipped{background-color:#fef3c7}.complete-stat.errors{background-color:#fee2e2}.complete-stat .stat-value{font-size:36px;font-weight:600;line-height:1;margin-bottom:8px}.complete-stat.imported .stat-value{color:#16a34a}.complete-stat.skipped .stat-value{color:#ca8a04}.complete-stat.errors .stat-value{color:#dc2626}.complete-stat .stat-label{font-size:14px;color:#666}.step-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:24px;border-top:1px solid #e5e5e5}.step-actions .left-actions,.step-actions .right-actions{display:flex;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;text-decoration:none}.btn.primary{background-color:#1a1a1a;border:1px solid #1a1a1a;color:#fff}.btn.primary:hover:not(:disabled){background-color:#333}.btn.secondary{background-color:#fff;border:1px solid #e5e5e5;color:#666}.btn.secondary:hover:not(:disabled){background-color:#f5f5f5;color:#1a1a1a}.btn.outline{background-color:transparent;border:1px solid #e5e5e5;color:#666}.btn.outline:hover:not(:disabled){background-color:#f5f5f5;border-color:#1a1a1a;color:#1a1a1a}.import-error{background-color:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:16px;margin-bottom:16px;color:#dc2626;font-size:14px}.importing-state{text-align:center;padding:48px}.importing-spinner{width:48px;height:48px;border:4px solid #e5e5e5;border-top-color:#1a1a1a;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}.importing-state p{color:#666;margin:0}@media(max-width:768px){.import-container{padding:16px}.import-progress{flex-wrap:wrap;gap:8px}.progress-line{display:none}.progress-step{font-size:12px;padding:6px 12px}.validation-summary,.complete-summary,.duplicate-comparison{grid-template-columns:1fr}.mapping-field{flex-direction:column;align-items:flex-start}.mapping-field label{flex:none}.mapping-field select{width:100%}.step-actions{flex-direction:column;gap:12px}.step-actions .left-actions,.step-actions .right-actions{width:100%}.step-actions .btn{flex:1}}.sms-page{display:flex;gap:32px}.sms-composer{flex:1;max-width:640px;display:flex;flex-direction:column;gap:24px}.composer-section{display:flex;flex-direction:column;gap:10px}.sms-page .section-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#1a1a1a}.sms-page .section-label svg{color:#666}.recipients-container{display:flex;flex-direction:column;gap:12px}.selected-lists{display:flex;flex-wrap:wrap;gap:8px}.selected-list-tag{display:flex;align-items:center;gap:6px;padding:6px 10px;background-color:#e0f2fe;border-radius:6px;font-size:13px;color:#0369a1}.remove-list-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:none;border:none;border-radius:4px;color:#0369a1;cursor:pointer}.remove-list-btn:hover{background-color:#bae6fd}.lists-dropdown{display:flex;flex-direction:column;gap:8px}.dropdown-label{font-size:12px;color:#666}.lists-options{display:flex;flex-wrap:wrap;gap:8px}.list-option{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:#fff;border:1px solid #e5e5e5;border-radius:8px;font-size:13px;color:#444;cursor:pointer}.list-option:hover{background-color:#f5f5f5;border-color:#d0d0d0}.list-option-count{font-size:11px;color:#888;background-color:#f0f0f0;padding:2px 6px;border-radius:4px}.lists-options .loading-text,.lists-options .empty-text,.contact-search-results .loading-text,.contact-search-results .empty-text{font-size:13px;color:#888;padding:8px 0}.selected-list-tag svg{width:14px;height:14px;flex-shrink:0}.selected-list-tag .tag-count{font-size:11px;padding:1px 5px;border-radius:4px}.selected-list-tag.group .remove-list-btn:hover{background-color:#0000001a}.selected-list-tag.contact{background-color:#f0f0f0;color:#444}.selected-list-tag.contact .remove-list-btn{color:#666}.selected-list-tag.contact .remove-list-btn:hover{background-color:#0000001a}.list-option-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.contacts-search{display:flex;flex-direction:column;gap:8px}.contact-search-input{display:flex;align-items:center;gap:10px;padding:10px 14px;background-color:#fff;border:1px solid #e5e5e5;border-radius:8px}.contact-search-input svg{color:#888;flex-shrink:0}.contact-search-input input{flex:1;border:none;background:none;font-size:14px;font-family:inherit;color:#1a1a1a;outline:none}.contact-search-input input::placeholder{color:#888}.contact-search-results{display:flex;flex-direction:column;background-color:#fff;border:1px solid #e5e5e5;border-radius:8px;max-height:200px;overflow-y:auto}.contact-result{display:flex;align-items:center;gap:12px;padding:10px 14px;background:none;border:none;border-bottom:1px solid #f0f0f0;cursor:pointer;text-align:left;font-family:inherit}.contact-result:last-child{border-bottom:none}.contact-result:hover{background-color:#f5f5f5}.contact-result svg{color:#666;flex-shrink:0}.contact-result-info{display:flex;flex-direction:column;gap:2px}.contact-result-name{font-size:14px;font-weight:500;color:#1a1a1a}.contact-result-phone{font-size:12px;color:#666}.recipients-summary{font-size:13px;color:#666;padding-top:4px}.sender-input{padding:10px 14px;background-color:#fff;border:1px solid #e5e5e5;border-radius:8px;font-size:14px;color:#1a1a1a;outline:none}.sender-input:focus{border-color:#1a1a1a}.sender-input::placeholder{color:#888}.input-hint{font-size:12px;color:#888}.message-textarea{padding:14px;background-color:#fff;border:1px solid #e5e5e5;border-radius:8px;font-size:14px;color:#1a1a1a;resize:vertical;min-height:120px;font-family:inherit;line-height:1.5;outline:none}.message-textarea:focus{border-color:#1a1a1a}.message-textarea::placeholder{color:#888}.message-info{display:flex;justify-content:space-between;font-size:12px;color:#666}.char-count{color:#888}.sms-parts{color:#666}.schedule-header{display:flex;justify-content:space-between;align-items:center}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer}.toggle-label input[type=checkbox]{width:16px;height:16px}.toggle-text{font-size:13px;color:#666}.schedule-inputs{display:flex;gap:12px}.schedule-field{display:flex;align-items:center;gap:10px;padding:10px 14px;background-color:#fff;border:1px solid #e5e5e5;border-radius:8px;flex:1}.schedule-field svg{color:#666;flex-shrink:0}.schedule-field input{flex:1;border:none;background:none;font-size:14px;color:#1a1a1a;outline:none}.composer-actions{padding-top:8px}.send-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;background-color:#1a1a1a;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer}.send-btn:hover:not(:disabled){background-color:#333}.send-btn:disabled{background-color:#ccc;cursor:not-allowed}.send-status{display:flex;align-items:center;gap:12px;margin-top:16px;padding:16px 20px;border-radius:8px;font-size:14px}.send-status.success{background-color:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.send-status.error{background-color:#fef2f2;color:#991b1b;border:1px solid #fecaca}.sms-preview{width:320px;flex-shrink:0;display:flex;flex-direction:column;gap:20px}.preview-title{font-size:14px;font-weight:600;color:#1a1a1a;margin:0}.phone-mockup{background-color:#1a1a1a;border-radius:24px;padding:12px;box-shadow:0 4px 24px #00000026}.phone-screen{background-color:#fff;border-radius:16px;min-height:280px;display:flex;flex-direction:column;overflow:hidden}.phone-header{padding:16px;border-bottom:1px solid #f0f0f0;text-align:center}.phone-sender{font-size:14px;font-weight:500;color:#1a1a1a}.phone-message{flex:1;padding:16px;font-size:14px;color:#444;line-height:1.5;white-space:pre-wrap;word-break:break-word}.preview-info{display:flex;flex-direction:column;gap:10px}.info-item{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#666}.info-item svg{flex-shrink:0;margin-top:1px}.info-item.warning{color:#d97706}.credits-info{display:flex;justify-content:space-between;align-items:center;padding:16px;background-color:#f5f5f5;border-radius:8px}.credits-label{font-size:13px;color:#666}.credits-value{font-size:16px;font-weight:600;color:#1a1a1a}.credits-value.insufficient{color:#dc2626}.credits-available{font-size:12px;color:#666;margin-left:8px}.encoding-badge{display:inline-block;font-size:10px;font-weight:500;padding:2px 6px;border-radius:4px;margin-left:8px;vertical-align:middle}.encoding-badge.unicode{background-color:#fef3c7;color:#92400e}.message-warning{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.4}.message-warning svg{flex-shrink:0;margin-top:2px}.message-warning.unicode-warning{background-color:#fef3c7;color:#92400e;border:1px solid #fcd34d}.message-warning.unicode-warning small{color:#a16207}.credit-warning{display:flex;align-items:center;gap:10px;padding:14px 16px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:13px;color:#991b1b}.credit-warning svg{flex-shrink:0;color:#dc2626}.credits-info{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:16px;background-color:#f5f5f5;border-radius:8px}@media(max-width:900px){.sms-page{flex-direction:column}.sms-composer{max-width:none}.sms-preview{width:100%}.phone-mockup{max-width:320px;margin:0 auto}}.otp-verifica-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem;background:#fafafa;position:relative;width:100%;height:100%}.otp-modal-wrapper .otp-verifica-container{min-height:auto;height:auto;background:transparent;padding:0;width:100%;max-width:500px}.otp-verifica-card{background:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%}.otp-verifica-title{font-size:1.75rem;font-weight:600;color:#1a202c;margin:0 0 .5rem;text-align:center}.otp-verifica-subtitle{font-size:.95rem;color:#718096;text-align:center;margin:0 0 2rem}.otp-verifica-error{background:#fed7d7;color:#c53030;padding:.75rem 1rem;border-radius:6px;margin-bottom:1.5rem;font-size:.9rem}.otp-verifica-error.locked{background:#feb2b2;color:#991b1b;font-weight:500}.otp-verifica-warning{background:#feebc8;color:#c05621;padding:.75rem 1rem;border-radius:6px;margin-bottom:1.5rem;font-size:.9rem;text-align:center}.otp-verifica-inputs{display:flex;gap:.75rem;justify-content:center;margin-bottom:1.5rem}.otp-verifica-input{width:3.5rem;height:3.5rem;text-align:center;font-size:1.5rem;font-weight:600;border:2px solid #e2e8f0;border-radius:8px;transition:all .2s;background:#f7fafc}.otp-verifica-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.otp-verifica-input:disabled{background:#edf2f7;color:#a0aec0;cursor:not-allowed}.otp-verifica-input.error{border-color:#fc8181;background:#fff5f5}.otp-verifica-timer{text-align:center;margin-bottom:2rem;font-size:1rem;font-weight:500}.otp-verifica-timer-active{color:#667eea}.otp-verifica-timer-expired{color:#e53e3e}.otp-verifica-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.otp-verifica-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;min-width:120px}.otp-verifica-btn:disabled{opacity:.6;cursor:not-allowed}.otp-verifica-btn.verify{background:#667eea;color:#fff}.otp-verifica-btn.verify:hover:not(:disabled){background:#5568d3}.otp-verifica-btn.regenerate{background:#48bb78;color:#fff}.otp-verifica-btn.regenerate:hover:not(:disabled){background:#38a169}.otp-verifica-btn.cancel{background:#e2e8f0;color:#4a5568}.otp-verifica-btn.cancel:hover:not(:disabled){background:#cbd5e0}.otp-verifica-locked{margin-top:1.5rem;padding:1rem;background:#fed7d7;border-radius:6px;text-align:center}.otp-verifica-locked strong{display:block;color:#991b1b;margin-bottom:.5rem;font-size:1rem}.otp-verifica-locked p{color:#c53030;font-size:.9rem;margin:0}@media(max-width:640px){.otp-verifica-container{padding:1rem}.otp-verifica-card{padding:1.5rem}.otp-verifica-inputs{gap:.5rem}.otp-verifica-input{width:3rem;height:3rem;font-size:1.25rem}.otp-verifica-actions{flex-direction:column}.otp-verifica-btn{width:100%}}.phone-input-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000;padding:2rem}.phone-input-modal{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d}.phone-input-modal-title{font-size:1.5rem;font-weight:600;color:#1a202c;margin:0 0 .5rem}.phone-input-modal-subtitle{font-size:.95rem;color:#718096;margin:0 0 1.5rem}.phone-input-group{margin-bottom:1.5rem}.phone-input-group label{display:block;font-size:.9rem;font-weight:500;color:#4a5568;margin-bottom:.5rem}.phone-input-group input{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:6px;font-size:1rem;transition:all .2s;box-sizing:border-box}.phone-input-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.phone-input-group input.error{border-color:#fc8181;background:#fff5f5}.phone-input-error{color:#e53e3e;font-size:.875rem;margin-top:.5rem}.phone-input-hint{display:block;color:#718096;font-size:.875rem;margin-top:.5rem}.phone-input-actions{display:flex;gap:.75rem;justify-content:flex-end}.phone-input-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.phone-input-btn.cancel{background:#e2e8f0;color:#4a5568}.phone-input-btn.cancel:hover{background:#cbd5e0}.phone-input-btn.confirm{background:#667eea;color:#fff}.phone-input-btn.confirm:hover:not(:disabled){background:#5568d3}.phone-input-btn:disabled{opacity:.6;cursor:not-allowed}.crediti-page{display:flex;flex-direction:column;gap:32px;max-width:900px}.balance-card{display:flex;align-items:center;gap:20px;padding:24px 32px;background:linear-gradient(135deg,#1a1a1a,#333);border-radius:16px;color:#fff}.balance-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background-color:#ffffff1a;border-radius:12px}.balance-icon svg{width:28px;height:28px}.balance-info{display:flex;flex-direction:column;gap:4px}.balance-label{font-size:14px;color:#ffffffb3}.balance-value{font-size:32px;font-weight:600}.balance-unit{font-size:18px;font-weight:400;opacity:.8}.success-message,.error-message{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:8px;font-size:14px}.success-message{background-color:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.success-message svg{color:#10b981;flex-shrink:0}.error-message{background-color:#fef2f2;color:#991b1b;border:1px solid #fecaca}.close-btn{margin-left:auto;background:none;border:none;padding:4px;cursor:pointer;opacity:.6;transition:opacity .2s}.close-btn:hover{opacity:1}.packages-section h2{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 20px}.packages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.package-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:32px 24px;background-color:#fff;border:2px solid #e5e5e5;border-radius:16px;cursor:pointer;transition:all .2s ease}.package-card:hover{border-color:#1a1a1a;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.package-card.selected{border-color:#1a1a1a;background-color:#fafafa}.package-credits{font-size:48px;font-weight:700;color:#1a1a1a;line-height:1}.package-label{font-size:16px;color:#666;margin-top:4px}.package-price{font-size:24px;font-weight:600;color:#1a1a1a;margin-top:16px}.package-price:after{content:" €";font-size:16px}.package-price-per{font-size:12px;color:#888;margin-top:4px}.package-price-per:before{content:"€"}.package-badge{position:absolute;top:-10px;right:-10px;padding:6px 12px;background-color:#10b981;color:#fff;font-size:11px;font-weight:600;border-radius:20px;text-transform:uppercase}.payment-section{margin-top:24px;padding:24px;background-color:#f9fafb;border-radius:12px}.payment-instruction{margin:0 0 24px;font-size:14px;color:#444;text-align:center}.payment-instruction strong{color:#1a1a1a}.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:24px}.payment-method{background-color:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:20px}.payment-method h3{font-size:14px;font-weight:600;color:#1a1a1a;margin:0 0 16px;text-align:center}#paypal-button-container{min-height:45px;max-width:400px;margin:0 auto;background-color:#f9fafb}#paypal-button-container.disabled{opacity:.5;pointer-events:none}.card-form{display:flex;flex-direction:column;gap:16px}.card-field{display:flex;flex-direction:column;gap:6px}.card-field label{font-size:12px;font-weight:500;color:#666}.card-field-container{height:40px;border:1px solid #d0d0d0;border-radius:8px;padding:0 12px;background-color:#fff}.card-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card-submit-btn{margin-top:8px;padding:12px 20px;background-color:#1a1a1a;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.card-submit-btn:hover:not(:disabled){background-color:#333}.card-submit-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-selection{display:block;margin:20px auto 0;padding:10px 20px;background:none;border:1px solid #d0d0d0;border-radius:8px;font-size:13px;color:#666;cursor:pointer}.cancel-selection:hover:not(:disabled){border-color:#1a1a1a;color:#1a1a1a}.cancel-selection:disabled{opacity:.5;cursor:not-allowed}.transactions-section{margin-top:16px}.section-header{display:flex;align-items:center;gap:10px;margin-bottom:20px}.section-header svg{color:#666}.section-header h2{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.transactions-table{width:100%;border-collapse:collapse;background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.transactions-table th,.transactions-table td{padding:14px 16px;text-align:left;font-size:14px}.transactions-table th{background-color:#f9fafb;color:#666;font-weight:500;border-bottom:1px solid #e5e5e5}.transactions-table td{border-bottom:1px solid #f0f0f0;color:#444}.transactions-table tr:last-child td{border-bottom:none}.transactions-table td.positive{color:#10b981;font-weight:500}.transactions-table td.negative{color:#ef4444;font-weight:500}.tx-type{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.tx-type-purchase{background-color:#e0f2fe;color:#0369a1}.tx-type-deduction{background-color:#fef3c7;color:#d97706}.tx-type-refund{background-color:#f3e8ff;color:#7c3aed}.tx-type-bonus{background-color:#ecfdf5;color:#059669}.tx-status{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.tx-status-pending{background-color:#fef3c7;color:#d97706}.tx-status-completed{background-color:#ecfdf5;color:#059669}.tx-status-failed{background-color:#fef2f2;color:#dc2626}.tx-status-refunded{background-color:#f3e8ff;color:#7c3aed}.loading-text,.empty-text{font-size:14px;color:#888;padding:20px;text-align:center}@media(max-width:768px){.packages-grid,.payment-methods{grid-template-columns:1fr}.balance-card{flex-direction:column;text-align:center}.balance-value{font-size:28px}.transactions-table{display:block;overflow-x:auto}}.api-keys-page{max-width:900px}.api-keys-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.api-keys-description{flex:1;color:#666;line-height:1.6}.api-keys-description code{background:#f0f0f0;padding:2px 6px;border-radius:4px;font-size:.9em}.btn-primary{background-color:#1a1a1a;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap}.btn-secondary{background-color:#e5e5e5;color:#1a1a1a;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-secondary:hover:not(:disabled){background-color:#d0d0d0}.new-key-modal{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.new-key-modal h3{margin:0 0 .5rem;color:#856404}.new-key-modal p{margin:0 0 1rem;color:#856404}.api-key-display{display:flex;gap:1rem;align-items:center;margin:1rem 0;padding:1rem;background:#fff;border-radius:6px;border:1px solid #ddd}.api-key-display code{flex:1;font-family:Courier New,monospace;font-size:.9rem;word-break:break-all;color:#1a1a1a}.api-key-display button{background-color:#1a1a1a;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem}.api-key-display button:hover{background-color:#333}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem}.modal{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d}.modal h2{margin:0 0 1.5rem;font-size:1.5rem;color:#1a1a1a}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#1a1a1a}.form-group input{width:100%;padding:.75rem;border:2px solid #e5e5e5;border-radius:6px;font-size:1rem;box-sizing:border-box}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.error-message{background-color:#fef2f2;color:#991b1b;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;border:1px solid #fecaca}.error-message button{background:none;border:none;color:#991b1b;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.loading,.empty-state{text-align:center;padding:3rem;color:#666}.api-keys-list{display:flex;flex-direction:column;gap:1rem}.api-key-card{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.api-key-card.inactive{opacity:.6}.api-key-info{flex:1}.api-key-info h3{margin:0 0 .5rem;font-size:1.1rem;color:#1a1a1a}.api-key-meta{display:flex;gap:1.5rem;font-size:.9rem;color:#666}.api-key-actions{display:flex;gap:.5rem}.btn-toggle{border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s}.btn-toggle.active{background:#10b981;color:#fff}.btn-toggle.active:hover{background:#059669}.btn-toggle.inactive{background:#e5e5e5;color:#666}.btn-toggle.inactive:hover{background:#d0d0d0}.btn-danger{background:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s}.btn-danger:hover{background:#dc2626}@media(max-width:768px){.api-keys-header{flex-direction:column}.api-key-card{flex-direction:column;align-items:flex-start}.api-key-actions{width:100%;justify-content:flex-end}}.logs-page{max-width:1400px}.logs-filters{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;margin-bottom:32px;padding:24px;background:#fff;border-radius:12px;border:1px solid #e5e5e5}.filter-group{display:flex;flex-direction:column;gap:8px;min-width:150px}.filter-group label{font-size:12px;font-weight:500;color:#666}.filter-group select,.filter-group input{padding:10px 12px;border:1px solid #d0d0d0;border-radius:8px;font-size:14px;color:#1a1a1a;background-color:#fff}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#1a1a1a}.btn-export{background-color:#1a1a1a;color:#fff;border:none;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;height:fit-content}.btn-export:hover:not(:disabled){background-color:#333}.btn-export:disabled{opacity:.5;cursor:not-allowed}.error-message{background-color:#fef2f2;color:#991b1b;padding:16px 20px;border-radius:8px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;border:1px solid #fecaca;font-size:14px}.error-message button{background:none;border:none;color:#991b1b;font-size:18px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s}.error-message button:hover{opacity:1}.success-message{background-color:#ecfdf5;color:#065f46;padding:16px 20px;border-radius:8px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;border:1px solid #a7f3d0;font-size:14px}.success-message button{background:none;border:none;color:#065f46;font-size:18px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s}.success-message button:hover{opacity:1}.loading,.empty-state{text-align:center;padding:40px 20px;color:#888;font-size:14px}.logs-selection-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#f9fafb;border:1px solid #e5e5e5;border-radius:8px;margin-bottom:16px}.logs-selection-count{font-size:14px;font-weight:500;color:#1a1a1a}.logs-selection-actions{display:flex;gap:8px}.logs-selection-btn{padding:8px 12px;background-color:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.logs-selection-btn:hover:not(:disabled){background-color:#333}.logs-selection-btn.secondary{background:none;border:1px solid #d0d0d0;color:#666}.logs-selection-btn.secondary:hover:not(:disabled){border-color:#1a1a1a;color:#1a1a1a}.logs-selection-btn:disabled{opacity:.5;cursor:not-allowed}.logs-table-container{background:#fff;border-radius:12px;border:1px solid #e5e5e5;overflow-x:auto;box-shadow:0 1px 3px #0000000d}.logs-table{width:100%;border-collapse:collapse}.logs-table thead{background-color:#f9fafb}.logs-table th{padding:14px 16px;text-align:left;font-size:14px;font-weight:500;color:#666;border-bottom:1px solid #e5e5e5;white-space:nowrap}.logs-table td{padding:14px 16px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#444}.logs-table tbody tr:hover{background-color:#f9fafb}.logs-table tbody tr.logs-row-selected{background-color:#fafafa}.logs-table tbody tr:last-child td{border-bottom:none}.logs-retry-col{width:1%;white-space:nowrap;vertical-align:middle;text-align:right}.logs-actions-header{position:relative;display:inline-flex;justify-content:flex-end;margin-left:auto}.btn-dots{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:1px solid #e5e5e5;border-radius:6px;color:#666;cursor:pointer;transition:all .2s}.btn-dots:hover{background-color:#f5f5f5;border-color:#1a1a1a;color:#1a1a1a}.logs-retry-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:200px;padding:4px 0;background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:10}.logs-retry-dropdown-item{display:block;width:100%;padding:10px 16px;background:none;border:none;font-size:14px;color:#1a1a1a;text-align:left;cursor:pointer;transition:background-color .2s}.logs-retry-dropdown-item:hover{background-color:#f5f5f5}.logs-retry-col input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#1a1a1a}.type-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase}.type-badge.sms{background-color:#e0f2fe;color:#0369a1}.type-badge.otp{background-color:#f3e8ff;color:#7c3aed}.status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.success{background-color:#ecfdf5;color:#059669}.status-badge.error{background-color:#fef2f2;color:#dc2626}.status-badge.warning{background-color:#fef3c7;color:#d97706}.status-badge.default{background-color:#f5f5f5;color:#666}.message-cell{max-width:300px}.message-cell span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-type{font-size:14px;font-weight:500;color:#1a1a1a}.event-context{font-size:12px;color:#666;margin-top:4px}.details-cell{font-size:12px;color:#666}.error-detail{color:#991b1b;margin-bottom:4px}.code-hash{font-family:Courier New,monospace;font-size:11px;color:#888}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:32px;padding:16px}.pagination button{background-color:#1a1a1a;color:#fff;border:none;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.pagination button:hover:not(:disabled){background-color:#333}.pagination button:disabled{background-color:#ccc;cursor:not-allowed}.pagination span{color:#666;font-size:14px}@media(max-width:1200px){.logs-table-container{overflow-x:auto}.logs-table{min-width:1000px}}@media(max-width:768px){.logs-filters{flex-direction:column;align-items:stretch;padding:16px}.filter-group{width:100%}.pagination{flex-wrap:wrap;gap:12px}}.settings-page{max-width:720px;margin:0 auto;padding:24px 0}.loading-state{text-align:center;padding:48px;color:#666}.alert{padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px}.alert-error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.alert-success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.settings-section{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:24px;margin-bottom:24px}.settings-section .section-title{font-size:16px;font-weight:600;color:#111;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid #e5e5e5}.avatar-section{display:flex;flex-direction:column;align-items:center;gap:16px}.avatar-container{position:relative;width:120px;height:120px;border-radius:50%;overflow:hidden;cursor:pointer;border:3px solid #e5e5e5;transition:border-color .2s ease}.avatar-container:hover{border-color:#000}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5;color:#999}.avatar-overlay{position:absolute;bottom:0;left:0;right:0;height:36px;background:#0009;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .2s ease}.avatar-container:hover .avatar-overlay{opacity:1}.avatar-input{display:none}.avatar-actions{display:flex;gap:12px}.avatar-hint{font-size:12px;color:#666;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid-3{grid-template-columns:2fr 1fr 1fr}@media(max-width:640px){.form-grid,.form-grid-3{grid-template-columns:1fr}}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:13px;font-weight:500;color:#333;margin-bottom:6px}.form-group input{width:100%;padding:10px 12px;font-size:14px;border:1px solid #d0d0d0;border-radius:8px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.form-group input:focus{outline:none;border-color:#000;box-shadow:0 0 0 3px #0000001a}.form-group input.input-disabled{background-color:#f5f5f5;color:#666;cursor:not-allowed}.form-group input.input-error:focus{box-shadow:0 0 0 3px #dc26261a}.input-hint{display:block;font-size:12px;color:#666;margin-top:4px}.error-text{display:block;font-size:12px;color:#dc2626;margin-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#000;color:#fff;border-color:#000}.btn-secondary{background-color:#fff;color:#333;border-color:#d0d0d0}.btn-secondary:hover:not(:disabled){background-color:#f5f5f5;border-color:#999}.btn-danger-outline{background-color:#fff;color:#dc2626;border-color:#fecaca}.btn-danger-outline:hover:not(:disabled){background-color:#fef2f2;border-color:#dc2626}.btn-large{padding:12px 24px;font-size:15px}.form-actions{display:flex;justify-content:flex-end;padding-top:8px}.invoices-section{margin-top:24px}.invoices-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.invoice-item{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border:1px solid #e5e5e5;border-radius:10px;background-color:#fafafa;transition:border-color .15s ease}.invoice-item:hover{border-color:#ccc}.invoice-info{display:flex;flex-direction:column;gap:4px}.invoice-header{display:flex;align-items:center;gap:10px}.invoice-header svg{color:#dc2626;flex-shrink:0}.invoice-name{font-weight:500;color:#1a1a1a;font-size:14px}.invoice-description{color:#666;font-size:13px;margin-left:28px}.invoice-date{color:#888;font-size:12px;margin-left:28px}.empty-message{color:#888;text-align:center;padding:24px 16px;font-size:14px}.btn-small{padding:8px 14px;font-size:13px}.loading-state{text-align:center;padding:24px;color:#888;font-size:14px}.auth-container{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#fafafa;padding:20px;box-sizing:border-box;overflow:hidden;gap:24px}.auth-hero{display:flex;align-items:baseline;gap:8px}.hero-name{font-size:28px;font-weight:600;color:#1a1a1a;letter-spacing:-.5px}.hero-version{font-size:14px;color:#888;font-weight:400}.auth-card{width:100%;max-width:400px;background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:40px}.auth-title{font-size:24px;font-weight:600;color:#1a1a1a;margin:0 0 8px;text-align:center}.auth-subtitle{font-size:14px;color:#666;margin:0 0 32px;text-align:center}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:8px;font-size:14px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:14px;font-weight:500;color:#1a1a1a}.form-group input{padding:12px;border:1px solid #e5e5e5;border-radius:8px;font-size:14px;color:#1a1a1a;background:#fff;transition:border-color .15s}.form-group input::placeholder{color:#999}.auth-button{padding:12px;background-color:#1a1a1a;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s}.auth-button:hover:not(:disabled){background-color:#333}.auth-button:disabled{background-color:#999;cursor:not-allowed}.auth-toggle{margin-top:24px;text-align:center;font-size:14px;color:#666}.toggle-link{background:none;border:none;color:#1a1a1a;font-weight:500;cursor:pointer;padding:0;font-size:14px}.toggle-link:hover{text-decoration:underline}.form-group-checkbox{display:flex;align-items:flex-start}.checkbox-label{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#444;cursor:pointer;line-height:1.4}.checkbox-label input[type=checkbox]{margin-top:3px;width:16px;height:16px;cursor:pointer;accent-color:#1a1a1a;flex-shrink:0}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.checkbox-label a{color:#1a1a1a;font-weight:500;text-decoration:none}.checkbox-label a:hover{text-decoration:underline}.admin-packages-page{display:flex;flex-direction:column;gap:32px;max-width:900px}.header-action{display:flex;align-items:center;gap:6px;padding:10px 16px;background-color:#1a1a1a;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.header-action:hover{background-color:#333}.packages-table{width:100%;border-collapse:collapse;background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.packages-table th,.packages-table td{padding:14px 16px;text-align:left;font-size:14px}.packages-table th{background-color:#f9fafb;color:#666;font-weight:500;border-bottom:1px solid #e5e5e5}.packages-table td{border-bottom:1px solid #f0f0f0;color:#444}.packages-table tr:last-child td{border-bottom:none}.packages-table tr.inactive{opacity:.5}.packages-table tr:hover td{background-color:#f9fafb}.status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.active{background-color:#ecfdf5;color:#059669}.status-badge.inactive{background-color:#fef2f2;color:#dc2626}.info-card{padding:20px 24px;background-color:#f9fafb;border-radius:12px;border-left:4px solid #1a1a1a}.info-card h3{margin:0 0 8px;font-size:14px;font-weight:600;color:#1a1a1a}.info-card p{margin:0;color:#666;font-size:14px;line-height:1.5}.empty-state p{margin-bottom:16px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:28px;box-shadow:0 4px 24px #00000026}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.modal-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#888;transition:color .2s}.modal-close:hover{color:#1a1a1a}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-size:12px;font-weight:500;color:#666}.form-group input[type=text],.form-group input[type=number]{width:100%;padding:12px 14px;border:1px solid #d0d0d0;border-radius:8px;background:#fff;color:#1a1a1a;font-size:14px;box-sizing:border-box;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#1a1a1a}.form-group input.input-error{border-color:#dc2626}.error-text{display:block;margin-top:6px;font-size:12px;color:#dc2626}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkbox-group label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:400;font-size:14px;color:#1a1a1a}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#1a1a1a}.preview-card{margin:24px 0;padding:20px;background-color:#f9fafb;border-radius:12px;text-align:center}.preview-label{margin:0 0 8px;font-size:12px;color:#666}.preview-value{margin:0;font-size:28px;font-weight:600;color:#1a1a1a}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:28px;padding-top:20px;border-top:1px solid #e5e5e5}@media(max-width:768px){.packages-table{display:block;overflow-x:auto}.form-row{grid-template-columns:1fr}}.admin-invoices-page{display:flex;flex-direction:column;gap:32px;max-width:1000px}.upload-section,.invoices-section{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.upload-section h2,.invoices-section h2{margin:0 0 20px;font-size:16px;font-weight:600;color:#1a1a1a}.upload-form{display:flex;flex-direction:column;gap:16px}.search-container{position:relative}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-wrapper input{width:100%;padding:12px 44px 12px 14px;border:1px solid #d0d0d0;border-radius:8px;background:#fff;color:#1a1a1a;font-size:14px;box-sizing:border-box;transition:border-color .2s}.search-input-wrapper input::placeholder{color:#999}.search-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#888;pointer-events:none;display:flex;align-items:center;z-index:1}.search-input-wrapper input:focus{outline:none;border-color:#1a1a1a}.clear-user-btn{position:absolute;right:10px;background:none;border:none;padding:4px;cursor:pointer;color:#888;display:flex;align-items:center;justify-content:center}.clear-user-btn:hover{color:#1a1a1a}.search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:240px;overflow-y:auto;z-index:100;list-style:none;padding:0;margin:4px 0 0}.search-results li{padding:12px 16px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:background-color .15s}.search-results li:hover{background-color:#f5f5f5}.search-results li.no-results{color:#888;cursor:default;text-align:center}.search-results li.no-results:hover{background-color:transparent}.search-results .user-name{font-weight:500;color:#1a1a1a;font-size:14px}.search-results .user-email{font-size:12px;color:#888}.selected-user-badge{margin-top:8px;padding:8px 12px;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;font-size:13px;color:#166534}.file-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 24px;border:2px dashed #d0d0d0;border-radius:8px;background:#fafafa;cursor:pointer;transition:all .2s;color:#888}.file-dropzone:hover{border-color:#1a1a1a;background:#f5f5f5}.file-dropzone.has-file{border-style:solid;border-color:#1a1a1a;background:#fff;padding:16px 24px}.file-info{display:flex;align-items:center;gap:12px;width:100%}.file-info svg{color:#dc2626;flex-shrink:0}.file-name{flex:1;font-size:14px;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file-btn{background:none;border:none;padding:4px;cursor:pointer;color:#888;display:flex;align-items:center;justify-content:center;flex-shrink:0}.remove-file-btn:hover{color:#dc2626}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-size:12px;font-weight:500;color:#666}.form-group input[type=text]{width:100%;padding:12px 14px;border:1px solid #d0d0d0;border-radius:8px;background:#fff;color:#1a1a1a;font-size:14px;box-sizing:border-box;transition:border-color .2s}.form-group input[type=text]:focus{outline:none;border-color:#1a1a1a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.upload-btn{align-self:flex-start;margin-top:8px}.invoices-table{width:100%;border-collapse:collapse}.invoices-table th,.invoices-table td{padding:14px 16px;text-align:left;font-size:14px}.invoices-table th{background-color:#f9fafb;color:#666;font-weight:500;border-bottom:1px solid #e5e5e5}.invoices-table td{border-bottom:1px solid #f0f0f0;color:#444}.invoices-table tr:last-child td{border-bottom:none}.invoices-table tr:hover td{background-color:#f9fafb}.user-cell{display:flex;flex-direction:column;gap:2px}.user-cell .user-name{font-weight:500;color:#1a1a1a}.user-cell .user-email{font-size:12px;color:#888}.file-link{display:inline-flex;align-items:center;gap:8px;color:#1a1a1a;text-decoration:none;transition:color .2s}.file-link:hover{color:#4f46e5}.file-link svg{color:#dc2626;flex-shrink:0}.actions-cell{display:flex;gap:8px}.btn-icon{padding:8px;border-radius:6px;background:none;border:1px solid #e5e5e5;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#666}.btn-icon:hover{border-color:#1a1a1a;color:#1a1a1a}.btn-icon.btn-danger:hover{background-color:#fef2f2;border-color:#dc2626;color:#dc2626}.loading-state,.empty-state{padding:40px 20px;text-align:center;font-size:14px;color:#888}.empty-state p{margin:0}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;padding-top:16px;border-top:1px solid #e5e5e5}.page-info{font-size:14px;color:#666}.alert{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:8px;font-size:14px}.alert-error{background-color:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert-success{background-color:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.alert-close{margin-left:auto;background:none;border:none;padding:4px;cursor:pointer;opacity:.6;transition:opacity .2s;color:inherit}.alert-close:hover{opacity:1}.btn{display:inline-flex;align-items:center;gap:6px;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background-color:#1a1a1a;color:#fff}.btn-primary:hover:not(:disabled){background-color:#333}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:none;color:#666;border:1px solid #d0d0d0}.btn-secondary:hover:not(:disabled){border-color:#1a1a1a;color:#1a1a1a}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.invoices-table{display:block;overflow-x:auto}.upload-section,.invoices-section{padding:16px}}#root{width:100%;height:100%}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center;color:#666}
