/* ================================================================
   USERS PAGE CSS  —  uses project token variable names
   ================================================================ */

.usr-page{padding:var(--space-6);max-width:1400px;margin:0 auto;}

/* ── Header ── */
.usr-header{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-5);}
.usr-title{font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:-.02em;line-height:1.2;margin:0;}
.usr-subtitle{font-size:var(--text-base);font-weight:var(--weight-regular);color:var(--text-secondary);line-height:1.4;margin:0;}

/* ── Stats (5 cards) ── */
.usr-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-4);margin-bottom:var(--space-5);}
.usr-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);}
.usr-stat__top{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);}
.usr-stat__icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);}
.usr-stat__icon--info{background:var(--info-bg);color:var(--info);}
.usr-stat__icon--success{background:var(--success-bg);color:var(--success);}
.usr-stat__icon--muted{background:var(--surface-2);color:var(--text-secondary);}
.usr-stat__icon--navy{background:var(--teal-bg);color:var(--teal);}
.usr-stat__icon--purple{background:var(--purple-bg);color:var(--color-purple);}
.usr-stat__label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500;}
.usr-stat__valrow{display:flex;align-items:baseline;gap:var(--space-2);}
.usr-stat__value{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);}
.usr-stat__suffix{font-size:var(--text-xs);color:var(--text-secondary);}
.usr-stat__trend{font-size:var(--text-xs);font-weight:500;}
.usr-stat__trend--up{color:var(--success);}
.usr-stat__trend--down{color:var(--error);}
.usr-stat__trend--flat{color:var(--text-secondary);}
.usr-stat__trend-lbl{color:var(--text-muted);}

/* ── Toolbar Card ── */
.usr-toolbar-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:14px var(--space-5);margin-bottom:var(--space-4);}
.usr-toolbar-inner{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;}

/* Search */
.usr-search{position:relative;flex:1;min-width:220px;}
.usr-search__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none;display:flex;}
.usr-search__input{width:100%;height:44px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);padding:0 var(--space-4) 0 38px;outline:none;box-sizing:border-box;transition:border-color var(--duration-fast);}
.usr-search__input::placeholder{color:var(--text-secondary);}
.usr-search__input:focus{border-color:var(--border-hi);}

/* Filters group */
.usr-filters{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;}

/* Dropdown */
.usr-dd-wrap{position:relative;}
.usr-dd-wrap--active .usr-dd{border-color:var(--teal);color:var(--teal);}
.usr-dd{display:flex;align-items:center;gap:5px;height:36px;padding:0 var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:border-color var(--duration-fast),color var(--duration-fast);}
.usr-dd:hover{border-color:var(--border-hi);color:var(--text-primary);}
.usr-dd-label{max-width:100px;overflow:hidden;text-overflow:ellipsis;}
.usr-dd-menu{display:none;position:absolute;top:calc(100% + 6px);left:0;min-width:170px;background:var(--surface);border:1px solid var(--border-hi);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:200;overflow:hidden;}
.usr-dd-wrap--open .usr-dd-menu{display:block;}
.usr-ddi{padding:9px var(--space-4);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast);}
.usr-ddi:hover{background:var(--surface-2);}
.usr-ddi--active{color:var(--teal);background:var(--teal-bg);}

/* Clear */
.usr-clear{height:36px;padding:0 var(--space-3);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);cursor:default;transition:all var(--duration-fast);}
.usr-clear--active{border-color:var(--border);color:var(--text-secondary);cursor:pointer;}
.usr-clear--active:hover{border-color:var(--error);color:var(--error);}

/* Actions */
.usr-tb-actions{display:flex;align-items:center;gap:var(--space-2);margin-left:auto;}

/* Buttons */
.usr-btn{display:inline-flex;align-items:center;gap:6px;padding:0 var(--space-4);height:40px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;border:1px solid transparent;transition:all var(--duration-fast);}
.usr-btn--primary{background:var(--info);color:#fff;border-color:var(--info);}
.usr-btn--primary:hover{opacity:.88;}
.usr-btn--ghost{background:transparent;border-color:var(--border);color:var(--text-secondary);}
.usr-btn--ghost:hover{border-color:var(--border-hi);color:var(--text-primary);}
.usr-btn--sm{height:32px;padding:0 var(--space-3);font-size:var(--text-xs);}

/* Export dropdown */
.usr-export-wrap{position:relative;}
.usr-export-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:var(--surface);border:1px solid var(--border-hi);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:200;overflow:hidden;}
.usr-export-item{display:flex;align-items:center;gap:var(--space-2);padding:10px var(--space-4);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast);}
.usr-export-item:hover{background:var(--surface-2);}

/* ── Table (full width, 8 cols) ── */
.usr-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
.usr-thead,.usr-row{display:grid;grid-template-columns:minmax(0,1.8fr) 1.5fr .9fr 1.1fr .75fr .85fr 1fr 44px;align-items:center;gap:var(--space-3);padding:0 var(--space-4);}
.usr-thead{height:42px;background:var(--surface-2);border-bottom:1px solid var(--border);}
.usr-th{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;}
.usr-th--right{text-align:right;}
.usr-th--sort{display:inline-flex;align-items:center;gap:4px;cursor:pointer;user-select:none;transition:color var(--duration-fast);}
.usr-th--sort:hover{color:var(--text-primary);}
.usr-th--sort-active{color:var(--teal);}
.usr-row{height:56px;border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--duration-fast);}
.usr-row:last-child{border-bottom:none;}
.usr-row:hover{background:var(--surface-2);}
.usr-row--selected{background:var(--teal-bg);border-color:var(--teal-border, var(--border-hi));}
.usr-cell{font-size:var(--text-sm);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.usr-cell--ai{display:flex;align-items:center;}

/* User cell */
.usr-user{display:flex;align-items:center;gap:var(--space-3);}
.usr-avatar{flex-shrink:0;width:32px;height:32px;background:var(--avatar-bg);border:none;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:700;color:var(--text-inverse);}
.usr-user__text{min-width:0;}
.usr-user__name{display:block;font-size:var(--text-sm);font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.usr-user__desc{display:block;font-size:var(--text-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.usr-user__you{font-size:var(--text-xs);color:var(--teal);margin-left:4px;font-weight:400;}

/* Groups */
.usr-groups{font-size:var(--text-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;}

/* Role badge */
.usr-role{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:600;padding:3px 8px;border-radius:var(--radius-sm);letter-spacing:.03em;}
.usr-role--admin{background:var(--error-bg);color:var(--error);}
.usr-role--manager{background:var(--warning-bg);color:var(--warning);}
.usr-role--tester{background:var(--teal-bg);color:var(--teal);}
.usr-role--developer{background:var(--info-bg);color:var(--info);}
.usr-role--viewer{background:var(--surface-2);color:var(--text-secondary);}

/* Status badge */
.usr-status{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);font-weight:500;padding:3px 10px;border-radius:9999px;}
.usr-status::before{content:'';width:5px;height:5px;border-radius:9999px;}
.usr-status--active{background:var(--success-bg);color:var(--success);}
.usr-status--active::before{background:var(--success);}
.usr-status--inactive{background:var(--surface-2);color:var(--text-secondary);}
.usr-status--inactive::before{background:var(--text-secondary);}
.usr-status--pending{background:var(--warning-bg);color:var(--warning);}
.usr-status--pending::before{background:var(--warning);}

/* AI token badge */
.usr-aitok{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:600;padding:3px 8px;border-radius:var(--radius-sm);font-family:var(--font-mono);}
.usr-aitok--high{background:var(--purple-bg);color:var(--color-purple);}
.usr-aitok--medium{background:var(--teal-bg);color:var(--teal);}
.usr-aitok--low{background:var(--info-bg);color:var(--info);}
.usr-aitok--none{color:var(--text-muted);padding:0;}

/* Row action */
.usr-rowaction{display:flex;align-items:center;justify-content:flex-end;position:relative;}
.usr-iconbtn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast);}
.usr-iconbtn:hover{background:var(--surface-3);color:var(--text-primary);}
.usr-row-menu{position:absolute;top:100%;right:0;z-index:150;min-width:180px;background:var(--surface);border:1px solid var(--border-hi);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden;}
.usr-row-menu-item{display:flex;align-items:center;gap:var(--space-2);padding:9px var(--space-4);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast);}
.usr-row-menu-item:hover{background:var(--surface-2);}
.usr-row-menu-item--danger{color:var(--error);}
.usr-row-menu-item--danger:hover{background:var(--error-bg);}

/* Empty state */
.usr-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-8);color:var(--text-secondary);}
.usr-empty-state__icon{color:var(--text-muted);margin-bottom:var(--space-3);}
.usr-empty-state__title{font-size:var(--text-md);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1);}
.usr-empty-state__sub{font-size:var(--text-sm);}
.usr-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-12) var(--space-8);color:var(--text-secondary);font-size:var(--text-sm);}

/* Footer */
.usr-foot{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--surface-2);}
.usr-foot__info{font-size:var(--text-xs);color:var(--text-secondary);}
.usr-foot__info strong{color:var(--text-primary);}

/* ================================================================
   DRAWER
   ================================================================ */
.usr-drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:300;animation:usrFadeIn var(--duration-base) ease;}
@keyframes usrFadeIn{from{opacity:0}to{opacity:1}}
@keyframes usrSlideInRight{from{transform:translateX(100%);opacity:.6}to{transform:translateX(0);opacity:1}}

.usr-drawer{position:fixed;top:0;right:0;bottom:0;width:460px;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:301;display:flex;flex-direction:column;overflow:hidden;animation:usrSlideInRight var(--duration-base) ease;}

.usr-drawer__hd{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0;background:var(--surface-2);}
.usr-drawer__hdtitle{font-size:var(--text-base);font-weight:600;color:var(--text-primary);flex:1;}
.usr-drawer__ai-hint{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--color-purple);background:var(--purple-bg);padding:2px 8px;border-radius:9999px;}
.usr-drawer__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast);}
.usr-drawer__close:hover{background:var(--surface-3);color:var(--text-primary);}

.usr-drawer__body{flex:1;overflow-y:auto;display:flex;flex-direction:column;}
.usr-drawer__body::-webkit-scrollbar{width:4px;}
.usr-drawer__body::-webkit-scrollbar-track{background:transparent;}
.usr-drawer__body::-webkit-scrollbar-thumb{background:var(--border-hi);border-radius:4px;}

.usr-drawer__hero{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4);}
.usr-drawer__avatar{flex-shrink:0;width:52px;height:52px;background:var(--avatar-bg);border:2px solid var(--brand-alt);border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);font-weight:700;color:var(--text-inverse);}
.usr-drawer__hero-info{min-width:0;display:flex;flex-direction:column;gap:4px;}
.usr-drawer__name{font-size:var(--text-md);font-weight:700;color:var(--text-primary);}
.usr-drawer__meta{font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px;}

.usr-drawer__tabs{display:flex;gap:0;padding:0 var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto;}
.usr-drawer__tabs::-webkit-scrollbar{display:none;}
.usr-drawer__tab{padding:10px var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:color var(--duration-fast),border-color var(--duration-fast);}
.usr-drawer__tab:hover{color:var(--text-primary);}
.usr-drawer__tab--active{color:var(--teal);border-bottom-color:var(--teal);}

.usr-drawer__content{padding:var(--space-4) var(--space-5);flex:1;}
.usr-drawer__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-4);}

.usr-dbtn{display:inline-flex;align-items:center;gap:6px;padding:7px var(--space-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;transition:all var(--duration-fast);}
.usr-dbtn:hover{border-color:var(--border-hi);background:var(--surface-3);}
.usr-dbtn--danger{border-color:var(--error-border);color:var(--error);}
.usr-dbtn--danger:hover{background:var(--error-bg);border-color:var(--error);}
.usr-dbtn--sm{padding:5px var(--space-3);font-size:var(--text-xs);}
.usr-dbtn--danger-sm{color:var(--error);border-color:var(--error-border);}
.usr-dbtn--danger-sm:hover{background:var(--error-bg);}

/* ── Detail Sections ── */
.usr-sec{margin-bottom:var(--space-5);}
.usr-sec:last-child{margin-bottom:0;}
.usr-sec__hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);}
.usr-sec__title{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:var(--space-3);}
.usr-sec__hd .usr-sec__title{margin-bottom:0;}
.usr-sec__link{font-size:var(--text-xs);color:var(--teal);cursor:pointer;display:flex;align-items:center;gap:4px;}
.usr-sec__link:hover{text-decoration:underline;}
.usr-role-desc{font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--space-2);line-height:1.5;}

/* Info rows */
.usr-info-row{display:flex;align-items:center;gap:var(--space-3);padding:7px 0;border-bottom:1px solid var(--border);}
.usr-info-row:last-child{border-bottom:none;}
.usr-info-row__icon{flex-shrink:0;color:var(--text-muted);width:16px;display:flex;}
.usr-info-row__label{font-size:var(--text-xs);color:var(--text-secondary);width:70px;flex-shrink:0;}
.usr-info-row__value{font-size:var(--text-sm);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* Chips */
.usr-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2);}
.usr-chip{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);padding:4px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:9999px;color:var(--text-primary);}
.usr-chip-remove{color:var(--text-secondary);cursor:pointer;display:flex;}
.usr-chip-remove:hover{color:var(--error);}

/* Permissions */
.usr-perms{display:flex;flex-direction:column;gap:var(--space-1);}
.usr-perm{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-primary);padding:4px 0;}
.usr-perm__icon{color:var(--success);flex-shrink:0;}
.usr-perm--more{color:var(--text-secondary);font-size:var(--text-xs);padding-left:22px;}

/* Groups add row */
.usr-add-group-row{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);}
.usr-select{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);padding:8px var(--space-3);outline:none;transition:border-color var(--duration-fast);}
.usr-select:focus{border-color:var(--border-hi);}
.usr-select--sm{padding:5px var(--space-3);font-size:var(--text-xs);}
.usr-select[multiple]{width:100%;}

/* Timeline */
.usr-timeline{display:flex;flex-direction:column;}
.usr-timeline-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:8px 0;border-bottom:1px solid var(--border);}
.usr-timeline-item:last-child{border-bottom:none;}
.usr-timeline-dot{flex-shrink:0;width:24px;height:24px;border-radius:9999px;display:flex;align-items:center;justify-content:center;}
.usr-timeline-dot--success{background:var(--success-bg);color:var(--success);}
.usr-timeline-dot--purple{background:var(--purple-bg);color:var(--color-purple);}
.usr-timeline-dot--info{background:var(--info-bg);color:var(--info);}
.usr-timeline-dot--brand{background:var(--teal-bg);color:var(--teal);}
.usr-timeline-dot--muted{background:var(--surface-2);color:var(--text-secondary);}
.usr-timeline-body{min-width:0;}
.usr-timeline-label{display:block;font-size:var(--text-sm);color:var(--text-primary);}
.usr-timeline-time{display:block;font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px;}

/* Sessions */
.usr-session-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3);position:relative;}
.usr-session-card:last-child{margin-bottom:0;}
.usr-session-card--revoked{opacity:.5;}
.usr-session-cur{position:absolute;top:var(--space-3);right:var(--space-3);font-size:var(--text-xs);background:var(--success-bg);color:var(--success);padding:2px 8px;border-radius:9999px;}
.usr-session-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2);}
.usr-session-device{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);}
.usr-session-meta{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:2px;}
.usr-session-revoked-tag{font-size:var(--text-xs);color:var(--error);background:var(--error-bg);padding:2px 8px;border-radius:9999px;}

/* AI Usage tab */
.usr-ai-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);}
.usr-ai-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin-bottom:var(--space-5);}
.usr-ai-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);}
.usr-ai-card__label{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:var(--space-2);}
.usr-ai-card__value{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);}
.usr-ai-card__value--sm{font-size:var(--text-sm);}
.usr-token-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);}
.usr-token-row__label{font-size:var(--text-xs);color:var(--text-secondary);width:44px;flex-shrink:0;}
.usr-token-bar-wrap{flex:1;height:6px;background:var(--surface-3);border-radius:3px;overflow:hidden;}
.usr-token-bar{height:100%;border-radius:3px;transition:width var(--duration-slow);}
.usr-token-bar--input{background:var(--teal);}
.usr-token-bar--output{background:var(--info);}
.usr-token-row__val{font-size:var(--text-xs);color:var(--text-primary);font-family:var(--font-mono);width:40px;text-align:right;flex-shrink:0;}
.usr-feat-row{display:flex;align-items:center;gap:var(--space-3);padding:6px 0;border-bottom:1px solid var(--border);}
.usr-feat-row:last-child{border-bottom:none;}
.usr-feat-row__name{font-size:var(--text-xs);color:var(--text-secondary);width:130px;flex-shrink:0;}
.usr-feat-bar-wrap{flex:1;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden;}
.usr-feat-bar{height:100%;background:var(--teal);border-radius:2px;}
.usr-feat-row__tokens{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-primary);width:44px;text-align:right;flex-shrink:0;}
.usr-feat-row__count{font-size:var(--text-xs);color:var(--text-secondary);width:44px;text-align:right;flex-shrink:0;}
.usr-ai-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md);}
.usr-ai-table{width:100%;border-collapse:collapse;font-size:var(--text-xs);}
.usr-ai-table th{padding:8px var(--space-3);background:var(--surface-2);font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;}
.usr-ai-table td{padding:8px var(--space-3);color:var(--text-primary);border-bottom:1px solid var(--border);}
.usr-ai-table tr:last-child td{border-bottom:none;}
.usr-ai-table tbody tr:hover td{background:var(--surface-2);}
.usr-ai-status{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);}
.usr-ai-status--ok{color:var(--success);}
.usr-ai-status--fail{color:var(--error);}
.usr-ai-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10) 0;color:var(--text-secondary);text-align:center;}
.usr-ai-empty__title{font-size:var(--text-md);font-weight:600;color:var(--text-primary);margin-top:var(--space-3);}
.usr-ai-empty__sub{font-size:var(--text-sm);margin-top:var(--space-1);}

.usr-mono{font-family:var(--font-mono);font-size:var(--text-xs);}
.usr-empty{font-size:var(--text-sm);color:var(--text-secondary);text-align:center;padding:var(--space-8) 0;}

/* ── Modals ── */
.usr-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:500;display:flex;align-items:center;justify-content:center;padding:var(--space-4);}
.usr-modal{background:var(--surface);border:1px solid var(--border-hi);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden;}
.usr-modal__hd{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);flex-shrink:0;}
.usr-modal__title{flex:1;font-size:var(--text-md);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2);}
.usr-modal__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast);}
.usr-modal__close:hover{background:var(--surface-2);color:var(--text-primary);}
.usr-modal__body{padding:var(--space-5) var(--space-6);overflow-y:auto;flex:1;}
.usr-modal__ft{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);flex-shrink:0;}

/* Form */
.usr-form-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-4);}
.usr-form-row{display:flex;flex-direction:column;gap:var(--space-2);}
.usr-form-row--check{margin-top:var(--space-2);}
.usr-label{font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;}
.usr-label-hint{font-size:var(--text-xs);color:var(--text-muted);}
.usr-req{color:var(--error);}
.usr-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm);padding:9px var(--space-3);outline:none;transition:border-color var(--duration-fast);}
.usr-input:focus{border-color:var(--border-hi);}
.usr-input::placeholder{color:var(--text-secondary);}
.usr-check-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer;}

/* ── Toast ── */
.usr-toast{position:fixed;bottom:var(--space-8);right:var(--space-8);background:var(--surface);border:1px solid var(--border-hi);border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);color:var(--text-primary);box-shadow:var(--shadow-md);z-index:9999;opacity:0;transform:translateY(8px);transition:opacity var(--duration-base),transform var(--duration-base);}
.usr-toast--show{opacity:1;transform:translateY(0);}
.usr-toast--error{border-color:var(--error-border);color:var(--error);}

/* ── Responsive ── */
@media(max-width:1200px){
  .usr-stats{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:900px){
  .usr-stats{grid-template-columns:repeat(2,1fr);}
  .usr-drawer{width:100%;}
  .usr-thead,.usr-row{grid-template-columns:minmax(0,1.5fr) 1.2fr .9fr .75fr .85fr 1fr 44px;}
}
