*{box-sizing:border-box;margin:0;padding:0}body{color:#2c3e50;color:var(--text-primary);font-family:Inter,sans-serif;line-height:1.6}:root{--primary-color:#1a4d2e;--primary-dark:#143d24;--primary-light:#4a7c59;--secondary-color:#f4a261;--accent-color:#e76f51;--bg-primary:#f9f9f9;--bg-secondary:#fff;--bg-dark:#2c3e50;--text-primary:#2c3e50;--text-secondary:#6c757d;--text-light:#fff;--border-color:#dee2e6;--border-radius:4px;--success:#28a745;--warning:#ffc107;--danger:#dc3545;--info:#17a2b8;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000000f}#root,body,html{height:100%;margin:0;padding:0}.app-container{display:flex;height:100vh;overflow:hidden}.sidebar{background:#143d24;background:var(--primary-dark);color:#fff;color:var(--text-light);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;padding:24px 16px;width:280px}.sidebar-header{border-bottom:1px solid #ffffff1a;margin-bottom:16px;padding-bottom:24px;text-align:center}.sidebar-logo small{font-size:12px;opacity:.7}.sidebar-nav{flex-grow:1}.nav-item{align-items:center;border-radius:4px;border-radius:var(--border-radius);color:#fffc;display:flex;font-size:15px;font-weight:500;gap:12px;margin:4px 0;padding:12px 16px;text-decoration:none;transition:background-color .2s,color .2s}.nav-item:hover{background-color:#ffffff1a;color:#fff;color:var(--text-light)}.nav-item.active{background-color:#fff;background-color:var(--bg-secondary);color:#1a4d2e;color:var(--primary-color);font-weight:600}.sidebar-footer{border-top:1px solid #ffffff1a;padding-top:20px}.user-info{gap:12px}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background-color:#f4a261;background-color:var(--secondary-color);border-radius:50%;color:#fff;color:var(--text-light);flex-shrink:0;font-size:18px;font-weight:700;height:40px;justify-content:center;width:40px}.content-wrapper{background-color:#f9f9f9;background-color:var(--bg-primary);display:flex;flex:1 1;flex-direction:column;min-width:0;overflow-y:auto;padding:32px}.top-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.top-bar h1{color:#2c3e50;color:var(--text-primary);font-size:28px;font-weight:700}.content-area{flex-grow:1}.card{background-color:#fff;background-color:var(--bg-secondary);border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;border-radius:var(--border-radius);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:24px}.card-header{background-color:#f4f6f8;border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-color);font-size:16px;font-weight:600;padding:16px 20px}.card-body{padding:20px}.btn{align-items:center;border:1px solid #0000;border-radius:4px;border-radius:var(--border-radius);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 18px;text-decoration:none;transition:all .2s}.btn-primary{background-color:#1a4d2e;background-color:var(--primary-color);color:#fff;color:var(--text-light)}.btn-primary:hover:not(:disabled){background-color:#143d24;background-color:var(--primary-dark)}.btn-secondary{background-color:#6c757d;background-color:var(--text-secondary);color:#fff;color:var(--text-light)}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-outline-primary{background-color:initial;border-color:#1a4d2e;border-color:var(--primary-color);color:#1a4d2e;color:var(--primary-color)}.btn-outline-primary:hover:not(:disabled){background-color:#4a7c59;background-color:var(--primary-light);color:#fff;color:var(--text-light)}.btn:disabled{cursor:not-allowed;opacity:.6}.form-group{margin-bottom:16px}.form-label{color:#2c3e50;color:var(--text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.form-control,.form-select{border:1px solid #dee2e6;border:1px solid var(--border-color);border-radius:4px;border-radius:var(--border-radius);font-size:14px;line-height:1.5;padding:10px 12px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.form-control,.form-control:focus,.form-select,.form-select:focus{background-color:#fff;background-color:var(--bg-secondary);color:#2c3e50;color:var(--text-primary)}.form-control:focus,.form-select:focus{border-color:#4a7c59;border-color:var(--primary-light);box-shadow:0 0 0 .2rem #1a4d2e40;outline:0}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.table-container{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table thead th{background-color:#f4f6f8;border-bottom:2px solid #dee2e6;border-bottom:2px solid var(--border-color);color:#6c757d;color:var(--text-secondary);font-size:13px;font-weight:600;padding:12px 16px;text-align:left}.table tbody td{border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-color);font-size:14px;padding:12px 16px;vertical-align:middle}.table tbody tr:hover{background-color:#fbfbfb}.badge{border-radius:4px;border-radius:var(--border-radius);display:inline-block;font-size:75%;font-weight:700;line-height:1;padding:.35em .65em;text-align:center;vertical-align:initial;white-space:nowrap}.badge-success{background-color:#28a745;background-color:var(--success);color:#fff;color:var(--text-light)}.badge-warning{background-color:#ffc107;background-color:var(--warning);color:#212529}.badge-danger{background-color:#dc3545;background-color:var(--danger);color:#fff;color:var(--text-light)}.text-center{text-align:center}.text-right{text-align:right}.my-4{margin-bottom:1.5rem;margin-top:1.5rem}.modal-backdrop{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background-color:#fff;background-color:var(--bg-secondary);border-radius:4px;border-radius:var(--border-radius);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000000f;box-shadow:var(--shadow-md);display:flex;flex-direction:column;max-width:600px;width:90%}.modal-header{align-items:center;border-bottom:1px solid #dee2e6;border-bottom:1px solid var(--border-color);display:flex;font-size:18px;font-weight:600;justify-content:space-between;padding:16px 20px}.modal-body{max-height:70vh;overflow-y:auto;padding:20px}.modal-footer{border-top:1px solid #dee2e6;border-top:1px solid var(--border-color);display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.photo-upload-container{background-color:#fdfdfd;border:2px dashed #dee2e6;border:2px dashed var(--border-color);border-radius:4px;border-radius:var(--border-radius);cursor:pointer;padding:24px;text-align:center;transition:border-color .2s,background-color .2s}.photo-upload-container.drag-active{background-color:#e6f7e9;border-color:#1a4d2e;border-color:var(--primary-color)}.photo-grid{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.photo-item{border-radius:4px;border-radius:var(--border-radius);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);height:100px;overflow:hidden;position:relative;width:100px}.photo-item img{height:100%;object-fit:cover;width:100%}.photo-item-remove{align-items:center;background:#dc3545;background:var(--danger);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:24px;justify-content:center;opacity:.8;position:absolute;right:4px;top:4px;transition:opacity .2s,background-color .2s;width:24px}.photo-item-remove:hover{background:#c82333;opacity:1}.spinner{animation:spin 1s linear infinite;border:3px solid #dee2e6;border-top:3px solid #1a4d2e;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:40px;margin:40px auto;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:992px){.content-wrapper{padding:24px}}@media (max-width:768px){.sidebar{width:220px}.form-row{grid-template-columns:1fr}.table-container{font-size:13px}}@media (max-width:640px){.app-container{flex-direction:column;height:auto;min-height:100vh}.sidebar{height:auto;padding:16px;width:100%}.sidebar-nav{display:flex;flex-wrap:wrap;gap:8px}.nav-item{flex-basis:auto;font-size:13px;padding:8px 12px}.content-wrapper{padding:16px}.top-bar{align-items:flex-start;flex-direction:column;gap:12px}.top-bar h1{font-size:24px}}
/*# sourceMappingURL=main.028334ad.css.map*/