/* Titkárnő — teljes arculat */
:root{
  --bg:#EBEEF3; --surface:#FFFFFF; --surface-2:#F5F7FA;
  --ink:#15202E; --ink-soft:#5B6775; --ink-faint:#8B96A3;
  --line:#DBE1EA; --line-soft:#EAEEF3;
  --brand:#0F5E6B; --brand-ink:#0A464F; --brand-tint:#E4F0F1;
  --done:#15803D; --err:#DC2626;
  --etar:#0F5E6B; --eneris:#7C3AED; --vendeg:#D97706;
  --radius:12px; --shadow:0 1px 2px rgba(21,32,46,.06),0 4px 16px rgba(21,32,46,.06);
}
*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif; background:var(--bg);
  color:var(--ink); margin:0; font-size:15px; line-height:1.45; -webkit-font-smoothing:antialiased;}

/* ---- Bejelentkezés / setup ---- */
.login-wrap{min-height:100vh; display:grid; place-items:center; padding:24px;}
.login-card{width:100%; max-width:400px; background:var(--surface); border:1px solid var(--line);
  border-radius:16px; box-shadow:var(--shadow); padding:32px; text-align:center;}
.brandmark{display:inline-flex; gap:2px; padding:10px; background:var(--brand); border-radius:12px; margin-bottom:18px;}
.brandmark i{width:9px; height:9px; background:#fff; border-radius:2px; display:block; opacity:.9;}
.brandmark i:nth-child(2),.brandmark i:nth-child(3){opacity:.55;}
h1{font-size:22px; margin:0 0 4px;}
.tag{color:var(--ink-soft); margin:0 0 24px; font-size:14px;}
.field{text-align:left; margin-bottom:12px;}
.field label{display:block; font-size:13px; font-weight:600; color:var(--ink-soft); margin-bottom:5px;}
.field input,.field select{width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:9px; font-size:14px; background:var(--surface);}
.btn{background:var(--brand); color:#fff; border:none; padding:11px 18px; border-radius:9px;
  font-weight:600; font-size:14px; cursor:pointer; transition:.15s; text-decoration:none; display:inline-block;}
.btn:hover{background:var(--brand-ink);}
.btn.full{width:100%; padding:12px;}
.btn.ghost{background:var(--surface); color:var(--ink); border:1px solid var(--line);}
.msg-err{color:var(--err); font-size:13px; margin:10px 0 0; min-height:18px;}
.msg-ok{color:var(--done); font-size:14px; margin:0 0 16px; background:#EAF7EE; border:1px solid #C6E8D1; padding:10px 14px; border-radius:9px;}
.hint{color:var(--ink-faint); font-size:12.5px; margin-top:14px;}

/* ---- App-keret (oldalsáv + tartalom) ---- */
.app{display:grid; grid-template-columns:236px 1fr; min-height:100vh;}
.side{background:var(--surface); border-right:1px solid var(--line); display:flex; flex-direction:column;
  padding:16px 12px; position:sticky; top:0; height:100vh;}
.side .brand{display:flex; align-items:center; gap:10px; padding:6px 8px 16px;}
.side .brand .bm{display:inline-flex; gap:2px; padding:7px; background:var(--brand); border-radius:9px;}
.side .brand .bm i{width:7px; height:7px; background:#fff; border-radius:1.5px; display:block;}
.side .brand .bm i:nth-child(2),.side .brand .bm i:nth-child(3){opacity:.55;}
.side .brand .tt{font-weight:700; font-size:16px;}
.side .brand .sb{font-size:11px; color:var(--ink-faint);}
.nav{display:flex; flex-direction:column; gap:2px; margin-top:6px;}
.nav a{display:flex; align-items:center; gap:11px; padding:9px 11px; border:none; background:none;
  color:var(--ink-soft); border-radius:9px; font-size:14.5px; font-weight:500; text-decoration:none; transition:.13s;}
.nav a:hover{background:var(--surface-2); color:var(--ink);}
.nav a.sel{background:var(--brand-tint); color:var(--brand-ink); font-weight:600;}
.side .me{margin-top:auto; display:flex; align-items:center; gap:10px; padding:10px 8px; border-top:1px solid var(--line-soft);}
.side .me .nm{font-size:13.5px; font-weight:600; line-height:1.2;}
.side .me .rl{font-size:11px; color:var(--ink-faint);}
.side .me .lo{margin-left:auto; color:var(--ink-faint); font-size:12px; text-decoration:none;}
.side .me .lo:hover{color:var(--brand);}
.main{padding:26px 30px; max-width:1000px;}
.headrow{margin-bottom:20px;}
.headrow h2{font-size:24px; margin:0; letter-spacing:-.02em;}
.headrow .sub{color:var(--ink-soft); font-size:13.5px; margin-top:3px;}

.avatar{border-radius:50%; display:inline-grid; place-items:center; color:#fff; font-weight:600; flex:none;}
.panel{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:22px; margin-bottom:16px;}
.panel h3{margin:0 0 14px; font-size:16px;}

.tablewrap{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);}
table{width:100%; border-collapse:collapse;}
thead th{text-align:left; font-size:11.5px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--ink-faint); font-weight:600; padding:12px 16px; border-bottom:1px solid var(--line);}
tbody td{padding:13px 16px; border-bottom:1px solid var(--line-soft); font-size:14px; vertical-align:middle;}
tbody tr:last-child td{border-bottom:none;}
.who{display:flex; align-items:center; gap:11px;}
.who .avatar{width:36px; height:36px; font-size:13px;}
.who .nm{font-weight:600;}
.who .em{font-size:12px; color:var(--ink-faint);}
.pill{display:inline-block; padding:3px 10px; border-radius:20px; font-size:12px; font-weight:600;}
.pill.etar{background:var(--brand-tint); color:var(--brand-ink);}
.pill.eneris{background:#F0E9FB; color:#6D28D9;}
.pill.vendeg{background:#FDF0DC; color:#B45309;}
.tag-uv{font-size:11px; font-weight:700; color:var(--brand-ink); background:var(--brand-tint); padding:2px 8px; border-radius:20px; margin-left:6px;}

.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.form-grid .full{grid-column:1 / -1;}
.checkrow{display:flex; align-items:center; gap:8px; font-size:14px; color:var(--ink-soft);}

@media (max-width:820px){
  .app{grid-template-columns:1fr;}
  .side{position:static; height:auto; flex-direction:row; flex-wrap:wrap; align-items:center;}
  .nav{flex-direction:row; flex-wrap:wrap; margin:0;}
  .side .me{margin:0 0 0 auto; border:none;}
  .main{padding:18px 16px;}
  .form-grid{grid-template-columns:1fr;}
}

/* Szűrő-chipek (Feladatok) */
.chip{background:var(--surface); border:1px solid var(--line); color:var(--ink-soft);
  padding:7px 13px; border-radius:20px; font-size:13.5px; font-weight:500; text-decoration:none; transition:.13s;}
.chip:hover{border-color:var(--brand);}
.chip.sel{background:var(--ink); color:#fff; border-color:var(--ink);}

/* Hozzáférés-chip (ügy oldalon) */
.acc-chip{display:inline-flex; align-items:center; gap:7px; background:var(--surface-2);
  border:1px solid var(--line); border-radius:20px; padding:4px 12px 4px 5px; font-size:13px; font-weight:500;}
a.panel:hover{border-color:var(--brand);}

/* Folyamat-jelzés a feladatlistában */
.folyamat-badge{display:inline-block; font-size:10.5px; font-weight:600; text-transform:uppercase;
  letter-spacing:.04em; color:var(--brand-ink); background:var(--brand-tint);
  padding:1px 7px; border-radius:20px; vertical-align:middle; margin-left:6px;}

/* Feladatnév mint kattintható link */
.task-link{color:var(--brand-ink); text-decoration:none; display:inline-flex; align-items:center; gap:5px;}
.task-link:hover{text-decoration:underline;}
.task-link .arrow{color:var(--brand); font-size:13px; opacity:.55; transition:.13s;}
.task-link:hover .arrow{opacity:1; transform:translateX(2px);}
tbody tr[onclick]:hover{background:var(--brand-tint);}

/* Naptár */
.cal-nav{display:flex; align-items:center; gap:12px; margin-bottom:14px;}
.cal-arrow{width:36px; height:36px; border:1px solid var(--line); background:var(--surface); border-radius:9px; font-size:18px; display:grid; place-items:center; text-decoration:none; color:var(--ink);}
.cal-arrow:hover{border-color:var(--brand); color:var(--brand-ink);}
.cal-title{font-weight:700; font-size:17px; min-width:160px;}
.cal-today{padding:0 14px; height:36px; display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:9px; text-decoration:none; color:var(--brand-ink); font-weight:600; font-size:14px;}
.cal-today:hover{border-color:var(--brand);}
.cal-daynames{display:grid; grid-template-columns:repeat(7,1fr); gap:6px; margin-bottom:6px;}
.cal-daynames div{text-align:center; font-size:11.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-faint); font-weight:600;}
.cal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:6px;}
.cal-cell{background:var(--surface); border:1px solid var(--line); border-radius:9px; min-height:96px; padding:6px; display:flex; flex-direction:column; gap:3px; overflow:hidden;}
.cal-cell.other{background:transparent; border:none;}
.cal-cell.today{border-color:var(--brand); box-shadow:0 0 0 1px var(--brand);}
.cal-num{font-size:12.5px; font-weight:600; color:var(--ink-soft); font-family:monospace;}
.cal-cell.today .cal-num{color:var(--brand-ink);}
.cal-ev{font-size:11px; line-height:1.25; padding:2px 6px; background:var(--surface-2); border-radius:4px; text-decoration:none; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:block;}
.cal-ev:hover{background:var(--brand-tint);}
.cal-more{font-size:10.5px; color:var(--ink-faint); padding-left:4px;}
@media (max-width:820px){ .cal-cell{min-height:60px; padding:4px;} .cal-ev{font-size:9.5px; padding:1px 3px;} .cal-title{min-width:0; font-size:15px;} }

/* Naptárbejegyzés (esemény) a naptárban */
.cal-ev.event{background:var(--brand-tint); color:var(--brand-ink); font-weight:600;}
.cal-ev.event:hover{background:#d5eaec;}

/* Kata chat */
.kata-wrap{max-width:720px;}
.kata-chat{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:20px; min-height:340px; max-height:56vh; overflow-y:auto;
  display:flex; flex-direction:column; gap:14px; margin-bottom:12px;}
.kata-msg{display:flex; gap:10px; align-items:flex-start; max-width:85%;}
.kata-msg.user{margin-left:auto; flex-direction:row-reverse;}
.kata-av{width:30px; height:30px; border-radius:50%; background:var(--brand); color:#fff;
  display:grid; place-items:center; font-weight:700; font-size:13px; flex:none;}
.kata-buborek{padding:10px 14px; border-radius:14px; font-size:14.5px; line-height:1.5;}
.kata-msg.bot .kata-buborek{background:var(--surface-2); border:1px solid var(--line-soft); border-top-left-radius:4px;}
.kata-msg.user .kata-buborek{background:var(--brand); color:#fff; border-top-right-radius:4px;}
.kata-buborek.gepel{color:var(--ink-faint); font-style:italic;}
.kata-input{display:flex; gap:10px; align-items:flex-end;}
.kata-input textarea{flex:1; padding:11px 14px; border:1px solid var(--line); border-radius:11px;
  font-size:14.5px; font-family:inherit; resize:none; line-height:1.4; max-height:140px;}
.kata-input .btn{padding:11px 20px;}

/* Kata lebegő widget */
.kata-fab{position:fixed; right:24px; bottom:24px; width:60px; height:60px; border-radius:50%;
  background:var(--brand); color:#fff; border:none; cursor:pointer; z-index:900;
  box-shadow:0 6px 20px rgba(15,94,107,.4); font-size:22px; font-weight:700;
  display:grid; place-items:center; overflow:hidden; transition:.18s;}
.kata-fab:hover{transform:scale(1.06); background:var(--brand-ink);}
.kata-fab.nyitva{transform:scale(.9); opacity:.6;}
.kata-fab img{width:100%; height:100%; object-fit:cover;}
.kata-panel{position:fixed; right:24px; bottom:96px; width:380px; max-width:calc(100vw - 32px);
  height:560px; max-height:calc(100vh - 130px); background:var(--surface); border:1px solid var(--line);
  border-radius:16px; box-shadow:0 12px 40px rgba(21,32,46,.24); z-index:900;
  display:flex; flex-direction:column; overflow:hidden;}
.kata-fej{display:flex; align-items:center; gap:11px; padding:14px 16px; background:var(--brand); color:#fff;}
.kata-fej-av{width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.2); display:grid;
  place-items:center; font-weight:700; overflow:hidden; flex:none;}
.kata-fej-av img{width:100%; height:100%; object-fit:cover;}
.kata-fej-nev{font-weight:700; line-height:1.15; flex:1;}
.kata-fej-nev small{font-weight:400; font-size:11.5px; opacity:.85;}
.kata-close{background:none; border:none; color:#fff; font-size:24px; cursor:pointer; opacity:.85; line-height:1;}
.kata-close:hover{opacity:1;}
.kata-panel .kata-chat{flex:1; background:var(--surface); border:none; border-radius:0; box-shadow:none;
  padding:16px; margin:0; min-height:0; max-height:none; overflow-y:auto; display:flex; flex-direction:column; gap:12px;}
.kata-panel .kata-input{padding:12px; border-top:1px solid var(--line-soft); gap:8px;}
.kata-panel .kata-input textarea{border-radius:20px; padding:9px 14px;}
.kata-panel .kata-input .btn{width:40px; height:40px; padding:0; border-radius:50%; flex:none; font-size:15px;}
@media (max-width:520px){ .kata-panel{right:8px; left:8px; width:auto; bottom:88px;} .kata-fab{right:16px; bottom:16px;} }

/* Kata javítások: bezárás + chat-avatar kép vágása */
.kata-panel[hidden]{display:none !important;}
.kata-av{overflow:hidden;}
.kata-av img{width:100%; height:100%; object-fit:cover; display:block;}

/* Oldalsáv-kereső + keresési találatok */
.side-search{margin:2px 8px 10px;}
.side-search input{width:100%; padding:8px 12px; border:1px solid var(--line); border-radius:9px;
  font-size:13.5px; background:var(--surface-2);}
.side-search input:focus{background:var(--surface); outline:none; border-color:var(--brand);}
.kr-sor{display:flex; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid var(--line-soft);
  text-decoration:none; color:var(--ink); font-size:14px;}
.kr-sor:last-child{border-bottom:none;}
.kr-sor:hover{color:var(--brand-ink);}
.kr-meta{display:block; color:var(--ink-faint); font-size:12px; margin-top:2px;}
.kr-sor > span:nth-child(2), .kr-sor > span:only-child{flex:1;}
mark{background:#FDECC8; color:inherit; padding:0 2px; border-radius:3px;}
@media (max-width:820px){ .side-search{order:5; width:100%;} }

/* Kata válaszaiban a linkek */
.kata-link{color:var(--brand-ink); font-weight:600; text-decoration:underline;}
.kata-msg.bot .kata-link:hover{color:var(--brand);}
