:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}body{font-family:Helvetica Neue,Arial,sans-serif;background-color:#f4f7f6;color:#333;line-height:1.6;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{color:#2c3e50;font-size:2.2rem;margin-bottom:1.5rem;text-align:left}h2{color:#2c3e50;font-size:1.8rem;margin-top:2rem;margin-bottom:1rem;text-align:left}.container{margin:0;background-color:#fff}.app-header{background-color:#2c3e50;padding:0 2rem;border-bottom:1px solid #2c3e50;box-shadow:0 2px 4px #0000001a}.app-header nav{display:flex;gap:1.5rem;max-width:1200px;margin:0 auto}.app-header nav a{color:#fff;text-decoration:none;font-size:1.5rem;font-weight:500;padding:1rem 0;border-bottom:3px solid transparent;transition:border-bottom-color .3s ease-in-out,color .3s ease-in-out}.app-header nav a.active{border-bottom-color:#3498db;color:#3498db}main{padding:2rem;max-width:1200px;margin:0 auto;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000014;margin-top:2rem;margin-bottom:2rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #eee}.page-header h1{margin:0;font-size:2.2rem;color:#2c3e50}.button-primary,.button-secondary{padding:.6rem 1.4rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .3s ease-in-out;font-weight:600;text-transform:uppercase}.button-primary{background-color:#3498db;color:#fff;border:1px solid #3498db}.button-primary:hover{background-color:#2980b9;border-color:#2980b9;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.button-secondary{background-color:#ecf0f1;color:#34495e;border:1px solid #bdc3c7}.button-secondary:hover{background-color:#dadedf;border-color:#aeb5bb;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.search-bar{display:flex;gap:.8rem;margin-bottom:2.5rem;align-items:center;flex-wrap:wrap;background-color:#fcfcfc;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000000d}.search-input,.filter-select{padding:.6rem .8rem;border:1px solid #ccc;border-radius:6px;font-size:.9rem;flex-grow:.3;width:auto;max-width:150px;color:#000;background-color:#fff;transition:border-color .3s;margin-right:3px}.search-input[type=text]{flex-grow:.5}.search-input:focus,.filter-select:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 2px #3498db33}.settlement-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:1rem;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.settlement-table th,.settlement-table td{padding:1.2rem 1rem;text-align:left;border-bottom:1px solid #e0e0e0}.settlement-table th{background-color:#eef4f8;color:#34495e;font-weight:700;text-transform:uppercase;font-size:.9rem}.settlement-table tbody tr:last-child td{border-bottom:none}.settlement-table tbody tr:nth-child(2n){background-color:#f9fbfd}.settlement-table tbody tr:hover{background-color:#f0f8ff}.status-paid{color:#27ae60;font-weight:700}.status-unpaid{color:#e74c3c;font-weight:700}.status-clickable{cursor:pointer;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .3s ease-in-out;padding:.2rem .4rem;border-radius:4px}.status-clickable:hover{text-decoration-color:#3498db;background-color:#3498db1a}input[type=checkbox]{appearance:none;-webkit-appearance:none;width:1.25rem;height:1.25rem;border:2px solid #ccc;border-radius:4px;cursor:pointer;position:relative;margin:0;vertical-align:middle;display:inline-block;flex-shrink:0;transition:background-color .2s,border-color .2s}input[type=checkbox]:hover{border-color:#3498db}input[type=checkbox]:checked{background-color:#3498db;border-color:#3498db}input[type=checkbox]:checked:before{content:"✓";display:block;font-size:1rem;color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);line-height:1}input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px #3498db4d}.statistics-results{background-color:#fcfcfc;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-top:2rem}.statistics-results p{font-size:1.1rem;margin-bottom:.5rem;color:#34495e}.statistics-results p strong{color:#2c3e50}.loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s ease-in-out infinite;margin-left:.5rem;vertical-align:middle}.button-secondary .loading-spinner{border-top-color:#3498db;border-color:#3498db4d}@keyframes spin{to{transform:rotate(360deg)}}input[type=date]::-webkit-calendar-picker-indicator,input[type=month]::-webkit-calendar-picker-indicator{filter:brightness(0);color:#000}@media(max-width:768px){.search-bar{flex-direction:column;align-items:stretch;padding:1rem;gap:.8rem;box-sizing:border-box}.search-bar-row{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:space-between;width:100%}.search-bar-row .search-input,.search-bar-row .filter-select{flex:1 1 0%;min-width:0;width:auto;margin:0;box-sizing:border-box}.search-bar-actions,.search-bar-actions .search-button{width:100%}.search-input,.filter-select{padding:.4rem .6rem;box-sizing:border-box;margin:0}.settlement-table thead{display:none}.settlement-table tbody,.settlement-table tr,.settlement-table td{display:block;width:100%}.settlement-table tr{margin-bottom:1rem;border:1px solid #e0e0e0;border-radius:8px}.settlement-table td{display:flex;justify-content:space-between;align-items:center;border:none;border-bottom:1px solid #eee;padding:.5rem .8rem;text-align:right;box-sizing:border-box}.settlement-table td:before{content:attr(data-label);font-weight:700;text-align:left;padding-right:1rem}.settlement-table td:last-child{border-bottom:none}}.clickable-row{cursor:pointer}.clickable-row:hover{background-color:#f5f5f5}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 5px 15px #0000004d;position:relative;width:90%;max-width:800px;display:flex;flex-direction:column;max-height:95vh;overflow-y:auto}@media(max-width:768px){.modal-content{width:95%;padding:1rem;max-height:95vh;overflow-y:auto}}.modal-close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#aaa}.modal-close-button:hover{color:#333}body.modal-open{overflow:hidden}.form-container{display:flex;flex-direction:column;gap:1.2rem}.form-container h2{margin:0 0 1.5rem;font-size:1.8rem;color:#2c3e50;text-align:center;border-bottom:1px solid #eee;padding-bottom:1rem}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.6rem;font-weight:600;color:#34495e;font-size:.95rem}.form-group input,.form-group select{width:100%;min-width:0;box-sizing:border-box;padding:.8rem 1rem;border:1px solid #ccc;border-radius:6px;font-size:1rem;background-color:#fff;transition:border-color .3s ease-in-out,box-shadow .3s ease-in-out;color:#000}.form-group input:focus,.form-group select:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 2px #3498db33}.form-actions{display:flex;justify-content:center;gap:1rem;margin-top:2rem}@media(max-width:768px){.form-container{gap:.8rem}.form-container h2{font-size:1.5rem;margin-bottom:1rem;padding-bottom:.8rem}.form-group label{margin-bottom:.2rem;font-size:.9rem}.form-group input,.form-group select{padding:.4rem .6rem;font-size:.9rem}.form-actions{margin-top:1.5rem;gap:.8rem}.form-row{padding:.2rem;margin-bottom:.4rem;gap:.2rem}}.form-row{display:flex;flex-direction:column;gap:.5rem;border:1px solid #eee;padding:.8rem;border-radius:8px;margin-bottom:1rem;background-color:#fcfcfc}.form-row .form-group{flex:1;min-width:0}.form-row-actions{flex:0 0 auto;flex-shrink:0}
