/* ============================================================
   苗生堂 AI 官网 · 资料库 / 登录 / 招商机器人 样式
   依赖 style.css 的 CSS 变量（--gold / --green-* / --ai* 等）
   ============================================================ */

/* ============ 资料库板块 ============ */
.lib-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:8px}
.lib-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;box-shadow:var(--shadow-1)}
.lib-toolbar .lib-hint{font-size:13px;color:var(--ink-soft)}
.lib-toolbar .lib-hint b{color:var(--green-700)}
.user-chip{display:none;align-items:center;gap:10px;font-size:13px;background:var(--green-100);
  border:1px solid var(--green-300);border-radius:999px;padding:7px 8px 7px 14px;color:var(--green-800)}
.user-chip .chip-btn{border:1px solid var(--green-300);background:#fff;color:var(--green-700);
  border-radius:999px;padding:3px 12px;font-size:12px;cursor:pointer;font-family:var(--font-sans)}
.user-chip .chip-btn:hover{background:var(--green-700);color:#fff;border-color:var(--green-700)}

/* 公开资料区 / 合作共享区 分区 */
.lib-public,.lib-partner{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 18px 20px;box-shadow:var(--shadow-1)}
.lib-partner{margin-top:18px}
.lib-subhead{font-family:var(--font-serif);font-size:16px;color:var(--green-900);font-weight:700;
  padding-bottom:10px;margin-bottom:14px;border-bottom:2px solid var(--gold);display:flex;align-items:center;gap:6px}
.lib-public .lib-subhead{color:var(--green-700)}

/* 未登录门禁 */
.lib-gate{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,#fff,var(--paper));
  border:1.5px dashed var(--gold);border-radius:var(--radius);padding:26px 24px;margin-bottom:16px}
.lib-gate .gate-ic{font-size:38px;flex:none}
.lib-gate h3{font-size:19px;margin-bottom:4px}
.lib-gate p{font-size:13.5px;color:var(--ink-soft);margin-bottom:12px}

/* 上传区 */
.lib-drop{border:2px dashed var(--green-300);border-radius:var(--radius);background:#fff;
  padding:30px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}
.lib-drop:hover,.lib-drop.over{border-color:var(--gold);background:var(--paper)}
.lib-drop .drop-ic{font-size:34px;margin-bottom:6px}
.lib-drop b{display:block;font-family:var(--font-serif);font-size:16px;color:var(--green-900);margin-bottom:4px}
.lib-drop span{font-size:12.5px;color:var(--ink-soft)}
.lib-drop .drop-types{margin-top:8px;font-size:11.5px;color:#9aa8a2}

/* 文件列表 */
.lib-list{display:flex;flex-direction:column;gap:10px}
.lib-loading{padding:26px;text-align:center;color:var(--ink-soft);font-size:13.5px;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius)}
.lib-item{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:12px 16px;box-shadow:var(--shadow-1);transition:transform .2s,box-shadow .2s}
.lib-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}
.lib-item .lib-ic{width:42px;height:42px;border-radius:10px;background:var(--green-100);display:grid;place-items:center;font-size:20px;flex:none}
.lib-item .lib-meta{flex:1;min-width:0}
.lib-item .lib-meta b{display:block;font-size:14.5px;color:var(--green-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lib-item .lib-meta span{font-size:12px;color:var(--ink-soft)}
.lib-item .lib-actions{display:flex;gap:8px;flex:none}
.lib-item .lib-actions .btn{padding:7px 14px;font-size:12.5px}
.lib-empty{padding:30px;text-align:center;color:var(--ink-soft);font-size:13.5px;background:#fff;
  border:1px dashed var(--line);border-radius:var(--radius)}
.lib-empty .big{font-size:34px;display:block;margin-bottom:6px}

/* ============ 登录弹窗 ============ */
.cloud-mask{position:fixed;inset:0;z-index:120;background:rgba(10,26,19,.55);backdrop-filter:blur(3px);
  display:none;align-items:center;justify-content:center;padding:18px}
.cloud-mask.open{display:flex}
.cloud-dialog{position:relative;width:min(430px,100%);max-height:calc(100vh - 36px);overflow-y:auto;
  background:#fff;border-radius:18px;padding:28px 26px 22px;box-shadow:0 30px 80px rgba(6,20,14,.4);
  font-family:var(--font-sans);animation:dialogIn .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes dialogIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.cloud-close{position:absolute;right:12px;top:12px;background:#f0f2f0;border:none;width:30px;height:30px;
  border-radius:50%;font-size:17px;cursor:pointer;color:var(--ink-soft);line-height:1}
.cloud-close:hover{background:#e2e8e5}
.cloud-login-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.cloud-login-logo{width:46px;height:46px;border-radius:12px;flex:none;display:grid;place-items:center;
  background:#fff;border:1px solid var(--line);overflow:hidden}
.cloud-login-logo img{width:34px;height:34px;object-fit:contain;display:block}
.cloud-login-head b{font-family:var(--font-serif);font-size:18px;color:var(--green-900);display:block;line-height:1.3}
.cloud-login-head p{font-size:12.5px;color:var(--ink-soft);margin-top:4px;line-height:1.55}
.cloud-tabs{display:flex;gap:8px;margin-bottom:16px}
.cloud-tab{flex:1;border:1.5px solid var(--line);background:#fafcfb;border-radius:10px;padding:9px;
  font-family:var(--font-sans);font-size:13.5px;font-weight:700;color:var(--ink-soft);cursor:pointer;transition:all .2s}
.cloud-tab.active{border-color:var(--green-700);background:var(--green-700);color:#fff}
.cloud-tabpane .field{margin-bottom:14px}
.cloud-tabpane label{display:block;font-size:13px;font-weight:700;color:var(--green-800);margin-bottom:6px}
.cloud-tabpane input,.cloud-tabpane select{width:100%;border:1.5px solid #e2e8e5;border-radius:10px;
  padding:11px 13px;font-family:var(--font-sans);font-size:14px;background:#fafcfb}
.cloud-tabpane input:focus{outline:none;border-color:var(--ai)}
.code-row{display:flex;gap:8px}
.code-row input{flex:1}
.code-row .code-btn{flex:none;white-space:nowrap;padding:10px 12px;font-size:12.5px}
.field-err{font-size:12px;color:var(--cinnabar);margin-top:5px;min-height:16px}
.cloud-or{display:flex;align-items:center;gap:10px;margin:16px 0;color:#9aa8a2;font-size:12px}
.cloud-or::before,.cloud-or::after{content:"";flex:1;height:1px;background:var(--line)}
.btn-wechat{width:100%;justify-content:center;background:#07C160;color:#fff;border:none}
.btn-wechat:hover{background:#06ad56}
.cloud-login-err{font-size:12.5px;color:var(--cinnabar);min-height:18px;margin-top:10px;text-align:center}
.cloud-login-foot{margin-top:6px;text-align:center;font-size:11.5px;color:#9aa8a2}

/* Toast */
.cloud-toast{position:fixed;left:50%;bottom:42px;transform:translateX(-50%) translateY(20px);z-index:200;
  background:var(--green-900);color:#fff;font-family:var(--font-sans);font-size:13.5px;
  padding:11px 20px;border-radius:999px;box-shadow:0 12px 34px rgba(8,30,22,.35);
  opacity:0;transition:opacity .3s,transform .3s;max-width:86vw;text-align:center}
.cloud-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.cloud-toast.ok{background:var(--ai-deep)}

/* ============ 招商拓客机器人 ============ */
.sales-fab{position:fixed;right:24px;bottom:98px;z-index:91;display:flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,var(--gold),#A8853F);color:#23180a;
  border:none;cursor:pointer;padding:14px 20px 14px 16px;border-radius:999px;font-family:var(--font-sans);
  font-size:15px;font-weight:700;box-shadow:0 12px 34px rgba(200,164,92,.45);transition:transform .25s,box-shadow .25s}
.sales-fab:hover{transform:translateY(-3px);box-shadow:0 16px 42px rgba(200,164,92,.5)}
.sales-fab .fab-ic{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.3);display:grid;place-items:center;font-size:19px}
.sales-fab .fab-pulse{position:absolute;inset:0;border-radius:999px;box-shadow:0 0 0 0 rgba(200,164,92,.5);animation:salespulse 2.4s infinite}
@keyframes salespulse{0%{box-shadow:0 0 0 0 rgba(200,164,92,.5)}70%{box-shadow:0 0 0 16px rgba(200,164,92,0)}100%{box-shadow:0 0 0 0 rgba(200,164,92,0)}}
.sales-fab .fab-label{line-height:1.1}
.sales-fab .fab-label small{display:block;font-size:10px;font-weight:600;opacity:.85;letter-spacing:.05em}

.sales-panel{position:fixed;right:24px;bottom:98px;z-index:96;width:380px;max-width:calc(100vw - 32px);
  height:600px;max-height:calc(100vh - 48px);background:#fff;border-radius:20px;
  box-shadow:0 24px 70px rgba(60,42,8,.3);overflow:hidden;display:flex;flex-direction:column;
  transform:translateY(20px) scale(.96);opacity:0;pointer-events:none;
  transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .25s;font-family:var(--font-sans)}
.sales-panel.open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}
.sales-head{background:linear-gradient(135deg,#3a2c12,#1c1408)}
.sales-avatar{background:linear-gradient(135deg,var(--gold),#A8853F)!important;color:#23180a}
.sales-send{background:linear-gradient(135deg,var(--gold),#A8853F);color:#23180a}
.sales-panel .bubble b{color:#8a6a2f}
.sales-panel .ai-quick button{border-color:var(--gold);color:#8a6a2f}
.sales-panel .ai-quick button:hover{background:var(--gold);color:#23180a}

/* 留资表单 */
.lead-form-bubble{min-width:280px}
.lead-form{display:flex;flex-direction:column;gap:9px;margin-top:10px}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:1.5px solid #e2e8e5;border-radius:10px;
  padding:9px 12px;font-family:var(--font-sans);font-size:13.5px;background:#fafcfb;resize:vertical}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:none;border-color:var(--gold)}
.lead-err{font-size:12px;color:var(--cinnabar);min-height:15px}
.lead-actions{display:flex;gap:8px;flex-wrap:wrap}
.lead-actions .btn{padding:8px 14px;font-size:12.5px}

@media (max-width:480px){
  .sales-fab .fab-label{display:none}
  .sales-fab{padding:14px;bottom:162px}
  .sales-panel{right:12px;left:12px;bottom:12px;width:auto}
  .lib-gate{flex-direction:column;text-align:center}
}
