.app{min-height:100vh;background:#fff;display:flex}.sidebar{width:260px;background:#1e3a5f;border-right:1px solid #1a2e47;display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:100}.logo-container{padding:2rem 1.5rem;border-bottom:1px solid #1a2e47;display:flex;flex-direction:column;align-items:center;gap:1rem;background:#1e3a5f}.logo-container .logo{max-width:200px;width:100%;height:auto;max-height:120px}.logo-text{font-size:1.1rem;margin:0;color:#fff;font-weight:700;letter-spacing:-.3px;line-height:1.3;text-align:center}.nav-menu{padding:1rem;display:flex;flex-direction:column;gap:.5rem;flex:1;background:#1e3a5f}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:transparent;border:none;border-radius:8px;cursor:pointer;font-size:1rem;color:#fff;font-weight:500;transition:all .2s ease;text-align:left;width:100%}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:#f9b608;color:#1e3a5f;font-weight:600;border-left:none;border-radius:8px}.nav-item.active .nav-icon{color:#1e3a5f}.nav-item:disabled{cursor:default;opacity:1}.nav-item:disabled:hover{background:#f9b608}.nav-icon{font-size:1.25rem;color:#fff;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;transition:color .2s ease}.nav-icon svg{width:100%;height:100%;display:block;transition:none}.nav-item.active .nav-icon{color:#2563eb}.nav-item.active .nav-icon svg{color:#1e3a5f;fill:none;stroke:#1e3a5f}.nav-group{display:flex;flex-direction:column;gap:.25rem}.nav-group .nav-item:first-child{margin-bottom:0}.nav-sub-item{padding-left:2.25rem;font-size:.9375rem}.nav-chevron{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;opacity:.85}.nav-item.active .nav-chevron{opacity:1}.nav-chevron svg{width:16px;height:16px}.main-content{flex:1;margin-left:260px;padding:2rem;min-height:100vh}.page-header{margin-bottom:2rem}.page-header h2{color:#1e3a5f;margin:0;font-size:2rem;font-weight:600}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.project-card{background:#fff;border-radius:8px;padding:0;cursor:pointer;transition:all .3s ease;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;height:100%}.project-card:hover{transform:translateY(-2px);border-color:#f9b608;box-shadow:0 4px 12px #1e3a5f1a}.project-card h3{color:#1e3a5f;margin:.75rem 0 .5rem;font-size:1.1rem;font-weight:600;padding:0 1rem}.project-card p{color:#64748b;margin:0 0 1rem;line-height:1.5}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding:.75rem 1rem;border-top:1px solid #f1f5f9}.view-details{color:#64748b;font-weight:500;font-size:.8rem;transition:all .3s ease}.project-card:hover .view-details{color:#f9b608}.project-details{width:100%;max-width:100%}.details-card{background:#fff;border-radius:8px;padding:2rem;border:1px solid #e2e8f0;box-shadow:0 2px 8px #00000014;width:100%}.details-card h3{color:#1e3a5f;margin:0 0 1.5rem;font-size:1.75rem;font-weight:600;border-bottom:3px solid #f9b608;padding-bottom:.75rem}.detail-item{display:flex;margin-bottom:1.5rem;align-items:flex-start}.detail-item .label{font-weight:600;color:#1e3a5f;min-width:120px;margin-right:1rem}.detail-item .value{color:#64748b;flex:1}.detail-item .value .external-link{color:#2563eb;text-decoration:underline;word-break:break-all}.detail-item .value .external-link:hover{color:#1d4ed8}.project-details-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin:1.5rem 0;padding:1.5rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.detail-item-compact{display:flex;flex-direction:column;gap:.25rem}.label-compact{font-weight:600;color:#1e3a5f;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.value-compact{color:#64748b;font-size:.95rem;line-height:1.5}.project-details-collapsed{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.project-details-collapsed summary{cursor:pointer;color:#64748b;font-weight:500;font-size:.9rem;padding:.5rem;border-radius:4px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.project-details-collapsed summary:hover{background:#f8fafc;color:#1e3a5f}.project-details-collapsed summary::-webkit-details-marker{display:none}.project-details-collapsed summary:before{content:"▶";display:inline-block;margin-right:.5rem;transition:transform .2s ease;font-size:.75rem}.project-details-collapsed[open] summary:before{transform:rotate(90deg)}.collapsed-content{margin-top:1rem;padding-left:1.5rem}.status-badge{display:inline-block;padding:.25rem .625rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-active{background:#e0f2fe;color:#1e3a5f;border:1px solid #bae6fd}.status-inactive{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.status-pending{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.status-archived{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.project-thumbnail{width:100%;max-height:300px;object-fit:cover;border-radius:8px;margin-bottom:1.5rem}.project-card-thumbnail{width:100%;height:200px;object-fit:cover;border-radius:8px 8px 0 0;margin:0;display:block}.project-card-meta{display:flex;flex-direction:column;gap:.375rem;margin:.5rem 1rem;flex:1}.assignee-label{display:inline-block;padding:.25rem .625rem;background:#e0f2fe;color:#1e3a5f;border-radius:12px;font-size:.75rem;font-weight:500;border:1px solid #bae6fd;width:fit-content}.modified-date{color:#64748b;font-size:.75rem;font-weight:400}.back-button{background:#f8fafc;border:1px solid #e2e8f0;padding:.5rem 1rem;border-radius:6px;cursor:pointer;color:#1e3a5f;font-weight:500;margin-bottom:1rem;transition:all .2s ease}.back-button:hover{background:#f1f5f9;border-color:#cbd5e1}.button-primary{background:#1e3a5f;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500}.button-primary:hover{background:#2d4a6f}.button-secondary{background:#f8fafc;color:#1e3a5f;border:1px solid #e2e8f0;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background .2s,border-color .2s}.button-secondary:hover{background:#f1f5f9;border-color:#cbd5e1}.button-danger{background:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500}.button-danger:hover{background:#b91c1c}.form-row{margin-bottom:1rem}.form-row label{display:block;margin-bottom:.25rem;font-weight:500;color:#334155}.form-row input,.form-row select{width:100%;max-width:400px;padding:.5rem;border:1px solid #e2e8f0;border-radius:6px}.form-actions{display:flex;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap}.member-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.member-actions .move-team-select{min-width:140px;padding:.35rem .5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.9rem}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f8fafc}.tabs{display:flex;gap:.25rem;border-bottom:1px solid #e2e8f0;padding-bottom:0}.tab-button{padding:.6rem 1.2rem;border:none;border-bottom:3px solid transparent;margin-bottom:-1px;background:transparent;color:#64748b;font-size:1rem;font-weight:500;cursor:pointer;border-radius:6px 6px 0 0;transition:color .2s,background .2s}.tab-button:hover{color:#1e3a5f;background:#f8fafc}.tab-button.active{color:#1e3a5f;border-bottom-color:#f9b608;background:#f8fafc}.pagination-info{color:#475569;font-size:.9rem;font-weight:500;margin-top:1rem;padding:.75rem 1rem;background:#f1f5f9;border-radius:6px;border:1px solid #e2e8f0;display:inline-block}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1.5rem}.pagination-button{background:#fff;border:1px solid #e2e8f0;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;color:#1e3a5f;font-weight:500;transition:all .2s ease}.pagination-button:hover:not(:disabled){background:#f8fafc;border-color:#f9b608}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-page{color:#64748b;font-weight:500}.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.team-card{background:#fff;border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .3s ease;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.team-card:hover{transform:translateY(-2px);border-color:#f9b608;box-shadow:0 4px 12px #1e3a5f1a}.team-card h3{color:#1e3a5f;margin:0 0 .5rem;font-size:1.5rem}.team-owner{color:#64748b;margin:.5rem 0;font-size:.9rem}.team-members{color:#64748b;margin:.5rem 0;font-size:.9rem;font-weight:500}.team-details{max-width:800px}.users-list{list-style:none;padding:0;margin:.5rem 0}.users-list li{padding:.5rem 0;border-bottom:1px solid #f1f5f9;color:#64748b}.users-list li:last-child{border-bottom:none}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.user-card{background:#fff;border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .3s ease;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.user-card:hover{transform:translateY(-2px);border-color:#f9b608;box-shadow:0 4px 12px #1e3a5f1a}.user-card h3{color:#1e3a5f;margin:0 0 .5rem;font-size:1.5rem}.user-email{color:#64748b;margin:.5rem 0;font-size:.9rem;font-weight:500}.user-name{color:#64748b;margin:.5rem 0;font-size:.9rem}.user-details{max-width:800px}.users-search-container{display:flex;align-items:center;gap:.5rem}.users-search-input{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#1e3a5f;font-size:.9rem;transition:all .2s ease;min-width:300px}.users-search-input:focus{outline:none;border-color:#f9b608;box-shadow:0 0 0 3px #f9b6081a}.users-search-input::placeholder{color:#94a3b8}.users-table-container{background:#fff;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.users-table th{padding:1rem;text-align:left;font-weight:600;color:#1e3a5f;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.users-table td{padding:1rem;border-bottom:1px solid #f1f5f9;color:#64748b;font-size:.9rem}.users-table tbody tr{transition:background-color .2s ease}.users-table tbody tr:hover{background-color:#f8fafc}.users-table tbody tr:last-child td{border-bottom:none}.user-id-cell{font-family:Courier New,monospace;font-size:.85rem;color:#94a3b8}.view-user-button{background:#f9b608;color:#1e3a5f;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.view-user-button:hover{background:#e6a507;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.view-user-button:active{transform:translateY(0)}.project-files-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #e2e8f0}.project-files-table-container{background:#fff;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;overflow-x:auto}.project-files-table{width:100%;border-collapse:collapse}.project-files-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.project-files-table th{padding:1rem;text-align:left;font-weight:600;color:#1e3a5f;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.project-files-table th.sortable-header{transition:background-color .2s ease;position:relative}.project-files-table th.sortable-header:hover{background-color:#f1f5f9}.project-files-table td{padding:1rem;border-bottom:1px solid #f1f5f9;color:#64748b;font-size:.9rem}.project-files-table tbody tr{transition:background-color .2s ease}.project-files-table tbody tr:hover{background-color:#f8fafc}.project-files-table tbody tr:last-child td{border-bottom:none}.file-type-badge{display:inline-block;padding:.25rem .5rem;background:#e0f2fe;color:#1e3a5f;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.file-download-link{color:#2563eb;text-decoration:none;font-weight:500;transition:color .2s ease}.file-download-link:hover{color:#1d4ed8;text-decoration:underline}.file-preview-cell{width:100px;padding:.5rem!important}.file-preview-container{position:relative;width:80px;height:80px;border-radius:6px;overflow:hidden;border:1px solid #e2e8f0;background:#f8fafc;display:flex;align-items:center;justify-content:center}.file-preview-image{width:100%;height:100%;object-fit:cover;cursor:pointer;transition:transform .2s ease}.file-preview-image:hover{transform:scale(1.1)}.file-preview-placeholder{width:80px;height:80px;border-radius:6px;border:1px solid #e2e8f0;background:#f8fafc;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#94a3b8}.generated-by-badge{display:inline-block;padding:.375rem .75rem;background:#e0f2fe;color:#1e3a5f;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize;letter-spacing:.3px}.generated-by-badge.generated-by-manual{background:#f1f5f9;color:#64748b}.image-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.image-modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.image-modal-close{position:absolute;top:-2.5rem;right:0;background:#fff3;border:2px solid rgba(255,255,255,.5);color:#fff;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-weight:300;line-height:1}.image-modal-close:hover{background:#ffffff4d;border-color:#fffc}.image-modal-image{max-width:100%;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 4px 20px #00000080}.project-plan-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #e2e8f0}.plan-display-container{width:100%}.floors-container{display:flex;flex-direction:column;gap:2rem}.floor-section{background:#f8fafc;border-radius:8px;padding:1.5rem;border:1px solid #e2e8f0}.floor-title{color:#1e3a5f;font-size:1.5rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #f9b608}.floor-image-container{position:relative;width:100%;background:#fff;border-radius:6px;border:1px solid #e2e8f0;overflow:hidden;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;min-height:400px}.floor-svg-image{max-width:100%;height:auto;display:block}.floor-canvas{max-width:100%;height:auto}.floor-placeholder{padding:3rem;text-align:center;color:#94a3b8;font-style:italic}.rooms-info{margin-top:1rem}.rooms-count{color:#1e3a5f;font-weight:600;margin-bottom:.5rem}.rooms-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;margin-top:.5rem}.room-item{display:flex;flex-direction:column;padding:.75rem;background:#fff;border-radius:6px;border:1px solid #e2e8f0}.room-name{font-weight:600;color:#1e3a5f;margin-bottom:.25rem}.room-dimensions{font-size:.85rem;color:#64748b}.plan-description{color:#64748b;line-height:1.6}.plan-stats{display:flex;gap:1.5rem;flex-wrap:wrap}.stat-item{padding:.75rem 1rem;background:#fff;border-radius:6px;border:1px solid #e2e8f0;color:#64748b}.stat-item strong{color:#1e3a5f;margin-right:.5rem}.floor-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e2e8f0;padding-bottom:.5rem;flex-wrap:wrap}.floor-tab{padding:.75rem 1.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px 8px 0 0;cursor:pointer;font-size:.95rem;font-weight:500;color:#64748b;transition:all .2s ease;border-bottom:none;position:relative;bottom:-2px}.floor-tab:hover{background:#f8fafc;color:#1e3a5f}.floor-tab.active{background:#f1f5f9;color:#1e3a5f;font-weight:600;border-color:#f9b608;border-bottom:2px solid #f1f5f9;z-index:1}.header-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.controls-section{display:flex;flex-direction:column;gap:1.5rem;width:100%;background:#f8fafc;padding:1.5rem;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.filter-controls{display:flex;align-items:flex-end;gap:1.25rem;flex-wrap:wrap;padding-bottom:.5rem}.filter-group{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:200px}.filter-group label{color:#1e3a5f;font-weight:600;font-size:.9rem;margin-bottom:.5rem}.filter-input{padding:.625rem .875rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#1e3a5f;font-size:.9rem;transition:all .2s ease;width:100%;box-shadow:0 1px 2px #0000000d}.filter-input:hover{border-color:#94a3b8}.filter-input:focus{outline:none;border-color:#f9b608;box-shadow:0 0 0 3px #f9b6081a}.filter-input.invalid-email{border-color:#ef4444}.filter-input.invalid-email:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.filter-input::placeholder{color:#94a3b8}.email-validation-hint{display:block;color:#ef4444;font-size:.75rem;margin-top:.25rem;font-style:italic}.filter-actions{display:flex;gap:.5rem;align-items:flex-end;margin-top:0}.search-button{padding:.5rem 1.5rem;background:#f9b608;color:#1e3a5f;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.search-button:hover:not(:disabled){background:#e6a507;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.search-button:active:not(:disabled){transform:translateY(0)}.search-button:disabled{background:#cbd5e1;color:#94a3b8;cursor:not-allowed;opacity:.6}.clear-filters-button{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease;white-space:nowrap;height:fit-content}.clear-filters-button:hover{background:#fecaca;border-color:#f87171}.filter-indicator{color:#f9b608;font-weight:600;margin-left:.5rem}.sort-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding-top:.5rem;border-top:1px solid #e2e8f0}.sort-controls label{color:#1e3a5f;font-weight:600;font-size:.9rem;white-space:nowrap}.sort-select{padding:.625rem 2.5rem .625rem .875rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#1e3a5f;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231e3a5f' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.sort-select:hover{border-color:#94a3b8}.sort-select:hover{border-color:#f9b608}.sort-select:focus{outline:none;border-color:#f9b608;box-shadow:0 0 0 3px #f9b6081a}.clear-sort-button{background:#fee2e2;border:1px solid #fecaca;color:#991b1b;padding:.5rem;width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:700;transition:all .2s ease;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0}.clear-sort-button:hover{background:#fecaca;border-color:#f87171}@media (max-width: 768px){.header-top{flex-direction:column;align-items:flex-start}.controls-section,.filter-controls{width:100%}.filter-group{width:100%;min-width:unset}.sort-controls{width:100%;flex-wrap:wrap}.sort-select{flex:1;min-width:150px}}.loading{text-align:center;color:#64748b;font-size:1.5rem;padding:3rem;font-weight:500}.empty-state{text-align:center;color:#64748b;font-size:1.2rem;padding:3rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.error-message{background:#fee2e2;color:#991b1b;padding:1rem;border-radius:8px;margin-bottom:2rem;text-align:center;font-weight:600}.workspace-view{max-width:1200px}.workspace-card{background:#fff;border-radius:8px;padding:2rem;border:1px solid #e2e8f0;box-shadow:0 2px 8px #00000014}.workspace-content{margin-bottom:2rem;font-family:Courier New,monospace;font-size:.9rem;line-height:1.6}.json-item{margin:.5rem 0;padding:.25rem 0}.json-key{color:#1e3a5f;font-weight:600;margin-right:.5rem}.json-string{color:#059669}.json-number{color:#2563eb}.json-boolean{color:#7c3aed}.json-null{color:#64748b;font-style:italic}.json-empty{color:#94a3b8;font-style:italic}.json-object,.json-array{margin-top:.5rem;padding-left:1rem;border-left:2px solid #e2e8f0}.workspace-raw{margin-top:2rem;padding-top:2rem;border-top:1px solid #e2e8f0}.workspace-raw summary{cursor:pointer;color:#1e3a5f;font-weight:600;margin-bottom:1rem;padding:.5rem;border-radius:4px;transition:background .2s ease}.workspace-raw summary:hover{background:#f8fafc}.workspace-raw pre{background:#f8fafc;padding:1.5rem;border-radius:8px;overflow-x:auto;border:1px solid #e2e8f0;font-size:.85rem;line-height:1.5;color:#1e3a5f}@media (max-width: 768px){.sidebar{width:100%;height:auto;position:relative;border-right:none;border-bottom:1px solid #e2e8f0}.logo-container{padding:1rem;flex-direction:row;justify-content:center}.logo-container .logo{max-width:150px;max-height:80px}.logo-text{font-size:1.25rem}.nav-menu{flex-direction:row;overflow-x:auto;padding:.5rem 1rem}.nav-item{white-space:nowrap;min-width:fit-content}.main-content{margin-left:0;padding:1rem}.projects-grid{grid-template-columns:1fr}.page-header h2{font-size:1.5rem}.users-search-container{width:100%;margin-top:1rem}.users-search-input{width:100%;min-width:unset}.users-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.users-table{min-width:600px}.users-table th,.users-table td{padding:.75rem .5rem;font-size:.85rem}.view-user-button{padding:.4rem .75rem;font-size:.8rem}}.auth-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#f1f5f9}.login-screen{min-height:100vh;background:linear-gradient(135deg,#1e3a5f,#2d4a6f);display:flex;align-items:center;justify-content:center;padding:1rem}.login-box{background:#fff;border-radius:12px;padding:2.5rem;max-width:400px;width:100%;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;align-items:center;gap:1rem}.login-box .logo-text{color:#1e3a5f;margin:0}.login-subtitle{color:#64748b;margin:0;font-size:1rem}.login-error{color:#dc2626;font-size:.9rem;margin:0;text-align:center}.login-button{margin-top:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#1e3a5f;background:#f9b608;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.login-button:hover{background:#e0a506}.nav-item-logout{margin-top:auto;color:#ffffffd9}.nav-item-logout:hover{background:#dc262633;color:#fff}.admin-groups-list{list-style:none;padding:0;margin:0 0 1.5rem;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.admin-groups-list li{border-bottom:1px solid #e2e8f0}.admin-groups-list li:last-child{border-bottom:none}.admin-groups-list a{display:block;padding:.75rem 1rem;color:#1e3a5f;text-decoration:none;font-weight:500}.admin-groups-list a:hover{background:#f1f5f9}.admin-create-user-form{max-width:400px;display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.admin-create-user-form label{display:flex;flex-direction:column;gap:.25rem;font-weight:500;color:#1e3a5f}.admin-create-user-form input,.admin-create-user-form select{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:1rem}.admin-create-user-form button[type=submit]{padding:.75rem 1rem;background:#f9b608;color:#1e3a5f;font-weight:600;border:none;border-radius:8px;cursor:pointer}.admin-create-user-form button[type=submit]:hover{background:#e0a506}.admin-create-user-form .form-error{color:#dc2626;font-size:.9rem}.admin-users-hint{color:#64748b;font-size:.9rem;margin:0 0 1rem}.admin-users-table-wrap{overflow-x:auto;margin-top:.5rem}.admin-users-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-users-table th,.admin-users-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e2e8f0}.admin-users-table th{font-weight:600;color:#1e3a5f;background:#f8fafc}.admin-user-roles{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.admin-roles-loading{color:#64748b;font-style:italic}.admin-role-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#e0f2fe;color:#0369a1;border-radius:6px;font-size:.85rem}.admin-role-remove{padding:0 .2rem;margin:0;background:transparent;border:none;cursor:pointer;color:#0369a1;font-size:1.1rem;line-height:1;border-radius:2px}.admin-role-remove:hover:not(:disabled){background:#0000001a;color:#0c4a6e}.admin-role-remove:disabled{opacity:.6;cursor:not-allowed}.admin-role-add-select{padding:.25rem .5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.85rem;background:#fff;color:#475569}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;color:#1e293b}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
