*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f7;color:#1d1d1f;line-height:1.47059;font-weight:400}.container{max-width:1200px;margin:0 auto;padding:0 22px}.header{padding:44px 0 22px;text-align:center;border-bottom:1px solid #d2d2d7;margin-bottom:40px}.header h1{font-size:48px;font-weight:600;line-height:1.08349;letter-spacing:-.003em;margin-bottom:8px}.header p{font-size:21px;line-height:1.19048;font-weight:400;color:#86868b}.last-update{display:inline-block;margin-top:12px;padding:4px 12px;background:#fff;border-radius:980px;font-size:12px;color:#86868b}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;margin-bottom:40px}.capacity-card{background:#fff;border-radius:18px;padding:30px;box-shadow:0 4px 6px #0000000a}.capacity-card h2{font-size:28px;font-weight:600;line-height:1.14286;letter-spacing:.007em;margin-bottom:6px}.capacity-card .address{font-size:14px;color:#86868b;margin-bottom:30px}.ring-container{position:relative;width:200px;height:200px;margin:0 auto 30px}.ring-svg{width:200px;height:200px;transform:rotate(-90deg)}.ring-background{fill:none;stroke:#f5f5f7;stroke-width:20}.ring-progress{fill:none;stroke-width:20;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.ring-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.ring-percentage{font-size:48px;font-weight:600;line-height:1}.ring-label{font-size:14px;color:#86868b;margin-top:4px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stat{text-align:center}.stat-value{font-size:32px;font-weight:600;line-height:1.125;margin-bottom:4px}.stat-label{font-size:12px;color:#86868b;text-transform:uppercase;letter-spacing:.06em}.patterns-section{background:#fff;border-radius:18px;padding:30px;box-shadow:0 4px 6px #0000000a;margin-bottom:40px}.patterns-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.patterns-title{font-size:32px;font-weight:600;line-height:1.125}.segmented-control{display:inline-flex;background:#f5f5f7;border-radius:9px;padding:2px}.segment{padding:6px 20px;background:transparent;border:none;border-radius:7px;color:#1d1d1f;font-size:15px;font-weight:400;cursor:pointer;transition:all .2s ease}.segment:hover{color:#06c}.segment.active{background:#fff;box-shadow:0 3px 8px #0000001f;font-weight:500}.chart-container{height:280px;margin:30px 0}.heatmap-section{margin-top:40px}.heatmap-title{font-size:24px;font-weight:600;margin-bottom:20px}.heatmap{display:grid;grid-template-columns:50px repeat(7,1fr);gap:2px;font-size:12px}.heatmap-corner{background:transparent}.heatmap-day-label{display:flex;align-items:center;justify-content:center;font-weight:500;color:#1d1d1f;padding:8px 0}.heatmap-time-label{display:flex;align-items:center;justify-content:flex-end;padding-right:8px;color:#86868b;font-size:11px}.heatmap-cell{aspect-ratio:1;border-radius:4px;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;position:relative;min-height:20px}.heatmap-cell:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026;z-index:10}.insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:30px}.insight-card{background:#f5f5f7;padding:20px;border-radius:12px}.insight-time{font-size:20px;font-weight:600;color:#06c;margin-bottom:4px}.insight-label{font-size:14px;color:#86868b}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:#f5f5f7}.loading-spinner{width:40px;height:40px;border:3px solid #d2d2d7;border-top-color:#06c;border-radius:50%;animation:spin .8s linear infinite}.loading-text{margin-top:20px;color:#86868b;font-size:15px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.header h1{font-size:36px}.cards-grid{grid-template-columns:1fr}.patterns-header{flex-direction:column;gap:20px}.segmented-control{width:100%}.segment{flex:1;font-size:14px;padding:6px 12px}}
