/*! tailwindcss v4.1.5 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.z-50{z-index:50}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.grid{display:grid}.hidden{display:none}.w-full{width:100%}.flex-shrink-0{flex-shrink:0}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.justify-end{justify-content:flex-end}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.text-right{text-align:right}.break-all{word-break:break-all}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}@media (hover:hover){.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}:root{--primary-color: #3b82f6;--primary-light: #93c5fd;--primary-dark: #2563eb;--success-color: #10b981;--success-dark: #059669;--danger-color: #ef4444;--danger-dark: #b91c1c;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--sidebar-bg: #1f2937;--sidebar-text: #f3f4f6}body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;background-color:#f5f7fa;margin:0;padding:0;box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6,p{margin-top:0}img{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6{margin-top:0;line-height:1.2;color:var(--gray-800)}h1{font-size:1.875rem;font-weight:700}h2{font-size:1.5rem;font-weight:600}h3{font-size:1.25rem;font-weight:600}h4{font-size:1.125rem;font-weight:600}p{margin-top:0;line-height:1.5}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-bold{font-weight:600}.text-muted{color:var(--gray-500)}.text-center{text-align:center}.dashboard-container{display:flex;min-height:100vh;position:relative}.sidebar-collapsed+.main-content{margin-left:70px}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:999;animation:fadeIn .2s ease-out}@media (max-width: 768px){.main-content{margin-left:0!important;width:100%}.content-wrapper{padding-top:.5rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sidebar{position:fixed;top:0;left:0;height:100vh;width:260px;background-color:var(--sidebar-bg, #1f2937);color:var(--sidebar-text, #f3f4f6);display:flex;flex-direction:column;transition:all .3s ease;z-index:1000;box-shadow:2px 0 5px #0000000d}.sidebar-collapsed{width:70px}.sidebar-collapsed .logo-text,.sidebar-collapsed .menu-text,.sidebar-collapsed .submenu-text,.sidebar-collapsed .submenu-arrow{display:none}.sidebar-collapsed .submenu{display:none!important}.sidebar-header{padding:1rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;min-height:64px}.logo{display:flex;align-items:center;gap:10px}.logo-icon{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#6e8efb,#a777e3);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}.logo-text{font-size:1.2rem;font-weight:600;white-space:nowrap}.sidebar-scroll-area{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.sidebar-scroll-area::-webkit-scrollbar{width:5px}.sidebar-scroll-area::-webkit-scrollbar-track{background:transparent}.sidebar-scroll-area::-webkit-scrollbar-thumb{background-color:#fff3;border-radius:10px}.sidebar-menu{padding:1rem 0}.menu-item{display:flex;align-items:center;padding:.75rem 1.5rem;color:var(--sidebar-text);text-decoration:none;transition:all .2s;cursor:pointer;position:relative;gap:12px;border-left:3px solid transparent}.menu-item:hover{background-color:#ffffff0d}.menu-item.active{background-color:#ffffff1a;border-left-color:var(--primary-color);color:var(--primary-color)}.menu-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.menu-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-item .submenu-arrow{margin-left:auto;font-size:10px;transition:transform .3s}.menu-group{position:relative}.submenu{padding-left:30px;background-color:#00000026}.submenu-item{display:flex;align-items:center;padding:.6rem 1.5rem;color:var(--sidebar-text);opacity:.8;text-decoration:none;transition:all .2s}.submenu-item:hover{opacity:1;background-color:#ffffff0d}.submenu-item.active{color:var(--primary-color);opacity:1;background-color:#ffffff0d}.submenu-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{padding:1rem;border-top:1px solid rgba(255,255,255,.1);background-color:#0000001a}@media (max-width: 767px){.sidebar{transform:translate(-100%)}.sidebar.sidebar-visible{transform:translate(0);box-shadow:0 0 15px #0003}}@media (max-height: 600px){.menu-item{padding:.6rem 1.5rem}.sidebar-header{min-height:56px;padding:.75rem 1rem}}.main-content{flex-grow:1;padding:1.5rem;margin-left:260px;transition:margin-left .3s ease}.main-content-expanded{margin-left:0}.navbar{background-color:#fff;border-bottom:1px solid #e2e8f0;padding:0;margin-bottom:1.5rem;box-shadow:0 2px 5px #0000000d}.navbar-container{display:flex;justify-content:space-between;align-items:center;height:64px;padding:0 1rem}.navbar-left{display:flex;align-items:center;gap:1rem}.toggle-sidebar-btn{background:transparent;border:none;color:#64748b;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:background .2s}.toggle-sidebar-btn:hover{background-color:#f1f5f9}.page-title{font-size:1.25rem;font-weight:600;color:#334155;margin:0}.navbar-actions{display:flex;align-items:center}.logout-btn{display:flex;align-items:center;gap:.5rem;background-color:#fee2e2;color:#b91c1c;border:none;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.logout-btn:hover{background-color:#fecaca}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.content-header h1{font-size:1.5rem;font-weight:600;color:#333;margin:0}@media (max-width: 768px){.main-content{margin-left:0!important}.page-title{font-size:1.1rem;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn{padding:.4rem .6rem}}@media (max-width: 480px){.logout-text{display:none}.logout-btn{padding:.4rem}}.action-buttons{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;justify-content:flex-end}.btn{display:inline-flex;align-items:center;padding:.625rem 1.25rem;border-radius:.375rem;font-weight:500;font-size:.875rem;transition:all .2s;gap:.5rem;border:none;cursor:pointer;text-decoration:none}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-dark)}.btn-success{background-color:var(--success-color);color:#fff;display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:.375rem;font-weight:500;font-size:.875rem;border:none;cursor:pointer;text-decoration:none;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.btn-success:hover{background-color:var(--success-dark);transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.btn-success:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a}.btn-success svg{width:1.25rem;height:1.25rem}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:var(--danger-dark)}.btn-secondary{background-color:#f1f5f9;color:#475569}.btn-secondary:hover{background-color:#e2e8f0}.logout-btn{background-color:var(--danger-color);color:#fff;border:none;border-radius:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;gap:.5rem}.logout-btn:hover{background-color:var(--danger-dark)}.content-header .btn{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;height:auto;min-height:38px}.content-header .btn svg{width:16px;height:16px;margin-right:6px}.student-details-link{display:inline-flex;align-items:center;justify-content:center;background-color:#4a6bff1a;color:#4a6bff;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s ease;border:1px solid rgba(74,107,255,.2);width:100%;margin-top:.5rem}.student-details-link:hover{background-color:#4a6bff;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #4a6bff33}.student-details-link svg{margin-right:5px;width:16px;height:16px}@media (max-width: 640px){.action-buttons{justify-content:stretch}.btn-success{flex:1;justify-content:center}}.table-container{background-color:#fff;border-radius:.75rem;box-shadow:0 4px 15px #0000000d;overflow:hidden;margin-bottom:2rem;transition:all .3s ease}.table-header{padding:1.25rem 1.5rem;background-color:#fff;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.table-title{font-size:1.25rem;font-weight:600;color:var(--gray-800);margin:0}.table-actions{display:flex;gap:.75rem}.table-content{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.table-content::-webkit-scrollbar{height:6px}.table-content::-webkit-scrollbar-track{background:transparent}.table-content::-webkit-scrollbar-thumb{background-color:var(--gray-300);border-radius:20px}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem}.data-table th{background-color:var(--gray-50);color:var(--gray-700);font-weight:600;padding:1rem 1.25rem;text-align:left;font-size:.875rem;position:sticky;top:0;z-index:10;border-bottom:2px solid var(--gray-200);white-space:nowrap}.data-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200);color:var(--gray-700);vertical-align:middle;transition:background-color .15s}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background-color:var(--gray-50)}.action-cell{display:flex;gap:8px;justify-content:flex-end;min-width:110px}.action-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;transition:all .2s ease}.action-btn svg{width:18px;height:18px}.action-view{background-color:#3b82f61a;color:var(--primary-color)}.action-view:hover{background-color:#3b82f633}.action-edit{background-color:#10b9811a;color:var(--success-color)}.action-edit:hover{background-color:#10b98133}.action-delete{background-color:#ef44441a;color:var(--danger-color)}.action-delete:hover{background-color:#ef444433}.empty-table-message{text-align:center;padding:3rem 1rem;color:#64748b;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-table-message svg{width:48px;height:48px;color:#cbd5e1;margin-bottom:1rem}@media (max-width: 768px){.table-container{border-radius:.5rem;box-shadow:0 2px 10px #0000000d}.table-header{padding:1rem;flex-direction:column;align-items:flex-start}.data-table th,.data-table td{padding:.75rem 1rem}.table-scroll-wrapper{position:relative}.table-scroll-indicator{position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--primary-color) 0%,var(--primary-light) 100%);opacity:.7;border-radius:0 0 .5rem .5rem;transition:opacity .3s ease}.table-scroll-wrapper:not(.table-scrollable) .table-scroll-indicator{opacity:0}.action-cell{gap:4px}.action-btn{width:32px;height:32px}.action-btn svg{width:16px;height:16px}}@media (max-width: 480px){.data-table-responsive th:not(:first-child):not(:last-child),.data-table-responsive td:not(:first-child):not(:last-child){display:none}.data-table-responsive th:first-child,.data-table-responsive td:first-child{width:70%;white-space:normal}}.medications-list h4{color:#475569;font-size:1rem;margin-bottom:.75rem}.detail-table{width:100%;border-collapse:collapse;margin-top:.75rem}.detail-table th{text-align:left;padding:.5rem 1rem;background-color:#f8fafc;border-bottom:2px solid #e2e8f0;color:#64748b;font-weight:600;font-size:.85rem}.detail-table td{padding:.5rem 1rem;border-bottom:1px solid #e2e8f0;color:#334155}.description-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}tr:hover .description-cell{white-space:normal;overflow:visible;background-color:var(--gray-100);position:relative;z-index:20;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border-radius:4px}@media (max-width: 768px){.description-cell{max-width:120px}tr:hover .description-cell{max-width:none}.data-table-responsive th:nth-child(3),.data-table-responsive td:nth-child(3),.data-table-responsive th:nth-child(4),.data-table-responsive td:nth-child(4){display:none}}@media (max-width: 480px){.table-title{font-size:1.1rem}.action-cell{display:flex;flex-wrap:wrap;gap:4px}.empty-table-message div{display:flex;flex-direction:column;align-items:center}.empty-table-message svg{width:40px;height:40px;margin-bottom:8px}}@media (min-width: 769px){.instrument-families-table tr:hover .description-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:static;z-index:auto;box-shadow:none;background-color:transparent;border-radius:0;max-width:200px}.instrument-families-table .description-cell{position:relative}.instrument-families-table .description-cell:hover:after{content:attr(data-full-text);position:absolute;bottom:100%;left:0;width:300px;background:#fff;padding:8px 12px;border-radius:6px;box-shadow:0 4px 15px #0000001a;z-index:50;white-space:normal;font-size:14px;color:#333;visibility:visible;opacity:1}}@media (min-width: 769px){.instrument-families-table .action-cell{display:table-cell;width:80px;text-align:right}.instrument-families-table .family-name-cell .action-menu-container{display:none}}.form-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;margin-bottom:2rem}.form-header{margin-bottom:1.5rem;text-align:center}.form-header h2{color:#2c3e50;font-size:1.5rem;margin-bottom:.5rem}.form-header p{color:#7f8c8d;font-size:.9rem}.form-tabs{display:flex;overflow-x:auto;margin-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.form-tab{padding:.75rem 1rem;border:none;background:none;color:#64748b;cursor:pointer;font-weight:500;transition:all .3s;white-space:nowrap}.form-tab:hover{color:#3b82f6}.form-tab.active-tab{color:#3b82f6;border-bottom:2px solid #3b82f6}.form-section{margin-bottom:1.5rem}.form-section h3{color:#334155;font-size:1.2rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9}.form-section.hidden{display:none}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;color:#475569;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #cbd5e1;border-radius:4px;font-size:.95rem;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.input-error{border-color:#ef4444!important}.error-text{color:#ef4444;font-size:.8rem;margin-top:.25rem;display:block}.radio-group{display:flex;gap:1.5rem}.radio-group label{display:flex;align-items:center;cursor:pointer}.radio-group input{margin-right:.5rem;width:auto}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.btn-cancel{padding:.75rem 1.5rem;background-color:#e2e8f0;color:#475569;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s}.btn-cancel:hover{background-color:#cbd5e1}.btn-submit{padding:.75rem 1.5rem;background-color:#3b82f6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s}.btn-submit:hover{background-color:#2563eb}.btn-submit:disabled{background-color:#93c5fd;cursor:not-allowed}.form-group.valid input,.form-group.valid select,.form-group.valid textarea{border-color:#10b981}.form-group.invalid input,.form-group.invalid select,.form-group.invalid textarea{border-color:#ef4444}.validation-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%)}.form-group{position:relative}.form-hint{display:block;font-size:.8rem;color:#64748b;margin-top:.25rem}.checkbox-group{display:flex;align-items:center;margin-bottom:1rem}.checkbox-group input[type=checkbox]{width:auto;margin-right:.5rem}.dropzone{border:2px dashed #cbd5e1;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s;background-color:#f8fafc}.dropzone:hover{border-color:#93c5fd;background-color:#f1f5f9}.dropzone-active{border-color:#3b82f6;background-color:#dbeafe}.file-list{margin-top:1rem}.file-item{display:flex;align-items:center;padding:.5rem;background-color:#f1f5f9;border-radius:4px;margin-bottom:.5rem}.file-name{flex:1;margin-left:.5rem}.file-remove{color:#ef4444;background:none;border:none;cursor:pointer;display:flex;align-items:center;padding:.25rem}.toggle-switch{position:relative;display:inline-block;width:50px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:.4s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.toggle-slider{background-color:#3b82f6}input:checked+.toggle-slider:before{transform:translate(26px)}.select-search-container{position:relative}.select-search-input{width:100%;padding-right:2.5rem}.select-search-dropdown{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background-color:#fff;border:1px solid #cbd5e1;border-top:none;border-radius:0 0 4px 4px;z-index:10;box-shadow:0 4px 6px #0000001a}.select-search-item{padding:.75rem;cursor:pointer}.select-search-item:hover{background-color:#f1f5f9}.select-search-item.active{background-color:#dbeafe;color:#1d4ed8}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;height:200px}.spinner{border:4px solid rgba(0,0,0,.1);border-top:4px solid #4a6bff;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:1rem}.form-check{display:flex;align-items:center;margin-bottom:1.5rem}.form-check input{margin-right:.5rem}.form-check label{font-weight:500}.dashboard-stats{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem;margin-bottom:2rem}.stat-card{background-color:#fff;border-radius:.5rem;padding:1.25rem;box-shadow:0 2px 5px #0000000d;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-3px);box-shadow:0 4px 10px #0000001a}.stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.stat-title{color:var(--gray-600);font-size:.875rem;font-weight:500}.stat-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff}.stat-icon.blue{background-color:var(--primary-color)}.stat-icon.green{background-color:var(--success-color)}.stat-icon.purple{background-color:var(--info-color)}.stat-value{font-size:1.75rem;font-weight:600;color:var(--gray-800);margin:.5rem 0}.stat-desc{font-size:.75rem;color:var(--gray-500)}.student-card{display:flex;align-items:center;background:#f9f9f9;border-radius:8px;padding:1rem;transition:all .3s ease}.student-card:hover{transform:translateY(-3px);box-shadow:0 4px 12px #0000001a}.student-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(45deg,#4a6bff,#77e5f7);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;margin-right:1rem}.student-card-content{flex:1}.student-name{font-weight:600;margin:0 0 .25rem;color:#333}.student-instrument{color:#666;margin:0 0 .75rem;font-size:.9rem}.tutor-card{background-color:#f8fafc;border-radius:6px;padding:1rem;margin-bottom:1rem}.tutor-card h4{color:#475569;font-size:1.1rem;margin:0 0 1rem}.recent-students-container{background:#fff;border-radius:8px;padding:1.5rem;margin-top:2rem;box-shadow:0 2px 10px #0000000d}.section-title{color:#333;font-size:1.25rem;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid #eaeaea}.recent-students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.loading-screen{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f3f4f6}.error-alert{background-color:#fef2f2;color:#ef4444;padding:1rem;border-radius:6px;margin-bottom:1.5rem;display:flex;align-items:center}.api-error-message{background-color:#fef2f2;color:#ef4444;padding:1rem;border-radius:6px;margin-bottom:1.5rem}.user-profile{display:flex;align-items:center;gap:10px}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#4a6bff,#77e5f7);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;color:#fff;flex-shrink:0}.user-info{flex:1;overflow:hidden}.user-name{font-weight:500;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.75rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-collapsed .user-info{display:none}.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-container{background-color:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 25px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e2e8f0}.modal-title{font-size:1.25rem;font-weight:600;color:#334155;margin:0}.modal-close{background:none;border:none;cursor:pointer;color:#64748b;font-size:1.5rem;padding:0;display:flex;align-items:center;justify-content:center}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:1rem}.confirm-dialog{text-align:center;padding:0 1rem}.confirm-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#fff}.confirm-icon.warning{background-color:#f59e0b}.confirm-icon.danger{background-color:#ef4444}.confirm-icon.info{background-color:#3b82f6}.confirm-icon svg{width:32px;height:32px}.confirm-title{font-size:1.25rem;font-weight:600;color:#334155;margin-bottom:.5rem}.confirm-message{color:#64748b;margin-bottom:1.5rem;font-size:.95rem;line-height:1.5}.progress-container{margin-bottom:2rem;overflow-x:auto}.progress-steps{display:flex;position:relative;width:100%;min-width:580px;margin-top:1.5rem}.progress-steps:before{content:"";position:absolute;top:15px;left:0;height:2px;width:100%;background-color:#e5e7eb;z-index:0}.progress-step{flex:1;position:relative;padding-top:2.5rem;text-align:center}.step-number{position:absolute;top:0;left:50%;transform:translate(-50%);width:30px;height:30px;background-color:#e5e7eb;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#6b7280;font-weight:700;z-index:1;transition:all .3s}.progress-step.active .step-number{background-color:#3b82f6;color:#fff}.progress-step.completed .step-number{background-color:#10b981;color:#fff}.step-title{font-size:.8rem;font-weight:500;color:#6b7280;white-space:nowrap}.progress-step.active .step-title{color:#3b82f6;font-weight:600}.progress-step.completed .step-title{color:#10b981}.step-content{background-color:#fff;padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem}.step-header h3{font-size:1.25rem;color:#1f2937;margin-bottom:.25rem}.step-header p{color:#6b7280;font-size:.9rem}.btn-prev,.btn-next{display:flex;align-items:center;padding:.75rem 1.25rem;border-radius:.375rem;font-weight:500;transition:all .2s;border:none;cursor:pointer}.btn-prev{background-color:#e5e7eb;color:#4b5563}.btn-next{background-color:#3b82f6;color:#fff;margin-left:auto}.btn-prev:hover{background-color:#d1d5db}.btn-next:hover{background-color:#2563eb}.filter-container{background-color:#fff;padding:1rem;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem}.filter-form{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.filter-group{flex:1;min-width:200px}.filter-label{display:block;font-size:.85rem;color:#64748b;margin-bottom:.25rem}.filter-input,.filter-select{width:100%;padding:.625rem;border:1px solid #cbd5e1;border-radius:4px;font-size:.9rem}.filter-actions{display:flex;gap:.5rem}.filter-btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1rem;border-radius:4px;font-weight:500;font-size:.875rem;cursor:pointer;border:none}.filter-btn-apply{background-color:#3b82f6;color:#fff}.filter-btn-reset{background-color:#f1f5f9;color:#64748b}.search-container{position:relative;flex:1;min-width:250px}.search-input{width:100%;padding:.625rem 2.5rem .625rem .625rem;border:1px solid #cbd5e1;border-radius:4px;font-size:.9rem}.search-icon{position:absolute;right:.625rem;top:50%;transform:translateY(-50%);color:#64748b}.advanced-filter-toggle{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:.85rem;display:flex;align-items:center;margin-left:auto;padding:.25rem 0}.advanced-filter-toggle svg{margin-left:.25rem;transition:transform .2s}.advanced-filter-toggle.open svg{transform:rotate(180deg)}.advanced-filters{height:0;overflow:hidden;transition:height .3s}.advanced-filters.open{height:auto;margin-top:1rem}.content-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;background-color:#fff;border-radius:.75rem;box-shadow:0 4px 15px #0000000d;margin-bottom:2rem}.spinner{width:40px;height:40px;border:4px solid rgba(59,130,246,.1);border-left-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.content-loading p{color:#64748b;font-size:.9rem}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-active{background-color:#10b9811a;color:#065f46}.status-inactive{background-color:#ef44441a;color:#b91c1c}.action-menu-container{position:relative;display:inline-block}.action-menu-toggle{background:transparent;border:none;color:var(--gray-600);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.action-menu-toggle:hover{background-color:var(--gray-100);color:var(--gray-800)}.action-menu-dropdown{position:absolute;right:0;top:100%;width:160px;background:#fff;border-radius:6px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:50;overflow:hidden;margin-top:4px;animation:menu-appear .2s ease-out}.action-menu-item{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;text-decoration:none;color:#374151;font-size:.875rem;transition:background-color .15s;cursor:pointer;border:none;background:none;width:100%;text-align:left}.action-menu-item:hover{background-color:#f9fafb}.action-menu-item:not(:last-child){border-bottom:1px solid #f3f4f6}.action-menu-item svg{flex-shrink:0}.action-menu-delete{color:var(--danger-color)}.action-menu-delete:hover{background-color:#fee2e2;color:#dc2626}@keyframes menu-appear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.action-cell .action-btn{display:none}.instrument-families-table .action-column,.instrument-families-table .action-cell,.instruments-table .action-column,.instruments-table .action-cell,.instrument-table .action-column,.instrument-table .action-cell{display:none!important}.instrument-families-table .family-name-cell,.instruments-table .name-cell,.instrument-table .name-cell{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;width:100%!important;padding-right:8px!important}.instrument-families-table .family-name,.instruments-table .instrument-name,.instrument-table .instrument-name{flex:1 1 auto!important;text-align:left!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}.family-name-cell .action-menu-container,.name-cell .action-menu-container{flex:0 0 36px!important;width:36px!important;min-width:36px!important;max-width:36px!important;display:block!important;margin:0!important;transform:none!important}}@media (min-width: 769px){.instrument-families-table .action-cell .action-menu-container,.instruments-table .action-cell .action-menu-container,.instrument-table .action-cell .action-menu-container{display:inline-block!important}td:not(.action-cell) .action-menu-container{display:none!important}.instrument-families-table .action-column,.instrument-families-table .action-cell,.instruments-table .action-column,.instruments-table .action-cell,.instrument-table .action-column,.instrument-table .action-cell{display:table-cell!important;width:100px;text-align:center}.instrument-families-table .family-name-cell,.instruments-table .name-cell,.instrument-table .name-cell{display:table-cell!important}.action-cell .action-menu-toggle{background-color:#f3f4f6;border-radius:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.action-cell .action-menu-toggle:hover{background-color:#e5e7eb}.action-cell .action-menu-toggle svg{display:block;width:18px;height:18px}}.form-container{background-color:#fff;border-radius:.75rem;box-shadow:0 4px 6px #0000000d;padding:1.5rem;margin-bottom:2rem}.form-header{margin-bottom:1.5rem}.form-header h2{font-size:1.5rem;font-weight:600;color:var(--gray-800);margin-bottom:.5rem}.form-header p{color:var(--gray-600);font-size:.95rem}.progress-container{margin-bottom:2rem;overflow:hidden}.progress-steps{display:flex;position:relative;margin-bottom:1.5rem}.progress-steps:before{content:"";position:absolute;top:15px;left:0;right:0;height:2px;background-color:var(--gray-200);z-index:1}.progress-step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;flex:1}.step-number{width:32px;height:32px;background-color:#fff;border:2px solid var(--gray-300);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;color:var(--gray-600);margin-bottom:.5rem;transition:all .2s ease}.step-title{font-size:.875rem;color:var(--gray-600);text-align:center;transition:all .2s ease;white-space:nowrap}.progress-step.active .step-number{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.progress-step.active .step-title{color:var(--primary-color);font-weight:600}.progress-step.completed .step-number{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.step-content{margin-bottom:2rem}.step-header{margin-bottom:1.5rem}.step-header h3{font-size:1.25rem;font-weight:600;color:var(--gray-800);margin-bottom:.25rem}.step-header p{color:var(--gray-600);font-size:.875rem}.form-section{animation:fadeIn .3s ease}.form-section.active{display:block}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--gray-700)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-300);border-radius:.375rem;font-size:.95rem;transition:border-color .15s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.input-error{border-color:var(--danger-color)!important}.error-text{color:var(--danger-color);font-size:.875rem;margin-top:.25rem;display:block}.medicamento-group,.tutor-container{border-radius:.5rem;padding:1rem;margin-bottom:1rem;background-color:var(--gray-50);border:1px solid var(--gray-200);position:relative}.medicamento-fields{display:flex;flex-wrap:wrap;gap:.75rem}.medicamento-fields input{flex:1;min-width:150px}.remove-btn{background-color:var(--gray-100);color:var(--gray-500);border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;position:absolute;top:.5rem;right:.5rem;cursor:pointer}.remove-btn:hover{background-color:var(--gray-200);color:var(--gray-700)}.add-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px dashed var(--gray-300);background-color:#fff;color:var(--primary-color);border-radius:.375rem;font-size:.875rem;cursor:pointer;width:100%;justify-content:center;transition:all .2s ease}.add-btn:hover{background-color:var(--gray-50);border-color:var(--primary-color)}.form-actions{display:flex;justify-content:space-between;margin-top:2rem;flex-wrap:wrap;gap:1rem}.btn-prev,.btn-next,.btn-submit,.btn-cancel{display:flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:.375rem;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .2s;border:none}.btn-prev{background-color:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200)}.btn-next,.btn-submit{background-color:var(--primary-color);color:#fff}.btn-next:hover,.btn-submit:hover{background-color:var(--primary-dark)}.btn-prev:hover{background-color:var(--gray-200)}.btn-cancel{background-color:#fff;color:var(--gray-700);border:1px solid var(--gray-300)}.btn-cancel:hover{background-color:var(--gray-50)}.api-error-message{background-color:#fee2e2;color:#b91c1c;padding:1rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.95rem;border-left:4px solid #ef4444}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.form-container{padding:1.25rem;border-radius:.5rem}.progress-outer-container{position:relative;margin-bottom:1.5rem;z-index:5}.progress-container{margin:0 -1.25rem;padding:15px 0;background-color:#f9fafb;position:relative;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;z-index:2;mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 10%,black 90%,transparent 100%)}.progress-container::-webkit-scrollbar{display:none}.progress-steps{display:flex;justify-content:flex-start;padding:0 20px;margin:0 auto;position:relative;height:40px;width:-moz-max-content;width:max-content;min-width:100%}.progress-steps:before{content:"";position:absolute;top:10px;height:3px;background-color:#e5e7eb;left:20px;right:20px;z-index:0}.progress-steps:after{content:"";position:absolute;top:10px;left:20px;height:3px;background-color:var(--primary-color);z-index:1;transition:width .3s ease;width:calc((100% - 40px) * var(--progress-percentage, 0))}.progress-step{z-index:10;position:relative;flex:0 0 auto;width:60px;padding:0;margin:0 6px;display:flex;justify-content:center}.step-number{width:20px;height:20px;font-size:10px;border:2px solid #e5e7eb;border-radius:50%;background-color:#fff;z-index:15;margin:0;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000001a}.progress-step.active .step-number{border-color:var(--primary-color);background-color:var(--primary-color);color:#fff;transform:scale(1.15);box-shadow:0 0 0 3px #3b82f633}.progress-step:after{content:attr(data-label);position:absolute;bottom:-5px;font-size:9px;color:var(--gray-600);opacity:.9}.progress-step.active:after{color:var(--primary-color);font-weight:500}.form-actions{flex-direction:column;gap:.75rem;margin-top:1.5rem;margin-bottom:0}.navigation-buttons{display:flex;gap:.5rem}.btn-prev,.btn-next,.btn-submit{flex:1;padding:.75rem 1rem;font-size:.9rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-cancel{order:-1;width:100%;padding:.7rem 1rem}.medicamento-fields{flex-direction:column;gap:.5rem}.medicamento-fields input{width:100%}.tutor-container h4{font-size:1rem;margin-top:0;margin-bottom:1rem}.form-section.active{padding-bottom:1rem}.step-content{position:relative;z-index:1;margin-top:10px;margin-bottom:1rem}.form-header{margin-bottom:1rem}body,html{overflow-x:hidden;width:100%;max-width:100%}.form-container{overflow-x:hidden;max-width:100%}#root,main,.form-section.active{overflow-x:hidden;width:100%;max-width:100%;padding-bottom:0;margin-bottom:0}.progress-container{margin:0 -1.25rem 1.5rem;padding:15px 0;background-color:#f9fafb;position:relative;overflow:hidden;z-index:2}.progress-steps{display:flex;justify-content:space-between;padding:0 8px;margin:0 auto;position:relative;height:40px;max-width:none;width:100%}.progress-steps:before{content:"";position:absolute;top:10px;left:8%;right:8%;height:3px;background-color:#e5e7eb;display:block;z-index:0;width:84%}.progress-steps:after{content:"";position:absolute;top:10px;left:8%;height:3px;background-color:var(--primary-color);display:block;z-index:1;transition:width .3s ease;width:calc(84% * var(--progress-percentage, 0))}.progress-step{z-index:10;position:relative;flex:1;max-width:20%;padding:0;margin:0;display:flex;justify-content:center}.step-number{width:20px;height:20px;font-size:10px;border:2px solid #e5e7eb;background-color:#fff;z-index:15;margin:0;display:flex;align-items:center;justify-content:center}.check-icon{width:12px!important;height:12px!important;color:#fff}}@media (max-width: 380px){.form-container{padding:1rem}.progress-step{width:50px;margin:0 4px}.progress-steps{padding:0 15px}.step-title{font-size:.65rem}.step-number{width:28px;height:28px;font-size:.75rem;width:18px;height:18px;font-size:10px}.form-container{padding:1rem 1rem .5rem}.form-actions{margin-bottom:0}.form-actions button:last-child,.navigation-buttons{margin-bottom:0}.step-number{width:18px;height:18px;font-size:9px}.check-icon{width:10px!important;height:10px!important}.progress-steps:before,.progress-steps:after{top:8px}}.d-none{display:none}.d-inline{display:inline}@media (min-width: 768px){.d-md-none{display:none}.d-md-inline{display:inline}}html{overflow-x:hidden}.form-container{margin-bottom:0}@media (max-width: 768px){.student-form{padding-bottom:0;margin-bottom:0}.form-section.active:last-child .form-group:last-child,.tutor-container:last-child{margin-bottom:.5rem}.navigation-buttons{margin-bottom:0}.form-container{box-sizing:border-box;padding-bottom:.75rem}}#step-5-content.step-content{margin-bottom:.5rem}.student-detail-container{background-color:#fff;border-radius:.75rem;box-shadow:0 4px 6px #0000000d;padding:1.5rem;margin-bottom:2rem}.student-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-200)}.student-detail-header h2{font-size:1.5rem;font-weight:700;color:var(--gray-800);margin:0}.student-detail-actions{display:flex;gap:.75rem}.student-detail-actions .btn{display:flex;align-items:center;padding:.5rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:500;transition:all .2s ease}.student-detail-actions .btn svg{width:18px;height:18px;margin-right:.5rem}.student-detail-actions .btn-primary{background-color:var(--primary-color);color:#fff}.student-detail-actions .btn-primary:hover{background-color:var(--primary-dark)}.student-detail-actions .btn-secondary{background-color:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-200)}.student-detail-actions .btn-secondary:hover{background-color:var(--gray-200)}.detail-section{margin-bottom:1.75rem;padding:1.25rem;background-color:var(--gray-50);border-radius:.5rem;border-left:4px solid var(--primary-color)}.detail-section h3{font-size:1.125rem;font-weight:600;margin-top:0;margin-bottom:1rem;color:var(--gray-800);display:flex;align-items:center}.detail-section h3:before{content:"";display:inline-block;width:20px;height:20px;background-size:contain;background-repeat:no-repeat;margin-right:.5rem;opacity:.75}.detail-section:nth-of-type(1) h3:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b5563'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z' /%3E%3C/svg%3E")}.detail-section:nth-of-type(2) h3:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b5563'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 19V6l12-3v13M9 19c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zm12-3c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zM9 10l12-3' /%3E%3C/svg%3E")}.detail-section:nth-of-type(3) h3:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b5563'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z' /%3E%3C/svg%3E")}.detail-section:nth-of-type(4) h3:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b5563'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z' /%3E%3C/svg%3E")}.detail-section:nth-of-type(5) h3:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b5563'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z' /%3E%3C/svg%3E")}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.detail-label{font-size:.75rem;font-weight:500;color:var(--gray-600);margin-bottom:.25rem;text-transform:uppercase}.detail-value{font-size:.95rem;color:var(--gray-800);font-weight:500}.medications-list{margin-top:1.5rem}.medications-list h4{font-size:1rem;font-weight:600;margin-bottom:.75rem;color:var(--gray-700)}.detail-table{width:100%;border-collapse:collapse;font-size:.9rem;box-shadow:0 1px 3px #0000000d;border-radius:.375rem;overflow:hidden}.detail-table thead{background-color:var(--gray-100)}.detail-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--gray-700);border-bottom:1px solid var(--gray-200)}.detail-table td{padding:.75rem 1rem;border-bottom:1px solid var(--gray-200)}.detail-table tbody tr:last-child td{border-bottom:none}.detail-table tbody tr:nth-child(2n){background-color:var(--gray-50)}.tutor-card{background-color:#fff;border-radius:.375rem;padding:1.25rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a;border:1px solid var(--gray-200)}.tutor-card:last-child{margin-bottom:0}.tutor-card h4{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--gray-800);padding-bottom:.5rem;border-bottom:1px dashed var(--gray-200)}@media (max-width: 768px){.student-detail-header{flex-direction:column;align-items:flex-start;gap:1rem}.student-detail-actions{width:100%}.student-detail-actions .btn{flex:1;justify-content:center}.detail-section{padding:1rem}.detail-grid{grid-template-columns:1fr}.detail-table{font-size:.8rem}.detail-table th,.detail-table td{padding:.5rem}}.instrument-families-table .action-column{width:70px;text-align:center}.instrument-families-table td.family-name-cell{display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;flex-wrap:nowrap;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb}.instrument-families-table .family-name{font-weight:500;color:var(--gray-800);flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:10px}.instrument-families-header.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.instrument-families-header h1{margin:0;font-size:1.5rem}@media screen and (max-width: 768px){.instrument-families-table{border-collapse:separate;border-spacing:0 10px;width:100%}.instrument-families-table thead{display:none}.instrument-families-table tbody tr{display:grid;grid-template-columns:1fr;background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:12px;padding:0;overflow:hidden;border:1px solid #e5e7eb}.instrument-families-table td:first-child{background-color:#f9fafb;font-weight:500}.instrument-families-table td:first-child:before{content:none}.instrument-families-table td[data-label=Descripción]{padding:12px 16px;border-bottom:1px solid #f3f4f6;font-size:.9rem}.instrument-families-table td[data-label=Descripción]:before{content:"Descripción";font-weight:600;font-size:.8rem;color:#6b7280;display:block;margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}.instrument-families-table td.action-cell,.instrument-families-table td[data-label=Nombre]{display:none}.instrument-families-table .family-name{max-width:80%}.instrument-families-header.content-header{flex-direction:column;align-items:stretch;margin-bottom:1rem}.instrument-families-header .btn-primary{align-self:flex-start;margin-top:.5rem}}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th{text-align:left;padding:.75rem 1rem;font-size:.875rem;color:#6b7280;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.data-table td{padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;color:#374151}.data-table tr.active-row{background-color:#eff6ff;border:1px solid #dbeafe}.action-cell{text-align:right;white-space:nowrap;width:80px}.action-header{text-align:right}@media (max-width: 768px){.data-table{font-size:.9rem}.data-table th,.data-table td{padding:.625rem .75rem}.data-table{table-layout:fixed;width:100%}.data-table th:not(:first-child):not(:last-child),.data-table td:not(:first-child):not(:last-child){display:none}.data-table th:last-child,.data-table td:last-child{width:50px!important;text-align:right}}.family-action-menu-wrapper{position:relative;display:inline-block}.family-action-menu-toggle{background:none;border:none;width:28px;height:28px;padding:4px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.family-action-menu-toggle:hover{background-color:#f3f4f6}.family-action-menu-toggle svg{width:18px;height:18px;color:#4b5563}.family-action-dropdown{position:absolute;right:0;top:100%;margin-top:5px;background-color:#fff;border-radius:6px;box-shadow:0 4px 16px #0003;z-index:9999;width:160px;overflow:hidden;border:1px solid #e5e7eb;display:none}.family-action-dropdown.show{display:block}.family-action-dropdown-portal{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.family-action-item{display:flex;align-items:center;padding:10px 12px;font-size:.875rem;color:#4b5563;text-decoration:none;background-color:#fff;border-bottom:1px solid #f3f4f6;width:100%;text-align:left;cursor:pointer;border:none}.family-action-item:hover{background-color:#f9fafb}.family-action-item svg{width:16px;height:16px;margin-right:8px;color:#6b7280}.family-action-delete:hover{background-color:#fee2e2;color:#dc2626}.family-action-delete:hover svg{color:#dc2626}body .family-action-dropdown.show{z-index:9999}.instrument-family-detail-container{max-width:1000px;margin:0 auto;padding:0 1rem}.instrument-family-detail-header{margin-bottom:2rem}.instrument-family-detail-header h1{font-size:1.75rem;margin:.75rem 0;color:var(--gray-800);display:flex;align-items:center}.family-icon{font-size:2rem;margin-right:.75rem}.breadcrumb{display:flex;align-items:center;margin-bottom:.5rem;font-size:.875rem;color:var(--gray-500)}.breadcrumb a{color:var(--primary-color);text-decoration:none}.breadcrumb-current{color:var(--gray-600);font-weight:500}.header-actions{display:flex;gap:.75rem;margin-top:1rem}.card{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;overflow:hidden;border:1px solid var(--gray-100)}.card-header{padding:1rem 1.5rem;border-bottom:1px solid var(--gray-100);background-color:var(--gray-50)}.card-header h2{margin:0;font-size:1.25rem;color:var(--gray-800)}.card-body{padding:1.5rem}.detail-row{margin-bottom:1.25rem;display:flex;flex-direction:column}.detail-label{font-weight:600;font-size:.875rem;color:var(--gray-600);margin-bottom:.375rem;text-transform:uppercase;letter-spacing:.05em}.detail-value{color:var(--gray-800);line-height:1.5}.description-text{white-space:pre-line;padding:.75rem 1rem;background-color:var(--gray-50);border-radius:.375rem;border-left:4px solid var(--primary-color-light)}.detail-code{font-family:monospace;font-size:.875rem;background:var(--gray-100);padding:.125rem .375rem;border-radius:.25rem;color:var(--gray-700)}.related-instruments-list{margin:0;padding:0;list-style-type:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.related-instrument-item{padding:.5rem;border-radius:.375rem;background-color:var(--gray-50);transition:all .2s}.related-instrument-item:hover{background-color:var(--primary-color-lighter)}.related-instrument-item a{display:flex;align-items:center;text-decoration:none;color:var(--gray-700)}.related-instrument-item a:before{content:"🎵";margin-right:.5rem;font-size:1.125rem}.actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.action-card{display:flex;align-items:center;padding:1rem 1.25rem;border-radius:.5rem;text-decoration:none;color:var(--gray-700);border:1px solid var(--gray-200);transition:all .2s}.action-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000000d}.add-action:hover{border-color:var(--success-color);background-color:rgba(var(--success-color-rgb),.05)}.action-icon{display:flex;justify-content:center;align-items:center;width:40px;height:40px;border-radius:50%;margin-right:1rem;flex-shrink:0}.add-action .action-icon{background-color:rgba(var(--success-color-rgb),.1);color:var(--success-color)}.action-icon svg{width:20px;height:20px;stroke-width:2}.action-content h3{margin:0 0 .25rem;font-size:1rem;font-weight:600}.action-content p{margin:0;font-size:.875rem;color:var(--gray-500)}@media screen and (min-width: 640px){.detail-row{flex-direction:row;align-items:flex-start}.detail-label{flex:0 0 200px;margin-top:.125rem;margin-bottom:0}.detail-value{flex:1}}@media screen and (max-width: 639px){.instrument-family-detail-header h1,.family-icon{font-size:1.5rem}.header-actions{flex-direction:column;width:100%}.header-actions .btn{width:100%;justify-content:center}.actions-grid{grid-template-columns:1fr}}.instrument-detail-container{max-width:1000px;margin:0 auto;padding:0 1.5rem}.instrument-detail-header{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--gray-200)}.instrument-detail-header h1{font-size:2rem;margin:1rem 0 1.25rem;color:var(--gray-800);display:flex;align-items:center;line-height:1.2}.instrument-icon{font-size:1.25rem;margin-right:.5rem;display:flex;align-items:center;justify-content:center;width:55px;height:55px;background-color:rgba(var(--primary-color-rgb),.1);border-radius:50%;flex-shrink:0}.breadcrumb{display:flex;align-items:center;margin-bottom:.75rem;font-size:.875rem;color:var(--gray-500);background-color:var(--gray-50);padding:.5rem .75rem;border-radius:4px}.breadcrumb a{color:var(--primary-color);text-decoration:none;font-weight:500}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-separator{margin:0 .5rem;color:var(--gray-400)}.breadcrumb-current{color:var(--gray-600);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.header-actions .btn{padding:.625rem 1.25rem;font-size:.9375rem}.card{background-color:#fff;border-radius:.75rem;box-shadow:0 2px 6px #00000014;margin-bottom:2rem;overflow:hidden;border:1px solid var(--gray-100)}.card-header{padding:1.25rem 1.75rem;border-bottom:1px solid var(--gray-100);background-color:var(--gray-50)}.card-header h2{margin:0;font-size:1.375rem;color:var(--gray-800)}.card-body{padding:1.75rem}.detail-row{margin-bottom:1.75rem;display:flex;flex-direction:column}.detail-row:last-child{margin-bottom:0}.detail-label{font-weight:600;font-size:.925rem;color:var(--gray-600);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.detail-value{color:var(--gray-800);line-height:1.6;font-size:1.0625rem}.description-text{white-space:pre-line;padding:1rem 1.25rem;background-color:var(--gray-50);border-radius:.5rem;border-left:4px solid var(--primary-color-light);line-height:1.7}.difficulty-stars{display:flex;align-items:center}.difficulty-stars span{font-size:1.5rem;line-height:1;letter-spacing:.1rem}.difficulty-stars .filled{color:var(--warning-color)}.difficulty-stars .empty{color:var(--gray-300)}.difficulty-label{margin-left:1rem;font-size:1rem;color:var(--gray-700);font-weight:500}.family-link{color:var(--primary-color);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;padding:.375rem .75rem;background-color:rgba(var(--primary-color-rgb),.08);border-radius:4px;transition:all .2s}.family-link:hover{background-color:rgba(var(--primary-color-rgb),.15);text-decoration:none}.family-link:after{content:"→";margin-left:.5rem;font-size:.875rem}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.status-item{display:flex;align-items:flex-start}.status-icon{width:42px;height:42px;border-radius:50%;display:flex;justify-content:center;align-items:center;margin-right:1rem;flex-shrink:0}.status-icon svg{width:24px;height:24px}.check-icon{color:var(--success-color)}.x-icon{color:var(--error-color)}.inventory-icon{background-color:rgba(var(--primary-color-rgb),.1);color:var(--primary-color)}.status-details h3{margin:0 0 .375rem;font-size:1rem;color:var(--gray-700)}.status-value{font-weight:500}.status-available{color:var(--success-color)}.status-unavailable{color:var(--error-color)}.inventory-count{display:flex;align-items:baseline}.quantity{font-size:1.5rem;font-weight:600;color:var(--gray-800)}.quantity-label{margin-left:.375rem;color:var(--gray-500);font-size:.875rem}.actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.action-card{display:flex;align-items:center;padding:1.25rem 1.5rem;border-radius:.5rem;text-decoration:none;color:var(--gray-700);border:1px solid var(--gray-200);transition:all .2s;height:100%}.action-card:hover{transform:translateY(-3px);box-shadow:0 6px 12px #00000014}.edit-action:hover{border-color:var(--primary-color);background-color:rgba(var(--primary-color-rgb),.05)}.family-action:hover{border-color:var(--warning-color);background-color:rgba(var(--warning-color-rgb),.05)}.back-action:hover{border-color:var(--gray-500);background-color:var(--gray-100)}.action-icon{display:flex;justify-content:center;align-items:center;width:48px;height:48px;border-radius:50%;margin-right:1.25rem;flex-shrink:0}.edit-action .action-icon{background-color:rgba(var(--primary-color-rgb),.1);color:var(--primary-color)}.family-action .action-icon{background-color:rgba(var(--warning-color-rgb),.1);color:var(--warning-color)}.back-action .action-icon{background-color:var(--gray-100);color:var(--gray-700)}.action-icon svg{width:22px;height:22px}.action-content h3{margin:0 0 .375rem;font-size:1.125rem;font-weight:600}.action-content p{margin:0;font-size:.9375rem;color:var(--gray-500)}@media screen and (min-width: 768px){.detail-row{flex-direction:row;align-items:flex-start;margin-bottom:2rem}.detail-label{flex:0 0 220px;margin-top:.125rem;margin-bottom:0;padding-right:1.5rem}.detail-value{flex:1}.instrument-detail-header{position:relative}.header-actions{position:absolute;top:0;right:0;margin-top:0}}@media screen and (max-width: 767px){.instrument-detail-header h1{font-size:1.5rem;margin-bottom:1rem}.instrument-icon{font-size:1.75rem;width:45px;height:45px}.header-actions{flex-direction:row;flex-wrap:wrap;gap:.75rem}.header-actions .btn{flex:1 1 auto;min-width:120px;padding:.5rem 1rem;justify-content:center}.card-header h2{font-size:1.25rem}.actions-grid{grid-template-columns:1fr;gap:1rem}}.instrument-name-wrapper{display:flex;align-items:center;overflow:hidden}.instrument-name{overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%}.instrument-detail-view{padding:1rem;max-width:800px;margin:0 auto}.instrument-detail-header{display:flex;flex-direction:column;margin-bottom:1rem}.navigation-breadcrumb{display:flex;align-items:center;margin-bottom:1rem}.breadcrumb-link{color:#3b82f6;text-decoration:none;margin-right:8px;font-size:.9rem}.breadcrumb-link:hover{text-decoration:underline}.instrument-title{font-size:1.25rem;margin:0;font-weight:600;color:#1f2937}.header-actions{display:flex;gap:.5rem;margin-top:1rem;justify-content:flex-end}.btn{display:flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn svg{margin-right:.5rem}.btn-outline{background-color:#fff;border:1px solid #d1d5db;color:#4b5563}.btn-primary{background-color:#3b82f6;border:1px solid #3b82f6;color:#fff}.btn-outline:hover{background-color:#f9fafb}.btn-primary:hover{background-color:#2563eb}.instrument-card{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.card-section{padding:1rem;border-bottom:1px solid #f3f4f6}.card-section:last-child{border-bottom:none}.section-title{font-size:1.125rem;margin:0 0 1rem;color:#1f2937;font-weight:600}.instrument-detail-content{display:flex;flex-direction:column;gap:1.25rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.75rem;color:#6b7280;font-weight:500;text-transform:uppercase}.detail-value{color:#111827;font-size:.9375rem}.description-text{background-color:#f9fafb;padding:.75rem;border-radius:.375rem;line-height:1.5}.family-link{color:#3b82f6;text-decoration:none;font-weight:500}.family-link:hover{text-decoration:underline}.difficulty-level{display:inline-block;padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:500}.difficulty-level.easy{background-color:#d1fae5;color:#065f46}.difficulty-level.medium{background-color:#fef3c7;color:#92400e}.difficulty-level.hard{background-color:#fee2e2;color:#991b1b}.actions-section{background-color:#f9fafb}.action-button{display:flex;align-items:center;padding:.75rem;text-decoration:none;color:#4b5563;border-radius:.375rem;transition:all .2s}.action-button:hover{background-color:#f3f4f6}.action-icon{display:flex;justify-content:center;align-items:center;margin-right:.75rem}.action-icon svg{width:1.25rem;height:1.25rem;color:#3b82f6}.action-text{font-weight:500}@media (min-width: 640px){.instrument-detail-view{padding:1.5rem}.instrument-detail-header{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.header-actions{margin-top:0}.card-section{padding:1.5rem}.detail-item{flex-direction:row;align-items:flex-start}.detail-label{flex:0 0 180px;padding-top:.125rem}.detail-value{flex:1}}.medicamento-group{display:flex;margin-bottom:.75rem;align-items:center}.medicamento-fields{display:flex;gap:.5rem;flex-grow:1}.medicamento-fields input{flex:1}.remove-btn{background-color:#f87171;color:#fff;border:none;border-radius:4px;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:.5rem;transition:background-color .3s}.remove-btn:hover{background-color:#ef4444}.add-btn{display:flex;align-items:center;background-color:#e2e8f0;border:none;border-radius:4px;padding:.5rem 1rem;color:#475569;font-size:.9rem;cursor:pointer;margin-top:.5rem;transition:background-color .3s}.add-btn svg{margin-right:.5rem}.add-btn:hover{background-color:#cbd5e1}.tutor-container{background-color:#f8fafc;border-radius:6px;padding:1rem;margin-bottom:1rem}.tutor-container h4{color:#334155;margin-bottom:1rem;font-size:1rem}.add-tutor-container{text-align:center;margin-top:1rem}.add-tutor-btn{display:inline-flex;align-items:center;justify-content:center;background-color:#dbeafe;color:#2563eb;border:none;border-radius:4px;padding:.5rem 1rem;cursor:pointer;font-weight:500;transition:background-color .3s}.add-tutor-btn svg{margin-right:.5rem}.add-tutor-btn:hover{background-color:#bfdbfe}.remove-tutor-btn{width:100%;padding:.5rem;background-color:#fee2e2;color:#b91c1c;border:none;border-radius:4px;cursor:pointer;margin-top:1rem;transition:background-color .3s}.remove-tutor-btn:hover{background-color:#fecaca}.student-table-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;margin-bottom:2rem;overflow-x:auto}.student-table-container h2{color:#2c3e50;font-size:1.5rem;margin-bottom:1.5rem}.student-table{width:100%;border-collapse:collapse}.student-table th{text-align:left;padding:.75rem 1rem;background-color:#f8fafc;border-bottom:2px solid #e2e8f0;color:#64748b;font-weight:600;font-size:.9rem}.student-table td{padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;color:#334155}.student-table tr:hover{background-color:#f1f5f9}.action-cell{display:flex;gap:.5rem}.view-btn,.edit-btn,.delete-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:none;cursor:pointer;transition:background-color .2s}.view-btn{background-color:#eff6ff;color:#3b82f6}.edit-btn{background-color:#ecfdf5;color:#10b981}.delete-btn{background-color:#fef2f2;color:#ef4444}.view-btn:hover{background-color:#dbeafe}.edit-btn:hover{background-color:#d1fae5}.delete-btn:hover{background-color:#fee2e2}.empty-state{padding:2rem 0;text-align:center;color:#64748b}.student-detail-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.student-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.student-detail-header h2{color:#2c3e50;font-size:1.8rem;margin:0}.student-detail-actions{display:flex;gap:1rem}.detail-section{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #f1f5f9}.detail-section h3{color:#334155;font-size:1.25rem;margin-bottom:1rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.detail-item{display:flex;flex-direction:column}.detail-item.full-width{grid-column:1 / -1}.detail-label{font-size:.85rem;color:#64748b;margin-bottom:.25rem}.detail-value{font-size:1rem;color:#1f2937;font-weight:500}.instrument-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;margin-bottom:1.5rem}.instrument-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.instrument-header h2{color:#2c3e50;font-size:1.5rem;margin:0}.instrument-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.instrument-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 5px #0000000d;padding:1.25rem;transition:transform .3s,box-shadow .3s;border:1px solid #f1f5f9;height:100%;display:flex;flex-direction:column}.instrument-card:hover{transform:translateY(-5px);box-shadow:0 8px 15px #0000001a}.instrument-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.instrument-name{font-size:1.1rem;font-weight:600;color:#1e293b}.instrument-family{font-size:.85rem;color:#64748b;padding:.25rem .75rem;background-color:#f1f5f9;border-radius:20px;display:inline-block;margin-bottom:.5rem}.instrument-description{color:#475569;font-size:.95rem;margin-bottom:1rem;flex-grow:1}.instrument-availability{margin-top:auto;padding-top:1rem;border-top:1px solid #f1f5f9}.availability-status{display:flex;align-items:center;font-size:.9rem;margin-bottom:.5rem}.status-icon{width:10px;height:10px;border-radius:50%;margin-right:.5rem}.available{background-color:#10b981}.unavailable{background-color:#ef4444}.instrument-quantity{font-size:.9rem;color:#64748b}.instrument-detail-container{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 10px #0000000d;margin-bottom:2rem}.instrument-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.instrument-detail-title{font-size:1.5rem;font-weight:600;color:#1e293b;margin:0}.instrument-detail-family{background-color:#f1f5f9;color:#64748b;padding:.25rem .75rem;border-radius:20px;font-size:.85rem}.instrument-detail-content{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.instrument-detail-section{margin-bottom:2rem}.instrument-detail-section h3{font-size:1.2rem;color:#334155;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9}.family-selector{margin-bottom:2rem}.family-selector-label{display:block;margin-bottom:.5rem;font-weight:500;color:#475569}.family-options{display:flex;flex-wrap:wrap;gap:1rem}.family-option{background-color:#f1f5f9;border:2px solid transparent;border-radius:8px;padding:1rem;flex:1;min-width:150px;cursor:pointer;transition:all .2s;text-align:center}.family-option:hover{border-color:#cbd5e1}.family-option.selected{background-color:#dbeafe;border-color:#3b82f6}.family-option-name{font-weight:500;margin-top:.5rem;color:#334155}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.content-header h1{margin:0;font-size:1.75rem;color:var(--gray-800)}@media (max-width: 640px){.content-header{flex-direction:column;align-items:flex-start}.content-header .btn{align-self:flex-start;width:auto}}.not-found-container{display:flex;align-items:center;justify-content:center;height:100vh;background-color:#f3f4f6}.not-found-content{text-align:center;max-width:500px;padding:2rem;background-color:#fff;border-radius:1rem;box-shadow:0 4px 12px #0000001a;margin:0 20px}.not-found-icon{width:120px;height:120px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#f3f4f6;color:#6c63ff}.not-found-svg{width:70px;height:70px}.not-found-title{font-size:5rem;font-weight:700;color:#6c63ff;margin:0;line-height:1}.not-found-subtitle{font-size:1.5rem;color:#1f2937;margin:.5rem 0 1.5rem}.not-found-description{color:#6b7280;margin-bottom:2rem;font-size:1rem;line-height:1.5}.not-found-button{display:inline-block;padding:.75rem 1.5rem;background-color:#6c63ff;color:#fff;font-weight:500;border-radius:.5rem;text-decoration:none;transition:background-color .3s}.not-found-button:hover{background-color:#5a51db}@media (max-width: 640px){.not-found-title{font-size:4rem}.not-found-icon{width:100px;height:100px}.not-found-svg{width:60px;height:60px}}.settings-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;margin-bottom:1.5rem}.settings-nav{display:flex;overflow-x:auto;margin-bottom:2rem;border-bottom:1px solid #e2e8f0}.settings-nav-item{padding:.75rem 1rem;border:none;background:none;color:#64748b;cursor:pointer;font-weight:500;transition:all .3s;white-space:nowrap}.settings-nav-item:hover{color:#3b82f6}.settings-nav-item.active{color:#3b82f6;border-bottom:2px solid #3b82f6}.settings-section{margin-bottom:3rem}.settings-section-title{font-size:1.25rem;color:#334155;margin-bottom:1.5rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.setting-card{background-color:#f8fafc;padding:1.5rem;border-radius:8px;border:1px solid #e2e8f0}.setting-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.setting-title{font-size:1rem;font-weight:600;color:#334155}.setting-description{color:#64748b;margin-bottom:1rem;font-size:.9rem;line-height:1.5}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem;background:linear-gradient(135deg,#1e2a78,indigo)}.auth-form-container{background-color:#fff;border-radius:.75rem;padding:2rem;width:100%;max-width:450px;box-shadow:0 4px 20px #0003}.login-card{width:100%;max-width:400px;background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;padding:0;overflow:hidden}.auth-logo{display:flex;align-items:center;justify-content:center;margin-bottom:2rem;gap:.75rem}.logo-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--primary-color);color:#fff;border-radius:8px;font-weight:700;font-size:1.25rem}.login-header{padding:30px 20px;text-align:center}.auth-title,.login-title{font-size:1.75rem;font-weight:600;color:var(--gray-800);margin:0 0 1.5rem;text-align:center}.login-subtitle{color:#666;font-size:.9rem;margin:8px 0 0}.auth-form,.login-form{display:flex;flex-direction:column;gap:1.25rem;padding:0 30px 30px}.forgot-link{text-align:right;margin-top:-10px;margin-bottom:20px}.forgot-link a{color:var(--primary-color);font-size:.8rem;text-decoration:none}.forgot-link a:hover{text-decoration:underline}.auth-links{margin-top:1.5rem;font-size:.875rem;text-align:center}.auth-links a{color:var(--primary-color);text-decoration:none;font-weight:500}.auth-links a:hover{text-decoration:underline}.footer-text{margin-top:20px;color:#fffc;font-size:.8rem;text-align:center}.auth-error,.error-container{background-color:#ef44441a;color:var(--danger-color);padding:.75rem 1rem;border-radius:.375rem;margin-bottom:1.5rem;font-size:.875rem;text-align:center}.auth-button,.submit-button{background-color:var(--primary-color);color:#fff;border:none;border-radius:.375rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:.5rem;width:100%}.auth-button:hover,.submit-button:hover{background-color:var(--primary-dark)}.auth-button:disabled{background-color:var(--gray-300);cursor:not-allowed}@media (max-width: 640px){.auth-form-container,.login-card{padding:1.5rem}.auth-title,.login-title{font-size:1.5rem}.auth-container{padding:1rem}}.layout-content{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:.7}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@media (min-width: 768px){.dashboard-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.sidebar{transform:translate(-250px)}.sidebar-visible{transform:translate(0)}.main-content{margin-left:0}.navbar{position:sticky;top:0;z-index:40}.student-detail-header{flex-direction:column;align-items:flex-start;gap:1rem}.student-detail-actions{width:100%}.btn{flex:1}.medicamento-fields{flex-direction:column;gap:.75rem}.form-tabs{flex-wrap:wrap}.form-tab{flex-grow:1;text-align:center}.form-actions{flex-wrap:wrap}.btn-prev,.btn-next,.btn-submit,.btn-cancel{width:100%;justify-content:center;margin-left:0;margin-top:.5rem}}.space-x-2>*+*{margin-left:.5rem}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.status-active{background-color:#dcfce7;color:#166534}.status-inactive{background-color:#fee2e2;color:#b91c1c}.status-pending{background-color:#fef9c3;color:#854d0e}.status-dot{width:8px;height:8px;border-radius:50%;margin-right:.5rem}.status-dot.active{background-color:#22c55e}.status-dot.inactive{background-color:#ef4444}.status-dot.pending{background-color:#eab308}@media print{body{background-color:#fff}.sidebar,.navbar,.no-print,.action-buttons,.action-cell{display:none!important}.main-content{margin-left:0!important;padding:0!important}.data-table th,.data-table td{padding:.5rem!important}.table-container,.card,.detail-container{box-shadow:none!important;border:1px solid #e2e8f0!important}h1,h2,h3,h4{color:#000!important}}.instrument-action-wrapper{position:relative;display:inline-block}.instrument-action-toggle{background:transparent;border:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-radius:50%;cursor:pointer;color:#6b7280}.instrument-action-toggle:hover{background-color:#f3f4f6;color:#1f2937}.instrument-action-menu{position:absolute;z-index:1000;top:100%;left:auto;right:auto;margin-top:4px;background-color:#fff;border-radius:4px;box-shadow:0 2px 8px #00000026;min-width:160px;border:1px solid #e5e7eb;overflow:hidden}@media (min-width: 769px){.instrument-action-menu{right:0}}@media (max-width: 768px){.instrument-action-toggle{width:38px;height:38px;background-color:#f3f4f6;border:1px solid #e5e7eb}.instrument-action-toggle svg{width:24px;height:24px}.instrument-action-menu{left:-120px!important;right:auto!important}.position-right .instrument-action-menu{left:auto!important;right:-5px!important}}.position-bottom .instrument-action-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:4px}.instrument-action-menu-item{display:flex;align-items:center;padding:8px 12px;color:#374151;text-decoration:none;font-size:14px;border:none;background:transparent;width:100%;text-align:left;cursor:pointer;gap:8px;white-space:nowrap}.instrument-action-menu-item:hover{background-color:#f9fafb}.instrument-action-menu-item.text-danger:hover{background-color:#fee2e2;color:#dc2626}.instrument-action-menu-item:not(:last-child){border-bottom:1px solid #f3f4f6}.action-cell{display:table-cell!important;visibility:visible!important;width:50px!important;text-align:center}
