/* ETurbota Konsultant Panel */
.ekp-wrap { max-width:1100px; margin:30px auto; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:#222; padding:0 16px; }
.ekp-header { display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-bottom:1px solid #eee; margin-bottom:24px; }
.ekp-header h2 { margin:0; font-size:22px; }
.ekp-header small { color:#888; }
.ekp-back, .ekp-logout { text-decoration:none; color:#4a7; font-size:14px; padding:6px 10px; border:1px solid #ddd; border-radius:6px; }
.ekp-back:hover, .ekp-logout:hover { background:#f6f6f6; }

/* Login */
.ekp-login-box { max-width:360px; margin:80px auto; background:#fafafa; padding:30px; border-radius:10px; box-shadow:0 2px 12px rgba(0,0,0,.05); font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.ekp-login-box h2 { margin:0 0 20px; text-align:center; }
.ekp-login-box label { display:block; margin-bottom:14px; font-size:14px; color:#555; }
.ekp-login-box input { width:100%; padding:9px 11px; border:1px solid #ccc; border-radius:6px; font-size:15px; box-sizing:border-box; margin-top:4px; }
.ekp-login-box button { width:100%; padding:11px; background:#4a7; color:#fff; border:0; border-radius:6px; font-size:15px; cursor:pointer; }
.ekp-login-box button:hover { background:#3b6; }
.ekp-error { background:#ffe; border:1px solid #fc6; color:#a40; padding:10px 14px; border-radius:6px; margin:10px 0; }

/* Список клієнтів */
.ekp-empty { padding:40px; text-align:center; color:#999; background:#fafafa; border-radius:8px; }
.ekp-list { list-style:none; padding:0; margin:0; }
.ekp-list li { border-bottom:1px solid #f0f0f0; }
.ekp-list a { display:flex; justify-content:space-between; align-items:center; padding:14px 12px; text-decoration:none; color:#222; }
.ekp-list a:hover { background:#f9f9f9; }
.ekp-name { font-size:16px; font-weight:500; flex:1; }
.ekp-exec { font-size:12px; color:#666; margin:0 12px; }
.ekp-status { color:#fff; font-size:12px; padding:3px 9px; border-radius:10px; }

/* Картка клієнта */
.ekp-top-row { display:grid; grid-template-columns: 1fr 1fr; gap:16px; margin-bottom:24px; }
.ekp-top-row .ekp-meta { margin-bottom:0; height:100%; }
@media (max-width:800px) { .ekp-top-row { grid-template-columns: 1fr; } }
.ekp-meta { background:#fafafa; padding:14px 18px; border-radius:8px; margin-bottom:24px; font-size:14px; border:1px solid #eee; }
.ekp-meta > strong { color:#888; font-size:12px; text-transform:uppercase; letter-spacing:.5px; }
.ekp-desc { margin-top:8px; line-height:1.6; display:grid; grid-template-columns: 180px 1fr; gap:4px 12px; }
@media (max-width:600px) { .ekp-desc { grid-template-columns:1fr; } }
.ekp-field { display:contents; }
.ekp-field-label { color:#666; font-weight:500; }
.ekp-field-value { color:#222; word-break:break-word; }

.ekp-grid { display:grid; grid-template-columns: 2fr 1fr; gap:24px; }
@media (max-width:800px) { .ekp-grid { grid-template-columns: 1fr; } }

.ekp-chat { border:1px solid #e8e8e8; border-radius:10px; padding:14px; background:#fff; }
.ekp-chat h3, .ekp-side h3 { margin:0 0 12px; font-size:15px; color:#555; text-transform:uppercase; letter-spacing:.5px; }
.ekp-chat-log { max-height:480px; overflow-y:auto; border:1px solid #f0f0f0; border-radius:6px; padding:8px; background:#fafafa; margin-bottom:10px; }
.ekp-empty-small { color:#aaa; text-align:center; padding:20px; }
.ekp-msg { max-width:80%; padding:8px 11px; margin-bottom:10px; border-radius:13px; background:#eef0f2; clear:both; }
.ekp-msg.client { background:#eef0f2; margin-right:auto; border-bottom-left-radius:4px; }
.ekp-msg.me, .ekp-msg.staff { background:#e4f1e9; margin-left:auto; border-bottom-right-radius:4px; }
.ekp-msg-head { font-size:12px; color:#789; margin-bottom:4px; }
.ekp-msg.me .ekp-msg-head, .ekp-msg.staff .ekp-msg-head { text-align:right; }
.ekp-msg.me .ekp-msg-head b, .ekp-msg.staff .ekp-msg-head b { color:#3b6; }
.ekp-msg-head small { color:#aaa; margin-left:6px; }
.ekp-msg-body { font-size:14px; line-height:1.5; word-wrap:break-word; }

.ekp-chat-input textarea { width:100%; min-height:70px; padding:8px; border:1px solid #ccc; border-radius:6px; font-size:14px; box-sizing:border-box; }
.ekp-chat-input button { padding:8px 20px; background:#4a7; color:#fff; border:0; border-radius:6px; cursor:pointer; }
.ekp-chat-input button:hover { background:#3b6; }
.ekp-chat-input button:disabled { background:#aaa; cursor:wait; }
.ekp-chat-actions { display:flex; align-items:center; gap:10px; margin-top:8px; }
.ekp-photo-label { cursor:pointer; padding:6px 10px; background:#eee; border-radius:6px; font-size:16px; }
.ekp-photo-label:hover { background:#ddd; }
.ekp-photo-name { font-size:12px; color:#666; flex:1; word-break:break-all; }
.ekp-msg-img { max-width:300px; max-height:300px; border-radius:6px; margin-top:6px; display:block; }
@media (max-width:600px) { .ekp-msg-img { max-width:100%; } }

.ekp-side section { background:#fafafa; padding:14px; border-radius:8px; margin-bottom:16px; border:1px solid #eee; }
.ekp-side textarea, .ekp-side select { width:100%; padding:8px; border:1px solid #ccc; border-radius:6px; box-sizing:border-box; font-size:14px; font-family:inherit; }
.ekp-side button { margin-top:8px; padding:7px 14px; background:#fff; color:#444; border:1px solid #bbb; border-radius:6px; cursor:pointer; font-size:13px; }
.ekp-side button:hover { background:#f0f0f0; }
#ekp-notatki-status, #ekp-status-msg, #ekp-meet-msg, #ekp-assign-msg { margin-left:8px; font-size:13px; color:#4a7; }
.ekp-meet-box label { font-size:13px; color:#555; }
.ekp-meet-box input, .ekp-meet-box select { margin-top:3px; }
.ekp-meet-box button { background:#4a7; color:#fff; border:0; padding:8px 14px; }
.ekp-meet-box button:hover { background:#3b6; }
.ekp-meet-box button:disabled { background:#aaa; }
.ekp-meet-list ul { margin:8px 0 0; padding-left:18px; line-height:1.7; }
.ekp-meet-list .ekp-meet-when { font-weight:500; color:#222; }
.ekp-meet-start { display:block; background:#1e88e5; color:#fff !important; padding:12px 14px; border-radius:8px; text-align:center; text-decoration:none; font-weight:600; transition:background .15s; }
.ekp-meet-start:hover { background:#1565c0; color:#fff !important; }
.ekp-meet-start small { display:block; margin-top:4px; font-weight:400; opacity:.85; font-size:11px; word-break:break-all; }
details summary::-webkit-details-marker { display:none; }
details summary::before { content:'▸ '; }
details[open] summary::before { content:'▾ '; }

/* Активність клієнта (настрій + прогрес курсів + рекомендації) */
.ekp-client-status { background:#f7fbf8; border:1px solid #e3efe7; border-radius:8px; padding:14px; }
.ekp-client-status .ekp-muted { color:#888; }
.ekp-cs-label { display:block; font-size:12px; font-weight:600; color:#567; margin:0 0 4px; }
.ekp-cs-block { margin-top:14px; }
.ekp-mood-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.ekp-mood-emoji { font-size:26px; line-height:1; }
.ekp-course-progress { list-style:none; padding:0; margin:6px 0 0; }
.ekp-course-progress li { display:grid; grid-template-columns: 1fr 90px auto; align-items:center; gap:8px; padding:5px 0; border-bottom:1px solid #eef3ef; font-size:13px; }
.ekp-course-progress li:last-child { border-bottom:0; }
.ekp-cp-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ekp-cp-bar { height:7px; background:#e6ece8; border-radius:5px; overflow:hidden; }
.ekp-cp-bar > span { display:block; height:100%; background:#4a7; }
.ekp-cp-pct { color:#567; white-space:nowrap; }
.ekp-client-status select { width:100%; padding:7px 9px; border:1px solid #ccc; border-radius:6px; font-size:13px; margin-top:4px; }
.ekp-client-status button { margin-top:8px; padding:8px 14px; background:#4a7; color:#fff; border:0; border-radius:6px; font-size:13px; cursor:pointer; }
.ekp-client-status button:hover { background:#3b6; }
.ekp-recommend-msg, #ekp-recommend-msg { margin-left:8px; font-size:12px; color:#567; }
.ekp-recommend-current { margin-top:8px; }
