/* Identidade compartilhada. Não modifica posicionamento nem modos do mapa. */
@font-face{font-family:'DM Sans';src:url('/vendor/fonts/DM-Sans-Variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('/vendor/fonts/Instrument-Serif-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
body.identity-ui{--ui-bg:#fafaf6;--ui-surface:#fff;--ui-soft:#f1f3ec;--ui-ink:#183f32;--ui-muted:#59655d;--ui-line:#dde3d7;--ui-accent:#c4ec78;--ui-shadow:0 12px 40px #10251c1a}
html[data-theme=dark] body.identity-ui{--ui-bg:#10251c;--ui-surface:#19362a;--ui-soft:#203d30;--ui-ink:#eff4e9;--ui-muted:#bac8bd;--ui-line:#3d5747}
body.identity-app{--paper:var(--ui-bg);--surface:var(--ui-surface);--ink:var(--ui-ink);--green:var(--ui-ink);--deep:var(--ui-ink);--muted:var(--ui-muted);--line:var(--ui-line);--field:#719747;--earth:#b58a55;--shadow:var(--ui-shadow);--p-bg:var(--ui-bg);--p-card:var(--ui-surface);--p-ink:var(--ui-ink);--p-muted:var(--ui-muted);--p-line:var(--ui-line);--p-accent:var(--ui-accent);font-family:'DM Sans',Arial,sans-serif;background:var(--ui-bg);color:var(--ui-ink)}
body.identity-app :is(button,input,select,textarea,.leaflet-container){font-family:'DM Sans',Arial,sans-serif}
body.identity-ui :is(dialog,.preferences-menu){background:var(--ui-surface);color:var(--ui-ink);border:1px solid var(--ui-line);border-radius:24px;box-shadow:var(--ui-shadow);font-family:'DM Sans',Arial,sans-serif}
body.identity-ui dialog::backdrop{background:#081c1299;backdrop-filter:blur(4px)}
body.identity-ui :is(dialog h2,.auth-profile-name){font-family:'DM Sans',Arial,sans-serif;font-weight:500;letter-spacing:-.035em;color:var(--ui-ink)}
body.identity-ui :is(.auth-intro,.auth-footnote,.auth-profile-email,.preferences-menu label){color:var(--ui-muted)}
body.identity-ui :is(.auth-action,.auth-close,.profile-tabs button,.plan-filters button){border-radius:999px;min-height:44px;font-family:'DM Sans',Arial,sans-serif}
body.identity-ui .auth-action{background:var(--ui-surface);color:var(--ui-ink);border-color:var(--ui-line)}
body.identity-ui :is(.auth-primary,.profile-tabs button[aria-selected=true],.plan-filters button[aria-pressed=true]){background:var(--ui-accent);color:#183f32;border-color:var(--ui-accent);box-shadow:none}
body.identity-ui :is(.auth-link,.auth-wordmark){color:var(--ui-ink)}
body.identity-ui :is(dialog input:not([type=checkbox]):not([type=radio]),dialog select,dialog textarea){background:var(--ui-bg);color:var(--ui-ink);border:1px solid var(--ui-line);border-radius:12px;min-height:44px}
body.identity-ui :is(.preferences-menu,.profile-stats>div,.plan-item.requested-plan){border-color:var(--ui-line)}
body.identity-ui .portal-header .preferences-icon{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:8px;border-radius:999px;list-style:none;border-color:var(--ui-line);color:var(--ui-ink)}
body.identity-ui .portal-header .preferences-icon:after{display:none}
body.identity-ui .portal-header .preferences-icon::-webkit-details-marker{display:none}
body.identity-ui .portal-header .preferences-menu{right:0;max-width:calc(100vw - 48px)}
body.identity-map .map-tour{background:var(--ui-surface);color:var(--ui-ink);border-color:var(--ui-line);border-radius:24px;box-shadow:var(--ui-shadow)}
body.identity-map .map-tour button{border-radius:999px;border-color:var(--ui-line)}
body.identity-map .map-tour #tourNext{background:var(--ui-accent);color:#183f32;border-color:var(--ui-accent)}
body.identity-ui :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #719747;outline-offset:3px}
body.identity-ui :is(button,a,input,select,textarea){transition:background-color 180ms,border-color 180ms,box-shadow 180ms}
body.identity-app :is(.button,.portal-body button,.pill,.ux-toolbar button,.ux-pin,.load-more){border-radius:999px;min-height:44px;font-size:.875rem;font-weight:600;box-shadow:none}
body.identity-app :is(.primary,.route-open){background:var(--ui-accent);border-color:var(--ui-accent);color:#183f32}
body.identity-app :is(.secondary,.pill,.ux-pin,.ux-toolbar button,.load-more){background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-ink)}
body.identity-app :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-color:var(--ui-line);border-radius:12px;background:var(--ui-surface);color:var(--ui-ink)}
body.identity-app .auth-dialog select{width:100%;min-height:44px;padding:12px;border:1px solid var(--ui-line);font:inherit;margin:6px 0 12px}
body.identity-app :is(.eyebrow,.help,.muted,.map-note){color:var(--ui-muted)}
/* Map: preserve compact rail, expanded tools, floating controls and map credits. */
body.identity-map .sidebar{background:var(--ui-surface);border-color:var(--ui-line);box-shadow:3px 0 18px #10251c0d}
body.identity-map .desktop-brand-name{font-family:system-ui,sans-serif;color:var(--ui-ink)}
body.identity-map .desktop-navigation button{border-radius:14px;color:var(--ui-muted)}
body.identity-map .desktop-navigation button[aria-pressed=true]{background:var(--ui-accent);color:#183f32;border-color:var(--ui-accent)}
body.identity-map :is(.summary,.route-result-box,.point-count,.selection-hud){background:var(--ui-soft);border-color:var(--ui-line);border-radius:18px;color:var(--ui-ink)}
body.identity-map :is(.summary-label,.total strong,.total span,.metrics,.route-result,.area,.vehicle-choice strong,.selection-hud-total strong){color:var(--ui-ink)}
body.identity-map :is(.summary p,.route-note,.plot-meta,.route-instruction){color:var(--ui-muted);border-color:var(--ui-line)}
body.identity-map .total strong{font-weight:500;letter-spacing:-.045em}
body.identity-map :is(.base-settings,.vehicle-choice){background:var(--ui-soft);border-color:var(--ui-line)}
body.identity-map :is(.source-panel,.vehicle-choice,.route-result-box){border-radius:14px}
body.identity-map .vehicle-choice:has(input:checked){background:var(--ui-soft);border-color:#719747;box-shadow:inset 3px 0 #719747}
body.identity-map :is(.plot:hover,.plot.selected){background:var(--ui-soft);border-color:var(--ui-line)}
body.identity-map .plot.selected .check{background:var(--ui-accent);border-color:#719747;color:#183f32}
body.identity-map .plot.selected .check svg{stroke:#183f32}
body.identity-map .route-header h2{font-weight:500;color:var(--ui-ink);font-size:1.5rem;letter-spacing:-.035em}
body.identity-map :is(.task-sheet,.mobile-navigation){background:var(--ui-surface);border-color:var(--ui-line);color:var(--ui-ink)}
body.identity-map .mobile-navigation button{color:var(--ui-muted)}
body.identity-map .mobile-navigation button[aria-pressed=true]{background:var(--ui-accent);color:#183f32;border-radius:14px}
body.identity-map :is(.sheet-handle,.ux-options-back){font-family:'DM Sans',Arial,sans-serif;color:var(--ui-ink)}
body.identity-map .refined-ui .ux-toolbar{border-radius:24px}
body.identity-app.refined-ui .ux-toolbar{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
body.identity-app.refined-ui .ux-toolbar button{border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-surface)}
body.identity-app .plans-sidebar::before{content:none!important}
body.identity-app .plans-sidebar-icon{display:block;width:24px;height:24px;flex:0 0 24px}
@media(min-width:761px){body.identity-app .plans-sidebar{display:flex;align-items:center;justify-content:flex-start;gap:18px;min-height:52px;padding:13px 15px;border-radius:14px;white-space:nowrap}body.identity-app .sidebar:not(:hover):not(:has(:focus-visible)) .plans-sidebar{width:56px;height:52px;padding:13px 15px;gap:0}body.identity-app:not(.sidebar-pinned) .sidebar:not(:hover):not(:has(:focus-visible)) .plans-sidebar>span{display:none}body.identity-app.sidebar-pinned .sidebar .plans-sidebar{width:auto;gap:18px}}
body.identity-map .leaflet-control-zoom{border-color:var(--ui-line)!important;border-radius:14px!important;overflow:hidden;box-shadow:var(--ui-shadow)}
body.identity-map .leaflet-control-zoom a{background:var(--ui-surface);color:var(--ui-ink);border-color:var(--ui-line)}
body.identity-map :is(.leaflet-popup-content-wrapper,.leaflet-popup-tip){background:var(--ui-surface);color:var(--ui-ink)}
body.identity-map .leaflet-popup-content-wrapper{border-radius:18px}
body.identity-map .imagery-notice{background:var(--ui-surface);color:var(--ui-muted);border-color:var(--ui-line)}
/* Institution, activity and account screens share the same operational components. */
body.identity-app.portal-body .portal-header{height:auto;min-height:80px;margin:20px 24px;border:1px solid var(--ui-line);border-radius:999px;padding:16px 24px;background:var(--ui-surface)}
body.identity-app .portal-brand{font-family:system-ui,sans-serif;color:var(--ui-ink)}
body.identity-app .portal-shell{min-height:calc(100dvh - 120px);gap:24px;padding:0 24px 24px;grid-template-columns:244px minmax(0,1fr)}
body.identity-app .portal-sidebar{background:#183f32;border-radius:24px;padding:28px 20px;border:0;color:#eff4e9}
body.identity-app .portal-sidebar :is(.eyebrow,label,.sidebar-note){color:#bac8bd}
body.identity-app .portal-sidebar select{background:#203d30;color:#eff4e9;border-color:#3d5747}
body.identity-app .portal-sidebar nav button{color:#bac8bd;border-radius:14px;padding:14px 12px;min-height:48px}
body.identity-app .portal-sidebar nav button span{color:#eff4e9}
body.identity-app .portal-sidebar nav button[aria-current=page],body.identity-app .portal-sidebar nav button[aria-current=page] span{background:var(--ui-accent);color:#183f32}
body.identity-app.portal-body main{padding:24px 16px 32px}
body.identity-app .page-title{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(2rem,3vw,3rem);font-weight:500;line-height:1.1;letter-spacing:-.035em}
body.identity-app :is(.card,.metric,.activity,.empty,.account-recent a){border-radius:20px;border-color:var(--ui-line);background:var(--ui-surface);box-shadow:none}
body.identity-app .card{padding:28px;margin-bottom:24px}
body.identity-app .card h2{font-size:1.375rem;font-weight:500;letter-spacing:-.025em}
body.identity-app :is(.activity h3,.card h3){font-size:1.125rem;font-weight:600}
body.identity-app .metrics{gap:16px;margin-bottom:24px}
body.identity-app .metric{border-top:3px solid var(--ui-accent);padding:24px}
body.identity-app .metric strong{font-size:2rem;font-weight:500;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
body.identity-app .metric span{font-size:.875rem}
body.identity-app.portal-body :is(button,.button){border-radius:999px;min-height:44px}
body.identity-app.portal-body .primary{background:var(--ui-accent);color:#183f32;border-color:var(--ui-accent)}
body.identity-app .panel-tabs{border:0;padding:6px;background:var(--ui-soft);border-radius:24px;gap:6px;overflow:auto}
body.identity-app .panel-tabs button{border:0;border-radius:999px;padding:12px 20px;white-space:nowrap}
body.identity-app .panel-tabs button[aria-selected=true]{background:var(--ui-accent);color:#183f32}
body.identity-app :is(.settings-tabs,.account-sections){gap:8px;border-color:var(--ui-line)}
body.identity-app :is(.settings-tabs button[aria-selected=true],.account-sections button[aria-current=page]){background:var(--ui-accent);color:#183f32}
body.identity-app .manager-filter-box{border-radius:20px;background:var(--ui-soft);border-color:var(--ui-line);margin-bottom:24px}
body.identity-app .manager-filter-box>summary{padding:20px 24px}
body.identity-app .activity{padding:24px;gap:24px}
body.identity-app .empty{padding:48px 24px}
body.identity-app .empty h2{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;font-size:2rem;letter-spacing:-.025em}
body.identity-app .badge{font-size:.8125rem;padding:6px 12px}
body.identity-app .operation-map{border-radius:20px;border:1px solid var(--ui-line)}
body.identity-app.portal-body button.activity-delete{background:transparent;border-color:#b76b67;color:#f1aaa3}
body.identity-app.portal-body button.activity-delete:hover{background:#542d2d;color:#fff0ed}
body.identity-app .dialog-top h2{font-family:'DM Sans',Arial,sans-serif;font-weight:500;font-size:1.75rem}
body.identity-app.account-page main{max-width:1280px;padding:40px 32px}
body.identity-app.account-page #authProfileName{font-family:'DM Sans',Arial,sans-serif;font-size:1.75rem;font-weight:500;letter-spacing:-.035em}
body.identity-app .account-shortcuts .button{text-align:center;white-space:normal}
body.identity-app .account-recent a:hover{background:var(--ui-soft)}
body.identity-utility{overflow:auto}
body.identity-utility main{max-width:800px;margin:48px auto;padding:40px;border:1px solid var(--ui-line);border-radius:24px;background:var(--ui-surface)}
body.identity-utility h1{font:500 clamp(2rem,5vw,3rem)/1.1 'DM Sans',Arial,sans-serif;letter-spacing:-.035em;color:var(--ui-ink)}
body.identity-utility .cta{background:var(--ui-accent);color:#183f32;border:0;border-radius:999px;min-height:48px;padding:14px 24px;font:600 .875rem 'DM Sans',Arial,sans-serif}
@media(hover:hover){body.identity-app :is(.primary,.route-open):hover,body.identity-ui .auth-primary:hover{background:#d3f393;color:#183f32}body.identity-app .portal-sidebar nav button:hover{background:#294e3e}body.identity-app .portal-sidebar nav button[aria-current=page]:hover{background:#d3f393}}
@media(max-width:1000px){body.identity-app .portal-shell{grid-template-columns:210px minmax(0,1fr);gap:16px;padding:0 16px 16px}body.identity-app.portal-body .portal-header{margin:16px}body.identity-app .card{padding:24px}}
@media(max-width:760px){body.identity-map .task-sheet{border-radius:24px 24px 0 0}body.identity-app.account-page .account-layout{grid-template-columns:1fr}body.identity-app.account-page main{padding:28px 20px}body.identity-app .header-actions{flex-wrap:wrap;gap:8px}}
@media(max-width:640px){body.identity-app.portal-body .portal-header{margin:12px;min-height:72px;padding:16px;border-radius:24px;gap:12px;flex-wrap:wrap}body.identity-app .portal-shell{display:block;padding:0 12px 16px}body.identity-app .portal-sidebar{padding:16px;border-radius:20px;margin-bottom:12px}body.identity-app .portal-sidebar nav button{font-size:0;flex-shrink:0}body.identity-app .portal-sidebar nav button span{font-size:.8125rem}body.identity-app.portal-body main{padding:24px 8px}body.identity-app .page-title{font-size:2rem}body.identity-app .card{padding:20px}body.identity-app .metric{padding:18px}body.identity-app .metric strong{font-size:1.75rem}body.identity-app .activity{padding:20px}body.identity-app .activity .actions{display:flex;flex-wrap:wrap}body.identity-app .activity .actions>*{flex:1 1 120px}body.identity-app .manager-filter-box>summary{padding:18px 20px}body.identity-app .panel-tabs{flex-wrap:nowrap}body.identity-app.account-page main{padding:24px 20px}body.identity-utility main{margin:20px 12px;padding:24px}}
@media(prefers-reduced-motion:reduce){body.identity-ui *,body.identity-ui *:before,body.identity-ui *:after{transition:none!important;animation:none!important}html:has(body.identity-ui){scroll-behavior:auto}}
