@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&display=swap";a{text-decoration:none;on-hover {text-decoration: bold;}}.mb-3{margin-bottom:3rem}.mb-2{margin-bottom:2rem}.mb-1{margin-bottom:1rem}.mb-05{margin-bottom:.5rem}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;align-items:center;gap:1rem}.text-center{text-align:center}.list-clean{list-style:none;padding:0;margin:0}.text-red{color:red}.text-green{color:green}.text-gray{color:#666}.container{max-width:1200px;margin:0 auto;padding:1rem}.piece-list{list-style:none;padding:0}.piece-item{padding:.75rem;border-bottom:1px solid #eee}.piece-item:hover{background-color:#f9f9f9}.btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}.error-message{color:red;margin:1rem 0}.success-message{color:green;margin:1rem 0}.admin-only:not(button){color:#d97706!important}.piece-detail-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.piece-detail-title{margin:0}.piece-detail-info{margin-bottom:1rem}.piece-detail-info p{margin:.5rem 0}.piece-detail-actions{margin-top:2rem}.piece-detail-actions h3{margin-bottom:1rem;font-size:1.2rem}.piece-detail-binder-list{list-style:none;padding:0;margin:0}.piece-detail-binder-item{margin:.5rem 0;display:flex;align-items:center}.piece-detail-binder-item input[type=checkbox]{margin-right:.5rem;cursor:pointer}.piece-detail-binder-item label{cursor:pointer;font-size:16px;-webkit-user-select:none;user-select:none}.piece-detail-all-binders{margin-top:2rem;padding:1rem;background-color:#f5f5f5;border-radius:4px}.piece-detail-all-binders h3{margin-top:0;margin-bottom:1rem;font-size:1.1rem;color:#666}.piece-detail-all-binders-list{list-style:none;padding:0;margin:0}.piece-detail-all-binders-list li{margin:.5rem 0}.piece-detail-all-binders-list a{color:#007bff;text-decoration:none}.piece-detail-all-binders-list a:hover{text-decoration:underline}.piece-detail-pdf{margin-top:2rem;padding:1rem;background-color:#f9f9f9;border-radius:4px;border:1px solid #ddd}.piece-detail-pdf h3{margin-top:0;margin-bottom:1rem;color:#333}.pdf-info p{margin:.5rem 0}.pdf-actions{margin-top:1rem;display:flex;gap:1rem}.pdf-actions .btn{padding:.5rem 1rem;border-radius:4px;text-decoration:none;display:inline-block;transition:background-color .2s}.pdf-actions .btn-primary{background-color:#007bff;color:#fff}.pdf-actions .btn-primary:hover{background-color:#0056b3}.pdf-actions .btn-secondary{background-color:#6c757d;color:#fff}.pdf-actions .btn-secondary:hover{background-color:#545b62}.piece-actions{display:flex;gap:.5rem;align-items:center}.piece-actions__button{background:none;border:none;cursor:pointer;padding:0}.piece-actions__heart{font-size:1.2rem;transition:color .2s}.piece-actions__heart--liked{color:red}.piece-actions__heart--not-liked{color:#ccc}.piece-actions__menu-button{font-size:1.2rem;padding:0 .25rem}.piece-actions__dropdown{position:relative}.piece-actions__dropdown-menu{position:absolute;right:0;top:100%;background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:.5rem;box-shadow:0 2px 4px #0000001a;z-index:1000;min-width:200px}.piece-actions__dropdown-title{margin:0 0 .5rem;font-size:.9rem;font-weight:700}.piece-actions__binder-list{list-style:none;padding:0;margin:0}.piece-actions__binder-item{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.piece-actions__binder-item input[type=checkbox]{margin:0}.piece-actions__binder-item label{cursor:pointer;font-size:.85rem;flex:1}.piece-actions__no-binders{margin:0;font-size:.8rem}.piece-actions__no-binders a{color:#007bff;text-decoration:none}.piece-actions__no-binders a:hover{text-decoration:underline}.catalogue-search{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.catalogue-search-input{padding:.5rem;width:300px}.catalogue-clear-btn{background:none;border:1px solid #ccc;border-radius:4px;padding:.4rem .75rem;cursor:pointer}.catalogue-filter-wrapper{position:relative;margin-left:auto}.catalogue-filter-toggle{display:flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;font-size:.9rem;white-space:nowrap}.catalogue-filter-toggle:hover{border-color:#888}.catalogue-filter-toggle.has-active{border-color:#2563eb;color:#2563eb}.catalogue-filter-badge{display:inline-flex;align-items:center;justify-content:center;background:#2563eb;color:#fff;font-size:.7rem;width:18px;height:18px;border-radius:50%}.catalogue-filter-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #0000001a;min-width:220px;z-index:100;padding:.5rem 0}.catalogue-filter-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;cursor:pointer;font-size:.9rem;border:none;background:none;width:100%;text-align:left}.catalogue-filter-option:hover{background:#f5f5f5}.catalogue-filter-check{width:16px;text-align:center;color:#2563eb;font-weight:700}.catalogue-filter-count{margin-left:auto;color:#888;font-size:.8rem}.catalogue-showing{color:#666;font-size:.9rem;margin-bottom:.75rem}.catalogue-pagination{margin-top:1rem;text-align:center}.catalogue-pagination button{margin:0 .5rem}.profile-section{margin-bottom:2rem}.profile-list{list-style:none;padding:0}.profile-list-item{margin-bottom:.5rem}.profile-list-item a{text-decoration:none;color:#007bff}.profile-list-item a:hover{text-decoration:underline}.profile-error{color:red;margin-top:1rem}.form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.form-modal{background:white;border-radius:.5rem;box-shadow:0 10px 25px #0003;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.form-header h2{margin:0;color:#111827;font-size:1.5rem}.form-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:background .2s}.form-close:hover{background:#f3f4f6;color:#374151}.form-content{padding:1.5rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:.25rem;font-weight:500;color:#374151;font-size:.875rem}.required{color:#ef4444;margin-left:.25rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.25rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#ef4444}.form-group input.error:focus,.form-group select.error:focus,.form-group textarea.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.field-error{display:block;margin-top:.25rem;color:#ef4444;font-size:.875rem}.form-actions{display:flex;gap:1rem;margin-top:2rem;justify-content:flex-end}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover:not(:disabled){background:#d1d5db}.form-actions button:disabled{opacity:.5;cursor:not-allowed}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-row .form-group{flex:1;margin-bottom:0}.admin-form .btn-primary{background:#d97706}.admin-form .btn-primary:hover:not(:disabled){background:#b45309}.admin-form .form-header h2{color:#d97706}.binders-create-section{margin-bottom:2rem}.binder-form{border:1px solid #ddd;padding:1rem;border-radius:4px;background-color:#f9f9f9}.binder-form h3{margin-top:0;margin-bottom:1rem}.binder-form-field{margin-bottom:1rem}.binder-form-field label{display:block;margin-bottom:.25rem}.binder-form-input{width:100%;padding:.5rem}.binder-form-textarea{width:100%;padding:.5rem;height:80px;resize:vertical}.binder-form-buttons{display:flex;gap:.5rem}.binders-grid{display:grid;gap:1rem;margin-top:1rem}.binder-card{border:1px solid #ddd;padding:1rem;border-radius:4px;background-color:#fff;display:flex;justify-content:space-between;align-items:flex-start}.binder-card-content{flex:1}.binder-card h3{margin:0 0 .5rem}.binder-card h3 a{text-decoration:none;color:#007bff}.binder-card h3 a:hover{text-decoration:underline}.binder-description{margin:0 0 .5rem;color:#666}.binder-meta{margin:0;font-size:.9rem;color:#888}.binder-delete-btn{background:none;border:none;color:red;cursor:pointer;font-size:1.2rem;padding:0}.all-users-binders{margin-top:1rem}.user-binders-section{margin-bottom:1.5rem;padding:1rem;background-color:#f9f9f9;border-radius:4px}.user-binders-section h3{margin-top:0;margin-bottom:.5rem;color:#333;font-size:1.1rem}.binders-list{display:flex;flex-direction:column;gap:.5rem}.binder-link-item{padding:.25rem 0}.binder-link-item a{color:#007bff;text-decoration:none}.binder-link-item a:hover{text-decoration:underline}.binder-description-preview{color:#666;font-size:.9rem}.admin-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid #e5e7eb}.admin-tabs button{padding:.5rem 1rem;background:none;border:none;cursor:pointer;font-size:1rem;border-bottom:2px solid transparent;transition:all .3s}.admin-tabs button:hover{color:#d97706}.admin-tabs button.active{color:#d97706;border-bottom-color:#d97706}.admin-only{color:#d97706}.members-table table{width:100%;border-collapse:collapse;margin-top:1rem}.members-table th,.members-table td{text-align:left;padding:.5rem;border-bottom:1px solid #e5e7eb}.members-table th{font-weight:700;background:#f9fafb}.request-item{border:1px solid #e5e7eb;padding:1rem;margin-bottom:1rem;border-radius:.5rem}.request-actions{display:flex;gap:.5rem;margin-top:1rem}.request-actions button{padding:.25rem 1rem;border:none;cursor:pointer;border-radius:.25rem;font-weight:500}.request-actions .approve{background:#10b981;color:#fff}.request-actions .reject{background:#ef4444;color:#fff}.error{color:#ef4444}.members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.add-member-btn{padding:.5rem 1rem;background:#d97706;color:#fff;border:none;border-radius:.25rem;cursor:pointer;font-weight:500;transition:background .2s}.add-member-btn:hover{background:#b45309}.delete-member-btn{background:none;border:none;padding:.25rem;cursor:pointer;font-size:1.2rem;border-radius:.25rem;transition:background-color .2s;opacity:.6}.delete-member-btn:hover:not(:disabled){background-color:#fee2e2;opacity:1}.delete-member-btn:disabled{cursor:not-allowed;opacity:.3}.piece-form{max-width:800px;margin:0 auto}.piece-form h2{margin-top:2rem;margin-bottom:1rem;color:#374151;font-size:1.25rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.25rem;font-weight:500;color:#374151}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.25rem;font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-actions{display:flex;gap:1rem;margin-top:2rem}.form-actions button{padding:.5rem 1.5rem;font-size:1rem;font-weight:500;border:none;border-radius:.25rem;cursor:pointer;transition:all .2s}.form-actions button[type=submit]{background:#3b82f6;color:#fff}.form-actions button[type=submit]:hover{background:#2563eb}.form-actions button[type=submit]:disabled{background:#9ca3af;cursor:not-allowed}.form-actions button[type=button]{background:#e5e7eb;color:#374151}.form-actions button[type=button]:hover{background:#d1d5db}.admin-form{border:2px solid #d97706;padding:2rem;border-radius:.5rem}.admin-form .form-actions button[type=submit].admin-only{background:#d97706}.admin-form .form-actions button[type=submit].admin-only:hover{background:#b45309}.warning{background:#fef3c7;color:#92400e;padding:1rem;border-radius:.25rem;margin-bottom:1rem}.error{color:#ef4444;margin-bottom:1rem}.pdf-section{background-color:#f9f9f9;padding:1rem;border-radius:4px;border:1px solid #ddd}.current-pdf-info{background-color:#fff;padding:1rem;border-radius:4px;border:1px solid #e0e0e0}.current-pdf-info p{margin:.5rem 0}.pdf-meta{font-size:.9rem;color:#666}.pdf-actions{margin-top:1rem;display:flex;gap:.5rem;flex-wrap:wrap}.pdf-actions .btn{padding:.25rem .75rem;border-radius:4px;text-decoration:none;display:inline-block;cursor:pointer;border:1px solid #ddd;background-color:#fff;color:#333;font-size:.9rem}.pdf-actions .btn:hover{background-color:#f0f0f0}.btn-sm{font-size:.875rem!important;padding:.25rem .5rem!important}.btn-danger{background-color:#dc3545!important;color:#fff!important;border-color:#dc3545!important}.btn-danger:hover{background-color:#c82333!important}.btn-primary{background-color:#007bff!important;color:#fff!important;border-color:#007bff!important}.btn-primary:hover{background-color:#0056b3!important}.pdf-selected{margin-top:.5rem;color:#28a745;font-size:.9rem}.success-message{color:#28a745;margin-top:.5rem;font-weight:500}.error-message{color:#dc3545;margin-top:.5rem;font-weight:500}input[type=file]{padding:.5rem;border:1px solid #ddd;border-radius:4px;width:100%;background-color:#fff}.requests-section{margin-bottom:3rem}.requests-section h2{margin-bottom:1rem;color:#374151;font-size:1.5rem}.no-requests{color:#6b7280;font-style:italic}.requests-list{display:flex;flex-direction:column;gap:1rem}.request-card{border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;background:#ffffff;box-shadow:0 1px 3px #0000001a}.request-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.request-header h3{margin:0;color:#111827;font-size:1.25rem}.status-badge{padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500;text-transform:uppercase}.status-pending{background:#fef3c7;color:#92400e}.status-approved{background:#d1fae5;color:#065f46}.status-rejected{background:#fee2e2;color:#991b1b}.request-details{color:#4b5563}.request-details p{margin:.5rem 0}.request-details strong{font-weight:600;color:#374151}.request-details a{color:#3b82f6;text-decoration:none;font-weight:500}.request-details a:hover{text-decoration:underline}.diff-details{margin-top:1rem;padding:1rem;background:#f3f4f6;border-radius:.25rem}.diff-details summary{cursor:pointer;font-weight:500;color:#374151}.diff-details pre{margin-top:.5rem;font-size:.875rem;overflow-x:auto}.logs-container{font-family:monospace;font-size:12px}.log-entry{margin-bottom:20px;padding:15px;background-color:#f5f5f5;border-left-width:4px;border-left-style:solid}.log-entry.status-applied{border-left-color:#4caf50}.log-entry.status-pending{border-left-color:#ffc107}.log-entry.status-rejected{border-left-color:#f44336}.log-header{margin-bottom:10px}.log-status{font-weight:700}.log-status.applied{color:green}.log-status.pending{color:orange}.log-status.rejected{color:red}.log-details{cursor:pointer;margin-bottom:10px}.log-values{margin-left:20px}.log-values-section{margin-bottom:10px}.log-values-old{background-color:#ffebee;padding:10px;overflow:auto}.log-values-new{background-color:#e8f5e9;padding:10px;overflow:auto}.log-admin-notes{margin-top:10px}.logs-intro{margin-bottom:20px;color:#666}:root{--fg: #111;--bg: #fff}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,sans-serif}body{background:var(--bg);color:var(--fg);line-height:1.6}.container{max-width:800px;margin:2rem auto;padding:0 1rem}h1{font-size:2rem;margin-bottom:1.5rem;text-align:center;font-weight:600}.piece-list{list-style:none}.piece-item{display:flex;justify-content:space-between;border-bottom:1px solid #ddd;padding:.75rem 0}.piece-title{flex:2;font-weight:600}.piece-composer{flex:1;text-align:right}
