body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}h1,h2,h3,h4,h5,h6{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}p,span,div,a,button,input,textarea,select,label{font-family:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.vb-form-group,.form-group{margin-bottom:1rem}.vb-label,.form-label{display:block;font-weight:500;margin-bottom:.5rem;color:#374151;font-size:.875rem}.vb-input,.form-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:border-color .2s ease,box-shadow .2s ease;background-color:#fff}.vb-input:focus,.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.vb-input:invalid,.form-input:invalid{border-color:#ef4444}.vb-input-error{color:#ef4444;font-size:.75rem;margin-top:.25rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1rem}@media (max-width: 768px){.form-grid{grid-template-columns:1fr;gap:1rem}}.vb-form-group,.form-group{margin-bottom:1.5rem}.vb-input,.form-input{max-width:100%;box-sizing:border-box}.action-btn{width:2rem;height:2rem;border:none;border-radius:.375rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:.875rem}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn.view{background:#ccfbf1;color:#0d9488}.action-btn.view:hover:not(:disabled){background:#99f6e4;color:#0f766e}.action-btn.edit{background:#dbeafe;color:#2563eb}.action-btn.edit:hover:not(:disabled){background:#bfdbfe;color:#1d4ed8}.action-btn.delete{background:#fee2e2;color:#dc2626}.action-btn.delete:hover:not(:disabled){background:#fecaca;color:#b91c1c}.action-btn.reject{background:#fee2e2;color:#dc2626}.action-btn.reject:hover:not(:disabled){background:#fecaca;color:#b91c1c}.action-btn.add,.action-btn.add-child{background:#d1fae5;color:#059669}.action-btn.add:hover:not(:disabled),.action-btn.add-child:hover:not(:disabled){background:#a7f3d0;color:#047857}.action-btn.promote{background:#ede9fe;color:#7c3aed}.action-btn.promote:hover:not(:disabled){background:#ddd6fe;color:#6d28d9}.action-btn.admit{background:#e0e7ff;color:#4f46e5}.action-btn.admit:hover:not(:disabled){background:#c7d2fe;color:#4338ca}.action-btn.complete{background:#ccfbf1;color:#0d9488}.action-btn.complete:hover:not(:disabled){background:#99f6e4;color:#0f766e}.action-btn.small{width:1.5rem;height:1.5rem;font-size:.75rem}.action-buttons,.card-actions{display:flex;gap:.5rem;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:.375rem;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease;border:none;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary,.btn.btn-primary,.vb-btn{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary:hover:not(:disabled),.btn.btn-primary:hover:not(:disabled),.vb-btn:hover:not(:disabled){background:linear-gradient(135deg,#ea580c,#c2410c);transform:translateY(-1px);box-shadow:0 4px 6px -1px #f973164d}.btn-primary:disabled,.btn.btn-primary:disabled,.vb-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary,.btn.btn-secondary,.vb-btn-secondary{background:#f3f4f6;color:#374151;border:none;padding:.5rem 1rem;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-secondary:hover:not(:disabled),.btn.btn-secondary:hover:not(:disabled),.vb-btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-secondary:disabled,.btn.btn-secondary:disabled,.vb-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background:white;color:#374151;border:1px solid #d1d5db;padding:.5rem 1rem;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-outline:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.btn-outline:disabled{opacity:.5;cursor:not-allowed}.btn-danger,.btn.btn-danger{background:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.875rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-danger:hover:not(:disabled),.btn.btn-danger:hover:not(:disabled){background:#dc2626}.btn-danger:disabled,.btn.btn-danger:disabled{opacity:.5;cursor:not-allowed}.vb-btn.vb-btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.vb-btn.vb-btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c)}.vb-btn.vb-btn-danger:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:white;border-radius:.5rem;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a;display:flex;flex-direction:column}.modal-content.modal-small{max-width:400px}.modal-content.modal-medium{max-width:600px}.modal-content.modal-large{max-width:800px}.modal-content.modal-xlarge{max-width:900px}.modal-small{max-width:400px}.modal-medium{max-width:600px}.modal-large{max-width:800px}.modal-xlarge{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.modal-header h2,.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.modal-close{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;border-radius:.25rem;transition:all .2s ease}.modal-close:hover{color:#374151;background:#f3f4f6}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer,.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}@media (max-width: 640px){.modal-content{width:95%;max-height:90vh;margin:.5rem}.modal-header{padding:.75rem 1rem}.modal-body{padding:1rem}.modal-footer{padding:.75rem 1rem;flex-direction:column}}.tab-navigation{display:flex;background:white;border-radius:1rem;padding:.5rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;overflow-x:auto}.tab-button{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;border:none;background:transparent;color:#64748b;font-weight:500;border-radius:.75rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:200px}.tab-button:hover{background:#f1f5f9;color:#334155}.tab-button.active{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);color:#fff;box-shadow:0 4px 6px -1px #f973164d}.tab-button i{font-size:1.125rem}.tab-content{background:white;border-radius:1rem;padding:2rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0;min-height:400px}@media (max-width: 768px){.tab-navigation{flex-direction:column}.tab-button{min-width:auto}}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.pt-4{padding-top:1rem}.pb-4{padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-top:1rem;padding-bottom:1rem}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.border-t{border-top:1px solid #e5e7eb}.border-b{border-bottom:1px solid #e5e7eb}.border-gray-200{border-color:#e5e7eb}.rounded{border-radius:.5rem}.rounded-lg{border-radius:.75rem}.w-full{width:100%}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.text-center{text-align:center}.text-left{text-align:left}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.hidden{display:none}@media (max-width: 768px){.hide-mobile{display:none!important}.show-mobile{display:block!important}.flex-mobile{flex-direction:column}.w-full-mobile{width:100%}.text-center-mobile{text-align:center}}@media (min-width: 769px){.hide-desktop{display:none!important}.show-desktop{display:block!important}}.vb-card{background:white;border-radius:.5rem;padding:1.5rem;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.vb-card:hover{box-shadow:0 4px 6px -1px #0000001a}.status-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase}.status-badge.active,.status-badge.approved,.status-badge.admitted{background:#d1fae5;color:#065f46}.status-badge.inactive,.status-badge.rejected{background:#fee2e2;color:#dc2626}.status-badge.pending{background:#dbeafe;color:#1e40af}.status-badge.suspended,.status-badge.warning{background:#fef3c7;color:#d97706}.search-filter-bar{background:white;border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem;border:1px solid #e5e7eb}.search-row{margin-bottom:1rem}.search-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:border-color .2s ease,box-shadow .2s ease}.search-input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px #f973161a}.search-input::placeholder{color:#9ca3af}.filters-row{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.filter-group{flex:1;min-width:150px}.filter-group.auto-width{flex:0 0 auto;min-width:auto}.filter-label{display:block;margin-bottom:.25rem;font-size:.75rem;color:#6b7280;font-weight:500}.filter-select{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;background:white;cursor:pointer;transition:border-color .2s ease}.filter-select:focus{outline:none;border-color:#f97316}.items-per-page{display:flex;align-items:center;gap:.5rem}.items-per-page-label{font-size:.875rem;color:#6b7280;white-space:nowrap}.items-per-page-select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;background:white;cursor:pointer}.items-per-page-select:focus{outline:none;border-color:#f97316}.filter-hint{font-size:.75rem;margin-top:.25rem}.filter-hint.loading{color:#9ca3af}.filter-hint.error{color:#dc2626}.pagination-band{background:white;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.pagination-band.top{margin-bottom:1rem}.pagination-band.bottom{margin-top:1rem}.pagination-info{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.pagination-text{font-size:.875rem;color:#6b7280}.pagination-text strong{color:#374151;font-weight:600}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-page-info{font-size:.875rem;color:#6b7280;padding:0 .5rem}.data-grid-container{background:white;border-radius:.5rem;border:1px solid #d1d5db;overflow:hidden;box-shadow:0 1px 3px #0000000d}.data-grid{width:100%;border-collapse:collapse}.data-grid th,.data-grid td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb}.data-grid th{background:#e2e8f0;font-weight:600;font-size:.875rem;color:#1e293b;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-bottom:2px solid #cbd5e1}.data-grid th:hover{background:#cbd5e1}.data-grid th .sort-icon{margin-left:.25rem;opacity:.5}.data-grid th.sorted .sort-icon{opacity:1;color:#f97316}.data-grid tbody{background:white}.data-grid tbody tr:hover{background:#f8fafc}.data-grid tbody tr:nth-child(2n){background:#fafbfc}.data-grid tbody tr:nth-child(2n):hover{background:#f1f5f9}.data-grid tbody tr:last-child td{border-bottom:none}.data-grid td{font-size:.875rem;color:#374151}.data-grid-empty{text-align:center;padding:3rem;color:#6b7280}.data-grid-empty i{font-size:2rem;margin-bottom:1rem;opacity:.5}.data-grid-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#6b7280}.loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #f97316;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-banner{background:#fee2e2;color:#dc2626;padding:1rem;border-radius:.375rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.master-wrap{max-width:100%}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #e2e8f0}.section-header h2,.section-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#374151;display:flex;align-items:center;gap:.5rem}.section-header h2 i,.section-header h3 i{color:#f97316}.add-btn{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);color:#fff;border:none;padding:.5rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.875rem}.add-btn:hover{filter:brightness(1.05);box-shadow:0 2px 4px #f973164d}.master-toolbar,.toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.master-toolbar .search-label,.toolbar .search-label{font-size:.875rem;color:#6b7280;white-space:nowrap}.master-toolbar .search-input{flex:1;max-width:320px}.search-hint{font-size:.8125rem;color:#6b7280}.state-message{padding:2rem;text-align:center;color:#6b7280}.table-container{overflow-x:auto;border:1px solid #e5e7eb;border-radius:.5rem;background:#fff}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb}.data-table thead th{background:#f8fafc;font-weight:600;color:#374151}.data-table tbody tr:hover{background:#f8fafc}.data-table .col-actions{white-space:nowrap}.data-table .empty-cell{text-align:center;color:#6b7280;padding:2rem!important}.btn-icon{padding:.35rem .5rem;border:none;border-radius:.375rem;cursor:pointer;margin-right:.25rem;background:transparent;color:#6b7280}.btn-icon:hover{background:#f3f4f6;color:#111}.btn-icon.edit:hover{color:#2563eb}.btn-icon.delete:hover{color:#dc2626}@media (max-width: 640px){.section-header{flex-direction:column;align-items:flex-start;gap:.75rem}.master-toolbar,.toolbar{flex-wrap:wrap}.master-toolbar .search-input,.toolbar .search-input{max-width:none}}@media (max-width: 768px){.search-filter-bar{padding:1rem}.filters-row{flex-direction:column;align-items:stretch}.filter-group{min-width:100%}.items-per-page{width:100%;justify-content:space-between}.pagination-band{flex-direction:column;text-align:center}.pagination-controls{width:100%;justify-content:center}.data-grid{font-size:.8125rem}.data-grid th,.data-grid td{padding:.5rem .75rem}}
