/* Giao diện KCB Agent — theo tab «Danh mục kỹ thuật» của nmprp (frontend/src/hermesWorkspace.css). */
[hidden]{display:none!important}
:root{--ink:#18273f;--muted:#5e6e85;--line:#dce4ef;--accent:#17665f;--accent-dark:#10534d;--accent-soft:#e5f1ef}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--ink);font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
.ws{max-width:1240px;margin:10px auto 24px;background:#f4f7fb;border:1px solid var(--line);border-radius:16px;overflow:clip}
.ws-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:23px 26px;background:#142b47;color:#fff}
.ws-brand{display:flex;gap:14px;align-items:center}
.ws-mark{width:44px;height:44px;padding:10px;border:1px solid #53728b;border-radius:13px;color:#9ee0cf}
.ws-brand h1{margin:0 0 4px;font-size:21px;line-height:1.2;letter-spacing:-.4px}
.ws-brand p{margin:0;font-size:12px;color:#c6d4e3}
.ws-pill{padding:6px 11px;background:#25415b;border:1px solid #49647e;border-radius:24px;font-size:12px}
.ws-layout{display:grid;grid-template-columns:204px minmax(0,1fr);min-height:560px}
.ws-side{background:#fff;padding:22px 12px;border-right:1px solid var(--line)}
.ws-label{margin:0 0 5px;padding:4px 12px;color:#77869b;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.ws-group+.ws-group{margin-top:23px}
.ws-nav{display:flex;align-items:center;gap:10px;width:100%;margin:3px 0;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:#4e5e73;text-align:left;font-size:13px;cursor:pointer}
.ws-nav:hover{background:#f1f5f9}
.ws-nav[aria-pressed="true"]{background:var(--accent-soft);color:#125f57;font-weight:700}
.ws-nav svg{flex-shrink:0}
.ws-main{padding:24px;min-width:0}
.ws-eyebrow{margin-bottom:4px;color:#78869b;font-size:10px;font-weight:700;letter-spacing:.9px;text-transform:uppercase}
.ws-title{margin:0 0 4px;font-size:20px;letter-spacing:-.4px}
.ws-lead{max-width:850px;margin:0 0 18px;color:var(--muted);font-size:13px}
section.card{margin:0 0 16px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:10px}
section.card h2{margin:0 0 6px;font-size:15px}
.muted{color:var(--muted);font-size:12px}
.err{color:#9b3a2a;font-size:12px}
.err:not(:empty){display:inline-block;margin-left:8px;padding:6px 10px;border-left:3px solid #c16150;background:#fff3ef;border-radius:5px}
.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:10px 0}
button,input,select{font:inherit;font-size:13px}
input,select{min-height:36px;padding:7px 10px;border:1px solid #cbd6e5;border-radius:7px;background:#fff;color:var(--ink)}
button{min-height:36px;padding:7px 11px;border:1px solid #cad7e4;border-radius:7px;background:#fff;color:#243e5a;font-weight:600;transition:background .15s}
button:not(:disabled){cursor:pointer}
button:hover:not(:disabled){background:#edf4f8}
button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
button.primary:hover:not(:disabled){background:var(--accent-dark)}
button:disabled{opacity:.55;cursor:not-allowed}
:is(button,input,select):focus-visible{outline:3px solid #62b8a6;outline-offset:2px}
.tbl{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff}
table{width:100%;border-collapse:collapse}
th,td{padding:9px 10px;text-align:left;border-bottom:1px solid #e2e8f0;vertical-align:top;font-size:12.5px}
th{background:#f1f5fa;color:#42546c;font-size:12px}
tbody tr:nth-child(even){background:#f8fafc}
.note{margin:12px 0;padding:10px 14px;border:1px solid #d0e2dc;background:#eff7f3;border-radius:8px;color:#24584e;font-size:12px}
.login{max-width:420px;margin:48px auto}
@media(max-width:1000px){.ws-layout{grid-template-columns:170px minmax(0,1fr)}.ws-main{padding:18px}}
@media(max-width:720px){
 .ws-layout{display:block}
 .ws-side{padding:8px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto}
 .ws-group{display:flex;gap:6px;min-width:max-content}
 .ws-group+.ws-group{margin-top:0}.ws-label{display:none}.ws-nav{width:auto}
 .ws-header{padding:18px}.ws-main{padding:14px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
