:root{font-family:var(--apex-font-family-sans)}*{box-sizing:border-box}html{min-width:0}body{margin:0;background:var(--apex-color-canvas);color:var(--apex-color-text);overflow-x:hidden}a{color:inherit}.app-shell{min-height:100vh;background:var(--apex-color-canvas);color:var(--apex-color-text)}.app-main{padding:var(--apex-space-6)}.app-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);grid-gap:var(--apex-space-6);gap:var(--apex-space-6);align-items:start}.app-sidebar-area{display:grid;grid-gap:var(--apex-space-4);gap:var(--apex-space-4);position:-webkit-sticky;position:sticky;top:var(--apex-space-6);min-width:0}.app-sidebar-area .apex-bottom-navigation{display:none}.app-page{grid-gap:var(--apex-space-6);min-width:0}.app-hero,.app-page{display:grid;gap:var(--apex-space-6)}.app-hero{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);grid-gap:var(--apex-space-6);align-items:start}.app-route-nav{min-width:0}.app-grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--apex-space-5);gap:var(--apex-space-5);align-items:start}.app-grid-two-main{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}.app-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--apex-space-4);gap:var(--apex-space-4)}.app-actions,.app-avatar-row,.app-form-row,.app-icon-label,.app-theme-switch,.app-top-actions{display:flex;flex-wrap:wrap;gap:var(--apex-space-3);align-items:center}.app-top-actions{justify-content:flex-end}.app-theme-switch{gap:var(--apex-space-2)}.app-form{display:grid;grid-gap:var(--apex-space-4);gap:var(--apex-space-4)}.app-form-row>*{flex:1 1 220px}.app-icon-label{display:inline-flex;gap:var(--apex-space-2);flex-wrap:nowrap}.app-visual-panel{position:relative;min-height:360px;overflow:hidden;border:1px solid var(--apex-color-border);border-radius:var(--apex-radius-lg);background:linear-gradient(90deg,color-mix(in srgb,var(--apex-color-border) 42%,transparent) 1px,transparent 1px),linear-gradient(0deg,color-mix(in srgb,var(--apex-color-border) 42%,transparent) 1px,transparent 1px),radial-gradient(circle at 22% 24%,color-mix(in srgb,var(--apex-color-accent) 22%,transparent),transparent 26%),var(--apex-color-subtle);background-size:44px 44px,44px 44px,auto,auto}.app-map-line{position:absolute;height:3px;border-radius:var(--apex-radius-full);background:var(--apex-color-accent);transform-origin:left center}.app-map-line-a{left:18%;top:42%;width:55%;transform:rotate(18deg)}.app-map-line-b{left:28%;top:64%;width:48%;transform:rotate(-24deg)}.app-map-pin{position:absolute;display:grid;width:2.75rem;height:2.75rem;place-items:center;border:2px solid var(--apex-color-surface);border-radius:var(--apex-radius-full);background:var(--apex-color-accent);color:var(--apex-color-on-accent);font-weight:var(--apex-font-weight-bold);box-shadow:var(--apex-shadow-md)}.app-map-pin-a{left:16%;top:34%}.app-map-pin-b{right:22%;top:48%}.app-map-pin-c{left:34%;bottom:18%}.app-visual-stat{position:absolute;right:var(--apex-space-5);bottom:var(--apex-space-5);display:grid;grid-gap:var(--apex-space-1);gap:var(--apex-space-1);padding:var(--apex-space-4);border:1px solid var(--apex-color-border);border-radius:var(--apex-radius-md);background:var(--apex-color-surface);box-shadow:var(--apex-shadow-sm)}.app-visual-stat strong{font-size:var(--apex-font-size-xl);line-height:var(--apex-font-line-height-tight)}.app-visual-stat span{color:var(--apex-color-muted);font-size:var(--apex-font-size-sm)}.apex-button{text-decoration:none}@media (max-width:1180px){.app-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:960px){.app-main{padding:var(--apex-space-4)}.app-grid-two,.app-grid-two-main,.app-hero,.app-layout{grid-template-columns:1fr}.app-sidebar-area{position:static}.app-visual-panel{min-height:280px}}@media (max-width:640px){.app-main{padding:var(--apex-space-3)}.app-metric-grid{grid-template-columns:1fr}.app-top-actions{justify-content:flex-start}.app-actions,.app-form-row,.app-top-actions{align-items:stretch;flex-direction:column}.app-actions>*,.app-form-row>*,.app-top-actions>*{width:100%}.app-theme-switch{align-items:flex-start}.app-visual-panel{min-height:240px}}