:root{--primary:#667eea;--secondary:#764ba2;--bg-body:#f0f2f8;--bg-secondary:#f8f9fe;--border-color:#dee2e6;--text-secondary:#6c757d;--card-shadow:0 2px 12px #00000014;--gradient-primary:linear-gradient(135deg, #667eea 0%, #764ba2 100%)}body{background:var(--bg-body);color:#212529;margin:0;padding:0;font-family:Segoe UI,system-ui,sans-serif}.app-logo{color:var(--primary);align-items:center;gap:.4rem;font-size:1.15rem;font-weight:700;display:flex}.error{color:#c0392b;min-height:1.2em}.login-screen{background:var(--gradient-primary);justify-content:center;align-items:center;height:100vh;display:flex}.login-card{border:none;border-radius:12px;width:320px}.app-container{height:100vh;display:flex;overflow:hidden}.app-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);flex-direction:column;width:230px;min-width:230px;transition:width .2s,min-width .2s;display:flex}.app-sidebar.collapsed{width:64px;min-width:64px}.sidebar-header{border-bottom:1px solid var(--border-color);padding:1rem}.sidebar-header-row{justify-content:space-between;align-items:center;display:flex}.app-logo-text{margin-left:.4rem}.app-sidebar.collapsed .app-logo-text{display:none}.sidebar-collapse-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:.85rem}.sidebar-collapse-btn:hover{color:var(--primary)}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:.75rem 0;display:flex;overflow-y:auto}.nav-item{text-align:left;color:#495057;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:.75rem;margin:0 .5rem;padding:.6rem 1rem;font-size:.85rem;transition:background .15s,color .15s;display:flex;overflow:hidden}.nav-item i{text-align:center;flex-shrink:0;width:1.2rem;font-size:1rem}.app-sidebar.collapsed .nav-item span{display:none}.app-sidebar.collapsed .nav-item{justify-content:center;margin:0 .4rem}.nav-item:hover{color:var(--primary);background:#667eea14}.nav-item.active{background:var(--gradient-primary);color:#fff;font-weight:600}.role-badge{text-transform:uppercase;background:var(--text-secondary);font-size:.65rem}.role-badge.role-admin{background:var(--gradient-primary)}.role-badge.role-standard{background:var(--text-secondary)}.org-badges{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.org-name-badge{background:#667eea1f;font-weight:500;color:var(--primary)!important}.org-badges-toggle{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;text-decoration:underline}.modal-org-groups{max-height:360px;margin-top:10px;overflow-y:auto}.modal-org-group{margin-bottom:12px}.modal-org-group-heading{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;font-size:.78rem;font-weight:600}.sidebar-footer{border-top:1px solid var(--border-color);padding:.75rem;position:relative}.profile-summary{align-items:center;gap:.6rem;width:100%;margin-bottom:4px;padding:.5rem;display:flex}.profile-avatar{background:var(--gradient-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;min-width:30px;height:30px;font-size:.9rem;display:flex}.profile-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.profile-name{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.app-sidebar.collapsed .profile-info,.app-sidebar.collapsed .profile-menu-item-label{display:none}.app-sidebar.collapsed .profile-menu-item{justify-content:center;display:flex}.app-sidebar.collapsed .profile-menu-item i{margin:0!important}.profile-menu-item{text-align:left;cursor:pointer;color:#212529;background:0 0;border:none;border-radius:6px;width:100%;padding:8px 10px;font-size:.85rem}.profile-menu-item:hover{background:#667eea14}.profile-menu-item.danger{color:#c0392b}.profile-menu-item.danger:hover{background:#c0392b14}.app-content{flex:1;padding:1.5rem 2rem;overflow-y:auto}.page-title{border-bottom:1px solid var(--border-color);color:#212529;margin-bottom:1.25rem;padding-bottom:.75rem;font-weight:600}.page-title i{color:var(--primary)}.page-container{height:100%}table{width:100%;box-shadow:var(--card-shadow);border-collapse:separate;border-spacing:0;background:#fff;border-radius:8px;margin-top:12px;overflow:hidden}th,td{vertical-align:middle;padding:10px 12px;font-size:.83rem}thead th{background:var(--bg-secondary);color:#495057;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border-color);font-size:.75rem}tbody tr{border-bottom:1px solid #f1f2f6}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:#667eea0a}th.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable-header:hover{color:var(--primary)}.actions-cell{min-width:0}.actions-cell button{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:5px;margin:2px 4px 2px 0;padding:4px 10px;font-size:.75rem;transition:border-color .15s,color .15s,background .15s;display:inline-block}.actions-cell button:hover{border-color:var(--primary);color:var(--primary);background:#667eea0f}.actions-cell button:disabled{opacity:.65;cursor:default}.actions-cell button.danger{color:#c0392b;border-color:#c0392b}.inline-form{box-shadow:var(--card-shadow);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:flex-start;gap:8px;margin-bottom:14px;padding:12px;display:flex}.inline-form input,.inline-form select{border:1px solid var(--border-color);border-radius:4px;padding:6px 10px;font-size:.85rem}.create-card[hidden]{display:none}.create-card{max-width:640px;box-shadow:var(--card-shadow);background:#fff;border-radius:10px;flex-direction:column;gap:14px;margin-bottom:18px;padding:18px 20px;display:flex}.create-card-title{color:#212529;margin:0;font-size:.9rem;font-weight:600}.create-field{flex-direction:column;gap:5px;display:flex}.create-field-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:600}.create-field input,.create-field select{box-sizing:border-box;border:1px solid var(--border-color);color:#212529;background:#fff;border-radius:6px;width:100%;height:36px;padding:8px 10px;font-size:.85rem}.create-card-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.btn-primary-solid{background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 18px;font-size:.85rem;font-weight:500}.btn-primary-solid:hover{filter:brightness(1.05)}.form-error{color:#c0392b;font-size:.8rem}.create-field-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 16px;display:grid}.mass-assign-bar{align-items:center;gap:8px;display:flex}.toolbar-left{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.mass-assign-icon{color:var(--primary);font-size:1rem}.mass-assign-label{color:#212529;font-size:.82rem;font-weight:600}.mass-assign-bar select{border:1px solid var(--border-color);border-radius:6px;min-width:220px;padding:7px 10px;font-size:.85rem}.org-picker{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;padding:10px;font-size:.85rem}.org-picker-search{box-sizing:border-box;border:1px solid var(--border-color);background:#fff;border-radius:6px;width:100%;margin-bottom:8px;padding:7px 10px;font-size:.85rem}.org-picker .modal-select-all{border:1px solid var(--border-color);background:#fff;border-radius:6px;margin-bottom:8px;padding:6px 10px}.org-picker-list{border:1px solid var(--border-color);background:#fff;border-radius:6px;flex-direction:column;gap:4px;max-height:220px;padding:8px 10px;display:flex;overflow-y:auto}.org-picker-list .modal-checkbox-group:last-child{margin-bottom:0}.org-picker-list .modal-checkbox-group-list{flex-flow:wrap;gap:6px 10px}.org-picker-list .modal-checkbox-option{background:var(--bg-secondary);cursor:pointer;border:1px solid #0000;border-radius:14px;align-items:center;gap:4px;padding:3px 10px 3px 8px;font-size:.8rem;display:inline-flex}.org-picker-list .modal-checkbox-option:hover{border-color:var(--primary)}.toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.page-search{border:1px solid var(--border-color);border-radius:6px;width:100%;max-width:320px;margin-left:auto;padding:7px 12px;font-size:.85rem}.toolbar input:focus,.inline-form input:focus,.inline-form select:focus,.create-field input:focus,.create-field select:focus,.mass-assign-bar select:focus,.org-picker-search:focus,.modal-search:focus,.modal-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #667eea26}.client-group{margin-bottom:24px}.client-group-header{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;margin:0 0 10px;padding-bottom:6px;font-size:.95rem;font-weight:600;display:flex}.org-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.org-box{border:1px solid var(--border-color);box-shadow:var(--card-shadow);background:#fff;border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.org-box-title{font-weight:700}.org-box-meta{color:var(--text-secondary);font-size:.75rem}.org-box button{background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;align-self:flex-start;padding:6px 14px;font-size:.8rem}.org-card{transition:transform .2s,box-shadow .2s}.org-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026!important}.org-card-clickable{cursor:pointer}.org-card-clickable:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.org-card-opening{opacity:.6;pointer-events:none}.org-type-badge{letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:.68rem;font-weight:600;display:inline-block}.org-type-badge-prod{color:#177a4d;background:#e3f5ec}.org-type-badge-preprod{color:#96690b;background:#fbf0dc}.org-type-badge-uat{color:#33668d;background:#e4eff7}.org-type-badge-dev{color:#5f4fb3;background:#ebe7f9}.org-type-badge-other{color:#5f676e;background:#f1f3f5}.env-dots{align-items:center;gap:5px;margin-left:auto;display:flex}.env-dot{border-radius:50%;width:7px;height:7px}.env-dot-prod{background:#1f9d63}.env-dot-preprod{background:#d99a1b}.env-dot-uat{background:#3f7cac}.env-dot-dev{background:#8b7fc7}.env-dot-other{background:#adb5bd}.group-count{color:var(--primary);background:#667eea24;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:600}.orgs-table-group[open]>.orgs-table-group-summary .group-count{color:#fff;background:#ffffff3d}.org-card-username{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.org-card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.org-card-titlewrap{flex:1;min-width:0}.org-card-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.orgs-table-group{border:1px solid var(--border-color);box-shadow:var(--card-shadow);background:#fff;border-radius:10px;margin-bottom:14px;transition:box-shadow .2s;overflow:hidden}.orgs-table-group[open]{box-shadow:0 4px 16px #667eea2e}.orgs-table-group-summary{cursor:pointer;color:#212529;background:var(--bg-secondary);-webkit-user-select:none;user-select:none;border-bottom:1px solid #0000;align-items:center;gap:10px;padding:12px 16px;font-size:.95rem;font-weight:600;list-style:none;transition:background .15s;display:flex}.orgs-table-group[open]>.orgs-table-group-summary{background:var(--gradient-primary);color:#fff;border-bottom-color:var(--border-color)}.orgs-table-group-summary:hover{background:#667eea1f}.orgs-table-group[open]>.orgs-table-group-summary:hover{background:var(--gradient-primary);filter:brightness(1.05)}.orgs-table-group-summary::-webkit-details-marker{display:none}.orgs-table-group-summary:before{content:"▶";font-size:.65rem;transition:transform .2s;display:inline-block}.orgs-table-group[open]>.orgs-table-group-summary:before{transform:rotate(90deg)}.orgs-table-group .orgs-table{margin-bottom:0}.orgs-table{border-collapse:collapse;width:100%}.orgs-table thead th{background:var(--bg-secondary);text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);padding:8px 14px;font-size:.78rem}.orgs-table tbody tr{transition:background .12s}.orgs-table tbody tr:nth-child(2n){background:#00000004}.orgs-table tbody tr:hover{background:#667eea12}.orgs-table td{padding:8px 14px}.orgs-table-actions-cell{width:76px}.org-open-btn{white-space:nowrap;padding:3px 10px;font-size:.75rem}.skeleton-box{pointer-events:none}.skeleton-box:hover{transform:none;box-shadow:var(--card-shadow)!important}.empty-state{text-align:center;max-width:420px;color:var(--text-secondary);border:1px dashed var(--border-color);background:#fff;border-radius:10px;margin:28px auto;padding:26px;font-size:.9rem}@keyframes skeleton-shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.skeleton-line{background:linear-gradient(90deg,#eef0f5 25%,#e2e5ec 37%,#eef0f5 63%) 0 0/400px 100%;border-radius:4px;height:14px;margin-bottom:10px;animation:1.4s infinite skeleton-shimmer}.skeleton-table-real{width:100%;box-shadow:var(--card-shadow);border-collapse:collapse;background:#fff;border-radius:8px}.skeleton-table-real th,.skeleton-table-real td{border-bottom:1px solid var(--border-color);padding:12px 16px}.skeleton-table-real thead{background:var(--bg-secondary)}.skeleton-table-real tbody tr:last-child td{border-bottom:none}.skeleton-table-real .skeleton-line{margin-bottom:0}.skeleton-line-header{opacity:.8;height:12px}.skeleton-line-title{width:70%;height:16px}.skeleton-line-meta{width:40%;height:10px}.skeleton-line-button{border-radius:6px;width:50px;height:26px}.view-toggle{gap:8px;display:flex}.view-toggle button{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:4px;padding:5px 12px;font-size:.8rem}.view-toggle button.active{border-color:var(--primary);color:var(--primary);font-weight:700}.log-box{min-width:220px}.log-box-list{max-height:160px;margin:0;padding-left:18px;font-size:.75rem;overflow-y:auto}.details-modal-actions{border-top:1px solid var(--border-color);flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:12px;display:flex}.details-modal-actions button{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:5px;padding:5px 12px;font-size:.8rem}.details-modal-actions button:hover{border-color:var(--primary);color:var(--primary)}.details-modal-actions button.danger{color:#c0392b;border-color:#c0392b}.details-header{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;display:flex}.details-avatar{background:var(--gradient-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:46px;min-width:46px;height:46px;font-size:1.3rem;display:flex}.details-header-info{flex:1;min-width:0}.details-header-name{color:#212529;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:700;overflow:hidden}.details-header-email{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.details-status-badge{text-transform:capitalize;font-weight:500}.details-grid{grid-template-columns:repeat(2,1fr);gap:10px 16px;margin-bottom:16px;display:grid}.details-item{background:var(--bg-secondary);border-radius:6px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.details-item-wide{grid-column:1/-1}.details-item-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:600}.details-item-value{color:#212529;font-size:.85rem}.details-log-wrap{font-size:.85rem}.details-log-heading{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;font-size:.78rem;font-weight:600}.details-log{flex-direction:column;gap:2px;max-height:140px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.details-log li{border-radius:5px;justify-content:space-between;align-items:center;gap:8px;padding:5px 8px;display:flex}.details-log li:hover{background:var(--bg-secondary)}.details-log-org{color:#212529;font-size:.82rem}.details-log-time{color:var(--text-secondary);white-space:nowrap;font-size:.75rem}.edit-user-form{flex-direction:column;gap:8px;max-width:360px;display:flex}.edit-user-form label{flex-direction:column;gap:3px;font-size:.8rem;display:flex}.edit-user-form input,.edit-user-form select{border:1px solid var(--border-color);border-radius:4px;padding:6px}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:#fff;border-radius:10px;width:420px;max-width:90vw;max-height:85vh;padding:20px;overflow-y:auto;box-shadow:0 4px 20px #00000040}.modal-header-row{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.modal-title-text{margin:0;font-size:1rem;font-weight:600}.modal-close-x{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.4rem;line-height:1}.modal-close-x:hover{color:#c0392b}.modal-message{white-space:pre-wrap;margin:0 0 12px;font-size:.9rem}.modal-input{box-sizing:border-box;resize:vertical;border:1px solid var(--border-color);border-radius:4px;width:100%;min-height:70px;padding:8px;font-size:.85rem}.modal-search{box-sizing:border-box;border:1px solid var(--border-color);border-radius:4px;width:100%;margin-bottom:8px;padding:8px;font-size:.85rem}.modal-select-all{border-bottom:1px solid var(--border-color);margin-bottom:6px;padding-bottom:6px;font-weight:700}.modal-checkbox-list{flex-direction:column;gap:6px;max-height:220px;font-size:.85rem;display:flex;overflow-y:auto}.modal-checkbox-group{margin-bottom:10px}.modal-checkbox-group-heading{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin:0 0 4px;font-size:.75rem;font-weight:600}.modal-checkbox-group-list{flex-direction:column;gap:4px;display:flex}.modal-checkbox-option{align-items:center;gap:6px;display:flex}.modal-checkbox-option input[type=checkbox]{width:14px;min-width:14px;height:14px;accent-color:var(--primary);margin:0}.modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.modal-actions button{border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:6px;padding:6px 16px;font-size:.85rem}.modal-actions .modal-ok{background:var(--gradient-primary);color:#fff;border:none}.modal-actions .modal-ok.danger{background:#c0392b;border:none}.user-link-btn{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;max-width:100%;padding:4px 6px;display:flex}.user-link-btn:hover{background:#667eea14}.user-link-avatar{background:var(--gradient-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;min-width:26px;height:26px;font-size:.75rem;display:flex}.user-link-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.user-link-name{color:#212529;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.user-link-email{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.log-card-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.log-card-list li{justify-content:space-between;align-items:center;gap:8px;padding:2px 0;display:flex}.log-card-list li .user-link-btn{flex:1;min-width:0}.log-card-time{color:var(--text-secondary);white-space:nowrap;font-size:.75rem}.btn-primary{background:var(--gradient-primary)!important;border-color:#0000!important}.btn-primary:hover,.btn-primary:focus{filter:brightness(1.06);border-color:#0000!important;box-shadow:0 0 0 3px #667eea33!important}.card,.create-card,.inline-form,.mass-assign-bar{border-radius:10px}.card{box-shadow:var(--card-shadow)!important;border:none!important}
