:root{font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;color:#172033;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}header{height:64px;background:#fff;border-bottom:1px solid #e6eaf1;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:2}header nav{display:flex;gap:18px;align-items:center}a{color:#3156d3;text-decoration:none}.tenant{margin-left:12px;color:#7b8498;font-size:13px}.linkbtn{border:0;background:none;color:#3156d3;cursor:pointer}.shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;max-width:1280px;margin:28px auto;padding:0 22px}.workspace,.panel,aside,.login-card{background:#fff;border:1px solid #e7eaf0;border-radius:16px;box-shadow:0 8px 30px rgba(20,32,60,.05)}.workspace{padding:30px}.hero h1{margin:0 0 8px}.hero p,.muted{color:#70798c}.mode{display:flex;gap:8px;margin:24px 0}.modebtn{padding:10px 14px;border:1px solid #dfe3ea;background:#fff;border-radius:9px;cursor:pointer}.modebtn.active{background:#eef2ff;border-color:#aab8f5;color:#2547b8}label{display:block;font-weight:600;margin:16px 0 8px}.optional{font-weight:400;color:#9198a7}textarea,input,select{width:100%;border:1px solid #d8dde7;border-radius:10px;padding:12px;font:inherit;background:#fff}textarea{resize:vertical}.row{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-top:10px}.row>div{min-width:220px}.primary{background:#3156d3;color:#fff;border:0;border-radius:10px;padding:12px 18px;font-weight:700;cursor:pointer}.primary:disabled{opacity:.6}.action{min-width:190px}.result{margin-top:24px;border:1px solid #cfd8ff;background:#f8faff;border-radius:12px;padding:18px;white-space:pre-wrap;line-height:1.55}.result-head{display:flex;justify-content:space-between;margin-bottom:14px}.result-head button,button{border:1px solid #d8dde7;background:#fff;border-radius:8px;padding:8px 11px;cursor:pointer}.alert{background:#fff0f0;color:#a42a2a;border:1px solid #ffcaca;border-radius:9px;padding:11px;margin:12px 0}.hidden{display:none}aside{padding:20px;height:max-content}.usage progress{width:100%;margin-top:8px}.history{border-top:1px solid #edf0f5;padding:12px 0}.history small,.userrow small{display:block;color:#8a92a3}.history p{font-size:14px;margin:7px 0}.login-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#eef3ff,#f8fafc)}.login-card{width:min(420px,100%);padding:34px}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#3156d3;color:#fff;font-weight:800}.login-card h1{font-size:24px}.full{width:100%;margin-top:22px}.admin-shell{max-width:1180px;margin:28px auto;padding:0 22px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{padding:26px}.metric{display:flex;justify-content:space-between;margin-top:20px;padding-top:16px;border-top:1px solid #eee}.userrow{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #eef0f4}.gridform{display:grid;gap:10px}@media(max-width:850px){.shell,.admin-shell{grid-template-columns:1fr}aside{order:2}.row{flex-direction:column;align-items:stretch}header{padding:0 14px}.tenant{display:none}}


.nav-active{font-weight:700;color:#1f3fa8}
.section-tabs{display:flex;gap:8px;margin:0 0 24px;flex-wrap:wrap}
.section-tabs a{border:1px solid #dde3ef;background:#fff;padding:10px 14px;border-radius:10px;color:#4a5570}
.section-tabs a.active{background:#eef2ff;border-color:#aab8f5;color:#2547b8;font-weight:700}

.chat-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;max-width:1440px;margin:20px auto;padding:0 20px;height:calc(100vh - 104px)}
.chat-sidebar,.chat-main{background:#fff;border:1px solid #e7eaf0;border-radius:16px;box-shadow:0 8px 30px rgba(20,32,60,.05)}
.chat-sidebar{padding:16px;display:flex;flex-direction:column;min-height:0}
.full-width{width:100%}
.chat-list{margin-top:14px;overflow:auto;flex:1;min-height:0}
.chat-list-item{display:block;padding:12px;border-radius:10px;margin-bottom:6px;color:#26324a;border:1px solid transparent}
.chat-list-item:hover{background:#f6f8fc}
.chat-list-item.active{background:#eef2ff;border-color:#d7defc}
.chat-list-item strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-list-item small{display:block;color:#8a92a3;margin-top:5px}
.chat-empty{padding:10px}
.chat-usage{border-top:1px solid #edf0f5;padding-top:14px;margin-top:10px}
.chat-usage small,.chat-usage strong{display:block}
.chat-usage strong{margin:4px 0}
.chat-usage progress{width:100%}

.chat-main{display:flex;flex-direction:column;min-height:0;padding:20px}
.chat-head{padding:0 6px 14px;border-bottom:1px solid #edf0f5}
.chat-head h1{margin:0 0 6px;font-size:24px}
.chat-head p{margin:0;color:#70798c}
.messages{flex:1;overflow-y:auto;padding:22px 8px;min-height:260px;scroll-behavior:smooth}
.message-row{display:flex;margin:12px 0}
.message-row.user{justify-content:flex-end}
.message-row.assistant{justify-content:flex-start}
.message-bubble{max-width:min(780px,85%);padding:13px 15px;border-radius:14px;line-height:1.55}
.message-row.user .message-bubble{background:#3156d3;color:#fff;border-bottom-right-radius:5px}
.message-row.assistant .message-bubble{background:#f3f5f9;color:#172033;border-bottom-left-radius:5px}
.message-role{font-size:11px;font-weight:800;opacity:.7;margin-bottom:5px;text-transform:uppercase;letter-spacing:.04em}
.message-content{white-space:pre-wrap;word-wrap:break-word}
.chat-welcome{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#6d768a;padding:30px}
.chat-welcome h2{color:#172033;margin:14px 0 6px}
.chat-welcome p{margin:0}
.composer{border:1px solid #d8dde7;border-radius:14px;padding:8px;display:flex;align-items:end;gap:8px;background:#fff}
.composer textarea{border:0;outline:0;min-height:52px;max-height:180px;resize:none;padding:10px}
.send-chat{min-width:92px;margin:0 0 2px}
.composer-hint{text-align:right;color:#9aa1b0;font-size:11px;padding:5px 4px 0}

@media(max-width:900px){
  .chat-layout{grid-template-columns:1fr;height:auto}
  .chat-sidebar{max-height:260px}
  .chat-main{min-height:70vh}
}

/* v1.3 */
.ghost-danger{margin-top:8px;border:1px solid #ecd1d1;background:#fff;color:#b42318;padding:9px 12px;border-radius:9px;cursor:pointer}
.ghost-danger:disabled{opacity:.4;cursor:not-allowed}
.chat-list-row{position:relative;border-radius:10px;margin-bottom:6px}
.chat-list-row.active{background:#eef2ff}
.chat-list-row .chat-list-item{padding-right:42px;margin:0}
.chat-menu-btn{position:absolute;right:6px;top:10px;border:0;background:transparent;color:#70798c;font-size:20px;width:30px;height:30px;border-radius:8px;cursor:pointer}
.chat-menu-btn:hover{background:#e7ebf5}
.chat-menu{position:absolute;right:8px;top:40px;z-index:30;background:#fff;border:1px solid #dfe4ee;border-radius:10px;box-shadow:0 10px 28px rgba(20,32,60,.14);padding:6px;min-width:130px}
.chat-menu button{width:100%;border:0;background:#fff;text-align:left;padding:9px 10px;border-radius:7px;cursor:pointer}
.chat-menu button:hover{background:#f4f6fa}.danger-text{color:#b42318}
.modal{position:fixed;inset:0;background:rgba(15,23,42,.42);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal-card{width:min(460px,100%);background:#fff;border-radius:16px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.22)}
.modal-card input{width:100%;border:1px solid #d5dbe7;border-radius:10px;padding:12px;font:inherit}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.secondary{border:1px solid #d8dde7;background:#fff;padding:10px 14px;border-radius:9px;cursor:pointer}
.danger-button{border:0;background:#c83232;color:#fff;padding:10px 14px;border-radius:9px;cursor:pointer}
.markdown-body p{margin:0 0 10px}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:14px 0 7px}.markdown-body ul,.markdown-body ol{padding-left:24px}
.markdown-body code{font-family:ui-monospace,Consolas,monospace;background:#e8ebf2;padding:2px 5px;border-radius:5px}
.code-block{margin:12px 0;border:1px solid #d9dee8;border-radius:10px;overflow:hidden;background:#101522}
.code-head{display:flex;justify-content:space-between;padding:8px 10px;background:#1b2333;color:#cfd6e5;font-size:12px}
.copy-code{border:1px solid #465269;background:#222d42;color:#fff;border-radius:7px;padding:5px 9px;cursor:pointer}
.code-block pre{margin:0;padding:14px;overflow:auto}.code-block pre code{background:transparent;color:#eef2ff;padding:0}
.md-space{height:4px}


/* ===== v1.3.1 - correção dos modais ===== */
.modal.hidden {
    display: none !important;
}

.chat-menu.hidden {
    display: none !important;
}


/* ===== v1.4 - anexos no Chat Geral ===== */
.attach-button{
  width:44px;
  height:44px;
  min-width:44px;
  border:1px solid #d8dde7;
  background:#f8f9fc;
  color:#334155;
  border-radius:10px;
  cursor:pointer;
  font-size:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 5px 2px;
}
.attach-button:hover{background:#eef2ff;border-color:#bcc8f4}
.attach-button:disabled{opacity:.5;cursor:not-allowed}

.attachments-preview{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:8px 2px 10px;
}
.attachment-chip{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:8px;
  max-width:360px;
  background:#f1f5ff;
  border:1px solid #cfdbff;
  border-radius:10px;
  padding:8px 9px 8px 11px;
}
.attachment-name{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#24375d;
  font-size:13px;
}
.attachment-chip small{color:#7b8498;font-size:11px}
.attachment-remove{
  border:0;
  background:transparent;
  color:#667085;
  cursor:pointer;
  font-size:20px;
  line-height:20px;
  width:24px;
  height:24px;
  border-radius:6px;
}
.attachment-remove:hover{background:#dfe6fb;color:#b42318}

/* v1.5 */
.active-files-note{margin-top:8px;display:inline-block;background:#f0f5ff;border:1px solid #d6e1ff;color:#36518c;border-radius:8px;padding:6px 9px;font-size:12px}
.saved-attachments{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.saved-attachment{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;background:rgba(255,255,255,.72);border:1px solid rgba(130,145,180,.28);border-radius:9px;padding:8px 10px;max-width:430px}
.message-row.user .saved-attachment{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.28)}
.file-icon{font-size:18px}.saved-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:12px}.saved-attachment small{font-size:10px;opacity:.75}


/* ===== v1.6 - análise inteligente + exportação ===== */
.chat-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.chat-head-actions{
  display:flex;
  align-items:center;
  gap:8px;
  padding-top:4px;
}
.compact{
  padding:8px 11px;
  font-size:12px;
}
.compact:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.smart-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  padding:8px 0 10px;
}
.smart-actions button{
  border:1px solid #d7deeb;
  background:#fff;
  color:#31415f;
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  cursor:pointer;
}
.smart-actions button:hover{
  background:#eef3ff;
  border-color:#bdcafa;
  color:#2245a3;
}
.export-options{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:14px;
}
.export-option{
  text-align:left;
  border:1px solid #d8dde7;
  background:#fff;
  padding:12px 14px;
  border-radius:10px;
  cursor:pointer;
  font-size:14px;
}
.export-option:hover{
  background:#f4f7ff;
  border-color:#bcc8f4;
}
@media (max-width:760px){
  .chat-head{flex-direction:column}
  .chat-head-actions{width:100%}
  .smart-actions{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}
  .smart-actions button{white-space:nowrap}
}
