.geoplan-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;font-weight:500;font-size:13px;line-height:1;transition:all .15s;cursor:pointer;border:1px solid transparent;white-space:nowrap;font-family:var(--font-sans)}.geoplan-btn:disabled{opacity:.55;cursor:not-allowed}.geoplan-btn-sm{padding:6px 10px;font-size:12px}.geoplan-btn-primary{background:var(--brand);color:var(--brand-ink)}.geoplan-btn-primary:hover:not(:disabled){background:var(--brand-600)}.geoplan-btn-secondary{background:var(--surface);border-color:var(--line);color:var(--ink-2)}.geoplan-btn-ghost{background:transparent;color:var(--ink-2)}.geoplan-btn-ghost:hover:not(:disabled){background:var(--line-2)}.geoplan-btn-danger{background:var(--err);color:#fff}.geoplan-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.geoplan-card-elev{box-shadow:var(--shadow)}.geoplan-card-header{padding:14px 16px;font-weight:600;font-size:14px;border-bottom:1px solid var(--line)}.geoplan-field{display:flex;flex-direction:column;gap:5px}.geoplan-field-label{font-size:12px;font-weight:500;color:var(--ink-2)}.geoplan-input-wrap{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px;transition:border-color .15s}.geoplan-input-wrap:focus-within{border-color:var(--brand)}.geoplan-input-error{border-color:var(--err)}.geoplan-input{border:none;outline:none;background:transparent;flex:1;font-size:13px;color:var(--ink);font-family:var(--font-sans)}.geoplan-field-error{font-size:12px;color:var(--err)}.geoplan-field-hint{font-size:12px;color:var(--muted)}.geoplan-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500}.geoplan-badge-neutral{background:var(--line-2);color:var(--ink-2)}.geoplan-badge-ok{background:var(--ok-bg);color:var(--ok)}.geoplan-badge-warn{background:var(--warn-bg);color:var(--warn)}.geoplan-badge-err{background:var(--err-bg);color:var(--err)}.geoplan-badge-info{background:var(--info-bg);color:var(--info)}.geoplan-badge-brand{background:var(--brand-50);color:var(--brand)}.geoplan-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 24px;text-align:center;color:var(--muted)}.geoplan-state-title{font-weight:600;color:var(--ink);font-size:14px}.geoplan-state-desc{font-size:13px;max-width:420px}.geoplan-state-error .geoplan-state-title,.geoplan-state-denied .geoplan-state-title{color:var(--err)}.geoplan-state-gated .geoplan-state-title{font-family:var(--font-mono);letter-spacing:.06em;color:var(--warn)}.geoplan-state-gated{border:1px dashed var(--line);border-radius:var(--radius)}.geoplan-spinner{width:14px;height:14px;border:2px solid var(--line);border-top-color:currentColor;border-radius:50%;animation:geoplan-spin .7s linear infinite;display:inline-block}@keyframes geoplan-spin{to{transform:rotate(360deg)}}.geoplan-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f192859;display:flex;align-items:center;justify-content:center;z-index:100}.geoplan-modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 64px);display:flex;flex-direction:column;overflow:hidden}.geoplan-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;font-weight:600;border-bottom:1px solid var(--line)}.geoplan-modal-close{background:transparent;border:none;cursor:pointer;font-size:18px;color:var(--muted)}.geoplan-modal-body{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.geoplan-modal-footer{padding:12px 16px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.geoplan-toast-stack{position:fixed;bottom:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:200}.geoplan-toast{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:10px 12px;font-size:13px;color:var(--ink)}.geoplan-toast button{background:transparent;border:none;cursor:pointer;color:var(--muted)}.geoplan-toast-err{border-left:3px solid var(--err)}.geoplan-toast-warn{border-left:3px solid var(--warn)}.geoplan-toast-ok{border-left:3px solid var(--ok)}.geoplan-toast-info{border-left:3px solid var(--info)}.geoplan-app-shell{height:100vh;display:flex;overflow:hidden}.geoplan-app-main{flex:1;min-width:0;height:100vh;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.geoplan-app-content{flex:1;min-height:0;padding:24px}.geoplan-sidebar{width:248px;height:100vh;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;flex-shrink:0;transition:width .2s ease}.geoplan-sidebar-collapsed{width:64px}.geoplan-sidebar-collapsed .geoplan-nav-label,.geoplan-sidebar-collapsed .geoplan-brand-name,.geoplan-sidebar-collapsed .geoplan-sidebar-label,.geoplan-sidebar-collapsed .geoplan-sidebar-user-info,.geoplan-sidebar-collapsed .geoplan-sidebar-user .geoplan-btn{display:none}.geoplan-sidebar-brand{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid var(--line)}.geoplan-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--brand);color:var(--brand-ink);font-weight:700;font-size:12px;flex-shrink:0}.geoplan-brand-name{font-weight:700;font-size:15px;color:var(--ink)}.geoplan-sidebar-nav{flex:1;overflow-y:auto;padding:8px 0}.geoplan-sidebar-section{padding:0 12px}.geoplan-sidebar-label{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);padding:14px 10px 6px}.geoplan-nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--ink-2);font-size:13px;cursor:pointer;text-align:left;font-family:var(--font-sans);margin-bottom:2px}.geoplan-nav-item:hover:not(.geoplan-nav-item-disabled){background:var(--line-2);color:var(--ink)}.geoplan-nav-item-active{background:var(--brand-50);color:var(--brand);font-weight:600}.geoplan-nav-item-disabled{opacity:.55;cursor:not-allowed}.geoplan-nav-icon{width:18px;text-align:center;flex-shrink:0}.geoplan-nav-label{flex:1}.geoplan-nav-badge{font-size:11px;color:var(--muted-2)}.geoplan-sidebar-foot{border-top:1px solid var(--line);padding:12px}.geoplan-sidebar-user{display:flex;align-items:center;gap:8px}.geoplan-sidebar-user-info{flex:1;min-width:0;display:flex;flex-direction:column}.geoplan-sidebar-user-name{font-size:12.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.geoplan-sidebar-user-role{font-size:11px;color:var(--muted)}.geoplan-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--brand-100);color:var(--brand);font-weight:600;font-size:11px;flex-shrink:0}.geoplan-avatar-sm{width:24px;height:24px;font-size:10px}.geoplan-topbar{height:56px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 24px;gap:16px;flex-shrink:0;position:sticky;top:0;z-index:30}.geoplan-sidebar-toggle{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-2);cursor:pointer;border:1px solid transparent;background:transparent;flex-shrink:0}.geoplan-sidebar-toggle:hover{background:var(--line-2);color:var(--ink)}.geoplan-breadcrumb{flex:1;min-width:0;font-size:13px;color:var(--muted);display:flex;gap:6px}.geoplan-breadcrumb-sep{color:var(--muted-2);margin:0 4px}.geoplan-breadcrumb-current{color:var(--ink);font-weight:500}.geoplan-topbar-right{display:flex;align-items:center;gap:8px}.geoplan-topbar-user{display:flex;flex-direction:column;line-height:1.2}.geoplan-topbar-user-name{font-size:12.5px;font-weight:500}.geoplan-topbar-user-role{font-size:11px;color:var(--muted)}.geoplan-auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);gap:16px;padding:24px}.geoplan-auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);width:min(400px,100%);padding:32px;display:flex;flex-direction:column;gap:20px}.geoplan-auth-brand{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.geoplan-auth-title{margin:0;font-size:18px;color:var(--ink)}.geoplan-auth-subtitle{margin:0;font-size:13px;color:var(--muted)}.geoplan-auth-form{display:flex;flex-direction:column;gap:14px}.geoplan-auth-error{background:var(--err-bg);color:var(--err);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.geoplan-auth-submit{justify-content:center}.geoplan-auth-footer{font-size:12px;color:var(--muted);text-align:center}.geoplan-auth-env{font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;color:var(--warn);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 12px;background:var(--warn-bg)}@media(max-width:768px){.geoplan-sidebar{position:fixed;top:0;left:0;z-index:50;transform:translate(-100%);transition:transform .2s}}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5}.geoplan-card-clickable:hover{box-shadow:var(--shadow)}.geoplan-table{width:100%;border-collapse:collapse;font-size:13px}.geoplan-table th,.geoplan-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}.geoplan-table th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
