:root{
  --bg:#f5f5f4; --card:#ffffff; --border:#e0dfda; --border-strong:#c9c7bf;
  --text:#1f1e1c; --text-secondary:#6b6a65; --text-muted:#9b9a94;
  --accent:#378ADD; --danger:#E24B4A;
  --radius:8px;
}
*{box-sizing:border-box;}
body{
  margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  background:var(--bg); color:var(--text); padding:2rem 1rem;
}
#root{max-width:1300px; margin:0 auto;}
h1{font-size:22px; font-weight:600; margin:0 0 1.5rem;}

.toolbar{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:1.5rem; align-items:flex-start;}
input, select, button{
  height:36px; border-radius:var(--radius); border:0.5px solid var(--border-strong);
  padding:0 12px; font-size:14px; background:var(--card); color:var(--text);
}
input:focus, select:focus{outline:2px solid var(--accent); outline-offset:1px;}
.field{display:flex; flex-direction:column; gap:4px; flex:1; min-width:150px;}
.field select, .field input{width:100%;}
.toolbar > button{align-self:flex-start; margin-top:0;}

button{cursor:pointer; font-weight:500;}
button:hover{background:#f0efe9;}
button:active{transform:scale(0.98);}
.btn-primary{background:var(--text); color:#fff; border-color:var(--text);}
.btn-primary:hover{background:#000;}

.empty{font-size:13px; color:var(--text-muted); padding:8px 0;}

.inline-add{display:flex; gap:6px; margin-top:4px;}
.inline-add input{flex:1;}

.projects-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:16px;
  align-items:start;
}
.project-table{
  width:100%; border-collapse:collapse;
  background:var(--card); border:0.5px solid var(--border-strong); border-radius:8px; overflow:hidden;
}
.project-table caption{
  text-align:left; font-weight:600; font-size:14px; padding:10px 12px;
  background:#fafaf8; border-bottom:0.5px solid var(--border-strong);
}
.project-table th, .project-table td{
  text-align:left; padding:8px 12px; font-size:14px; border-bottom:0.5px solid var(--border);
}
.project-table th{font-weight:500; color:var(--text-secondary); background:#fbfbf9;}
.project-table tr:last-child td{border-bottom:none;}
.project-table select{height:30px; font-size:13px; padding:0 8px;}
.status-form{margin:0;}
.del-btn{height:30px; padding:0 8px;}
