@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.login-page{background:radial-gradient(circle at 20% 50%,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(147,197,253,.15) 0%,transparent 50%),var(--bg-primary)}.login-card{width:100%;max-width:450px;margin:0 1rem}.error-message{background:#ef44441a;border:1px solid var(--danger);color:var(--danger);padding:.75rem;border-radius:8px;font-size:.9rem;text-align:center}.contact-panel{min-height:100vh;background:var(--bg-primary);animation:fadeIn .3s ease}.contact-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;background:var(--bg-secondary);border-bottom:1px solid var(--border);box-shadow:var(--shadow);position:sticky;top:0;z-index:10}.contact-header h1{font-size:1.5rem;margin-bottom:0}.contact-header .back-btn{padding:.5rem 1rem;font-size:.9rem;display:inline-flex;align-items:center;gap:.4rem}.contact-layout{display:grid;grid-template-columns:320px 1fr;min-height:calc(100vh - 65px)}.contact-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:1.25rem;border-bottom:1px solid var(--border)}.sidebar-header h3{font-size:1rem;margin-bottom:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.new-list-form{display:flex;flex-direction:column;gap:.5rem}.new-list-form input,.new-list-form textarea{padding:.6rem .75rem;font-size:.9rem;border-radius:6px;width:100%}.new-list-form textarea{resize:vertical;min-height:50px;max-height:120px}.new-list-form button{padding:.55rem 1rem;font-size:.85rem}.lists-container{flex:1;overflow-y:auto;padding:.5rem 0}.list-item{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.25rem;cursor:pointer;border-left:3px solid transparent;transition:all .2s ease;-webkit-user-select:none;user-select:none}.list-item:hover{background:var(--bg-tertiary)}.list-item.active{background:#3b82f60f;border-left-color:var(--primary)}.list-item .list-name{font-weight:500;font-size:.95rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.list-item.active .list-name{color:var(--primary)}.list-item .list-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .2s ease}.list-item:hover .list-actions{opacity:1}.list-item .list-actions button{padding:.25rem .4rem;font-size:.75rem;border-radius:4px;background:transparent;color:var(--text-muted)}.list-item .list-actions button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.list-item .list-actions button.delete-btn:hover{color:var(--danger);background:#ef444414}.alert{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem;display:flex;align-items:center;gap:.5rem;animation:fadeIn .3s ease}.alert-error{background:#ef444414;color:var(--danger);border:1px solid rgba(239,68,68,.2)}.alert-success{background:#22c55e14;color:var(--success);border:1px solid rgba(34,197,94,.2)}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;line-height:1}.badge-primary{background:#3b82f61f;color:var(--primary)}.badge-success{background:#22c55e1f;color:var(--success)}.badge-warning{background:#f59e0b1f;color:var(--warning)}.badge-danger{background:#ef44441f;color:var(--danger)}.main-panel{padding:2rem;overflow-y:auto}.main-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem;gap:1rem}.main-header .editable-title{font-size:1.5rem;font-weight:600;background:none;border:none;border-bottom:2px solid transparent;padding:.25rem 0;color:var(--text-primary);width:100%;max-width:500px;transition:border-color .2s ease}.main-header .editable-title:focus{border-bottom-color:var(--primary);outline:none}.main-header .editable-desc{font-size:.95rem;color:var(--text-secondary);background:none;border:none;border-bottom:1px solid transparent;padding:.2rem 0;width:100%;max-width:500px;margin-top:.25rem;transition:border-color .2s ease}.main-header .editable-desc:focus{border-bottom-color:var(--primary-light);outline:none}.main-header .save-btn{padding:.45rem 1rem;font-size:.85rem;flex-shrink:0}.stats-bar{display:flex;flex-wrap:wrap;gap:1.25rem;padding:1rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;margin-bottom:1.25rem;box-shadow:var(--shadow)}.stat{display:flex;flex-direction:column;align-items:center;min-width:70px}.stat-value{font-size:1.6rem;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-value.success{color:var(--success)}.stat-value.danger{color:var(--danger)}.stat-value.primary{color:var(--primary)}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem}.merge-chips{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-left:auto;max-width:50%}.merge-chips .label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-right:.25rem}.chip{display:inline-block;padding:.2rem .55rem;background:#3b82f61a;color:var(--primary);border-radius:4px;font-size:.75rem;font-family:Consolas,Monaco,Courier New,monospace;font-weight:500;white-space:nowrap}.actions-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.actions-bar button{padding:.5rem .9rem;font-size:.85rem;display:inline-flex;align-items:center;gap:.35rem}.actions-bar .file-input-label{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .9rem;font-size:.85rem;border-radius:8px;cursor:pointer;font-weight:500;font-family:inherit;transition:all .3s ease;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.actions-bar .file-input-label:hover{background:var(--bg-secondary);border-color:var(--border-light)}.actions-bar input[type=file]{display:none}.add-contact-form{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:1.25rem;box-shadow:var(--shadow);animation:fadeIn .3s ease}.add-contact-form h4{font-size:.95rem;margin-bottom:.75rem;color:var(--text-secondary)}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.form-grid input,.form-grid select{padding:.55rem .7rem;font-size:.85rem;border-radius:6px;width:100%}.form-grid .span-2{grid-column:span 2}.form-grid .form-actions{grid-column:1 / -1;display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.form-grid .form-actions button{padding:.5rem 1.2rem;font-size:.85rem}.search-bar{margin-bottom:1rem}.search-bar input{width:100%;max-width:350px;padding:.6rem .9rem .6rem 2.2rem;font-size:.9rem;border-radius:8px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23999' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242.156a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:.7rem center}.table-container{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:1rem}.table-container table{border-radius:0}.table-container th{position:sticky;top:0;z-index:2;background:var(--bg-tertiary)}.table-container td{font-size:.9rem;padding:.75rem 1rem;vertical-align:middle}.table-container tbody tr{cursor:default}.npai-row{background:#ef44440f!important}.npai-row:hover{background:#ef44441a!important}.invalid-row{background:#f59e0b0f!important}.invalid-row:hover{background:#f59e0b1a!important}.row-actions{display:flex;gap:.3rem}.row-actions button{padding:.3rem .5rem;font-size:.78rem;border-radius:4px;background:transparent;color:var(--text-muted);border:1px solid transparent}.row-actions button:hover{background:var(--bg-tertiary);border-color:var(--border);color:var(--text-primary)}.row-actions button.npai-toggle:hover{color:var(--danger)}.row-actions button.delete-row:hover{color:var(--danger);background:#ef44440f}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 0}.pagination button{padding:.4rem .8rem;font-size:.85rem;border-radius:6px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);min-width:36px}.pagination button:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--primary-light);color:var(--primary)}.pagination button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination .page-info{font-size:.85rem;color:var(--text-muted);margin:0 .5rem}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-state .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.empty-state h3{color:var(--text-secondary);margin-bottom:.5rem}.empty-state p{font-size:.95rem;max-width:400px;margin:0 auto}@media (max-width: 900px){.contact-layout{grid-template-columns:1fr}.contact-sidebar{border-right:none;border-bottom:1px solid var(--border);max-height:300px}.form-grid{grid-template-columns:repeat(2,1fr)}.merge-chips{max-width:100%;margin-left:0;margin-top:.5rem}.stats-bar{flex-direction:column;align-items:stretch}.stat{flex-direction:row;justify-content:space-between;min-width:auto}.main-header{flex-direction:column}.main-header .editable-title,.main-header .editable-desc{max-width:100%}.actions-bar{flex-direction:column}.actions-bar button,.actions-bar .file-input-label{width:100%;justify-content:center}}:root{--primary: hsl(217, 91%, 60%);--primary-dark: hsl(217, 91%, 50%);--primary-light: hsl(217, 91%, 70%);--secondary: hsl(217, 70%, 85%);--secondary-dark: hsl(217, 70%, 75%);--success: hsl(142, 76%, 50%);--success-light: hsl(142, 76%, 60%);--danger: hsl(0, 84%, 60%);--danger-dark: hsl(0, 84%, 50%);--warning: hsl(38, 92%, 50%);--warning-light: hsl(38, 92%, 60%);--bg-primary: hsl(0, 0%, 98%);--bg-secondary: hsl(0, 0%, 100%);--bg-tertiary: hsl(217, 30%, 97%);--text-primary: hsl(0, 0%, 15%);--text-secondary: hsl(0, 0%, 35%);--text-muted: hsl(0, 0%, 55%);--border: hsl(217, 15%, 90%);--border-light: hsl(217, 15%, 85%);--shadow: 0 4px 6px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .12);--gradient: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);--gradient-success: linear-gradient(135deg, var(--success) 0%, var(--success-light) 100%)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin-bottom:.5em}h1{font-size:2.5rem;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{font-size:2rem;color:var(--text-primary)}h3{font-size:1.5rem;color:var(--text-primary)}button{font-family:inherit;font-size:1rem;padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:500;outline:none}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient);color:#fff;box-shadow:var(--shadow)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-light)}.btn-success{background:var(--gradient-success);color:#fff;box-shadow:var(--shadow)}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-dark)}.btn-small{padding:.5rem 1rem;font-size:.9rem}input[type=text],input[type=password],input[type=email],input[type=number],input[type=datetime-local],select,textarea{font-family:inherit;font-size:1rem;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);transition:all .3s ease;outline:none}input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=number]:focus,input[type=datetime-local]:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}input[type=radio],input[type=checkbox]{width:auto;margin:0;cursor:pointer}.card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow);transition:all .3s ease}.card:hover{border-color:var(--border-light)}.glass-card{background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;box-shadow:var(--shadow-lg)}table{width:100%;border-collapse:collapse;background:var(--bg-secondary);border-radius:8px;overflow:hidden}thead{background:var(--bg-tertiary)}th,td{padding:1rem;text-align:left;border-bottom:1px solid var(--border)}th{font-weight:600;color:var(--text-primary);text-transform:uppercase;font-size:.85rem;letter-spacing:.05em}tbody tr{transition:all .2s ease;cursor:pointer}tbody tr:hover{background:var(--bg-tertiary)}tbody tr.selected{background:#22c55e33;border-left:3px solid var(--success)}.container{max-width:1400px;margin:0 auto;padding:2rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-4{gap:2rem}.gap-6{gap:3rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-4{margin-top:2rem}.mb-2,.mb-4{margin-bottom:1rem}.max-w-md{max-width:28rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.slide-in{animation:slideIn .4s ease}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.full-height{min-height:100vh}.w-full{width:100%}
