/* Shared finish: quiet surfaces, clear actions, predictable feedback. */
:root{--ux-focus:var(--wa-accent,#79afff);--ux-hover:var(--wa-raised,#17283f);--ux-radius:10px}
html{scroll-padding-top:24px}body{font-feature-settings:'cv11','ss01';-webkit-font-smoothing:antialiased}
:where(a),:where(a:visited){color:var(--wa-accent,#80b2ff)}
::selection{background:#548efa50;color:var(--wa-text,#e4eeff)}
.skip-content{position:fixed;left:18px;top:12px;z-index:10000;padding:13px 20px;border-radius:10px;background:var(--wa-surface);color:var(--wa-text);border:2px solid var(--ux-focus);font-size:14px;text-decoration:none;transform:translateY(-160%)}.skip-content:focus{transform:none}
body :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--ux-focus);outline-offset:3px}main:focus{outline:none}
body :is(button,.primary-action,.secondary-button,.text-button){-webkit-tap-highlight-color:transparent;touch-action:manipulation}
body :is(button,.primary-action,.secondary-button):not(:disabled){transition:background .18s,border-color .18s,color .18s,box-shadow .18s}
body :is(button,.primary-action,.secondary-button):active:not(:disabled){filter:brightness(.93);box-shadow:none}
body button:disabled{cursor:not-allowed;opacity:.48;transform:none!important;box-shadow:none!important}
body :is(.secondary-button,.text-button){border-radius:var(--ux-radius);box-shadow:none;transform:none}
body :is(.secondary-button,.text-button):hover:not(:disabled){background:var(--ux-hover);color:var(--wa-accent);box-shadow:none;transform:none}
body .text-button{font-weight:500}.text-button:not(.remove-button):hover{color:var(--wa-accent)}
body :is(.primary-action,.secondary-button){min-height:40px;align-items:center;justify-content:center;line-height:1.4;gap:8px}
body :is(.primary-action,.secondary-button)>span{color:inherit;font-size:inherit;line-height:inherit}
body :is(input,select,textarea){accent-color:var(--wa-accent);scroll-margin:90px}body :is(input,textarea)::placeholder{color:var(--wa-muted);opacity:.7}
body :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea):focus-visible{outline-offset:2px}
body :is(.wallet-table,.evolution-table,.comparison-table,.distribution-table){font-variant-numeric:tabular-nums}
body :is(.wallet-table,.evolution-table,.comparison-table) tbody tr{transition:background .15s}
body :is(.wallet-table,.evolution-table,.comparison-table) tbody tr:hover{background:color-mix(in srgb,var(--wa-accent) 5%,transparent)}
body :is(.wallet-table-wrap,.table-scroll,.comparison-table-wrap,.distribution-table-wrap){overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--wa-border) transparent}
.app-sidebar{scrollbar-width:thin;scrollbar-color:var(--wa-border) transparent}.sidebar-nav{gap:5px}.sidebar-link{font-weight:500}.sidebar-link.is-active{font-weight:600}
.workspace-layout .wallet-header h1{font-size:clamp(30px,3.6vw,44px);line-height:1.15;letter-spacing:-1.5px}.alchemy-editor-page .wallet-header h1{font-size:28px;letter-spacing:-.8px}
body .app-sidebar .sidebar-collapse{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:10px}.sidebar-collapsed .sidebar-collapse{right:20px}
body .sidebar-collapse:active{transform:none}.sidebar-collapse:before{content:'';position:absolute;inset:-5px}
/* Center both the grid track and its contents; place-items alone leaves a lone track at the edge. */
body :is(.mobile-menu-toggle,.sidebar-collapse,.sidebar-mobile-close,.password-visibility,.section-quick-delete,.section-quick-duplicate,.section-move-handle,.block-resize-handle),body .sidebar-bottom-controls .theme-toggle{place-items:center!important;place-content:center!important;justify-content:center!important;align-content:center!important;line-height:1;box-sizing:border-box}
body :is(.mobile-menu-toggle,.sidebar-collapse,.password-visibility,.section-quick-delete,.section-quick-duplicate,.section-move-handle,.block-resize-handle)>svg{display:block;align-self:center;justify-self:center;flex:none;margin:0}
body :is(.mobile-menu-toggle,.sidebar-collapse) svg{width:20px;height:20px}
body .theme-toggle-icon{display:grid;place-items:center;place-content:center;flex:0 0 20px;width:20px;height:20px;line-height:1}
.theme-toggle-icon svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sidebar-link .sidebar-label{font:inherit;line-height:1.45;color:inherit}
.section-quick-duplicate svg,.block-resize-handle svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.alchemy-editor-page .alchemy-document .document-block-tools>summary{place-items:center;place-content:center;justify-content:center;line-height:1}
.alchemy-editor-page .alchemy-document .document-block-tools>summary:after{content:'';display:block;width:17px;height:17px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm-2-5h4l.6 3 2 .9 2.5-1.4 2 3.5-2.2 2v2l2.2 2-2 3.5-2.5-1.4-2 .9-.6 3h-4l-.6-3-2-.9L5 18.5 3 15l2.2-2v-2L3 9l2-3.5L7.5 7l2-.9L10 3Z' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.workspace-layout .app-sidebar button.sidebar-mobile-close{display:none!important;position:absolute;right:16px;top:25px;margin:0;box-shadow:none}
body :is(.library-menu,.editor-more,.document-insert-menu)>summary{min-height:38px;display:flex;align-items:center;border:1px solid transparent;border-radius:9px;transition:background .18s,border-color .18s}
body :is(.library-menu,.editor-more,.document-insert-menu)>summary:hover,body :is(.library-menu,.editor-more,.document-insert-menu)[open]>summary{background:var(--ux-hover);border-color:var(--wa-border)}
body :is(.library-menu,.editor-more,.document-insert-menu)>div{background:var(--wa-surface);border-color:var(--wa-border);box-shadow:0 16px 45px #0003;overflow:hidden}
body :is(.library-menu,.editor-more,.document-insert-menu)>div button{min-height:40px;border-radius:7px;color:var(--wa-text);line-height:1.4}
body :is(.library-menu,.editor-more) button:has(+.notebook-sync),body #notebook-archive{color:#ec8f9d}
body dialog{color:var(--wa-text);background:var(--wa-surface);border:1px solid var(--wa-border);border-radius:18px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);overscroll-behavior:contain;scrollbar-width:thin;box-shadow:0 28px 100px #0005}
body dialog::backdrop{background:#02081580;backdrop-filter:blur(7px)}
body:has(dialog[open]),body.navigation-open{overflow:hidden}
body dialog[open]{animation:ux-dialog-in .18s ease-out}body dialog :is(h2,h3){line-height:1.25;letter-spacing:-.5px}
body .section-editor-heading,body .section-editor-footer{background:var(--wa-surface);border-color:var(--wa-border)}
body .section-editor-footer{gap:12px;padding-block:16px}.section-editor-footer>button{min-height:42px}
body .section-editor-content{scrollbar-width:thin;scrollbar-color:var(--wa-border) transparent}
body .section-preview-pane{background:var(--wa-inset);border-color:var(--wa-border)}
body :is(button[aria-busy=true]){position:relative;cursor:wait;opacity:.75}
body button[aria-busy=true]::after{content:'';display:inline-block;width:13px;height:13px;flex:0 0 13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-left:8px;animation:ux-spin .7s linear infinite}
.password-field{position:relative;display:flex;align-items:center;min-width:0}.accounts-page .password-field input{padding-right:50px;margin:0}
body .password-visibility{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;min-height:38px;margin:0;padding:9px;border:0;border-radius:8px;background:transparent;color:var(--wa-muted);box-shadow:none;font-size:0}
body .password-visibility:hover{background:var(--ux-hover);color:var(--wa-accent);transform:translateY(-50%);box-shadow:none}.password-visibility svg{width:20px;height:20px;display:block}
.caps-lock-hint{display:block;margin:7px 0 0;color:var(--wa-accent);font-size:12px}.caps-lock-hint[hidden]{display:none}
.market-method{margin:16px 0 24px;color:var(--wa-muted);font-size:13px;line-height:1.8}.market-method>summary{cursor:pointer;color:var(--wa-accent);font-weight:500;padding:7px 0}.market-method>p{max-width:900px;margin-top:10px}
.analysis-chart .benchmark-chip{margin:0!important}.analysis-chart .benchmark-choices{align-items:center;gap:6px}.analysis-chart .fund-comparison-label{margin:0;line-height:1.5}
#notebook-save-state[data-state=saved]{color:var(--wa-accent)}#notebook-save-state[data-state=error]{color:#ef9aab}#notebook-save-state[data-state=pending]{color:var(--wa-muted)}
#notebook-save-state[data-state=saving]::before{content:'';display:inline-block;width:8px;height:8px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;margin-right:7px;animation:ux-spin .7s linear infinite}
.alchemy-search-result[aria-selected=true]{background:var(--ux-hover)!important;border-color:var(--wa-accent)!important}
.alchemy-editor-page .alchemy-blocks>section>.section-quick-actions:focus-within{opacity:1;pointer-events:auto}
.editor-load-error{max-width:650px;margin:20px auto;padding:40px;border:1px solid var(--wa-border);border-radius:18px;background:var(--wa-surface);text-align:center}.editor-load-error h2{font-size:26px;margin:0 0 18px}.editor-load-error p{color:var(--wa-muted);font-size:15px;line-height:1.8}.editor-load-error>div{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:26px}.editor-load-error a{text-decoration:none}
.alchemy-load-failed :is(.notebook-manager,.document-ribbon,.alchemy-editor-layout){display:none!important}
html[data-theme=light] #notebook-save-state[data-state=error]{color:#a83c50!important}
.research-filter-panel{box-shadow:none}.research-result-head{letter-spacing:.15px}.research-fund-card{transition:background .18s,border-color .18s!important}
.library-analysis{transition:border-color .18s,background .18s}.library-analysis:focus-within,.library-analysis:hover{border-color:color-mix(in srgb,var(--wa-accent) 45%,var(--wa-border))}
html[data-theme=light] body dialog::backdrop{background:#18325440}
html[data-theme=light] body :is(.library-menu,.editor-more,.document-insert-menu)>div button{color:var(--wa-text)}
html[data-theme=light] body #notebook-archive{color:#a33e50}
@keyframes ux-spin{to{rotate:360deg}}@keyframes ux-dialog-in{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
@media(max-width:900px){body .app-sidebar .sidebar-collapse{display:none}.app-sidebar{z-index:50}.workspace-layout .app-sidebar button.sidebar-mobile-close{display:grid!important}.sidebar-scrim{z-index:49!important}.workspace-layout .wallet-header{padding-left:74px!important}.mobile-menu-toggle{width:44px!important;height:44px!important;left:14px!important}.sidebar-bottom-controls .theme-toggle{width:44px;height:44px}.sidebar-nav .sidebar-link{min-height:46px}.sidebar-brand{padding-top:5px}}
@media(max-width:540px){.document-ribbon .document-format-controls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:100%;padding:0 0 8px;border-right:0;border-bottom:1px solid var(--wa-border)}.document-ribbon .document-style-label{grid-column:1/-1;width:100%;margin:0 0 4px}.document-ribbon .document-style-label select{width:100%;max-width:none}.document-ribbon .document-format-controls button{display:flex;align-items:center;justify-content:center;width:100%;min-height:40px;margin:0;padding:8px}.document-ribbon .document-view-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin:0}.document-ribbon .document-view-actions button{width:100%;min-width:0;min-height:40px;white-space:normal;line-height:1.4;justify-content:center}.document-ribbon .document-export-status{grid-column:1/-1}.document-ribbon .document-export-status:empty{display:none}.editor-load-error{padding:28px 22px}}
@media(pointer:coarse){body :is(.primary-action,.secondary-button,.text-button){min-height:44px}.document-ribbon button,.analysis-chart-periods button{min-height:40px!important}body .password-visibility{width:42px;height:42px}body :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea){font-size:max(16px,1em)}body button:is([aria-label^="Fechar"],[aria-label^="Dispensar"]):not(.sidebar-scrim){width:40px!important;height:40px!important;min-height:40px!important;flex-basis:40px!important}}
@media(prefers-reduced-motion:reduce){body *,body *::before,body *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.skip-content,.password-visibility{display:none!important}body:has(dialog[open]){overflow:visible}}

/* Confirmations share one layout across documents and portfolio operations. */
dialog.notebook-confirm-dialog{position:fixed;inset:0;margin:auto;width:min(440px,calc(100vw - 32px));height:fit-content;min-height:0;max-width:none;max-height:calc(100dvh - 32px);box-sizing:border-box;padding:30px;border:1px solid var(--wa-border);border-radius:18px;background:var(--wa-surface);color:var(--wa-text);box-shadow:0 24px 90px #0005;overflow:auto;text-align:left;animation:notebook-confirm-enter .18s ease-out}
.notebook-confirm-dialog:not([open]){display:none}.notebook-confirm-dialog::backdrop{background:#04102091;backdrop-filter:blur(5px)}
.notebook-confirm-close{position:absolute;top:16px;right:16px;margin:0!important;box-shadow:none;transform:none!important}
.notebook-confirm-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:20px;border:1px solid var(--wa-border);border-radius:13px;background:var(--wa-raised);color:var(--wa-accent)}.notebook-confirm-icon svg{width:24px;height:24px}
.notebook-confirm-dialog h2{margin:0 40px 16px 0;font-size:24px;line-height:1.35;letter-spacing:-.6px;color:var(--wa-text)}
.notebook-confirm-dialog .notebook-confirm-name{margin:0 0 14px;padding:12px 14px;border:1px solid var(--wa-border);border-radius:9px;background:var(--wa-inset);color:var(--wa-text);font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.notebook-confirm-description{font-size:14px;line-height:1.7;color:var(--wa-muted);margin:0}
.notebook-confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:26px}.notebook-confirm-actions button{display:inline-flex;align-items:center;justify-content:center;text-align:center;flex:1;width:auto;min-height:42px;margin:0;padding:10px 14px;border-radius:9px;font-size:14px;line-height:1.5;box-shadow:none;transform:none}.notebook-confirm-actions .secondary-button{color:var(--wa-text);background:var(--wa-raised);border:1px solid var(--wa-border)}
.notebook-confirm-actions .notebook-confirm-delete{background:#b83e56;color:#fff!important;border:1px solid #b83e56}.notebook-confirm-actions .notebook-confirm-delete:hover{background:#a62f47;border-color:#a62f47}.notebook-confirm-actions button:disabled{opacity:.6;cursor:wait}.notebook-confirm-error{padding:10px 12px;margin:16px 0 0;border:1px solid #bd6375;border-radius:8px;background:#b83e5612;color:#f49bad;font-size:13px;line-height:1.6}.notebook-confirm-error[hidden]{display:none}
html[data-theme=light] .notebook-confirm-dialog .notebook-confirm-error{color:#a22e45!important}
@keyframes notebook-confirm-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:440px){dialog.notebook-confirm-dialog{padding:24px}.notebook-confirm-actions{gap:10px;flex-direction:column}.notebook-confirm-dialog h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){dialog.notebook-confirm-dialog{animation:none}}

/* A collapsed sidebar is an icon rail; its controls stay in the normal flow. */
body .app-sidebar{height:100dvh;min-height:0;overflow-y:auto;overflow-x:hidden}
.app-sidebar>*{flex-shrink:0}
.sidebar-presentation{margin-top:8px}
@media(min-width:901px){
 body .workspace-layout.sidebar-collapsed .app-sidebar{padding:18px 12px}
 body .sidebar-collapsed .app-sidebar .sidebar-brand{width:44px;min-height:44px;margin:0 auto 8px;justify-content:center;gap:0}
 body .sidebar-collapsed .app-sidebar .sidebar-collapse{position:static;align-self:center;margin:0 0 12px;flex:none}
 body .sidebar-collapsed .app-sidebar .sidebar-collapse:before{display:none}
 body .sidebar-collapsed .app-sidebar .sidebar-section-label{display:none}
 body .sidebar-collapsed .app-sidebar .sidebar-nav{width:100%}
 body .sidebar-collapsed .app-sidebar .sidebar-link{display:grid;place-items:center;justify-content:center;width:44px;min-width:44px;min-height:44px;padding:0;margin-inline:auto;gap:0}
 body .sidebar-collapsed .app-sidebar .sidebar-label{display:none}
 body .sidebar-collapsed .app-sidebar .sidebar-link>svg{width:20px;height:20px;margin:0}
 body .sidebar-collapsed .app-sidebar .sidebar-shortcuts{border-top:1px solid var(--wa-border);padding-top:12px;margin-top:16px}
 body .sidebar-collapsed .app-sidebar .sidebar-bottom-controls{width:100%;align-items:center;padding-top:16px}
 body .sidebar-collapsed .app-sidebar .sidebar-logout{width:100%;margin:0}
 body .sidebar-collapsed .app-sidebar .sidebar-bottom-controls .sidebar-link{width:44px;height:44px;margin:0 auto;padding:0;justify-content:center}
}
/* The drawer and its JavaScript use the same breakpoint, including small tablets. */
@media(max-width:900px){
 .workspace-layout,.workspace-layout.sidebar-collapsed{display:block}
 body .workspace-layout .app-sidebar{position:fixed;inset:0 auto 0 0;width:min(290px,84vw);padding:22px 14px 18px;transform:translateX(-105%);transition:transform .22s ease;box-shadow:20px 0 60px #0006}
 body .workspace-layout.sidebar-open .app-sidebar{transform:translateX(0)}
 body .workspace-layout .app-sidebar .sidebar-brand{margin:0 34px 24px 4px}
 body .workspace-layout .app-sidebar .sidebar-section-label{display:block;visibility:visible}
 body .workspace-layout .app-sidebar .sidebar-label{display:inline}
 body .workspace-layout .app-sidebar .sidebar-link{justify-content:flex-start;padding-inline:12px}
 body .workspace-layout .app-sidebar .sidebar-bottom-controls{align-items:flex-start}
 body .workspace-layout .app-sidebar .sidebar-bottom-controls .sidebar-account{width:100%}
 body .workspace-layout .app-sidebar .sidebar-bottom-controls .sidebar-logout{width:100%;margin:0}
 body .workspace-layout .app-sidebar .sidebar-bottom-controls .sidebar-logout .sidebar-link{width:100%;padding-inline:12px;justify-content:flex-start}
 body .workspace-layout .app-sidebar .sidebar-bottom-controls .theme-toggle{display:grid;padding:8px}
 body .workspace-layout .app-sidebar .theme-toggle-label{display:none}
 .workspace-layout .mobile-menu-toggle{position:absolute;top:50%;display:grid;margin:0;padding:0;border:1px solid var(--wa-border);border-radius:11px;background:var(--wa-surface);color:var(--wa-accent);transform:translateY(-50%)}
 .workspace-layout .sidebar-scrim{position:fixed;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:#02060eaa;opacity:0;visibility:hidden}
 .workspace-layout.sidebar-open .sidebar-scrim{opacity:1;visibility:visible}
}

