/* ============================================================================
   Work Tracking Board — styles.css
   Modern enterprise dashboard. Light + dark themes via [data-theme].
   ========================================================================== */

/* ---- Tokens ------------------------------------------------------------- */
/* JIANCHA brand palette — ink #181818 · gold #AD9C82 (accent only) · stone #545351 ·
   cream #E0DDD3 · white. Neutrals are cream/white/ink/stone; gold is the accent;
   off-brand cool hues (blue/purple) are replaced with warm/stone tones. */
:root {
  --bg: #e7e3d9;          /* cream page background */
  --surface: #ffffff;     /* white cards */
  --surface-2: #f4f1ea;   /* light cream (hover / secondary) */
  --surface-3: #e9e4d9;   /* cream chip / badge */
  --border: #ded8cb;      /* stone tint */
  --border-strong: #c9c1b0;
  --text: #181818;        /* ink */
  --text-2: #545351;      /* stone */
  --text-3: #8f8b82;      /* muted stone */
  --accent: #ad9c82;      /* signature gold */
  --accent-weak: #ece4d3; /* light gold tint (accent backgrounds) */
  --accent-text: #181818; /* ink text on gold (contrast) */
  --track: #e4dfd3;
  --shadow: 0 1px 2px rgba(24,24,24,.05), 0 1px 3px rgba(24,24,24,.05);
  --shadow-lg: 0 10px 30px rgba(24,24,24,.12);
  --shadow-pop: 0 8px 24px rgba(24,24,24,.12);

  --st-new: #8f8b82;      --st-processing: #ad9c82; --st-waiting: #b7791f;
  --st-on_hold: #857e71;  --st-overdue: #b4231c;    --st-completed: #4e7a5e;
  --st-cancelled: #a39e95;

  --pri-critical: #b4231c; --pri-urgent: #c2661f; --pri-high: #b7791f;
  --pri-medium: #6e6b64;   --pri-low: #a39e95;

  --ok: #4e7a5e; --warn: #b7791f; --danger: #b4231c;
  --radius: 12px; --radius-sm: 8px; --radius-xs: 6px;
  --sans: 'Sarabun','Noto Sans Thai','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono: 'JetBrains Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
}
[data-theme="dark"] {
  --bg: #181818; --surface: #232320; --surface-2: #2b2a26; --surface-3: #34322d;   /* ink background */
  --border: #3a3833; --border-strong: #4b483f;
  --text: #f2eee6; --text-2: #b7b1a4; --text-3: #8a857a;
  --accent: #c4b698; --accent-weak: #2e2a20; --accent-text: #181818;               /* lighter gold on ink */
  --track: #302e28;
  --shadow: 0 1px 2px rgba(0,0,0,.4); --shadow-lg: 0 12px 34px rgba(0,0,0,.55);
  --shadow-pop: 0 8px 24px rgba(0,0,0,.5);
  --st-new:#a39e93; --st-processing:#c4b698; --st-waiting:#d8a44e; --st-on_hold:#9a9384;
  --st-overdue:#e0776b; --st-completed:#7fae86; --st-cancelled:#a39e93;
  --pri-critical:#e0776b; --pri-urgent:#e0925a; --pri-high:#d8a44e; --pri-medium:#9a9384; --pri-low:#7e7a71;
  --ok:#7fae86; --warn:#d8a44e; --danger:#e0776b;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; height: 100%; }
body {
  font-family: var(--sans); background: var(--bg); color: var(--text);
  font-size: 14px; line-height: 1.5; -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
h1,h2,h3,h4 { margin: 0; font-weight: 700; }
button { font-family: inherit; }
.mono { font-family: var(--mono); }
.hidden { display: none !important; }
.muted { color: var(--text-2); }
.tiny { font-size: 12px; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 6px; }
::-webkit-scrollbar-track { background: transparent; }

/* ---- App shell ---------------------------------------------------------- */
.app { display: grid; grid-template-columns: 244px 1fr; height: 100vh; overflow: hidden; }
.sidebar {
  background: var(--surface); border-right: 1px solid var(--border);
  display: flex; flex-direction: column; overflow-y: auto;
}
.sidebar__brand { display: flex; align-items: center; gap: 10px; padding: 16px 16px 12px; }
.brand-mark {
  width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center;
  background: linear-gradient(135deg, #181818, var(--accent)); color: #fff; font-weight: 800; font-size: 15px;
}
.brand-name { font-weight: 800; font-size: 15px; letter-spacing: .2px; }
.brand-sub { font-size: 11px; color: var(--text-3); }
.nav { padding: 6px 10px 20px; }
.nav__group-label { font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); padding: 14px 10px 6px; }
.nav__item {
  display: flex; align-items: center; gap: 11px; padding: 8px 10px; border-radius: var(--radius-sm);
  color: var(--text-2); font-weight: 500; cursor: pointer; margin-bottom: 1px; position: relative;
}
.nav__item:hover { background: var(--surface-3); color: var(--text); }
.nav__item.active { background: var(--accent-weak); color: var(--accent); font-weight: 600; }
.nav__item svg { width: 17px; height: 17px; flex: none; }
.nav__badge {
  margin-left: auto; background: var(--surface-3); color: var(--text-2);
  font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: 20px; min-width: 20px; text-align: center;
}
.nav__item.active .nav__badge { background: var(--accent); color: var(--accent-text); }
.nav__badge--danger { background: color-mix(in srgb, var(--danger) 16%, transparent); color: var(--danger); }

/* ---- Main / topbar ------------------------------------------------------ */
.main { display: flex; flex-direction: column; overflow: hidden; }
.topbar {
  display: flex; align-items: center; gap: 12px; padding: 12px 20px;
  border-bottom: 1px solid var(--border); background: var(--surface); flex: none;
}
.topbar__title { font-size: 18px; font-weight: 700; }
.topbar__spacer { flex: 1; }
.searchbox { position: relative; flex: 1; max-width: 420px; }
.searchbox input {
  width: 100%; padding: 8px 12px 8px 34px; border: 1px solid var(--border); border-radius: var(--radius-sm);
  background: var(--surface-2); color: var(--text); font-size: 13px;
}
.searchbox svg { position: absolute; left: 10px; top: 9px; width: 16px; height: 16px; color: var(--text-3); }
.iconbtn {
  width: 36px; height: 36px; display: grid; place-items: center; border-radius: var(--radius-sm);
  border: 1px solid var(--border); background: var(--surface-2); color: var(--text-2); cursor: pointer; position: relative;
}
.iconbtn:hover { color: var(--text); border-color: var(--border-strong); }
.iconbtn svg { width: 18px; height: 18px; }
.dot-badge { position: absolute; top: -4px; right: -4px; background: var(--danger); color: #fff; font-size: 10px; font-weight: 700; min-width: 16px; height: 16px; border-radius: 10px; display: grid; place-items: center; padding: 0 4px; }
.content { flex: 1; overflow-y: auto; padding: 20px; }

/* mobile hamburger + backdrop */
.hamburger { display: none; }
.sidebar-backdrop { display: none; }

/* ---- Buttons ------------------------------------------------------------ */
.btn {
  display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border-radius: var(--radius-sm);
  border: 1px solid var(--border-strong); background: var(--surface); color: var(--text);
  font-weight: 600; font-size: 13px; cursor: pointer; white-space: nowrap; transition: filter .12s;
}
.btn:hover { filter: brightness(.97); }
.btn--primary { background: var(--accent); border-color: var(--accent); color: var(--accent-text); }
.btn--secondary { background: var(--accent-weak); border-color: transparent; color: var(--accent); }
.btn--ghost { background: transparent; border-color: transparent; color: var(--text-2); }
.btn--ghost:hover { background: var(--surface-3); }
.btn--danger { background: var(--danger); border-color: var(--danger); color: #fff; }
.btn--sm { padding: 5px 10px; font-size: 12px; }
.btn svg { width: 15px; height: 15px; }
.btn:disabled { opacity: .5; cursor: not-allowed; }
.icon-btn { border: none; background: transparent; color: var(--text-2); cursor: pointer; padding: 4px; border-radius: 6px; display: inline-grid; place-items: center; }
.icon-btn:hover { background: var(--surface-3); color: var(--text); }
.icon-btn svg { width: 17px; height: 17px; }
.icon-btn--danger:hover { color: var(--danger); }

/* ---- Pills / badges ----------------------------------------------------- */
.pill { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 600; padding: 2px 9px; border-radius: 20px; white-space: nowrap; }
.pill::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .9; }
.pill--flat::before { display: none; }
.st-new { color: var(--st-new); background: color-mix(in srgb, var(--st-new) 14%, transparent); }
.st-processing { color: var(--st-processing); background: color-mix(in srgb, var(--st-processing) 14%, transparent); }
.st-waiting { color: var(--st-waiting); background: color-mix(in srgb, var(--st-waiting) 15%, transparent); }
.st-on_hold { color: var(--st-on_hold); background: color-mix(in srgb, var(--st-on_hold) 15%, transparent); }
.st-overdue { color: var(--st-overdue); background: color-mix(in srgb, var(--st-overdue) 15%, transparent); }
.st-completed { color: var(--st-completed); background: color-mix(in srgb, var(--st-completed) 14%, transparent); }
.st-cancelled { color: var(--st-cancelled); background: color-mix(in srgb, var(--st-cancelled) 16%, transparent); }

.pri { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 700; padding: 2px 8px; border-radius: var(--radius-xs); }
.pri::before { content: ''; width: 6px; height: 6px; border-radius: 2px; background: currentColor; }
.pri-critical { color: var(--pri-critical); background: color-mix(in srgb, var(--pri-critical) 12%, transparent); }
.pri-urgent { color: var(--pri-urgent); background: color-mix(in srgb, var(--pri-urgent) 13%, transparent); }
.pri-high { color: var(--pri-high); background: color-mix(in srgb, var(--pri-high) 13%, transparent); }
.pri-medium { color: var(--pri-medium); background: color-mix(in srgb, var(--pri-medium) 12%, transparent); }
.pri-low { color: var(--pri-low); background: color-mix(in srgb, var(--pri-low) 13%, transparent); }

.tag { display: inline-block; font-size: 11px; font-weight: 500; padding: 1px 8px; border-radius: 5px; background: var(--surface-3); color: var(--text-2); }
.type-chip { display: inline-block; font-size: 11px; font-weight: 600; padding: 1px 8px; border-radius: 5px; background: var(--surface-3); color: var(--text-2); border: 1px solid var(--border); }

/* avatars */
.avatar { width: 24px; height: 24px; border-radius: 50%; display: inline-grid; place-items: center; color: #fff; font-size: 11px; font-weight: 700; flex: none; }
.avatar--sm { width: 20px; height: 20px; font-size: 10px; }
.avatar-stack { display: inline-flex; align-items: center; }
.avatar-stack .avatar { margin-left: -6px; border: 2px solid var(--surface); }
.avatar-stack .avatar:first-child { margin-left: 0; }

/* ---- Panels / KPI ------------------------------------------------------- */
.panel { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); }
.panel__head { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--border); }
.panel__title { font-size: 14px; font-weight: 700; }
.panel__body { padding: 16px; }
.section-title { font-size: 15px; font-weight: 700; margin: 4px 0 12px; }

.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 18px; }
.kpi { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px 16px; box-shadow: var(--shadow); cursor: pointer; transition: border-color .12s, transform .08s; }
.kpi:hover { border-color: var(--border-strong); transform: translateY(-1px); }
.kpi__label { font-size: 12px; color: var(--text-2); font-weight: 600; display: flex; align-items: center; gap: 6px; }
.kpi__value { font-size: 27px; font-weight: 800; margin-top: 4px; letter-spacing: -.5px; }
.kpi__sub { font-size: 11.5px; color: var(--text-3); margin-top: 2px; }
.kpi--danger .kpi__value { color: var(--danger); }
.kpi--warn .kpi__value { color: var(--warn); }
.kpi--good .kpi__value { color: var(--ok); }
.kpi__accent { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; }

.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.dash-row { margin-bottom: 16px; }

/* charts */
.ch .ch-label { fill: var(--text-2); font-size: 12px; font-family: var(--sans); }
.ch .ch-val { fill: var(--text); font-size: 11.5px; font-weight: 700; font-family: var(--sans); }
.ch .ch-axis { fill: var(--text-3); font-size: 10.5px; font-family: var(--sans); }
.ch .ch-track { fill: var(--track); }
.ch .ch-center-num { fill: var(--text); font-size: 26px; font-weight: 800; font-family: var(--sans); }
.ch .ch-center-cap { fill: var(--text-3); font-size: 11px; font-family: var(--sans); }
.ch-barrow:hover rect:not(.ch-track) { filter: brightness(1.08); }
.ch-donut-wrap { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.ch-legend { display: flex; flex-direction: column; gap: 6px; }
.ch-legend-item { font-size: 12.5px; color: var(--text-2); cursor: pointer; display: flex; align-items: center; gap: 7px; }
.ch-legend-item b { color: var(--text); }
.ch-dot { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }

/* progress bar */
.progress { height: 7px; background: var(--track); border-radius: 20px; overflow: hidden; }
.progress__bar { height: 100%; border-radius: 20px; background: var(--accent); transition: width .3s; }
.progress--done .progress__bar { background: var(--ok); }

/* ---- Kanban ------------------------------------------------------------- */
.board { display: flex; gap: 14px; overflow-x: auto; padding-bottom: 8px; align-items: flex-start; }
.col { flex: 0 0 288px; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius); display: flex; flex-direction: column; max-height: calc(100vh - 150px); }
.col__head { display: flex; align-items: center; gap: 8px; padding: 11px 13px; border-bottom: 1px solid var(--border); position: sticky; top: 0; }
.col__dot { width: 9px; height: 9px; border-radius: 50%; }
.col__title { font-weight: 700; font-size: 13px; }
.col__count { margin-left: auto; background: var(--surface-3); color: var(--text-2); font-size: 11.5px; font-weight: 700; padding: 1px 8px; border-radius: 20px; }
.col__body { padding: 10px; overflow-y: auto; display: flex; flex-direction: column; gap: 9px; min-height: 60px; }
.col--over { outline: 2px dashed var(--accent); outline-offset: -4px; background: var(--accent-weak); }
.col__empty { text-align: center; color: var(--text-3); font-size: 12px; padding: 18px 0; }

.tcard { background: var(--surface); border: 1px solid var(--border); border-left: 3px solid var(--accent); border-radius: var(--radius-sm); padding: 10px 11px; cursor: pointer; box-shadow: var(--shadow); }
.tcard:hover { border-color: var(--border-strong); }
.tcard--dragging { opacity: .5; }
.tcard--critical { border-left-color: var(--pri-critical); }
.tcard--urgent { border-left-color: var(--pri-urgent); }
.tcard--high { border-left-color: var(--pri-high); }
.tcard--medium { border-left-color: var(--pri-medium); }
.tcard--low { border-left-color: var(--pri-low); }
.tcard__top { display: flex; align-items: center; gap: 6px; margin-bottom: 5px; }
.tcard__id { font-family: var(--mono); font-size: 10.5px; color: var(--text-3); }
.tcard__title { font-weight: 600; font-size: 13px; line-height: 1.35; margin: 2px 0 7px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tcard__row { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 7px; }
.tcard__prog { display: flex; align-items: center; gap: 8px; margin-bottom: 7px; }
.tcard__prog .progress { flex: 1; }
.tcard__prog b { font-size: 11px; color: var(--text-2); min-width: 30px; text-align: right; }
.tcard__foot { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--text-3); }
.tcard__foot .sep { margin-left: auto; }
.tcard__status-note { font-size: 11.5px; color: var(--text-2); background: var(--surface-2); border-radius: 6px; padding: 4px 7px; margin-bottom: 7px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.chip-icon { display: inline-flex; align-items: center; gap: 3px; }
.chip-icon svg { width: 13px; height: 13px; }
.due-pill { font-size: 11px; font-weight: 600; padding: 1px 6px; border-radius: 5px; }
.due-pill--over { color: var(--danger); background: color-mix(in srgb, var(--danger) 12%, transparent); }
.due-pill--soon { color: var(--warn); background: color-mix(in srgb, var(--warn) 14%, transparent); }
.stale-flag { color: var(--warn); font-weight: 600; }

/* ---- Table / list ------------------------------------------------------- */
.filterbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.filterbar select, .filterbar input { padding: 7px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--text); font-size: 12.5px; }
.segmented { display: inline-flex; background: var(--surface-3); border-radius: var(--radius-sm); padding: 3px; gap: 2px; }
.segmented button { border: none; background: transparent; color: var(--text-2); font-weight: 600; font-size: 12.5px; padding: 5px 12px; border-radius: 6px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.segmented button.active { background: var(--surface); color: var(--accent); box-shadow: var(--shadow); }

.tbl-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.tbl { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 820px; }
.tbl th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--text-3); font-weight: 700; padding: 11px 12px; border-bottom: 1px solid var(--border); white-space: nowrap; background: var(--surface-2); position: sticky; top: 0; }
.tbl td { padding: 10px 12px; border-bottom: 1px solid var(--border); vertical-align: middle; }
.tbl tr:last-child td { border-bottom: none; }
.tbl tbody tr { cursor: pointer; }
.tbl tbody tr:hover { background: var(--surface-2); }
.tbl__id { font-family: var(--mono); font-size: 11.5px; color: var(--text-2); }
.tbl__title { font-weight: 600; max-width: 280px; }
.checkbox { width: 15px; height: 15px; accent-color: var(--accent); cursor: pointer; }
.bulkbar { display: flex; align-items: center; gap: 10px; padding: 9px 14px; background: var(--accent-weak); border: 1px solid var(--accent); border-radius: var(--radius-sm); margin-bottom: 12px; font-size: 13px; font-weight: 600; color: var(--accent); }

/* ---- Empty / skeleton --------------------------------------------------- */
.empty { text-align: center; padding: 54px 20px; color: var(--text-3); }
.empty svg { width: 46px; height: 46px; opacity: .5; margin-bottom: 10px; }
.empty h3 { font-size: 15px; color: var(--text-2); margin-bottom: 4px; }
.skeleton { background: linear-gradient(90deg, var(--surface-3) 25%, var(--surface-2) 50%, var(--surface-3) 75%); background-size: 200% 100%; animation: shimmer 1.3s infinite; border-radius: 6px; }
@keyframes shimmer { to { background-position: -200% 0; } }
.sk-card { height: 118px; border-radius: var(--radius-sm); }

/* ---- Drawer (task detail §20) ------------------------------------------- */
.drawer-backdrop { position: fixed; inset: 0; background: rgba(16,24,40,.4); z-index: 60; opacity: 0; transition: opacity .18s; }
.drawer-backdrop.show { opacity: 1; }
.drawer { position: fixed; top: 0; right: 0; height: 100vh; width: 640px; max-width: 96vw; background: var(--surface); box-shadow: var(--shadow-lg); z-index: 61; display: flex; flex-direction: column; transform: translateX(100%); transition: transform .22s ease; }
.drawer.show { transform: translateX(0); }
.drawer__head { padding: 16px 20px; border-bottom: 1px solid var(--border); }
.drawer__topline { display: flex; align-items: center; gap: 9px; margin-bottom: 8px; }
.drawer__title { font-size: 18px; font-weight: 700; margin: 4px 0 10px; }
.drawer__actions { display: flex; gap: 7px; flex-wrap: wrap; }
.drawer__meta-strip { display: flex; gap: 18px; flex-wrap: wrap; padding: 12px 20px; border-bottom: 1px solid var(--border); background: var(--surface-2); }
.meta-cell { font-size: 12px; }
.meta-cell .lbl { color: var(--text-3); font-size: 10.5px; text-transform: uppercase; letter-spacing: .04em; }
.meta-cell .val { font-weight: 600; margin-top: 2px; }
.tabs { display: flex; gap: 2px; padding: 0 16px; border-bottom: 1px solid var(--border); flex: none; }
.tab { padding: 11px 13px; font-size: 13px; font-weight: 600; color: var(--text-2); cursor: pointer; border-bottom: 2px solid transparent; }
.tab.active { color: var(--accent); border-bottom-color: var(--accent); }
.drawer__body { flex: 1; overflow-y: auto; padding: 18px 20px; }
.kv { display: grid; grid-template-columns: 150px 1fr; gap: 8px 14px; font-size: 13px; }
.kv dt { color: var(--text-2); font-weight: 600; }
.kv dd { margin: 0; }
.blk { margin-bottom: 18px; }
.blk h4 { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--text-3); margin-bottom: 7px; }

/* timeline */
.timeline { position: relative; padding-left: 4px; }
.tl-item { position: relative; padding: 0 0 16px 22px; border-left: 2px solid var(--border); margin-left: 5px; }
.tl-item:last-child { border-left-color: transparent; }
.tl-dot { position: absolute; left: -7px; top: 2px; width: 12px; height: 12px; border-radius: 50%; background: var(--accent); border: 2px solid var(--surface); }
.tl-item--head .tl-dot { box-shadow: 0 0 0 3px var(--accent-weak); }
.tl-row1 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.tl-time { font-size: 11.5px; color: var(--text-3); }
.tl-by { font-size: 11.5px; color: var(--text-2); font-weight: 600; }
.tl-detail { font-size: 13px; margin-top: 4px; }
.tl-sub { font-size: 12px; color: var(--text-2); margin-top: 3px; display: flex; gap: 6px; flex-wrap: wrap; }
.tl-chip { font-size: 11px; padding: 1px 7px; border-radius: 5px; background: var(--surface-3); color: var(--text-2); }
.tl-photos { display: flex; gap: 6px; margin-top: 6px; flex-wrap: wrap; }
.tl-photo { width: 54px; height: 54px; object-fit: cover; border-radius: 6px; cursor: pointer; border: 1px solid var(--border); }
.tl-delta { font-size: 11.5px; color: var(--ok); font-weight: 600; }

/* comments */
.comment { display: flex; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.comment__body { flex: 1; }
.comment__meta { font-size: 11.5px; color: var(--text-3); margin-bottom: 3px; }
.comment__meta b { color: var(--text-2); }
.comment__text { font-size: 13px; }
.comment__text .mention { color: var(--accent); font-weight: 600; }
.comment.pinned { background: color-mix(in srgb, var(--warn) 8%, transparent); border-radius: 8px; padding: 10px; }

/* ---- Modal -------------------------------------------------------------- */
.modal-backdrop { position: fixed; inset: 0; background: rgba(16,24,40,.45); z-index: 70; display: flex; align-items: flex-start; justify-content: center; padding: 40px 16px; overflow-y: auto; opacity: 0; transition: opacity .15s; }
.modal-backdrop.show { opacity: 1; }
.modal { background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow-lg); width: 620px; max-width: 100%; margin: auto 0; transform: translateY(8px); transition: transform .16s; }
.modal-backdrop.show .modal { transform: translateY(0); }
.modal--lg { width: 760px; }
.modal--sm { width: 460px; }
.modal__head { display: flex; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--border); }
.modal__head h3 { font-size: 16px; }
.modal__head .icon-btn { margin-left: auto; }
.modal__body { padding: 18px 20px; max-height: 66vh; overflow-y: auto; }
.modal__foot { display: flex; justify-content: flex-end; gap: 9px; padding: 14px 20px; border-top: 1px solid var(--border); }

/* forms */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.field { display: flex; flex-direction: column; gap: 5px; }
.field--full { grid-column: 1 / -1; }
.field label { font-size: 12px; font-weight: 600; color: var(--text-2); }
.field .req { color: var(--danger); }
.field input, .field textarea, .field select {
  padding: 8px 11px; border: 1px solid var(--border); border-radius: var(--radius-sm);
  background: var(--surface); color: var(--text); font-size: 13px; font-family: inherit; width: 100%;
}
.field input:focus, .field textarea:focus, .field select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-weak); }
.field textarea { resize: vertical; min-height: 68px; }
.field .hint { font-size: 11px; color: var(--text-3); }
.field .err { font-size: 11.5px; color: var(--danger); }
.chips-select { display: flex; flex-wrap: wrap; gap: 6px; }
.chip-opt { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border: 1px solid var(--border); border-radius: 20px; font-size: 12.5px; cursor: pointer; user-select: none; }
.chip-opt.sel { background: var(--accent-weak); border-color: var(--accent); color: var(--accent); font-weight: 600; }
.form-section { margin-bottom: 16px; }
.form-section > h4 { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--text-3); margin-bottom: 9px; }

/* range slider */
.rangewrap { display: flex; align-items: center; gap: 10px; }
.rangewrap input[type=range] { flex: 1; accent-color: var(--accent); }
.rangewrap b { min-width: 42px; text-align: right; font-weight: 700; }

/* ---- Toasts ------------------------------------------------------------- */
.toasts { position: fixed; bottom: 22px; right: 22px; z-index: 90; display: flex; flex-direction: column; gap: 9px; }
.toast { background: var(--surface); border: 1px solid var(--border); border-left: 3px solid var(--ok); border-radius: var(--radius-sm); box-shadow: var(--shadow-pop); padding: 11px 15px; font-size: 13px; font-weight: 500; min-width: 220px; display: flex; align-items: center; gap: 9px; animation: toastin .2s; }
.toast--err { border-left-color: var(--danger); }
.toast--warn { border-left-color: var(--warn); }
@keyframes toastin { from { transform: translateX(20px); opacity: 0; } }

/* ---- Workload ----------------------------------------------------------- */
.worker-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.worker-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px; cursor: pointer; box-shadow: var(--shadow); }
.worker-card:hover { border-color: var(--border-strong); }
.worker-card.sel { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-weak); }
.worker-card__top { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.worker-card__name { font-weight: 700; font-size: 14px; }
.worker-card__role { font-size: 11.5px; color: var(--text-3); }
.load-ind { font-size: 11px; font-weight: 700; padding: 2px 9px; border-radius: 20px; margin-left: auto; }
.load-available { color: var(--ok); background: color-mix(in srgb, var(--ok) 14%, transparent); }
.load-normal { color: var(--st-processing); background: color-mix(in srgb, var(--st-processing) 14%, transparent); }
.load-busy { color: var(--warn); background: color-mix(in srgb, var(--warn) 15%, transparent); }
.load-overloaded { color: var(--danger); background: color-mix(in srgb, var(--danger) 15%, transparent); }
.meter { height: 8px; background: var(--track); border-radius: 20px; overflow: hidden; margin: 8px 0; }
.meter__fill { height: 100%; border-radius: 20px; }
.worker-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 8px; }
.worker-stat { text-align: center; }
.worker-stat b { font-size: 18px; font-weight: 800; display: block; }
.worker-stat span { font-size: 10.5px; color: var(--text-3); }

/* ---- Reports / weekly --------------------------------------------------- */
.report-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); gap: 12px; }
.report-card { display: flex; align-items: flex-start; gap: 11px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px; box-shadow: var(--shadow); }
.report-card__icon { width: 34px; height: 34px; border-radius: 9px; background: var(--accent-weak); color: var(--accent); display: grid; place-items: center; flex: none; }
.report-card h4 { font-size: 13.5px; }
.report-card p { font-size: 11.5px; color: var(--text-3); margin: 2px 0 9px; }
.weekly-box { white-space: pre-wrap; font-family: var(--mono); font-size: 12.5px; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 16px; line-height: 1.7; }

/* ---- Settings ----------------------------------------------------------- */
.perm-tbl td, .perm-tbl th { font-size: 12px; }
.perm-yes { color: var(--ok); font-weight: 700; }
.perm-no { color: var(--text-3); }
.type-row { display: flex; align-items: center; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--border); }
.type-row input { padding: 5px 8px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); color: var(--text); font-size: 12.5px; }

/* lightbox */
.lightbox { position: fixed; inset: 0; background: rgba(0,0,0,.85); z-index: 100; display: grid; place-items: center; cursor: zoom-out; }
.lightbox img { max-width: 92vw; max-height: 92vh; border-radius: 8px; }

/* login (§24.18) */
.login-screen { min-height: 100vh; display: grid; place-items: center; padding: 24px; background:
  radial-gradient(760px 440px at 12% -8%, var(--accent-weak), transparent 62%),
  radial-gradient(900px 520px at 108% 112%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 55%),
  var(--bg); }
.login-card { width: 580px; max-width: 100%; background: var(--surface); border: 1px solid var(--border); border-radius: 22px; box-shadow: var(--shadow-lg); padding: 32px 32px 26px; }
.login-brand { text-align: center; margin-bottom: 20px; }
.login-brand .brand-mark { width: 56px; height: 56px; margin: 0 auto 12px; font-size: 22px; border-radius: 16px; box-shadow: 0 8px 22px color-mix(in srgb, var(--accent) 40%, transparent); }
.login-brand h1 { font-size: 21px; letter-spacing: -.01em; }
.login-brand p { color: var(--text-3); font-size: 13px; margin-top: 5px; }
.login-users { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 8px; max-height: 58vh; overflow-y: auto; padding: 2px; }
.login-user { display: flex; align-items: center; gap: 11px; padding: 11px 13px; border: 1px solid var(--border); border-radius: 13px; cursor: pointer; background: var(--surface); transition: transform .08s ease, border-color .12s, box-shadow .12s; }
.login-user:hover { border-color: var(--accent); box-shadow: 0 6px 18px color-mix(in srgb, var(--accent) 16%, transparent); transform: translateY(-1px); }
.login-user.sel { border-color: var(--accent); background: var(--accent-weak); }
.login-user .avatar { width: 34px; height: 34px; font-size: 13px; }
.login-user--mgr .avatar { box-shadow: 0 0 0 2px var(--surface), 0 0 0 4px color-mix(in srgb, var(--accent) 55%, transparent); }
.login-user__name { font-weight: 650; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.login-user__role { font-size: 10px; color: var(--text-3); margin-left: auto; text-transform: uppercase; letter-spacing: .03em; background: var(--surface-2); padding: 3px 8px; border-radius: 20px; white-space: nowrap; }
.avatar--xl { width: 64px; height: 64px; font-size: 24px; border-radius: 20px; }

/* ── Sign-in PIN pad ─────────────────────────────────────────────────────── */
.login-card.pin-card { width: 380px; text-align: center; }
.pin-user { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-bottom: 16px; }
.pin-user .avatar { box-shadow: 0 8px 22px color-mix(in srgb, var(--accent) 22%, transparent); }
.pin-user__name { font-weight: 750; font-size: 19px; }
.pin-title { font-size: 14px; color: var(--text-2); margin-bottom: 16px; }
.pin-dots { display: flex; justify-content: center; gap: 16px; margin-bottom: 8px; }
.pin-dot { width: 15px; height: 15px; border-radius: 50%; border: 2px solid var(--border-strong); background: transparent; transition: transform .12s, background .12s, border-color .12s; }
.pin-dot.on { background: var(--accent); border-color: var(--accent); transform: scale(1.08); }
.pin-err { color: var(--danger); font-size: 12.5px; min-height: 18px; margin-bottom: 8px; font-weight: 600; }
.pin-pad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; max-width: 288px; margin: 0 auto; }
.pin-key { height: 60px; border-radius: 15px; border: 1px solid var(--border); background: var(--surface); font-size: 22px; font-weight: 650; color: var(--text); cursor: pointer; user-select: none; transition: transform .06s, background .1s, border-color .1s; }
.pin-key:hover { border-color: var(--accent); background: var(--surface-2); }
.pin-key:active { transform: scale(.95); background: var(--accent-weak); }
.pin-key--fn { font-size: 14px; font-weight: 600; color: var(--text-3); }
.pin-back { margin: 18px auto 0; display: inline-block; background: none; border: none; color: var(--text-3); cursor: pointer; font-size: 13px; padding: 6px 10px; border-radius: 8px; }
.pin-back:hover { color: var(--text); background: var(--surface-2); }
@keyframes pinshake { 0%,100% { transform: translateX(0); } 20%,60% { transform: translateX(-8px); } 40%,80% { transform: translateX(8px); } }
.pin-dots.shake { animation: pinshake .4s ease; }

/* public form (§7.2) */
.public-screen { min-height: 100vh; background: var(--bg); padding: 30px 16px; }
.public-card { max-width: 640px; margin: 0 auto; background: var(--surface); border: 1px solid var(--border); border-radius: 16px; box-shadow: var(--shadow-lg); overflow: hidden; }
.public-head { padding: 22px 26px; border-bottom: 1px solid var(--border); background: linear-gradient(135deg, #181818, var(--accent)); color: #fff; }
.public-head h1 { font-size: 20px; }
.public-head p { opacity: .92; font-size: 13px; margin-top: 4px; }
.public-body { padding: 24px 26px; }
.public-success { text-align: center; padding: 40px 26px; }
.public-success .check { width: 60px; height: 60px; border-radius: 50%; background: color-mix(in srgb, var(--ok) 16%, transparent); color: var(--ok); display: grid; place-items: center; margin: 0 auto 16px; }

.qr { display: grid; }
.qr rect { shape-rendering: crispEdges; }

/* ---- Responsive (§1 / §13) --------------------------------------------- */
@media (max-width: 1100px) {
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .app { grid-template-columns: 1fr; }
  .sidebar { position: fixed; z-index: 80; width: 244px; height: 100vh; transform: translateX(-100%); transition: transform .2s; }
  .app.nav-open .sidebar { transform: translateX(0); box-shadow: var(--shadow-lg); }
  .app.nav-open .sidebar-backdrop { display: block; position: fixed; inset: 0; background: rgba(16,24,40,.4); z-index: 79; }
  .hamburger { display: inline-grid; }
  .grid-2 { grid-template-columns: 1fr; }
  .searchbox { max-width: none; }
  .topbar__title { display: none; }
  .drawer { width: 100%; }
}
@media (max-width: 560px) {
  .kpi-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .kpi__value { font-size: 22px; }
  .content { padding: 14px; }
  .form-grid { grid-template-columns: 1fr; }
  .drawer__meta-strip { gap: 12px; }
  .modal__body { max-height: 74vh; }
}

/* JIANCHA emblem inside the app logo mark (white emblem on ink→gold) */
.brand-mark { background-image: url("data:image/png;base64,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"), linear-gradient(135deg, #181818, var(--accent)); background-size: 66% auto, cover; background-position: center; background-repeat: no-repeat; color: transparent !important; font-size: 0 !important; text-indent: -9999px; }

/* JIANCHA mountain emblem inside every avatar (per-person colour kept as background) */
.avatar--jc { color: #fff; padding: 0; }
.avatar--jc .jc-emblem { width: 72%; height: 72%; display: block; }

/* App logo mark → crisp white mountain emblem on ink→gold (replaces the raster PNG) */
.brand-mark { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='white' stroke-width='11' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='100' cy='100' r='80'/%3E%3Cpath d='M52 122 L86 74 L108 104 L124 86 L150 122'/%3E%3Cpath d='M50 134 q14 -8 26 0 t26 0 t26 0 t22 0'/%3E%3Cpath d='M56 148 q14 -8 26 0 t26 0 t26 0'/%3E%3C/g%3E%3C/svg%3E"), linear-gradient(135deg, #181818, #ad9c82); background-size: 66% auto, cover; background-position: center; background-repeat: no-repeat; }

/* Date fields: keep the native picker but show a Thai day–month–year label.
   The native MM/DD/YYYY text is made transparent; our overlay renders on top. */
.datefield { position: relative; display: block; }
.datefield input[type="date"] { color: transparent; width: 100%; }
.datefield input[type="date"]::-webkit-datetime-edit { color: transparent; }
.datefield input[type="date"]::-webkit-datetime-edit-fields-wrapper { color: transparent; }
.datefield input[type="date"]:focus { color: transparent; }
.datefield__txt {
  position: absolute; left: 13px; top: 50%; transform: translateY(-50%);
  pointer-events: none; font-size: 14px; font-weight: 600; color: var(--text);
  white-space: nowrap; max-width: calc(100% - 46px); overflow: hidden; text-overflow: ellipsis;
}
.datefield__txt.is-empty { color: var(--text-3); font-weight: 500; }
