.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;padding:3rem;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{color:#333;margin-bottom:.5rem;font-size:1.75rem}.login-header p{color:#666;font-size:.95rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{font-weight:500;color:#333;font-size:.9rem}.form-group input{padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:6px;font-size:.9rem;border:1px solid #fcc}.login-button{display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.875rem;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.login-button:disabled{opacity:.6;cursor:not-allowed}.setup-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.setup-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;padding:3rem;width:100%;max-width:600px}.setup-header{margin-bottom:2rem}.setup-header h1{color:#333;margin-bottom:1.5rem;text-align:center}.setup-progress{display:flex;justify-content:space-between;margin-bottom:2rem}.progress-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative}.progress-step:after{content:"";position:absolute;top:15px;left:60%;width:80%;height:2px;background:#e0e0e0;z-index:0}.progress-step:last-child:after{display:none}.progress-step.completed:after{background:#667eea}.step-number{width:30px;height:30px;border-radius:50%;background:#e0e0e0;color:#666;display:flex;align-items:center;justify-content:center;font-weight:600;position:relative;z-index:1}.progress-step.active .step-number{background:#667eea;color:#fff}.progress-step.completed .step-number{background:#10b981;color:#fff}.step-label{font-size:.875rem;color:#666}.progress-step.active .step-label{color:#667eea;font-weight:500}.setup-form{display:flex;flex-direction:column;gap:1.5rem}.setup-form h2{color:#333;margin-bottom:.5rem}.help-text{color:#666;font-size:.9rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#333}.form-group input{padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem}.form-group input:focus{outline:none;border-color:#667eea}.price-eur{color:#666;font-size:.9rem;font-style:italic}.btn-primary{display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.875rem;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:transform .2s;margin-top:1rem}.btn-primary:hover:not(:disabled){transform:translateY(-2px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#f0f0f0;color:#333;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:500}.users-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;max-height:200px;overflow-y:auto}.user-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f5f5f5;border-radius:6px}.add-user-form{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.add-user-form input,.add-user-form select{padding:.75rem;border:1px solid #ddd;border-radius:6px}.add-user-form button{grid-column:1 / -1}.role-badge{background:#667eea;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;text-transform:capitalize}.setup-complete{text-align:center;padding:2rem 0}.check-icon{color:#10b981;margin-bottom:1rem}.setup-complete h2{color:#333;margin-bottom:.5rem}.setup-complete p{color:#666;margin-bottom:2rem}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:6px;margin-bottom:1rem;border:1px solid #fcc}.dashboard{max-width:1400px}.dashboard h1{color:#333;margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.stat-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.stat-content h3{font-size:.9rem;color:#666;margin-bottom:.25rem;font-weight:500}.stat-value{font-size:2rem;font-weight:700;color:#333;margin:0}.dashboard-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 4px #0000001a}.dashboard-section h2{color:#333;margin-bottom:1.5rem}.bookings-list{display:flex;flex-direction:column;gap:1rem}.booking-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f9f9f9;border-radius:8px;border-left:4px solid #667eea}.booking-info h4{color:#333;margin-bottom:.5rem}.booking-info p{color:#666;font-size:.9rem;margin:.25rem 0}.booking-dates{color:#667eea;font-weight:500}.booking-meta{text-align:right}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500;text-transform:capitalize}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.completed{background:#dbeafe;color:#1e40af}.transaction-id{font-size:.8rem;color:#999;margin-top:.5rem;font-family:monospace}.empty-state{text-align:center;color:#999;padding:2rem}.modal-content.xlarge{max-width:1200px;max-height:90vh;overflow-y:auto}.checkin-steps{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid #e0e0e0}.checkin-steps button{background:none;border:none;padding:1rem 2rem;cursor:pointer;font-weight:500;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px}.checkin-steps button.active{color:#667eea;border-bottom-color:#667eea}.form-section{padding:1rem 0}.form-section h3{margin-bottom:1.5rem;color:#333}.guest-item,.service-item{background:#f9f9f9;padding:1rem;border-radius:8px;margin-bottom:1rem}.date-nights-input{display:flex;align-items:center;gap:.5rem}.date-nights-input input[type=number]{width:80px}.btn-danger{background:#ef4444;color:#fff;border:none;padding:.5rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-danger:hover{background:#dc2626}.services-list{margin:1rem 0}.service-item{display:flex;align-items:center;gap:1rem;padding:1rem;border:2px solid #e0e0e0;border-radius:8px;margin-bottom:.5rem}.service-item.selected{border-color:#667eea;background:#f0f4ff}.service-info{flex:1;display:flex;gap:1rem;align-items:center}.service-info strong{min-width:200px}.total-amount{margin-top:1rem;padding:1rem;background:#f5f5f5;border-radius:8px;text-align:right;font-size:1.2rem}.payment-item{background:#f9f9f9;padding:1rem;border-radius:8px;margin-bottom:.5rem}.payments-total{margin-top:1rem;padding:1rem;background:#f5f5f5;border-radius:8px;text-align:right}.schema-view{max-width:1400px}.schema-filters{display:flex;gap:1rem;margin-bottom:2rem;padding:1rem;background:#fff;border-radius:8px}.schema-filters select{padding:.5rem;border:1px solid #ddd;border-radius:6px}.rooms-schema{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.room-schema-item{background:#fff;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s}.room-schema-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.room-header{padding:.75rem;text-align:center}.room-number{font-weight:700;font-size:1.1rem;color:#333}.room-type{font-size:.85rem;color:#666;margin-top:.25rem}.room-status{padding:.5rem;color:#fff;text-align:center;font-size:.85rem}.room-beds,.room-guests{margin:.25rem 0}.room-actions{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.room-actions button{padding:.75rem;border:none;border-radius:6px;background:#667eea;color:#fff;cursor:pointer}.room-actions button:hover{background:#5568d3}.schedule-view{max-width:1400px}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem;background:#fff;border-radius:8px}.date-range{display:flex;gap:1rem;align-items:center}.date-range label{font-weight:500}.date-range input{padding:.5rem;border:1px solid #ddd;border-radius:6px}.schedule-table{background:#fff;border-radius:8px;overflow-x:auto}.schedule-row{display:grid;grid-template-columns:200px repeat(auto-fit,minmax(120px,1fr));border-bottom:1px solid #e0e0e0}.schedule-row.header{background:#f5f5f5;font-weight:600;position:sticky;top:0;z-index:10}.schedule-cell{padding:.75rem;border-right:1px solid #e0e0e0;min-height:60px}.room-header,.date-header{text-align:center}.room-cell{font-weight:500;background:#f9f9f9}.schedule-booking{background:#667eea;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.85rem;margin:.25rem 0}.rooms-list-view{max-width:1400px}.list-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;padding:1rem;background:#fff;border-radius:8px}.list-filters input,.list-filters select{padding:.75rem;border:1px solid #ddd;border-radius:6px}.rooms-table{background:#fff;border-radius:8px;overflow:hidden}.rooms-table table{width:100%;border-collapse:collapse}.rooms-table thead{background:#f5f5f5}.rooms-table th{padding:1rem;text-align:left;font-weight:600;color:#333}.rooms-table td{padding:1rem;border-bottom:1px solid #f0f0f0;color:#666}.rooms-table tbody tr:hover{background:#f9f9f9}.status-badge.available{background:#d1fae5;color:#065f46}.status-badge.occupied{background:#fef3c7;color:#92400e}.status-badge.maintenance{background:#fee2e2;color:#991b1b}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.list-header h2{margin:0;font-size:1.5rem;color:#333}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.error-message{background:#fee2e2;color:#991b1b;padding:1rem;border-radius:6px;margin-bottom:1rem}.rooms-main{max-width:1400px}.rooms-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #e0e0e0}.rooms-tabs button{background:none;border:none;padding:1rem 2rem;cursor:pointer;font-weight:500;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px}.rooms-tabs button.active{color:#667eea;border-bottom-color:#667eea}.rooms-content{background:#fff;border-radius:12px;padding:2rem}.check-ins-page{max-width:1400px}.check-ins-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.check-in-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.check-in-card h3{color:#333;margin-bottom:1rem}.check-in-card p{color:#666;margin:.5rem 0;font-size:.9rem}.room-reservation-item,.new-client-form{background:#f9f9f9;padding:1rem;border-radius:8px;margin-bottom:1rem}.new-client-form h4{margin-bottom:1rem;color:#333}.reservations-page{max-width:1400px}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.reservations-list{display:grid;gap:1rem}.reservation-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.reservation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.reservation-details{margin-bottom:1rem}.reservation-details p{margin:.5rem 0;color:#666}.reservation-rooms{margin-top:1rem}.room-badge{display:inline-block;background:#667eea;color:#fff;padding:.25rem .75rem;border-radius:12px;margin:.25rem;font-size:.875rem}.reservation-actions{display:flex;gap:.5rem;margin-top:1rem}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.confirmed{background:#d1fae5;color:#065f46}.status-badge.cancelled{background:#fee2e2;color:#991b1b}.client-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #e0e0e0;overflow-x:auto}.client-tabs button{background:none;border:none;padding:1rem 1.5rem;cursor:pointer;font-weight:500;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap}.client-tabs button.active{color:#667eea;border-bottom-color:#667eea}.header-actions{display:flex;gap:.5rem;align-items:center}.item-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) auto;gap:.5rem;margin-bottom:.5rem;padding:.75rem;background:#f9f9f9;border-radius:6px;align-items:center}.item-row input,.item-row select{padding:.5rem;border:1px solid #ddd;border-radius:4px}.clients-page{max-width:1400px}.clients-table{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.clients-table table{width:100%;border-collapse:collapse}.clients-table thead{background:#f5f5f5}.clients-table th{padding:1rem;text-align:left;font-weight:600;color:#333}.clients-table td{padding:1rem;border-bottom:1px solid #f0f0f0;color:#666}.clients-table tbody tr:hover{background:#f9f9f9}.free-sales-page{max-width:1200px}.free-sales-form{background:#fff;padding:2rem;border-radius:12px}.service-item,.payment-item{background:#f9f9f9;padding:1rem;border-radius:8px;margin-bottom:.5rem}.total-amount,.payments-total{margin-top:1rem;padding:1rem;background:#f5f5f5;border-radius:8px;text-align:right;font-size:1.1rem}.bills-page{max-width:1400px}.tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #e0e0e0}.tabs button{background:none;border:none;padding:1rem 2rem;cursor:pointer;font-weight:500;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px}.tabs button.active{color:#667eea;border-bottom-color:#667eea}.bills-list{display:grid;gap:1rem}.bill-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer}.bill-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.bill-details p{margin:.5rem 0;color:#666}.bill-expanded{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.bill-services,.bill-payments{margin:1rem 0}.bill-services h4,.bill-payments h4{margin-bottom:.5rem;color:#333}.bill-actions{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500;text-transform:capitalize}.status-badge.paid{background:#d1fae5;color:#065f46}.status-badge.unpaid{background:#fef3c7;color:#92400e}.status-badge.hotel_account{background:#dbeafe;color:#1e40af}.unpaid-section{background:#fff;padding:2rem;border-radius:8px;margin-bottom:2rem;text-align:center}.contact-item{background:#f9f9f9;padding:1rem;border-radius:8px;margin-bottom:.5rem}.companies-page{max-width:1400px}.companies-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.company-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.company-card h3{color:#333;margin-bottom:1rem}.company-card p{color:#666;margin:.5rem 0;font-size:.9rem}.season-item,.price-item{background:#f9f9f9;padding:1rem;border-radius:8px;margin-bottom:.5rem}.tariffs-page{max-width:1400px}.tariffs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.tariff-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.tariff-card h3{color:#333;margin-bottom:1rem}.tariff-card p{color:#666;margin:.5rem 0;font-size:.9rem}.resources-page{max-width:1400px}.resources-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.resource-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:transform .2s}.resource-card:hover{transform:translateY(-2px)}.resource-card.selected{border:2px solid #667eea}.resource-reservations{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.reservation-item{padding:.5rem;background:#f9f9f9;border-radius:4px;margin-bottom:.5rem}.closing-page{max-width:1400px}.closing-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #e0e0e0}.closing-tabs button{background:none;border:none;padding:1rem 2rem;cursor:pointer;font-weight:500;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px}.closing-tabs button.active{color:#667eea;border-bottom-color:#667eea}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:8px}.report-content{background:#fff;padding:2rem;border-radius:8px}.report-section{margin-bottom:2rem}.report-section h3{margin-bottom:1rem;color:#333}.report-section table{width:100%;border-collapse:collapse}.report-actions{display:flex;gap:1rem;margin-top:2rem}.archive-filters{background:#fff;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.archived-reports{display:grid;gap:1rem}.report-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.comments-list{margin-bottom:1rem}.comment-item{background:#f9f9f9;padding:1rem;border-radius:8px;margin-bottom:.5rem}.comment-header{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.875rem;color:#666}.add-comment{margin-top:1rem}.add-comment textarea{width:100%;margin-bottom:.5rem;padding:.75rem;border:1px solid #ddd;border-radius:6px}.tasks-page{max-width:1400px}.tasks-list{display:grid;gap:1rem}.task-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;transition:transform .2s}.task-card:hover{transform:translateY(-2px)}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.task-text{margin-top:.5rem;color:#666;font-style:italic}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.nomenclatures-page{max-width:1400px}.nomenclatures-tabs{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.tabs-section{background:#fff;padding:1.5rem;border-radius:8px}.tabs-section h3{margin-bottom:1rem;color:#333}.tabs-section button{display:block;width:100%;padding:.75rem;margin-bottom:.5rem;background:#f5f5f5;border:none;border-radius:6px;cursor:pointer;text-align:left}.tabs-section button.active{background:#667eea;color:#fff}.nomenclatures-content{background:#fff;padding:2rem;border-radius:8px}.nomenclature-management{min-height:400px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h2{margin:0;font-size:1.5rem;color:#333}.nomenclature-list{margin-top:2rem}.nomenclature-list table{width:100%;border-collapse:collapse}.nomenclature-list thead{background:#f5f5f5}.nomenclature-list th{padding:1rem;text-align:left;font-weight:600;color:#333}.nomenclature-list td{padding:1rem;border-bottom:1px solid #f0f0f0;color:#666}.nomenclature-list tbody tr:hover{background:#f9f9f9}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h3{margin:0;font-size:1.5rem;color:#333}.btn-icon{background:none;border:none;cursor:pointer;padding:.5rem;color:#666;display:flex;align-items:center;justify-content:center}.btn-icon:hover{color:#333}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn-primary{background:#667eea;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:500;display:flex;align-items:center;gap:.5rem}.btn-primary:hover{background:#5568d3}.btn-secondary{background:#f5f5f5;color:#333;border:none;padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:500}.btn-secondary:hover{background:#e0e0e0}.loading{text-align:center;padding:2rem;color:#666}.users-page{max-width:1400px}.filters-section{background:#fff;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.users-list{display:grid;gap:1rem}.user-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.user-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.role-badge{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500;background:#667eea;color:#fff}.user-details p{margin:.5rem 0;color:#666}.user-actions{display:flex;gap:.5rem;margin-top:1rem}.reports-page{max-width:1400px}.reports-filters{background:#fff;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.report-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;text-align:center;transition:transform .2s}.report-card:hover{transform:translateY(-2px)}.report-card.active{border:2px solid #667eea}.report-card h3{margin-top:1rem;color:#333}.report-results{background:#fff;padding:2rem;border-radius:8px}.report-section h2{margin-bottom:1rem;color:#333}.report-section table{width:100%;border-collapse:collapse;margin-top:1rem}.report-section th,.report-section td{padding:.75rem;text-align:left;border-bottom:1px solid #e0e0e0}.report-section th{background:#f5f5f5;font-weight:600}.layout{display:flex;flex-direction:column;min-height:100vh}.header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto}.logo{font-size:1.5rem;font-weight:600}.user-info{display:flex;align-items:center;gap:1rem}.username{font-weight:500}.role-badge{background:#fff3;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;text-transform:capitalize}.logout-btn{display:flex;align-items:center;gap:.5rem;background:#fff3;border:none;color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:background .2s}.logout-btn:hover{background:#ffffff4d}.layout-body{display:flex;flex:1}.sidebar{width:250px;background:#fff;border-right:1px solid #e0e0e0;padding:1.5rem 0;box-shadow:2px 0 4px #0000000d}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;color:#666;text-decoration:none;transition:all .2s;border-left:3px solid transparent}.nav-item:hover{background:#f5f5f5;color:#667eea}.nav-item.active{background:#f0f0ff;color:#667eea;border-left-color:#667eea;font-weight:500}.main-content{flex:1;padding:2rem;overflow-y:auto;background:#f5f5f5}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{min-height:100vh}
