*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5}#root{min-height:100vh}.container{max-width:1600px;margin:0 auto;padding:1rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-danger{background:#dc3545;color:#fff}.btn-success{background:#28a745;color:#fff}.card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;margin-bottom:1rem}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;min-width:600px;table-layout:auto}thead{background:#f8f9fa;position:sticky;top:0;z-index:10}th,td{padding:.75rem;text-align:left;border-bottom:1px solid #dee2e6}th{font-weight:600}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem}.error{color:#dc3545;font-size:.875rem;margin-top:.25rem}.loading{text-align:center;padding:2rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:#fff;border-radius:8px;padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.nav{background:#fff;box-shadow:0 2px 4px #0000001a;padding:1rem;margin-bottom:1rem}.nav-links{display:flex;gap:1rem;flex-wrap:wrap}.nav-link{text-decoration:none;color:#007bff;padding:.5rem 1rem;border-radius:4px;transition:background .2s}.nav-link:hover{background:#f8f9fa}.nav-link.active{background:#007bff;color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body{-webkit-text-size-adjust:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}*{-webkit-overflow-scrolling:touch}input:focus,select:focus,textarea:focus,button:focus{outline:2px solid #007bff;outline-offset:2px}.btn:active{transform:scale(.98);opacity:.9}.btn{min-height:44px;min-width:44px;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}input,select,textarea,button{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:16px}input[type=checkbox],input[type=radio]{min-width:20px;min-height:20px}@media (max-width: 1024px){.container{padding:1rem}table{min-width:700px}}@media (min-width: 1025px){table{min-width:auto}.table-scroll{overflow-x:visible}}@media (max-width: 768px){.container{padding:.75rem}.btn-block-mobile{width:100%;display:block}.btn+.btn{margin-left:0;margin-top:.5rem}.card{padding:1rem}.form-group{margin-bottom:.75rem}.table-responsive{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:600px;font-size:.875rem}th,td{padding:.5rem .25rem;font-size:.813rem}.modal{max-width:100%;max-height:100vh;border-radius:0;padding:1rem}.nav-links{flex-direction:column;gap:.5rem}.nav-link{display:block;text-align:center;padding:.75rem}}@media (max-width: 480px){.container{padding:.5rem}.card{padding:.75rem;border-radius:6px}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1rem}.btn{padding:.625rem 1rem;font-size:.875rem}table{min-width:500px;font-size:.75rem}th,td{padding:.375rem .25rem;font-size:.75rem}.form-group input,.form-group select,.form-group textarea{padding:.625rem}}@media (max-width: 375px){.container{padding:.5rem}table{min-width:450px}.btn{font-size:.813rem;padding:.5rem .75rem}}@media (max-width: 896px) and (orientation: landscape){.container{padding:.5rem 1rem}.nav{padding:.5rem}.card{padding:1rem}}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.75rem;padding:0 .75rem;width:100%}.table-scroll:after{content:"→ Прокрутите";position:sticky;right:0;background:linear-gradient(to left,white 50%,transparent);padding:.5rem;font-size:.75rem;color:#6c757d;text-align:right}@media (min-width: 769px){.table-scroll:after{display:none}}.table th,.table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 1200px){.table th,.table td{white-space:normal}}
