:root{--blue:#0af;--blue-dark:#008aed;--ink:#111317;--muted:#777e87;--line:#e5e7eb;--soft:#f6f7f8;--panel:#fff;--danger:#dc3131;--shadow:0 16px 45px rgba(26,33,44,.12)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#f2f4f6}button,input,textarea{font:inherit}button,a{transition:.15s ease}.eyebrow{margin:0 0 8px;font-size:11px;line-height:1;font-weight:800;letter-spacing:.14em;color:#9197a0}.muted{color:var(--muted);line-height:1.5}.flash-stack{position:fixed;z-index:50;top:18px;left:50%;transform:translateX(-50%);width:min(92%,540px)}.flash{padding:13px 16px;border-radius:10px;background:#16191d;color:white;box-shadow:var(--shadow);margin-bottom:8px}.flash.error{background:#b92020}.flash.success{background:#19884d}.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:10px;padding:12px 18px;text-decoration:none;font-weight:700;cursor:pointer;background:#eef0f2;color:var(--ink)}.button:hover{transform:translateY(-1px)}.primary{background:var(--blue);color:#001624}.dark-button{background:#17191d;color:white}.compact{padding:8px 12px;font-size:13px;white-space:nowrap}.outline{border:1px solid var(--line);background:white}.danger{background:#fff0f0;color:#b32121}.text-button,.candidate-menu button{border:0;background:none;color:#606771;cursor:pointer}.auth-page{background:radial-gradient(circle at 18% 20%,#dff4ff 0,transparent 35%),radial-gradient(circle at 86% 80%,#e7e6ff 0,transparent 32%),#f5f7f9}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,430px);background:white;border:1px solid rgba(0,0,0,.06);border-radius:20px;padding:36px;box-shadow:var(--shadow)}.auth-card h1{font-size:30px;margin:12px 0 8px}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:var(--blue);font-weight:900;font-size:23px;color:#00253b;margin-bottom:24px}.brand-mark.dark{background:#181b20;color:white}.brand-mark.small{display:inline-grid;width:32px;height:32px;border-radius:9px;font-size:15px;margin:0 10px 0 0}.auth-form{display:grid;gap:16px;margin:26px 0 20px}.auth-form label,.inline-form label{display:grid;gap:7px;font-size:13px;font-weight:700}.auth-form input,.inline-form input{width:100%;border:1px solid #d7dbe0;border-radius:10px;padding:13px 14px;outline:none;background:white}.auth-form input:focus,.inline-form input:focus,.composer textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,170,255,.13)}.subtle-link{display:block;text-align:center;color:#757b84;font-size:13px;text-decoration:none}.messenger{height:100vh;display:grid;grid-template-columns:360px minmax(0,1fr);background:white}.inbox{border-right:1px solid var(--line);overflow-y:auto}.inbox-header{height:96px;padding:23px 22px 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.inbox-header h1{font-size:24px;margin:0}.candidate-menu{display:flex;align-items:center;font-size:12px;color:var(--muted)}.candidate-menu form{display:inline}.candidate-menu button{font-size:18px}.chat-list{display:block;padding:8px}.chat-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 12px;border-radius:13px;text-decoration:none;color:inherit}.chat-row:hover{background:#f5f7f9}.chat-row.active{background:#eaf7ff}.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:800;color:white;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.avatar.violet{background:linear-gradient(140deg,#9b6df2,#6442c8)}.avatar.coral{background:linear-gradient(140deg,#fa887b,#de4f4f)}.avatar.blue{background:linear-gradient(140deg,#37b8ed,#1372d0)}.avatar.green{background:linear-gradient(140deg,#58c986,#248a53)}.avatar.gold{background:linear-gradient(140deg,#f5be4c,#db791d)}.chat-summary{min-width:0;display:grid;gap:5px}.chat-summary strong{font-size:15px}.chat-summary small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.chat-row time{align-self:start;margin-top:3px;font-size:11px;color:#9ca1a8}.conversation{min-width:0;display:grid;grid-template-rows:72px minmax(0,1fr) auto;background:#eef1f3}.conversation-header{display:flex;align-items:center;gap:12px;padding:11px 24px;background:white;border-bottom:1px solid var(--line)}.conversation-header div{display:grid;gap:4px}.conversation-header small{color:var(--muted)}.mobile-back{display:none}.messages{overflow-y:auto;padding:28px clamp(18px,6vw,90px);display:flex;flex-direction:column;align-items:flex-start;gap:8px;background-color:#e9edf0;background-image:radial-gradient(#dce2e6 1px,transparent 1px);background-size:19px 19px}.day-divider{width:100%;display:flex;justify-content:center;margin-bottom:8px}.day-divider span{padding:6px 10px;border-radius:14px;background:rgba(255,255,255,.9);color:#777f88;font-size:12px}.message{position:relative;max-width:min(70%,620px);padding:10px 12px 7px;border-radius:13px;background:white;box-shadow:0 1px 2px rgba(0,0,0,.09)}.message.incoming{border-bottom-left-radius:4px}.message.outgoing{align-self:flex-end;background:#d9f2ff;border-bottom-right-radius:4px}.message p{margin:0 44px 1px 0;line-height:1.43;white-space:pre-wrap;overflow-wrap:anywhere}.message time{display:block;text-align:right;font-size:10px;color:#7c858e;margin-top:2px}.message img{display:block;width:min(340px,100%);border-radius:9px;margin-bottom:7px}.translation{margin:9px 0 2px;padding:9px 10px;border-left:3px solid var(--blue);background:#f5f8fa;border-radius:3px;color:#4d555e;font-size:13px;line-height:1.4}.translation span{display:block;color:var(--blue-dark);font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.08em;margin-bottom:3px}.system-message{align-self:center;margin:10px 0;padding:8px 13px;border-radius:16px;background:#fff4e4;color:#8a5800;font-size:12px;font-weight:700}.system-message span{margin-right:5px}.composer{display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:end;gap:10px;padding:13px clamp(18px,6vw,90px);background:white;border-top:1px solid var(--line)}.composer textarea{resize:none;min-height:46px;max-height:130px;border:1px solid #d7dbe0;border-radius:14px;padding:13px 15px;outline:none;line-height:1.35}.send-button{width:46px;height:46px;border:0;border-radius:50%;background:var(--blue);color:#00304d;font-size:19px;cursor:pointer}.send-button:hover{background:#18b2ff;transform:scale(1.03)}.admin-page{background:#f3f5f7}.admin-topbar{height:64px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line)}.admin-topbar>div{display:flex;align-items:center}.back-link{font-weight:700;text-decoration:none;color:var(--ink)}.admin-main{max-width:1180px;margin:0 auto;padding:42px 24px 70px}.admin-main.narrow{max-width:920px}.admin-heading{display:flex;justify-content:space-between;margin-bottom:28px}.admin-heading h1,.review-header h1{font-size:34px;margin:0 0 6px}.admin-heading p{margin-top:6px}.admin-grid{display:grid;grid-template-columns:380px minmax(0,1fr);gap:20px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 20px rgba(30,40,50,.04);overflow:hidden}.panel-title{padding:22px 24px;border-bottom:1px solid var(--line)}.panel-title h2{font-size:18px;margin:0 0 5px}.panel-title p{font-size:13px;color:var(--muted);margin:0}.inline-form{display:grid;gap:15px;padding:22px 24px}.session-panel{margin-top:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;padding:11px 15px;color:#858c95;font-size:11px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line)}td{padding:14px 15px;border-bottom:1px solid #edf0f2}td small{display:block;color:#9298a0;margin-top:4px}.status{display:inline-flex;padding:5px 8px;background:#eef0f2;border-radius:12px;font-size:11px;font-weight:700;color:#6e747d}.status.live{background:#def8e9;color:#157645}.empty{text-align:center;color:var(--muted);padding:28px}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.review-list{display:grid;gap:18px}.review-chat{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.review-chat>header{display:flex;gap:12px;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.review-chat h2{font-size:16px;margin:0 0 3px}.review-chat header p{font-size:12px;color:var(--muted);margin:0}.review-messages{display:grid;gap:10px;padding:18px 20px;background:#fafbfc}.review-message{max-width:80%;padding:11px 13px;background:white;border:1px solid var(--line);border-radius:11px}.review-message.candidate{justify-self:end;background:#e1f5ff;border-color:#c9eafb}.review-message.system{justify-self:center;background:#fff5e7;border-color:#f1dfc6}.review-message p{margin:5px 0 0;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.review-message small{display:block;color:var(--muted);margin-top:7px}.review-message img{width:min(260px,100%);border-radius:8px;margin-top:6px}.review-meta{font-size:10px;font-weight:800;color:#858d96;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:850px){.messenger{grid-template-columns:120px minmax(0,1fr)}.inbox-header{padding:17px 10px;justify-content:center}.inbox-header>div:first-child,.candidate-menu span{display:none}.chat-row{grid-template-columns:44px;padding:10px 8px}.chat-summary,.chat-row time{display:none}.admin-grid{grid-template-columns:1fr}}
@media(max-width:570px){.messenger{display:grid;grid-template-columns:66px minmax(0,1fr);height:100vh}.inbox{display:block}.inbox-header{height:72px;padding:12px 6px}.candidate-menu button{font-size:17px}.chat-list{padding:6px}.chat-row{grid-template-columns:44px;padding:8px 5px}.conversation{height:100vh}.conversation-header{height:72px;padding:10px 11px}.conversation-header .avatar{width:40px;height:40px}.conversation-header small{font-size:11px}.mobile-back{display:none}.messages{padding:18px 9px}.message{max-width:94%;font-size:14px}.message p{margin-right:30px}.composer{padding:8px;grid-template-columns:minmax(0,1fr) 42px;gap:7px}.composer textarea{min-height:42px;padding:11px 12px}.send-button{width:42px;height:42px}.auth-card{padding:27px 22px}.admin-main{padding:28px 12px}.admin-heading h1,.review-header h1{font-size:28px}.admin-topbar{padding:0 15px}.review-header{align-items:flex-start;gap:15px}.review-message{max-width:92%}}
