.tg-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:18px;align-items:start}.tg-main{display:grid;gap:14px}.tg-overview{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#073f42,#0c6866);color:#fff}.tg-overview h2{margin:5px 0 8px}.tg-overview p{margin:0;max-width:650px;color:#d5eeea}.tg-score{display:grid;place-items:center;min-width:132px;padding:16px;border:1px solid rgba(255,255,255,.25);border-radius:17px;background:rgba(255,255,255,.1)}.tg-score span,.tg-score small{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.tg-score b{font-size:40px;line-height:1;margin:5px}.tg-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tg-metrics article{display:grid;gap:5px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.tg-metrics span{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--muted)}.tg-metrics b{font-size:24px}.tg-metrics small{color:var(--muted)}.tg-rec-list{display:grid;gap:10px}.tg-rec{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-left:4px solid #8aa19b;border-radius:12px;background:#fff}.tg-rec.critical{border-left-color:#c33}.tg-rec.high{border-left-color:#d98b13}.tg-rec.medium{border-left-color:#2b7aa7}.tg-rec-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#eef4f2;font-weight:900}.tg-rec-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tg-rec-title span{padding:3px 7px;border-radius:999px;background:#eef3f1;color:#49635e;font-size:10px;font-weight:850;text-transform:uppercase}.tg-rec h4{margin:0}.tg-rec p{margin:5px 0;line-height:1.45}.tg-rec small{color:var(--muted)}.tg-rec>button{width:auto;white-space:nowrap}.tg-safety{display:flex;gap:10px;margin-top:14px;padding:12px;border-radius:10px;background:#f2f8f6;font-size:12px}.tg-safety span{color:var(--muted)}.tg-loading{min-height:180px;display:grid;place-items:center;color:var(--muted)}.tg-assistant{position:sticky;top:16px;padding:0;overflow:hidden}.tg-assistant-head{display:flex;gap:12px;padding:17px;border-bottom:1px solid var(--line);background:#f4faf8}.tg-assistant-head h3{margin:2px 0}.tg-assistant-head p{margin:0;color:var(--muted);font-size:12px}.tg-bot-mark{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:13px;background:var(--green);color:#fff;font-weight:900}.tg-chat{display:grid;align-content:start;gap:10px;min-height:270px;max-height:420px;padding:15px;overflow:auto;background:#fbfdfc}.tg-message{max-width:92%;padding:10px 12px;border-radius:13px;background:#eef4f2}.tg-message.user{justify-self:end;background:#0c6866;color:#fff}.tg-message>span{display:block;margin-bottom:4px;font-size:10px;font-weight:850;text-transform:uppercase;opacity:.72}.tg-message p{margin:0;line-height:1.5;white-space:pre-wrap}.tg-message .tg-action{margin-top:8px;width:auto}.tg-prompts{display:flex;gap:6px;padding:10px 14px;overflow:auto;border-top:1px solid var(--line)}.tg-prompts button{min-height:34px;width:auto;padding:7px 9px;white-space:nowrap;border-radius:999px;background:#edf5f2;color:var(--green);font-size:11px}.tg-assistant-form{display:grid;gap:7px;padding:14px;border-top:1px solid var(--line)}.tg-assistant-form label{font-size:12px;font-weight:850}.tg-assistant-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.tg-assistant-form input{min-width:0}.tg-assistant-form button{width:auto}.tg-assistant-form small{color:var(--muted)}
@media(max-width:1050px){.tg-layout{grid-template-columns:1fr}.tg-assistant{position:static}.tg-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.tg-overview{align-items:flex-start}.tg-score{min-width:92px}.tg-metrics{grid-template-columns:1fr 1fr}.tg-rec{grid-template-columns:30px minmax(0,1fr)}.tg-rec>button{grid-column:1/-1;width:100%}.tg-safety{display:grid}.tg-chat{max-height:360px}.tg-assistant-form>div{grid-template-columns:1fr}.tg-assistant-form button{width:100%;min-height:46px}}
@media(max-width:430px){.tg-overview{display:grid}.tg-score{width:100%;grid-template-columns:1fr auto 1fr;justify-items:start}.tg-score b{font-size:32px}.tg-metrics{grid-template-columns:1fr}}
