.create-user { margin-bottom: 22px; }
.create-user summary { cursor: pointer; font-size: 1.15rem; font-weight: 800; }
.create-user[open] summary { margin-bottom: 18px; }
.user-tables { display: grid; gap: 20px; }
.user-group h2 { display: flex; gap: 9px; align-items: center; }
.count { display: inline-grid; place-items: center; min-width: 28px; height: 28px; padding: 0 8px; border-radius: 99px; background: var(--lime); font-size: .85rem; }
.user-panel-row td { background: #f5f7f4; padding: 20px; }
.inline-user-form { min-width: 780px; }
.inline-finance { min-width: 850px; }
.mini-metrics { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.mini-metrics span { background: white; border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px; }
.mini-metrics strong { display: block; font-size: 1.15rem; }
.finance-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 14px; }
.finance-actions form { background: white; border: 1px solid var(--line); border-radius: 12px; padding: 14px; }
@media (max-width: 950px) { .inline-user-form,.inline-finance { min-width: 0; } .finance-actions { grid-template-columns: 1fr; } }
.user-search { display: grid; grid-template-columns: minmax(260px, 1fr) auto; gap: 12px; align-items: end; margin-bottom: 20px; position: relative; }
.user-search label { margin: 0; }
.user-suggestions { position: absolute; z-index: 10; top: calc(100% - 18px); left: 24px; width: min(440px, calc(100% - 48px)); padding: 6px; border: 1px solid var(--line); border-radius: 10px; background: white; box-shadow: 0 12px 30px #17211b22; }
.user-suggestions button,.user-suggestions span { display: block; width: 100%; padding: 9px 11px; text-align: left; background: white; color: var(--ink); }
.user-suggestions button:hover { background: #edf5ef; }
tr.user-found td { animation: found-user 2.2s ease; }
@keyframes found-user { 0%,75% { background: #c8f2d1; } 100% { background: transparent; } }
@media (max-width: 620px) { .user-search { grid-template-columns: 1fr; } }
.user-transfer { display: flex; gap: 10px; align-items: end; flex-wrap: wrap; }
.user-transfer form { display: flex; gap: 8px; align-items: end; }
.user-transfer label { margin: 0; }
.user-transfer input[type="file"] { max-width: 270px; padding: 8px; }
.transfer-warning { margin-top: -12px; }
.role-check { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.role-info { position: relative; display: inline-flex; z-index: 5; }
.role-info:hover,.role-info:focus-within { z-index: 1000; }
.role-info button { display: grid; place-items: center; width: 22px; height: 22px; padding: 0; border-radius: 999px; background: #e8ece8; color: var(--ink); font-size: .78rem; font-weight: 900; line-height: 1; }
.role-info-popover { position: absolute; left: 0; top: calc(100% + 8px); transform-origin: left top; width: min(320px, 78vw); padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: white; color: var(--ink); box-shadow: 0 14px 34px #17211b24; font-size: .9rem; font-weight: 600; line-height: 1.35; opacity: 0; pointer-events: none; transform: translateY(-4px); transition: opacity .14s ease, transform .14s ease; z-index: 1001; }
.role-info:hover .role-info-popover,.role-info:focus-within .role-info-popover { opacity: 1; transform: translateY(0); }
