* { margin:0; padding:0; box-sizing:border-box; }
:root{
  --primary:#0e7c6e; --primary-light:#2f9e8f; --cyan:#2f9e8f;
  --bg:#f1f5f9; --card:#fff; --text:#0f172a; --text2:#64748b;
  --border:#e2e8f0; --green:#059669; --red:#dc2626; --orange:#d97706;
}
body{ font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","YHSans",sans-serif; background:var(--bg); color:var(--text); line-height:1.6; }
.container{ max-width:1100px; margin:0 auto; padding:0 20px; }

/* 导航 */
.navbar{ position:sticky; top:0; z-index:100; background:rgba(255,255,255,.95); backdrop-filter:blur(10px); border-bottom:1px solid var(--border); }
.nav-inner{ max-width:1200px; margin:0 auto; padding:12px 20px; display:flex; align-items:center; gap:24px; }
.logo{ display:flex; align-items:center; gap:10px; }
.logo-icon{ width:38px; height:38px; background:linear-gradient(135deg,var(--primary),var(--cyan)); color:#fff; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:bold; }
.logo-text{ display:flex; flex-direction:column; line-height:1.2; }
.logo-text strong{ font-size:16px; } .logo-text small{ font-size:11px; color:var(--text2); }
.nav-links{ display:flex; gap:24px; margin-left:20px; flex:1; }
.nav-links a{ color:var(--text2); text-decoration:none; font-size:15px; }
.nav-links a:hover{ color:var(--primary); }

/* 按钮 */
.btn{ border:none; border-radius:8px; padding:10px 20px; font-size:15px; cursor:pointer; font-weight:500; transition:.2s; font-family:inherit; }
.btn-sm{ padding:7px 16px; font-size:14px; }
.btn-lg{ padding:14px 32px; font-size:16px; }
.btn-primary{ background:var(--primary); color:#fff; }
.btn-primary:hover{ background:#0a665a; }
.btn-outline{ background:#fff; color:var(--primary); border:1px solid var(--primary); }
.btn-outline:hover{ background:var(--brand-soft); }
.btn-generate{ width:100%; padding:16px; font-size:17px; font-weight:bold; background:linear-gradient(135deg,var(--green),#10b981); color:#fff; margin-top:16px; }
.btn-generate:hover{ opacity:.92; transform:translateY(-1px); }

/* Hero */
.hero{ background:linear-gradient(135deg,#f6f8f7 0%,#e7f3f0 50%,#e6f5f2 100%); color:var(--ink); padding:70px 0; }
.hero-inner{ max-width:1200px; margin:0 auto; padding:0 20px; display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:center; }
.hero-badge{ display:inline-block; background:var(--brand-soft); padding:6px 16px; border-radius:20px; font-size:13px; margin-bottom:20px; }
.hero h1{ font-size:48px; line-height:1.2; margin-bottom:16px; }
.grad{ background:linear-gradient(90deg,#0e7c6e,#2f9e8f); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.hero p{ color:var(--ink-2); font-size:16px; margin-bottom:28px; max-width:520px; }
.hero-actions{ margin-bottom:36px; }
.hero-stats{ display:flex; gap:40px; }
.hero-stats div{ display:flex; flex-direction:column; }
.hero-stats strong{ font-size:26px; } .hero-stats small{ color:var(--ink-3); font-size:13px; }
.hero-card{ background:var(--card); border:1px solid var(--line); border-radius:16px; padding:28px; }
.hc-line{ display:flex; align-items:center; gap:10px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.1); font-size:15px; position:relative; }
.hc-line:last-child{ border:none; }
.dot{ width:10px; height:10px; border-radius:50%; }
.dot.blue{ background:#0e7c6e; } .dot.cyan{ background:#2f9e8f; } .dot.purple{ background:#7c9a6e; } .dot.green{ background:#16a34a; }
.tag{ position:absolute; right:0; font-size:12px; padding:2px 10px; border-radius:10px; }
.tag.ok{ background:rgba(16,185,129,.2); color:#6ee7b7; }
.float-card{ animation:float 4s ease-in-out infinite; }
@keyframes float{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }

/* 功能 */
.features{ padding:60px 0; }
.section-title{ text-align:center; font-size:30px; margin-bottom:40px; }
.feature-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.feature-card{ background:var(--card); border-radius:14px; padding:28px 22px; text-align:center; box-shadow:0 2px 12px rgba(0,0,0,.04); transition:.2s; }
.feature-card:hover{ transform:translateY(-4px); box-shadow:0 12px 28px rgba(30,64,175,.12); }
.fc-icon{ font-size:38px; margin-bottom:14px; }
.feature-card h3{ font-size:17px; margin-bottom:8px; }
.feature-card p{ font-size:13px; color:var(--text2); }

/* 工作区 */
.generator{ padding:40px 0 70px; }
.workspace{ background:var(--card); border-radius:18px; box-shadow:0 4px 24px rgba(0,0,0,.06); overflow:hidden; }
.ws-header{ background:linear-gradient(135deg,var(--primary),var(--cyan)); color:#fff; padding:22px 28px; display:flex; justify-content:space-between; align-items:center; }
.ws-header h2{ font-size:21px; }
.ws-progress{ font-size:14px; background:rgba(255,255,255,.2); padding:5px 14px; border-radius:14px; }

.module{ border-bottom:1px solid var(--border); }
.module-title{ display:flex; align-items:center; gap:12px; padding:18px 28px; cursor:pointer; user-select:none; }
.module-title:hover{ background:#f8fafc; }
.mt-num{ width:28px; height:28px; background:var(--primary); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:bold; flex-shrink:0; }
.module-title h3{ font-size:17px; flex:1; }
.mt-check{ color:var(--green); font-weight:bold; }
.mt-arrow{ color:var(--text2); transition:.2s; }
.module.collapsed .mt-arrow{ transform:rotate(-90deg); }
.module-body{ padding:0 28px 24px; }
.module.collapsed .module-body{ display:none; }

/* Tab */
.tab-switch,.type-switch{ display:flex; gap:0; margin-bottom:18px; border:1px solid var(--border); border-radius:10px; overflow:hidden; width:fit-content; }
.tab,.type-btn{ border:none; background:#fff; padding:10px 26px; font-size:15px; cursor:pointer; font-family:inherit; color:var(--text2); }
.tab.active,.type-btn.active{ background:var(--primary); color:#fff; }

/* 上传 */
.upload-zone{ border:2px dashed #cbd5e1; border-radius:12px; padding:30px; text-align:center; margin-bottom:20px; cursor:pointer; transition:.2s; background:#f8fafc; }
.upload-zone:hover{ border-color:var(--primary); background:var(--brand-soft); }
.upload-zone.drag-over{ border-color:var(--brand,var(--primary)); background:var(--soft,#e7f3f0); border-style:solid; }
.uz-icon{ font-size:34px; color:var(--primary); margin-bottom:8px; }
.upload-zone p{ margin-bottom:4px; } .upload-zone small{ color:var(--text2); display:block; margin-bottom:12px; }

/* 表单 */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-item{ display:flex; flex-direction:column; gap:6px; }
.form-item.full{ grid-column:1/-1; }
.form-item label{ font-size:14px; font-weight:600; color:var(--text); }
.form-item label i{ color:var(--red); font-style:normal; }
.form-item input,.form-item select{ height:44px; border:1px solid var(--border); border-radius:9px; padding:0 14px; font-size:15px; font-family:inherit; transition:.2s; }
.form-item input:focus{ outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(14,124,110,.12); }

/* 商标 */
.mark-card{ border:1px solid var(--border); border-radius:12px; padding:18px; margin-bottom:14px; position:relative; }
.mark-head{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.mark-badge{ background:var(--primary); color:#fff; font-size:12px; padding:3px 10px; border-radius:10px; }
.mark-main{ background:#fef3c7; color:#92400e; font-size:12px; padding:3px 10px; border-radius:10px; }
.mark-del{ margin-left:auto; border:none; background:#fee2e2; color:var(--red); width:30px; height:30px; border-radius:8px; cursor:pointer; font-size:16px; }
.mark-body{ display:grid; grid-template-columns:300px 1fr; gap:18px; }
.mark-preview{ background:#fff; border:1px solid var(--border); border-radius:10px; height:200px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.mark-preview canvas{ max-width:100%; max-height:100%; }
.mark-preview .mp-tool{ position:absolute; top:8px; right:8px; display:flex; gap:6px; }
.mp-tool button{ border:none; width:30px; height:30px; border-radius:7px; cursor:pointer; background:rgba(255,255,255,.9); box-shadow:0 1px 4px rgba(0,0,0,.15); font-size:14px; }
.mark-fields{ display:flex; flex-direction:column; gap:12px; }
.mark-fields input,.mark-fields select{ height:42px; border:1px solid var(--border); border-radius:9px; padding:0 12px; font-size:15px; font-family:inherit; }
.add-mark-btn{ width:100%; padding:14px; border:2px dashed #cbd5e1; background:#f8fafc; border-radius:12px; color:var(--text2); font-size:15px; cursor:pointer; font-family:inherit; }
.add-mark-btn:hover{ border-color:var(--primary); color:var(--primary); }

/* 分类 */
.selected-classes{ min-height:60px; border:1px solid var(--border); border-radius:10px; padding:14px; margin-bottom:14px; }
.empty-hint{ color:var(--text2); font-size:14px; text-align:center; padding:10px; }
.sc-class{ margin-bottom:12px; }
.sc-class-title{ font-weight:600; color:var(--primary); font-size:14px; margin-bottom:6px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.sc-class-del{ border:1px solid #fecaca; background:#fef2f2; color:#dc2626; font-size:12px; padding:3px 10px; border-radius:6px; cursor:pointer; font-weight:500; flex-shrink:0; transition:.2s; }
.sc-class-del:hover{ background:#fee2e2; border-color:#fca5a5; }
.sc-tags{ display:flex; flex-wrap:wrap; gap:6px; }
.sc-tag{ background:var(--brand-soft); color:var(--primary); font-size:13px; padding:4px 10px; border-radius:6px; display:inline-flex; align-items:center; gap:6px; }
.sc-tag button{ border:none; background:none; color:var(--primary); cursor:pointer; font-size:14px; }
.class-actions{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.class-count{ color:var(--text2); font-size:14px; }

/* 费用 */
.biz-type-row{ display:flex; align-items:center; gap:14px; margin-bottom:16px; flex-wrap:wrap; }
.biz-type-row label{ font-size:14px; font-weight:600; white-space:nowrap; }
.biz-type-row select{ flex:1; min-width:260px; height:44px; border:1px solid var(--border); border-radius:9px; padding:0 12px; font-size:15px; background:#f8fafc; color:#0f172a; }
.fee-box{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:18px; }
.fee-item{ display:flex; flex-direction:column; gap:6px; }
.fee-item.full{ grid-column:1/-1; }
.fee-item label{ font-size:14px; font-weight:600; }
.fee-item input{ height:44px; border:1px solid var(--border); border-radius:9px; padding:0 14px; font-size:15px; background:#f8fafc; }
.fee-item.total input{ background:var(--brand-soft); border-color:var(--primary); color:var(--primary); font-weight:bold; font-size:17px; }
.doc-checks{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:8px; }
.doc-check{ display:flex; align-items:center; gap:8px; font-size:14px; padding:10px; border:1px solid var(--border); border-radius:9px; cursor:pointer; }
.doc-check input{ width:18px; height:18px; }
.gen-result{ margin-top:16px; }
/* 内容已修改的过期提示条 */
.gen-dirty-bar{
  display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
  background:#fffbeb; border:1px solid #fcd34d; color:#92400e;
  padding:11px 16px; border-radius:10px; margin-bottom:10px; font-size:14px; line-height:1.5;
  animation:dirtyPulse 1.6s ease-in-out infinite;
}
.gen-dirty-bar b{ color:#b45309; }
.gen-dirty-bar button{
  border:none; background:#d97706; color:#fff; padding:8px 16px; border-radius:8px;
  cursor:pointer; font-size:13px; font-weight:600; white-space:nowrap;
}
.gen-dirty-bar button:hover{ background:#b45309; }
@keyframes dirtyPulse{ 0%,100%{box-shadow:0 0 0 0 rgba(217,119,6,0.25);} 50%{box-shadow:0 0 0 5px rgba(217,119,6,0);} }
.gen-file{ display:flex; align-items:center; gap:10px; padding:12px 16px; background:#f0fdf4; border:1px solid #bbf7d0; border-radius:10px; margin-bottom:8px; }
.gen-file .gf-icon{ font-size:20px; }
.gen-file .gf-name{ flex:1; font-size:14px; }
.gen-file button{ border:none; background:var(--green); color:#fff; padding:7px 16px; border-radius:7px; cursor:pointer; font-size:14px; }

/* 弹窗通用 */
.modal-mask{ display:none; position:fixed; inset:0; background:rgba(15,23,42,.55); z-index:1000; align-items:center; justify-content:center; padding:20px; }
.modal-mask.show{ display:flex; }
.modal-close{ border:none; background:#f1f5f9; width:34px; height:34px; border-radius:8px; font-size:20px; cursor:pointer; color:var(--text2); }
.mini-btn{ border:1px solid var(--border); background:#fff; padding:5px 12px; border-radius:7px; font-size:13px; cursor:pointer; font-family:inherit; }
.mini-btn:hover{ background:#f8fafc; }
.mini-btn.danger{ color:var(--red); border-color:#fecaca; }

/* 分类选择器 */
.picker-dialog{ background:#fff; border-radius:16px; width:94vw; max-width:1400px; height:88vh; display:flex; flex-direction:column; overflow:hidden; }
.picker-header{ padding:18px 22px; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:16px; }
.picker-header h3{ font-size:18px; white-space:nowrap; }
.picker-search{ flex:1; display:flex; gap:10px; }
.picker-search input{ flex:1; height:40px; border:1px solid var(--border); border-radius:9px; padding:0 14px; font-size:15px; }
.picker-search select{ height:40px; border:1px solid var(--border); border-radius:9px; padding:0 10px; font-size:14px; }
.picker-body{ flex:1; display:grid; grid-template-columns:260px 280px 1fr; overflow:hidden; }
.picker-col{ overflow-y:auto; border-right:1px solid var(--border); }
.picker-col:last-child{ border-right:none; display:flex; flex-direction:column; }
.pc-class{ padding:11px 16px; cursor:pointer; font-size:15px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #f1f5f9; }
.pc-class:hover{ background:#f8fafc; }
.pc-class.active{ background:var(--primary); color:#fff; }
.pc-class .cnt{ font-size:12px; background:#ef4444; color:#fff; border-radius:10px; padding:1px 8px; }
.pc-class.active .cnt{ background:rgba(255,255,255,.25); }
.pc-group{ padding:10px 16px; cursor:pointer; font-size:14px; border-bottom:1px solid #f1f5f9; }
.pc-group:hover{ background:#f8fafc; }
.pc-group.active{ background:var(--brand-soft); color:var(--primary); font-weight:600; border-left:3px solid var(--primary); padding-left:13px; }
.items-toolbar{ padding:12px 16px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; background:#f8fafc; position:sticky; top:0; z-index:2; }
.items-toolbar span{ font-size:14px; font-weight:600; }
.items-btns{ display:flex; gap:6px; }
.items-list{ flex:1; overflow-y:auto; padding:8px 16px; }
.pi-item{ display:flex; align-items:center; gap:10px; padding:9px 6px; border-bottom:1px solid #f1f5f9; font-size:15px; cursor:pointer; border-radius:6px; }
.pi-item:hover{ background:#f8fafc; }
.pi-item.checked{ background:var(--brand-soft); }
.pi-item input{ width:18px; height:18px; flex-shrink:0; }
.pi-name{ flex:1; }
.pi-code{ font-size:12px; color:#94a3b8; }
.pi-type{ font-size:11px; background:#fef3c7; color:#d97706; padding:1px 7px; border-radius:5px; }
.pi-hl{ background:#fef08a; color:#1f2937; }
.picker-selected{ border-top:1px solid var(--border); max-height:170px; overflow-y:auto; padding:10px 22px; background:#f8fafc; }
.ps-header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.ps-list{ display:flex; flex-direction:column; gap:8px; }
.ps-group{ background:#fff; border:1px solid var(--border); border-radius:8px; padding:8px 12px; }
.ps-group-title{ font-size:13px; font-weight:600; color:var(--primary); margin-bottom:6px; }
.ps-tags{ display:flex; flex-wrap:wrap; gap:5px; }
.picker-footer{ padding:14px 22px; border-top:1px solid var(--border); display:flex; justify-content:flex-end; gap:12px; }

/* 机构配置 */
.agency-dialog,.scheme-dialog{ background:#fff; border-radius:16px; width:680px; max-width:94vw; max-height:90vh; display:flex; flex-direction:column; }
.agency-header{ padding:20px 24px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }
.agency-header h3{ font-size:19px; }
.agency-body{ padding:20px 24px; overflow-y:auto; }
.agency-card{ border:1px solid var(--border); border-radius:12px; padding:18px; margin-bottom:16px; }
.agency-card h4{ font-size:15px; margin-bottom:14px; color:var(--primary); }
.agency-footer{ padding:16px 24px; border-top:1px solid var(--border); display:flex; justify-content:flex-end; gap:12px; }
.agency-tip{ background:var(--brand-soft); border:1px solid var(--brand-soft); color:var(--primary); font-size:13px; line-height:1.7; border-radius:10px; padding:10px 14px; margin-bottom:16px; }
.tpl-guide{ font-size:12.5px; color:var(--text2); line-height:1.7; background:#f8fafc; border:1px dashed var(--border); border-radius:8px; padding:10px 12px; margin-bottom:12px; }
.tpl-guide code{ background:#eef2ff; color:#4338ca; padding:1px 5px; border-radius:4px; font-size:12px; }
.tpl-manager{ display:flex; flex-direction:column; gap:8px; }
.tpl-row{ display:flex; align-items:center; gap:10px; padding:9px 12px; border:1px solid var(--border); border-radius:9px; flex-wrap:wrap; }
.tpl-row .tpl-name{ font-weight:600; font-size:13.5px; min-width:120px; }
.tpl-row .tpl-state{ font-size:12.5px; flex:1; color:var(--text2); }
.tpl-row .tpl-state.mine{ color:var(--green); font-weight:600; }
.tpl-row .tpl-state.sys{ color:#94a3b8; }
.tpl-row .tpl-btns{ display:flex; gap:6px; }
.tpl-row .mini-btn{ padding:4px 10px; font-size:12.5px; }
.scheme-item{ display:flex; align-items:center; gap:12px; padding:14px; border:1px solid var(--border); border-radius:10px; margin-bottom:10px; }
.scheme-item .si-name{ font-weight:600; flex:1; }
.scheme-item .si-meta{ font-size:13px; color:var(--text2); }

/* Toast */
.toast{ position:fixed; top:80px; left:50%; transform:translateX(-50%) translateY(-20px); background:#1e293b; color:#fff; padding:12px 24px; border-radius:10px; font-size:15px; z-index:2000; opacity:0; pointer-events:none; transition:.3s; box-shadow:0 8px 24px rgba(0,0,0,.2); }
.toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }
.toast.success{ background:var(--green); } .toast.error{ background:var(--red); }

.footer{ background:#0f172a; color:#94a3b8; text-align:center; padding:36px 20px; }
.footer strong{ color:#fff; font-size:16px; display:block; margin-bottom:6px; }
.footer-links{ margin-top:12px; display:flex; gap:18px; justify-content:center; flex-wrap:wrap; }
.footer-links a{ color:#94a3b8; font-size:13px; text-decoration:none; }
.footer-links a:hover{ color:#fff; }

/* 响应式 - 平板 */
@media(max-width:900px){
  .hero-inner{ grid-template-columns:1fr; }
  .hero h1{ font-size:34px; }
  .hero-right{ display:none; }
  .feature-grid{ grid-template-columns:repeat(2,1fr); }
  .form-grid,.fee-box{ grid-template-columns:1fr; }
  .doc-checks{ grid-template-columns:repeat(2,1fr); }
  .mark-body{ grid-template-columns:1fr; }
  .mark-preview{ height:180px; }
  .picker-body{ grid-template-columns:1fr; grid-template-rows:auto auto 1fr; }
  .picker-col{ max-height:140px; }
  .nav-links{ display:none; }
  .agency-dialog{ width:100%; max-width:96vw; }
  .agency-body,.agency-header,.agency-footer{ padding-left:16px; padding-right:16px; }
  .tpl-row{ gap:8px; }
  .tpl-row .tpl-name{ min-width:0; width:100%; }
  .tpl-row .tpl-state{ flex:1 1 100%; }
  .tpl-btns{ width:100%; display:flex; gap:8px; }
  .tpl-btns .mini-btn{ flex:1; padding:7px 4px; }
}

/* ========== 手机端专属优化 ========== */
@media(max-width:640px){
  /* 全局 */
  .container{ padding:0 14px; }
  
  /* 导航栏 */
  .nav-inner{ padding:10px 14px; gap:10px; }
  .logo-icon{ width:34px; height:34px; font-size:18px; border-radius:8px; }
  .logo-text strong{ font-size:15px; }
  .logo-text small{ font-size:10px; }
  .nav-inner .btn-sm{ padding:6px 12px; font-size:13px; }
  
  /* Hero 区域 */
  .hero{ padding:40px 0 36px; }
  .hero-inner{ padding:0 14px; gap:24px; }
  .hero-badge{ font-size:12px; padding:5px 12px; margin-bottom:16px; }
  .hero h1{ font-size:28px; margin-bottom:12px; }
  .hero p{ font-size:14px; margin-bottom:20px; line-height:1.7; }
  .hero-actions{ margin-bottom:24px; }
  .btn-lg{ padding:12px 24px; font-size:15px; }
  .hero-stats{ gap:20px; flex-wrap:wrap; }
  .hero-stats strong{ font-size:20px; }
  .hero-stats small{ font-size:12px; }
  
  /* 功能特色 */
  .features{ padding:40px 0; }
  .section-title{ font-size:22px; margin-bottom:28px; }
  .feature-grid{ grid-template-columns:1fr; gap:14px; }
  .feature-card{ padding:22px 18px; }
  .fc-icon{ font-size:32px; margin-bottom:10px; }
  .feature-card h3{ font-size:16px; }
  .feature-card p{ font-size:13px; }
  
  /* 工作区 */
  .generator{ padding:24px 0 50px; }
  .ws-header{ padding:16px 18px; flex-direction:column; gap:10px; align-items:flex-start; }
  .ws-header h2{ font-size:18px; }
  .ws-progress{ font-size:13px; padding:4px 12px; }
  
  /* 模块 */
  .module-title{ padding:14px 18px; gap:10px; }
  .mt-num{ width:26px; height:26px; font-size:13px; }
  .module-title h3{ font-size:16px; }
  .module-body{ padding:0 18px 20px; }
  
  /* Tab 切换 */
  .tab-switch,.type-switch{ width:100%; }
  .tab,.type-btn{ flex:1; padding:10px 8px; font-size:14px; text-align:center; }
  
  /* 上传区域 */
  .upload-zone{ padding:22px 16px; }
  .uz-icon{ font-size:28px; }
  .upload-zone p{ font-size:14px; }
  .upload-zone small{ font-size:12px; }
  .btn-outline.btn-sm{ padding:8px 16px; font-size:13px; }
  
  /* 表单 */
  .form-grid{ gap:14px; }
  .form-item label{ font-size:13px; }
  .form-item input,.form-item select{ height:42px; font-size:14px; padding:0 12px; }
  
  /* 商标卡片 */
  .mark-card{ padding:14px; }
  .mark-head{ flex-wrap:wrap; gap:8px; }
  .mark-preview{ height:160px; }
  .mark-fields input,.mark-fields select{ height:40px; font-size:14px; }
  .add-mark-btn{ padding:12px; font-size:14px; }
  
  /* 分类选择 */
  .selected-classes{ padding:12px; min-height:50px; }
  .sc-tag{ font-size:12px; padding:3px 8px; }
  .class-actions{ gap:10px; }
  .class-actions .btn{ padding:9px 14px; font-size:13px; }
  .class-count{ font-size:13px; width:100%; }
  
  /* 费用 */
  .fee-box{ gap:12px; }
  .fee-item label{ font-size:13px; }
  .fee-item input{ height:42px; font-size:14px; }
  .fee-item.total input{ font-size:16px; }
  .doc-checks{ grid-template-columns:1fr; gap:8px; }
  .doc-check{ padding:10px 12px; font-size:13px; }
  .btn-generate{ padding:14px; font-size:16px; }
  .btn-savedir{ padding:10px; font-size:13px; }
  
  /* 生成结果 */
  .gen-file{ padding:10px 12px; flex-wrap:wrap; gap:8px; }
  .gen-file .gf-name{ font-size:13px; width:100%; }
  .gen-file button{ padding:6px 12px; font-size:13px; }
  
  /* 弹窗通用 - 手机全屏 */
  .modal-mask{ padding:0; align-items:flex-end; }
  .modal-mask.show{ align-items:flex-end; }
  .picker-dialog,.agency-dialog,.scheme-dialog{
    width:100%; max-width:100%; height:92vh; max-height:92vh;
    border-radius:16px 16px 0 0;
  }
  .agency-dialog,.scheme-dialog{ height:auto; max-height:92vh; }
  
  /* 分类选择器弹窗 - 手机端重新设计 */
  .picker-dialog{ height:100vh; max-height:100vh; border-radius:0; }
  .picker-header{ padding:12px 14px; flex-wrap:wrap; gap:8px; }
  .picker-header h3{ font-size:16px; width:100%; order:-1; }
  .picker-search{ flex-direction:row; gap:8px; width:100%; }
  .picker-search input{ flex:1; height:40px; font-size:14px; }
  .picker-search select{ width:110px; height:40px; font-size:13px; }
  .picker-body{ grid-template-columns:1fr; grid-template-rows:auto auto 1fr; gap:0; }
  /* 类别列 - 横向滚动标签 */
  .picker-col:first-child{
    max-height:50px; overflow-x:auto; overflow-y:hidden;
    border-bottom:1px solid var(--border); display:flex; flex-direction:row;
    -webkit-overflow-scrolling:touch;
  }
  .picker-col:first-child .pc-class{
    padding:10px 14px; font-size:13px; white-space:nowrap;
    border-bottom:none; border-right:1px solid #f1f5f9; flex-shrink:0;
  }
  /* 群组列 - 横向滚动标签 */
  .picker-col:nth-child(2){
    max-height:46px; overflow-x:auto; overflow-y:hidden;
    border-bottom:1px solid var(--border); display:flex; flex-direction:row;
    -webkit-overflow-scrolling:touch;
  }
  .picker-col:nth-child(2) .pc-group{
    padding:8px 12px; font-size:12px; white-space:nowrap;
    border-bottom:none; border-right:1px solid #f1f5f9;
    border-left:none; padding-left:12px; flex-shrink:0;
  }
  .picker-col:nth-child(2) .pc-group.active{
    border-left:none; padding-left:12px;
  }
  /* 小项列 - 占满剩余空间，纵向滚动 */
  .picker-col:last-child{ max-height:none; overflow-y:auto; -webkit-overflow-scrolling:touch; }
  .items-toolbar{ padding:8px 12px; flex-wrap:nowrap; gap:8px; position:sticky; top:0; z-index:2; }
  .items-toolbar span{ font-size:12px; flex:1; }
  .items-btns{ width:auto; }
  .items-btns .mini-btn{ padding:5px 10px; font-size:11px; }
  .items-list{ padding:4px 10px; }
  .pi-item{ padding:12px 6px; font-size:14px; align-items:flex-start; gap:10px; }
  .pi-item input{ width:22px; height:22px; margin-top:1px; flex-shrink:0; }
  .pi-name{ font-size:14px; line-height:1.5; }
  .pi-code{ font-size:11px; display:block; margin-top:2px; }
  .pi-type{ font-size:10px; padding:1px 6px; flex-shrink:0; }
  .picker-selected{ padding:8px 14px; max-height:100px; }
  .ps-header{ margin-bottom:6px; }
  .ps-header strong{ font-size:13px; }
  .picker-footer{ padding:12px 14px; gap:8px; }
  .picker-footer .btn{ flex:1; padding:12px 8px; font-size:15px; text-align:center; }
  
  /* 机构配置弹窗 */
  .agency-header{ padding:16px 18px; }
  .agency-header h3{ font-size:17px; }
  .agency-body{ padding:16px 18px; }
  .agency-card{ padding:14px; margin-bottom:12px; }
  .agency-card h4{ font-size:14px; margin-bottom:12px; }
  .agency-footer{ padding:14px 18px; gap:8px; }
  .agency-footer .btn{ flex:1; padding:10px 8px; font-size:14px; text-align:center; }
  .agency-tip{ font-size:12px; padding:8px 12px; }
  .tpl-guide{ font-size:12px; padding:8px 10px; }
  
  /* 常用方案 */
  .scheme-item{ padding:12px; flex-wrap:wrap; gap:8px; }
  .scheme-item .si-name{ font-size:14px; width:100%; }
  .scheme-item .si-meta{ font-size:12px; width:100%; }
  .scheme-item .mini-btn{ flex:1; padding:7px 8px; font-size:12px; text-align:center; }
  
  /* 常用申请人档案 */
  .arc-item{ padding:10px; flex-wrap:wrap; gap:8px; }
  .arc-info b{ font-size:13px; }
  .arc-info span{ font-size:11px; }
  .arc-load,.arc-del{ padding:6px 10px; font-size:12px; }
  .archive-bar{ flex-direction:column; gap:8px; }
  .arc-btn{ padding:10px 8px; font-size:13px; }
  
  /* Toast */
  .toast{ top:60px; padding:10px 18px; font-size:14px; max-width:90vw; }
  
  /* 底部 */
  .footer{ padding:28px 16px; }
  .footer strong{ font-size:15px; }
  .footer p{ font-size:12px; line-height:1.7; }
  
  /* OCR 进度 */
  .ocr-bar{ padding:8px 12px; }
  .ocr-bar-head{ font-size:12px; }
  
  /* 证件列表 */
  .license-item{ padding:8px 10px; gap:10px; }
  .license-item img{ width:40px; height:40px; }
  .li-pdf{ width:40px; height:40px; font-size:12px; }
  .li-name{ font-size:12px; }
  .li-size{ font-size:11px; }
}

/* 超小屏幕优化 */
@media(max-width:380px){
  .hero h1{ font-size:24px; }
  .hero-stats{ gap:14px; }
  .hero-stats strong{ font-size:18px; }
  .ws-header h2{ font-size:17px; }
  .module-title h3{ font-size:15px; }
  .btn-lg{ padding:11px 20px; font-size:14px; }
}

.uz-label{display:block;cursor:pointer}
.license-list{display:flex;flex-direction:column;gap:8px;margin-top:14px;text-align:left}
.license-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px}
.license-item img{width:46px;height:46px;object-fit:cover;border-radius:6px;border:1px solid #e2e8f0}
.li-pdf{width:46px;height:46px;border-radius:6px;background:#fee2e2;color:#dc2626;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.li-meta{flex:1;min-width:0;display:flex;flex-direction:column}
.li-name{font-size:13px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li-size{font-size:12px;color:#94a3b8}
.li-del{width:26px;height:26px;border:none;border-radius:50%;background:#f1f5f9;color:#ef4444;font-size:16px;cursor:pointer;flex-shrink:0}
.li-del:hover{background:#fee2e2}

.gen-zipbar{margin:4px 0 6px}.btn-zip{width:100%;padding:13px;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(135deg,#059669,#10b981);border:none;border-radius:10px;cursor:pointer}
.btn-zip:hover{filter:brightness(1.05)}
.gen-zipnote{font-size:12px;color:#64748b;margin:2px 2px 10px;line-height:1.6}
.gen-file .gf-btn{margin-left:6px;padding:5px 14px;border:none;border-radius:7px;font-size:13px;font-weight:600;cursor:pointer;color:#fff}
.gen-file .gf-btn.word{background:var(--primary)}.gen-file .gf-btn.pdf{background:#dc2626}
.gen-file .gf-btn:hover{opacity:.88}

.archive-bar{display:flex;gap:10px;margin-bottom:14px}
.arc-btn{flex:1;padding:9px 8px;border:1px solid #cbd5e1;background:#f8fafc;border-radius:9px;font-size:13px;cursor:pointer;color:#334155;font-weight:600}
.arc-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--brand-soft)}
.btn-savedir{width:100%;padding:10px;margin-bottom:10px;border:1px dashed #94a3b8;background:#fff;border-radius:10px;color:#475569;font-size:13px;cursor:pointer}
.btn-savedir:hover{border-color:var(--primary);color:var(--primary)}
.arc-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:8px;background:#fff}
.arc-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.arc-info b{font-size:14px;color:#1e293b;word-break:break-all}
.arc-info span{font-size:12px;color:#94a3b8}
.arc-load{padding:6px 14px;border:none;border-radius:7px;background:var(--primary);color:#fff;font-size:13px;cursor:pointer;flex-shrink:0}
.arc-del{padding:6px 12px;border:none;border-radius:7px;background:#f1f5f9;color:#ef4444;font-size:13px;cursor:pointer;flex-shrink:0}

/* OCR 识别进度 */
.ocr-bar{margin:10px 0 4px;padding:10px 14px;background:var(--brand-soft);border:1px solid var(--brand-soft);border-radius:8px}
.ocr-bar-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--primary);margin-bottom:6px}
.ocr-track{height:8px;background:var(--brand-soft);border-radius:5px;overflow:hidden}
.ocr-fill{height:100%;background:linear-gradient(90deg,#60a5fa,var(--primary));border-radius:5px;transition:width .3s}

#ap-id.bad{border-color:#e54848!important;box-shadow:0 0 0 3px rgba(229,72,72,.12)!important}

/* ========== 登录注册弹窗 ========== */
.nav-user{display:flex;align-items:center;gap:8px}
.nav-user .user-info{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text2)}
.nav-user .user-name{font-weight:600;color:var(--primary)}
.nav-user .logout-btn{padding:5px 12px;font-size:12px;border:1px solid #cbd5e1;background:#fff;border-radius:6px;color:#64748b;cursor:pointer}
.nav-user .logout-btn:hover{border-color:var(--red);color:var(--red)}

.login-dialog{background:#fff;border-radius:16px;max-width:420px;width:92%;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.15)}
.login-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}
.login-header h3{font-size:18px;font-weight:bold;color:var(--text)}
.modal-close{background:none;border:none;font-size:24px;color:#94a3b8;cursor:pointer;line-height:1;padding:4px 8px;border-radius:6px}
.modal-close:hover{background:#f1f5f9;color:var(--text)}

.login-body{padding:24px}
.login-tabs{display:flex;border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:24px}
.login-tab{flex:1;padding:12px;text-align:center;font-size:15px;color:var(--text2);background:#fff;border:none;cursor:pointer;font-weight:500;transition:.2s}
.login-tab.active{background:var(--primary);color:#fff}
.login-tab:hover:not(.active){background:#f8fafc}

.login-form .form-item{margin-bottom:18px}
.login-form .form-item label{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:8px}
.login-form .form-item input{width:100%;height:44px;border:1px solid var(--border);border-radius:10px;padding:0 14px;font-size:15px;background:#fff;transition:.2s;box-sizing:border-box}
.login-form .form-item input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(30,64,175,.1)}

.login-tip{min-height:20px;font-size:13px;margin-bottom:14px}
.login-tip.error{color:var(--red)}
.login-tip.success{color:var(--green)}
.login-tip.info{color:var(--text2)}

.btn-block{width:100%;display:block;text-align:center}

.login-desc{margin-top:20px;padding:16px;background:#f8fafc;border-radius:10px}
.login-desc p{font-size:12px;color:var(--text2);line-height:1.7;margin-bottom:4px}
.login-desc p:last-child{margin-bottom:0}

/* 手机端登录弹窗适配 */
@media(max-width:640px){
  .login-dialog{max-width:100%;width:100%;height:100vh;border-radius:0;display:flex;flex-direction:column}
  .login-body{flex:1;overflow-y:auto;padding:20px}
  .login-header{padding:16px 20px}
}

/* 业务类型切换按钮 */
.biz-selector-main{position:relative}
.biz-select-btn-main{padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 2px 8px rgba(37,99,235,0.3);transition:all 0.2s}
.biz-select-btn-main:hover{background:var(--primary);box-shadow:0 4px 12px rgba(37,99,235,0.4)}
.biz-card-main{position:absolute;top:calc(100% + 8px);right:0;width:320px;background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,0.15);padding:12px;z-index:1000;display:none}
.biz-card-main.show{display:block}
.biz-card-title-main{font-size:13px;font-weight:bold;color:#64748b;padding:8px 10px;border-bottom:1px solid #f1f5f9;margin-bottom:8px}
.biz-card-grid-main{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.biz-card-item-main{padding:10px 12px;border-radius:8px;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;gap:8px;border:2px solid transparent}
.biz-card-item-main:hover{background:#f0f7ff;border-color:#93c5fd}
.biz-card-item-main.active{background:var(--brand-soft);border-color:var(--primary)}
.biz-card-item-main .icon{font-size:18px}
.biz-card-item-main .name{font-size:13px;font-weight:500}
.biz-overlay-main{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.3);z-index:999;display:none}
.biz-overlay-main.show{display:block}
