#root{margin:0;padding:0;min-height:100vh}.app-container{min-height:100vh;display:flex;flex-direction:column;background-color:#f5f5f5}.app-header{background-color:#2c3e50;color:#fff;padding:1.5rem;text-align:center;box-shadow:0 2px 4px #0000001a}.app-header h1{margin:0;font-size:2rem}.app-description{max-width:900px;margin:1.5rem auto 0;text-align:left;background-color:#ffffff1a;padding:1rem 1.5rem;border-radius:8px;border-left:4px solid #3498db}.app-description p{margin:.75rem 0;font-size:.9rem;line-height:1.6;color:#ecf0f1}.app-description p:first-child{margin-top:0}.app-description p:last-child{margin-bottom:0}.app-description strong{color:#3498db;font-weight:600}.app-layout{display:grid;grid-template-columns:300px 1fr 350px;gap:1rem;padding:1rem;flex:1}.sidebar{display:flex;flex-direction:column;gap:1rem}.details-sidebar{position:sticky;top:1rem;height:fit-content;max-height:calc(100vh - 2rem);overflow-y:auto}.main-content{overflow-x:auto;background-color:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.park-container{display:inline-block;min-width:fit-content}.column-headers{display:flex;margin-bottom:.5rem;gap:10px}.corner-cell{width:40px;flex-shrink:0}.column-header{width:50px;height:30px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#2c3e50}.grid-with-rows{display:flex;flex-direction:column;gap:10px}.grid-row{display:flex;align-items:center;gap:10px}.row-header{width:40px;height:50px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#2c3e50;flex-shrink:0}.box{background-color:#646cff;color:#fff;height:50px;width:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;cursor:pointer;border:2px solid transparent;border-radius:4px;transition:all .2s ease;box-sizing:border-box}.box:hover{transform:scale(1.1);box-shadow:0 4px 8px #0003;z-index:10}.box.selected{border:3px solid #ffd700;box-shadow:0 0 10px #ffd70080}.safe{background-color:#27ae60}.danger{background-color:#e74c3c}.box.hidden{visibility:hidden;pointer-events:none}.cell-identifier{font-size:.75rem;font-weight:700}.dino-count{position:absolute;top:2px;right:4px;background-color:#00000080;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:.7rem}.maintenance-icon{position:absolute;bottom:2px;right:2px}.stats-dashboard{background-color:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.stats-dashboard h2{margin:0 0 .75rem;color:#2c3e50;font-size:1.25rem}.stats-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.stat-card{background-color:#f8f9fa;padding:.75rem;border-radius:6px;border-left:4px solid #3498db}.stat-card h3{margin:0 0 .25rem;color:#2c3e50;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.5rem;font-weight:700;margin:.25rem 0;color:#2c3e50}.stat-detail{display:block;color:#7f8c8d;font-size:.75rem}.park-filters{background-color:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.park-filters h2{margin:0 0 .75rem;color:#2c3e50;font-size:1.25rem}.filters-grid{display:flex;flex-direction:column;gap:.75rem}.filter-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;color:#2c3e50}.filter-option input[type=checkbox]{width:18px;height:18px;min-width:18px;cursor:pointer;margin:0;flex-shrink:0;accent-color:#3498db;background-color:#fff;border:2px solid #bdc3c7;border-radius:3px;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative}.filter-option input[type=checkbox]:checked{background-color:#3498db;border-color:#3498db}.filter-option input[type=checkbox]:checked:after{content:"\2713";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700}.filter-option span{user-select:none;line-height:1.4}.search-container{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.search-container label{font-weight:600;color:#2c3e50;font-size:.85rem}.search-input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.85rem;background-color:#fff;color:#2c3e50}.search-input::placeholder{color:#95a5a6}.search-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33;background-color:#fff}.clear-filters-button{margin-top:.75rem;padding:.5rem .75rem;background-color:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background-color .2s}.clear-filters-button:hover{background-color:#c0392b}.cell-details-panel{background-color:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.cell-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.cell-details-header h2{margin:0;color:#2c3e50;font-size:1.5rem}.close-button{background:none;border:none;font-size:2rem;cursor:pointer;color:#7f8c8d;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-button:hover{background-color:#ecf0f1;color:#2c3e50}.detail-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #ecf0f1}.detail-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-section h3{margin:0 0 .75rem;color:#2c3e50;font-size:1.1rem}.detail-section p{margin:.5rem 0;color:#555}.dino-list{list-style:none;padding:0;margin:0}.dino-item{background-color:#f8f9fa;padding:.75rem;border-radius:6px;margin-bottom:.75rem;line-height:1.6}.dino-item:last-child{margin-bottom:0}.text-green{color:#27ae60}.text-red{color:#e74c3c}.text-orange{color:#e67e22}.text-warning{color:#f39c12}.text-success{color:#27ae60}.text-muted{color:#95a5a6;font-size:.85rem}.warning{color:#e67e22;font-weight:600;display:flex;align-items:center;gap:.5rem}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;padding:2rem;text-align:center}.retry-button{padding:.75rem 1.5rem;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;margin-top:1rem;transition:background-color .2s}.retry-button:hover{background-color:#2980b9}@media (max-width: 1400px){.app-layout{grid-template-columns:280px 1fr 320px}}@media (max-width: 1200px){.app-layout{grid-template-columns:1fr}.sidebar{order:2}.main-content{order:1}.details-sidebar{order:3;position:relative}}.logo{height:6em;padding:1.5em;will-change:filter}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}:root{font-family:Inter,Avenir,Helvetica,Arial,sans-serif;font-size:16px;line-height:24px;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;-webkit-text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;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}}
