.modal-overlay:where(.astro-limcatzk){backdrop-filter:blur(4px);z-index:150;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal:where(.astro-limcatzk){background:var(--surface-modal);border:1px solid #ffffff1a;border-radius:16px;max-width:90vw;max-height:85vh;padding:2rem;overflow-y:auto}.modal-title:where(.astro-limcatzk){color:var(--text-primary);margin:0 0 .75rem;font-size:1.1rem}.toolbar{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.search-box{flex:1;min-width:200px;max-width:400px;position:relative}.search-icon{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.search-input{background:var(--surface-panel);border:1px solid var(--hairline-strong);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:.65rem 1rem .65rem 2.5rem;font-size:.875rem;transition:border-color .2s}.search-input:focus{border-color:var(--brand-border)}.search-input::placeholder{color:var(--text-secondary)}.result-count{color:var(--text-secondary);white-space:nowrap;font-size:.8rem}.toolbar-actions{align-items:center;gap:.75rem;display:flex}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-banner{color:#fca5a5;background:#ef44441a;border:1px solid #ef444440;border-radius:10px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.toast{z-index:200;border-radius:10px;padding:.75rem 1.25rem;font-size:.85rem;font-weight:500;animation:.3s ease-out slideUp;position:fixed;bottom:2rem;right:2rem}.toast-success{color:#fff;background:#22c55ee6}.toast-error{color:#fff;background:#ef4444e6}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.table-wrapper{background:var(--surface-panel);border:1px solid var(--hairline);border-radius:16px;overflow-x:auto}.users-table{border-collapse:collapse;width:100%;font-size:.85rem}.users-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--hairline);white-space:nowrap;padding:.85rem 1rem;font-size:.72rem;font-weight:600}.users-table td{color:var(--text-primary);vertical-align:middle;border-bottom:1px solid #ffffff08;padding:.7rem 1rem}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover td{background:#ffffff05}.users-table .empty-row{text-align:center;color:var(--text-secondary);padding:3rem 1rem;font-size:.9rem}.user-cell{align-items:center;gap:.625rem;display:flex}.user-avatar-sm{background:var(--logo-gradient);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.75rem;font-weight:700;display:flex}.user-name{font-size:.85rem;font-weight:600}.user-email{color:var(--text-secondary);font-size:.75rem}.date-cell{color:var(--text-secondary);white-space:nowrap;font-size:.8rem}.badge{border-radius:9999px;padding:.15rem .6rem;font-size:.72rem;font-weight:600;display:inline-block}.badge-success{color:#86efac;background:#22c55e1f}.badge-muted{color:#94a3b8;background:#94a3b81f}.badge-danger{color:#fca5a5;background:#ef44441f}.plan-badge{text-transform:capitalize;border-radius:9999px;padding:.2rem .6rem;font-size:.72rem;font-weight:600;display:inline-block}.plan-free{color:#94a3b8;background:#94a3b81f}.plan-pro{background:var(--brand-dim);color:var(--brand)}.plan-ultra{color:#facc15;background:#eab30826}.expiry-sub{color:var(--text-secondary);margin-top:.15rem;font-size:.68rem}.status-indicators{align-items:center;gap:.35rem;display:flex}.status-badge{font-size:.75rem}.status-banned{color:#fca5a5}.status-warned{color:#facc15;font-weight:600}.role-tags{flex-wrap:wrap;gap:.25rem;display:flex}.role-tag-sm{border-radius:9999px;padding:.1rem .4rem;font-size:.65rem;font-weight:600}.action-btns{gap:.25rem;display:flex}.action-btn{border:1px solid var(--hairline-strong);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.action-btn:hover{color:var(--text-primary);background:#ffffff14}.action-btn-danger:hover{color:#fca5a5;background:#ef444426;border-color:#ef444440}.action-btn-info:hover{background:var(--brand-dim);color:var(--brand-bright);border-color:var(--brand-border)}.modal-subtitle{color:var(--text-secondary);margin-bottom:1rem;font-size:.8rem}.plan-options{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem;display:grid}.plan-option{border:1px solid var(--hairline-strong);color:var(--text-primary);cursor:pointer;background:#ffffff0a;border-radius:10px;padding:.65rem;font-size:.85rem;font-weight:500;transition:all .15s}.plan-option:hover{background:var(--brand-dim);border-color:var(--brand-glow)}.plan-option.active{background:var(--brand-dim);border-color:var(--brand-border);color:var(--brand)}.field-label{color:var(--text-secondary);margin-bottom:1rem;font-size:.8rem;display:block}.field-input{background:var(--surface-panel);border:1px solid var(--hairline-strong);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:8px;outline:none;padding:.5rem .75rem;font-size:.85rem}.field-input:focus{border-color:var(--brand-border)}.role-current{flex-direction:column;gap:.5rem;min-height:2rem;margin-bottom:1rem;display:flex}.role-row{align-items:center;gap:.5rem;display:flex}.role-assign-row{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.role-assign-row .field-input{flex:1}.text-muted{color:var(--text-secondary);font-size:.8rem}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--brand), var(--brand-hover));color:#fff}.btn-sm{white-space:nowrap;padding:.4rem .75rem;font-size:.8rem}.btn-ghost{color:var(--text-secondary);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;padding:.5rem 1rem;font-size:.8rem}.btn-ghost:hover{color:var(--text-primary);background:#ffffff14}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.bulk-bar{border:1px solid var(--brand-border);background:#6b3aff14;border-radius:10px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;animation:.2s ease-out slideDown;display:flex}.bulk-count{color:var(--text-primary);white-space:nowrap;font-size:.85rem;font-weight:600}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.drawer-overlay{z-index:160;cursor:pointer;background:#0006;position:fixed;inset:0}.drawer{background:var(--surface-drawer);border-left:1px solid var(--hairline-strong);backdrop-filter:blur(24px);z-index:170;flex-direction:column;width:420px;max-width:100vw;height:100vh;animation:.25s ease-out slideInRight;position:fixed;top:0;right:0;overflow-y:auto}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{border-bottom:1px solid var(--hairline);background:var(--surface-drawer);backdrop-filter:blur(24px);z-index:1;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex;position:sticky;top:0}.drawer-header h2{color:var(--text-primary);word-break:break-all;margin:0;font-size:1rem}.drawer-body{flex:1;padding:1.5rem;overflow-y:auto}.drawer-section{margin-bottom:1.5rem}.drawer-section h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid #ffffff0d;margin:0 0 .5rem;padding-bottom:.35rem;font-size:.72rem}.dl-row{align-items:baseline;gap:.5rem;padding:.35rem 0;font-size:.85rem;display:flex}.dl-row dt{color:var(--text-secondary);flex-shrink:0;min-width:90px;font-weight:500}.dl-row dd{color:var(--text-primary);word-break:break-all;margin:0}.dl-row code{background:#ffffff0d;border-radius:3px;padding:.1rem .4rem;font-family:SF Mono,Consolas,monospace;font-size:.75rem}.group-tags{flex-wrap:wrap;gap:.25rem;display:flex}.group-tag{color:#94a3b8;background:#94a3b81f;border-radius:9999px;padding:.15rem .5rem;font-size:.72rem;font-weight:500}.note-item{background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;margin-bottom:.5rem;padding:.6rem;position:relative}.note-content{color:var(--text-primary);margin-bottom:.3rem;padding-right:1.5rem;font-size:.82rem}.note-meta{color:var(--text-secondary);font-size:.7rem}.note-delete-btn{position:absolute;top:.4rem;right:.4rem}#drawer-notes-form .field-input{background:var(--surface-panel);border:1px solid var(--hairline-strong);width:100%;color:var(--text-primary);resize:vertical;box-sizing:border-box;border-radius:8px;outline:none;padding:.5rem .75rem;font-size:.82rem}.user-checkbox{cursor:pointer;accent-color:var(--accent)}input[type=checkbox]{cursor:pointer;width:16px;height:16px}.pagination-bar{background:var(--surface-panel);border:1px solid var(--hairline);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.65rem 1rem;display:flex}.pagination-left{align-items:center;gap:.75rem;display:flex}.pagination-right{align-items:center;gap:.5rem;display:flex}
