.register-section label{display:block;font-weight:500;color:#4a5568;margin-bottom:6px;text-align:left}.register-section input[type=email],.register-section input[type=password],.register-section input[type=text]{width:100%;padding:12px 14px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:1rem;margin-bottom:16px;background:#f9fafb;transition:border-color .2s,box-shadow .2s;outline:none;box-sizing:border-box}.register-section input[type=email]:focus,.register-section input[type=password]:focus,.register-section input[type=text]:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;background:#fff}.register-section form>div{margin-bottom:10px}.register-section button[type=submit]{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:16px 24px;background-color:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;font-weight:600;color:#2d3748;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a;margin-bottom:8px}.register-section button[type=submit]:hover:not(:disabled){border-color:#cbd5e0;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.register-section button[type=submit]:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.register-section button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.login-section button[type=submit]{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:16px 24px;background-color:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;font-weight:600;color:#2d3748;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a;margin-bottom:8px}.login-section button[type=submit]:hover:not(:disabled){border-color:#cbd5e0;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.login-section button[type=submit]:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.login-section button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.login-section label{display:block;font-weight:500;color:#4a5568;margin-bottom:6px;text-align:left}.login-section input[type=email],.login-section input[type=password],.login-section input[type=text]{width:100%;padding:12px 14px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:1rem;margin-bottom:16px;background:#f9fafb;transition:border-color .2s,box-shadow .2s;outline:none;box-sizing:border-box}.login-section input[type=email]:focus,.login-section input[type=password]:focus,.login-section input[type=text]:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;background:#fff}.login-section form>div{margin-bottom:10px}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;padding:40px;max-width:420px;width:100%;text-align:center}.logo-section{margin-bottom:40px}.app-title{font-size:2rem;font-weight:700;color:#2d3748;margin:0 0 10px;line-height:1.2}.app-subtitle{font-size:1rem;color:#718096;margin:0}.login-section{display:flex;flex-direction:column;gap:20px}.error-message{background-color:#fed7d7;border:1px solid #feb2b2;color:#c53030;padding:12px;border-radius:8px;font-size:.9rem;position:relative;text-align:left}.close-error{position:absolute;top:8px;right:12px;background:none;border:none;font-size:1.2rem;color:#c53030;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.close-error:hover{opacity:.7}.google-login-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:16px 24px;background-color:#fff;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;font-weight:600;color:#2d3748;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.google-login-btn:hover:not(:disabled){border-color:#cbd5e0;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.google-login-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.google-login-btn:disabled{opacity:.6;cursor:not-allowed}.google-icon{width:20px;height:20px;flex-shrink:0}.login-info{margin-top:20px}.login-info p{font-size:.9rem;color:#718096;margin:0;line-height:1.5}@media (max-width: 480px){.login-container{padding:15px}.login-card{padding:30px 20px}.app-title{font-size:1.75rem}.google-login-btn{padding:14px 20px;font-size:.95rem}}.dashboard-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 2rem;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:1000}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.header-left h1{margin:0;font-size:1.4rem;font-weight:600}.header-right{display:flex;align-items:center}.user-info{display:flex;align-items:center;gap:1rem}.username{font-weight:500}.username-btn{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);padding:.4rem .8rem;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:500}.username-btn:hover{background:#fff3;border-color:#fff6;transform:translateY(-1px)}.logout-btn{background:#f0000066;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.4rem .8rem;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:.9rem}.logout-btn:hover{background:#ffffff4d;border-color:#ffffff80}.dashboard-tabs-header{margin-top:.5rem;margin-bottom:.5rem;position:relative}.dashboard-tabs-bar{display:flex;gap:.3rem;background:#f3f3f3;border-radius:2rem;padding:.2rem;width:fit-content;margin:0 auto;box-shadow:0 1px 4px #0000000a}.dashboard-tab-container{position:relative}.dashboard-tab{padding:.4rem 1.4rem;border-radius:2rem;font-size:1rem;font-weight:500;color:#888;background:transparent;cursor:pointer;transition:background .18s,color .18s;-webkit-user-select:none;user-select:none;white-space:nowrap}.dashboard-tab.active{background:linear-gradient(90deg,#e3f2fd 60%,#bbdefb);color:#1565c0;box-shadow:0 2px 8px #2196f314}.dashboard-tab:not(.active):hover{background:#e3f2fd;color:#1976d2}.dropdown-menu{position:absolute;top:100%;left:0;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;padding:.5rem 0;min-width:200px;z-index:1001;margin-top:.1rem}.dropdown-menu:before{content:"";position:absolute;top:-.1rem;left:0;right:0;height:.1rem;background:transparent}.dropdown-item{padding:.6rem 1rem;cursor:pointer;color:#333;font-size:.9rem;transition:background-color .15s;white-space:nowrap}.dropdown-item:hover{background:#e3f2fd;color:#1565c0}.dropdown-item:first-child{margin-top:0}.dropdown-item:last-child{margin-bottom:0}@media (max-width: 768px){.header-content{padding:0 1rem}.header-left h1{font-size:1.2rem}.user-info{flex-direction:column;gap:.5rem}.username{font-size:.9rem}.dashboard-tabs-bar{flex-wrap:wrap;justify-content:center}.dropdown-menu{min-width:180px;box-shadow:0 8px 24px #0003}.dropdown-item{padding:.8rem 1rem;font-size:1rem}.dashboard-tab{padding:.8rem 1rem;min-height:44px;display:flex;align-items:center;justify-content:center}}.modal-overlay-blur{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0000004d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:center;justify-content:center}.modal{background:#fff;border-radius:8px;box-shadow:0 2px 16px #00000026;padding:2rem 2.5rem 1.5rem;min-width:320px;max-width:90vw;outline:none}.modal h3{margin-top:0;margin-bottom:1rem;font-size:1.3rem;font-weight:600}.modal .warning{color:#d9534f;font-weight:500;margin-top:.5rem}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem;justify-content:flex-end}.shared-btn{padding:.5rem 1.2rem;border-radius:4px;border:none;font-size:1rem;cursor:pointer}.shared-btn-delete{background:#d9534f;color:#fff}.shared-btn-outline{background:#fff;color:#333;border:1px solid #ccc}.segmented-control{display:flex;justify-content:flex-start;gap:1.5rem;margin-bottom:2rem}.segment-btn{background:#f4f4f4;border:none;border-radius:999px;padding:.6em 1.6em;font-size:1.1rem;font-weight:500;color:#444;cursor:pointer;transition:background .2s,color .2s;position:relative;outline:none}.segment-btn.active{background:#007bff;color:#fff;box-shadow:0 2px 8px #007bff14}.segment-badge{background:#fff;color:#007bff;border-radius:999px;font-size:.9em;padding:.1em .7em;margin-left:.5em;font-weight:600;box-shadow:0 1px 3px #0000000a}.report-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.report-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000012;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;position:relative;min-height:220px}.report-card.archived{opacity:.85;background:#f7f7fa}.report-card-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.2em 1.2em .5em}.report-thumbnail-container{position:relative;cursor:pointer}.report-card-thumbnail{width:64px;height:64px;object-fit:cover;border-radius:8px;box-shadow:0 1px 4px #00000014}.status-badge{position:static;top:4px;left:4px;font-size:.8em;padding:.2em .7em;border-radius:6px;font-weight:600;background:#e0e7ff;color:#2a3a6b;box-shadow:0 1px 3px #0000000a;display:inline-block;margin:0 auto;width:80px;text-align:center}.status-badge.active{background:#e8f5e8;color:#256029}.status-badge.archived{background:#ffeaea;color:#a33a3a}.status-badge.resolved{background:#e0f0ff;color:#1e3a8a}.reports-table td{text-align:center;vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:1rem;text-align:left}.report-card-actions{display:flex;gap:.5em}.icon-btn{background:none;border:none;padding:.3em .5em;border-radius:6px;cursor:pointer;color:#007bff;font-size:1.3em;transition:background .15s}.icon-btn:hover{background:#eaf2ff}.icon-btn.delete{color:#d32f2f}.icon-btn.delete:hover{background:#ffeaea}.report-card-body{padding:0 1.2em 1.2em;flex:1;display:flex;flex-direction:column;justify-content:space-between}.report-card-text{font-size:1.05em;color:#333;margin-bottom:1em;min-height:2.5em}.report-card-meta{display:flex;flex-wrap:wrap;gap:1em;font-size:.97em;color:#666}.meta-item{white-space:nowrap}.report-empty-state{grid-column:1/-1;text-align:center;padding:3em 0}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}.material-icons{font-family:Material Icons;font-style:normal;font-weight:400;font-size:1.3em;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}:root{--primary-bg: #f8fafc;--primary-color: #374151;--accent-orange: #f59e0b;--accent-orange-dark: #d97706;--accent-blue: #3b82f6;--accent-blue-dark: #2563eb;--accent-green: #10b981;--accent-green-dark: #059669;--accent-red: #ef4444;--accent-red-dark: #dc2626;--border-radius: 12px;--section-padding: 2rem;--box-shadow: 0 4px 6px rgba(0, 0, 0, .1)}.damage-reports-container{min-height:100vh;background-color:var(--primary-bg)}.damage-reports-main{padding:var(--section-padding) 1rem;max-width:1400px;margin:0 auto}.damage-reports-content{background:#fff;border-radius:var(--border-radius);box-shadow:var(--box-shadow);overflow:hidden}.reports-header{background:linear-gradient(135deg,var(--accent-orange) 0%,var(--accent-orange-dark) 100%);color:#fff;padding:var(--section-padding);text-align:center}.reports-header h2{font-size:2rem;font-weight:700;margin-bottom:.5rem}.reports-header p{opacity:.9;font-size:1.1rem}.loading-container,.error-container,.no-reports{padding:4rem 2rem;text-align:center;color:#6b7280}.loading-spinner{width:50px;height:50px;border:4px solid #e5e7eb;border-top:4px solid var(--accent-orange);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.error-icon{font-size:3rem;margin-bottom:1rem}.error-container h3{color:var(--accent-red-dark);margin-bottom:.5rem}.error-container p{margin-bottom:1.5rem}.retry-btn{background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-blue-dark) 100%);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.no-reports-icon{font-size:4rem;margin-bottom:1rem;opacity:.6}.no-reports h3{color:var(--primary-color);margin-bottom:.5rem}.reports-table-container{padding:var(--section-padding)}.reports-table-wrapper{overflow-x:auto;border-radius:8px;border:1px solid #e5e7eb}.reports-table{width:100%;border-collapse:collapse;background:#fff}.reports-table th{padding:1rem;text-align:left}.reports-table th{background:var(--primary-bg);font-weight:600;color:var(--primary-color);border-bottom:2px solid #e5e7eb;white-space:nowrap}.report-row.resolved{background:#e6ffe6!important}.report-row:hover{background-color:var(--primary-bg)}.picture-cell{width:80px}.thumbnail-container{width:60px;height:60px;border-radius:8px;overflow:hidden;border:2px solid #e5e7eb;cursor:pointer;transition:all .3s ease}.thumbnail-container:hover{border-color:var(--accent-orange);transform:scale(1.05)}.report-thumbnail{width:100%;height:100%;object-fit:cover}.text-cell{max-width:300px}.report-text-preview{line-height:1.5;color:var(--primary-color)}.employee-cell,.organization-cell{min-width:150px}.employee-name,.organization-name{font-weight:600;color:var(--primary-color)}.date-cell{min-width:120px}.date-info{display:flex;flex-direction:column;gap:.25rem}.date-primary{font-weight:600;color:var(--primary-color)}.date-secondary{font-size:.875rem;color:#6b7280}.actions-cell{min-width:160px}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.action-btn{padding:.5rem .75rem;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.open-btn{background:linear-gradient(135deg,var(--accent-green) 0%,var(--accent-green-dark) 100%);color:#fff}.open-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.delete-btn{background:linear-gradient(135deg,var(--accent-red) 0%,var(--accent-red-dark) 100%);color:#fff}.delete-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:var(--border-radius);max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px #0003;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;color:var(--primary-color);font-size:1.25rem}.modal-close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:.25rem;border-radius:4px;transition:all .3s ease}.modal-close-btn:hover{background:#f3f4f6;color:var(--primary-color)}.modal-body{padding:1.5rem}.modal-image-container{text-align:center;margin-bottom:1.5rem}.modal-image{max-width:50vw;max-height:40vh;width:auto;height:auto;border-radius:8px;box-shadow:0 4px 12px #0000001a}.modal-details{margin-bottom:1.5rem}.detail-row{padding:.5rem 0;border-bottom:1px solid #f3f4f6;color:var(--primary-color)}.detail-row:last-child{border-bottom:none}.modal-text-container{margin-bottom:1rem}.modal-text-container label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--primary-color)}.modal-textarea{width:100%;padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:1rem;line-height:1.5;resize:vertical;background:var(--primary-bg)}.modal-textarea:focus{outline:none;border-color:var(--accent-orange)}.modal-footer{padding:1.5rem;border-top:1px solid #e5e7eb;text-align:right}.modal-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-left:.5rem}.close-btn,.cancel-btn{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.close-btn:hover,.cancel-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #6b72804d}.delete-confirm-btn{background:linear-gradient(135deg,var(--accent-red) 0%,var(--accent-red-dark) 100%);color:#fff}.delete-confirm-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}.delete-confirm-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.delete-modal{max-width:500px}@media (max-width: 1024px){.modal-image{max-width:70vw;max-height:35vh}.reports-table th,.reports-table td{padding:.75rem}.action-buttons{flex-direction:column}.action-btn{width:100%}}@media (max-width: 768px){.damage-reports-main{padding:1rem .5rem}.reports-header{padding:1.5rem}.reports-header h2{font-size:1.5rem}.reports-table-container{padding:1rem}.reports-table th,.reports-table td{padding:.5rem;font-size:.875rem}.text-cell{max-width:200px}.modal-content{max-width:95vw;margin:.5rem}.modal-image{max-width:85vw;max-height:30vh}.modal-header,.modal-body,.modal-footer{padding:1rem}.modal-btn{width:100%;margin-left:0;margin-top:.5rem}}@media (max-width: 640px){.reports-table-wrapper{font-size:.75rem}.thumbnail-container{width:40px;height:40px}.action-btn{padding:.375rem .5rem;font-size:.75rem}}.registration-limit-container[data-v-989a5dc5]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.registration-limit-content[data-v-989a5dc5]{background:#fff;border-radius:12px;padding:40px;max-width:600px;box-shadow:0 10px 25px #0000001a;text-align:center}h1[data-v-989a5dc5]{color:#333;margin-bottom:20px;font-size:2.5em}.main-message[data-v-989a5dc5]{font-size:1.2em;color:#666;margin-bottom:30px}.info-box[data-v-989a5dc5]{background:#f8f9fa;border-radius:8px;padding:25px;margin:25px 0;text-align:left}.info-box h3[data-v-989a5dc5]{color:#495057;margin-bottom:15px}.features h4[data-v-989a5dc5]{color:#495057;margin:15px 0 10px}.features ul[data-v-989a5dc5]{list-style:none;padding:0}.features li[data-v-989a5dc5]{padding:5px 0;color:#666}.status-section[data-v-989a5dc5]{background:#e9ecef;border-radius:8px;padding:20px;margin:20px 0}.status-section h4[data-v-989a5dc5]{margin-bottom:10px;color:#495057}.status-open[data-v-989a5dc5]{color:#28a745;font-weight:700}.status-closed[data-v-989a5dc5]{color:#dc3545;font-weight:700}.actions[data-v-989a5dc5]{margin:30px 0;display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.check-btn[data-v-989a5dc5],.home-btn[data-v-989a5dc5]{padding:12px 24px;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:all .3s ease}.check-btn[data-v-989a5dc5]{background:#007bff;color:#fff}.check-btn[data-v-989a5dc5]:hover{background:#0056b3}.home-btn[data-v-989a5dc5]{background:#6c757d;color:#fff}.home-btn[data-v-989a5dc5]:hover{background:#545b62}.contact-info[data-v-989a5dc5]{margin-top:30px;padding-top:20px;border-top:1px solid #dee2e6;color:#666;font-style:italic}.floating-error[data-v-989a5dc5]{position:fixed;top:20px;right:20px;background:#ff4757;color:#fff;padding:12px 16px;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:9999;max-width:400px;cursor:pointer;animation:slideIn-989a5dc5 .3s ease-out}@keyframes slideIn-989a5dc5{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.task-management-modal{max-width:900px;max-height:90vh;width:90vw}.task-form-section{border-bottom:1px solid #e5e7eb;padding-bottom:1rem;margin-bottom:1rem}.task-form-row{display:flex;gap:1rem;margin-bottom:.75rem}.task-form-group{flex:1}.task-form-group.full-width{width:100%}.task-form-group label{display:block;margin-bottom:.25rem;font-weight:500;color:#374151}.task-form-actions{display:flex;justify-content:flex-start;margin-top:.5rem}.task-message{margin-top:.75rem;padding:.5rem;border-radius:4px;font-size:.875rem}.task-error{background-color:#fef2f2;color:#dc2626;border:1px solid #fecaca}.task-success{background-color:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.tasks-table-section{margin-bottom:1rem}.tasks-table-section h4{margin-bottom:.75rem;color:#374151;font-size:1.1rem}.scrollable-task-table{max-height:300px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:6px}.scrollable-task-table .shared-table{margin:0}.scrollable-task-table .shared-table th,.scrollable-task-table .shared-table td{padding:.5rem .75rem;font-size:.875rem}@media (max-width: 768px){.task-management-modal{width:95vw;max-width:none}.task-form-row{flex-direction:column;gap:.5rem}.scrollable-task-table{max-height:250px}}.openModalButton.small{font-size:1.1em;padding:.1em .5em;height:1.3em;width:1.3em;line-height:1.1em;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.notification-panel-old{position:fixed;top:2rem;right:2rem;min-width:320px;max-width:400px;background:#fff;border-radius:8px;box-shadow:0 2px 16px #00000026;display:flex;align-items:flex-start;padding:1rem 1.5rem 1rem 1rem;z-index:2000;transition:opacity .2s,transform .2s;opacity:1;transform:translateY(0)}.notification-panel{position:fixed;bottom:20px;right:20px;min-width:320px;max-width:400px;background:#fff;border-radius:8px;box-shadow:0 2px 16px #00000026;display:flex;align-items:flex-start;padding:1rem 1.5rem 1rem 1rem;z-index:2000;transition:opacity .2s,transform .2s;opacity:1;animation:notificationSlideIn .3s cubic-bezier(.34,1.56,.64,1)}.notification-panel.hide{opacity:0;animation:notificationSlideOut .2s ease-in forwards;pointer-events:none}.notification-panel--success{border-left:6px solid #4caf50}.notification-panel--error{border-left:6px solid #f44336}.notification-panel--info{border-left:6px solid #2196f3}.notification-panel-icon{font-size:2rem;margin-right:1rem;margin-top:.2rem}.notification-panel-content{flex:1}.notification-panel-message{font-weight:700;margin:0 0 .2rem}.notification-panel-description{margin:0;color:#444;font-size:1rem}.notification-panel-close{background:none;border:none;font-size:1.5rem;color:#888;cursor:pointer;margin-left:.5rem;margin-top:.1rem;transition:color .2s}.notification-panel-close:hover{color:#222}.openModalButton{display:inline-flex;align-items:center;justify-content:center;background:#1976d2;color:#fff;border:none;border-radius:50%;width:36px;height:36px;font-size:1.7rem;font-weight:700;cursor:pointer;box-shadow:0 2px 6px #1976d214;transition:background .2s,box-shadow .2s,transform .1s;margin-left:12px}.openModalButton:hover,.openModalButton:focus{background:#1565c0;box-shadow:0 4px 12px #1976d226;outline:none;transform:scale(1.08)}.openModalButton:active{background:#0d47a1;transform:scale(.97)}.create-group-section{max-width:420px;margin:0 auto 2.5rem;background:#f8fafc;border-radius:10px;box-shadow:0 2px 8px #0000000f;padding:2rem 2rem 1.5rem}.create-group-section h4{text-align:center;margin-bottom:1.5rem;font-size:1.2rem;font-weight:600;color:#374151}.create-group-form .form-group{margin-bottom:1.2rem}.create-group-form .form-actions{display:flex;justify-content:center;margin-top:1.2rem}.shared-input{padding:.75rem;border:1px solid #ccc;border-radius:6px;font-size:1rem;width:100%;box-sizing:border-box;transition:border-color .2s;background:#fff}.shared-input:focus{border-color:#007bff;outline:none}input[type=text],input[type=date],input[type=number],input[type=email],textarea,select{padding:.75rem;border:1px solid #ccc;border-radius:6px;font-size:1rem;width:100%;box-sizing:border-box;transition:border-color .2s;background:#fff}input:focus,textarea:focus,select:focus{border-color:#007bff;outline:none}label{font-weight:500;margin-bottom:.4em;display:block}.form-group{margin-bottom:1.2em}.form-row{display:flex;gap:1.5em;flex-wrap:wrap}.checkbox-group{display:flex;align-items:center;gap:.5em}.form-actions{margin-top:1em}.shared-page{display:flex;flex-direction:column;min-height:100vh}.shared-content{flex:1;display:flex;flex-direction:column;padding:15px 20px;background-color:#f9f9f9;overflow:hidden;height:calc(100vh - 90px);min-height:0;box-sizing:border-box}.shared-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.shared-count{font-size:14px;color:#666;background:#e8f5e8;padding:.5rem 1rem;border-radius:6px;border-left:4px solid #4caf50}.shared-section{background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.shared-table-container{background-color:#fff;box-shadow:0 2px 4px #0000001a;padding:20px;width:100%}.shared-table{width:100%;border-collapse:collapse;overflow:hidden;border:1px solid #e5e7eb;border-radius:8px}.shared-table th,.shared-table td{padding:10px;text-align:left;border-bottom:1px solid #ddd}.shared-table th{background-color:#f2f2f2;position:sticky;top:0;z-index:1;font-weight:600;color:var(--primary-color)}.shared-actions{display:grid;gap:5px;max-width:160px}.shared-btn{padding:10px 15px;border:none;border-radius:4px;font-size:14px;cursor:pointer}.shared-btn-primary{background-color:#007bff;color:#fff}.shared-btn-outline{background-color:transparent;border:1px solid #007bff;color:#007bff}.shared-btn-sm{padding:5px 10px;font-size:12px}.shared-btn-edit{background:#e2e6ea;color:#333}.shared-btn-delete{background:#dc3545;color:#fff}.shared-empty-state{text-align:center;margin-top:40px;color:#888}.shared-empty-icon{font-size:48px;margin-bottom:10px}kbd{background:#eee;border:1px solid #ccc;border-radius:6px;padding:0 6px;margin:3px;font-family:monospace}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#1e1e1e80;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-overlay-blur{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#1e1e1e4d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center}.modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000002e;padding:2rem 2.5rem;min-width:350px;max-width:95vw;max-height:90vh;overflow-y:auto;outline:none}.modal h3{margin-top:0;margin-bottom:1.5rem;font-size:1.4rem;font-weight:600;color:#374151}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.modal .warning{color:#dc3545;font-style:italic;margin-top:.5rem}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172a66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:modalFadeIn .2s ease-out}.modal-container{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #ffffff1a;width:90vw;max-width:90%;max-height:80%;outline:none;animation:modalSlideIn .3s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;overflow:hidden}.modal-header{padding:1.5rem 2.5rem 1.2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px 16px 0 0;flex-shrink:0}.modal-header h3{margin:0;font-size:1.4rem;font-weight:700;color:#fff;letter-spacing:-.025em}.modal-body{padding:1.5rem 2.5rem;overflow-y:auto;flex:1;min-height:0}.modal-footer{padding:1.2rem 2.5rem 1.5rem;border-top:1px solid #f1f5f9;background:#f8fafccc;border-radius:0 0 16px 16px;flex-shrink:0;display:flex;justify-content:flex-end;gap:1rem}.modal-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin-bottom:1.2rem}.modal-form-group{margin-bottom:0}.modal-form-group label{display:block;margin-bottom:.4rem;font-weight:600;color:#374151;font-size:.875rem;letter-spacing:.025em}.modal-input,.modal-select{padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;width:100%;box-sizing:border-box;transition:all .2s cubic-bezier(.4,0,.2,1);background:#fff;color:#1e293b;font-weight:400}.modal-input:focus,.modal-select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.modal-input:hover:not(:focus),.modal-select:hover:not(:focus){border-color:#cbd5e1}.modal-input::placeholder{color:#94a3b8}.modal-assignments{margin-top:1rem;margin-bottom:1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #0000000a}.modal-assignments label{display:block;margin-bottom:.75rem;font-weight:700;color:#374151;font-size:.875rem;letter-spacing:.025em}.modal-assignment-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem;padding:.75rem;background:#fff;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.modal-assignment-row .modal-select{min-width:140px;margin-bottom:0}.modal-btn-primary{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:.025em;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 14px #667eea4d}.modal-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #667eea66}.modal-btn-primary:disabled{background:#9ca3af;transform:none;box-shadow:none;cursor:not-allowed}.modal-btn-secondary{padding:12px 24px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:.025em;background-color:transparent;color:#374151;box-shadow:0 2px 4px #0000000d}.modal-btn-secondary:hover{border-color:#667eea;color:#667eea;transform:translateY(-1px);box-shadow:0 4px 12px #667eea26}.modal-btn-add{margin-top:.75rem;font-size:.875rem;font-weight:600;padding:.6rem 1.25rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 14px #10b9814d}.modal-btn-add:hover{transform:translateY(-1px);box-shadow:0 6px 20px #10b98166}.modal-btn-remove{padding:.5rem;font-size:1rem;color:#ef4444;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);min-width:36px;height:36px;display:flex;align-items:center;justify-content:center}.modal-btn-remove:hover{background:#fee2e2;border-color:#fca5a5;transform:scale(1.05)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.page-header{flex-shrink:0;margin-bottom:.75rem;padding-bottom:.5rem}.page-header h2{font-size:1.5rem;font-weight:600;color:#374151;margin:0}.shortcut-usage-area{margin-top:auto;padding:.5rem .75rem;background:#f9f9f9;border-radius:6px;box-shadow:0 1px 3px #00000005;flex-shrink:0}.shortcut-usage-area p{margin:0;font-size:13px;color:#555}.shared-notification{position:fixed;bottom:20px;right:20px;color:#fff;padding:1rem 1.5rem;border-radius:10px;box-shadow:0 10px 25px #0003,0 4px 12px #00000026;max-width:400px;z-index:2000;display:flex;align-items:flex-start;gap:.75rem;animation:notificationSlideIn .3s cubic-bezier(.34,1.56,.64,1)}.shared-notification--error,.shared-error{background:linear-gradient(135deg,#dc2626,#991b1b);border-left:4px solid #b91c1c;box-shadow:0 10px 25px #dc26264d,0 4px 12px #00000026}.shared-notification--success{background:linear-gradient(135deg,#16a34a,#15803d);border-left:4px solid #166534;box-shadow:0 10px 25px #16a34a4d,0 4px 12px #00000026}.shared-notification--info{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-left:4px solid #1e40af;box-shadow:0 10px 25px #2563eb4d,0 4px 12px #00000026}.shared-notification.show,.shared-error.show{animation:notificationSlideIn .3s cubic-bezier(.34,1.56,.64,1)}.shared-notification.hide,.shared-error.hide{animation:notificationSlideOut .2s ease-in forwards}.shared-notification-icon,.shared-error-icon{font-size:1.2rem;flex-shrink:0;margin-top:.1rem}.shared-notification-content,.shared-error-content{flex:1;min-width:0}.shared-notification-message,.shared-error-message{margin:0 0 .25rem;font-size:.9rem;font-weight:600;line-height:1.4;word-wrap:break-word}.shared-notification-description,.shared-error-description{margin:0;font-size:.8rem;opacity:.9;line-height:1.3}.shared-notification-close,.shared-error-close{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:background-color .2s ease;flex-shrink:0;line-height:1;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.shared-notification-close:hover,.shared-error-close:hover{background:#fff3}.shared-error-inline{background:#fef2f2;color:#dc2626;padding:.75rem 1rem;border-radius:8px;border:1px solid #fecaca;border-left:4px solid #dc2626;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;font-size:.9rem;line-height:1.4}.shared-error-inline-icon{font-size:1rem;flex-shrink:0}@keyframes notificationSlideIn{0%{opacity:0;transform:translate(100%) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes notificationSlideOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.95)}}@keyframes errorSlideIn{0%{opacity:0;transform:translate(100%) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes errorSlideOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.95)}}.underdropdown-text{color:#666;font-size:.95em;margin-top:.2em;display:block}.shared-toggle-style{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2.2em;height:1.2em;background:#ddd;border-radius:1em;position:relative;outline:none;cursor:pointer;transition:background .2s;vertical-align:middle}.shared-toggle-style:checked{background:#c597f0}.shared-toggle-style:before{content:"";position:absolute;left:.2em;top:.18em;width:.85em;height:.85em;background:#fff;border-radius:50%;transition:left .2s;box-shadow:0 1px 4px #0000001f}.shared-toggle-style:checked:before{left:1.1em}.pto-holidays-container{max-width:800px;margin:2rem auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.pto-holidays-container h2{margin-bottom:1.5rem;color:#2c3e50;font-size:2rem;text-align:center}.pto-table{width:100%;border-collapse:collapse;margin-top:2rem}.pto-table th,.pto-table td{border:1px solid #e0e0e0;padding:.75rem 1rem;text-align:left}.pto-table th{background:#f6f7fb;color:#2c3e50}.pto-table tr:nth-child(2n){background:#fafbfc}.pto-table button{margin-right:.5rem;padding:.4rem 1rem;border:none;border-radius:6px;background:#667eea;color:#fff;cursor:pointer;transition:background .2s}.pto-table button:hover{background:#5a67d8}.loading{text-align:center;margin:2rem 0;color:#667eea}.error-message{color:#f44336;margin-top:1rem;text-align:center}.pto-row-approved{background-color:#f0fdf4!important}.pto-row-pending{background-color:#fffbeb!important}.pto-row-rejected{background-color:#fef2f2!important}.shared-actions{display:flex;gap:.25rem;justify-content:center;align-items:center;flex-wrap:nowrap;height:100%}.shared-actions .shared-btn{min-width:70px;white-space:nowrap;font-size:.8rem;padding:.25rem .375rem;flex-shrink:0}.status-approved{color:#166534;background-color:#dcfce7;padding:.25rem .5rem;border-radius:.375rem;font-size:.875rem;font-weight:500}.status-pending{color:#92400e;background-color:#fef3c7;padding:.25rem .5rem;border-radius:.375rem;font-size:.875rem;font-weight:500}.status-rejected{color:#dc2626;background-color:#fee2e2;padding:.25rem .5rem;border-radius:.375rem;font-size:.875rem;font-weight:500}.filters-section{display:flex;gap:1rem;margin-bottom:1rem;align-items:center;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{font-size:.875rem;font-weight:500;color:#374151}.filter-group select,.filter-group input{padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;min-width:150px}.filter-group input::placeholder{color:#9ca3af;font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:.5rem;padding:1.5rem;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-title{font-size:1.25rem;font-weight:600;color:#111827}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.close-button:hover{color:#374151}.sort-indicator{margin-left:.25rem;opacity:.5;transition:opacity .2s}.sorted .sort-indicator{opacity:1}.sortable-header{cursor:pointer;transition:background-color .2s}.sortable-header:hover{background-color:#f3f4f6!important}.empty-state{text-align:center;padding:3rem;color:#6b7280}.empty-state-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:#374151}.empty-state p{font-size:.875rem;margin-bottom:1.5rem}.pto-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid #e5e7eb;font-size:.875rem;color:#6b7280}.pto-footer .shortcuts{display:flex;gap:1rem;flex-wrap:wrap}.shortcut{display:flex;align-items:center;gap:.25rem}.kbd{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:.25rem;padding:.125rem .375rem;font-family:monospace;font-size:.75rem}@media (max-width: 768px){.filters-section{flex-direction:column;align-items:stretch}.filter-group select,.filter-group input{min-width:auto}.shared-actions{flex-direction:column;gap:.25rem}.modal-content{width:95%;padding:1rem}.pto-footer .shortcuts{flex-direction:column;gap:.5rem}}.date-filter-toggle{display:flex;flex-direction:column;gap:.25rem}.toggle-switch{position:relative;display:inline-block}.toggle-checkbox{display:none}.toggle-label{display:block;background-color:#e5e7eb;border-radius:1.5rem;cursor:pointer;padding:.25rem;position:relative;transition:background-color .3s;width:60px;height:2rem}.toggle-slider{position:absolute;top:.125rem;left:.125rem;background-color:#fff;border-radius:1.375rem;height:1.75rem;width:calc(50% - .125rem);transition:transform .3s;box-shadow:0 1px 3px #0000001a}.toggle-checkbox:checked+.toggle-label{background-color:#3b82f6}.toggle-checkbox:checked+.toggle-label .toggle-slider{transform:translate(100%)}.toggle-label:hover{background-color:#d1d5db}.toggle-checkbox:checked+.toggle-label:hover{background-color:#2563eb}.pto-request-form{display:flex;flex-direction:column;gap:1.5rem}.form-section{display:flex;flex-direction:column;gap:.5rem}.form-section label,.form-section h4{font-weight:600;color:#374151;margin-bottom:.5rem}.employee-search-container{position:relative}.employee-search-input{width:100%;padding:.75rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .3s}.employee-search-input:focus{outline:none;border-color:#667eea}.employee-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a;max-height:200px;overflow-y:auto;z-index:1001}.employee-option{padding:.75rem;cursor:pointer;transition:background-color .2s}.employee-option:hover{background-color:#f3f4f6}.employee-option.selected{background-color:#667eea;color:#fff}.selected-employee{padding:.75rem;background-color:#f3f4f6;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.clear-employee-btn{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1.25rem;font-weight:700;padding:0;width:1.5rem;height:1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.clear-employee-btn:hover{background-color:#fee2e2}.custom-calendar{background:#f8f9fa;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #0000000a}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.calendar-title{font-weight:600;font-size:1.1rem}.calendar-nav{background:none;border:none;font-size:1.2rem;color:#667eea;cursor:pointer;padding:.25rem .75rem;border-radius:6px;transition:background .2s}.calendar-nav:hover{background:#e1e5e9}.calendar-grid{display:flex;flex-direction:column}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.25rem}.calendar-weekday{text-align:center;color:#888;font-size:.95rem;font-weight:500;padding:.2rem 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem}.calendar-day{text-align:center;padding:.5rem 0;border-radius:8px;cursor:pointer;font-size:1rem;background:none;transition:background .2s,color .2s;color:#333}.calendar-day--other{color:#bbb;background:#f0f0f0;cursor:not-allowed}.calendar-day--disabled{color:#ccc;background:#f5f5f5;cursor:not-allowed}.calendar-day--selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600}.calendar-day--today{border:2px solid #667eea}.selected-dates{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.date-tag{background:#e3f2fd;color:#1976d2;padding:.5rem .75rem;border-radius:20px;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.remove-date-btn{background:none;border:none;color:#1976d2;cursor:pointer;font-weight:700;padding:0;border-radius:50%;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;transition:background-color .3s}.remove-date-btn:hover{background:#1976d21a}.comment-textarea{width:100%;padding:.75rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .3s}.comment-textarea:focus{outline:none;border-color:#667eea}.summary-section{background:#f8f9fa;padding:1rem;border-radius:8px;border:1px solid #e5e7eb}.summary-content{display:flex;flex-direction:column;gap:.5rem}.summary-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.summary-label{font-weight:600;color:#374151;flex-shrink:0;min-width:120px}.summary-value{color:#6b7280;text-align:right;word-break:break-word}.modal-container{background:#fff;border-radius:12px;padding:0;max-width:600px;width:90%;max-height:90vh;overflow:hidden;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column}.modal-header{padding:1.5rem;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:12px 12px 0 0}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.modal-body{padding:1.5rem;flex:1;overflow-y:auto}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;display:flex;justify-content:flex-end;gap:.75rem}.modal-btn-primary,.modal-btn-secondary{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;border:none;font-size:.875rem}.modal-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.modal-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.modal-btn-secondary:hover{background:#e5e7eb}@media (max-width: 768px){.modal-container{width:95%;margin:1rem}.summary-row{flex-direction:column;align-items:flex-start;gap:.25rem}.summary-value{text-align:left}.calendar-days{gap:.1rem}.calendar-day{padding:.375rem 0;font-size:.875rem}}.comment-text{display:block;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:help}.comment-text:empty:before{content:"-";color:#9ca3af;font-style:italic}.pie-legend-flex{display:flex;align-items:flex-start;gap:1.5rem;width:100%}.pie-legend-table-wrapper{flex:0 0 180px;max-width:220px;min-width:160px;margin-left:.5rem;display:flex;align-items:flex-start;justify-content:flex-start}.pie-legend-table{border-collapse:collapse;width:100%;min-width:140px;font-size:.95rem;background:#fafbfc;box-shadow:0 1px 4px #0000000a}.pie-legend-table th,.pie-legend-table td{padding:.35rem .5rem;text-align:left;border-bottom:1px solid #e5e7eb}.pie-legend-table th{background:#f3f4f6;font-weight:600}.pie-legend-table td{vertical-align:middle}.pie-legend-table tr:last-child td{border-bottom:none}.financial-reports-container{max-width:800px;margin:2rem auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.financial-reports-container h2{margin-bottom:1.5rem;color:#2c3e50;font-size:2rem;text-align:center}.tab-actions{display:flex;justify-content:flex-end;margin-bottom:1rem}.refresh-btn{background:#f3f4f6;border:1px solid #cbd5e1;border-radius:6px;padding:.4rem 1.2rem;font-size:1rem;cursor:pointer;transition:background .2s}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.refresh-btn:hover:not(:disabled){background:#e0e7ef}.financial-reports-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.dropdown{min-width:140px;padding:.5rem;border-radius:4px;border:1px solid #ccc}.global-filters{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.global-filters h3{margin:0 0 1rem;color:#1e293b;font-size:1.2rem;font-weight:600}.tabs-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.tabs-header{display:flex;background:#f8fafc;border-bottom:1px solid #e2e8f0;overflow-x:auto}.tab-button{background:none;border:none;padding:1rem 1.5rem;cursor:pointer;font-weight:500;color:#64748b;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap;flex-shrink:0}.tab-button:hover{background:#e2e8f0;color:#475569}.tab-button.active{background:#fff;color:#3b82f6;border-bottom-color:#3b82f6}.tab-content{min-height:400px}.tab-panel{padding:2rem}.tab-panel h3{margin:0 0 1rem;color:#1e293b;font-size:1.5rem;font-weight:600}.dashboard-panel{padding:0;min-height:600px}.income-statement-panel,.cash-flow-panel{padding:1rem}.cash-flow-chart{display:flex;flex-direction:column;gap:1.5rem}.cash-flow-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#f8fafc;border-radius:8px;border-left:4px solid #64748b}.cash-flow-label{font-weight:600;color:#1e293b;font-size:1rem}.cash-flow-details{display:flex;flex-direction:column;gap:.5rem}.flow-bar-container{background:#e2e8f0;border-radius:4px;overflow:hidden;height:28px;position:relative}.income-bar{background:linear-gradient(90deg,#10b981,#059669);height:100%;display:flex;align-items:center;padding:0 .5rem;color:#fff;font-size:.8rem;font-weight:500;min-width:80px;border-radius:4px}.expense-bar{background:linear-gradient(90deg,#ef4444,#dc2626);height:100%;display:flex;align-items:center;padding:0 .5rem;color:#fff;font-size:.8rem;font-weight:500;min-width:80px;border-radius:4px}.net-flow{font-weight:600;font-size:1rem;text-align:right;padding:.25rem 0}.net-flow.positive{color:#10b981}.net-flow.negative{color:#ef4444}.summary-card.positive-flow{border-left-color:#10b981}.summary-card.negative-flow{border-left-color:#ef4444}.amount.positive{color:#10b981}.amount.negative{color:#ef4444}.cash-flow-summary{padding:1rem;background:#f8fafc;border-radius:8px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #e2e8f0}.summary-row:last-child{border-bottom:none}.summary-row.net-total{font-weight:600;font-size:1.1rem;border-top:2px solid #64748b;margin-top:.5rem;padding-top:1rem}.summary-label{color:#475569}.summary-value.positive{color:#10b981;font-weight:600}.summary-value.negative{color:#ef4444;font-weight:600}.cash-flow-bar{margin-top:1rem}.cash-flow-visual{display:flex;height:40px;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.income-portion{background:linear-gradient(90deg,#10b981,#059669);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600}.expense-portion{background:linear-gradient(90deg,#ef4444,#dc2626);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600}.chart-container.full-width{grid-column:1 / -1}.filter-section{margin-bottom:2rem}.filter-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.date-range{display:flex;gap:.5rem;align-items:center}.date-range input[type=date]{padding:.5rem;border:1px solid #ccc;border-radius:4px}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:#f8fafc;padding:8px;border-radius:8px;border-left:4px solid #3b82f6;text-align:center}.summary-card.paid{border-left-color:#10b981}.summary-card.pending{border-left-color:#f59e0b}.summary-card h4{margin:0 0 .5rem;color:#64748b;font-size:.9rem;font-weight:500}.summary-card .amount{margin:0;font-size:1.5rem;font-weight:700;color:#1e293b}.charts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.chart-container{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem}.chart-container h4{margin:0 0 1rem;color:#1e293b;font-size:1.1rem}.bar-chart{display:flex;flex-direction:column;gap:.75rem}.bar-item{display:flex;flex-direction:column;gap:.25rem}.bar-label{font-size:.9rem;font-weight:500;color:#475569}.bar-container{background:#f1f5f9;border-radius:4px;overflow:hidden;height:32px;position:relative}.bar{background:linear-gradient(90deg,#3b82f6,#1d4ed8);height:100%;display:flex;align-items:center;padding:0 .5rem;color:#fff;font-size:.8rem;font-weight:500;min-width:60px;border-radius:4px}.pie-chart{display:flex;flex-direction:column;gap:.75rem}.pie-item{display:flex;align-items:center;gap:.75rem}.pie-color{width:16px;height:16px;border-radius:50%;flex-shrink:0}.pie-label{font-size:.9rem;color:#475569}.pie-percentage{font-size:.8rem;color:#64748b;margin-left:auto}.status-chart{display:flex;flex-direction:column;gap:1rem}.status-item{display:flex;flex-direction:column;gap:.5rem}.status-item span{font-size:.9rem;font-weight:500}.status-item.paid span{color:#10b981}.status-item.pending span{color:#f59e0b}.status-bar{height:24px;border-radius:12px;transition:width .3s ease}.status-item.paid .status-bar{background:linear-gradient(90deg,#10b981,#059669)}.status-item.pending .status-bar{background:linear-gradient(90deg,#f59e0b,#d97706)}.loading-state,.no-data-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#6b7280;text-align:center;padding:2rem}.loading-spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-state p{font-size:.9rem;margin:0}.no-data{text-align:center;color:#94a3b8;font-style:italic;padding:2rem}@media (max-width: 768px){.charts-section{grid-template-columns:1fr}.filter-row{flex-direction:column;align-items:stretch}.summary-cards{grid-template-columns:1fr}.tab-actions{flex-direction:column;align-items:stretch}.expense-filters{width:100%}.expense-filters .dropdown{min-width:unset;flex:1}.bar-label-horizontal{min-width:120px;text-align:left;padding-right:.5rem;font-size:.8rem}.bar-values{min-width:100px}.period-filters{width:100%;flex-wrap:nowrap;gap:.5rem}.compact-dropdown,.compact-date-input{min-width:120px}}@media (max-width: 480px){.compact-date-range{flex-direction:column;align-items:flex-start;gap:.5rem}.date-separator{display:none}.compact-date-input{width:100%;min-width:unset}}.expense-filters{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.expense-filters .dropdown{min-width:200px;padding:.5rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:.9rem}.horizontal-bar-chart{display:flex;flex-direction:column;gap:.75rem;padding:1rem 0}.bar-item-horizontal{display:flex;align-items:center;gap:1rem;padding:.5rem 0;border-bottom:1px solid #f3f4f6}.bar-item-horizontal:last-child{border-bottom:none}.bar-label-horizontal{min-width:150px;flex-shrink:0;font-weight:500;font-size:.9rem;color:#374151;text-align:right;padding-right:1rem}.bar-container-horizontal{flex:1;display:flex;align-items:center;gap:1rem}.bar-horizontal{position:relative;height:32px;min-width:60px;border-radius:6px;display:flex;background-color:#f3f4f6;overflow:hidden;box-shadow:inset 0 1px 3px #0000001a}.bar-segment{height:100%;transition:width .3s ease;position:relative}.paid-segment{background:linear-gradient(90deg,#10b981,#059669)}.pending-segment{background:linear-gradient(90deg,#ef4444,#dc2626)}.bar-values{display:flex;flex-direction:column;align-items:flex-start;min-width:120px}.total-amount{font-weight:600;font-size:.9rem;color:#111827}.breakdown{display:flex;gap:.5rem;font-size:.75rem;margin-top:2px}.paid-amount{color:#059669;font-weight:500}.pending-amount{color:#dc2626;font-weight:500}.tab-actions{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.period-filters{display:flex;align-items:center;gap:.75rem;flex-wrap:nowrap}.filter-label{font-weight:500;color:#374151;font-size:.9rem;white-space:nowrap;flex-shrink:0}.compact-dropdown{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;background-color:#fff;font-size:.875rem;min-width:130px;cursor:pointer}.compact-dropdown:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.compact-date-range{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.compact-date-input{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;background-color:#fff;font-size:.875rem;min-width:140px}.compact-date-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.date-separator{font-size:.875rem;color:#6b7280;font-weight:500}.collapsible-panel{width:100%}.collapsible-header{margin:0;padding:.5em .75em;font-size:1.15rem;font-weight:600;display:flex;align-items:center;cursor:pointer;background:#f7fafc;border-radius:8px;transition:background .2s}.collapsible-header:hover{background:#e5e7eb}.collapse-icon{margin-left:.5em;font-size:1.1em;color:#888;transition:transform .2s}.collapsible-body{margin-top:1rem}html,body,#app,.shared-page.full-height,.shared-content.full-height,.shared-section.full-height,.ma-root.full-height{height:100%;min-height:0}.ma-root{display:flex;height:100%;min-height:0;background:#f7f8fa;font-family:Segoe UI,Arial,sans-serif}.ma-left-panel{width:320px;background:#fff;border-right:1px solid #e0e0e0;padding:2rem 1rem 1rem;box-shadow:2px 0 8px #00000008;display:flex;flex-direction:column;height:100%;min-height:0;overflow-y:auto}.ma-group-list-scroll{flex:1 1 0;min-height:0;overflow-y:auto;margin-top:1rem}.ma-title{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:#2d3a4a}.ma-group-list{display:flex;flex-direction:column;gap:1rem}.ma-group-card{background:#f3f6fa;border-radius:8px;padding:1rem;cursor:pointer;border:2px solid transparent;transition:border .2s,box-shadow .2s}.ma-group-card.selected{border:2px solid #1976d2;box-shadow:0 2px 8px #1976d214;background:#e3f0ff}.ma-group-name{font-size:1.1rem;font-weight:500;color:#1a2330}.ma-group-desc{font-size:.97rem;color:#5a6a7a;margin-top:.3rem}.ma-right-panel{flex:1;background:#fff;padding:2rem 2.5rem;overflow-y:auto;display:flex;flex-direction:column}.ma-panel-header,.ma-section{margin-bottom:2rem}.ma-section h4{margin-bottom:.7rem;color:#1976d2;font-size:1.1rem;font-weight:600}.ma-list-scroll{max-height:180px;overflow-y:auto;background:#f7f8fa;border-radius:6px;border:1px solid #e0e0e0;padding:.7rem 1rem}.ma-list-item{display:flex;align-items:center;gap:.7rem;margin-bottom:.5rem;font-size:1rem}.ma-list-item label{width:100%;display:flex;align-items:center;gap:.7rem;cursor:pointer}.ma-btn{background:#1976d2;color:#fff;border:none;border-radius:6px;padding:.7rem 2.2rem;font-size:1.1rem;font-weight:500;cursor:pointer;transition:background .2s}.ma-btn:disabled{background:#b0c4de;cursor:not-allowed}.ma-loading{color:#888;font-size:1rem;padding:1rem 0}.user-search-section{margin-bottom:32px;position:relative}#user-search{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:16px}.user-suggestions{position:absolute;left:0;right:0;background:#fff;border:1px solid #ccc;border-top:none;z-index:10;max-height:200px;overflow-y:auto;border-radius:0 0 4px 4px;box-shadow:0 2px 8px #00000014}.employee-user-selector{background:#fff;border:1.5px solid #cfd8dc;border-radius:10px;box-shadow:0 4px 16px #1976d21a;margin-top:2px;padding:.25em 0;min-width:220px;max-height:260px;overflow-y:auto;font-size:1rem}.employee-user-selector li{padding:.7em 1.2em;cursor:pointer;display:flex;align-items:center;gap:.5em;color:#374151;border-bottom:1px solid #f0f4f8;transition:background .18s,color .18s}.employee-user-selector li:last-child{border-bottom:none}.employee-user-selector li:hover,.employee-user-selector li:focus{background:#f5f7fa;color:#1976d2}.employee-user-selector .selected-user{color:#1976d2;font-weight:600}.employee-user-selector span{font-size:.95em;color:#888}.user-suggestions li{padding:8px 12px;cursor:pointer}.user-suggestions li:hover{background:#f0f0f0}.modules-list-section{margin-top:24px}.modules-columns{display:flex;gap:32px;justify-content:space-between}.modules-column{flex:1;background:#f8f8f8;border-radius:8px;padding:16px 20px 20px;min-width:220px}.modules-column h4{margin-bottom:16px;font-size:18px;font-weight:600;color:#333}.selected-user{color:#1976d2;font-weight:600}.module-row{display:flex;align-items:center;justify-content:space-between;gap:1em}.module-row:hover{background:#dbcce7;box-shadow:0 2px 8px #3fa33214;border-radius:6px;transition:background .2s,box-shadow .2s}.module-description{font-size:16px;vertical-align:middle}.switch{position:relative;align-items:center;display:flex;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}.switch input:checked+.slider{background-color:#1976d2}.switch input:checked+.slider:before{transform:translate(20px)}.save-btn{margin-top:24px;padding:10px 32px;background:#1976d2;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background .2s}.save-btn:disabled{background:#b0b0b0;cursor:not-allowed}.loading{color:#888;font-size:16px;margin:24px 0}.floating-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#1976d2;color:#fff;padding:24px 48px;border-radius:8px;font-size:20px;box-shadow:0 2px 16px #00000026;z-index:1000;animation:fadeOut 3s forwards}@keyframes fadeOut{0%{opacity:1}80%{opacity:1}to{opacity:0}}.profile-container{max-width:800px;margin:0 auto;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:2rem}.profile-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:2px solid #f1f5f9}.profile-header-content{display:flex;align-items:center;gap:1.5rem}.profile-avatar{flex-shrink:0}.avatar-circle{width:80px;height:80px;background:linear-gradient(135deg,#007bff,#0056b3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:600;color:#fff;box-shadow:0 4px 12px #007bff4d}.avatar-image{width:80px;height:80px;border-radius:50%;object-fit:cover;box-shadow:0 4px 12px #0003;border:3px solid #fff}.profile-header-info h1{margin:0 0 .5rem;font-size:2rem;font-weight:700;color:#1e293b}.welcome-message{margin:0;font-size:1.1rem;color:#64748b;line-height:1.5}.profile-subtitle{margin:0;font-size:1rem;color:#64748b}.profile-form-container{margin-bottom:2rem}.profile-form{display:flex;flex-direction:column;gap:2rem}.profile-section{background:#f8fafc;padding:1.5rem;border-radius:8px;border-left:4px solid #007bff}.section-header h3{margin:0 0 .5rem;font-size:1.3rem;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:.5rem}.section-icon{font-size:1.1rem}.section-description{margin:0 0 1rem;font-size:.9rem;color:#64748b;font-style:italic}.profile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1rem}.profile-form-group{display:flex;flex-direction:column}.profile-form-group.span-full{grid-column:1 / -1}.profile-form-group label{font-weight:500;margin-bottom:.5rem;color:#374151;font-size:.95rem}.profile-input{padding:.875rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .2s ease;background:#fff;color:#1e293b}.profile-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.profile-input::placeholder{color:#94a3b8}.file-input-container{display:flex;flex-direction:column;gap:.75rem}.file-input{display:none}.file-input-display{display:flex;gap:.5rem;align-items:center}.file-select-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;border:2px dashed #cbd5e1;border-radius:8px;background:#f8fafc;color:#64748b;cursor:pointer;transition:all .2s ease;font-size:.9rem;flex:1;justify-content:center}.file-select-btn:hover{border-color:#007bff;background:#f0f7ff;color:#007bff}.file-icon{font-size:1.2rem}.file-clear-btn{padding:.5rem;border:1px solid #ef4444;border-radius:6px;background:#fef2f2;color:#ef4444;cursor:pointer;transition:all .2s ease;font-size:1rem;font-weight:700;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.file-clear-btn:hover{background:#ef4444;color:#fff}.file-preview{margin-top:.5rem}.preview-image{width:80px;height:80px;border-radius:8px;object-fit:cover;border:2px solid #e2e8f0;box-shadow:0 2px 4px #0000001a}.profile-actions{display:flex;gap:1rem;justify-content:flex-start;padding-top:1.5rem;border-top:1px solid #e2e8f0}.profile-btn-primary,.profile-btn-secondary{padding:.875rem 2rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;border:2px solid transparent;display:flex;align-items:center;gap:.5rem;min-height:48px;box-sizing:border-box}.profile-btn-primary{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border-color:#007bff}.profile-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004085);transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.profile-btn-primary:disabled{background:#94a3b8;border-color:#94a3b8;cursor:not-allowed;transform:none;box-shadow:none}.profile-btn-secondary{background:#fff;color:#64748b;border-color:#e2e8f0}.profile-btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:#475569}.profile-btn-secondary:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.btn-loading{display:flex;align-items:center;gap:.5rem}.spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.profile-stats{background:#f8fafc;padding:1.5rem;border-radius:8px;border:1px solid #e2e8f0}.profile-stats h3{margin:0 0 1rem;font-size:1.2rem;font-weight:600;color:#1e293b}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.875rem;color:#64748b;font-weight:500}.stat-value{font-size:1rem;color:#1e293b;font-weight:600}.stat-value.status-active{color:#059669}@media (max-width: 768px){.profile-container{margin:1rem;padding:1.5rem}.profile-header-content{flex-direction:column;text-align:center;gap:1rem}.profile-header-info h1{font-size:1.5rem}.profile-form-grid{grid-template-columns:1fr;gap:1rem}.profile-actions{flex-direction:column}.profile-btn-primary,.profile-btn-secondary{width:100%;justify-content:center}.stats-grid{grid-template-columns:1fr}}@media (max-width: 480px){.profile-container{margin:.5rem;padding:1rem}.avatar-circle{width:60px;height:60px;font-size:1.4rem}.profile-header-info h1{font-size:1.3rem}.welcome-message,.profile-subtitle{font-size:.9rem}}.profile-input:focus,.profile-btn-primary:focus,.profile-btn-secondary:focus{outline:none;box-shadow:0 0 0 3px #007bff33}.profile-input.error{border-color:#ef4444}.profile-input.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.profile-invitation-token-group{display:flex;flex-direction:column}.profile-invitation-token-input-wrapper{display:flex;align-items:center}.profile-invitation-token-input{flex:1}.profile-invitation-token-recycle-btn{margin-left:8px;background:none;border:none;cursor:pointer;font-size:1.2em}.profile-invitation-email-row{display:flex;align-items:center}.profile-invitation-email-input{flex:1}.profile-send-invite-btn{min-width:120px}*{box-sizing:border-box}html,body{margin:0;padding:0;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:#f7fafc}#app{min-height:100vh}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border:none;border-radius:6px;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background-color:#5a67d8}.btn-secondary{background-color:#718096;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#4a5568}.btn-danger{background-color:#e53e3e;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c53030}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.card-header{padding:1rem 1.5rem;border-bottom:1px solid #e2e8f0;background-color:#f7fafc}.card-body{padding:1.5rem}.card-footer{padding:1rem 1.5rem;border-top:1px solid #e2e8f0;background-color:#f7fafc}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:#2d3748}.form-input{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:1rem;transition:border-color .2s ease}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-textarea{min-height:120px;resize:vertical}.alert{padding:1rem;border-radius:6px;margin-bottom:1rem}.alert-success{background-color:#c6f6d5;border:1px solid #9ae6b4;color:#2f855a}.alert-error{background-color:#fed7d7;border:1px solid #feb2b2;color:#c53030}.alert-warning{background-color:#fefcbf;border:1px solid #f6e05e;color:#b7791f}.alert-info{background-color:#bee3f8;border:1px solid #90cdf4;color:#2c5282}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.hide-mobile{display:none}}@media (min-width: 769px){.hide-desktop{display:none}}
