
:root{
  --bg:#f6f7f9;
  --card:#ffffff;
  --text:#101828;
  --muted:#667085;
  --primary:#1a5fb4;
  --primary-2:#0d47a1;
  --border:#eaecf0;
  --shadow: 0 1px 2px rgba(16,24,40,.06), 0 8px 24px rgba(16,24,40,.06);
  --radius:14px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:var(--bg);
}

a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{max-width:1100px;margin:0 auto;padding:0 16px}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  cursor:pointer;
  transition: transform .05s ease, background .2s ease, border-color .2s ease;
}
.btn:active{transform:translateY(1px)}
.btn-primary{
  background:var(--primary);
  color:#fff;
  border-color:transparent;
}
.btn-primary:hover{background:var(--primary-2)}
.btn-ghost{
  background:transparent;
}
.badge{
  display:inline-flex; align-items:center; justify-content:center;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid var(--border);
  color:var(--muted);
  background:#fff;
  font-size:12px;
  font-weight:600;
}

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.input{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  outline:none;
}
.input:focus{border-color:rgba(26,95,180,.5); box-shadow:0 0 0 4px rgba(26,95,180,.12)}

.label{font-size:13px; font-weight:700; color:#344054; margin:0 0 6px}

.grid{display:grid; gap:14px}
.hidden{display:none !important}

hr.sep{border:none; border-top:1px solid var(--border); margin:16px 0}

.table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
}
.table th, .table td{
  text-align:left;
  padding:12px 12px;
  border-bottom:1px solid var(--border);
  font-size:14px;
}
.table th{color:#344054; font-size:12px; letter-spacing:.02em; text-transform:uppercase; background:#fafafa}
.table tr:last-child td{border-bottom:none}
.table .status{
  font-weight:800; font-size:12px;
  padding:4px 10px;
  border-radius:999px;
  display:inline-block;
  border:1px solid var(--border);
  background:#fff;
}
.status-open{color:#b54708; border-color:rgba(181,71,8,.25); background:rgba(255,246,237,.9)}
.status-process{color:#175cd3; border-color:rgba(23,92,211,.25); background:rgba(239,248,255,.9)}
.status-done{color:#067647; border-color:rgba(6,118,71,.25); background:rgba(236,253,243,.9)}

.small{font-size:12px;color:var(--muted)}
.h1{font-size:28px;margin:0}
.h2{font-size:18px;margin:0}
.muted{color:var(--muted)}
