/* Contract details modal — follows supplied design; #0082ff, Open Sans */
.md-back{position:fixed;inset:0;background:rgba(17,24,39,.42);display:flex;justify-content:center;align-items:flex-start;padding:40px 20px;box-sizing:border-box;z-index:50;font-family:'Open Sans','Segoe UI',system-ui,sans-serif;color:#1F2937}
.md-back[hidden]{display:none}
.md{position:relative;width:100%;max-width:940px;max-height:calc(100vh - 80px);background:#fff;border-radius:18px;box-shadow:0 24px 64px rgba(17,24,39,.28);display:flex;flex-direction:column;overflow:hidden}
.md button,.md input{font-family:inherit}
.md-h{padding:26px 32px 18px;display:flex;flex-direction:column;gap:14px;border-bottom:1px solid #EEF0F3;flex:none}
.md-top{display:flex;align-items:flex-start;gap:12px}
.md-top .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.md h2{margin:0;font-size:26px;font-weight:600;letter-spacing:-.3px;color:#111827}
.md .ty{font-size:15px;color:#374151}
.md-act{display:flex;align-items:center;gap:6px}
/* wknd16: Open PDF (<a.btn>) + Delete (<button.btn.red>) matched pair — kill styles.css button margin-top/right, padding, bg, hover */
.md .btn,.md a.btn,.md button.btn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;height:44px;min-height:44px;padding:0 16px!important;margin:0!important;border:1px solid #D5D9E0;border-radius:10px;background:#fff!important;color:#0082ff;text-decoration:none;font:600 14px/1 'Open Sans','Segoe UI',system-ui,sans-serif;cursor:pointer;box-sizing:border-box;vertical-align:middle;transition:background-color .15s,border-color .15s,color .15s}
.md .btn svg,.md a.btn svg,.md button.btn svg{flex:none;display:block;width:15px;height:15px}
.md .btn.pri{background:#0082ff!important;border-color:#0082ff;color:#fff}.md .btn.pri:hover{background:#006fd9!important;border-color:#006fd9}
.md .btn.sm{height:40px;min-height:40px;padding:0 12px!important;font-size:13px}
.md .btn.gray{color:#374151}.md .btn.gray:hover{background:#F2F3F5!important}
.md .btn.red{border-color:#F1C4C0;color:#B42318;background:#fff!important}.md .btn.red:hover{background:#FEF3F2!important;border-color:#F1C4C0;color:#B42318}
.md .btn.redfill{background:#B42318!important;border-color:#B42318;color:#fff}.md .btn.redfill:hover{background:#9A1C14!important;border-color:#9A1C14}
.md .btn:hover{background:#F8FAFC!important}
.md .btn.pri:hover{background:#006fd9!important}.md .btn.red:hover{background:#FEF3F2!important}.md .btn.redfill:hover{background:#9A1C14!important}
.md .icon{width:44px;height:44px;margin:0!important;padding:0!important;border-radius:10px;border:0;background:transparent!important;color:#374151;display:inline-flex!important;align-items:center;justify-content:center;cursor:pointer;box-sizing:border-box;flex:none}
.md .icon:hover{background:#F2F3F5!important}
.md-chips{display:flex;flex-wrap:wrap;gap:8px}
.md-chips span{display:inline-flex;flex-direction:column;gap:1px;padding:8px 14px;border-radius:10px;background:#F5F6F8;font-size:14px;font-weight:600;color:#111827}
.md-chips b{font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:#5B6472}
.md-sum{margin:0;font-size:15px;line-height:1.55;color:#374151}
.md-file{font-size:13px;color:#5B6472}
.md-tabs{display:flex;gap:4px;padding:0 24px;border-bottom:1px solid #E3E6EB;flex:none}
.md-tabs button{min-height:48px;padding:0 12px;border:0;border-bottom:3px solid transparent;background:transparent;font-size:14px;font-weight:500;color:#5B6472;cursor:pointer}
.md-tabs button:hover{color:#111827}
.md-tabs button[aria-selected=true]{border-bottom-color:#0082ff;color:#0082ff;font-weight:600}
.md-tabs .n{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;background:#EEF0F3;font-size:12px;color:#5B6472}
.md-p{padding:22px 32px 28px;display:flex;flex-direction:column;gap:16px;overflow:auto;flex:1 1 auto;min-height:0}
.md-ph{display:flex;align-items:center;justify-content:space-between;gap:12px}
.md h3{margin:0;font-size:17px;font-weight:600;color:#111827}
.md .hint2{font-size:13px;color:#5B6472}
.md .form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:14px;border:1px solid #A8D3FF;border-radius:12px;background:#F5FAFF}
.md label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#374151}
.md input[type=date],.md input[type=text]{min-height:42px;padding:0 12px;border:1px solid #D5D9E0;border-radius:9px;font-size:14px;color:#111827;box-sizing:border-box}
/* timeline */
.tl{display:flex;flex-direction:column;position:relative}
.tl:before{content:'';position:absolute;left:21px;top:22px;bottom:22px;width:2px;background:#E3E6EB}
.ev{position:relative;display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:12px}
.ev:hover{background:#F8FAFC}
.ev .dot{position:relative;z-index:1;width:20px;height:20px;flex:none;border-radius:999px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;color:#fff}
.ev .dt{flex:0 0 120px;font-size:14px;font-weight:600}
.ev .lb{flex:1 1 200px;min-width:0;font-size:15px}
.ev .cd{flex:none;font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px}
.ev .hv{opacity:0;transition:opacity .12s}.ev:hover .hv,.ev:focus-within .hv{opacity:1}
.ev .mini{width:44px;height:44px;border:0;border-radius:10px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none}
.ev .mini:hover{background:#EEF0F3}
.rem-on{background:#E6F3FF!important;border-color:#A8D3FF!important;color:#0082ff!important}
.today{display:flex;align-items:center;gap:14px;padding:6px 12px}
.today .dot{width:20px;display:flex;justify-content:center;position:relative;z-index:1}
.today .dot i{width:12px;height:12px;border-radius:999px;background:#0082ff;box-shadow:0 0 0 4px #fff,0 0 0 6px #A8D3FF}
.today b{font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#0082ff}
.today hr{flex:1;border:0;height:2px;background:#A8D3FF;margin:0}
.remed{margin:0 0 8px 46px;padding:16px;border:1px solid #A8D3FF;border-radius:12px;background:#F5FAFF;display:flex;flex-direction:column;gap:12px}
.pillset{display:flex;flex-wrap:wrap;gap:8px}
.pillset button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid #D5D9E0;border-radius:999px;background:#fff;color:#374151;font-size:13px;font-weight:500;cursor:pointer}
.pillset button[aria-pressed=true]{background:#0082ff;border-color:#0082ff;color:#fff;font-weight:600}
/* docs */
.drop{border:2px dashed #C9D2DD;border-radius:12px;padding:22px;text-align:center;color:#5B6472;font-size:14px;background:#FAFBFC;cursor:pointer}
.drop b{color:#0082ff}
.lst{display:flex;flex-direction:column;border:1px solid #EEF0F3;border-radius:12px;max-height:min(48vh,480px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.li{display:flex;align-items:center;gap:14px;padding:12px 16px;border-top:1px solid #EEF0F3;font-size:14px}
.li:first-child{border-top:0}
.li:hover{background:#F8FAFC}
.li .nm{flex:1;min-width:0;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.li .mt2{color:#5B6472;font-size:13px;flex:none}
.li .ft{flex:none;font-size:11px;font-weight:700;letter-spacing:.4px;color:#5B6472;background:#EEF0F3;border-radius:6px;padding:2px 7px;text-transform:uppercase}
.li.click{cursor:pointer}
.li .sub2{display:block;font-weight:400;color:#5B6472;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* chat */
.chat{display:flex;flex-direction:column;gap:10px}
.msg{max-width:78%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.5}
.msg.bot{background:#F2F3F5;color:#1F2937;align-self:flex-start;border-bottom-left-radius:4px}
.msg.me{background:#0082ff;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.sugg{display:flex;flex-wrap:wrap;gap:8px}
.sugg button{min-height:36px;padding:0 12px;border:1px solid #D5D9E0;border-radius:999px;background:#fff;font-size:13px;color:#374151;cursor:pointer}
.sugg button:hover{border-color:#0082ff;color:#0082ff}
.ask{display:flex;gap:8px;flex:none;padding:14px 32px 22px;border-top:1px solid #EEF0F3}
.ask input{flex:1}
/* confirm */
.cf{position:absolute;inset:0;z-index:10;background:rgba(17,24,39,.35);display:flex;align-items:flex-start;justify-content:center;padding:140px 20px}
.cf[hidden]{display:none}
.cf>div{width:100%;max-width:440px;background:#fff;border-radius:16px;box-shadow:0 24px 64px rgba(17,24,39,.3);padding:24px;display:flex;flex-direction:column;gap:12px}
.cf h3{font-size:19px}.cf p{margin:0;font-size:14px;line-height:1.55;color:#374151}
.cf .r{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px}
.cf .r .btn{margin:0!important}
.ask[hidden]{display:none}
.ask{align-items:center}
.ask input{border-radius:999px!important;padding:0 18px!important}
.sendc{flex:none;width:40px;height:40px;border-radius:999px;border:0;background:#0082ff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.sendc:hover{background:#006fd9}.sendc:disabled{background:#C9CED6;cursor:default}
.sendc svg{width:18px!important;height:18px!important;flex:none}.ask input:focus{outline:none;border-color:#0082ff!important;box-shadow:0 0 0 3px rgba(0,130,255,.15)}
/* v7 composer */
.ask{display:block!important}.ask[hidden]{display:none!important}
.composer{display:flex;align-items:flex-end;gap:8px;border:1px solid #D5DAE1;border-radius:22px;padding:6px 6px 6px 18px;background:#fff}
.composer:focus-within{border-color:#0082ff;box-shadow:0 0 0 3px rgba(0,130,255,.15)}
.composer textarea{flex:1;border:0!important;outline:none;resize:none;font:14px/20px 'Open Sans',sans-serif;padding:6px 0;margin:0;background:transparent;box-shadow:none!important;overflow-y:hidden;max-height:160px;color:#1f2733}
.composer .sendc{width:32px;height:32px}.composer .sendc svg{width:16px!important;height:16px!important}
/* 20261022-cp: long titles truncate with ellipsis (full value in title attr) */
.md-top .t>*{min-width:0;max-width:100%}
.md #mt,.md .ty{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
/* 20261022-fix1: centre the modal in the content area right of the left toolbar (width measured into --cx-nav-w by the modal script); backdrop still covers the window */
.md-back{padding-left:calc(var(--cx-nav-w,0px) + 20px)}
.md .btn:disabled{opacity:.6;cursor:default}
/* delete success card */
.md-done{position:fixed;inset:0;z-index:70;background:rgba(17,24,39,.42);display:flex;align-items:center;justify-content:center;padding:20px 20px 20px calc(var(--cx-nav-w,0px) + 20px);box-sizing:border-box;font-family:'Open Sans','Segoe UI',system-ui,sans-serif}
.md-done-c{width:100%;max-width:400px;background:#fff;border-radius:18px;box-shadow:0 24px 64px rgba(17,24,39,.28);padding:28px 28px 24px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;box-sizing:border-box}
.md-done-i{width:44px;height:44px;border-radius:50%;background:#12B76A;display:flex;align-items:center;justify-content:center}
.md-done-c h3{margin:0;font-size:19px;font-weight:600;color:#111827}
.md-done-ok{min-height:44px;min-width:120px;padding:0 20px;border:1px solid #0082ff;border-radius:10px;background:#0082ff;color:#fff;font:600 14px 'Open Sans','Segoe UI',system-ui,sans-serif;cursor:pointer}
.md-done-ok:hover{background:#006fd9;border-color:#006fd9}
.md-done-ok:focus-visible{outline:3px solid #A8D3FF;outline-offset:2px}

/* wknd3: Significant Events hover icons match modal toolbar affordance */
.ev .mini svg{width:22px!important;height:22px!important;flex:none}

/* wknd16 2026-10-26: modal header Open PDF + Delete vertical align (legacy styles.css button margins) */

/* Oct 30 2026 (D1): delete success shown inside the confirm card */
.cf>div.is-done{align-items:center;text-align:center}
.cf>div.is-done>*:not(.cf-done-v){display:none!important}
.cf-done-v{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
.cf-done-v h3{margin:0;font-size:19px;font-weight:600;color:#111827}

/* Oct 30 2026: drag-and-drop feedback for supporting documents */
.drop.over{border-color:#0082ff;background:#E8F2FF;color:#0B5CAD}
#mdropall{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;background:rgba(0,130,255,.12);border:3px dashed #0082ff;box-sizing:border-box;pointer-events:none;font-family:"Open Sans","Segoe UI",system-ui,sans-serif}
#mdropall.on{display:flex}
#mdropall>div{background:#fff;border-radius:16px;padding:22px 28px;box-shadow:0 24px 64px rgba(17,24,39,.25);display:flex;flex-direction:column;gap:6px;align-items:center;font-size:16px;color:#111827}
#mdropall b{color:#0082ff}
#mdropall span{font-size:14px;color:#5B6472}
