:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{font-size:90%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f9f9f9;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.dark-theme{color-scheme:dark;color:#ffffffde;background-color:#242424}.dark-theme button{background-color:#1a1a1a}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)!important;padding:20px;position:relative}.login-theme-toggle{position:absolute;top:20px;right:20px;width:50px;height:50px;padding:0;background:#fff3;border:2px solid rgba(255,255,255,.3);border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10}.login-theme-toggle:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.05)}.login-theme-toggle:active{transform:scale(.95)}.login-container{background:#fff!important;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:420px;overflow:hidden}.login-header{text-align:center;padding:40px 40px 30px;background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff}.login-logo{font-size:48px;margin-bottom:16px}.login-header h1{font-size:1.5rem;font-weight:600;margin:0 0 8px}.login-header p{font-size:.9rem;opacity:.8;margin:0}.login-form{padding:30px 40px;background:#fff!important}.login-error{background:#fee2e2!important;border:1px solid #fecaca!important;color:#dc2626!important;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.9rem;display:flex!important;align-items:center;gap:8px}.error-icon{font-size:1.1rem}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151!important;margin-bottom:6px}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:14px;font-size:1.1rem;z-index:1;line-height:1;display:flex;align-items:center;justify-content:center;width:20px}.input-wrapper input{width:100%;padding:12px 44px 12px 48px!important;font-size:1rem;border:2px solid #e5e7eb!important;border-radius:8px;transition:all .2s ease;background:#f9fafb!important;color:#1f2937!important}.input-wrapper input:focus{outline:none;border-color:#667eea!important;background:#fff!important;box-shadow:0 0 0 3px #667eea1a}.input-wrapper input:disabled{background:#e5e7eb;cursor:not-allowed}.toggle-password{position:absolute;right:8px;background:none;border:none;cursor:pointer;padding:8px;font-size:1rem;opacity:.6;transition:opacity .2s}.toggle-password:hover{opacity:1}.login-button{width:100%;padding:14px 24px;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(prefers-color-scheme:dark){.login-page{background:linear-gradient(135deg,#1e1e3f,#2d1b4e)}.login-container{background:#1f2937}.login-header{background:linear-gradient(135deg,#111827,#1f2937)}.form-group label{color:#d1d5db}.input-wrapper input{background:#374151;border-color:#4b5563;color:#f3f4f6}.input-wrapper input:focus{background:#4b5563;border-color:#667eea}.login-error{background:#450a0a!important;border-color:#7f1d1d!important;color:#fca5a5!important}}.dark-theme .login-page{background:linear-gradient(135deg,#1e1e3f,#2d1b4e)!important}.dark-theme .login-container{background:#1f2937!important}.dark-theme .login-header{background:linear-gradient(135deg,#111827,#1f2937)!important}.dark-theme .login-form{background:#1f2937!important}.dark-theme .form-group label{color:#d1d5db!important}.dark-theme .input-wrapper input{background:#374151!important;border-color:#4b5563!important;color:#f3f4f6!important}.dark-theme .input-wrapper input:focus{background:#4b5563!important;border-color:#667eea!important}.dark-theme .login-error{background:#450a0a!important;border-color:#7f1d1d!important;color:#fca5a5!important}.dark-theme .login-theme-toggle{background:#0000004d;border-color:#fff3}.dark-theme .login-theme-toggle:hover{background:#0006;border-color:#fff6}@media(max-width:480px){.login-container{margin:10px}.login-header{padding:30px 24px 20px}.login-form{padding:24px}}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:1rem;transition:transform .2s ease,box-shadow .2s ease;border-left:4px solid transparent}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.card-icon{font-size:2rem;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:8px;background:#f5f5f5}.card-content{flex:1}.card-content h3{margin:0 0 .5rem;font-size:.9rem;font-weight:500;color:#666;text-transform:uppercase;letter-spacing:.5px}.card-number{margin:0;font-size:2rem;font-weight:700;color:#333}.summary-card.total{border-left-color:#646cff}.summary-card.total .card-icon{background:#e8e9ff}.summary-card.open{border-left-color:#2196f3}.summary-card.open .card-icon{background:#e3f2fd}.summary-card.new{border-left-color:#9c27b0}.summary-card.new .card-icon{background:#f3e5f5}.summary-card.overdue{border-left-color:#f44336}.summary-card.overdue .card-icon{background:#ffebee}.summary-card.resolved{border-left-color:#4caf50}.summary-card.resolved .card-icon{background:#e8f5e9}@media(max-width:768px){.summary-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.summary-card{padding:1rem}.card-icon{font-size:1.5rem;width:50px;height:50px}.card-content h3{font-size:.75rem}.card-number{font-size:1.5rem}}.dark-theme .summary-card{background:#1e1e1e;box-shadow:0 2px 4px #0000004d}.dark-theme .summary-card:hover{box-shadow:0 4px 8px #0006}.dark-theme .card-icon{background:#2a2a2a}.dark-theme .card-content h3{color:#aaa}.dark-theme .card-number{color:#e0e0e0}.dark-theme .summary-card.total .card-icon{background:#2a2a3a}.dark-theme .summary-card.open .card-icon{background:#1a2a3a}.dark-theme .summary-card.new .card-icon{background:#2a1a3a}.dark-theme .summary-card.overdue .card-icon{background:#3a1a1a}.dark-theme .summary-card.resolved .card-icon{background:#1a3a1a}.category-filter{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.category-filter h3{margin:0 0 1rem;font-size:1.1rem;color:#333}.filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.filter-buttons button{padding:.5rem 1rem;border:2px solid #e0e0e0;background:#f5f5f5;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;color:#333}.filter-buttons button:hover{border-color:#646cff;background:#f0f0ff}.filter-buttons button.active{background:#646cff;color:#fff;border-color:#646cff}.dark-theme .category-filter{background:#1e1e1e;box-shadow:0 2px 4px #0000004d}.dark-theme .category-filter h3{color:#e0e0e0}.dark-theme .filter-buttons button{background:#2a2a2a;border-color:#444;color:#e0e0e0}.dark-theme .filter-buttons button:hover{background:#2a2a3a;border-color:#646cff}.dark-theme .filter-buttons button.active{background:#646cff;color:#fff}.workload-chart{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.workload-chart h3{margin:0 0 1.5rem;font-size:1.1rem;color:#333}.workload-chart .chart-container{display:flex!important;flex-direction:row!important;justify-content:space-around;align-items:flex-end;gap:1rem;min-height:250px;padding:1rem 0;flex-wrap:nowrap!important;width:100%}.chart-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;max-width:120px}.chart-bar-container{width:100%;height:200px;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(to top,#f0f0f0 0% 100%);border-radius:4px;padding:.5rem}.chart-bar{width:60%;min-height:30px;background:linear-gradient(to top,#646cff,#818aff);border-radius:4px 4px 0 0;display:flex;align-items:flex-start;justify-content:center;padding-top:.5rem;transition:all .3s ease;position:relative}.chart-bar:hover{background:linear-gradient(to top,#535bf2,#646cff);transform:scaleY(1.05)}.ticket-count{font-weight:700;font-size:1rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.staff-info{margin-top:.75rem;text-align:center}.staff-name{font-weight:600;font-size:.9rem;color:#333!important;margin-bottom:.25rem}.staff-role{font-size:.8rem;color:#666!important}@media(max-width:768px){.workload-chart .chart-container{overflow-x:auto;min-height:auto;justify-content:flex-start}.chart-bar-wrapper{min-width:100px;flex-shrink:0}.chart-bar-container{height:150px}}.dark-theme .workload-chart{background:#1e1e1e;box-shadow:0 2px 4px #0000004d}.dark-theme .workload-chart h3{color:#e0e0e0}.dark-theme .chart-bar-container{background:linear-gradient(to top,#2a2a2a 0% 100%)}.dark-theme .staff-name{color:#e0e0e0!important}.dark-theme .staff-role{color:#aaa!important}.dashboard{max-width:1400px;margin:0 auto;padding:2rem;background-color:#f5f5f5;min-height:100vh}.dashboard-header{margin-bottom:2rem}.dashboard-header-content{display:flex;justify-content:space-between;align-items:center;gap:1rem;text-align:left}.dashboard-header h1{margin:0 0 .5rem;font-size:2.5rem;color:#333;font-weight:700}.dashboard-subtitle{margin:0;font-size:1.1rem;color:#666;font-weight:400}.refresh-btn{padding:.75rem 1.25rem;background:#646cff;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.refresh-btn:hover{background:#5a5fd8;transform:translateY(-1px)}.refresh-btn:active{transform:translateY(0)}@media(max-width:768px){.dashboard{padding:1rem}.dashboard-header-content{flex-direction:column;text-align:center;align-items:center}.dashboard-header h1{font-size:2rem}.dashboard-subtitle{font-size:1rem}.refresh-btn{padding:.6rem 1rem;font-size:.9rem}}.dark-theme .dashboard-header h1{color:#e0e0e0}.dark-theme .dashboard-subtitle{color:#aaa}.dark-theme .dashboard{background-color:#121212}.dark-theme .refresh-btn{background:#5a5fd8}.dark-theme .refresh-btn:hover{background:#6b70e8}.ticket-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:all .2s ease;border-left:4px solid #e0e0e0;height:100%;display:flex;flex-direction:column}.ticket-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.ticket-card.selected{border-left-color:#646cff;box-shadow:0 4px 12px #646cff4d}.ticket-card.overdue-card{border-left-color:#f44336}.ticket-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:.5rem;flex-wrap:wrap}.ticket-id-section{display:flex;flex-direction:column;gap:.5rem}.ticket-id{font-family:monospace;font-weight:700;font-size:.9rem;color:#646cff}.ticket-category{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;background:#f0f0f0;color:#555;width:fit-content}.category-plumbing{background:#e3f2fd;color:#1976d2}.category-electrical{background:#fff3e0;color:#f57c00}.category-hvac{background:#f3e5f5;color:#7b1fa2}.category-cleaning{background:#e8f5e9;color:#388e3c}.category-security{background:#ffebee;color:#d32f2f}.category-landscaping{background:#e0f2f1;color:#00796b}.ticket-badges{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.priority-badge,.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.priority-critical{background:#ffebee!important;color:#c62828!important}.ticket-card-body{flex:1;margin-bottom:1rem}.ticket-title{font-size:1.1rem;font-weight:600;color:#333!important;margin:0 0 .5rem;line-height:1.3}.ticket-description{font-size:.9rem;color:#666!important;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ticket-card-footer{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid #e0e0e0}.ticket-info-row{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.info-item{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:120px}.info-label{font-size:.75rem;color:#999;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:.85rem;color:#333;font-weight:500}.overdue-text{color:#f44336;font-weight:700}.attachments-indicator{font-size:.8rem;color:#646cff;font-weight:500}@media(max-width:768px){.ticket-card{padding:1rem}.ticket-card-header{flex-direction:column;align-items:flex-start}.ticket-badges{justify-content:flex-start;width:100%}.info-item{min-width:100%}}.dark-theme .ticket-card{background:#1e1e1e;box-shadow:0 2px 4px #0000004d;border-left-color:#444}.dark-theme .ticket-card:hover{box-shadow:0 4px 8px #0006}.dark-theme .ticket-card.selected{box-shadow:0 4px 12px #646cff66}.dark-theme .ticket-title{color:#e0e0e0}.dark-theme .ticket-description{color:#aaa}.dark-theme .ticket-category{background:#2a2a2a;color:#aaa}.dark-theme .info-value{color:#e0e0e0}.dark-theme .ticket-card-footer{border-top-color:#444}.ticket-timeline{background:#fff!important;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.timeline-title{margin:0 0 1.5rem;font-size:1.2rem;color:#333!important;font-weight:600}.timeline-container{position:relative;padding-left:2rem}.timeline-container:before{content:"";position:absolute;left:1.25rem;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#646cff,#e0e0e0)}.timeline-entry{position:relative;margin-bottom:1.5rem;display:flex;gap:1rem}.timeline-entry:last-child{margin-bottom:0}.timeline-icon{position:absolute;left:-2rem;width:2.5rem;height:2.5rem;background:#fff;border:2px solid #646cff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;z-index:1}.timeline-entry-status-change .timeline-icon{border-color:#2196f3}.timeline-entry-comment .timeline-icon{border-color:#4caf50}.timeline-entry-assignment .timeline-icon{border-color:#9c27b0}.timeline-entry-attachment .timeline-icon{border-color:#ff9800}.timeline-content{flex:1;background:#f9f9f9!important;padding:1rem;border-radius:8px;border-left:3px solid #e0e0e0}.timeline-entry-status-change .timeline-content{border-left-color:#2196f3}.timeline-entry-comment .timeline-content{border-left-color:#4caf50}.timeline-entry-assignment .timeline-content{border-left-color:#9c27b0}.timeline-entry-attachment .timeline-content{border-left-color:#ff9800}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:1rem;flex-wrap:wrap}.timeline-user-info{display:flex;align-items:center;gap:.75rem}.timeline-user{font-weight:600;color:#333!important;font-size:.95rem}.timeline-role{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;background:#e0e0e0;color:#555;font-weight:500}.timeline-role.staff{background:#e3f2fd;color:#1565c0}.timeline-role.tenant{background:#f3e5f5;color:#7b1fa2}.timeline-timestamp{font-size:.8rem;color:#999}.timeline-message{color:#555!important;line-height:1.5;font-size:.9rem}.timeline-change{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem;background:#fff;border-radius:4px;font-size:.85rem}.old-value{color:#f44336;font-weight:500;text-decoration:line-through}.new-value{color:#4caf50;font-weight:600}.timeline-empty{text-align:center;color:#999;padding:2rem;font-style:italic}@media(max-width:768px){.timeline-container{padding-left:1.5rem}.timeline-container:before{left:.875rem}.timeline-icon{left:-1.5rem;width:2rem;height:2rem;font-size:1rem}.timeline-header,.timeline-change{flex-direction:column;align-items:flex-start}}.dark-theme .ticket-timeline{background:#1e1e1e!important;box-shadow:0 2px 4px #0000004d}.dark-theme .timeline-title{color:#e0e0e0!important}.dark-theme .timeline-container:before{background:linear-gradient(to bottom,#646cff,#444)}.dark-theme .timeline-icon{background:#1e1e1e}.dark-theme .timeline-content{background:#2a2a2a!important;border-left-color:#444}.dark-theme .timeline-user{color:#e0e0e0!important}.dark-theme .timeline-role{background:#444;color:#aaa}.dark-theme .timeline-role.staff{background:#1a3a5a;color:#64b5f6}.dark-theme .timeline-role.tenant{background:#3a1a5a;color:#ba68c8}.dark-theme .timeline-timestamp{color:#777}.dark-theme .timeline-message{color:#ccc!important}.dark-theme .timeline-change{background:#1e1e1e}.dark-theme .timeline-empty{color:#666}.attachment-section{background:#fff!important;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.attachment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.attachment-title{margin:0;font-size:1.2rem;color:#333!important;font-weight:600}.add-attachment-btn{padding:.5rem 1rem;background:#646cff;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.add-attachment-btn:hover{background:#535bf2;transform:translateY(-1px)}.attachment-empty{text-align:center;padding:3rem 1rem;color:#999}.attachment-empty p{margin:.5rem 0}.attachment-empty-hint{font-size:.9rem;color:#bbb}.attachment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.attachment-item{background:#f9f9f9!important;border-radius:8px;padding:1rem;border:2px solid #e0e0e0!important;transition:all .2s ease;display:flex;flex-direction:column;gap:.75rem}.attachment-item:hover{border-color:#646cff;box-shadow:0 2px 8px #646cff33}.attachment-preview{width:100%;height:150px;background:#e0e0e0;border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.attachment-icon{font-size:3rem;opacity:.6}.attachment-image-placeholder,.attachment-video-placeholder{position:absolute;inset:0;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center}.attachment-video-placeholder{background:linear-gradient(135deg,#f093fb,#f5576c)}.image-text,.video-text{color:#fff;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.attachment-photo .attachment-preview{background:linear-gradient(135deg,#667eea,#764ba2)}.attachment-video .attachment-preview{background:linear-gradient(135deg,#f093fb,#f5576c)}.attachment-document .attachment-preview{background:linear-gradient(135deg,#4facfe,#00f2fe)}.attachment-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.attachment-filename{font-weight:600;color:#333!important;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-meta{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#666}.attachment-separator{color:#ccc}.attachment-size{font-weight:500}.attachment-uploader{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-date{font-size:.75rem;color:#999}.attachment-actions{display:flex;gap:.5rem;padding-top:.5rem;border-top:1px solid #e0e0e0}.attachment-action-btn{flex:1;padding:.5rem;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all .2s ease;font-size:1rem}.attachment-action-btn:hover{background:#e8e8e8}.view-btn:hover{background:#e3f2fd;border-color:#2196f3}.download-btn:hover{background:#e8f5e9;border-color:#4caf50}.delete-btn:hover{background:#ffebee;border-color:#f44336}@media(max-width:768px){.attachment-grid{grid-template-columns:1fr}.attachment-header{flex-direction:column;align-items:stretch}.add-attachment-btn{width:100%}}.dark-theme .attachment-section{background:#1e1e1e!important;box-shadow:0 2px 4px #0000004d}.dark-theme .attachment-title{color:#e0e0e0!important}.dark-theme .attachment-empty{color:#666}.dark-theme .attachment-empty-hint{color:#555}.dark-theme .attachment-item{background:#2a2a2a!important;border-color:#444!important}.dark-theme .attachment-item:hover{box-shadow:0 2px 8px #646cff4d}.dark-theme .attachment-preview{background:#333}.dark-theme .attachment-filename{color:#e0e0e0!important}.dark-theme .attachment-meta{color:#aaa}.dark-theme .attachment-date{color:#777}.dark-theme .attachment-actions{border-top-color:#444}.dark-theme .attachment-action-btn{background:#333;border-color:#444}.dark-theme .attachment-action-btn:hover{background:#3a3a3a}.dark-theme .view-btn:hover{background:#1a3a5a}.dark-theme .download-btn:hover{background:#1a3a1a}.dark-theme .delete-btn:hover{background:#3a1a1a}.ticket-details{background:#f5f5f5;height:100%;overflow-y:auto;display:flex;flex-direction:column}.ticket-details-header{background:#fff;padding:2rem;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:10}.header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.ticket-details-title{margin:0;font-size:1.5rem;color:#333;font-weight:700;line-height:1.3;flex:1}.ticket-id-label{display:block;font-size:.9rem;color:#646cff;font-family:monospace;font-weight:600;margin-bottom:.5rem}.close-details-btn{background:#f0f0f0!important;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;color:#333!important}.close-details-btn:hover{background:#e0e0e0!important;transform:scale(1.1);color:#000!important}.header-badges{display:flex;gap:.75rem;flex-wrap:wrap}.status-badge,.priority-badge,.category-badge{padding:.5rem 1rem;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-overdue,.priority-critical{background:#ffebee!important;color:#c62828!important}.priority-high{background:#fff3e0!important;color:#e65100!important}.priority-medium{background:#fff9c4!important;color:#f57f17!important}.priority-low{background:#e8f5e9!important;color:#2e7d32!important}.category-badge{background:#f0f0f0;color:#555}.ticket-details-body{flex:1;padding:2rem;display:flex;flex-direction:column;gap:2rem}.details-section{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.section-title{margin:0 0 1rem;font-size:1.1rem;color:#333;font-weight:600}.ticket-full-description{color:#555;line-height:1.6;margin:0;font-size:1rem}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.5rem}.detail-label{font-size:.8rem;color:#999;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.detail-value{font-size:.95rem;color:#333;font-weight:500}.detail-subvalue{font-size:.85rem;color:#666;font-weight:400;margin-top:.25rem}.inline-status,.inline-priority{display:inline-block;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:700}@media(max-width:768px){.ticket-details-header{padding:1.5rem}.ticket-details-title{font-size:1.2rem}.ticket-details-body{padding:1rem}.details-grid{grid-template-columns:1fr;gap:1rem}.header-badges{flex-direction:column;align-items:flex-start}}.dark-theme .ticket-details{background:#121212}.dark-theme .ticket-details-header{background:#1e1e1e;box-shadow:0 2px 4px #0000004d}.dark-theme .ticket-details-title{color:#e0e0e0}.dark-theme .close-details-btn{background:#2a2a2a}.dark-theme .close-details-btn:hover{background:#3a3a3a}.dark-theme .category-badge{background:#2a2a2a;color:#aaa}.dark-theme .details-section{background:#1e1e1e;box-shadow:0 2px 4px #0000004d}.dark-theme .section-title{color:#e0e0e0}.dark-theme .ticket-full-description{color:#ccc}.dark-theme .detail-label{color:#777}.dark-theme .detail-value{color:#e0e0e0}.dark-theme .detail-subvalue{color:#aaa}.ticket-actions{margin-top:1rem}.action-buttons-row{display:flex;gap:1rem;flex-wrap:wrap}.action-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.close-ticket-btn{background:#10b981!important;color:#fff!important}.close-ticket-btn:hover{background:#059669!important;transform:translateY(-1px)}.reopen-ticket-btn{background:#3b82f6!important;color:#fff!important}.reopen-ticket-btn:hover{background:#2563eb!important;transform:translateY(-1px)}.delete-ticket-btn{background:#ef4444!important;color:#fff!important}.delete-ticket-btn:hover{background:#dc2626!important;transform:translateY(-1px)}.edit-ticket-btn{background:#646cff!important;color:#fff!important}.edit-ticket-btn:hover{background:#535bf2!important;transform:translateY(-1px)}.dark-theme .edit-ticket-btn{background:#535bf2}.dark-theme .edit-ticket-btn:hover{background:#4338ca}.dark-theme .close-ticket-btn{background:#059669}.dark-theme .close-ticket-btn:hover{background:#047857}.dark-theme .reopen-ticket-btn{background:#2563eb}.dark-theme .reopen-ticket-btn:hover{background:#1d4ed8}.dark-theme .delete-ticket-btn{background:#dc2626}.dark-theme .delete-ticket-btn:hover{background:#b91c1c}.ticket-notes-section{margin-top:1.5rem}.notes-container{background:#f8f9fa!important;border-radius:8px;padding:1rem}.notes-loading{text-align:center;color:#666!important;padding:1rem}.no-notes{text-align:center;color:#666!important;font-style:italic;padding:1rem}.add-note-hint{text-align:center;color:#666!important;padding:1rem;background:#fff!important;border-radius:8px;border:1px dashed #ccc!important;margin-top:1rem}.add-note-hint p{margin:0;font-size:.9rem}.note-item{padding:.875rem;border-radius:8px;margin-bottom:.75rem}.note-item:last-child{margin-bottom:0}.note-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.note-user{font-weight:600;color:#333;font-size:.9rem}.note-role-badge{font-size:.7rem;padding:.15rem .5rem;border-radius:10px}.note-role-badge.staff{background:#bbdefb;color:#1565c0}.note-role-badge.tenant{background:#e1bee7;color:#7b1fa2}.delete-note-btn{margin-left:auto;background:transparent!important;border:none!important;cursor:pointer;font-size:.85rem;padding:.25rem .5rem;border-radius:4px;opacity:.6;transition:all .2s ease}.delete-note-btn:hover:not(:disabled){opacity:1;background:#ef44441a!important}.delete-note-btn:disabled{cursor:not-allowed;opacity:.4}.dark-theme .delete-note-btn:hover:not(:disabled){background:#ef444433!important}.note-time{font-size:.75rem;color:#999;margin-left:auto}.note-message{margin:0;font-size:.9rem;color:#444;line-height:1.5}.add-note-form{display:flex;gap:.75rem;align-items:flex-end;padding-top:1rem;border-top:1px solid #e0e0e0}.add-note-form textarea{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:.9rem;font-family:inherit;resize:none;min-height:60px}.add-note-form textarea:focus{outline:none;border-color:#646cff}.add-note-form button{padding:.75rem 1.25rem;background:#646cff;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.add-note-form button:hover:not(:disabled){background:#5a5fd8}.dark-theme .notes-container{background:#1a1a2e!important}.dark-theme .notes-loading,.dark-theme .no-notes{color:#aaa!important}.dark-theme .add-note-hint{background:#16213e!important;border-color:#0f3460!important;color:#aaa!important}.dark-theme .note-item.staff{background:#1e3a5f!important;border-color:#2196f3!important}.dark-theme .note-item.tenant{background:#3d2352!important;border-color:#9c27b0!important}.dark-theme .note-user{color:#f1f1f1!important}.dark-theme .note-message{color:#ccc!important}.dark-theme .add-note-form{border-color:#333!important}.dark-theme .add-note-form textarea{background:#16213e!important;border-color:#0f3460!important;color:#f1f1f1!important}.dark-theme .add-note-form textarea::placeholder{color:#888!important}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.modal-close-btn{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s}.modal-close-btn:hover{background:#f0f0f0;color:#333}.create-ticket-form{padding:2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;position:relative}.form-label{font-weight:600;margin-bottom:.5rem;color:#333!important;font-size:.9rem}.form-input,.form-select,.form-textarea{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;font-family:inherit;transition:all .2s;background:#fff!important;color:#333!important}.tenant-display{padding:.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;background:#f3f4f6;color:#333;cursor:not-allowed}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.char-count{position:absolute;bottom:-20px;right:0;font-size:.75rem;color:#999}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e0e0e0}.btn-cancel,.btn-submit{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s;border:none}.btn-cancel{background:#f3f4f6;color:#374151}.btn-cancel:hover{background:#e5e7eb}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-submit:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}@media(max-width:768px){.modal-content{max-width:100%;max-height:100vh;border-radius:0}.modal-header{padding:1rem 1.5rem}.modal-header h2{font-size:1.25rem}.create-ticket-form{padding:1.5rem}.form-row{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.modal-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}}.dark-theme .modal-content{background:#1e1e1e}.dark-theme .modal-header{border-bottom-color:#333}.dark-theme .modal-close-btn{color:#aaa}.dark-theme .modal-close-btn:hover{background:#2a2a2a;color:#e0e0e0}.dark-theme .form-input,.dark-theme .form-select,.dark-theme .form-textarea{background:#2a2a2a!important;border-color:#404040;color:#e0e0e0!important}.dark-theme .tenant-display{background:#1a1a1a;border-color:#404040;color:#b0b0b0}.dark-theme .form-input:focus,.dark-theme .form-select:focus,.dark-theme .form-textarea:focus{border-color:#818aff;box-shadow:0 0 0 3px #818aff1a}.dark-theme .btn-cancel{background:#2a2a2a;color:#e0e0e0}.dark-theme .btn-cancel:hover{background:#333}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.edit-ticket-modal{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e5e5;position:sticky;top:0;background:#fff;z-index:10;gap:1rem}.modal-header h2{margin:0;font-size:1.25rem;color:#333}.editing-ticket-id{font-family:monospace;font-size:.875rem;color:#646cff;background:#f0f0ff;padding:.25rem .75rem;border-radius:4px;flex-shrink:0}.modal-close-btn{background:#f0f0f0;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;color:#333;margin-left:auto}.modal-close-btn:hover{background:#e0e0e0;transform:scale(1.1)}.modal-loading{padding:3rem;text-align:center;color:#666}.edit-ticket-form{padding:1.5rem;background:#fff}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:600;color:#333;font-size:.875rem}.required{color:#ef4444}.form-input,.form-select,.form-textarea{padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease;background:#fff;color:#333}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#646cff;box-shadow:0 0 0 3px #646cff26}.char-count{font-size:.75rem;color:#999;text-align:right}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e5e5}.btn-cancel,.btn-submit{padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel{background:#f0f0f0;border:1px solid #ddd;color:#555}.btn-cancel:hover{background:#e5e5e5}.btn-submit{background:#646cff;border:none;color:#fff}.btn-submit:hover{background:#535bf2;transform:translateY(-1px)}.dark-theme .edit-ticket-modal{background:#1a1a1a}.dark-theme .modal-header{background:#1a1a1a;border-bottom-color:#333}.dark-theme .modal-header h2{color:#e0e0e0}.dark-theme .editing-ticket-id{background:#2a2a4a;color:#a0a8ff}.dark-theme .modal-close-btn{background:#333;color:#e0e0e0}.dark-theme .modal-close-btn:hover{background:#444}.dark-theme .edit-ticket-form{background:#1a1a1a}.dark-theme .form-label{color:#e0e0e0}.dark-theme .form-input:focus,.dark-theme .form-select:focus,.dark-theme .form-textarea:focus{border-color:#646cff;box-shadow:0 0 0 3px #646cff4d}.dark-theme .char-count{color:#777}.dark-theme .modal-actions{border-top-color:#333}.dark-theme .btn-cancel{background:#333;border-color:#444;color:#e0e0e0}.dark-theme .btn-cancel:hover{background:#444}@media(max-width:600px){.edit-ticket-modal{max-width:100%;max-height:100vh;border-radius:0}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%;justify-content:center}}.ticket-management{display:grid;grid-template-columns:350px 1fr;height:100vh;background:#f5f5f5}.ticket-management-sidebar{background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:2rem;border-bottom:1px solid #e0e0e0}.sidebar-title{margin:0 0 1rem;font-size:1.5rem;color:#333;font-weight:700}.create-ticket-btn{width:100%;padding:.75rem 1rem;background:#646cff;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.create-ticket-btn:hover{background:#535bf2;transform:translateY(-1px);box-shadow:0 4px 8px #646cff4d}.filters-section{padding:1.5rem;border-bottom:1px solid #e0e0e0;display:flex;flex-direction:column;gap:1rem}.search-box{position:relative}.search-input{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;transition:all .2s ease;box-sizing:border-box;background:#fff!important;color:#333!important}.search-input:focus{outline:none;border-color:#646cff}.clear-search-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem .5rem;font-size:1rem;color:#999;transition:color .2s ease}.clear-search-btn:hover{color:#333}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-label{font-size:.85rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.filter-select{padding:.5rem;border:2px solid #e0e0e0;border-radius:6px;font-size:.9rem;background:#fff;cursor:pointer;transition:all .2s ease}.filter-select:focus{outline:none;border-color:#646cff}.tickets-count{padding:1rem 1.5rem;font-size:.9rem;color:#666;font-weight:500}.ticket-management-content{overflow:hidden;background:#f5f5f5;display:flex;align-items:center;justify-content:center}.tickets-list-container{width:100%;height:100%;overflow-y:auto;padding:2rem;display:flex;justify-content:center}.tickets-list{width:100%;max-width:900px;display:flex;flex-direction:column;gap:1rem}.no-tickets{text-align:center;padding:6rem 2rem;color:#999;display:flex;flex-direction:column;align-items:center;justify-content:center}.no-tickets-icon{font-size:5rem;display:block;margin-bottom:1.5rem;opacity:.3}.no-tickets h3{margin:0 0 .5rem;color:#666;font-size:1.5rem;font-weight:600}.no-tickets p{margin:.5rem 0}.no-tickets-hint{font-size:.95rem;color:#bbb}@media(max-width:1024px){.ticket-management{grid-template-columns:300px 1fr}.tickets-list-container{padding:1.5rem}}@media(max-width:768px){.ticket-management{display:flex;flex-direction:column}.ticket-management-sidebar{border-right:none;border-bottom:1px solid #e0e0e0}.tickets-list-container{padding:1rem}.tickets-list{max-width:100%}}.success-message{position:fixed;top:2rem;right:2rem;background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 12px #4caf504d;font-weight:600;z-index:2000;animation:slideInRight .3s ease,fadeOut .5s ease 4.5s forwards}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{to{opacity:0;transform:translate(400px)}}.dark-theme .ticket-management{background:#121212}.dark-theme .ticket-management-sidebar{background:#1e1e1e;border-right-color:#333}.dark-theme .sidebar-header{border-bottom-color:#333}.dark-theme .sidebar-title{color:#e0e0e0}.dark-theme .filters-section{border-bottom-color:#333}.dark-theme .search-input{background:#2a2a2a!important;border-color:#444!important;color:#e0e0e0!important}.dark-theme .search-input:focus{border-color:#646cff}.dark-theme .clear-search-btn{color:#666}.dark-theme .clear-search-btn:hover,.dark-theme .filter-label{color:#aaa}.dark-theme .filter-select{background:#2a2a2a;border-color:#444;color:#e0e0e0}.dark-theme .tickets-count{color:#aaa}.dark-theme .ticket-management-content{background:#121212}.dark-theme .no-tickets{color:#666}.dark-theme .no-tickets h3{color:#aaa}.dark-theme .no-tickets-hint{color:#555}.new-ticket-form{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a;max-width:800px;margin:0 auto}.form-title{margin:0 0 2rem;font-size:1.5rem;color:#333;font-weight:700;text-align:center}.form-group{margin-bottom:1.5rem;position:relative}.form-label{display:block;margin-bottom:.5rem;font-size:.9rem;font-weight:600;color:#555}.required{color:#f44336;margin-left:.25rem}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;font-family:inherit;transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#646cff;box-shadow:0 0 0 3px #646cff1a}.char-count{position:absolute;right:.5rem;bottom:-1.5rem;font-size:.75rem;color:#999}.file-drop-zone{border:2px dashed #e0e0e0;border-radius:8px;padding:2rem;text-align:center;transition:all .2s ease;cursor:pointer;background:#fafafa}.file-drop-zone:hover{border-color:#646cff;background:#f5f5ff}.file-drop-zone.dragging{border-color:#646cff;background:#e8e9ff;transform:scale(1.02)}.file-input{display:none}.file-label{display:flex;flex-direction:column;gap:.5rem;cursor:pointer}.upload-icon{font-size:2.5rem}.upload-text{font-size:1rem;font-weight:600;color:#333}.upload-hint{font-size:.85rem;color:#999}.file-list{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.file-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f5f5f5;border-radius:6px;border:1px solid #e0e0e0}.file-info{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.file-icon{font-size:1.5rem;flex-shrink:0}.file-details{display:flex;flex-direction:column;gap:.25rem;min-width:0}.file-name{font-size:.9rem;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:.8rem;color:#666}.remove-file-btn{background:none;border:none;color:#999;cursor:pointer;font-size:1.2rem;padding:.25rem .5rem;transition:color .2s ease;flex-shrink:0}.remove-file-btn:hover{color:#f44336}.form-actions{display:flex;gap:1rem;margin-top:2rem}.submit-btn,.cancel-btn{flex:1;padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.submit-btn{background:#646cff;color:#fff}.submit-btn:hover{background:#535bf2;transform:translateY(-1px);box-shadow:0 4px 8px #646cff4d}.cancel-btn{background:#f0f0f0;color:#666}@media(max-width:768px){.new-ticket-form{padding:1.5rem}.form-title{font-size:1.25rem}.form-actions{flex-direction:column}.file-drop-zone{padding:1.5rem 1rem}}.dark-theme .new-ticket-form{background:#1e1e1e;box-shadow:0 2px 4px #0000004d}.dark-theme .form-title{color:#e0e0e0}.dark-theme .form-label{color:#aaa}.dark-theme .form-input,.dark-theme .form-select,.dark-theme .form-textarea{background:#2a2a2a;border-color:#444;color:#e0e0e0}.dark-theme .form-input:focus,.dark-theme .form-select:focus,.dark-theme .form-textarea:focus{border-color:#646cff}.dark-theme .char-count{color:#666}.dark-theme .file-drop-zone{background:#2a2a2a;border-color:#444}.dark-theme .file-drop-zone:hover{background:#2a2a3a}.dark-theme .file-drop-zone.dragging{background:#2a2a4a}.dark-theme .upload-text{color:#e0e0e0}.dark-theme .upload-hint{color:#666}.dark-theme .file-item{background:#2a2a2a;border-color:#444}.dark-theme .file-name{color:#e0e0e0}.dark-theme .file-size{color:#aaa}.dark-theme .remove-file-btn{color:#666}.dark-theme .remove-file-btn:hover{color:#f44336}.dark-theme .cancel-btn{background:#2a2a2a;color:#aaa}.dark-theme .cancel-btn:hover{background:#3a3a3a}.tenant-ticket-list{background:#fff!important;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.list-title{margin:0;font-size:1.5rem;color:#333!important;font-weight:700}.ticket-count{font-size:.9rem;color:#666;background:#f0f0f0;padding:.5rem 1rem;border-radius:20px;font-weight:600}.empty-state{text-align:center;padding:4rem 2rem;color:#999}.empty-icon{font-size:4rem;display:block;margin-bottom:1rem;opacity:.5}.empty-state h3{margin:0 0 .5rem;color:#666;font-size:1.2rem}.empty-state p{margin:0;color:#999;font-size:.95rem}.tickets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.tenant-ticket-card{background:#fafafa!important;border:2px solid #e0e0e0!important;border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:1rem}.tenant-ticket-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#646cff}.card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.ticket-id{font-family:monospace;font-weight:700;font-size:.85rem;color:#646cff}.status-badge{padding:.35rem .75rem;border-radius:12px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.status-new{background:#e3f2fd!important;color:#1565c0!important}.status-in-progress{background:#fff3e0!important;color:#ef6c00!important}.status-on-hold{background:#fce4ec!important;color:#c2185b!important}.status-resolved{background:#e8f5e9!important;color:#2e7d32!important}.status-closed{background:#f5f5f5!important;color:#616161!important}.status-open{background:#e1f5fe!important;color:#0277bd!important}.status-overdue{background:#ffebee!important;color:#c62828!important}.ticket-title{margin:0;font-size:1.1rem;color:#333!important;font-weight:600;line-height:1.3}.ticket-description{margin:0;font-size:.9rem;color:#666!important;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-footer{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding-top:1rem;border-top:1px solid #e0e0e0}.footer-item{display:flex;flex-direction:column;gap:.25rem}.footer-label{font-size:.75rem;color:#999;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.footer-value{font-size:.85rem;color:#333!important;font-weight:500}.footer-value.priority-critical{background:#ffebee!important;color:#c62828!important;padding:.25rem .5rem;border-radius:4px}.footer-value.priority-high{background:#fff3e0!important;color:#e65100!important;padding:.25rem .5rem;border-radius:4px}.footer-value.priority-medium{background:#fff9c4!important;color:#f57f17!important;padding:.25rem .5rem;border-radius:4px}.footer-value.priority-low{background:#e8f5e9!important;color:#2e7d32!important;padding:.25rem .5rem;border-radius:4px}.recent-activity{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#e8e9ff;border-radius:6px;font-size:.85rem;color:#646cff;font-weight:500}.activity-icon{font-size:1rem}@media(max-width:768px){.tenant-ticket-list{padding:1.5rem}.list-header{flex-direction:column;align-items:flex-start;gap:.75rem}.tickets-grid,.card-footer{grid-template-columns:1fr}}.dark-theme .tenant-ticket-list{background:#1e1e1e!important;box-shadow:0 2px 4px #0000004d}.dark-theme .list-header{border-bottom-color:#333}.dark-theme .list-title{color:#e0e0e0!important}.dark-theme .ticket-count{background:#2a2a2a;color:#aaa}.dark-theme .empty-state h3{color:#aaa}.dark-theme .empty-state p{color:#666}.dark-theme .tenant-ticket-card{background:#2a2a2a!important;border-color:#444!important}.dark-theme .tenant-ticket-card:hover{box-shadow:0 4px 12px #0000004d}.dark-theme .ticket-title{color:#e0e0e0!important}.dark-theme .ticket-description{color:#aaa!important}.dark-theme .card-footer{border-top-color:#444}.dark-theme .footer-label{color:#666}.dark-theme .footer-value{color:#e0e0e0!important}.dark-theme .footer-value.priority-critical{background:#ffebee!important;color:#c62828!important}.dark-theme .footer-value.priority-high{background:#fff3e0!important;color:#e65100!important}.dark-theme .footer-value.priority-medium{background:#fff9c4!important;color:#f57f17!important}.dark-theme .footer-value.priority-low{background:#e8f5e9!important;color:#2e7d32!important}.dark-theme .recent-activity{background:#2a2a3a}.notification-panel{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #e0e0e0;background:linear-gradient(to right,#646cff,#7c84ff)}.header-left{display:flex;align-items:center;gap:.75rem}.panel-title{margin:0;font-size:1.2rem;color:#fff;font-weight:700}.unread-badge{background:#f44336;color:#fff;font-size:.75rem;font-weight:700;padding:.25rem .6rem;border-radius:12px;min-width:24px;text-align:center}.header-actions{display:flex;gap:.5rem}.action-btn,.expand-btn{background:#fff3;color:#fff;border:none;padding:.5rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.action-btn:hover,.expand-btn:hover{background:#ffffff4d}.expand-btn{padding:.5rem;width:32px}.notifications-container{max-height:500px;overflow-y:auto}.empty-notifications{text-align:center;padding:3rem 1rem;color:#999}.empty-icon{font-size:3rem;display:block;margin-bottom:1rem;opacity:.5}.empty-notifications p{margin:0;font-size:.95rem}.notifications-list{display:flex;flex-direction:column}.notification-item{display:flex;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid #e0e0e0;transition:all .2s ease;position:relative}.notification-item:last-child{border-bottom:none}.notification-item.unread{background:#f5f6ff;cursor:pointer}.notification-item.unread:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#646cff}.notification-item:hover{background:#fafafa}.notification-item.unread:hover{background:#eef0ff}.notification-icon{font-size:1.8rem;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f0f0f0;border-radius:50%}.notification-status-update .notification-icon{background:#e3f2fd}.notification-assignment .notification-icon{background:#f3e5f5}.notification-comment .notification-icon,.notification-resolved .notification-icon{background:#e8f5e9}.notification-new-ticket .notification-icon{background:#fff3e0}.notification-content{flex:1;min-width:0}.notification-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.notification-title{font-weight:600;color:#333;font-size:.95rem}.notification-time{font-size:.75rem;color:#999;white-space:nowrap}.notification-message{margin:0 0 .5rem;font-size:.9rem;color:#666;line-height:1.4}.notification-footer{display:flex;align-items:center;gap:.5rem}.ticket-link{font-size:.8rem;color:#646cff;font-weight:500}.clear-notification-btn{background:none;border:none;color:#999;cursor:pointer;font-size:1.2rem;padding:.25rem;width:28px;height:28px;flex-shrink:0;border-radius:4px;transition:all .2s ease;opacity:0}.notification-item:hover .clear-notification-btn{opacity:1}.clear-notification-btn:hover{background:#ffebee;color:#f44336}@media(max-width:768px){.panel-header{padding:1rem}.panel-title{font-size:1rem}.action-btn{font-size:.75rem;padding:.4rem .6rem}.notification-item{padding:1rem;gap:.75rem}.notification-icon{font-size:1.5rem;width:35px;height:35px}.notification-header{flex-direction:column;align-items:flex-start;gap:.25rem}.clear-notification-btn{opacity:1}}.dark-theme .notification-panel{background:#1e1e1e;box-shadow:0 2px 4px #0000004d}.dark-theme .panel-header{border-bottom-color:#333}.dark-theme .empty-notifications{color:#666}.dark-theme .notification-item{border-bottom-color:#333}.dark-theme .notification-item.unread{background:#2a2a3a}.dark-theme .notification-item:hover{background:#2a2a2a}.dark-theme .notification-item.unread:hover{background:#2a2a4a}.dark-theme .notification-icon{background:#333}.dark-theme .notification-status-update .notification-icon{background:#1a3a5a}.dark-theme .notification-assignment .notification-icon{background:#3a1a5a}.dark-theme .notification-comment .notification-icon,.dark-theme .notification-resolved .notification-icon{background:#1a3a1a}.dark-theme .notification-new-ticket .notification-icon{background:#3a2a1a}.dark-theme .notification-title{color:#e0e0e0}.dark-theme .notification-time{color:#666}.dark-theme .notification-message{color:#aaa}.dark-theme .clear-notification-btn{color:#666}.dark-theme .clear-notification-btn:hover{background:#3a1a1a}.tenant-portal{min-height:100vh;background:#f5f5f5}.ticket-details-view{height:100vh;overflow:hidden}.portal-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;box-shadow:0 2px 4px #0000001a}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.portal-title{margin:0;font-size:2rem;color:#fff;font-weight:700}.tenant-info{display:flex;align-items:center;gap:1rem;background:#fff3;padding:.75rem 1.5rem;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tenant-name{color:#fff;font-weight:600;font-size:1rem}.tenant-unit{color:#ffffffe6;font-size:.9rem;padding-left:1rem;border-left:1px solid rgba(255,255,255,.3)}.success-message{max-width:1400px;margin:2rem auto 0;padding:1rem 1.5rem;background:#e8f5e9;border-left:4px solid #4CAF50;border-radius:8px;display:flex;align-items:center;gap:1rem;color:#2e7d32;font-weight:500;box-shadow:0 2px 4px #0000001a;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.success-icon{font-size:1.5rem}.portal-content{max-width:1400px;margin:0 auto;padding:2rem;display:grid;grid-template-columns:1fr 400px;gap:2rem;align-items:start}.main-section{display:flex;flex-direction:column;gap:2rem}.form-section,.tickets-section{animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar-section{position:sticky;top:2rem}@media(max-width:1200px){.portal-content{grid-template-columns:1fr 350px}}@media(max-width:968px){.portal-content{grid-template-columns:1fr}.sidebar-section{position:static}}@media(max-width:768px){.portal-header{padding:1.5rem 1rem}.header-content{flex-direction:column;align-items:flex-start}.portal-title{font-size:1.5rem}.tenant-info{width:100%;justify-content:space-between}.success-message{margin:1rem;padding:.875rem 1rem}.portal-content{padding:1rem;gap:1.5rem}}.dark-theme .tenant-portal{background:#121212}.dark-theme .success-message{background:#1a3a1a;border-left-color:#4caf50;color:#81c784}.staff-portal{display:flex;flex-direction:column;min-height:100vh;background:#f8f9fa}.staff-portal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center}.staff-portal-header h1{margin:0;font-size:1.5rem;font-weight:600}.staff-welcome{margin:.25rem 0 0;font-size:.95rem;opacity:.9}.staff-selector{display:flex;align-items:center}.staff-select{padding:.5rem 1rem;border:none;border-radius:8px;background:#fff3;color:#fff;font-size:.9rem;cursor:pointer}.staff-select option{color:#333;background:#fff}.staff-stats-row{display:flex;gap:1rem;padding:1.5rem 2rem;background:#fff;border-bottom:1px solid #eee}.staff-stat-card{flex:1;display:flex;flex-direction:column;align-items:center;padding:1rem;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef}.stat-number{font-size:2rem;font-weight:700;line-height:1}.stat-number.active{color:#667eea}.stat-number.on-hold{color:#9c27b0}.stat-number.completed{color:#4caf50}.stat-label{font-size:.85rem;color:#666;margin-top:.5rem}.staff-portal-content{flex:1;padding:1.5rem 2rem;overflow-y:auto}.section-header{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:#333}.staff-filters{display:flex;gap:.75rem;margin-bottom:1.5rem}.filter-btn{padding:.5rem 1.25rem;border:1px solid #ddd;border-radius:20px;background:#fff;color:#666;font-size:.9rem;cursor:pointer;transition:all .2s}.filter-btn.active{background:#667eea;border-color:#667eea;color:#fff}.ticket-card{background:#fff;border-radius:12px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000000f;cursor:pointer;transition:all .2s;border:1px solid #eee}.ticket-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.ticket-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.ticket-card-title{margin:0;font-size:1.1rem;font-weight:600;color:#333;flex:1;padding-right:1rem}.ticket-card-id{font-size:.85rem;color:#999;margin-bottom:.75rem}.ticket-card-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;font-size:.85rem;color:#666}.meta-item{display:flex;align-items:center;gap:.25rem}.meta-icon{font-size:.9rem}.ticket-card-description{margin:.75rem 0;font-size:.9rem;color:#555;line-height:1.5}.ticket-card-footer{margin-bottom:1rem}.priority-badge,.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase}.card-start-work-btn{display:block;width:100%;padding:.875rem;margin-bottom:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.card-start-work-btn:hover{opacity:.9;transform:translateY(-1px)}.card-action-buttons{display:flex;gap:.5rem}.card-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.625rem .5rem;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.card-action-btn.start{background:#2196f3;color:#fff}.card-action-btn.hold{background:#f44336;color:#fff}.card-action-btn.log{background:#e1bee7;color:#7b1fa2}.card-action-btn:hover{opacity:.9;transform:translateY(-1px)}.btn-icon{font-size:.9rem}.staff-ticket-detail{max-width:800px}.back-button{display:inline-flex;align-items:center;padding:.5rem 1rem;margin-bottom:1rem;background:transparent;border:1px solid #ddd;border-radius:8px;color:#666;font-size:.9rem;cursor:pointer;transition:all .2s}.back-button:hover{border-color:#667eea;color:#667eea}.ticket-detail-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.ticket-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.ticket-title-section{flex:1}.ticket-detail-title{margin:0;font-size:1.35rem;font-weight:600;color:#333}.ticket-detail-id{font-size:.9rem;color:#999;margin-top:.25rem}.priority-badge-large{padding:.5rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600;color:#fff}.ticket-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.ticket-meta-grid .meta-item{display:flex;flex-direction:column;gap:.25rem}.ticket-meta-grid .meta-icon{font-size:1.25rem}.meta-label{font-size:.75rem;color:#999;text-transform:uppercase}.meta-value{font-size:.9rem;font-weight:500;color:#333}.ticket-description{margin:1rem 0;padding:1rem;background:#f8f9fa;border-radius:8px;font-size:.95rem;line-height:1.6;color:#555}.status-badge-row{margin-bottom:1rem}.status-badge-large{display:inline-block;padding:.5rem 1.25rem;border-radius:20px;font-size:.85rem;font-weight:600;color:#fff}.start-work-btn{display:block;width:100%;padding:1rem;margin-bottom:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s}.start-work-btn:hover:not(:disabled){opacity:.9}.start-work-btn:disabled{opacity:.6;cursor:not-allowed}.action-buttons-row{display:flex;gap:.75rem;margin-bottom:1rem}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.action-btn.start-btn{background:#2196f3;color:#fff}.action-btn.hold-btn{background:#f44336;color:#fff}.action-btn.log-work-btn{background:#e1bee7;color:#7b1fa2}.action-btn:hover:not(:disabled){opacity:.9}.action-btn:disabled{opacity:.5;cursor:not-allowed}.resolve-btn{display:block;width:100%;padding:.875rem;margin-bottom:1.5rem;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.resolve-btn:hover:not(:disabled){background:#43a047}.resolve-btn:disabled{opacity:.6;cursor:not-allowed}.work-log-form-section{margin:1.5rem 0;padding:1.25rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.work-log-form-section h3{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#333}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.85rem;font-weight:500;color:#555}.form-group textarea,.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical}.form-group textarea:focus,.form-group input:focus{outline:none;border-color:#667eea}.time-group .time-inputs{display:flex;align-items:center;gap:.5rem}.time-group input{width:70px;text-align:center}.time-group span{font-size:.85rem;color:#666}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.cancel-btn{padding:.625rem 1.25rem;background:#f5f5f5;border:1px solid #ddd;border-radius:8px;color:#666;font-size:.9rem;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#eee}.submit-btn{padding:.625rem 1.25rem;background:#667eea;border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.submit-btn:hover:not(:disabled){background:#5a6fd6}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.section-title{margin:0 0 1rem;font-size:1rem;font-weight:600;color:#333;padding-bottom:.5rem;border-bottom:1px solid #eee}.work-log-history{margin:1.5rem 0}.work-log-entry{padding:1rem;background:#f8f9fa;border-radius:8px;margin-bottom:.75rem}.work-log-entry:last-child{margin-bottom:0}.work-log-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.work-log-staff{font-weight:600;color:#333}.work-log-time{color:#667eea;font-weight:500}.work-log-text{margin:0;font-size:.95rem;color:#555;line-height:1.5}.work-log-notes{margin:.5rem 0 0;font-size:.85rem;color:#777;font-style:italic}.work-log-date{display:block;margin-top:.5rem;font-size:.8rem;color:#999}.notes-section{margin:1.5rem 0}.notes-list{max-height:300px;overflow-y:auto;margin-bottom:1rem}.no-notes{text-align:center;color:#999;font-style:italic;padding:1rem}.note-item{padding:1rem;border-radius:8px;margin-bottom:.75rem}.note-item.staff{background:#e3f2fd;border-left:3px solid #2196F3}.note-item.tenant{background:#f3e5f5;border-left:3px solid #9C27B0}.note-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.note-user{font-weight:600;color:#333}.note-role{font-size:.75rem;padding:.125rem .5rem;border-radius:10px}.note-role.staff{background:#bbdefb;color:#1565c0}.note-role.tenant{background:#e1bee7;color:#7b1fa2}.note-time{font-size:.8rem;color:#999;margin-left:auto}.note-message{margin:0;font-size:.95rem;color:#555;line-height:1.5}.add-note-form{display:flex;gap:.75rem;align-items:flex-end}.add-note-form textarea{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:.95rem;font-family:inherit;resize:none}.add-note-form textarea:focus{outline:none;border-color:#667eea}.add-note-form button{padding:.75rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.add-note-form button:hover:not(:disabled){background:#5a6fd6}.add-note-form button:disabled{opacity:.6;cursor:not-allowed}.activity-timeline{margin:1.5rem 0}.timeline-list{position:relative;padding-left:1.5rem}.timeline-list:before{content:"";position:absolute;left:.5rem;top:0;bottom:0;width:2px;background:#e9ecef}.no-timeline{text-align:center;color:#999;font-style:italic;padding:1rem}.timeline-item{position:relative;margin-bottom:1rem;padding-left:1rem}.timeline-dot{position:absolute;left:-1.25rem;top:.25rem;width:12px;height:12px;border-radius:50%;background:#667eea;border:2px solid white;box-shadow:0 0 0 2px #e9ecef}.timeline-item.status_change .timeline-dot{background:#ff9800}.timeline-item.comment .timeline-dot{background:#2196f3}.timeline-item.created .timeline-dot{background:#4caf50}.timeline-content{background:#f8f9fa;padding:.75rem 1rem;border-radius:8px}.timeline-header{display:flex;justify-content:space-between;margin-bottom:.35rem}.timeline-user{font-weight:600;color:#333;font-size:.9rem}.timeline-time{font-size:.8rem;color:#999}.timeline-message{margin:0;font-size:.9rem;color:#555}.timeline-change{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.85rem}.old-value{padding:.125rem .5rem;background:#ffebee;color:#c62828;border-radius:4px}.new-value{padding:.125rem .5rem;background:#e8f5e9;color:#2e7d32;border-radius:4px}.arrow{color:#999}.no-tickets-staff{text-align:center;padding:3rem 1rem}.no-tickets-icon{font-size:3rem;margin-bottom:1rem;display:block}.no-tickets-staff h3{margin:0 0 .5rem;color:#333}.no-tickets-staff p{margin:0;color:#666}.staff-portal.loading,.staff-portal.error{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.1rem;color:#666}:root.dark-theme .staff-portal{background:#1a1a2e!important}:root.dark-theme .staff-stats-row{background:#16213e!important;border-color:#0f3460!important}:root.dark-theme .staff-stat-card{background:#1a1a2e!important;border-color:#0f3460!important}:root.dark-theme .stat-label{color:#aaa!important}:root.dark-theme .section-header{color:#f1f1f1!important}:root.dark-theme .filter-btn{background:#16213e!important;border-color:#0f3460!important;color:#ccc!important}:root.dark-theme .filter-btn:hover{border-color:#667eea!important;color:#667eea!important}:root.dark-theme .filter-btn.active{background:#667eea!important;border-color:#667eea!important;color:#fff!important}:root.dark-theme .ticket-card{background:#16213e!important;border-color:#0f3460!important}:root.dark-theme .ticket-card-title,:root.dark-theme .ticket-detail-title{color:#f1f1f1!important}:root.dark-theme .ticket-card-id,:root.dark-theme .ticket-detail-id{color:#777!important}:root.dark-theme .ticket-card-meta,:root.dark-theme .meta-item{color:#aaa!important}:root.dark-theme .ticket-card-description,:root.dark-theme .ticket-description{color:#ccc!important;background:#1a1a2e!important}:root.dark-theme .ticket-detail-card{background:#16213e!important}:root.dark-theme .ticket-meta-grid{background:#1a1a2e!important}:root.dark-theme .meta-value{color:#f1f1f1!important}:root.dark-theme .meta-label{color:#999!important}:root.dark-theme .back-button{border-color:#0f3460!important;color:#aaa!important}:root.dark-theme .back-button:hover{border-color:#667eea!important;color:#667eea!important}:root.dark-theme .work-log-form-section{background:#1a1a2e!important;border-color:#0f3460!important}:root.dark-theme .work-log-form-section h3,:root.dark-theme .section-title{color:#f1f1f1!important;border-color:#0f3460!important}:root.dark-theme .form-group label{color:#ccc!important}:root.dark-theme .form-group textarea,:root.dark-theme .form-group input,:root.dark-theme .add-note-form textarea{background:#16213e!important;border-color:#0f3460!important;color:#f1f1f1!important}:root.dark-theme .work-log-entry{background:#1a1a2e!important}:root.dark-theme .work-log-staff{color:#f1f1f1!important}:root.dark-theme .work-log-text,:root.dark-theme .note-message{color:#ccc!important}:root.dark-theme .note-item.staff{background:#1e3a5f!important;border-color:#2196f3!important}:root.dark-theme .note-item.tenant{background:#3d2352!important;border-color:#9c27b0!important}:root.dark-theme .note-user{color:#f1f1f1!important}:root.dark-theme .timeline-content{background:#1a1a2e!important}:root.dark-theme .timeline-user{color:#f1f1f1!important}:root.dark-theme .timeline-message{color:#ccc!important}:root.dark-theme .no-tickets-staff h3{color:#f1f1f1!important}:root.dark-theme .no-tickets-staff p{color:#aaa!important}:root.dark-theme .cancel-btn{background:#1a1a2e!important;border-color:#0f3460!important;color:#ccc!important}:root.dark-theme .time-group span{color:#aaa!important}:root.dark-theme .staff-portal-content{background:#1a1a2e!important}@media(max-width:768px){.staff-portal-header{flex-direction:column;gap:1rem;align-items:flex-start}.staff-stats-row{padding:1rem}.staff-stat-card{padding:.75rem}.stat-number{font-size:1.5rem}.staff-portal-content{padding:1rem}.ticket-meta-grid{grid-template-columns:1fr}.action-buttons-row,.add-note-form{flex-direction:column}.add-note-form button{width:100%}}.calendar-view{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #0000001a}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.5rem}.calendar-weekday{text-align:center;font-weight:700;font-size:.85rem;color:#666;padding:.75rem 0;text-transform:uppercase;letter-spacing:.5px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-day{min-height:100px;background:#fafafa;border:2px solid #e0e0e0;border-radius:8px;padding:.5rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column}.calendar-day:hover{background:#f0f4ff;border-color:#667eea}.calendar-day.empty{background:transparent;border:none;cursor:default}.calendar-day.today{background:#e3f2fd;border-color:#2196f3;font-weight:700}.calendar-day.today .day-number{background:#2196f3;color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.calendar-day.has-overdue{border-color:#f44336;background:#ffebee}.day-number{font-size:.9rem;font-weight:600;color:#333;margin-bottom:.25rem}.day-tasks{display:flex;flex-direction:column;gap:.25rem;overflow:hidden}.task-indicator{display:flex;align-items:center;gap:.25rem;padding:.25rem .35rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s ease;overflow:hidden}.task-indicator:hover{transform:scale(1.05)}.task-indicator.pending{background:#e3f2fd;color:#1976d2}.task-indicator.completed{background:#e8f5e9;color:#388e3c}.task-indicator.overdue{background:#ffcdd2;color:#c62828;font-weight:700}.task-indicator.vehicle-task{background:#fff7ed;color:#ea580c;border:1px solid #f97316}.task-indicator.vehicle-task.pending{background:#fff7ed;color:#ea580c}.task-indicator.vehicle-task.overdue{background:#fef2f2;color:#c62828;border-color:#f44336}.calendar-day.has-vehicle{border-color:#f97316}.calendar-day.has-vehicle.has-overdue{border-color:#f44336}.task-dot{font-size:.6rem;line-height:1}.task-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-tasks{font-size:.7rem;color:#999;font-weight:600;padding:.25rem .35rem;text-align:center}@media(max-width:1024px){.calendar-day{min-height:80px}.task-title{display:none}.task-indicator{padding:.25rem;justify-content:center}}@media(max-width:768px){.calendar-view{padding:.75rem}.calendar-grid{gap:.25rem}.calendar-day{min-height:60px;padding:.35rem}.day-number{font-size:.8rem}.task-indicator{padding:.2rem}.task-dot{font-size:.5rem}}.dark-theme .calendar-view{background:#2a2a2a}.dark-theme .calendar-weekday{color:#aaa}.dark-theme .calendar-day{background:#1a1a1a;border-color:#444}.dark-theme .calendar-day:hover{background:#2a2a3e;border-color:#667eea}.dark-theme .calendar-day.today{background:#1a2a3a;border-color:#2196f3}.dark-theme .calendar-day.has-overdue{background:#3a1a1a;border-color:#f44336}.dark-theme .day-number{color:#e0e0e0}.dark-theme .task-indicator.pending{background:#1a2a3a;color:#64b5f6}.dark-theme .task-indicator.completed{background:#1a2a1a;color:#81c784}.dark-theme .task-indicator.overdue{background:#3a1a1a;color:#ef5350}.dark-theme .more-tasks{color:#888}.task-creation-form-container{background:#fff!important;border-radius:12px;box-shadow:0 4px 16px #00000026;max-width:700px;width:100%;max-height:90vh;overflow-y:auto}.form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #e0e0e0;background:#fff!important}.form-header h3{margin:0;font-size:1.25rem;color:#333!important}.close-btn{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:.25rem .5rem;transition:color .2s ease}.close-btn:hover{color:#333}.task-creation-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;background:#fff!important}.form-row{display:flex;gap:1rem}.form-row.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-field{flex:1;display:flex;flex-direction:column;position:relative}.form-label{font-size:.9rem;font-weight:600;color:#333!important;margin-bottom:.5rem}.form-input,.form-select,.form-textarea{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;font-family:inherit;transition:border-color .2s ease;background:#fff!important;color:#333!important}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#667eea}.form-textarea{resize:vertical;min-height:100px}.char-counter{position:absolute;right:.5rem;bottom:-1.25rem;font-size:.8rem;color:#999}.duration-hint{margin-top:.25rem;font-size:.85rem;color:#667eea;font-weight:600}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem;padding-top:1.5rem;border-top:2px solid #e0e0e0}.cancel-btn,.submit-btn{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.cancel-btn{background:#f5f5f5;color:#666}.cancel-btn:hover{background:#e0e0e0}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}@media(max-width:768px){.task-creation-form-container{max-height:100vh;border-radius:0}.form-row.two-col{grid-template-columns:1fr}.form-header,.task-creation-form{padding:1rem}.form-actions{flex-direction:column-reverse}.cancel-btn,.submit-btn{width:100%}}.dark-theme .task-creation-form-container{background:#2a2a2a!important}.dark-theme .form-header{border-bottom-color:#444;background:#2a2a2a!important}.dark-theme .form-header h3{color:#e0e0e0!important}.dark-theme .close-btn{color:#888}.dark-theme .close-btn:hover{color:#e0e0e0}.dark-theme .task-creation-form{background:#2a2a2a!important}.dark-theme .form-label{color:#e0e0e0!important}.dark-theme .form-input,.dark-theme .form-select,.dark-theme .form-textarea{background:#1a1a1a!important;border-color:#444;color:#e0e0e0!important}.dark-theme .form-input:focus,.dark-theme .form-select:focus,.dark-theme .form-textarea:focus{border-color:#667eea}.dark-theme .char-counter{color:#888}.dark-theme .form-actions{border-top-color:#444}.dark-theme .cancel-btn{background:#1a1a1a;color:#aaa}.dark-theme .cancel-btn:hover{background:#333}.vehicle-section{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:2px solid #f97316;border-radius:8px;padding:1rem;margin-bottom:1rem}.vehicle-section .form-label{color:#c2410c!important}.vehicle-section .form-row{margin-bottom:.5rem}.vehicle-section .form-row:last-child{margin-bottom:0}.dark-theme .vehicle-section .form-label{color:#fdba74!important}.task-details-panel{background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001a;overflow:hidden;display:flex;flex-direction:column;max-height:90vh}.task-details-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border-bottom:2px solid #e0e0e0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.task-header-content{flex:1}.task-details-title{margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.task-id{font-size:.85rem;opacity:.9;font-family:Courier New,monospace}.close-details-btn{background:#fff3;border:none;color:#fff;font-size:1.5rem;width:36px;height:36px;border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-details-btn:hover{background:#ffffff4d}.task-details-body{padding:1.5rem;overflow-y:auto;flex:1;background:#fff!important}.status-section{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.task-status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.task-status-badge.pending{background:#e3f2fd;color:#1976d2}.task-status-badge.completed{background:#e8f5e9;color:#388e3c}.task-status-badge.overdue{background:#ffcdd2;color:#c62828}.task-status-badge.skipped{background:#f5f5f5;color:#757575}.due-date-badge{padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;background:#f0f4ff;color:#667eea}.due-date-badge.urgent{background:#ffebee;color:#f44336;font-weight:700}.details-section{margin-bottom:1.5rem}.section-heading{margin:0 0 1rem;font-size:1.1rem;font-weight:700;color:#333!important}.task-description{margin:0;color:#666!important;line-height:1.6}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.8rem;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:.95rem;font-weight:600;color:#333!important}.assignment-select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;background:#fafafa;cursor:pointer;transition:all .2s ease}.assignment-select:focus{outline:none;border-color:#667eea;background:#fff}.action-buttons{display:flex;flex-direction:column;gap:.75rem}.action-btn{padding:.75rem 1.25rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-btn.complete{background:#4caf50;color:#fff}.action-btn.complete:hover{background:#45a049}.action-btn.pending{background:#2196f3;color:#fff}.action-btn.pending:hover{background:#1976d2}.action-btn.skip{background:#f5f5f5;color:#666}.action-btn.skip:hover{background:#e0e0e0}@media(max-width:768px){.task-details-panel{max-height:100vh;border-radius:0}.details-grid{grid-template-columns:1fr}.task-details-header{padding:1rem}.task-details-title{font-size:1.25rem}.task-details-body{padding:1rem}}.dark-theme .task-details-panel{background:#2a2a2a}.dark-theme .task-details-body{background:#2a2a2a!important}.dark-theme .task-details-header{border-bottom-color:#444}.dark-theme .section-heading{color:#e0e0e0!important}.dark-theme .task-description{color:#aaa!important}.dark-theme .detail-label{color:#888}.dark-theme .detail-value{color:#e0e0e0!important}.dark-theme .assignment-select{background:#1a1a1a;border-color:#444;color:#e0e0e0}.dark-theme .assignment-select:focus{border-color:#667eea;background:#2a2a2a}.dark-theme .action-btn.skip{background:#1a1a1a;color:#aaa}.dark-theme .action-btn.skip:hover{background:#333}.task-details-panel.vehicle-panel{border:2px solid #f97316}.task-details-panel.vehicle-panel .task-details-header{background:linear-gradient(135deg,#fff7ed,#ffedd5);color:#9a3412!important}.task-details-panel.vehicle-panel .task-details-title{color:#9a3412!important}.task-details-panel.vehicle-panel .task-id{color:#c2410c!important;opacity:1!important}.task-details-panel.vehicle-panel .close-details-btn{color:#9a3412!important;background:#9a34121a!important}.task-details-panel.vehicle-panel .close-details-btn:hover{background:#9a341233!important}.vehicle-icon{font-size:1.25rem}.vehicle-badge{background:#fff7ed;color:#ea580c;border:1px solid #f97316;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600}.vehicle-section{background:linear-gradient(135deg,#fff7ed,#ffedd5);border:1px solid #f97316;border-radius:8px;padding:1rem;margin-bottom:1rem}.vehicle-section .section-heading{color:#c2410c!important}.dark-theme .task-details-panel.vehicle-panel{border-color:#ea580c}.dark-theme .task-details-panel.vehicle-panel .task-details-header{background:linear-gradient(135deg,#431407,#7c2d12);color:#fff!important}.dark-theme .task-details-panel.vehicle-panel .task-details-title{color:#fff!important}.dark-theme .task-details-panel.vehicle-panel .task-id{color:#fdba74!important;opacity:.9!important}.dark-theme .task-details-panel.vehicle-panel .close-details-btn{color:#fff!important;background:#fff3!important}.dark-theme .task-details-panel.vehicle-panel .close-details-btn:hover{background:#ffffff4d!important}.dark-theme .vehicle-badge{background:#7c2d12;color:#fdba74;border-color:#ea580c}.dark-theme .vehicle-section{background:linear-gradient(135deg,#431407,#7c2d12);border-color:#ea580c}.dark-theme .vehicle-section .section-heading{color:#fdba74!important}.maintenance-schedule{height:100vh;display:flex;flex-direction:column;background:#f5f5f5;overflow:hidden}.schedule-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a}.header-content{flex:1}.schedule-title{margin:0 0 .5rem;font-size:2rem;font-weight:700}.schedule-subtitle{margin:0;margin-right:1.5rem;font-size:1rem;opacity:.9}.create-task-btn{padding:.75rem 1.5rem;background:#fff;color:#667eea;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0003}.create-task-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.schedule-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;padding:1.5rem 2rem;background:#fff;border-bottom:2px solid #e0e0e0}.stat-card{display:flex;flex-direction:column;align-items:center;padding:1.25rem;background:#f8f9fa;border-radius:12px;border:2px solid #e0e0e0}.stat-card.pending{background:#e3f2fd;border-color:#2196f3}.stat-card.overdue{background:#ffebee;border-color:#f44336}.stat-card.vehicle{background:#fff7ed;border-color:#f97316}.stat-number{font-size:2.5rem;font-weight:700;color:#333;line-height:1}.stat-card.pending .stat-number{color:#1976d2}.stat-card.overdue .stat-number{color:#c62828}.stat-card.vehicle .stat-number{color:#ea580c}.stat-label{font-size:.9rem;color:#666;margin-top:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.schedule-controls{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:#fff;border-bottom:2px solid #e0e0e0}.filter-buttons{display:flex;gap:.75rem}.filter-btn{padding:.5rem 1.25rem;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#666;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.filter-btn:hover{border-color:#667eea;color:#667eea}.filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.filter-btn.vehicle{border-color:#f97316;color:#ea580c}.filter-btn.vehicle:hover{background:#fff7ed}.filter-btn.vehicle.active{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border-color:transparent}.month-navigation{display:flex;align-items:center;gap:1rem}.nav-btn{width:36px;height:36px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#666;font-size:1.25rem;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.nav-btn:hover{border-color:#667eea;color:#667eea}.today-btn{padding:.5rem 1rem;border:2px solid #667eea;border-radius:8px;background:#fff;color:#667eea;font-weight:600;cursor:pointer;transition:all .2s ease}.today-btn:hover{background:#667eea;color:#fff}.month-label{font-size:1.1rem;font-weight:700;color:#333;min-width:180px;text-align:center}.schedule-content{flex:1;padding:2rem;overflow-y:auto}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(max-width:1024px){.schedule-stats{gap:1rem;padding:1rem 1.5rem}.stat-card{padding:1rem}.stat-number{font-size:2rem}.schedule-controls{flex-direction:column;gap:1rem;align-items:stretch}.filter-buttons,.month-navigation{justify-content:center}}@media(max-width:768px){.schedule-header{padding:1.5rem;flex-direction:column;gap:1rem;align-items:stretch}.schedule-title{font-size:1.5rem}.create-task-btn{width:100%}.schedule-stats{grid-template-columns:1fr;padding:1rem}.schedule-controls{padding:1rem}.filter-buttons{flex-wrap:wrap}.filter-btn{flex:1;min-width:100px}.schedule-content{padding:1rem}.month-label{font-size:1rem;min-width:150px}}.dark-theme .maintenance-schedule{background:#121212}.dark-theme .schedule-stats{background:#2a2a2a;border-bottom-color:#444}.dark-theme .stat-card{background:#1a1a1a;border-color:#444}.dark-theme .stat-card.pending{background:#1a2a3a}.dark-theme .stat-card.overdue{background:#3a1a1a}.dark-theme .stat-number{color:#e0e0e0}.dark-theme .stat-label{color:#aaa}.dark-theme .schedule-controls{background:#2a2a2a;border-bottom-color:#444}.dark-theme .filter-btn{background:#1a1a1a;border-color:#444;color:#aaa}.dark-theme .filter-btn:hover{border-color:#667eea;color:#667eea}.dark-theme .nav-btn{background:#1a1a1a;border-color:#444;color:#aaa}.dark-theme .nav-btn:hover{border-color:#667eea;color:#667eea}.dark-theme .today-btn{background:#1a1a1a}.dark-theme .today-btn:hover{background:#667eea;color:#fff}.dark-theme .month-label{color:#e0e0e0}.metrics-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;display:flex;gap:1.25rem;align-items:center;transition:all .2s ease;border-left:4px solid}.metrics-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.metrics-card.blue{border-left-color:#2196f3}.metrics-card.green{border-left-color:#4caf50}.metrics-card.purple{border-left-color:#9c27b0}.metrics-card.orange{border-left-color:#ff9800}.metrics-icon{font-size:3rem;line-height:1;opacity:.8}.metrics-content{flex:1}.metrics-title{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.metrics-value{font-size:2rem;font-weight:700;color:#333;line-height:1;margin-bottom:.25rem}.metrics-card.blue .metrics-value{color:#2196f3}.metrics-card.green .metrics-value{color:#4caf50}.metrics-card.purple .metrics-value{color:#9c27b0}.metrics-card.orange .metrics-value{color:#ff9800}.metrics-subtitle{margin:0;font-size:.85rem;color:#999}@media(max-width:768px){.metrics-card{padding:1rem;gap:1rem}.metrics-icon{font-size:2.5rem}.metrics-value{font-size:1.5rem}}.dark-theme .metrics-card{background:#2a2a2a}.dark-theme .metrics-title{color:#aaa}.dark-theme .metrics-value{color:#e0e0e0}.dark-theme .metrics-card.blue .metrics-value{color:#64b5f6}.dark-theme .metrics-card.green .metrics-value{color:#81c784}.dark-theme .metrics-card.purple .metrics-value{color:#ba68c8}.dark-theme .metrics-card.orange .metrics-value{color:#ffb74d}.dark-theme .metrics-subtitle{color:#888}.category-chart{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;overflow:hidden}.chart-title{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:#333}.chart-container{display:flex!important;flex-direction:column!important;gap:.75rem;width:100%}.chart-bar-row{display:flex;align-items:center;gap:.75rem;width:100%}.bar-label{min-width:90px;max-width:90px;width:90px;font-size:.8rem;font-weight:500;color:#555!important;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.bar-wrapper{flex:1;position:relative;height:28px;background:#f5f5f5;border-radius:4px;overflow:hidden;min-width:0}.bar{height:100%;display:flex;align-items:center;justify-content:flex-end;padding:0 .5rem;border-radius:4px;transition:width .5s ease;min-width:30px}.bar-value{color:#fff;font-weight:600;font-size:.8rem;text-shadow:0 1px 2px rgba(0,0,0,.2)}@media(max-width:768px){.category-chart{padding:1rem}.chart-bar-row{flex-direction:column;align-items:stretch;gap:.25rem}.bar-label{min-width:auto;max-width:100%;width:auto;text-align:left;font-size:.8rem}.bar-wrapper{height:24px}}.dark-theme .category-chart{background:#2a2a2a}.dark-theme .chart-title{color:#e0e0e0}.dark-theme .bar-label{color:#bbb}.dark-theme .bar-wrapper{background:#1a1a1a}.staff-performance-table{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.table-title{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600;color:#333}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background:#f5f5f5}th{padding:1rem;text-align:left;font-weight:600;font-size:.85rem;text-transform:uppercase;color:#666;letter-spacing:.5px}td{padding:1rem;border-bottom:1px solid #eee;font-size:.9rem;color:#555}tr:last-child td{border-bottom:none}tbody tr:hover{background:#fafafa}.staff-name{font-weight:600;color:#333}.completed-count{color:#4caf50;font-weight:600}.no-data{text-align:center;color:#999;padding:2rem;font-style:italic}.completion-rate{display:flex;align-items:center;gap:.75rem}.rate-bar-bg{flex:1;height:20px;background:#f0f0f0;border-radius:10px;overflow:hidden;min-width:80px}.rate-bar-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:10px;transition:width .5s ease}.rate-text{min-width:40px;font-weight:600;color:#555}@media(max-width:1024px){th,td{padding:.75rem .5rem;font-size:.8rem}.table-wrapper{margin:0 -1rem;padding:0 1rem}}@media(max-width:768px){.staff-performance-table{padding:1rem}th,td{padding:.5rem;font-size:.75rem}.table-title{font-size:1.1rem}.rate-bar-bg{min-width:60px}.rate-text{font-size:.7rem;min-width:35px}}.dark-theme .staff-performance-table{background:#2a2a2a}.dark-theme .table-title{color:#e0e0e0}.dark-theme thead{background:#1a1a1a}.dark-theme th{color:#aaa}.dark-theme td{border-bottom-color:#333;color:#bbb}.dark-theme tbody tr:hover{background:#333}.dark-theme .staff-name{color:#e0e0e0}.dark-theme .completed-count{color:#81c784}.dark-theme .rate-bar-bg{background:#1a1a1a}.dark-theme .rate-text{color:#bbb}.dark-theme .no-data{color:#666}.export-buttons{display:flex;gap:1rem;flex-wrap:wrap}.export-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.export-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.export-btn:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.btn-icon{font-size:1.25rem;line-height:1}.csv-btn{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.csv-btn:hover{background:linear-gradient(135deg,#45a049,#5cb85f)}.pdf-btn{background:linear-gradient(135deg,#f44336,#ef5350);color:#fff}.pdf-btn:hover{background:linear-gradient(135deg,#e53935,#e57373)}@media(max-width:768px){.export-buttons{flex-direction:column;gap:.75rem}.export-btn{width:100%;justify-content:center}}@media(prefers-color-scheme:dark){.export-btn{box-shadow:0 2px 4px #0000004d}.export-btn:hover{box-shadow:0 4px 8px #0006}}.reports-page{padding:2rem;max-width:1400px;margin:0 auto}.reports-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.reports-header h1{margin:0;font-size:2rem;color:#333}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.reports-charts,.reports-table{margin-bottom:2rem}@media(max-width:768px){.reports-page{padding:1rem}.reports-header{flex-direction:column;align-items:flex-start}.reports-header h1{font-size:1.5rem}.metrics-grid{grid-template-columns:1fr;gap:1rem}}.dark-theme .reports-header h1{color:#e0e0e0}.app{min-height:100vh;width:100%;display:flex;flex-direction:column}.app-nav{background:#fff;border-bottom:2px solid #e0e0e0;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;position:relative;z-index:100}.nav-header{display:flex;align-items:center;justify-content:space-between;width:auto}.app-logo{margin:0;font-size:1.5rem;color:#646cff;font-weight:700}.hamburger-btn{display:none;flex-direction:column;justify-content:space-around;width:32px;height:32px;background:transparent;border:none;cursor:pointer;padding:4px;z-index:110}.hamburger-line{width:100%;height:3px;background-color:#646cff;border-radius:2px;transition:all .3s ease;transform-origin:center}.hamburger-btn.open .hamburger-line:nth-child(1){transform:translateY(9px) rotate(45deg)}.hamburger-btn.open .hamburger-line:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger-btn.open .hamburger-line:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.mobile-menu-overlay{display:none}.nav-tabs{display:flex;gap:.5rem}.nav-tab{padding:.75rem 1.5rem;background:transparent;border:2px solid transparent;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;color:#666}.nav-tab:hover{background:#f5f5f5;color:#333}.nav-tab.active{background:#646cff;color:#fff;border-color:#646cff}.nav-user-section{display:flex;align-items:center;gap:1rem;margin-left:auto}.user-info{display:flex;align-items:center;gap:.75rem}.user-name{font-weight:500;color:#333;font-size:.9rem}.user-role{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.logout-btn{padding:.5rem 1rem;background:transparent;border:2px solid #ef4444;border-radius:8px;color:#ef4444;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease}.logout-btn:hover{background:#ef4444;color:#fff}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.app-loading p{font-size:1.1rem;opacity:.9}.loading-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.theme-toggle{padding:.75rem;background:transparent;border:2px solid #e0e0e0;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:50px;height:50px}.desktop-theme-toggle{margin-left:auto}.mobile-theme-toggle{display:none}.theme-toggle:hover{background:#f5f5f5;border-color:#646cff}.theme-toggle:active{transform:scale(.95)}.app-content{flex:1;overflow:hidden;background-color:#f5f5f5}.dark-theme .app-content{background-color:#121212}@media(max-width:768px){.app-nav{padding:1rem;flex-wrap:wrap}.nav-header{width:100%;display:flex;justify-content:space-between;align-items:center}.app-logo{font-size:1.1rem}.hamburger-btn{display:flex}.desktop-theme-toggle{display:none}.mobile-theme-toggle{display:flex;margin:.5rem 0;width:100%;justify-content:center;border-radius:8px}.mobile-menu-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:90;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.nav-tabs{position:fixed;top:0;right:-300px;width:280px;height:100vh;background:#fff;flex-direction:column;padding:80px 1rem 1rem;gap:.5rem;box-shadow:none;transition:right .3s ease,box-shadow .3s ease;z-index:100;overflow-y:auto;visibility:hidden}.nav-tabs.mobile-open{right:0;visibility:visible;box-shadow:-4px 0 20px #00000026}.nav-tab{width:100%;text-align:left;padding:1rem 1.25rem;font-size:1rem}.nav-tab:hover{transform:translate(5px)}}.dark-theme .app-nav{background:#1e1e1e;border-bottom-color:#333}.dark-theme .app-logo{color:#818aff}.dark-theme .hamburger-line{background-color:#818aff}.dark-theme .nav-tab{color:#aaa}.dark-theme .nav-tab:hover{background:#2a2a2a;color:#e0e0e0}.dark-theme .nav-tab.active{background:#646cff;color:#fff}.dark-theme .theme-toggle{border-color:#404040}.dark-theme .theme-toggle:hover{background:#2a2a2a;border-color:#818aff}@media(max-width:768px){.dark-theme .nav-tabs{background:#1e1e1e;box-shadow:-4px 0 20px #0006}.dark-theme .mobile-menu-overlay{background:#000000b3}}.dark-theme .user-name{color:#e0e0e0}.dark-theme .logout-btn{border-color:#f87171;color:#f87171}.dark-theme .logout-btn:hover{background:#f87171;color:#fff}.dark-theme .app-loading{background:linear-gradient(135deg,#1e1e3f,#2d1b4e)}@media(max-width:768px){.nav-user-section{position:absolute;top:.75rem;right:4rem;gap:.5rem}.user-info{display:none}.logout-btn{padding:.35rem .75rem;font-size:.75rem}.nav-user-section .desktop-theme-toggle{display:none}}.session-timeout-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.session-timeout-modal{background:#fff;border-radius:16px;padding:2.5rem 2rem 2rem;max-width:420px;width:90%;text-align:center;box-shadow:0 20px 60px #0000004d;animation:timeout-slide-in .3s ease-out}@keyframes timeout-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.session-timeout-icon{font-size:3rem;margin-bottom:.75rem}.session-timeout-modal h2{margin:0 0 .75rem;font-size:1.4rem;color:#1a1a2e}.session-timeout-modal p{margin:0 0 1.5rem;color:#555;font-size:1rem;line-height:1.5}.session-timeout-modal p strong{color:#d32f2f;font-size:1.15rem}.session-timeout-actions{display:flex;gap:.75rem;justify-content:center}.session-timeout-stay{padding:.7rem 1.5rem;background:#646cff;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.session-timeout-stay:hover{background:#535bf2}.session-timeout-logout{padding:.7rem 1.5rem;background:transparent;color:#666;border:2px solid #ddd;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.session-timeout-logout:hover{border-color:#d32f2f;color:#d32f2f}.dark-theme .session-timeout-modal{background:#1e1e2e}.dark-theme .session-timeout-modal h2{color:#e0e0e0}.dark-theme .session-timeout-modal p{color:#aaa}.dark-theme .session-timeout-modal p strong{color:#ff6b6b}.dark-theme .session-timeout-logout{color:#aaa;border-color:#444}.dark-theme .session-timeout-logout:hover{border-color:#ff6b6b;color:#ff6b6b}
