:root{font-family:Inter,Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.35;font-weight:400;font-size:14px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-active: #1e40af;--color-secondary: #64748b;--color-secondary-hover: #475569;--color-secondary-active: #334155;--color-background: #ffffff;--color-surface: #f8fafc;--color-surface-hover: #f1f5f9;--color-text: #1e293b;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-border: #e2e8f0;--color-border-light: #f0f4f8;--color-accent: #3b82f6;--color-success: #10b981;--color-success-hover: #047857;--color-warning: #f59e0b;--color-warning-hover: #b45309;--color-error: #ef4444;--color-error-hover: #b91c1c;--color-info: #06b6d4;--color-info-hover: #0891b2;--color-shadow: rgba(0, 0, 0, .05);--color-shadow-hover: rgba(0, 0, 0, .1)}*{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background-color:var(--color-background);color:var(--color-text);transition:background-color .3s ease,color .3s ease}#root{min-height:100vh;width:100%;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:.4rem;color:var(--color-text)}h1{font-size:1.6rem}h2{font-size:1.35rem}h3{font-size:1.2rem}h4{font-size:1.05rem}h5{font-size:.95rem}h6{font-size:.85rem;color:var(--color-text-secondary)}p{margin-bottom:.6rem;line-height:1.45;color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-primary-hover);text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;padding:.35rem .7rem;font-size:.8rem;font-weight:500;font-family:inherit;line-height:1.3;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .2s ease;text-decoration:none;white-space:nowrap;min-height:30px}.btn:focus-visible{outline:2px solid var(--color-primary-active);outline-offset:1px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background-color:var(--color-primary-active);border-color:var(--color-primary-active)}.btn-secondary{background-color:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-hover);border-color:var(--color-secondary-hover)}.btn-secondary:active:not(:disabled){background-color:var(--color-secondary-active);border-color:var(--color-secondary-active)}.btn-outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary);color:#fff}.btn-outline:active:not(:disabled){background-color:var(--color-primary-active);color:#fff;border-color:var(--color-primary-active)}.btn-success{background-color:var(--color-success);color:#fff;border-color:var(--color-success)}.btn-success:hover:not(:disabled){background-color:var(--color-success-hover);border-color:var(--color-success-hover)}.btn-warning{background-color:var(--color-warning);color:#fff;border-color:var(--color-warning)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-hover);border-color:var(--color-warning-hover)}.btn-danger{background-color:var(--color-error);color:#fff;border-color:var(--color-error)}.btn-danger:hover:not(:disabled){background-color:var(--color-error-hover);border-color:var(--color-error-hover)}.btn-sm{padding:.2rem .4rem;font-size:.7rem;min-height:26px}.btn-lg{padding:.5rem 1rem;font-size:.9rem;min-height:38px}.form-group{margin-bottom:.8rem}.form-label{display:block;margin-bottom:.25rem;font-weight:500;font-size:.8rem;color:var(--color-text-secondary)}.form-control{display:block;width:100%;padding:.35rem .6rem;font-size:.8rem;font-family:inherit;line-height:1.3;color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:4px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;min-height:30px}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary),.1)}.form-control::placeholder{color:var(--color-text-muted);opacity:1}select.form-control{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.2em 1.2em;padding-right:2rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.card{background-color:var(--color-surface);border:1px solid var(--color-border-light);border-radius:6px;box-shadow:0 1px 2px var(--color-shadow);transition:box-shadow .2s ease,border-color .2s ease;margin-top:.1rem}.card:hover{box-shadow:0 3px 8px var(--color-shadow-hover);border-color:var(--color-border)}.card-header{padding:.6rem .8rem;border-bottom:1px solid var(--color-border-light);background-color:var(--color-surface);font-weight:600;font-size:.85rem}.card-body{background-color:var(--color-surface);padding:.8rem}.card-footer{padding:.6rem .8rem;border-top:1px solid var(--color-border-light);background-color:var(--color-surface-hover);font-size:.75rem;color:var(--color-text-muted)}.table{width:100%;border-collapse:collapse;font-size:.75rem}.table th,.table td{padding:.4rem .5rem;text-align:left;border-bottom:1px solid var(--color-border-light);vertical-align:middle}.table th{background-color:var(--color-surface-hover);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.table tbody tr{transition:background-color .2s ease}.table tbody tr:hover{background-color:var(--color-surface-hover)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.text-muted{color:var(--color-text-muted)!important}.text-primary{color:var(--color-primary)!important}.text-success{color:var(--color-success)!important}.text-warning{color:var(--color-warning)!important}.text-danger{color:var(--color-error)!important}.text-white{color:#fff!important}.text-center{text-align:center}.text-right{text-align:right}.text-left,.text-start{text-align:left}.text-end{text-align:right}.text-sm{color:var(--color-text-secondary)!important;font-size:.75rem}.text-xs{font-size:.7rem}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-none{display:none}.d-block{display:block}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.align-items-center{align-items:center}.justify-content-between{justify-content:space-between}.justify-content-center{justify-content:center}.justify-content-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.w-100{width:100%}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.theme-selector{position:relative;display:inline-block}.theme-selector-button{display:flex;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.8rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;transition:all .2s ease;min-width:110px}.theme-selector-button:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary)}.theme-selector-button:focus-visible{outline:2px solid var(--color-primary-active);outline-offset:1px}.theme-icon{width:14px;height:14px;flex-shrink:0}.theme-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;box-shadow:0 4px 12px var(--color-shadow-hover);z-index:1000;max-height:200px;overflow-y:auto;padding:.25rem 0}.theme-option{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.8rem;cursor:pointer;transition:background-color .2s ease,color .2s ease}.theme-option:hover{background-color:var(--color-surface-hover)}.theme-option.active{background-color:var(--color-primary);color:#fff}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:modalFadeIn .2s ease-out forwards;opacity:0}@keyframes modalFadeIn{to{opacity:1}}.modal-content{background:var(--color-background);border-radius:8px;box-shadow:0 8px 20px var(--color-shadow-hover);width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideIn .25s ease-out forwards;transform:translateY(-10px);opacity:0;border:1px solid var(--color-border)}@keyframes modalSlideIn{to{transform:translateY(0);opacity:1}}.modal-sm{max-width:380px}.modal-md{max-width:550px}.modal-lg{max-width:750px}.modal-xl{max-width:1100px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.modal-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--color-text)}.modal-close-btn{background:none;border:none;padding:.2rem;cursor:pointer;color:var(--color-text-muted);transition:all .2s ease;border-radius:4px;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.modal-body{padding:1rem;overflow-y:auto;flex-grow:1}.theme-selector-grid .btn{transition:all .2s ease;background-color:var(--color-surface);color:var(--color-text)}.theme-selector-grid .btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px var(--color-shadow-hover);background-color:var(--color-surface-hover)}.theme-selector-grid .btn.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.theme-selector-grid .btn.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.theme-selector-grid .btn.btn-outline{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.theme-selector-grid .btn.btn-outline:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary)}.spinner{animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.icon-primary{color:var(--color-primary)}.icon-success{color:var(--color-success)}.icon-danger{color:var(--color-error)}.icon-muted{color:var(--color-text-muted)}.icon-clickable{cursor:pointer;transition:all .2s ease;border-radius:50%;padding:.25rem;display:inline-flex;align-items:center;justify-content:center}.icon-clickable:hover{background:var(--color-surface-hover);transform:scale(1.1)}@media(max-width:576px){html{font-size:13.5px}.btn{padding:.3rem .6rem;font-size:.75rem;min-height:28px}.form-control{padding:.3rem .5rem;font-size:.75rem;min-height:28px}.card-body,.card-header,.card-footer{padding:.6rem}.table th,.table td{padding:.3rem .4rem}h1{font-size:1.4rem}h2{font-size:1.2rem}.modal-overlay{padding:.5rem;align-items:flex-end}.modal-content{margin-bottom:0;border-radius:8px 8px 0 0;max-height:85vh;animation:modalSlideUp .3s ease-out forwards}@keyframes modalSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.modal-body .d-flex.gap-2{flex-direction:column}.modal-body .d-flex.gap-2>*{width:100%}.hide-mobile{display:none!important}}@media(min-width:768px){html{font-size:14.5px}}@media(min-width:1200px){html{font-size:15px}}.alert{padding:.6rem .8rem;border:1px solid transparent;border-radius:4px;margin-bottom:1rem;font-size:.8rem}.alert-danger{background-color:#ef44441a;border-color:#ef44444d;color:var(--color-error)}.alert-success{background-color:#10b9811a;border-color:#10b9814d;color:var(--color-success)}.alert-warning{background-color:#f59e0b1a;border-color:#f59e0b4d;color:var(--color-warning)}.alert-info{background-color:#06b6d41a;border-color:#06b6d44d;color:var(--color-info)}.badge{display:inline-block;padding:.25rem .5rem;font-size:.7rem;font-weight:600;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out}.bg-primary{background-color:var(--color-primary)!important;color:#fff!important}.bg-secondary{background-color:var(--color-secondary)!important;color:#fff!important}.bg-success{background-color:var(--color-success)!important;color:#fff!important}.bg-warning{background-color:var(--color-warning)!important;color:#fff!important}.bg-danger{background-color:var(--color-error)!important;color:#fff!important}.bg-light{background-color:var(--color-surface)!important;color:var(--color-text)!important}.is-invalid{border-color:var(--color-error)!important;box-shadow:0 0 0 2px #ef44441a!important}.invalid-feedback{display:block;width:100%;margin-top:.25rem;font-size:.7rem;color:var(--color-error)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.row{display:flex;flex-wrap:wrap;margin:0 -.5rem}.col-12{flex:0 0 100%;max-width:100%;padding:0 .5rem}.col-md-3{flex:0 0 25%;max-width:25%;padding:0 .5rem}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%;padding:0 .5rem}.col-md-6{flex:0 0 50%;max-width:50%;padding:0 .5rem}.g-3>*{padding:0 .5rem;margin-bottom:1rem}.g-4>*{padding:0 .5rem;margin-bottom:1.25rem}@media(min-width:992px){.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}}@media(max-width:768px){.col-md-3,.col-md-4,.col-md-6{flex:0 0 100%;max-width:100%}}@media(max-width:991px){.col-lg-4,.col-lg-8{flex:0 0 100%;max-width:100%}}.fw-bold{font-weight:600!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:.75rem!important}.ms-1{margin-left:.25rem!important}.rounded{border-radius:4px!important}.border{border:1px solid var(--color-border)!important}.user-photo{width:40px;height:40px;border-radius:50%;overflow:hidden;border:2px solid var(--color-border);flex-shrink:0;background-color:var(--color-surface);display:flex;align-items:center;justify-content:center;transition:border-color .2s ease}.user-photo:hover{border-color:var(--color-primary)}.user-photo img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.user-photo img:hover{transform:scale(1.05)}.user-photo-fallback{color:var(--color-text-muted);font-size:1.2rem;font-weight:600}.profile-photo-lg{width:120px!important;height:120px!important;font-size:48px!important}.cursor-pointer{cursor:pointer!important}.cursor-not-allowed{cursor:not-allowed!important}.profile-photo-overlay{background-color:#00000080;border-radius:50%;transition:opacity .3s;cursor:not-allowed}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-0{opacity:0!important}.opacity-100{opacity:1!important}.text-white-50{color:#ffffff80!important}.min-vh-100{min-height:100vh}.bg-background{background-color:var(--color-background)}.rounded-circle{border-radius:50%!important}.top-0{top:0!important}.start-0{left:0!important}.bottom-0{bottom:0!important}.end-0{right:0!important}.h-100{height:100%!important}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentcolor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.d-grid{display:grid!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}@media(prefers-contrast:high){.modal-overlay{background:#000c}.modal-content,.card{border:2px solid var(--color-text)}}@media(prefers-reduced-motion:reduce){.modal-overlay,.modal-content,.spinner,.icon-clickable,body,.btn,.form-control,.card,.table tbody tr,a{animation:none!important;transition:none!important}}header .position-relative{overflow:visible!important}.dropdown-menu{position:absolute!important;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 10px 25px #00000026;min-width:200px;padding:4px 0;margin-top:8px;z-index:1050!important;animation:dropdownFadeIn .2s ease-out;top:100%!important;right:0!important;left:auto!important;transform:none!important;max-height:70vh;overflow-y:auto}.dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 16px;border:none;background:transparent;color:var(--color-text);font-size:14px;width:100%;text-align:left;cursor:pointer;transition:background-color .2s ease}.dropdown-item:hover{background-color:var(--color-surface-hover)}.dropdown-item.text-danger{color:var(--color-error)}.dropdown-item.text-danger:hover{background-color:#ef44441a}.dropdown-header{padding:8px 16px;border-bottom:1px solid var(--color-border);background-color:var(--color-surface)}.dropdown-divider{margin:4px 0;border:none;border-top:1px solid var(--color-border)}.user-menu-trigger{cursor:pointer;padding:4px 8px;border-radius:6px;transition:background-color .2s ease}.user-menu-trigger:hover{background-color:var(--color-surface-hover)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.profile-photo-container{position:relative;display:inline-block}.profile-photo-overlay{position:absolute;inset:0;background-color:#00000080;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;cursor:pointer}.profile-photo-container:hover .profile-photo-overlay{opacity:1}.profile-photo-edit-icon{position:absolute;bottom:0;right:0;background-color:var(--color-primary);color:#fff;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid var(--color-background);transition:background-color .2s ease}.profile-photo-edit-icon:hover{background-color:var(--color-primary-hover)}@media(max-width:768px){.dropdown-menu{min-width:180px;right:0;left:auto}.user-menu-trigger .text-start{display:none!important}}.dropdown-item:focus{outline:2px solid var(--color-primary);outline-offset:-2px;background-color:var(--color-surface-hover)}.user-menu-trigger:focus{outline:2px solid var(--color-primary);outline-offset:2px}.pagination{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}.pagination .page-item{list-style:none}.pagination .page-link{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:6px 12px;border:1px solid var(--color-border);border-radius:6px;background-color:var(--color-background);color:var(--color-text);text-decoration:none;font-size:14px;font-weight:500;line-height:1;transition:all .15s ease;cursor:pointer;-webkit-user-select:none;user-select:none}.pagination .page-link:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 4px var(--color-shadow)}.pagination .page-link:focus{outline:2px solid var(--color-primary);outline-offset:2px;background-color:var(--color-surface-hover)}.pagination .page-link:active{transform:translateY(0);box-shadow:none}.pagination .page-item.active .page-link{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:600;box-shadow:0 2px 8px #2563eb40}.pagination .page-item.active .page-link:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:none}.pagination .page-item.disabled .page-link{background-color:var(--color-surface);border-color:var(--color-border-light);color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.pagination .page-item.disabled .page-link:hover{background-color:var(--color-surface);border-color:var(--color-border-light);color:var(--color-text-muted);transform:none;box-shadow:none}.pagination .page-link .double-chevron{display:flex;align-items:center}.pagination .page-link svg+svg{margin-left:-4px}.pagination-container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-top:24px;padding:16px 0;border-top:1px solid var(--color-border-light)}.pagination-info{font-size:13px;color:var(--color-text-secondary);font-weight:500}.pagination-controls{display:flex;align-items:center;gap:16px}.items-per-page{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary);font-weight:500}.items-per-page select{min-width:70px;padding:4px 8px;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background);color:var(--color-text);font-size:13px}@media(max-width:768px){.pagination-container{flex-direction:column;align-items:stretch;gap:12px}.pagination-controls{justify-content:center}.pagination .page-link{min-width:32px;height:32px;padding:4px 8px;font-size:13px}.pagination-info{text-align:center;order:2}.items-per-page{justify-content:center;order:1}}.list-group{display:flex;flex-direction:column;padding:0;margin:0;list-style:none}.list-group-flush .list-group-item{border-width:0 0 1px;border-radius:0}.list-group-item{position:relative;display:block;padding:.75rem 1rem;background-color:var(--color-surface);border:1px solid var(--color-border);transition:all .2s ease}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.list-group-item-action{cursor:pointer;color:var(--color-text)}.list-group-item-action:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.list-group-item-action:active{background-color:var(--color-surface-hover)}.list-group-item.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.nav-controls{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.nav-controls .btn{flex:1 1 auto;min-width:100px;max-width:200px}@media(max-width:576px){.nav-controls{flex-direction:column;gap:.75rem}.nav-controls .btn{flex:1 1 auto;max-width:100%;width:100%}.nav-controls .btn .hide-mobile{display:none}}@media(min-width:577px)and (max-width:768px){.nav-controls .btn{min-width:80px;font-size:.85rem}}.repertorio-header{padding:1rem;border-bottom:1px solid var(--color-border);background-color:var(--color-surface)}.repertorio-info{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:var(--color-text-secondary)}.repertorio-info>span{display:flex;align-items:center;gap:.25rem}@media(max-width:768px){.repertorio-header{padding:.75rem}.repertorio-info{flex-direction:column;gap:.25rem}}.relatorios-financeiros{max-width:100%;margin:0 auto}.relatorios-financeiros .card-header{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;font-weight:600}.caixas-relatorio .card-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);cursor:pointer;transition:all .2s ease}.caixas-relatorio .card-header:hover{background:var(--color-surface-hover)}.cursor-pointer{cursor:pointer}.relatorios-financeiros .badge{font-size:.85em;padding:.5em .8em}.relatorios-financeiros .table th{background:var(--color-surface);font-weight:600;border-bottom:2px solid var(--color-border);padding:.75rem}.relatorios-financeiros .table td{padding:.6rem .75rem;vertical-align:middle}.relatorios-financeiros .table-sm th,.relatorios-financeiros .table-sm td{padding:.4rem .6rem;font-size:.9em}.relatorios-financeiros .row.g-3{--bs-gutter-x: 1rem;--bs-gutter-y: 1rem}.relatorios-financeiros .small{font-size:.875rem;color:var(--color-text-secondary)}.relatorios-financeiros .fw-bold{font-weight:600}.relatorios-financeiros .text-center{text-align:center}.relatorios-financeiros .text-info{color:var(--color-info)!important}.relatorios-financeiros .text-success{color:var(--color-success)!important}.relatorios-financeiros .text-danger{color:var(--color-error)!important}.relatorios-financeiros .text-primary{color:var(--color-primary)!important}.relatorios-financeiros .border-primary{border-color:var(--color-primary)!important}.relatorios-financeiros .bg-primary{background-color:var(--color-primary)!important;color:#fff}.relatorios-financeiros .bg-success{background-color:var(--color-success)!important;color:#fff}.relatorios-financeiros .bg-danger{background-color:var(--color-error)!important;color:#fff}.relatorios-financeiros .bg-warning{background-color:var(--color-warning)!important;color:#fff}.relatorios-financeiros .bg-info{background-color:var(--color-info)!important;color:#fff}@media(max-width:768px){.relatorios-financeiros .row.g-3 .col-md-2{flex:0 0 50%;max-width:50%}.relatorios-financeiros .row.g-3 .col-md-6{flex:0 0 100%;max-width:100%}.relatorios-financeiros .table-responsive{font-size:.8rem}.relatorios-financeiros .btn{font-size:.9rem;padding:.5rem 1rem}}@media(max-width:576px){.relatorios-financeiros .row.g-3 .col-md-2,.relatorios-financeiros .row.g-3 .col-md-3{flex:0 0 100%;max-width:100%;margin-bottom:.5rem}}.relatorios-financeiros .text-xs{font-size:.75rem;line-height:1}.relatorios-financeiros .text-sm{font-size:.875rem;line-height:1.25}.relatorios-financeiros .border-success{border-color:var(--color-success)!important;border-left:4px solid var(--color-success)}.relatorios-financeiros .border-warning{border-color:var(--color-warning)!important;border-left:4px solid var(--color-warning)}.relatorios-financeiros .card-body.p-3{padding:.75rem!important}.relatorios-financeiros .badge.text-xs{font-size:.65rem;padding:.25em .5em}@media(max-width:768px){.relatorios-financeiros .resumo-geral .row .col-md-3{flex:0 0 50%;max-width:50%;margin-bottom:1rem}}@media(max-width:576px){.relatorios-financeiros .resumo-geral .row .col-md-3{flex:0 0 100%;max-width:100%}.relatorios-financeiros .card-title{font-size:.9rem}.relatorios-financeiros h6{font-size:.95rem}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-type-selector{display:flex;gap:.5rem;margin-bottom:1.5rem}.login-type-option{flex:1;position:relative;cursor:pointer;border-radius:12px;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);background:var(--color-surface);border:2px solid var(--color-border);box-shadow:0 2px 8px var(--color-shadow)}.login-type-option:hover{transform:translateY(-4px);box-shadow:0 12px 30px var(--color-shadow-hover);border-color:var(--color-primary)}.login-type-option.active{border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));color:#fff;transform:translateY(-4px);box-shadow:0 12px 30px #2563eb66}.login-type-option.active.google{border-color:#dc3545;background:linear-gradient(135deg,#dc3545,#bb2d3b);box-shadow:0 12px 30px #dc354566}.login-type-option .content{padding:1.5rem 1rem;text-align:center;position:relative}.login-type-option .icon-wrapper{position:relative;margin-bottom:.75rem;display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px}.login-type-option .icon-bg{position:absolute;width:100%;height:100%;border-radius:50%;background:var(--color-primary);opacity:.1;transform:scale(0);transition:all .4s cubic-bezier(.4,0,.2,1)}.login-type-option.active .icon-bg{background:#fff3;opacity:1;transform:scale(1)}.login-type-option .title{font-size:1.1rem;font-weight:700;margin-bottom:.25rem;transition:color .3s ease;letter-spacing:.02em}.login-type-option .subtitle{font-size:.8rem;opacity:.7;transition:opacity .3s ease;font-weight:500}.login-type-option.active .subtitle{opacity:.95}.login-type-option .check-mark{position:absolute;top:.75rem;right:.75rem;width:24px;height:24px;border-radius:50%;background:var(--color-success);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;opacity:0;transform:scale(0) rotate(-45deg);transition:all .4s cubic-bezier(.4,0,.2,1)}.login-type-option.active .check-mark{opacity:1;transform:scale(1) rotate(0)}.login-type-option .google-icon{transition:all .4s cubic-bezier(.4,0,.2,1);width:40px;height:40px}.login-type-option:hover .google-icon{transform:scale(1.1) rotate(5deg)}.login-type-option.active .google-icon{filter:brightness(0) invert(1);transform:scale(1.05)}.login-type-option .user-icon{transition:all .4s cubic-bezier(.4,0,.2,1)}.login-type-option:hover .user-icon{transform:scale(1.1)}.login-type-selector .login-type-option{animation:slideInUp .6s ease-out;animation-fill-mode:both}.login-type-selector .login-type-option:nth-child(2){animation-delay:.15s}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:576px){.login-type-selector{flex-direction:column;gap:.5rem}.login-type-option{padding:.75rem}.login-type-option .content{padding:.75rem .5rem}.login-type-option .icon-wrapper{width:40px;height:40px}.login-type-option .icon-bg{width:24px;height:24px}.login-type-option .title{font-size:.85rem}.login-type-option .subtitle{font-size:.7rem}.login-type-option .check-mark{width:18px;height:18px;top:6px;right:6px}.login-type-option .google-icon{width:28px;height:28px}}.loading-container{display:flex;align-items:center;justify-content:center;padding:2rem;width:100%}.loading-container-fullpage{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;background-color:var(--color-background)}.loading-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.loading-spinner{border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.loading-spinner-sm{width:24px;height:24px;border-width:2px}.loading-spinner-md{width:40px;height:40px;border-width:3px}.loading-spinner-lg{width:56px;height:56px;border-width:4px}.loading-message{margin:0;color:var(--color-text-secondary);font-size:.9rem;font-weight:500;text-align:center}.skeleton{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-surface-hover) 50%,var(--color-surface) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px}.skeleton-text{height:1rem;margin-bottom:.5rem}.skeleton-title{height:1.5rem;width:60%;margin-bottom:1rem}.skeleton-card{height:200px;width:100%}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:9998;animation:fadeIn .2s ease-out}.loading-overlay-content{background:var(--color-background);padding:2rem;border-radius:8px;box-shadow:0 8px 20px var(--color-shadow-hover);display:flex;flex-direction:column;align-items:center;gap:1rem;min-width:250px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cifra-container{font-family:Courier New,Courier,monospace!important}@media(max-width:767px){.cifra-container{column-count:1!important;font-size:11px!important;padding:.75rem!important}}@media(min-width:768px){.cifra-container{column-count:2!important;column-gap:2rem!important;column-rule:1px solid var(--color-border)!important;font-size:12px!important}}@media(min-width:1200px){.cifra-container{font-size:13px!important}}.cifra-container>div[style*=marginTop]{break-inside:avoid-column;page-break-inside:avoid}.h3Visitante{color:#fff}.visitor-area{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-background) 100%)}.visitor-header{background:var(--color-background);border-bottom:2px solid var(--color-border);padding:1rem 0;box-shadow:0 2px 8px var(--color-shadow);position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}.visitor-header__content{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.visitor-header__logo{height:50px;width:auto;object-fit:contain;filter:drop-shadow(0 2px 4px var(--color-shadow));transition:transform .3s ease}.visitor-header__logo:hover{transform:scale(1.05)}.visitor-main{flex:1;padding:2rem 1rem;max-width:1200px;margin:0 auto;width:100%}.section{margin-bottom:3rem;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section__title{font-size:2rem;font-weight:700;color:var(--color-text);margin-bottom:1rem;text-align:center;position:relative;padding-bottom:.5rem}.section__title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:2px}.section__subtitle{font-size:1.4rem;font-weight:600;color:var(--color-text);margin:1.5rem 0 1rem}.section__description{font-size:1.1rem;line-height:1.8;color:var(--color-text-secondary);text-align:center;max-width:800px;margin:0 auto}.welcome-section{text-align:center;padding:2rem 1rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);color:#fff;border-radius:12px;box-shadow:0 4px 20px var(--color-shadow-hover);margin-top:1rem}.welcome-section .section__title{color:#fff;font-size:2.5rem;margin-bottom:1rem}.welcome-section .section__title:after{background:#fff}.welcome-section .section__description{color:#fffffff2;font-size:1.15rem}.carousel-section{margin:3rem 0}.carousel{position:relative;width:100%;max-width:900px;margin:0 auto;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px var(--color-shadow-hover);background:var(--color-surface)}.carousel__state{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--color-surface);color:var(--color-text-muted)}.carousel__empty-icon{font-size:4rem;opacity:.5}.carousel__image-container{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity .5s ease-in-out;z-index:0}.carousel__image-container.is-active{opacity:1;z-index:1}.carousel__image{width:100%;height:100%;object-fit:cover;cursor:pointer}.carousel__overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.6) 60%,transparent 100%);padding:2rem 1.5rem 4rem;color:#fff;animation:slideUpFade .5s ease-out;z-index:3}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.carousel__overlay-content{max-width:800px;margin:0 auto}.carousel__overlay-title{font-size:1.8rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.5);color:#fff}.carousel__overlay-date{display:flex;align-items:center;gap:.5rem;font-size:1rem;margin-bottom:.75rem;opacity:.95;color:#ffffffe6}.carousel__overlay-description{font-size:1.05rem;line-height:1.5;opacity:.9;color:#fffffff2;margin:0}.carousel__image.is-active{opacity:1;z-index:1}.carousel__button{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:#fff;border:none;font-size:2.5rem;width:50px;height:50px;display:flex;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:2;border-radius:50%;padding-top:2px}.carousel__button:hover{background:#000000b3;transform:translateY(-50%) scale(1.1)}.carousel__button--prev{left:1rem}.carousel__button--next{right:1rem}.carousel__indicators{position:absolute;top:1rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:10}.carousel__indicator{width:12px;height:12px;border-radius:50%;background:#ffffff80;border:2px solid white;cursor:pointer;transition:all .3s ease;padding:0}.carousel__indicator:hover{background:#fffc;transform:scale(1.2)}.carousel__indicator.is-active{background:#fff;width:30px;border-radius:6px}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:3rem 0}.info-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 8px var(--color-shadow)}.info-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px var(--color-shadow-hover);border-color:var(--color-primary)}.info-card__header{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;padding:1rem 1.25rem;display:flex;align-items:center;gap:.75rem}.info-card__header h3{margin:0;font-size:1.2rem;font-weight:600}.info-card__body{padding:1.25rem;color:var(--color-text-secondary);line-height:1.8;font-size:.95rem}.info-card__body p{margin-bottom:1rem}.info-card__body p:last-child{margin-bottom:0}.info-card__body strong{color:var(--color-text);font-weight:600}.social-links{display:flex;gap:1rem;margin-top:1rem}.social-link{display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:50%;transition:all .3s ease;padding:8px}.social-link:hover{transform:scale(1.1) rotate(5deg);border-color:var(--color-primary);box-shadow:0 4px 12px var(--color-shadow-hover)}.social-link__icon{width:100%;height:100%;object-fit:contain}.location-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.btn--small{padding:.5rem 1rem;font-size:.85rem;display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:6px;transition:all .3s ease}.btn--outline{background:transparent;border:1.5px solid var(--color-border);color:var(--color-text)}.btn--outline:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px var(--color-shadow-hover)}.about-section{background:var(--color-background);padding:2rem;border-radius:12px;box-shadow:0 4px 16px var(--color-shadow);border-left:4px solid var(--color-primary)}.about-section p{line-height:1.8;color:var(--color-text-secondary);margin-bottom:1.5rem}.values-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1.5rem}.values-list li{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--color-surface);border-radius:8px;border:1px solid var(--color-border);transition:all .3s ease}.values-list li:hover{background:var(--color-surface-hover);border-color:var(--color-primary);transform:translate(4px)}.values-list li strong{color:var(--color-primary)}.restricted-area-card{background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-background) 100%);padding:2rem;border-radius:12px;border:2px dashed var(--color-border);text-align:center;box-shadow:0 4px 16px var(--color-shadow)}.restricted-area-card__title{display:flex;align-items:center;justify-content:center;gap:.75rem;color:var(--color-text);font-size:1.6rem;font-weight:600;margin-bottom:1.5rem}.restricted-area-card__description{font-size:1.1rem;line-height:1.7;color:var(--color-text-secondary);margin-bottom:1.5rem;max-width:700px;margin-left:auto;margin-right:auto}.restricted-area-card__info-box{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;margin:1.5rem auto;max-width:600px;text-align:left}.restricted-area-card__info-box strong{display:block;color:var(--color-text);font-size:1.1rem;margin-bottom:1rem}.restricted-area-card__info-box ol{margin:0;padding-left:1.5rem;color:var(--color-text-secondary);line-height:2}.restricted-area-card__info-box li{margin-bottom:.5rem}.restricted-area-card .btn{margin-top:1rem;font-size:1.05rem;padding:.75rem 2rem}.visitor-area .btn--icon{display:inline-flex;align-items:center;gap:.5rem}.visitor-area .btn--primary{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;border:none;padding:.5rem 1.25rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px var(--color-shadow)}.visitor-area .btn--primary:hover{transform:translateY(-2px);box-shadow:0 4px 16px var(--color-shadow-hover)}.visitor-area .btn--secondary{background:var(--color-background);color:var(--color-primary);border:2px solid var(--color-primary);padding:.5rem 1.25rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.visitor-area .btn--secondary:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 16px var(--color-shadow-hover)}.visitor-footer{background:var(--color-text);color:#fff;text-align:center;padding:2rem 1rem;margin-top:auto;box-shadow:0 -2px 10px var(--color-shadow)}.visitor-footer__text{margin:.5rem 0;font-size:.95rem}.visitor-footer__text--small{font-size:.85rem;opacity:.8}.image-modal-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:modalFadeIn .3s ease-out;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.image-modal-content{position:relative;max-width:95vw;max-height:95vh;animation:modalZoomIn .3s ease-out}@keyframes modalZoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.image-modal-img{max-width:100%;max-height:95vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 40px #00000080;cursor:default}.image-modal-close{position:absolute;top:-50px;right:0;background:#fff3;color:#fff;border:2px solid white;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;padding:0}.image-modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}@media(max-width:768px){.visitor-header__logo{height:40px}.section__title{font-size:1.6rem}.welcome-section .section__title{font-size:2rem}.section__description{font-size:1rem}.carousel{aspect-ratio:4 / 3}.carousel__button{width:40px;height:40px;font-size:2rem;transform:translateY(-50%)}.carousel__button:hover{transform:translateY(-50%) scale(1.1)}.carousel__button--prev{left:.5rem}.carousel__button--next{right:.5rem}.carousel__overlay{padding:1.5rem 1rem 1rem}.carousel__overlay-title{font-size:1.3rem}.carousel__overlay-date{font-size:.85rem}.carousel__overlay-description{font-size:.9rem;line-height:1.4}.info-cards,.values-list{grid-template-columns:1fr}.about-section,.restricted-area-card{padding:1.5rem}.image-modal-close{top:10px;right:10px}}@media(max-width:480px){.visitor-main{padding:1rem .5rem}.section__title{font-size:1.4rem}.welcome-section{padding:1.5rem 1rem}.welcome-section .section__title{font-size:1.6rem}.info-card__header{padding:.75rem 1rem}.info-card__header h3{font-size:1.1rem}.info-card__body{padding:1rem;font-size:.9rem}}.visitor-area .container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.visitor-area .carousel__state--loading .spinner-border{width:3rem;height:3rem;border:.3rem solid currentColor;border-right-color:transparent;border-radius:50%;animation:visitor-spinner .75s linear infinite}@keyframes visitor-spinner{to{transform:rotate(360deg)}}
