.appointment-basics { display:grid; grid-template-columns:repeat(2,minmax(220px,1fr)); gap:12px; max-width:760px; }
.appointment-advanced,.appointment-downloads { margin-top:12px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.appointment-advanced summary,.appointment-downloads summary { cursor:pointer; min-height:46px; display:flex; align-items:center; padding:0 16px; color:var(--ink); font-weight:700; list-style:none; }
.appointment-advanced summary::-webkit-details-marker,.appointment-downloads summary::-webkit-details-marker { display:none; }
.appointment-advanced summary::after,.appointment-downloads summary::after { content:'⌄'; margin-left:auto; color:var(--muted); font-size:18px; }
.appointment-advanced[open] summary::after,.appointment-downloads[open] summary::after { transform:rotate(180deg); }
.appointment-advanced .extended-filters { padding:4px 16px 16px; }
.appointment-downloads > p { margin:0 16px; color:var(--muted); font-size:14px; }
.appointment-downloads .export-actions { margin:12px 16px 16px; }
.extended-filters { display:grid; grid-template-columns:repeat(3,minmax(150px,1fr)); gap:12px; }
.extended-filters input,.extended-filters select { width:100%; min-height:44px; font:inherit; }
.duplicate-warning { color:#9a4817!important; background:#fff3de; padding:8px 10px; border-radius:7px; max-width:560px; }
.export-actions { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.export-actions button { min-height:44px; font-size:14px; }
#globalSearchModal { width:min(820px,calc(100vw - 24px)); }
#globalSearchModal .modal-card { width:100%; }
.global-search-form { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.global-search-form label { flex:1 1 240px; display:grid; gap:6px; font-size:14px; }
.global-search-form input { min-height:46px; font-size:16px; }
.search-results { max-height:55dvh; overflow-y:auto; display:grid; gap:10px; }
.search-result { display:block; padding:14px; border:1px solid var(--line); border-radius:9px; background:#fff; text-align:left; color:var(--ink); cursor:pointer; width:100%; }
.search-result strong,.search-result span { display:block; overflow-wrap:anywhere; }
.search-result span { font-size:14px; color:var(--muted); margin-top:5px; }
.search-status { font-size:14px; color:var(--muted); }
@media(max-width:700px) { .appointment-basics,.extended-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .export-actions button { flex:1 1 130px; } }
@media(max-width:400px) { .appointment-basics,.extended-filters { grid-template-columns:minmax(0,1fr); } }
