:root{
  --bg:#f6f7fb; --card:#ffffff; --muted:#6b7280; --text:#0b1020; --acc:#1f6feb;
  --line:#e5e7eb; --ok:#0ea5e9; --shadow:0 10px 24px rgba(0,0,0,.06);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,Segoe UI,Inter,Roboto,Arial;
  background:var(--bg);
  color:var(--text);
}
.wrap{max-width:1100px;margin:0 auto;padding:24px}
.nav h1{margin:0 0 16px 0;font-weight:700}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px;
  margin:12px 0;
  box-shadow:var(--shadow);
}
.subcard{border:1px dashed var(--line); border-radius:14px; padding:14px; margin:14px 0 6px}
input,select,button{
  padding:10px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
}
button{cursor:pointer}
button:hover{border-color:var(--acc)}
button.ghost{background:#f3f4f6}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.grid{display:grid;gap:10px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.right{text-align:right}
.muted{color:var(--muted)}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}
th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:middle}
th{background:#fafafa}
.pill{display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid var(--line);font-size:12px}
.status-present{background:#e9f9ef}
.status-sick{background:#fdeaea}
.status-maternity{background:#f6e8ff}
.status-unjust{background:#fff1f2}
.status-just{background:#f3f6e7}
.status-off{background:#f2f4f8}
.checkbox{display:flex;align-items:center;gap:6px}
a.link{color:var(--acc);text-decoration:none}
.mini{padding:6px 8px;font-size:12px}
