body{font-family:sans-serif;margin:20px;line-height:1.6;background-color:#f4f4f4;color:#333}h1,h2,h3{color:#333}a{color:#007bff;text-decoration:none}a:hover{text-decoration:underline}.form-group{margin-bottom:15px}label{display:block;margin-bottom:5px;font-weight:bold}input[type="text"],input[type="password"],input[type="number"],select,textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:16px}input[type="checkbox"]{margin-right:5px}.btn{padding:10px 15px;border:none;border-radius:5px;cursor:pointer;font-size:16px}.btn-primary{background-color:#007bff;color:white}.btn-danger{background-color:#dc3545;color:white}.btn-secondary{background-color:#6c757d;color:white}.btn-warning{background-color:#ffc107;color:#212529}.btn-warning:hover{background-color:#ffca2c}.btn:hover{opacity:0.8}.flash-messages{margin-bottom:20px}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}table{width:100%;border-collapse:collapse;margin-top:20px}th,td{border:1px solid #ddd;padding:8px;text-align:left}th{background-color:#f2f2f2;font-weight:bold}nav ul{list-style:none;padding:0;margin:0}nav ul li{display:inline;margin-right:10px}.form-control-expanded{position:relative;z-index:10;transform:scale(1.1);transition:transform .1s ease-in-out;box-shadow:0 0 8px rgba(0,123,255,.6)}@media(max-width:767.98px){.form-control-expanded{transform:scale(1.05);box-shadow:0 0 6px rgba(0,123,255,.6)}}.table-sticky-col{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-sticky-col table{width:auto;min-width:100%;border-collapse:collapse}.table-sticky-col th:first-child,.table-sticky-col td:first-child{position:sticky;left:0;z-index:2;box-sizing:border-box}.table-sticky-col thead th:first-child{background-color:#e9ecef}.table-sticky-col td:first-child{box-shadow:2px 0 2px rgba(0,0,0,0.1);background-color:#fff}.table-sticky-col tbody tr:hover td:first-child{background-color:#e9ecef}.table-sticky-col tbody tr.table-primary td:first-child{background-color:#cfe2ff}@media(max-width:767.98px){.table-sm>:not(caption)>*>{padding:.75rem .5rem}.wprowadz-wyniki-table .form-control-sm{padding:.5rem .5rem;font-size:1rem}.wprowadz-wyniki-table th:nth-child(1),.wprowadz-wyniki-table td:nth-child(1){display:none}.wprowadz-wyniki-table th:nth-child(2){width:30%}.wprowadz-wyniki-table th:nth-child(3){width:20%}.wprowadz-wyniki-table th:nth-child(4){width:35%}.wprowadz-wyniki-table th:nth-child(5){width:15%}.wprowadz-wyniki-table th:nth-child(6){width:10%}}.index-tile{display:flex!important;flex-direction:column;justify-content:center;align-items:center;height:100%;transition:all .2s ease-in-out;font-weight:500}.index-tile:hover{transform:translateY(-3px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.index-tile i{font-size:2rem}.index-tile span{font-size:.9em;margin-top:.25rem}@media(min-width:0px){.fs-2{font-size:2rem!important}.fs-4{font-size:1.5rem!important}}.index-tile span small{font-size:.8em;display:block;line-height:1}.input-save-success{background-color:#d4edda!important;transition:background-color .5s ease-in-out}.input-save-error{background-color:#f8d7da!important;transition:background-color .5s ease-in-out}.input-save-success.form-control,.input-save-error.form-control{}.form-control-expanded.input-save-success{background-color:#d4edda!important}.form-control-expanded.input-save-error{background-color:#f8d7da!important}.station-special-cell{background-color:#fffacd;position:relative}.station-special-cell .form-control{border-color:#ffc107}.special-violation-row{background-color:#f8d7da!important}.special-violation-row td,.special-violation-row th{color:#721c24}.station-special-cell .bi-star-fill{color:#ffc107;font-size:.9em;position:absolute;top:50%;right:5px;transform:translateY(-50%);z-index:2}.station-special-cell .form-control-expanded.is-special-station-input+.bi-star-fill{right:-8px}.badge.bg-special-station{background-color:#fffacd!important;color:#333!important;border:1px solid #ffc107}.badge.bg-special-violation{background-color:#f8d7da!important;color:#333!important;border:1px solid #dc3545}.table-sticky-col tr.special-violation-row td:first-child{background-color:#f8d7da!important;box-shadow:2px 0 2px rgba(0,0,0,0.1),inset 0 0 0 1000px #f8d7da!important}#wyniki-table th[id]{cursor:pointer;user-select:none}#wyniki-table th[id]:hover{background-color:#e9ecef}.sort-arrow{margin-left:5px;display:inline-block;width:1em;font-size:.8em;text-align:center}.sorted-asc .sort-arrow{}.sorted-desc .sort-arrow{}.powtorzenia-container{display:flex;flex-wrap:wrap;font-size:.9em;border:1px solid #dee2e6;padding:10px;background-color:#f8f9fa;border-radius:.25rem}.powtorzenia-kolumna{flex:0 0 auto;min-width:200px;margin-right:15px;margin-bottom:5px}.powtorzenia-kolumna ul{list-style-type:none;padding-left:0;margin-bottom:0}.powtorzenia-kolumna li{margin-bottom:2px}.sekwencja{font-family:'Courier New',Courier,monospace;font-weight:bold;color:#0056b3}.liczba-powtorzen{font-size:.95em}.tile-menu-container{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;padding:20px 0}.tile-link{display:block;width:280px;padding:20px;border-radius:12px;text-decoration:none;color:#fff;background-color:#007bff;box-shadow:0 4px 12px rgba(0,0,0,.1);transition:transform .2s ease,box-shadow .2s ease;display:flex;align-items:center;gap:15px}.tile-link:hover{transform:translateY(-5px);box-shadow:0 8px 16px rgba(0,0,0,.15);color:#fff;text-decoration:none}.tile-icon{font-size:2.5rem;flex-shrink:0;width:50px;text-align:center}.tile-content{display:flex;flex-direction:column}.tile-title{font-size:1.3rem;font-weight:600;margin:0;padding:0}.tile-desc{font-size:.9rem;font-weight:300;margin:0;padding:0;opacity:.9}.tile-blue{background-color:#007bff}.tile-green{background-color:#28a745}.tile-red{background-color:#dc3545}.tile-yellow{background-color:#ffc107;color:#212529}.tile-cyan{background-color:#17a2b8}.tile-gray{background-color:#6c757d}.tile-orange{background-color:#fd7e14}.tile-purple{background-color:#6f42c1}.tile-yellow:hover{color:#212529}