/* GEMS AI CHATBOT */
.gems-ai-launcher{position:fixed;right:24px;bottom:24px;z-index:1000;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:12px 18px;display:flex;align-items:center;gap:9px;background:rgba(8,34,72,.92);color:#fff;box-shadow:0 14px 40px rgba(0,0,0,.25);backdrop-filter:blur(18px);cursor:pointer;font:inherit;font-weight:700;transition:transform .2s,box-shadow .2s}.gems-ai-launcher:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(0,0,0,.3)}.gems-ai-launcher-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#fff,#d9e9ff);color:#0b3c78}.gems-ai-chat{position:fixed;right:24px;bottom:86px;z-index:1001;width:min(410px,calc(100vw - 32px));height:min(650px,calc(100vh - 115px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.3);border-radius:24px;background:rgba(248,251,255,.96);box-shadow:0 25px 80px rgba(8,34,72,.28);backdrop-filter:blur(24px)}.gems-ai-chat[hidden]{display:none}.gems-ai-chat-header{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 16px;background:linear-gradient(135deg,#08356f,#0c5ca8);color:#fff}.gems-ai-chat-brand{display:flex;align-items:center;gap:11px}.gems-ai-avatar{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);font-size:20px}.gems-ai-chat-brand strong,.gems-ai-chat-brand span{display:block}.gems-ai-chat-brand strong{font-size:16px}.gems-ai-chat-brand span{font-size:12px;opacity:.78;margin-top:2px}.gems-ai-close{border:0;background:rgba(255,255,255,.12);color:#fff;width:34px;height:34px;border-radius:10px;font-size:23px;cursor:pointer}.gems-ai-chat-notice{display:flex;gap:9px;padding:11px 15px;background:#eef6ff;border-bottom:1px solid #dbe9f7;color:#41607d;font-size:11px;line-height:1.45}.gems-ai-chat-notice p{margin:0}.gems-ai-chat-notice span{font-size:15px}.gems-ai-messages{flex:1;overflow-y:auto;padding:18px 14px;display:flex;flex-direction:column;gap:14px}.gems-ai-message{display:flex;gap:8px;align-items:flex-end;max-width:88%}.gems-ai-message.user{align-self:flex-end;flex-direction:row-reverse}.gems-ai-message-avatar{width:27px;height:27px;flex:0 0 27px;border-radius:9px;display:grid;place-items:center;background:#e5f0fc;color:#1761a6;font-size:12px}.gems-ai-bubble{padding:11px 13px;border-radius:16px 16px 16px 5px;background:#fff;border:1px solid #e1e9f2;color:#172b3f;font-size:13px;line-height:1.55;white-space:pre-wrap;word-break:break-word;box-shadow:0 4px 14px rgba(20,50,80,.05)}.gems-ai-message.user .gems-ai-bubble{border-radius:16px 16px 5px 16px;background:#0d5fa8;color:#fff;border-color:#0d5fa8}.gems-ai-input-area{position:relative;padding:12px;border-top:1px solid #dfe8f1;background:rgba(255,255,255,.9)}.gems-ai-input-area textarea{width:100%;min-height:48px;max-height:120px;resize:none;border:1px solid #d4e0eb;border-radius:15px;padding:13px 48px 30px 13px;outline:none;font:inherit;font-size:13px;background:#fff;color:#172b3f;box-sizing:border-box}.gems-ai-input-area textarea:focus{border-color:#4c93cf;box-shadow:0 0 0 3px rgba(76,147,207,.12)}.gems-ai-input-area button{position:absolute;right:19px;top:20px;width:34px;height:34px;border:0;border-radius:10px;background:#0d5fa8;color:#fff;font-size:20px;cursor:pointer}.gems-ai-input-area button:disabled{opacity:.5;cursor:wait}.gems-ai-input-area small{display:block;margin:7px 4px 0;color:#7a8998;font-size:9px;line-height:1.35}@media(max-width:600px){.gems-ai-launcher{right:15px;bottom:15px}.gems-ai-chat{right:8px;bottom:70px;width:calc(100vw - 16px);height:calc(100vh - 90px);border-radius:20px}}


/* INZ SCANNER */
.ai-scan-status{margin-top:18px;padding:12px 14px;border-radius:14px;background:#eef6ff;border:1px solid #d9e9f8;color:#315979;font-size:13px;line-height:1.45}.ai-scan-status.success{background:#edf9f2;border-color:#ccebd8;color:#23633e}.ai-scan-status.error{background:#fff1f1;border-color:#f0cccc;color:#9a3030}.ai-scan-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.ai-scan-stats>div{padding:14px;border:1px solid rgba(26,91,145,.12);border-radius:16px;background:rgba(255,255,255,.7);text-align:center}.ai-scan-stats strong,.ai-scan-stats span{display:block}.ai-scan-stats strong{font-size:22px;color:#0b4d88}.ai-scan-stats span{margin-top:3px;font-size:10px;color:#6d7f91;text-transform:uppercase;letter-spacing:.08em}.ai-results{display:grid;gap:10px;margin-top:16px;max-height:520px;overflow:auto;padding-right:3px}.ai-result-card{padding:16px;border:1px solid #dce7f1;border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 7px 24px rgba(20,50,80,.05)}.ai-result-card.is-new{border-color:#cfe5d8}.ai-result-card.is-duplicate{opacity:.72}.ai-result-top{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:11px;color:#718397}.ai-result-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.08em;background:#e8f5ec;color:#277145}.is-duplicate .ai-result-badge{background:#edf0f3;color:#65717d}.ai-result-card h4{margin:10px 0 7px;color:#163b5c;font-size:15px;line-height:1.35}.ai-result-card p{margin:0;color:#52677a;font-size:12px;line-height:1.55}.ai-result-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:12px;font-size:10px}.ai-result-meta a{color:#0b5da7;font-weight:700;text-decoration:none}.ai-result-meta a:hover{text-decoration:underline}.ai-result-meta span{color:#7b8997}.ai-result-empty{padding:20px;border:1px dashed #ccdbe8;border-radius:16px;background:#f8fbfe;color:#587086}.ai-result-empty strong{display:block;color:#234966;margin-bottom:5px}.ai-result-empty p{margin:0;font-size:12px;line-height:1.5}@media(max-width:600px){.ai-scan-stats{grid-template-columns:1fr}.ai-result-top{align-items:flex-start;flex-direction:column}}



/* =========================================================
   SYS 14 — UPDATE MANAGER
   ========================================================= */

.admin-panel-subtitle {
  margin: 8px 0 0;
  opacity: 0.72;
}

.admin-editor-card,
.admin-update-manager {
  margin-top: 28px;
  padding: 28px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 24px;
  background: rgba(255,255,255,0.035);
  backdrop-filter: blur(18px);
}

.admin-editor-heading,
.admin-manager-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.admin-editor-heading h3,
.admin-manager-heading h3 {
  margin: 4px 0 8px;
}

.admin-editor-heading p,
.admin-manager-heading p {
  margin: 0;
  opacity: 0.7;
}

.admin-status-badge,
.admin-update-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.admin-status-badge.draft,
.admin-update-status.draft {
  background: rgba(255,255,255,0.08);
  color: inherit;
}

.admin-status-badge.published,
.admin-update-status.published {
  background: rgba(47, 180, 115, 0.14);
  color: #6ee7a7;
}

.field-hint {
  display: block;
  margin-top: 7px;
  opacity: 0.55;
  font-size: 12px;
}

.admin-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}

.admin-update-manager {
  overflow: hidden;
}

.admin-manager-stats {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.admin-stat {
  min-width: 92px;
  padding: 12px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,0.055);
  text-align: center;
}

.admin-stat strong {
  display: block;
  font-size: 22px;
}

.admin-stat span {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  opacity: 0.6;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.admin-filter-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.admin-filter-search {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 240px;
  flex: 1;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 14px;
  background: rgba(0,0,0,0.12);
}

.admin-filter-search input {
  width: 100%;
  min-height: 44px;
  border: 0;
  outline: 0;
  background: transparent;
  color: inherit;
}

.admin-filter-buttons {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}

.admin-filter-btn,
.admin-action-btn {
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 10px;
  background: rgba(255,255,255,0.045);
  color: inherit;
  cursor: pointer;
  transition: 0.2s ease;
}

.admin-filter-btn {
  padding: 9px 14px;
}

.admin-filter-btn:hover,
.admin-filter-btn.active,
.admin-action-btn:hover {
  background: rgba(255,255,255,0.1);
}

.admin-updates-list {
  display: grid;
  gap: 10px;
}

.admin-update-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  background: rgba(0,0,0,0.1);
}

.admin-update-item-main {
  min-width: 0;
  flex: 1;
}

.admin-update-item-top {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 7px;
}

.admin-update-category {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  opacity: 0.58;
}

.admin-update-item h4 {
  margin: 0 0 7px;
  font-size: 17px;
}

.admin-update-summary {
  margin: 0;
  opacity: 0.68;
  line-height: 1.5;
}

.admin-update-meta {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  margin-top: 10px;
  font-size: 11px;
  opacity: 0.48;
}

.admin-update-actions {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.admin-action-btn {
  padding: 8px 12px;
  font-size: 12px;
}

.admin-action-btn.delete {
  border-color: rgba(255, 90, 90, 0.25);
}

.admin-updates-empty {
  padding: 45px 20px;
  text-align: center;
  border: 1px dashed rgba(255,255,255,0.12);
  border-radius: 18px;
}

.admin-empty-icon {
  margin-bottom: 8px;
  font-size: 24px;
}

.admin-updates-empty h4 {
  margin: 0 0 6px;
}

.admin-updates-empty p {
  margin: 0;
  opacity: 0.6;
}


/* =========================================================
   SYS 14 — PUBLIC UPDATE READER
   ========================================================= */

.update-reader-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 24px;
}

.update-reader-modal[hidden] {
  display: none;
}

.update-reader-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 9, 18, 0.78);
  backdrop-filter: blur(9px);
}

.update-reader-dialog {
  position: relative;
  width: min(820px, 100%);
  max-height: min(820px, 90vh);
  overflow: auto;
  padding: 38px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 28px;
  background: rgba(18, 25, 39, 0.97);
  box-shadow: 0 30px 90px rgba(0,0,0,0.45);
}

.update-reader-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,0.07);
  color: inherit;
  font-size: 24px;
  cursor: pointer;
}

.update-reader-category {
  display: inline-flex;
  margin-bottom: 8px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,0.07);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.update-reader-date {
  margin: 0 0 14px;
  font-size: 12px;
  opacity: 0.5;
}

.update-reader-dialog h2 {
  margin: 0 0 15px;
  font-size: clamp(28px, 5vw, 44px);
  line-height: 1.08;
}

.update-reader-summary {
  margin: 0 0 25px;
  font-size: 17px;
  line-height: 1.65;
  opacity: 0.72;
}

.update-reader-body {
  line-height: 1.8;
  font-size: 16px;
}

.update-reader-body strong {
  font-weight: 750;
}

.update-reader-body em {
  opacity: 0.9;
}

.update-reader-open {
  overflow: hidden;
}

@media (max-width: 760px) {
  .admin-editor-card,
  .admin-update-manager {
    padding: 20px;
    border-radius: 20px;
  }

  .admin-editor-heading,
  .admin-manager-heading,
  .admin-filter-bar,
  .admin-update-item {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-manager-stats {
    width: 100%;
  }

  .admin-stat {
    flex: 1;
  }

  .admin-filter-search {
    min-width: 0;
  }

  .admin-update-actions {
    justify-content: flex-start;
  }

  .update-reader-dialog {
    padding: 28px 21px;
    border-radius: 22px;
  }
}


/* =========================================================
   FULL MARKDOWN RENDERING
   ========================================================= */

.gems-ai-bubble .gems-md-code,
.update-reader-body .gems-md-code {
  display: block;
  margin: 15px 0;
  padding: 15px 16px;
  overflow-x: auto;
  border: 1px solid rgba(80,120,160,.18);
  border-radius: 14px;
  background: #0b1522;
  color: #dcecff;
  font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size: 12px;
  line-height: 1.65;
  white-space: pre;
}
.gems-ai-bubble .gems-md-table-wrap,
.update-reader-body .gems-md-table-wrap { width:100%; overflow-x:auto; margin:16px 0; border:1px solid rgba(100,130,160,.16); border-radius:14px; }
.gems-ai-bubble .gems-md-table,
.update-reader-body .gems-md-table { width:100%; min-width:420px; border-collapse:collapse; font-size:13px; }
.gems-ai-bubble .gems-md-table th,
.gems-ai-bubble .gems-md-table td,
.update-reader-body .gems-md-table th,
.update-reader-body .gems-md-table td { padding:10px 12px; border-bottom:1px solid rgba(100,130,160,.13); vertical-align:top; }
.gems-ai-bubble .gems-md-table th,
.update-reader-body .gems-md-table th { background:rgba(80,130,180,.08); font-weight:750; }
.gems-ai-bubble .gems-md-table tr:last-child td,
.update-reader-body .gems-md-table tr:last-child td { border-bottom:0; }
.gems-ai-bubble .gems-md-blockquote,
.update-reader-body .gems-md-blockquote { margin:15px 0; padding:10px 15px; border-left:4px solid #4f9bd7; border-radius:0 12px 12px 0; background:rgba(70,130,190,.07); }
.gems-ai-bubble .gems-md-list,
.update-reader-body .gems-md-list { margin:10px 0 15px; }
.gems-ai-bubble .gems-md-list ul,
.gems-ai-bubble .gems-md-list ol,
.update-reader-body .gems-md-list ul,
.update-reader-body .gems-md-list ol { margin:7px 0; padding-left:24px; }
.gems-ai-bubble .gems-md-list li,
.update-reader-body .gems-md-list li { margin:5px 0; padding-left:2px; }
.gems-ai-bubble .gems-md-list .gems-md-task,
.update-reader-body .gems-md-list .gems-md-task { list-style:none; margin-left:-22px; }
.gems-md-checkbox { display:inline-grid; place-items:center; width:15px; height:15px; margin-right:7px; border:1px solid currentColor; border-radius:4px; font-size:10px; vertical-align:-2px; opacity:.75; }
.gems-md-task.checked .gems-md-checkbox { background:rgba(60,180,115,.18); }
.gems-ai-bubble hr,
.update-reader-body hr { margin:20px 0; border:0; border-top:1px solid rgba(100,130,160,.18); }
.gems-ai-bubble h1,.gems-ai-bubble h2,.gems-ai-bubble h3,.gems-ai-bubble h4,.gems-ai-bubble h5,.gems-ai-bubble h6,
.update-reader-body h1,.update-reader-body h2,.update-reader-body h3,.update-reader-body h4,.update-reader-body h5,.update-reader-body h6 { margin:18px 0 8px; line-height:1.25; }
.gems-ai-bubble h1,.update-reader-body h1 { font-size:1.55em; }
.gems-ai-bubble h2,.update-reader-body h2 { font-size:1.4em; }
.gems-ai-bubble h3,.update-reader-body h3 { font-size:1.25em; }
.gems-ai-bubble h4,.update-reader-body h4 { font-size:1.12em; }
.gems-ai-bubble h5,.update-reader-body h5 { font-size:1em; }
.gems-ai-bubble h6,.update-reader-body h6 { font-size:.92em; opacity:.75; }
.gems-ai-bubble p,.update-reader-body p { margin:0 0 12px; }
.gems-ai-bubble p:last-child,.update-reader-body p:last-child { margin-bottom:0; }
.gems-ai-bubble a,.update-reader-body a { color:#4d9fe0; font-weight:650; text-decoration:underline; text-decoration-color:rgba(77,159,224,.35); text-underline-offset:2px; }
.gems-ai-bubble code:not(.gems-md-code code),
.update-reader-body code:not(.gems-md-code code) { padding:2px 6px; border:1px solid rgba(100,130,160,.15); border-radius:6px; background:rgba(80,120,160,.09); font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size:.9em; }
.gems-ai-bubble del,.update-reader-body del { opacity:.65; }
.gems-ai-bubble strong,.update-reader-body strong { font-weight:800; }
.gems-ai-bubble em,.update-reader-body em { font-style:italic; }
