.zent-picker{position:relative;width:100%;font:inherit}.zent-control{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:12px 16px;border:1px solid #dcd5e6;border-radius:12px;background:#fff;color:#352443;font-size:14px;font-weight:600;cursor:pointer}.zent-control::-webkit-details-marker{display:none}.zent-control::after{content:'⌄';font-size:18px;color:#806591}.zent-picker[open]>.zent-control{border-color:#80519c;box-shadow:0 0 0 3px #80519c18}.zent-popover{position:absolute;top:calc(100% + 8px);left:0;width:100%;min-width:260px;padding:14px;background:#fff;border:1px solid #e7e0ee;border-radius:16px;box-shadow:0 14px 45px #35244324;z-index:50;color:#352443}.zent-options{max-height:260px;overflow-y:auto;margin-top:10px}.zent-option{display:block;width:100%;border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:8px;font:inherit;font-size:14px;color:inherit;cursor:pointer}.zent-option:hover,.zent-months button:hover{background:#f3edf8}.zent-option[aria-pressed=true],.zent-months button[aria-pressed=true]{background:#4d1a69;color:white}.zent-year{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.zent-year button{border:0;background:#f4eef8;border-radius:9px;width:36px;height:36px;font-size:24px;color:#4d1a69;cursor:pointer}.zent-months{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.zent-months button{padding:12px 4px;border:0;border-radius:9px;background:#faf8fc;color:#493257;font:inherit;font-size:12px;cursor:pointer}.zent-empty{font-size:13px;color:#756781;padding:12px}.zent-picker [hidden],.zent-access [hidden]{display:none!important}.zent-access{border:1px solid #e4ddea;border-radius:18px;padding:24px;margin:0 0 24px;background:var(--bs-body-bg,#fff);color:var(--bs-body-color,#352443)}.zent-access legend{float:none;width:auto;padding:0 8px;font-size:16px;font-weight:700}.zent-access p{font-size:13px;color:var(--bs-secondary-color,#776b80)}.zent-permissions{display:grid;gap:10px;margin:18px 0 24px}.zent-permissions label,.zent-client-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e7e0ee;border-radius:10px;font-size:13px;cursor:pointer;margin:0}.zent-access input[type=checkbox],.zent-access input[type=radio]{width:18px;height:18px;flex-shrink:0;accent-color:#6f42a0;margin:0}.zent-access h3{font-size:14px;font-weight:700;margin:0 0 12px}.zent-scope{display:grid;grid-template-columns:1fr 1fr;gap:12px}.zent-scope label{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #ded5e7;border-radius:12px;cursor:pointer}.zent-scope label:has(input:checked){border-color:#8453a3;background:#8453a312;box-shadow:0 0 0 1px #8453a3}.zent-scope strong{display:block;font-size:13px}.zent-scope small{display:block;font-size:12px;color:var(--bs-secondary-color,#776b80);margin-top:4px}.zent-access-count{margin:12px 0!important;font-weight:600}.zent-client-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0}.zent-client-tools button{border:0;background:transparent;color:#78529a;font:inherit;font-size:12px;padding:4px;cursor:pointer}.zent-access input[type=search],.zent-search{width:100%;padding:12px 14px;border:1px solid #ded5e7;border-radius:10px;font:inherit;font-size:14px;background:var(--bs-body-bg,#fff);color:inherit}.zent-client-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:300px;overflow-y:auto;padding:2px}.zent-client-row:has(input:checked){border-color:#9568b0;background:#9568b00b}.zent-control:focus-visible,.zent-access input:focus-visible,.zent-picker button:focus-visible{outline:3px solid #a781c5;outline-offset:3px}@media(max-width:600px){.zent-scope,.zent-client-grid{grid-template-columns:1fr}.zent-access{padding:18px}.zent-popover{min-width:0}.zent-months button{font-size:11px}}.filters{padding:20px;border:1px solid #e7e0ee;background:#ffffffb8;border-radius:18px;gap:16px}.filters>.filter-field{font-weight:600;letter-spacing:.02em}.filters .zent-picker{margin-top:8px}.filters>.btn{min-height:48px}

.filters .filter-field{flex:1;min-width:180px}.filters .filter-field>label{margin:0;font-size:12px;font-weight:600}
