.app-shell{--shell-ink:#173f3b;--shell-muted:#b7cbc2;--shell-paper:#edf2ec;display:flex;min-height:100dvh;background:var(--shell-paper)}.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:40;display:flex;flex-direction:column;width:258px;padding:20px 15px 16px;overflow-y:auto;background:#173e3b;color:#f3f5ed;border-right:1px solid rgba(215,231,220,.14)}.app-brand{margin:2px 8px 19px;color:#f5f4e9;font:600 23px/1.05 Newsreader,Georgia,serif;letter-spacing:-.025em}.app-brand span{display:block;margin-top:5px;color:#b7cbc2;font:700 9px Manrope,sans-serif;letter-spacing:.13em;text-transform:uppercase}.app-global-nav{display:flex;flex-direction:column;gap:4px}.app-nav-section{margin:17px 8px 4px;color:#a7bbb2;font:800 9px Manrope,sans-serif;letter-spacing:.15em;text-transform:uppercase}.app-nav-link{display:flex;align-items:center;min-height:38px;padding:8px 10px;color:#e7eee8;text-decoration:none;border:1px solid transparent;border-radius:7px;font:600 12px/1.35 Manrope,sans-serif;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.app-nav-link:hover{background:#e1eee31a;color:#fff}.app-nav-link:focus-visible{outline:3px solid #d4ad68;outline-offset:2px}.app-nav-link.is-active{background:#e7efe5;color:#17473f;font-weight:900}.app-nav-link.is-emphasized{min-height:53px;background:#d5b67a21;border-color:#d5b67a6b;color:#fff2d7}.app-nav-link.is-emphasized:hover{background:#d5b67a38}.app-nav-link.is-emphasized.is-active{background:#f1e5c9;border-color:#d9bd82;color:#244a40;box-shadow:inset 3px 0 #b27d3f}.app-nav-link small{display:block;margin-top:3px;color:inherit;opacity:.72;font-size:8px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.app-logout{min-height:36px;padding:8px 11px;border:1px solid rgba(238,208,198,.35);border-radius:7px;background:#763f39;color:#fff7f1;font:800 11px Manrope,sans-serif;text-align:left;cursor:pointer}.app-logout:hover{background:#8a4c42}.app-logout:focus-visible{outline:3px solid #d4ad68;outline-offset:2px}.app-main-content{flex:1;min-width:0;margin-left:258px;padding:26px}@media(max-width:760px){.app-shell{display:block}.app-sidebar{position:sticky;inset:0 auto auto;width:100%;height:auto;max-height:126px;padding:7px 9px 8px;overflow:hidden}.app-brand{display:none}.app-global-nav{display:flex;flex-direction:row;align-items:center;gap:5px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin;padding:1px 1px 5px}.app-nav-section{display:none}.app-logout{flex:0 0 auto;min-height:36px;padding:7px 10px;text-align:center}.app-nav-link{flex:0 0 auto;min-height:36px;padding:7px 10px;font-size:12px;white-space:nowrap}.app-nav-link.is-emphasized{min-height:40px}.app-main-content{margin-left:0;padding:15px}.app-shell:has(.maps-workspace) .app-sidebar,.app-shell:has(.bp-shell) .app-sidebar{position:sticky!important;inset:0 auto auto!important;width:100%!important;height:auto!important;max-height:126px!important;overflow:hidden!important;padding:7px 9px 8px!important}.app-shell:has(.maps-workspace) .app-sidebar h2,.app-shell:has(.bp-shell) .app-sidebar h2{display:none!important}.app-shell:has(.maps-workspace) .app-sidebar nav,.app-shell:has(.bp-shell) .app-sidebar nav{display:flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important}.app-shell:has(.maps-workspace) .app-sidebar nav>div,.app-shell:has(.bp-shell) .app-sidebar nav>div{display:none!important}.app-shell:has(.maps-workspace) .app-sidebar nav>a.app-nav-link,.app-shell:has(.bp-shell) .app-sidebar nav>a.app-nav-link{display:inline-flex!important;flex:0 0 auto!important;align-items:center!important;min-height:38px!important;margin:0!important;padding:7px 10px!important;font-size:12px!important}.app-shell:has(.maps-workspace) .app-sidebar nav>button.app-logout,.app-shell:has(.bp-shell) .app-sidebar nav>button.app-logout{display:inline-flex!important;width:auto!important;flex:0 0 auto!important;align-items:center!important;margin:0!important;min-height:36px!important;padding:7px 10px!important;font-size:11px!important}.app-shell:has(.maps-workspace) .app-main-content,.app-shell:has(.bp-shell) .app-main-content{margin-left:0!important;padding:13px!important}}@media(prefers-reduced-motion:reduce){.app-nav-link{transition:none}}*{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-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.button{background-color:#007bff;color:#fff;padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:16px}.button:hover{background-color:#0056b3}.button:disabled{background-color:#ccc;cursor:not-allowed}.button-secondary{background-color:#6c757d}.button-secondary:hover{background-color:#5a6268}.button-danger{background-color:#dc3545}.button-danger:hover{background-color:#c82333}.input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px;margin-bottom:10px}.input:focus{outline:none;border-color:#007bff}.label{display:block;margin-bottom:5px;font-weight:500;color:#333}.error{color:#dc3545;margin-top:10px}.success{color:#28a745;margin-top:10px}.loading{text-align:center;padding:20px;color:#666}table{width:100%;border-collapse:collapse;margin-top:20px}th,td{padding:12px;text-align:left;border-bottom:1px solid #ddd}th{background-color:#f8f9fa;font-weight:600;color:#333}tr:hover{background-color:#f8f9fa}.metric-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;text-align:center}.metric-value{font-size:32px;font-weight:700;color:#007bff;margin:10px 0}.metric-label{font-size:14px;color:#666;text-transform:uppercase}.tabs{display:flex;gap:10px;border-bottom:2px solid #ddd;margin-bottom:20px}.tab{padding:10px 20px;cursor:pointer;border:none;background:none;font-size:16px;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px}.tab.active{color:#007bff;border-bottom-color:#007bff;font-weight:600}.tab:hover{color:#007bff}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
