/* 개발자 안내: 다중 선택 필터의 팝업·선택칩·높이. filters.js의 포커스/선택 처리를 바꾸지 않고 표현만 담당한다. */
.ecm-multi{position:relative;display:inline-block;vertical-align:middle;min-width:160px;width:220px;max-width:100%;margin:0;font:inherit;text-align:left;color:#220901}
.ecm-multi[open]{z-index:50}.ecm-multi [hidden]{display:none!important}
.ecm-multi>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid #d8cec8;border-radius:4px;background:#fff;cursor:pointer;box-sizing:border-box;font:inherit}
.ecm-multi>summary::-webkit-details-marker{display:none}.ecm-multi>summary:focus-visible{outline:2px solid #BC3908;outline-offset:2px}
.ecm-multi [data-ecm-summary]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0}.ecm-multi-arrow{flex:none;color:#621708;font-size:18px;line-height:1}
.ecm-multi[open]>summary,.ecm-multi.has-selection>summary{border-color:#BC3908}.ecm-multi[open] .ecm-multi-arrow{transform:rotate(180deg)}
.ecm-multi-panel{position:absolute;left:0;top:calc(100% + 6px);z-index:50;width:max(100%,250px);max-width:calc(100vw - 40px);padding:10px;background:#fff;border:1px solid #d8c3ba;border-radius:5px;box-shadow:0 6px 20px #2209011a;box-sizing:border-box}
#page .ecm-multi .ecm-multi-search,.ecm-multi .ecm-multi-search{width:100%;min-height:40px;height:40px;margin:0 0 6px;padding:6px 10px;font:inherit;font-size:15px;box-sizing:border-box}
.ecm-multi .ecm-multi-actions{display:flex;justify-content:space-between;gap:8px;padding:4px 0 8px;border-bottom:1px solid #eee4df}
#page .ecm-multi .ecm-multi-actions button,.ecm-multi .ecm-multi-actions button{font:inherit;font-size:14px;color:#621708;border:0;background:transparent;cursor:pointer;padding:4px 2px;min-height:28px;box-shadow:none}
.ecm-multi-actions button:hover{text-decoration:underline}.ecm-multi-options{max-height:260px;overflow-y:auto;overscroll-behavior:contain;padding:4px 0}
#page .ecm-multi .ecm-multi-option,.ecm-multi .ecm-multi-option{display:flex;align-items:flex-start;justify-content:flex-start;gap:9px;min-height:40px;padding:8px 5px;border-radius:3px;cursor:pointer;font-size:15px;font-weight:400;line-height:1.5;color:#220901;text-align:left;box-sizing:border-box}
.ecm-multi-option:hover{background:#FFF3DC}#page .ecm-multi-option input[type=checkbox],.ecm-multi-option input[type=checkbox]{flex:none;margin:3px 0 0;width:18px;height:18px;min-height:18px;accent-color:#941B0C}
.ecm-multi-option span{min-width:0;overflow-wrap:anywhere}.ecm-multi-hint,.ecm-multi-empty{margin:6px 0 2px;color:#77685f;font-size:13px;line-height:1.5;white-space:normal}
/* Query and workbook actions have the same meaning on every screen. */
html body #app .ecm-query-button,html body .ecm-query-button{background:#220901!important;border-color:#220901!important;color:#fff!important}
html body #app .ecm-excel-button,html body .ecm-excel-button{background:#fff!important;border-color:#cfc5bf!important;color:#220901!important}
html body #app .ecm-query-button:hover,html body .ecm-query-button:hover{background:#621708!important;border-color:#621708!important}html body #app .ecm-excel-button:hover,html body .ecm-excel-button:hover{background:#faf8f6!important}
@media(max-width:600px){.ecm-multi-panel{min-width:0;width:max(100%,230px)}.ecm-multi{min-width:140px}}
/* Query controls are inline widgets, not the document disclosure blocks from
   styles.css (details has 20px vertical margins there). Keep spacing here after
   display.css so readable global controls do not stretch the search rows. */
@media screen{
 #app #page :is(.filters,.md-filter,.mtr-filters,.sf-filter,.sy-filter,.rp-file-filter,.nb-filters,.bl-filters,.st-filterbox){padding:6px 12px;gap:6px 12px;margin-bottom:12px;min-height:0;height:auto;align-content:start}
 #app #page .md-filter .md-search{padding-left:12px;align-self:center}
 #app #page :is(.md-filter-fields,.mtr-filters,.sf-filter-fields,.sf-filter-row,.sy-filter,.ecm-analytics .filter-row){gap:6px 12px;min-height:0;align-content:start}
 #app #page :is(.md-filter label,.md-filter-field,.mtr-filter,.sf-filter-field,.sy-filter label){gap:6px;margin-block:0}
 #app #page :is(.md-filter-field,.mtr-filter,.sf-filter-field){min-width:0;max-width:100%}
 #app #page .md-filter-field{display:flex;align-items:center;font-size:16px;line-height:1.5;white-space:nowrap}
 #app #page .mtr-filter-row{padding-bottom:4px}
 #app #page :is(.nb-filters,.bl-filters,.st-filterbox) :is(.nb-field,.bl-field){gap:4px}
 #app #page .ecm-analytics .card:has(>.filter-row){padding:6px 12px}
 /* The first analytics row has an inline 14px margin in its renderer. */
 #app #page .ecm-analytics .card>.filter-row:first-child{margin-bottom:6px!important}
 #app #page .ecm-analytics .filter-row>.field{gap:4px}
 #app #page .ecm-analytics .filter-row .seg{padding:2px}
 #app #page .ecm-analytics .filter-row .seg button{height:36px;min-height:36px;padding-block:5px}
 #app #page .mt-filters{margin-bottom:12px}
 #app #page .mt-filter-row{min-height:0;align-items:center}
 #app #page .mt-filter-items{gap:4px 12px;padding:4px 0;align-content:start}
 #app #page .mt-filter-group{width:86px;padding:4px 12px}
 #app #page .mt-filter-field{width:245px;gap:8px;margin:0;flex-shrink:1}
 #app #page .mt-filter-field>span{width:86px}
 #app #page .mt-filter-field>.mt-multi{min-width:0}
 #app #page .mt-query-actions{gap:6px}
 #app #page .mt-period-type{padding:1px;gap:2px;min-height:0}
 #app #page .mt-period-type label{display:inline-flex;align-items:center;min-height:36px;margin:0;padding:5px 10px}
 #app #page :is(.mt-dates,.mt-cycle,.mtr-date-range){gap:6px}
 #app #page :is(.report-filter,.rp-filters,.pd-period,.pd-radioGroup){gap:6px 12px}
 #app #page :is(.filters,.md-filter,.mtr-filters,.sf-filter,.sy-filter,.rp-file-filter,.nb-filters,.bl-filters,.mt-filters,.ecm-analytics .filter-row,.st-filterbox,.report-filter) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select){height:40px;min-height:40px;padding-block:7px;box-sizing:border-box}
 #app #page :is(.filters,.md-filter,.mtr-filters,.sf-filter,.sy-filter,.rp-file-filter,.nb-filters,.bl-filters,.mt-filters,.ecm-analytics .filter-row,.st-filterbox,.report-filter) :is(.btn,.md-btn,.mtr-btn,.sf-btn,.sy-button,.mt-button,.ecm-query-button){height:40px;min-height:40px;padding-block:7px;box-sizing:border-box}
 #app #page :is(.filters,.md-filter,.mtr-filters,.sf-filter,.sy-filter,.rp-file-filter,.nb-filters,.bl-filters,.mt-filters,.ecm-analytics .filter-row,.st-filterbox,.report-filter) :is(.ecm-multi,.mt-multi)>summary{height:40px;min-height:40px;padding-block:7px;font:inherit;box-sizing:border-box}
 #app #page :is(.md-filter,.sf-filter,.mtr-filters) .ecm-multi{width:200px;min-width:150px}
 #app #page .sf-filter>.ecm-query-button{align-self:center}
 @media(max-width:1200px){#app #page .mt-query-actions{padding:4px 12px}#app #page .sf-filter>.ecm-query-button{justify-self:end}}
 @media(max-width:850px){#app #page .md-filter .md-search{padding-left:0}}
 @media(max-width:600px){#app #page .mt-filter-group{width:100%;padding:4px 0 0}#app #page .mt-filter-items{padding:4px 0}#app #page .mt-filter-field{width:100%;max-width:100%}#app #page :is(.md-filter-field,.mtr-filter,.sf-filter-field){flex-wrap:wrap}}
}
/* Only list headings are centered; work and inspection cell alignment stays intact. */
#app #page :is(.mt-table,.sf-table) thead th{text-align:center;vertical-align:middle}
#app #page :is(.mt-table,.sf-table) .ecm-sort-header{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:36px;margin:0;padding:4px 0;border:0;border-radius:3px;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:center;cursor:pointer;box-shadow:none}
#app #page :is(.mt-table,.sf-table) .ecm-sort-header:hover{color:#941B0C;background:#FFF3DC}
#app #page :is(.mt-table,.sf-table) .ecm-sort-header:focus-visible{outline:2px solid #BC3908;outline-offset:2px}
#app #page :is(.mt-table,.sf-table) .ecm-sort-arrow{display:inline-flex;flex:none;align-items:center;justify-content:center;min-width:1em;color:#77685f;font-size:.85em}
#app #page :is(.mt-table,.sf-table) th:is([aria-sort=ascending],[aria-sort=descending]) .ecm-sort-arrow{color:#941B0C}
html body .ecm-copy-button,html body #app .ecm-copy-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;min-width:36px;min-height:36px;max-width:36px;padding:7px;border:1px solid #d8cec8;border-radius:5px;background:#fff;color:#621708;vertical-align:middle;line-height:1;cursor:pointer;box-sizing:border-box}
.ecm-copy-button svg{display:block;width:20px;height:20px;flex:none;pointer-events:none}.ecm-copy-button:hover{background:#FFF3DC!important;border-color:#BC3908!important}.ecm-copy-button:focus-visible{outline:3px solid #F6AA1C;outline-offset:2px}.ecm-copy-label{display:inline-flex;align-items:center;gap:8px;min-width:0}.ecm-copy-label>.sf-code{white-space:nowrap}.ecm-copy-label>.mt-copy-code{font-weight:700;color:#621708;white-space:nowrap}
/* Button text stays regular in every state. Scope this to interactive controls
   so page headings, table cells and non-interactive emphasis keep their weight.
   Important also overrides existing selected-menu and inline button weights. */
html body :is(button,[role=button],[role=tab],input[type=button],input[type=submit],input[type=reset],a:is(.btn,.button,.mt-button,.md-btn,.mtr-btn,.sf-btn,.sy-button,.rp-btn,.nb-button,.ecm-query-button,.ecm-excel-button,.nav-item),.tabs>a,.mt-period-type>label,.mt-cycle-radios>label,.pd-tabs>label,.pd-radioGroup>label,.mt-multi>summary,.ecm-multi>summary),
html body #sidebar .nav-item.active{font-weight:400!important}
html body :is(button,[role=button],[role=tab],input[type=button],input[type=submit],input[type=reset],a:is(.btn,.button,.mt-button,.md-btn,.mtr-btn,.sf-btn,.sy-button,.rp-btn,.nb-button,.ecm-query-button,.ecm-excel-button,.nav-item),.tabs>a,.mt-period-type>label,.mt-cycle-radios>label,.pd-tabs>label,.pd-radioGroup>label,.mt-multi>summary,.ecm-multi>summary) *{font-weight:inherit!important}
