*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;overflow:hidden}.layout{display:flex;flex-direction:column;height:100%;font-family:system-ui,sans-serif}.mobile-header{display:flex;align-items:center;justify-content:space-between;background:#1a6dbf;color:#fff;padding:0 16px;height:52px;flex-shrink:0;width:100%}.mobile-header span{font-weight:700;font-size:17px}.hamburger-btn{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;padding:8px;line-height:1}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:100;width:75vw;max-width:280px;background:#1a6dbf;color:#fff;padding:24px 0;display:none;overflow-y:auto}.sidebar.open{display:block}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:99}.sidebar-overlay.open{display:block}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;background:#f9f9f9;-webkit-overflow-scrolling:touch;font-size:14px}.main-content h1{font-size:20px;margin-top:0;margin-bottom:16px}.main-content h2{font-size:17px}.main-content h3{font-size:15px}.stats-row{display:flex;gap:10px;margin-bottom:24px}.stat-card{background:#fff;border-radius:8px;padding:12px 14px;box-shadow:0 1px 4px #00000014;flex:1;min-width:0}.filters-row{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;flex-direction:column;width:100%;box-sizing:border-box}.filters-row>*{width:100%;box-sizing:border-box;min-width:0;max-width:100%}.service-row{display:flex;gap:8px;margin-bottom:8px;align-items:center;flex-wrap:wrap}.service-name{flex:2;min-width:140px}.service-num{flex:1;min-width:70px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}@media (min-width: 769px){html,body,#root{overflow:auto;height:auto}.layout{flex-direction:row;min-height:100vh;height:auto}.mobile-header{display:none}.sidebar{position:relative;display:flex!important;flex-direction:column;width:220px;flex-shrink:0;top:auto;left:auto;bottom:auto;z-index:auto;height:auto;min-height:100vh}.main-content{padding:32px;overflow-y:auto;height:auto}.stats-row{gap:16px}.stat-card{padding:16px 24px}.filters-row{flex-direction:row}.filters-row>*{width:auto}}
