:root{--primary:#1976d2;--primary-dark:#0d47a1;--primary-light:#e3f2fd;--surface:#fff;--background:#f5f7fa;--text-primary:#0a0d12;--text-secondary:#4a5568;--border:#e0e7ef;--shadow:#1976d21a;--error:#d32f2f;--success:#2e7d32;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-6:48px;--space-8:64px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-input:8px;--radius-card:16px;--radius-search:12px;--navbar-height:64px;--avatar-size:56px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);color:var(--text-primary);background-color:var(--background);min-height:100vh;font-size:.95rem;line-height:1.6}#root{min-height:100vh}h1{letter-spacing:-.5px;color:var(--text-primary);font-size:2.25rem;font-weight:700}h2{color:var(--text-primary);font-size:1.5rem;font-weight:600}h3{color:var(--text-primary);font-size:1.1rem;font-weight:600}.caption{text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);font-size:.75rem;font-weight:500}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translateY(24px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(24px)scale(.95)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.form-section{margin-bottom:var(--space-6);animation:.5s .1s both fadeInUp}.form-heading{margin-bottom:var(--space-3)}.form-card{background:var(--surface);border-radius:var(--radius-card);padding:var(--space-4);box-shadow:0 4px 24px var(--shadow);border:1px solid var(--border)}.form-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group--full{grid-column:1/-1}.form-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text-secondary);font-size:.75rem;font-weight:500}.form-optional{text-transform:none;letter-spacing:0;opacity:.7;font-size:.7rem;font-weight:400}.form-input{font-family:var(--font-family);color:var(--text-primary);border:1.5px solid var(--border);border-radius:var(--radius-input);background:var(--surface);outline:none;width:100%;padding:10px 14px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-input::placeholder{color:#a0aec0}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.form-input--error{border-color:var(--error)}.form-input--error:focus{box-shadow:0 0 0 3px #d32f2f1f}.form-textarea{resize:vertical;min-height:72px;max-height:160px;line-height:1.5}.form-error{color:var(--error);align-items:center;gap:4px;font-size:.78rem;font-weight:500;animation:.2s slideDown;display:flex}.form-charcount{color:var(--text-secondary);text-align:right;margin-top:-2px;font-size:.72rem;transition:color .2s}.form-charcount--warn{color:var(--error);font-weight:600}.form-submit{background:var(--primary);color:#fff;border-radius:var(--radius-input);width:100%;font-family:var(--font-family);cursor:pointer;margin-top:var(--space-1);border:none;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.form-submit:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 16px #1976d240}.form-submit:active{box-shadow:none;transform:scale(.985)translateY(0)}.toast{background:var(--surface);color:var(--success);z-index:1000;border-radius:12px;align-items:center;gap:10px;padding:14px 28px;font-size:.95rem;font-weight:600;animation:.35s both toastIn;display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0000001f,0 0 0 1px #2e7d3226}.toast--exit{animation:.3s both toastOut}@media (width<=640px){.form-grid{grid-template-columns:1fr}.form-card{padding:var(--space-3)}}.search-section{margin-bottom:var(--space-4);animation:.5s .2s both fadeInUp}.search-label{margin-bottom:8px;display:block}.search-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:var(--text-secondary);pointer-events:none;transition:color .2s;position:absolute;left:14px}.search-input{width:100%;font-family:var(--font-family);color:var(--text-primary);border:1.5px solid var(--border);border-radius:var(--radius-search);background:var(--surface);outline:none;padding:12px 44px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.search-input::placeholder{color:#a0aec0}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.search-input:focus~.search-icon,.search-wrapper:focus-within .search-icon{color:var(--primary)}.search-clear{background:var(--background);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;right:12px}.search-clear:hover{background:var(--border);color:var(--text-primary)}.contact-card{background:var(--surface);border-radius:var(--radius-card);padding:var(--space-3);border:1px solid var(--border);box-shadow:0 2px 12px var(--shadow);flex-direction:column;align-items:flex-start;transition:transform .25s,box-shadow .25s;animation:.3s both fadeInUp;display:flex;position:relative}.contact-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #1976d226}.card-delete{width:30px;height:30px;color:var(--text-secondary);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.contact-card:hover .card-delete{opacity:1}.card-delete:hover{color:var(--error);background:#d32f2f14}.card-avatar-wrapper{margin-bottom:12px}.card-avatar{width:var(--avatar-size);height:var(--avatar-size);border-radius:50%}.card-avatar--img{object-fit:cover}.card-avatar--initials{background:var(--primary-light);color:var(--primary);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;display:flex}.card-name{color:var(--text-primary);margin-bottom:2px;font-size:1.1rem;font-weight:600;line-height:1.3}.card-role{color:var(--text-secondary);margin-bottom:0;font-size:.875rem}.card-dot{opacity:.5;margin:0 4px}.card-divider{border:none;border-top:1px solid var(--border);width:100%;margin:12px 0}.card-details{flex-direction:column;gap:6px;width:100%;display:flex}.card-detail-row{align-items:center;gap:8px;display:flex}.card-detail-icon{text-align:center;flex-shrink:0;width:20px;font-size:.85rem}.card-detail-text{color:var(--text-primary);font-size:.875rem}.card-detail-email{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.card-bio{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;margin-top:10px;font-size:.85rem;font-style:italic;line-height:1.5;display:-webkit-box;overflow:hidden}.list-section{animation:.5s .3s both fadeInUp}.list-heading{margin-bottom:var(--space-3);align-items:baseline;gap:8px;display:flex}.list-count{color:var(--text-secondary);font-size:1.1rem;font-weight:400}.list-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.list-empty{padding:var(--space-8) var(--space-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;animation:.4s fadeInUp;display:flex}.list-empty-illustration{margin-bottom:var(--space-3);opacity:.8}.list-empty-text{color:var(--text-secondary);max-width:320px;font-size:1.05rem;line-height:1.6}@media (width<=640px){.list-grid{grid-template-columns:1fr}}.app{flex-direction:column;min-height:100vh;display:flex}.navbar{z-index:100;height:var(--navbar-height);background:var(--surface);box-shadow:0 1px 4px var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;align-items:center;display:flex;position:sticky;top:0}.navbar-inner{width:100%;max-width:1100px;padding:0 var(--space-3);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.navbar-logo{color:var(--primary);letter-spacing:-.3px;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:1.25rem;font-weight:700;display:flex}.main-container{width:100%;max-width:1100px;padding:0 var(--space-3) var(--space-8);flex:1;margin:0 auto}.hero-section{text-align:center;padding:var(--space-8) 0 var(--space-6);animation:.5s both fadeInUp}.hero-title{letter-spacing:-1px;color:var(--text-primary);margin-bottom:var(--space-2);font-size:2.75rem;font-weight:700;line-height:1.15}.hero-accent{background:linear-gradient(135deg, var(--primary), #42a5f5);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-secondary);max-width:480px;margin:0 auto;font-size:1.15rem;line-height:1.6}.footer{text-align:center;padding:var(--space-4) var(--space-3);color:var(--text-secondary);border-top:1px solid var(--border);margin-top:auto;font-size:.85rem}@media (width<=640px){.hero-title{letter-spacing:-.5px;font-size:1.85rem}.hero-subtitle{font-size:1rem}.hero-section{padding:var(--space-6) 0 var(--space-4)}.main-container{padding:0 var(--space-2) var(--space-6)}}
