.course-search{margin:14px 0 12px;padding:16px;border:1px solid rgba(208,201,188,.72);border-radius:20px;background:var(--surface);box-shadow:0 5px 18px rgba(70,64,55,.04)}
.course-search>label{display:block;margin-bottom:8px;font-size:13px;font-weight:850;color:var(--text)}
.course-search>p{margin:8px 2px 0;color:var(--muted);font-size:11px;line-height:1.5;word-break:keep-all}
.course-search-box{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;border:1px solid var(--line);border-radius:16px;background:#fff;padding:0 8px 0 13px}
.course-search-box:focus-within{border-color:var(--sage);box-shadow:0 0 0 4px rgba(113,128,113,.12)}
.course-search-box>span{font-size:25px;line-height:1;color:var(--sage-dark);transform:rotate(-18deg)}
.course-search-box input[type=search]{appearance:none;-webkit-appearance:none;width:100%;min-width:0;min-height:50px;border:0;outline:0;background:transparent;color:var(--text);padding:0;font-size:15px}
.course-search-box input[type=search]::-webkit-search-cancel-button{display:none}
.course-search-box button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:12px;background:var(--soft);color:var(--muted);font-size:22px;line-height:1}
.search-section{padding:18px 0 4px;scroll-margin-top:12px}
.search-section .section-head{margin-bottom:6px}
.search-section>.section-description{margin:0 0 11px}
.course-card.search-match{background:#f2f6ef;border-color:#aebba7;box-shadow:0 9px 24px rgba(79,98,82,.1)}
.course-card.additional-course{background:#fbfaf6;border-style:dashed}
.search-badge{background:#dce9d7!important;color:#435845!important}
.badge.quality.partial{background:#f3eadb;color:#80643e}
.badge.quality.conflict{background:#f1e0db;color:#87544b}
.search-table-row{background:#f2f6ef}
.additional-section{padding-top:6px}
.additional-section>.section-description{margin-bottom:10px}
@media(max-width:500px){.course-search{padding:14px;border-radius:18px}.course-search-box input[type=search]{font-size:16px}.search-section{padding-top:12px}}
