:root{
  --caf-red:#ff0000;
  --caf-dark-red:#c00000;
  --caf-orange:#ff4a00;
  --caf-gray:#d9d9d9;
  --caf-bg:#f4f4f4;
  --caf-border:#ff0000;
  --caf-text:#222;
}
.caf-shell{max-width:1100px;margin:24px auto;padding:0 16px;font-family:Georgia,"Times New Roman",serif;color:var(--caf-text)}
.caf-brand{text-align:center;margin:10px 0 24px}
.caf-brand img{max-width:320px;height:auto}
.caf-card{background:#fff;border:1px solid #eee;box-shadow:0 10px 25px rgba(0,0,0,.05);border-radius:10px;padding:24px;margin:0 0 20px}
.caf-card h1,.caf-card h2,.caf-card h3{color:var(--caf-dark-red);margin-top:0}
.caf-form label,.caf-grid label{display:block}
.caf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.caf-grid label span,.caf-form label span{display:block;font-weight:700;margin-bottom:6px}
.caf-grid input,.caf-grid select,.caf-grid textarea,
.caf-row input,.caf-row textarea,.caf-ncr-block textarea,.caf-ncr-block input{
  width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:6px;font-size:14px;box-sizing:border-box;background:#fff;
}
.caf-span-2{grid-column:span 2}
.caf-button,.caf-form button,.caf-inline-form button{
  background:var(--caf-orange);color:#fff;border:0;padding:10px 16px;border-radius:6px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block
}
.caf-button-secondary{background:var(--caf-dark-red)}
.caf-hidden{display:none}
.caf-notice{background:#fff7df;border:1px solid #f2d58e;padding:12px 14px;border-radius:8px;margin:0 0 16px;font-weight:700}
.caf-tableform{border:1px solid var(--caf-border)}
.caf-row{display:grid;grid-template-columns:240px 1fr;border-bottom:1px solid var(--caf-border)}
.caf-row:last-child{border-bottom:0}
.caf-row-label{background:var(--caf-gray);padding:12px 14px;border-right:1px solid var(--caf-border);font-weight:700}
.caf-row-field{padding:8px 12px}
.caf-row-field input,.caf-row-field textarea{border:0;box-shadow:none;background:#fff}
.caf-report-table{width:100%;border-collapse:collapse}
.caf-report-table th,.caf-report-table td{border:1px solid var(--caf-border);padding:10px;vertical-align:top}
.caf-report-table thead th{background:var(--caf-gray);color:#111}
.caf-report-table textarea{width:100%;box-sizing:border-box;border:0;min-height:80px}
.caf-tight-table th,.caf-tight-table td{padding:8px}
.caf-ncr-block{border:1px solid var(--caf-border);padding:16px;margin:0 0 16px;border-radius:8px;background:#fff}
.caf-inline-form{display:inline-block;margin-right:12px;margin-top:12px}
.caf-admin h1{color:var(--caf-dark-red)}
.caf-audit-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.caf-audit-item{border:1px solid #ececec;border-left:4px solid var(--caf-red);padding:16px;border-radius:8px;background:#fff}
.caf-research-box{border:1px solid var(--caf-border);background:#fff;padding:16px;border-radius:8px}
.caf-research-summary{white-space:pre-line;line-height:1.5}
.caf-source-list{margin:14px 0 0 18px}
.caf-source-list li{margin:0 0 8px}
.caf-signoff-form{margin-top:16px}
@media (max-width:800px){
  .caf-grid{grid-template-columns:1fr}
  .caf-span-2{grid-column:span 1}
  .caf-row{grid-template-columns:1fr}
  .caf-row-label{border-right:0;border-bottom:1px solid var(--caf-border)}
}

.caf-help{margin-top:12px;color:#555;font-size:14px;line-height:1.5}
code{background:#f7f7f7;padding:2px 5px;border-radius:4px}
