:root{--bg: #eef1f3;--surface: #ffffff;--surface-2: #f6f7f8;--line: #d9dee3;--text: #1f2a33;--muted: #65727d;--primary: #1f7a5c;--primary-hover: #185f48;--ia: #2b6cb0;--ia-soft: #e3edf9;--humano: #b7791f;--humano-soft: #fbf0d9;--cliente-soft: #ffffff;--danger: #b42318;--radius: 8px;--topbar-h: 52px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;color:var(--text);background:var(--bg)}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}:focus-visible{outline:2px solid var(--ia);outline-offset:1px}.app{display:flex;flex-direction:column;height:100%}.topbar{height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--line)}.topbar__brand{display:flex;flex-direction:column;line-height:1.2}.topbar__brand span{font-size:12px;color:var(--muted)}.topbar__nav{display:flex;gap:4px}.tab{background:none;border:none;padding:8px 12px;border-radius:var(--radius);color:var(--muted)}.tab--active{background:var(--surface-2);color:var(--text);font-weight:600}.main{flex:1;min-height:0}.layout{display:grid;grid-template-columns:320px 1fr;height:100%}.sidebar{display:flex;flex-direction:column;min-height:0;background:var(--surface);border-right:1px solid var(--line)}.sidebar__head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line)}.sidebar__title{margin:0;font-size:15px}.sidebar__search{padding:8px 12px;border-bottom:1px solid var(--line)}.sidebar__search input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2)}.sidebar__warn,.chat__warn{padding:6px 12px;font-size:12px;color:#7a4e00;background:#fff6e0;border-bottom:1px solid #f3dfa5}.chat__warn{border-radius:var(--radius);border:1px solid #f3dfa5;margin-bottom:8px}.sidebar__list{flex:1;overflow-y:auto;min-height:0}.conv-list{list-style:none;margin:0;padding:0}.conv{width:100%;text-align:left;background:none;border:none;padding:10px 12px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.conv:hover{background:var(--surface-2)}.conv--active{background:#e6f2ed}.conv__row{display:flex;align-items:center;justify-content:space-between;gap:8px}.conv__name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv__time{font-size:12px;color:var(--muted);flex-shrink:0}.conv__preview{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat{display:flex;flex-direction:column;min-height:0;background:var(--bg)}.chat__head{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--line)}.chat__back{display:none}.chat__who{flex:1;min-width:0}.chat__name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat__phone{font-size:12px;color:var(--muted)}.chat__actions{display:flex;gap:8px;flex-shrink:0}.chat__body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:6px}.chat__day{width:max-content;margin:8px auto;font-size:12px;color:var(--muted);background:var(--surface);padding:2px 10px;border-radius:999px;border:1px solid var(--line)}.msg{display:flex}.msg--left{justify-content:flex-start}.msg--right{justify-content:flex-end}.msg__bubble{max-width:min(72%,640px);padding:8px 10px 6px;border-radius:10px;background:var(--cliente-soft);border:1px solid var(--line);box-shadow:0 1px #00000008}.msg--ia .msg__bubble{background:var(--ia-soft);border-color:#c5d8f0;border-right:3px solid var(--ia)}.msg--humano .msg__bubble{background:var(--humano-soft);border-color:#ecd9ad;border-right:3px solid var(--humano)}.msg__author{font-size:11px;font-weight:700;margin-bottom:2px;color:var(--muted)}.msg--ia .msg__author{color:var(--ia)}.msg--humano .msg__author{color:var(--humano)}.msg__text{white-space:pre-wrap;word-break:break-word;line-height:1.4}.msg__time{font-size:11px;color:var(--muted);text-align:right;margin-top:4px}.msg__media{display:block;margin-top:6px;max-width:100%}.msg__media img{max-width:260px;max-height:260px;border-radius:6px;display:block}.msg__link{display:inline-block;margin-top:6px;color:var(--ia)}.composer{display:flex;gap:8px;align-items:flex-end;padding:10px 16px;background:var(--surface);border-top:1px solid var(--line)}.composer textarea{flex:1;resize:none;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);min-height:44px;max-height:160px}.badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.02em;padding:2px 6px;border-radius:4px;flex-shrink:0}.badge--md{font-size:11px;padding:3px 8px}.badge--ia{background:var(--ia-soft);color:var(--ia)}.badge--humano{background:var(--humano-soft);color:var(--humano)}.btn{padding:8px 14px;border-radius:var(--radius);border:1px solid transparent;background:var(--surface-2);color:var(--text)}.btn--sm{padding:5px 10px;font-size:13px}.btn--primary{background:var(--primary);color:#fff}.btn--primary:not(:disabled):hover{background:var(--primary-hover)}.btn--outline{background:var(--surface);border-color:var(--line)}.btn--outline:not(:disabled):hover{background:var(--surface-2)}.btn--ghost{background:transparent;color:var(--muted)}.btn--ghost:not(:disabled):hover{background:var(--surface-2);color:var(--text)}.loading,.empty{padding:24px 16px;color:var(--muted);text-align:center}.empty--center{height:100%;display:flex;align-items:center;justify-content:center}.empty--error{color:var(--danger)}.empty--error small{color:var(--muted)}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius);background:var(--text);color:#fff;font-size:13px;box-shadow:0 4px 16px #0003;z-index:50;max-width:calc(100% - 32px)}.toast--error{background:var(--danger)}.toast--success{background:var(--primary)}.toast--warn{background:#8a5a00}.toast__close{background:none;border:none;color:inherit;font-size:18px;line-height:1;padding:0}.page{max-width:880px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;height:100%}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:12px}.card__head{display:flex;align-items:center;gap:10px}.card__head h3{margin:0;font-size:16px;flex:1}.notice{padding:10px 14px;border-radius:var(--radius);font-size:13px}.notice--pending{background:#fff6e0;border:1px solid #f3dfa5;color:#5c3d00}.notice code{background:#0000000f;padding:1px 4px;border-radius:3px}.tag{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.tag--pending{background:#fff6e0;color:#7a4e00;border-color:#f3dfa5}.muted{color:var(--muted);margin:0;font-size:13px}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:13px;font-weight:600}.field input:not([type=checkbox]),.field textarea,.card>textarea{padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);width:100%}.field textarea,.card>textarea{resize:vertical;font-family:inherit}.field--checks{justify-content:flex-end;gap:8px}.field--checks label{font-weight:400;display:flex;align-items:center;gap:6px}.field--switch{padding:10px 12px;background:var(--surface-2);border-radius:var(--radius)}.switch{display:flex;align-items:center;gap:8px;font-weight:600}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row{display:flex;gap:8px;align-items:center}.row--end{justify-content:flex-end}.proposal{border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:var(--surface-2)}.proposal h4{margin:0 0 8px;font-size:14px}.proposal__diff{white-space:pre-wrap;margin:0 0 10px;font-size:13px;background:var(--surface);padding:10px;border-radius:6px;border:1px solid var(--line)}.versions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.versions__item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:var(--radius)}@media (max-width: 760px){.layout{grid-template-columns:1fr}.layout--chat-open .sidebar{display:none}.layout:not(.layout--chat-open) .chat{display:none}.chat__back{display:inline-block}.chat__head{flex-wrap:wrap;gap:8px;padding:8px 10px}.chat__actions{width:100%;justify-content:flex-end}.msg__bubble{max-width:88%}.grid-2{grid-template-columns:1fr}.topbar{padding:0 10px}.topbar__brand span{display:none}}
