/* Aventis interactions: white working surfaces, navy navigation, shared feedback.
   Standard cursors and semantic labels remain the source of interaction meaning. */
:root{--av-motion:170ms;--av-hover:#f3f7fc;--av-selected:#e4edff;--av-float-shadow:0 12px 38px #14213d21}
.sidebar{background:#14213d;color:#f4f7fc;border-right-color:#14213d}
.sidebar .brand-home,.sidebar .brand-home:hover,.sidebar .brand,.sidebar .sidebar-user strong{color:#fff}
.sidebar .brand-sub,.sidebar .app-version,.sidebar .app-version span,.sidebar .sidebar-user span{color:#b8c6dc}
.sidebar .side-nav a{color:#dbe5f5}
.sidebar .side-nav a:hover{background:#213451;color:#fff}
.sidebar .side-nav a.active{background:#284783;color:#fff}
.sidebar .side-nav a.active .nav-icon{background:#dce7ff;color:#1d4ed8}
.sidebar .secondary-nav a.active::before{background:#a7c4ff}
.sidebar .nav-tools{border-color:#334561}
.sidebar .nav-tools summary{color:#bac9e0}
.sidebar .nav-tools summary:hover{color:#fff}
.sidebar .sidebar-add-deal{background:#1d304f;color:#f5f8ff;border-color:#3c5276}
.sidebar .sidebar-add-deal:hover{background:#284783;border-color:#6b88bb;color:#fff}
.sidebar .user-avatar{background:#304968;color:#fff}
.sidebar .logout-button,.sidebar .sidebar-close{color:#c7d5eb}
.sidebar .logout-button:hover,.sidebar .sidebar-close:hover{background:#294362;color:#fff}
.sidebar-scroll{scrollbar-color:#536681 #14213d}

/* Row hover never takes control away from links, buttons, inputs or selection. */
.app-shell .content tbody tr{transition:background-color var(--av-motion) ease}
.app-shell .content tbody tr:hover,.app-shell .content tbody tr:focus-within{background:var(--av-hover)}
.app-shell .content tbody tr[aria-selected="true"],.app-shell .content tbody tr.is-selected,
.app-shell .content tbody tr:has(input[type="checkbox"]:checked){background:var(--av-selected);box-shadow:inset 3px 0 #2563eb}
.app-shell .content tbody tr[aria-selected="true"]:hover,.app-shell .content tbody tr.is-selected:hover{background:#dce8ff}
[data-row-href]{cursor:pointer}
[data-row-href] :is(input:not([type]),input[type="text"],input[type="search"],input[type="email"],input[type="tel"],input[type="url"],input[type="number"],textarea,[contenteditable="true"]){cursor:text}
.table-link,[data-preview-url][href],.financial-drill-link{border-radius:3px;text-underline-offset:3px;transition:color var(--av-motion),background-color var(--av-motion)}
.table-link:hover,[data-preview-url][href]:hover{color:#1d4ed8;text-decoration:underline}
.financial-drill-link{color:#1d4ed8;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:#8daaf0;cursor:pointer;font-variant-numeric:tabular-nums}
.financial-drill-link:hover,.financial-drill-link:focus-visible{color:#1742ab;background:#edf3ff;text-decoration-style:solid;text-decoration-color:currentColor}
.desk-metrics .financial-drill-link{font:inherit;color:inherit}
.financial-drilldown .reconciliation-total{font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;color:#14213d}

/* Secondary tools are compact; the action menu remains discoverable on touch. */
.av-quick-actions{display:inline-block;vertical-align:middle;margin:4px 0;position:relative;text-align:left;font-size:11px}
.av-quick-actions>summary{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 9px;gap:6px;list-style:none;border:1px solid #d5dfed;border-radius:5px;background:#fff;color:#46566e;cursor:pointer;transition:background-color var(--av-motion),border-color var(--av-motion),opacity var(--av-motion)}
.av-quick-actions>summary::-webkit-details-marker{display:none}
.av-quick-actions>summary::after{content:"⋯";font-size:16px;line-height:1}
.av-quick-actions[open]>summary,.av-quick-actions>summary:hover{border-color:#9bb2da;color:#1d4ed8;background:#edf3ff}
.av-quick-menu{position:static;z-index:150;min-width:190px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:auto;padding:6px;background:#fff;border:1px solid #d7e0ed;border-radius:8px;box-shadow:var(--av-float-shadow);color:#14213d}
.av-interactions-ready .av-quick-menu{position:fixed}
.av-quick-menu>a,.av-quick-menu>button{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;min-height:34px;border:0;border-radius:4px;background:#fff;color:#14213d;font:inherit;text-align:left;text-decoration:none;white-space:normal;cursor:pointer}
.av-quick-menu>a:hover,.av-quick-menu>button:hover,.av-quick-menu>a:focus-visible,.av-quick-menu>button:focus-visible{background:#edf3ff;color:#1d4ed8}
@media(hover:hover) and (pointer:fine){
  tr:not(:hover):not(:focus-within) .av-quick-actions:not([open])>summary{opacity:.38}
  tr:hover .av-quick-actions>summary,tr:focus-within .av-quick-actions>summary{opacity:1}
}

.av-copy,[data-copy],.av-preview-trigger,[data-document-preview-url]{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:28px;padding:4px 7px;margin:0 2px;border:1px solid transparent;border-radius:5px;background:transparent;color:#526684;font:500 11px/1.35 Inter,Arial,sans-serif;vertical-align:middle;cursor:pointer;white-space:normal;transition:background-color var(--av-motion),color var(--av-motion),border-color var(--av-motion)}
.av-copy:hover,[data-copy]:hover,.av-preview-trigger:hover,[data-document-preview-url]:hover{background:#edf3ff;border-color:#d6e3ff;color:#1d4ed8}
.av-copy.is-copied,[data-copy].is-copied{background:#edf8f1;color:#18704a}
.av-preview-trigger{min-width:26px;margin-left:4px}
button.badge[data-preview-url]{font:inherit;font-size:11px;cursor:pointer;border:1px solid transparent}
button.badge[data-preview-url]:hover{border-color:currentColor;filter:brightness(.98)}
[data-tooltip]{text-underline-offset:3px}
button[data-tooltip]:not(.btn):not(.av-copy):not([data-copy]):not(.badge){cursor:help}

/* Floating previews are inserted only after an intentional hover/focus or click. */
.av-tooltip{position:fixed;z-index:220;max-width:min(340px,calc(100vw - 24px));padding:9px 12px;border-radius:6px;background:#14213d;color:#fff;font:400 12px/1.55 Inter,Arial,sans-serif;box-shadow:0 5px 20px #14213d24;overflow-wrap:anywhere;pointer-events:auto}
.av-hovercard{position:fixed;z-index:200;width:min(350px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;padding:17px;background:#fff;color:#14213d;border:1px solid #d7e0ed;border-top:3px solid #0f737a;border-radius:8px;box-shadow:var(--av-float-shadow);font:400 12px/1.5 Inter,Arial,sans-serif;overflow-wrap:anywhere;text-align:left}
.av-hovercard h2,.av-hovercard h3{font-size:14px;margin:0 0 5px;font-weight:600;color:#14213d}
.av-hovercard p{margin:5px 0 10px;color:#52617b;font-size:11px}
.av-hovercard dl{display:block;margin:13px 0}
.av-preview-fields>div{display:grid;grid-template-columns:minmax(80px,.8fr) minmax(0,1.4fr);gap:7px 12px;margin:7px 0}
.av-hovercard dt{color:#596981;font-size:11px}
.av-hovercard dd{margin:0;font-size:12px;font-weight:500;overflow-wrap:anywhere}
.av-hovercard a{display:inline-block;margin-top:5px;font-weight:500;color:#1d4ed8}
.av-hovercard img{display:block;max-width:100%;max-height:220px;object-fit:contain;margin:10px auto;border-radius:4px}
.av-hovercard .av-preview-close{position:absolute;right:8px;top:8px;min-width:28px;min-height:28px;border:0;border-radius:4px;background:#fff;color:#596981;padding:4px;cursor:pointer}
.av-hovercard .av-preview-close:hover{background:#edf3ff;color:#1d4ed8}
.av-hovercard .av-preview-title{padding-right:27px}

.av-document-dialog{position:fixed;inset:0;z-index:260;width:min(1050px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:22px;border:1px solid #d7e0ed;border-radius:10px;background:#fff;color:#14213d;box-shadow:0 22px 70px #14213d4d;overflow:auto;font:400 13px/1.5 Inter,Arial,sans-serif}
.av-document-dialog::backdrop{background:#101b32a3}
.av-document-dialog h2{font-size:17px;margin:0 0 5px;overflow-wrap:anywhere}
.av-document-dialog p{font-size:12px;color:#596981;margin:6px 0 12px;overflow-wrap:anywhere}
.av-document-dialog>header,.av-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.av-document-dialog button{cursor:pointer}
.av-document-dialog img{display:block;width:auto;max-width:100%;max-height:65vh;object-fit:contain;margin:0 auto;background:#f7f9fc}
.av-document-dialog iframe{display:block;width:100%;height:65vh;border:1px solid #e3e8ef;border-radius:4px;background:#f7f9fc}
.av-dialog-body{min-height:120px;overflow:auto;padding:8px 0}
.av-dialog-body .av-preview-fields{max-width:680px;margin:0 0 16px}
.av-dialog-body .av-preview-fields dt{font-size:11px;color:#596981}
.av-dialog-body .av-preview-fields dd{margin:0;font-size:12px;overflow-wrap:anywhere}
.av-dialog-open{overflow:hidden}
.av-dialog-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0}
.av-dialog-actions a,.av-dialog-actions button{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid #d3dce8;border-radius:5px;background:#fff;color:#1d4ed8;text-decoration:none;font:500 12px/1.4 Inter,Arial,sans-serif}
.av-dialog-actions a:hover,.av-dialog-actions button:hover{background:#edf3ff}

/* Existing forms keep server validation, real success messages and entered data. */
.btn,button,input[type="submit"],summary{transition:background-color var(--av-motion),border-color var(--av-motion),color var(--av-motion),box-shadow var(--av-motion),transform var(--av-motion)}
.btn:active:not(:disabled):not([aria-disabled="true"]),button:active:not(:disabled):not([aria-disabled="true"]){transform:translateY(1px)}
.btn:focus-visible,button:focus-visible,summary:focus-visible,[data-preview-url]:focus-visible{outline:3px solid #93b5ff;outline-offset:3px}
.btn:disabled,button:disabled,input:disabled,.btn[aria-disabled="true"],button[aria-disabled="true"]{opacity:.6;cursor:not-allowed;box-shadow:none}
.btn.is-loading,button.is-loading{cursor:progress;opacity:.8}
.is-loading::before{content:"";display:inline-block;width:12px;height:12px;margin-right:7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:av-progress .8s linear infinite}
@keyframes av-progress{to{transform:rotate(360deg)}}
.av-interaction-message{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:300;max-width:min(520px,calc(100vw - 24px));padding:11px 16px;border:1px solid #d6e3ff;border-radius:7px;background:#14213d;color:#fff;box-shadow:var(--av-float-shadow);font:500 12px/1.5 Inter,Arial,sans-serif;overflow-wrap:anywhere}
.av-save-error{display:block;padding:12px 14px;margin:0 0 16px;border:1px solid #f0c9c5;border-left:3px solid #b42318;border-radius:5px;background:#fff4f2;color:#8b251d;font-size:12px;line-height:1.55}
.av-field-error{display:block;margin:5px 0;color:#b42318;font-size:12px}
.av-save-error a{color:#8b251d;text-decoration:underline}

@media(max-width:650px){
 .av-quick-actions>summary{min-height:36px;padding:6px 10px}
 .av-copy,[data-copy],.av-preview-trigger,[data-document-preview-url]{min-height:34px}
 .av-document-dialog{padding:15px;width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
 .av-hovercard{width:min(350px,calc(100vw - 24px));padding:14px}
 .av-document-dialog iframe{height:58vh}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important}
 .app-shell tbody tr,.btn,button,input[type="submit"],summary,.table-link,.financial-drill-link,[data-preview-url],[data-copy]{transition:none!important}
 .is-loading::before{animation:none}
 .btn:active,button:active{transform:none!important}
}
@media print{
 .av-quick-actions,.av-copy,[data-copy],.av-preview-trigger,[data-document-preview-url],.av-tooltip,.av-hovercard,.av-document-dialog,.av-interaction-message{display:none!important}
 .financial-drill-link{color:inherit;text-decoration:none}
 .app-shell .content tbody tr:hover,.app-shell .content tbody tr:focus-within{background:transparent}
}
