.psf-wrap { font-family: Arial, sans-serif; border: 1px solid #e8e8e8; padding: 16px; position: relative; }
.psf-tabs { display: flex; gap: 8px; margin-bottom: 12px; }
.psf-tab { border: 1px solid #d5d5d5; background: #fff; padding: 8px 14px; cursor: pointer; border-radius: 999px; }
.psf-tab.is-active { background: #082c54; border-color: #082c54; color: #fff; }
.psf-search-row { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; }
.psf-main-search,
.psf-filter-search,
.psf-two-inputs input,
.psf-two-inputs select { width: 100%; border: 1px solid #ddd; padding: 10px; }
.psf-filter-open,
.psf-search-btn,
.psf-close,
.psf-clear { border: 0; cursor: pointer; padding: 10px 14px; }
.psf-filter-open { background: #f1f2f4; }
.psf-search-btn { background: #082c54; color: #fff; }
.psf-drawer { position: fixed; top: 0; right: -440px; width: min(430px, 100vw); height: 100dvh; background: #fff; z-index: 9999; transition: right .25s ease; box-shadow: -8px 0 18px rgba(0,0,0,.1); overflow-y: auto; }
.psf-wrap.is-open .psf-drawer { right: 0; }
.psf-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.28); z-index: 9998; opacity: 0; visibility: hidden; transition: all .2s; }
.psf-wrap.is-open .psf-overlay { opacity: 1; visibility: visible; }
.psf-drawer-header { display: flex; justify-content: space-between; align-items: center; padding: 16px; border-bottom: 1px solid #ececec; position: sticky; top: 0; background: #fff; z-index: 1; }
.psf-filter-group { padding: 14px 16px; border-bottom: 1px solid #f2f2f2; }
.psf-filter-group h4 { margin: 0 0 10px; }
.psf-check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; }
.psf-check-grid label { display: flex; gap: 8px; align-items: center; }
.psf-two-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.psf-pill-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.psf-pill { border: 1px solid #d8d8d8; background: #fff; border-radius: 999px; min-width: 54px; padding: 8px 10px; cursor: pointer; }
.psf-pill.is-active { border-color: #082c54; background: #082c54; color: #fff; }
.psf-unit-toggle { margin-top: 10px; display: inline-flex; border: 1px solid #d9d9d9; }
.psf-unit-toggle button { border: 0; background: #fff; padding: 8px 12px; cursor: pointer; }
.psf-unit-toggle button.is-active { background: #082c54; color: #fff; }
.psf-actions { display: flex; justify-content: space-between; align-items: center; padding: 16px; }
.psf-clear { background: transparent; text-decoration: underline; }