/* KIOT_UI_SYSTEM_V1 - Shared Kiot-like UI foundation for Thiện Tâm DMS */

:root{
  --kv-blue:#0078ff;
  --kv-blue-dark:#006ee6;
  --kv-bg:#f3f5f8;
  --kv-white:#ffffff;
  --kv-text:#111827;
  --kv-muted:#64748b;
  --kv-border:#d8e3ef;
  --kv-border-soft:#e7edf5;
  --kv-head:#eaf4ff;
  --kv-danger:#dc2626;
  --kv-success:#16a34a;
  --kv-radius:8px;
  --kv-font:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}

/* Scope mới: chỉ áp khi module dùng class tt-kv, tránh phá app cũ */
.tt-kv,
.tt-kv *{
  box-sizing:border-box;
  font-family:var(--kv-font);
  letter-spacing:0;
}

.tt-kv{
  color:var(--kv-text);
  background:var(--kv-bg);
  font-size:14px;
}

.tt-kv-page{
  width:100%;
  min-height:100%;
  background:var(--kv-bg);
  padding:16px 18px 28px;
}

.tt-kv-card{
  background:var(--kv-white);
  border:1px solid var(--kv-border-soft);
  border-radius:var(--kv-radius);
}

.tt-kv-titlebar{
  min-height:54px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 14px;
  background:var(--kv-white);
  border-bottom:1px solid var(--kv-border-soft);
}

.tt-kv-title{
  margin:0;
  font-size:22px;
  line-height:1.2;
  font-weight:850;
  color:var(--kv-text);
}

.tt-kv-toolbar{
  min-height:48px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 0;
}

.tt-kv-search{
  height:38px;
  display:flex;
  align-items:center;
  gap:8px;
  min-width:320px;
  max-width:520px;
  flex:1;
  border:1px solid var(--kv-border);
  border-radius:var(--kv-radius);
  background:var(--kv-white);
  padding:0 12px;
}

.tt-kv-search input{
  width:100%;
  height:36px;
  border:0;
  outline:0;
  font-size:14px;
  color:var(--kv-text);
  background:transparent;
}

.tt-kv-btn{
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:1px solid var(--kv-border);
  border-radius:var(--kv-radius);
  padding:0 14px;
  background:var(--kv-white);
  color:var(--kv-text);
  font-size:14px;
  font-weight:750;
  cursor:pointer;
}

.tt-kv-btn.primary{
  background:var(--kv-blue);
  border-color:var(--kv-blue);
  color:#fff;
}

.tt-kv-btn.success{
  background:#12b94b;
  border-color:#12b94b;
  color:#fff;
}

.tt-kv-icon-btn{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--kv-border);
  border-radius:var(--kv-radius);
  background:#fff;
  cursor:pointer;
}

.tt-kv-layout{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:12px;
}

.tt-kv-filter{
  background:#fff;
  border:1px solid var(--kv-border-soft);
  border-radius:var(--kv-radius);
  padding:14px 12px;
}

.tt-kv-filter-title{
  font-size:13px;
  font-weight:850;
  margin:0 0 10px;
}

.tt-kv-table-wrap{
  background:#fff;
  border:1px solid var(--kv-border-soft);
  border-radius:var(--kv-radius);
  overflow:auto;
}

.tt-kv-table{
  min-width:100%;
  border-collapse:collapse;
  font-size:13px;
}

.tt-kv-table th{
  height:40px;
  background:var(--kv-head);
  color:#25364a;
  font-weight:850;
  text-align:left;
  border-bottom:1px solid var(--kv-border);
  padding:0 12px;
  white-space:nowrap;
}

.tt-kv-table td{
  height:52px;
  border-bottom:1px solid #edf2f7;
  padding:0 12px;
  color:#1f2937;
  white-space:nowrap;
}

.tt-kv-table tr:hover td{
  background:#f8fbff;
}

.tt-kv-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  border-bottom:1px solid var(--kv-border-soft);
}

.tt-kv-tabs button{
  height:38px;
  padding:0 16px;
  border:1px solid var(--kv-border);
  border-bottom:0;
  border-radius:8px 8px 0 0;
  background:#fff;
  font-weight:750;
  cursor:pointer;
}

.tt-kv-tabs button.active{
  background:var(--kv-blue);
  border-color:var(--kv-blue);
  color:#fff;
}

.tt-kv-side-panel{
  background:#fff;
  border-left:1px solid var(--kv-border);
  padding:16px 18px;
}

.tt-kv-side-panel label{
  display:block;
  margin:14px 0 7px;
  font-size:13px;
  font-weight:850;
  color:#263548;
}

.tt-kv-side-panel input,
.tt-kv-side-panel textarea{
  width:100%;
  border:1px solid var(--kv-border);
  border-radius:var(--kv-radius);
  padding:10px 12px;
  font-size:14px;
}
