#recent-materials .recent-section { margin: 18px 0; padding: 16px; border: 1px solid #d8e3e7; border-radius: 14px; background: #f6faf9; }
.recent-section[hidden], .recent-visit-status[hidden] { display: none; }
.recent-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.recent-header h2 { margin: 0; font-size: 1.12rem; }
.recent-clear, .recent-links a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: 8px 12px; border: 1px solid #739da6; border-radius: 8px; background: #fff; color: #174f59; font: inherit; font-weight: 700; box-sizing: border-box; }
.recent-clear { cursor: pointer; }
.recent-note, .recent-status, .recent-visit-status { font-size: .88rem; line-height: 1.7; color: #45606c; overflow-wrap: anywhere; }
.recent-note { margin: 8px 0 12px; }
.recent-status:empty { display: none; }
.recent-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; list-style: none; padding: 0; margin: 0; }
#recent-materials .recent-list li { min-width: 0; margin: 0; padding: 10px 12px; border-radius: 8px; background: #fff; border: 1px solid #e0e9e8; }
.recent-list strong { display: block; overflow-wrap: anywhere; font-size: .95rem; }
.recent-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.recent-links a { text-decoration: none; font-size: .88rem; }
.recent-links a:hover { background: #e6f3ee; }
.recent-clear:focus-visible, .recent-links a:focus-visible, .recent-status:focus { outline: 3px solid #b05a13; outline-offset: 3px; }
@media (max-width: 600px) { .recent-list { grid-template-columns: 1fr; } #recent-materials .recent-section { padding: 12px; } }
