/* ===== 07-modals.css —— 弹窗通用（源自原型 V2.10，行区间 581-631） ===== */
  /* ===== Modals ===== */
  .modal-mask{
    position:fixed;inset:0;background:rgba(7,27,49,.45);
    display:none;align-items:center;justify-content:center;z-index:110;padding:20px;
  }
  .modal-mask.show{display:flex;}
  .modal{
    background:#fff;border-radius:16px;width:520px;max-width:100%;
    max-height:88vh;overflow-y:auto;padding:24px;
    box-shadow:0 20px 60px rgba(7,27,49,.25);
  }
  .modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
  .modal-title{font:700 18px/1.3 var(--font-cn);color:var(--text-strong);}
  .modal-close{
    width:32px;height:32px;border:none;cursor:pointer;border-radius:8px;
    background:var(--input-bg);display:flex;align-items:center;justify-content:center;flex:none;
  }
  .modal-close svg{width:16px;height:16px;stroke:#6B7785;}
  .modal-body{display:flex;flex-direction:column;gap:16px;}
  .form-field label{display:block;font:500 12px/1.4 var(--font-cn);color:var(--text-label);margin-bottom:6px;}
  .form-field label .req{color:var(--danger);}
  .f-input,.f-select,.f-textarea{
    width:100%;border:1px solid var(--border);border-radius:10px;
    padding:0 14px;height:44px;font:400 15px/1 var(--font-cn);color:var(--text-body);background:#fff;
  }
  .f-select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B7785' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;}
  .f-textarea{height:auto;min-height:96px;padding:12px 14px;resize:vertical;line-height:1.6;}
  .f-input:focus,.f-select:focus,.f-textarea:focus{outline:none;border-color:var(--gold);}
  .form-hint{font:400 12px/1.6 var(--font-cn);color:var(--text-meta);}
  .modal-hint{margin-top:14px;padding:11px 13px;background:var(--gold-tint);border-radius:9px;font:400 12.5px/1.6 var(--font-cn);color:#8a6d1f;}
  .modal-foot{display:flex;justify-content:flex-end;gap:12px;margin-top:22px;}
  .btn-primary{
    height:44px;padding:0 22px;border:none;border-radius:10px;cursor:pointer;
    background:var(--gold);color:var(--navy-800);font:600 14px/1 var(--font-cn);
    display:inline-flex;align-items:center;gap:8px;
  }
  .btn-primary svg{width:16px;height:16px;stroke:#0E2A47;}
  .btn-primary:hover{filter:brightness(1.05);}
  .btn-primary:disabled{opacity:.5;cursor:not-allowed;filter:none;}
  .btn-plain{
    height:44px;padding:0 20px;border:1px solid var(--border);border-radius:10px;cursor:pointer;
    background:#fff;color:var(--text-body);font:500 14px/1 var(--font-cn);
    display:inline-flex;align-items:center;gap:8px;
  }
  .btn-plain:hover{border-color:var(--navy-600);color:var(--navy-600);}
  .btn-danger-ghost{
    height:44px;padding:0 20px;border:1px solid var(--danger-border);border-radius:10px;cursor:pointer;
    background:var(--danger-bg);color:var(--danger);font:500 14px/1 var(--font-cn);
    display:inline-flex;align-items:center;gap:8px;
  }


/* ===== V3.3：材料详情弹窗 · 文件预览区 =====
   有真实文件地址时内嵌 img / iframe 预览；演示环境显示文件图标与说明。 */
.mat-preview{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  min-height:150px;margin-bottom:16px;padding:20px;
  border:1px dashed var(--border);border-radius:12px;background:#FAFBFD;text-align:center;
}
.mat-preview .mp-icon svg{width:44px;height:44px;stroke:#B4B2A9;}
.mat-preview .mp-text{font:400 12px/1.7 var(--font-cn);color:var(--text-meta);}
/* 有真实文件时：图片直接铺满，iframe 撑满预览区 */
.mat-preview-live{padding:0;overflow:hidden;border-style:solid;background:#fff;}
.mat-preview-live img{display:block;width:100%;max-height:320px;object-fit:contain;}
.mat-preview-live iframe{display:block;width:100%;height:320px;border:none;background:#fff;}

/* 证明目的未补录时的弱化样式 */
.kv-val-muted{color:var(--text-meta);font-style:normal;}
