.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:400px;padding:40px;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:30px}.login-header h1{font-size:28px;font-weight:700;color:#333;margin-bottom:8px}.login-header p{font-size:14px;color:#666;margin:0}.login-form,.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s ease}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.btn-login{width:100%;padding:12px;border:none;border-radius:6px;font-weight:600;font-size:16px;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transition:all .3s ease}.btn-login:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.btn-login:disabled{opacity:.7;cursor:not-allowed}.login-footer{text-align:center;color:#666;font-size:12px}.alert{margin-bottom:20px}@media(max-width:480px){.login-card{padding:30px 20px}.login-header h1{font-size:24px}}.app-container{display:flex;min-height:100vh;background-color:#f5f5f5}.sidebar{width:250px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;box-shadow:2px 0 8px #0000001a;transition:transform .3s ease;overflow-y:auto}.sidebar.closed{transform:translate(-100%)}.sidebar-header{padding:20px;border-bottom:2px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.sidebar-title{font-size:24px;font-weight:700;margin:0}.btn-toggle-sidebar{background:none;border:none;color:#fff;cursor:pointer;padding:0;display:flex;align-items:center}.sidebar-nav{flex:1;padding:20px 0;display:flex;flex-direction:column}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#fffc;text-decoration:none;border-left:3px solid transparent;transition:all .3s ease;cursor:pointer;background:none;border:none;font-size:16px;width:100%;text-align:left}.nav-item:hover{background-color:#ffffff1a;color:#fff;border-left-color:#fff}.nav-item.active{background-color:#fff3;color:#fff;border-left-color:#ffc107;font-weight:600}.sidebar-footer{padding:20px 0;border-top:2px solid rgba(255,255,255,.1);display:flex;flex-direction:column}.logout-btn{color:#fcc}.logout-btn:hover{color:#f66;background-color:#ff00001a}.app-header{height:60px;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;padding:0 20px;box-shadow:0 2px 4px #0000000d;z-index:10}.header-left{display:flex;align-items:center;gap:12px}.btn-menu{background:none;border:none;cursor:pointer;color:#333;padding:0;display:flex;align-items:center}.page-title{margin:0;font-size:20px;font-weight:600;color:#333}.header-right{display:flex;align-items:center;gap:12px}.user-info{display:flex;flex-direction:column;text-align:right}.user-name{font-weight:600;color:#333;font-size:14px}.user-email{font-size:12px;color:#666}.sidebar-overlay{position:fixed;inset:0;background-color:#0000004d;z-index:5}@media(max-width:992px){.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:15}.app-container{flex-direction:column}}@media(max-width:576px){.app-header{padding:0 12px}.page-title{font-size:18px}.user-info{display:none}.sidebar-title{font-size:20px}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-in}.modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;max-height:90vh;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-sm{width:400px}.modal-md{width:600px}.modal-lg{width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#333}.btn-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#999;transition:color .2s}.btn-close:hover{color:#333}.modal-body{flex:1;overflow-y:auto;padding:20px}@media(max-width:768px){.modal-sm,.modal-md,.modal-lg{width:90vw;max-width:100%}}.meeting-selector{min-height:250px;max-height:400px;display:flex;flex-direction:column}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;gap:15px;color:#666}.loading-state .spinner-border{width:40px;height:40px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;gap:10px;color:#999;text-align:center}.empty-state svg{opacity:.5;margin-bottom:10px}.empty-state p{font-size:16px;font-weight:500;margin:0}.empty-state small{font-size:13px;color:#aaa}.meeting-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding:5px}.meeting-item{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fafafa}.meeting-item:hover{background:#f0f9ff;border-color:#4facfe;box-shadow:0 2px 8px #4facfe26;transform:translate(4px)}.meeting-item:active{transform:translate(2px);box-shadow:0 1px 4px #4facfe1a}.meeting-info{flex:1;min-width:0}.meeting-type{margin:0 0 6px;font-size:15px;font-weight:600;color:#333}.meeting-details{display:flex;flex-wrap:wrap;gap:12px;font-size:13px}.detail{display:flex;align-items:center;gap:5px;color:#666;white-space:nowrap}.detail svg{color:#4facfe;flex-shrink:0}.arrow-icon{color:#ccc;flex-shrink:0;transition:all .2s ease}.meeting-item:hover .arrow-icon{color:#4facfe;transform:translate(2px)}.meeting-list::-webkit-scrollbar{width:6px}.meeting-list::-webkit-scrollbar-track{background:transparent}.meeting-list::-webkit-scrollbar-thumb{background:#ddd;border-radius:3px}.meeting-list::-webkit-scrollbar-thumb:hover{background:#bbb}@media(max-width:768px){.meeting-list{max-height:300px}.meeting-item{padding:10px 12px}.meeting-type{font-size:14px}.meeting-details{font-size:12px;gap:8px}}@media(max-width:480px){.meeting-list{max-height:250px}.detail{font-size:11px}.detail svg{width:12px;height:12px}}.toast{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:4px;margin-bottom:12px;animation:slideIn .3s ease-out;box-shadow:0 2px 8px #00000026;font-size:14px;font-weight:500}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.toast-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.toast-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.toast-info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.toast-warning{background:#fff3cd;color:#856404;border:1px solid #ffeeba}.toast-icon{flex-shrink:0;display:flex;align-items:center}.toast-message{flex:1;word-break:break-word}.toast-close{flex-shrink:0;background:none;border:none;color:inherit;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s}.toast-close:hover{opacity:1}.attendance-recorder{display:flex;flex-direction:column;gap:20px}.meeting-header{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px;background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-radius:6px;border-left:4px solid #007bff}.meeting-info{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;flex:1}.info-group{display:flex;flex-direction:column;gap:4px}.info-group label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.meeting-value{font-size:15px;font-weight:500;color:#333}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;background:#28a745;color:#fff;border-radius:50%;font-weight:700;font-size:16px}.attendance-list{padding:15px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef;max-height:300px;overflow-y:auto}.attendance-list h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#333}.no-records{color:#999;font-size:13px;text-align:center;padding:15px;margin:0}.attendance-table{width:100%;font-size:13px;border-collapse:collapse}.attendance-table thead{background:#e9ecef}.attendance-table th{padding:8px;text-align:left;font-weight:600;border-bottom:1px solid #dee2e6}.attendance-table td{padding:8px;border-bottom:1px solid #dee2e6}.attendance-table tbody tr:hover{background:#f0f0f0}.badge{display:inline-block;padding:4px 8px;border-radius:3px;font-size:11px;font-weight:600;text-transform:uppercase}.badge-success{background:#d4edda;color:#155724}.badge-danger{background:#f8d7da;color:#721c24}.text-muted{color:#999}.search-section{padding:15px;background:#fff;border:1px solid #ddd;border-radius:6px}.search-section h4{margin:0 0 15px;font-size:14px;font-weight:600;color:#333}.form-group{position:relative;margin-bottom:15px}.form-group label{display:block;font-weight:500;color:#333;font-size:13px;margin-bottom:6px}.search-input-wrapper{position:relative;display:flex;align-items:center;border:1px solid #ddd;border-radius:4px;background:#fff;transition:border-color .2s}.search-input-wrapper:focus-within{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.search-icon{position:absolute;left:12px;color:#999;flex-shrink:0}.search-input{flex:1;padding:10px 12px 10px 40px!important;border:none!important;font-size:14px;background:transparent!important;box-shadow:none!important}.search-input:focus{outline:none}.search-input::placeholder{color:#ccc}.loading-spinner{position:absolute;right:12px;font-size:16px;animation:spin 1s linear infinite}.search-results{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:250px;overflow-y:auto}.search-result-item{padding:12px;border-bottom:1px solid #eee;cursor:pointer;transition:background .2s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#f5f5f5}.search-result-item .member-info{display:flex;justify-content:space-between;align-items:center;gap:10px}.search-result-item strong{font-size:14px;color:#333}.status-badge{display:inline-block;padding:2px 8px;background:#e9ecef;color:#666;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.selected-member{padding:15px;background:#f8f9fa;border:2px solid #007bff;border-radius:6px}.member-details{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:15px}.detail-group{display:flex;flex-direction:column;gap:4px}.detail-group label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.detail-group span{font-size:15px;font-weight:500;color:#333;padding:8px;background:#fff;border:1px solid #ddd;border-radius:4px}.action-buttons{display:flex;gap:10px;justify-content:flex-end}.btn{padding:10px 16px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-attending{background:#28a745;color:#fff}.btn-attending:hover:not(:disabled){background:#218838;transform:translateY(-1px);box-shadow:0 2px 8px #28a7454d}.btn-absent{background:#dc3545;color:#fff}.btn-absent:hover:not(:disabled){background:#c82333;transform:translateY(-1px);box-shadow:0 2px 8px #dc35454d}.btn-outline-secondary{background:#fff;color:#666;border:1px solid #ddd}.btn-outline-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#999}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 8px #007bff4d}.btn-sm{padding:6px 12px;font-size:12px}.attendance-stats{padding:12px;background:#e8f5e9;border-left:4px solid #28a745;border-radius:4px}.attendance-stats p{margin:0;font-size:13px;color:#2e7d32}.btn-add-member{width:100%;margin-top:8px;background:#17a2b8;color:#fff}.btn-add-member:hover:not(:disabled){background:#138496;transform:translateY(-1px);box-shadow:0 2px 8px #17a2b84d}.add-member-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1100;animation:fadeIn .2s ease-in}.add-member-modal{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0003;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}.add-member-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#17a2b8,#138496)}.add-member-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}.btn-close-form{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .2s}.btn-close-form:hover:not(:disabled){transform:scale(1.1)}.btn-close-form:disabled{opacity:.6;cursor:not-allowed}.add-member-form{padding:20px;display:flex;flex-direction:column;gap:20px}.form-col{display:flex;flex-direction:column;gap:6px}.form-col label{font-size:13px;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.5px}.form-input{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .2s;font-family:inherit}.form-input:focus{outline:none;border-color:#17a2b8;box-shadow:0 0 0 3px #17a2b81a}.form-input:disabled{background:#f5f5f5;cursor:not-allowed}.form-input[type=select],select.form-input{cursor:pointer}.add-member-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:10px;border-top:1px solid #e0e0e0}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:15px;border-top:1px solid #e0e0e0;margin-top:15px}@media(max-width:768px){.meeting-header{flex-direction:column;align-items:flex-start}.meeting-info{grid-template-columns:1fr;width:100%}.member-details{grid-template-columns:1fr}.action-buttons{flex-wrap:wrap}.attendance-list{max-height:200px}.attendance-table{font-size:12px}.attendance-table th,.attendance-table td{padding:6px}}@media(max-width:600px){.meeting-info,.member-details{grid-template-columns:1fr}.search-results{position:relative;margin-top:8px}.add-member-modal{width:95%}.form-row{grid-template-columns:1fr}.add-member-actions{flex-direction:column}.add-member-actions .btn{width:100%}.undefined-checkbox-wrapper{flex-direction:column}.undefined-checkbox-wrapper label{font-size:13px}.undefined-form{margin-bottom:12px}.undefined-actions{flex-direction:column}.undefined-actions .btn{width:100%}}.undefined-checkbox-wrapper{display:flex;align-items:center;margin-top:12px;margin-bottom:12px}.undefined-checkbox-wrapper input[type=checkbox]{width:18px;height:18px;margin-right:8px;cursor:pointer;accent-color:#007bff}.undefined-checkbox-wrapper label{cursor:pointer;margin-bottom:0;font-weight:500;font-size:14px;color:#333}.undefined-form{background-color:#f8f9fa;padding:12px;border-radius:4px;margin-bottom:12px;border:1px solid #dee2e6}.undefined-form .form-row{display:flex;gap:8px;margin-bottom:12px}.undefined-form .form-col{flex:1}.undefined-form label{display:block;font-weight:500;color:#333;font-size:13px;margin-bottom:6px}.undefined-form select{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;color:#333;cursor:pointer;transition:border-color .2s}.undefined-form select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.undefined-form select:disabled{background:#e9ecef;color:#666;cursor:not-allowed;opacity:.7}.undefined-actions{display:flex;gap:8px}.undefined-actions .btn{flex:1}.undefined-actions .btn-outline-secondary{flex:0 0 auto}.dashboard-page{width:100%}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #00000014;display:flex;gap:15px;border-left:4px solid #667eea;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.stat-icon{width:50px;height:50px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-content{display:flex;flex-direction:column;justify-content:center}.stat-label{font-size:12px;color:#999;text-transform:uppercase;letter-spacing:.5px;margin:0;font-weight:500}.stat-value{font-size:28px;font-weight:700;color:#333;margin:0}.dashboard-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .3s ease}.card:hover{box-shadow:0 4px 12px #0000001f}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;text-decoration:none;font-size:14px;font-weight:500;transition:all .3s ease;text-align:center;cursor:pointer;font-family:inherit}.action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d;color:#fff;text-decoration:none}.action-btn:active{transform:translateY(0)}.action-btn:focus{outline:none}.info-list{display:flex;flex-direction:column;gap:12px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.info-item:last-child{border-bottom:none}.info-item span:first-child{color:#666;font-size:14px}.info-item span:last-child{color:#333;font-weight:500}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}@media(max-width:768px){.stats-grid,.dashboard-content{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(2,1fr)}.page-header h1{font-size:24px}}.member-form{display:flex;flex-direction:column;gap:20px}.form-section{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:15px}.form-section legend{font-size:15px;font-weight:600;color:#222;margin-bottom:5px;padding-bottom:10px;border-bottom:2px solid #007bff;width:100%}.form-row.full{grid-template-columns:1fr}.form-group.checkbox-group{gap:4px}.form-group.checkbox-group label{display:flex;align-items:center;font-weight:400;gap:8px;cursor:pointer}.form-group.checkbox-group input[type=checkbox]{cursor:pointer;width:18px;height:18px;margin:0}.form-group.checkbox-group small{font-size:12px;color:#666;margin-left:26px}.roles-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;padding:10px;background-color:#f9f9f9;border-radius:4px;border:1px solid #e0e0e0}.role-checkbox{display:flex;align-items:flex-start;gap:10px;padding:10px;background-color:#fff;border-radius:4px;border:1px solid #e0e0e0;transition:all .2s}.role-checkbox:hover{background-color:#f5f5f5;border-color:#007bff}.role-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px;margin-top:2px;flex-shrink:0}.role-checkbox label{cursor:pointer;flex:1;display:flex;flex-direction:column;gap:2px;margin:0}.role-checkbox label strong{font-weight:600;color:#333;font-size:14px}.role-checkbox label .text-muted{color:#666;font-size:12px;font-weight:400}.role-checkbox input:disabled{cursor:not-allowed;opacity:.6}@media(max-width:600px){.roles-list{grid-template-columns:1fr}}.delete-confirm-modal{display:flex;flex-direction:column}.delete-confirm-modal .modal-header{display:flex;gap:12px;align-items:flex-start;padding:20px;border-bottom:1px solid #f0f0f0}.warning-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.delete-confirm-modal .modal-body{flex:1;overflow-y:auto;padding:15px 20px;color:#666;line-height:1.5}.modal-footer{display:flex;gap:10px;padding:15px 20px;border-top:1px solid #e0e0e0;justify-content:flex-end}.modal-footer .btn{min-width:100px}.profile-photo-display{width:100%}.photo-wrapper{width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem}.profile-img{width:200px;height:200px;border-radius:50%;object-fit:cover;border:4px solid #0d6efd;box-shadow:0 4px 12px #00000026;transition:transform .3s}.profile-img:hover{transform:scale(1.05)}.photo-caption{margin:0;color:#6c757d;font-style:italic;text-align:center;max-width:100%}.no-photo{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:8px;color:#6c757d}.no-photo i{font-size:64px;color:#dee2e6}.no-photo p{margin:0;font-weight:500}.profile-photo-display.thumbnail{width:45px;height:45px}.profile-photo-display.thumbnail .profile-img{width:45px;height:45px;border:2px solid #0d6efd;margin:0}.profile-photo-display.thumbnail .no-photo{width:45px;height:45px;padding:0;background:transparent;display:flex;align-items:center;justify-content:center}.profile-photo-display.thumbnail .no-photo i{font-size:28px;color:#dee2e6}@media(max-width:768px){.profile-img{width:150px;height:150px}}@media(max-width:480px){.profile-img{width:120px;height:120px}}.members-page{width:100%}.search-box{flex:1;min-width:250px;display:flex;align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;padding:12px;gap:8px}.search-box input{flex:1;border:none;outline:none;font-size:14px}.search-box svg{color:#999}.badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500}.badge.bg-success{background-color:#d4edda;color:#155724}.badge.bg-warning{background-color:#fff3cd;color:#856404}.badge.bg-info{background-color:#d1ecf1;color:#0c5460}.table tbody td a{color:#333;transition:color .2s ease}.table tbody td a:hover{color:#667eea}@media(max-width:768px){.page-actions{flex-direction:column}.search-box{width:100%}.table{font-size:12px}.table th,.table td{padding:10px}.page-header h1{font-size:24px}}.photo-gallery{width:100%}.photo-gallery.empty{display:flex;align-items:center;justify-content:center;min-height:200px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:8px;text-align:center;color:#666}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin:1rem 0}.photo-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}.photo-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.photo-image-container{position:relative;width:100%;padding-bottom:100%;overflow:hidden;background:#f5f5f5;cursor:pointer}.photo-image-container img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}.photo-image-container:hover img{transform:scale(1.05)}.profile-badge{position:absolute;top:8px;right:8px;background:#28a745;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;display:flex;align-items:center;gap:4px;z-index:10}.photo-caption{padding:.5rem;font-size:13px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-date{padding:0 .5rem;font-size:11px;color:#999}.photo-actions{padding:.5rem;display:flex;gap:.25rem;flex-wrap:wrap}.photo-actions .btn{flex:1;min-width:60px;padding:.25rem .5rem;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-modal{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.photo-modal-content{position:relative;background:#fff;border-radius:8px;max-width:90vh;max-height:90vh;display:flex;flex-direction:column;align-items:center}.photo-modal-content img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px 8px 0 0}.modal-caption{padding:1rem;text-align:center;color:#333;border-top:1px solid #eee;width:100%;margin:0}.close-btn{position:absolute;top:10px;right:10px;background:#ffffffe6;border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:background .3s;z-index:1001}.close-btn:hover{background:#fff}@media(max-width:768px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.photo-modal-content{max-width:95vw;max-height:95vh}}@media(max-width:480px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.photo-actions .btn{min-width:50px;font-size:10px}}.photo-upload{width:100%}.photo-upload form{display:flex;flex-direction:column;gap:1.5rem}.upload-area{width:100%}.upload-zone{border:2px dashed #dee2e6;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s;background:#f8f9fa}.upload-zone:hover{border-color:#0d6efd;background:#f0f7ff}.upload-zone.dragover{border-color:#0d6efd;background:#cfe2ff}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#6c757d}.upload-placeholder i{font-size:48px;color:#0d6efd}.upload-placeholder p{margin:.5rem 0 0;font-weight:500}.upload-placeholder small{color:#999}.preview{width:100%;max-height:300px;display:flex;align-items:center;justify-content:center}.preview img{max-width:100%;max-height:300px;border-radius:8px;object-fit:contain}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#212529}.form-control{padding:.5rem .75rem;border:1px solid #dee2e6;border-radius:4px;font-size:14px;transition:border-color .3s}.form-control:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 0 3px #0d6efd40}.form-text{font-size:12px;margin-top:.25rem}.form-check{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f8f9fa;border-radius:4px}.form-check-input{width:18px;height:18px;margin:0;cursor:pointer}.form-check-label{margin:0;cursor:pointer;font-weight:500}.form-actions{display:flex;gap:.5rem}.btn{padding:.5rem 1rem;border:none;border-radius:4px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s}.btn-primary{background:#0d6efd;color:#fff;flex:1}.btn-primary:hover:not(:disabled){background:#0b5ed7}.btn-secondary{background:#6c757d;color:#fff;flex:0 0 auto;min-width:100px}.btn-secondary:hover:not(:disabled){background:#5c636a}.alert{padding:.75rem 1rem;border-radius:4px;display:flex;align-items:center;gap:.5rem;margin-top:1rem}.alert-danger{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.spinner-border{display:inline-block;width:1em;height:1em;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:.875em;height:.875em;border-width:.2em}@keyframes spinner-border{to{transform:rotate(360deg)}}@media(max-width:480px){.upload-zone{padding:1.5rem 1rem}.upload-placeholder i{font-size:36px}.form-actions{flex-direction:column}.btn-secondary{flex:1}}.member-detail-page{display:flex;flex-direction:column;gap:20px}.member-detail-page .page-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.member-detail-page .page-header button.btn-icon{background:#fff3;color:#fff;border:none;border-radius:4px;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.member-detail-page .page-header button.btn-icon:hover{background:#ffffff4d}.member-detail-page .page-header h1{margin:0;font-size:28px;font-weight:700}.member-detail-page .page-header p{margin:0}.member-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.member-detail-page .card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s}.member-detail-page .card:hover{box-shadow:0 4px 12px #00000026}.member-detail-page .card-header{background-color:#f8f9fa;padding:15px 20px;border-bottom:1px solid #e0e0e0}.member-detail-page .card-header h3{margin:0;font-size:16px;font-weight:600;color:#333}.member-detail-page .card-body{padding:20px}.details-content{display:flex;flex-direction:column;gap:15px}.detail-item{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.detail-item:last-child{border-bottom:none;padding-bottom:0}.detail-item label{font-weight:600;color:#666;flex-shrink:0;min-width:120px}.detail-item span{color:#333;flex:1;word-break:break-word}.detail-item .badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px}.roles-display{display:flex;flex-direction:column;gap:10px}.role-item{display:flex;align-items:center;gap:10px;padding:10px;background-color:#f0f7ff;border-radius:4px;border-left:3px solid #0066cc}.role-item .badge{flex-shrink:0}.role-date{font-size:12px;color:#666;margin-left:auto}.text-muted{color:#999;font-style:italic}.member-detail-page .btn{display:inline-flex;align-items:center;gap:8px}@media(max-width:768px){.member-detail-page .page-header{padding:20px;display:flex;flex-direction:column;gap:15px}.member-detail-page .page-header div{display:flex;flex-direction:column;gap:5px}.member-details-grid{grid-template-columns:1fr}.detail-item{flex-direction:column;gap:5px}.detail-item label{min-width:auto}.role-item{flex-direction:column;align-items:flex-start}.role-date{margin-left:0}}.role-form{display:flex;flex-direction:column;gap:15px}.form-text{color:#666;font-size:12px;margin-top:4px}.role-combobox-container{position:relative;width:100%}.role-input-wrapper{position:relative;display:flex;align-items:center}.role-combobox{width:100%;padding-right:30px}.role-combobox-icon{position:absolute;right:10px;color:#999;display:flex;align-items:center;justify-content:center;pointer-events:none}.role-suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;max-height:250px;overflow-y:auto;z-index:1000;box-shadow:0 4px 6px #0000001a}.role-suggestion-item{padding:10px 12px;cursor:pointer;transition:background-color .15s;border-bottom:1px solid #f0f0f0;font-size:14px;color:#333}.role-suggestion-item:last-child{border-bottom:none}.role-suggestion-item:hover{background-color:#f0f0f0}.role-suggestion-item.selected{background-color:#e3f2fd;font-weight:500;color:#007bff}.role-suggestion-new{padding:12px;background-color:#e8f5e9;border:1px solid #c8e6c9;border-radius:0 0 4px 4px;color:#2e7d32;font-size:14px;margin-top:-1px}.role-suggestion-new strong{color:#1b5e20}.role-suggestions-dropdown::-webkit-scrollbar{width:8px}.role-suggestions-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.role-suggestions-dropdown::-webkit-scrollbar-thumb{background:#bbb;border-radius:4px}.role-suggestions-dropdown::-webkit-scrollbar-thumb:hover{background:#999}.roles-page{width:100%}.card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014}@media(max-width:768px){.page-header h1{font-size:24px}}.meeting-form{display:flex;flex-direction:column;gap:15px}.form-group{display:flex;flex-direction:column;gap:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group label{font-weight:500;color:#333;font-size:14px}.form-control{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-control:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-control:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.form-control.is-invalid{border-color:#dc3545;background-color:#fff5f5}textarea.form-control{resize:vertical}.invalid-feedback{color:#dc3545;font-size:13px;margin-top:2px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px;padding-top:15px;border-top:1px solid #e0e0e0}.form-actions .btn{min-width:100px}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.meetings-page{width:100%}.page-actions{display:flex;gap:15px;margin-bottom:30px;flex-wrap:wrap;align-items:center}.table{width:100%;border-collapse:collapse;margin:0}.table thead{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0}.table th{padding:15px;text-align:left;font-weight:600;color:#333;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.table td{padding:15px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#333}.table tbody tr:hover{background-color:#f9f9f9}.action-buttons{display:flex;gap:8px}.btn-icon{background:none;border:none;cursor:pointer;padding:6px;border-radius:4px;color:#667eea;transition:all .3s ease;display:flex;align-items:center}.btn-icon:hover{background-color:#e7e7ff;color:#764ba2}.btn-icon.btn-danger{color:#dc3545}.btn-icon.btn-danger:hover{background-color:#ffe7e7;color:#c82333}.btn{padding:10px 16px;border:none;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}@media(max-width:768px){.page-actions{flex-direction:column}.table{font-size:12px}.table th,.table td{padding:10px}.page-header h1{font-size:24px}}.profile-page{width:100%}.page-header h1{font-size:28px;font-weight:700;color:#333;margin-bottom:8px}.page-header p{color:#666;font-size:14px;margin:0}.profile-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px}.card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.card-header{padding:20px;border-bottom:1px solid #f0f0f0}.card-header h2{margin:0;font-size:18px;font-weight:600;color:#333}.form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#333;font-size:14px}.form-control{padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s ease}.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-control:read-only{background-color:#f5f5f5;cursor:not-allowed}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.btn{padding:10px 16px;border:none;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.btn-secondary{background-color:#f0f0f0;color:#333;border:1px solid #ddd}.btn-secondary:hover{background-color:#e0e0e0}.settings-list{display:flex;flex-direction:column;gap:20px}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid #f0f0f0}.setting-item:last-child{border-bottom:none}.setting-item h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#333}.setting-item p{margin:0;font-size:14px;color:#666}@media(max-width:768px){.profile-container,.form-row{grid-template-columns:1fr}.setting-item{flex-direction:column;align-items:flex-start;gap:12px}.page-header h1{font-size:24px}}.csv-import-page{padding:2rem;max-width:1200px;margin:0 auto}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;font-weight:600;color:#2c3e50;margin-bottom:.5rem}.page-header .text-muted{font-size:1rem;color:#95a5a6}.csv-container{background:#f8f9fa;border-radius:12px;padding:0;overflow:hidden}.tab-navigation{display:flex;background:#fff;border-bottom:2px solid #ecf0f1;padding:0;margin:0}.tab-btn{flex:1;padding:1rem 1.5rem;border:none;background:none;color:#7f8c8d;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;position:relative}.tab-btn:hover{color:#2c3e50;background:#f8f9fa}.tab-btn.active{color:#3498db;background:#fff}.tab-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#3498db}.csv-content{padding:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:all .3s ease}.card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.card-header{padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom:none}.download-card .card-header{background:linear-gradient(135deg,#667eea,#764ba2)}.import-card .card-header{background:linear-gradient(135deg,#f093fb,#f5576c)}.instructions-card .card-header{background:linear-gradient(135deg,#4facfe,#00f2fe)}.card-header h3{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;margin:0;font-weight:600}.card-header svg{flex-shrink:0}.card-body{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:600;color:#2c3e50;margin-bottom:.5rem}.form-control{width:100%;padding:.75rem;border:2px solid #ecf0f1;border-radius:6px;font-size:1rem;transition:all .3s ease;font-family:inherit}.form-control:hover{border-color:#bdc3c7}.form-control:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.form-control:disabled{background:#ecf0f1;cursor:not-allowed}.form-control::placeholder{color:#bdc3c7}small.text-muted{display:block;color:#7f8c8d;font-size:.875rem;margin-top:.5rem}.file-info{background:#e8f4f8;border-left:4px solid #3498db;padding:1rem;margin-bottom:1rem;border-radius:4px;display:flex;justify-content:space-between;align-items:center}.file-info strong{color:#2c3e50}.file-info small{color:#7f8c8d;display:block;font-size:.875rem;margin-top:.25rem}.checkbox-group{margin-bottom:1.5rem;display:flex;align-items:flex-start;gap:.75rem}.checkbox-group input[type=checkbox]{width:18px;height:18px;margin-top:2px;cursor:pointer;accent-color:#3498db;flex-shrink:0}.checkbox-group label{margin:0;cursor:pointer;font-weight:400;color:#2c3e50}.checkbox-group label small{display:block;color:#7f8c8d;font-size:.875rem;margin-top:.25rem}.preview-container{margin:1.5rem 0;padding:1rem;background:#f8f9fa;border-radius:6px;border:2px dashed #ecf0f1}.preview-container h6{font-size:.95rem;font-weight:600;color:#2c3e50;margin-bottom:1rem}.table-wrapper{overflow-x:auto}.preview-table{width:100%;border-collapse:collapse;font-size:.875rem}.preview-table thead{background:#ecf0f1}.preview-table th{padding:.75rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #bdc3c7;white-space:nowrap}.preview-table td{padding:.75rem;color:#34495e;border-bottom:1px solid #ecf0f1;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-table tbody tr:hover{background:#f0f1f2}.import-result{margin:1.5rem 0;padding:1.5rem;border-radius:6px;display:flex;gap:1rem;border-left:4px solid}.import-result.success{background:#d5f4e6;border-left-color:#27ae60}.import-result.error{background:#fadbd8;border-left-color:#e74c3c}.result-icon{display:flex;align-items:center;flex-shrink:0}.import-result.success .result-icon{color:#27ae60}.import-result.error .result-icon{color:#e74c3c}.result-content h6{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#2c3e50}.result-content p{margin:.5rem 0;color:#34495e}.errors-list{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.1)}.errors-list strong{display:block;margin-bottom:.5rem;color:#2c3e50;font-size:.9rem}.errors-list ul{list-style:none;padding:0;margin:0}.errors-list li{color:#34495e;font-size:.875rem;margin:.35rem 0;padding:.25rem 0 .25rem 1.5rem;position:relative}.errors-list li:before{content:"⚠";position:absolute;left:0}.errors-list .more-errors{color:#7f8c8d;font-style:italic}.button-group{display:flex;gap:1rem;margin-top:1.5rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all .3s ease;font-family:inherit;flex:1}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-success{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f5576c66}.btn-secondary{background:#ecf0f1;color:#2c3e50;border:2px solid #bdc3c7}.btn-secondary:hover:not(:disabled){background:#bdc3c7;color:#2c3e50}.btn svg{width:18px;height:18px;flex-shrink:0}.btn .spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.template-info{margin-bottom:1rem;background:#f8f9fa;padding:1rem;border-radius:6px}.template-info h6{font-size:.95rem;font-weight:600;color:#2c3e50;margin:0 0 .75rem}.field-list{list-style:none;padding:0;margin:0}.field-list li{padding:.35rem 0;color:#34495e;font-size:.9rem}.field-list li strong{color:#e74c3c}.instructions-list{margin:0;padding:0 0 0 1.5rem;list-style-position:inside}.instructions-list li{margin-bottom:1rem;color:#34495e;line-height:1.6}.instructions-list strong{color:#2c3e50}.tips-section{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #ecf0f1}.tips-section h6{font-size:.95rem;font-weight:600;color:#2c3e50;margin:0 0 .75rem}.tips-list{list-style:none;padding:0;margin:0}.tips-list li{padding:.35rem 0 .35rem 1.5rem;color:#34495e;font-size:.9rem;position:relative}.tips-list li:before{content:"✓";position:absolute;left:0;color:#27ae60;font-weight:700}.tips-list code{background:#ecf0f1;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.85em;color:#c0392b}@media(max-width:768px){.csv-import-page{padding:1rem}.page-header h1{font-size:1.5rem}.csv-content{grid-template-columns:1fr;padding:1rem;gap:1.5rem}.button-group{flex-direction:column}.button-group .btn{width:100%}.tab-btn{padding:.75rem 1rem;font-size:.9rem}.card-header h3{font-size:1.1rem}.import-result{flex-direction:column}.table-wrapper{font-size:.8rem}.preview-table th,.preview-table td{padding:.5rem}}@media(max-width:480px){.csv-container{border-radius:0}.tab-navigation{margin:-2rem -1rem 0}.csv-content{padding:.75rem;gap:1rem}.card{border-radius:6px}.button-group{gap:.5rem}.file-info{flex-direction:column;align-items:flex-start}}.reports-page{padding:20px}.page-header{margin-bottom:30px}.page-header h1{font-size:28px;font-weight:600;margin-bottom:5px}.page-header p{color:#666;margin:0}.form-section{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:500;margin-bottom:8px;color:#333;font-size:14px}.form-control{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .3s;cursor:pointer}.form-control:not(:disabled){cursor:pointer}.form-control[type=text],.form-control[type=email],.form-control[type=date],.form-control[type=number],.form-control select,.form-control textarea{cursor:text}.form-control select{cursor:pointer}.form-control:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 0 3px #0d6efd1a}.form-control:disabled{background-color:#f8f9fa;cursor:not-allowed}.form-actions{display:flex;gap:10px;margin-top:20px}.btn{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#0d6efd;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0b5ed7}.btn-success{background-color:#198754;color:#fff}.btn-success:hover:not(:disabled){background-color:#157347}.chart-container{display:flex;justify-content:center;margin:30px 0;width:100%}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin:20px 0}.summary-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 6px #0000001a}.summary-card:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.summary-card:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.summary-card:nth-child(4){background:linear-gradient(135deg,#43e97b,#38f9d7)}.summary-label{font-size:14px;opacity:.9;margin-bottom:10px}.summary-value{font-size:32px;font-weight:600}.card{background:#fff;border:1px solid #dee2e6;border-radius:8px;overflow:hidden;margin-bottom:20px}.card-header{background-color:#f8f9fa;border-bottom:1px solid #dee2e6;padding:20px}.card-header h2,.card-header h3{margin:0 0 5px;font-size:18px;font-weight:600}.card-header p{margin:0;font-size:14px;color:#666}.card-body{padding:20px}.table-responsive{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{background-color:#f8f9fa;padding:12px;text-align:left;font-weight:600;border-bottom:2px solid #dee2e6}.table td{padding:12px;border-bottom:1px solid #dee2e6}.table tbody tr:hover{background-color:#f8f9fa}.text-center{text-align:center}.text-muted{color:#666}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.bg-success{background-color:#198754;color:#fff}.bg-danger{background-color:#dc3545;color:#fff}.alert{padding:15px 20px;border-radius:4px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center}.alert-danger{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@media(max-width:768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{width:100%;justify-content:center}.summary-cards{grid-template-columns:repeat(2,1fr)}.chart-container{max-height:300px}}:root{--primary-color: #0d6efd;--secondary-color: #6c757d;--success-color: #198754;--danger-color: #dc3545;--warning-color: #ffc107;--info-color: #0dcaf0;--light-color: #f8f9fa;--dark-color: #212529;--sidebar-width: 250px;--header-height: 60px}*{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}.app-container{display:flex;min-height:100vh}.main-content{flex:1;display:flex;flex-direction:column}.content{flex:1;padding:20px;overflow-y:auto}@media(max-width:768px){:root{--sidebar-width: 0}}
