/* 全局布局 */
:root{
  --bg:#f5f7fb;
  --card:#ffffff;
  --accent:#2b7cff;
  --muted:#6b7280;
  --danger:#d9534f;
  --radius:8px;
  --shadow: 0 6px 18px rgba(45,55,72,0.08);
  --table-border:#e6e9ef;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background: linear-gradient(180deg, var(--bg), #eef2fb 120%);
  color:#111827;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  padding:32px;
}

/* 容器 */
.container{
  max-width:900px;
  margin:0 auto;
  background:var(--card);
  border-radius:var(--radius);
  padding:28px;
  box-shadow:var(--shadow);
}

/* 标题 */
.container h1{
  margin:0 0 18px 0;
  font-size:1.6rem;
  color:#0f1724;
}

/* 表单 */
#add-form{
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:18px;
  flex-wrap:wrap;
}
#add-form input[type="text"],
#add-form input[type="tel"]{
  flex:1 1 200px;
  padding:10px 12px;
  border:1px solid var(--table-border);
  border-radius:6px;
  background:white;
  transition:box-shadow .15s, border-color .15s;
  font-size:0.95rem;
}
#add-form input:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(43,124,255,0.08);
}
#add-form button{
  background:var(--accent);
  color:white;
  border:none;
  padding:10px 14px;
  border-radius:6px;
  cursor:pointer;
  font-weight:600;
  transition:transform .08s ease, box-shadow .08s ease;
}
#add-form button:hover{ transform:translateY(-1px) }
#add-form button:active{ transform:translateY(0) }

/* 错误/提示信息 */
.error-message{
  width:100%;
  color:var(--danger);
  margin-top:6px;
  font-size:0.9rem;
  display:none;
}
.error-message.visible{ display:block }

/* 表格样式 */
.contact-table{
  width:100%;
  border-collapse:collapse;
  background:transparent;
  box-shadow: 0 1px 0 rgba(0,0,0,0.02);
  border-radius:6px;
  overflow:hidden;
  border:1px solid var(--table-border);
}
.contact-table thead{
  background: linear-gradient(90deg,#f8fafc,#ffffff);
  color:#111827;
  font-size:0.92rem;
}
.contact-table th, .contact-table td{
  padding:12px 14px;
  text-align:left;
  border-bottom:1px solid var(--table-border);
  font-size:0.95rem;
}
.contact-table tbody tr:nth-child(even){ background:#fbfdff }
.contact-table tbody tr:hover{ background: #f3f7ff }

/* 名称列样式 */
.name-cell{
  display:flex;
  align-items:center;
  gap:10px;
}
.avatar{
  width:36px;
  height:36px;
  border-radius:50%;
  background:linear-gradient(135deg,#e6f0ff,#dbeafe);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--accent);
  font-weight:700;
  font-size:0.9rem;
  border:1px solid rgba(43,124,255,0.1);
}

/* 操作按钮 */
.btn{
  padding:6px 10px;
  border-radius:6px;
  border:none;
  cursor:pointer;
  font-size:0.9rem;
}
.btn.edit{
  background:transparent;
  color:var(--accent);
  border:1px solid rgba(43,124,255,0.12);
  margin-right:8px;
}
.btn.edit:hover{
  background:rgba(43,124,255,0.06);
}
.btn.delete{
  background:transparent;
  color:var(--danger);
  border:1px solid rgba(217,83,79,0.12);
}
.btn.delete:hover{
  background:rgba(217,83,79,0.06);
}
.btn.cancel{
  background:transparent;
  color:var(--muted);
  border:1px solid rgba(107,114,128,0.08);
  margin-left:8px;
}
.btn.cancel:hover{ background:rgba(0,0,0,0.03) }
/* 空状态 */
.empty{
  padding:18px;
  text-align:center;
  color:var(--muted);
}

/* 响应式 */
@media (max-width:640px){
  #add-form{ flex-direction:column; align-items:stretch }
  .contact-table th:nth-child(3), .contact-table td:nth-child(3){ display:none }
  .container{ padding:18px }

}
