/* Bilanc clients reference geometry, strictly scoped to the client list. */
#master.clientSearchMode{background:#f0f0f0;font:12px Verdana,Geneva,sans-serif;color:#333;padding:0 12px 12px}
#master.clientSearchMode #masterTitle{font:500 27.88px/33.46px Verdana,Geneva,sans-serif;text-align:center;flex:1;margin:4px 0 7px}
#master.clientSearchMode #masterTools{display:none!important}
#master.clientSearchMode .detailToolbar{border-bottom:1px solid #c5c5c5}
#clientSearchPanel[hidden],#clientSearchPager[hidden],#clientSearchColumnsDialog[hidden]{display:none!important}
#clientSearchPanel{margin:13px 0 0}
#clientSearchPanel fieldset{margin:0;border:1px solid #ccc;padding:15px 12px 7px;border-radius:4px}
#clientSearchPanel legend{width:auto;padding:0 5px;font:bold 12px Verdana,Geneva,sans-serif}
#clientSearchPanel .clientSearchGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 24px}
#clientSearchPanel .clientSearchField{display:grid;grid-template-columns:27% minmax(0,1fr);align-items:center;gap:0;font:12px Verdana,Geneva,sans-serif;min-width:0}
#clientSearchPanel input,#clientSearchPanel select{box-sizing:border-box;min-width:0;width:100%;height:25px;min-height:25px;padding:3px 6px;border:1px solid #d3d3d3;border-radius:4px;background:#fff;font:12px Verdana,Geneva,sans-serif;color:#444;box-shadow:inset 0 1px 1px #00000008}
#clientSearchPanel select:disabled{background:#eee;color:#888}
#clientSearchPanel .clientSearchText{display:flex;min-width:0}
#clientSearchPanel .clientSearchText select{width:36px;flex:none;border-radius:4px 0 0 4px;color:transparent;padding-left:0}
#clientSearchPanel .clientSearchText select option{color:#333}
#clientSearchPanel .clientSearchText input{border-radius:0 4px 4px 0;margin-left:-1px;flex:1}
#clientSearchPanel .clientSearchActive{grid-column:2}
#clientSearchPanel details{margin-top:17px}
#clientSearchPanel summary{font-weight:bold;cursor:pointer;list-style:none;height:25px}
#clientSearchPanel summary::before{content:'▸';display:inline-block;width:16px}
#clientSearchPanel details[open] summary::before{content:'▾'}
#clientSearchPanel details .clientSearchGrid{gap:3px 24px;margin-top:15px}
#clientSearchPanel .clientSearchUnavailable{font-size:10px;color:#777;margin:8px 0 0}
#clientSearchPanel .clientSearchToolbar{display:flex;justify-content:flex-end;align-items:center;height:61px;gap:9px}
#clientSearchPanel .clientSearchToolbar button{border:0;background:transparent;min-width:0;min-height:0;padding:0;box-shadow:none;display:inline-flex;align-items:center;justify-content:center}
#clientSearchPanel .clientSearchToolbar button:disabled{opacity:.4}
#clientSearchPanel #clientSearchClear svg{width:32px;height:32px}
#clientSearchPanel #clientSearchRun{height:44px;min-width:84px;padding:0 12px;border-radius:4px;background:#2399e5;color:white;gap:8px;font:12px Verdana,Geneva,sans-serif}
.clientSearchMagnifier{display:inline-block;width:11px;height:11px;border:2px solid currentColor;border-radius:50%;position:relative;margin-right:3px}
.clientSearchMagnifier::after{content:'';position:absolute;width:6px;height:2px;background:currentColor;transform:rotate(45deg);right:-5px;bottom:-3px}
#master.clientSearchMode #masterTable{width:100%;margin:0;background:#fff;border:1px solid #c5c5c5;font:12px Verdana,Geneva,sans-serif}
#master.clientSearchMode #masterTable th{background:#e9e9e9;padding:0 5px;height:32px;border:1px solid #ccc;font-weight:400;white-space:nowrap}
#master.clientSearchMode #masterTable th button{display:flex;align-items:center;justify-content:space-between;width:100%;gap:7px;border:0;background:transparent;color:#333;font:12px Verdana,Geneva,sans-serif;padding:0;box-shadow:none}
#master.clientSearchMode #masterTable th button span{color:#6ba6c5;font-size:11px}
#master.clientSearchMode #masterTable td{padding:4px 6px;height:29px;border:1px solid #ddd;font:12px Verdana,Geneva,sans-serif;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}
#master.clientSearchMode #masterRows tr:nth-child(even)>td{background:#f4f4f4}
#master.clientSearchMode #masterRows tr.clientSearchSelected>td{background:#deedf8}
#master.clientSearchMode #masterRows tr:focus-visible{outline:2px solid #2399e5;outline-offset:-2px}
#master.clientSearchMode .clientSearchOriginalActions{display:none!important}
#clientSearchPager{display:flex;justify-content:space-between;align-items:center;min-height:45px;gap:12px;font:12px Verdana,Geneva,sans-serif}
#clientSearchPager>div{display:flex;align-items:center;gap:3px}
#clientSearchPager button,#clientSearchPage{border:1px solid #ddd;background:#fff;padding:6px 10px;color:#337ab7;font:12px Verdana,Geneva,sans-serif}
#clientSearchPage{background:#2399e5;color:#fff}
#clientSearchPager button:disabled{color:#bbb}
#clientSearchPager select{height:25px;border:1px solid #ccc;border-radius:4px;font:12px Verdana,Geneva,sans-serif}
#clientSearchColumnsDialog .modal{width:min(680px,calc(100vw - 32px));max-height:90vh;overflow:auto;position:relative}
#clientSearchColumnsClose{position:absolute;right:12px;top:12px;border:0;background:transparent;font-size:24px}
#clientSearchColumnChoices{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 0 20px}
#clientSearchColumnChoices label{display:flex;align-items:center;gap:6px;font-size:12px}
#clientSearchColumnChoices input{width:auto}
#clientSearchColumnsDialog .foot{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:850px){#clientSearchPanel .clientSearchGrid{grid-template-columns:1fr;gap:8px}#clientSearchPanel .clientSearchActive{grid-column:auto}#master.clientSearchMode{overflow-x:auto}#clientSearchPager{flex-wrap:wrap}}
#clientSearchPanel .clientSearchPriceControl{min-width:0;position:relative;border:1px solid #d3d3d3;border-radius:4px;background:#fff;min-height:25px;display:flex;flex-wrap:wrap}
#clientSearchPanel #clientSearch-price_level[hidden]{display:none!important}
#clientSearchPanel #clientSearchPriceInput{border:0;box-shadow:none;height:23px;min-height:23px;flex:1;width:70px;padding:2px 6px}
#clientSearchPriceTokens{display:flex;flex-wrap:wrap;gap:2px}
#clientSearchPanel .clientSearchPriceToken{border:1px solid #b9cfdf;border-radius:3px;background:#e5eff7;font:11px Verdana,Geneva,sans-serif;padding:2px 4px;min-height:21px;box-shadow:none}
#clientSearchInfo[hidden]{display:none!important}
#clientSearchInfo .modal{position:relative;width:min(380px,calc(100vw - 32px));min-width:0}
#clientSearchInfoClose{position:absolute;right:12px;top:12px;border:0;background:transparent;font-size:24px}
/* Exact toolbar pixels from the verified, record-free Bilanc reference capture. */
#clientSearchPanel .clientSearchToolbar{gap:10px}
#clientSearchPanel .clientSearchToolbar button:not(#clientSearchRun){background-image:url('brand/client-toolbar-reference.png');background-repeat:no-repeat;background-color:transparent;border-radius:0}
#clientSearchPanel .clientSearchToolbar button:not(#clientSearchRun) svg{visibility:hidden}
#clientSearchPanel #clientSearchColumns{width:27px;height:32px;background-position:-5px -7px}
#clientSearchPanel #clientSearchClear{width:30px;height:36px;background-position:-44px -5px}
#clientSearchPanel #clientSearchEdit{width:31px;height:34px;background-position:-85px -5px}
#clientSearchPanel #clientSearchExcel{width:30px;height:32px;background-position:-125px -7px}
#clientSearchPanel #clientSearchRun{min-width:72px;width:72px;height:44px;padding:0 10px;background:#0d6efd;font:12px Arial,sans-serif;gap:6px}

/* Keep the visible caret independent of the transparent selected operator text. */
#clientSearchPanel .clientSearchText select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%225%22%20viewBox%3D%220%200%208%205%22%3E%3Cpath%20fill%3D%22%23333%22%20d%3D%22M0%200h8L4%205z%22%2F%3E%3C%2Fsvg%3E");background-position:center;background-repeat:no-repeat}
#clientSearchPanel .clientSearchCity input{border-radius:4px;margin-left:0}

/* Contain the client grid without moving filters/pagination off-screen. */
#clientSearchTableViewport{display:contents}
#master.clientSearchMode #clientSearchTableViewport{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto}
#master.clientSearchMode #clientSearchTableViewport:focus-visible{outline:2px solid #2399e5;outline-offset:2px}
#master.clientSearchMode #clientSearchPager{flex-wrap:wrap}
.clientNationalityDialog[hidden]{display:none}
.clientNationalityDialog{position:fixed;inset:0;z-index:1400;background:#0005;display:grid;place-items:center}
.clientNationalityDialog>div{background:#fff;padding:18px;max-width:420px;width:calc(100% - 48px);max-height:calc(100vh - 48px);overflow:auto;border:1px solid #8b9aa3;box-shadow:0 8px 24px #0004}
.clientNationalityDialog label{display:flex;gap:12px;align-items:center}.clientNationalityDialog select{min-width:140px}
#clientNationalityStatus:empty{display:none}
#clientNationalityMenu[hidden]{display:none}#clientNationalityMenu{position:fixed;z-index:1300;background:white;border:1px solid #8b9aa3;padding:4px;max-width:270px}#clientNationalityMenu button{display:block;width:100%;text-align:left}#clientNationalityMenu button[hidden]{display:none}
#clientSearchPanel .clientSearchToolbar #clientNationalityEdit{background-image:none;width:auto;height:auto;padding:4px 8px;color:#222;font-size:12px}
#clientSearchPanel .clientSearchToolbar #clientNationalityEdit[hidden]{display:none}
#clientNationalityMenu{box-sizing:border-box;overflow:auto}#clientNationalityMenu button{white-space:normal;overflow-wrap:anywhere}
