/* Monio Pro: scoped styles for a private, review-first assistant. */
.pro-entry { display:flex; gap:15px; padding:21px; border-color:#d9d7f0; background:linear-gradient(120deg,#fff 25%,#f1effd 100%); }
.pro-entry-icon { flex:0 0 43px; width:43px; height:43px; display:grid; place-items:center; border:1px solid #dad5f6; border-radius:15px; color:#6553b5; background:#eeebfa; }
.pro-entry-icon svg { width:25px; height:25px; }
.pro-entry-copy { flex:1; min-width:0; }
.pro-entry-heading { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.pro-entry h2 { margin:0; font-size:1.04rem; letter-spacing:-.035em; }
.pro-entry p { margin:9px 0 13px; font-size:.83rem; line-height:1.55; color:var(--muted); }
.pro-entry small { display:block; margin-top:10px; color:var(--muted); font-size:.72rem; }
.button.pro-cta { min-height:42px; padding:10px 16px; background:#12213d; color:white; font-size:.81rem; }
.button.pro-cta:hover:not(:disabled) { background:#263e68; }
.pro-badge { display:inline-flex; padding:4px 8px; border-radius:8px; background:#eeebfa; color:#59439f; border:1px solid #d8cffa; font-weight:700; font-size:.65rem; white-space:nowrap; }
.pro-dialog { min-width:0; }
.pro-dialog-heading { gap:12px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.pro-dialog-heading .button { flex:0 0 auto; }
.pro-title { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.pro-title h2 { margin:0; letter-spacing:-.045em; }
.pro-dialog-heading p { font-size:.76rem; color:var(--muted); margin:5px 0 0; }
.pro-welcome { text-align:center; padding:21px 10px; }
.pro-orb { display:grid; place-items:center; width:65px; height:65px; margin:0 auto 17px; border-radius:23px; color:#d2baff; background:radial-gradient(circle at 0 0,#345385,#12213d 65%); box-shadow:0 8px 25px rgb(70 63 114 / 14%); }
.pro-orb svg { width:33px; height:33px; }
.pro-welcome h3 { font-size:1.75rem; line-height:1.15; letter-spacing:-.06em; margin:0 0 15px; }
.pro-welcome p { color:var(--muted); font-size:.88rem; line-height:1.6; }
.pro-plan-grid { display:grid; grid-template-columns:1fr; gap:12px; }
.pro-plan { padding:18px; border:1px solid var(--line); border-radius:18px; }
.pro-plan h3 { margin:8px 0 12px; letter-spacing:-.03em; }
.pro-plan .eyebrow { font-size:.64rem; }
.pro-plan ul { margin:0; padding-left:18px; color:var(--muted); font-size:.82rem; line-height:1.65; }
.pro-plan-featured { border-color:#cbc3e7; background:#f5f2fd; }
.pro-plan-featured .eyebrow { color:#6950a4; }
.pro-sale-note { text-align:center; }
.pro-loading { text-align:center; padding:40px 10px; color:var(--muted); }
.pro-loading svg { width:40px; height:40px; color:#6553b5; }
.pro-conversation { display:flex; flex-direction:column; gap:13px; padding:7px 0 18px; }
.pro-chat-empty { padding:18px 10px 3px; text-align:center; }
.pro-chat-empty .pro-orb { width:53px; height:53px; border-radius:19px; margin-bottom:13px; }
.pro-chat-empty h3 { font-size:1.16rem; letter-spacing:-.04em; margin:0 0 10px; }
.pro-chat-empty p { font-size:.82rem; line-height:1.7; color:var(--muted); margin:0; }
.pro-message { max-width:94%; padding:13px 15px; border:1px solid #e1e6ef; border-radius:17px 17px 17px 4px; background:#f2f5fa; }
.pro-message-user { align-self:flex-end; border-color:#c8e8dd; background:#e9f6f1; border-radius:17px 17px 4px 17px; }
.pro-message-author { display:block; color:var(--muted); font-size:.64rem; font-weight:750; margin-bottom:7px; }
.pro-message p { margin:0; color:var(--ink); font-size:.87rem; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
.pro-working { display:flex; align-items:center; gap:8px; font-size:.8rem; color:var(--muted); }
.pro-working span { width:8px; height:8px; border-radius:50%; background:#7661ad; animation:proPulse 1.3s ease-in-out infinite alternate; }
.pro-review { padding:18px 0 21px; border-top:1px solid var(--line); }
.pro-review-heading h3 { font-size:1.23rem; letter-spacing:-.04em; margin:7px 0; }
.pro-review-heading .eyebrow { color:#6a52a3; font-size:.62rem; }
.pro-review-heading p { color:var(--muted); font-size:.81rem; line-height:1.6; margin:0 0 16px; }
.pro-draft { margin-bottom:13px; border:1px solid #dce3ef; border-radius:19px; padding:16px; background:var(--paper); }
.pro-draft-header { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.pro-draft-header > div { min-width:0; }
.pro-draft-header .eyebrow { font-size:.59rem; }
.pro-draft-header h4 { overflow-wrap:anywhere; margin:6px 0 13px; font-size:.88rem; line-height:1.4; }
.pro-draft-header > strong { flex:0 0 auto; font-size:.99rem; font-variant-numeric:tabular-nums; letter-spacing:-.03em; }
.pro-duplicate { padding:13px; margin:2px 0 15px; border:1px solid #e9d7a9; background:#fff6e1; color:#6b4a10; border-radius:12px; font-size:.76rem; line-height:1.5; }
.pro-duplicate p { margin:6px 0; }
.pro-duplicate ul { padding-left:16px; margin:9px 0 0; }
.pro-duplicate li + li { margin-top:5px; }
.pro-question { padding:11px 13px; border-radius:11px; background:#f1edfb; color:#59439f; font-size:.79rem; line-height:1.6; }
.pro-decision { margin:3px 0 15px; }
.pro-draft-details > summary { min-height:39px; padding:5px 0 11px; color:var(--teal-dark); cursor:pointer; font-size:.8rem; font-weight:650; }
.pro-draft-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 11px; padding-top:7px; }
.pro-span { grid-column:1/-1; }
.pro-draft .field > span { font-size:.73rem; }
.pro-draft .field input,.pro-draft .field select { padding:10px 8px; }
.pro-draft-skipped { background:#f7f9fc; border-style:dashed; }
.pro-draft-skipped .pro-draft-header h4 { color:var(--muted); }
.pro-receipt-lines { margin-top:17px; padding-top:13px; border-top:1px solid var(--line); }
.pro-receipt-lines h5 { margin:0 0 9px; font-size:.81rem; }
.pro-receipt-lines ul { list-style:none; margin:0; padding:0; }
.pro-receipt-lines li { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:8px 0; font-size:.76rem; border-bottom:1px solid var(--line); }
.pro-receipt-lines li > span { min-width:0; overflow-wrap:anywhere; }
.pro-receipt-lines small { display:block; color:var(--muted); margin-top:3px; font-size:.65rem; }
.pro-receipt-lines strong { flex-shrink:0; font-variant-numeric:tabular-nums; }
.pro-receipt-lines p { color:var(--muted); font-size:.68rem; line-height:1.6; }
.pro-receipt-lines .button { width:100%; font-size:.71rem; padding:10px 3px; }
.pro-issues { padding:12px 12px 12px 29px; margin:15px 0 0; border-radius:11px; background:var(--danger-soft); color:var(--danger); font-size:.76rem; line-height:1.6; }
.pro-save-bar p { font-size:.78rem; line-height:1.5; color:var(--muted); }
.pro-composer { padding-top:17px; border-top:1px solid var(--line); }
.pro-composer textarea { resize:vertical; min-height:100px; }
.pro-default-account { margin-bottom:16px; }
.pro-attachment-actions { display:flex; gap:9px; margin-top:11px; }
.pro-file-picker { position:relative; flex:1; padding:12px 7px; cursor:pointer; font-size:.76rem; min-width:0; }
.pro-file-picker input { position:absolute; width:1px; height:1px; padding:0; opacity:0; overflow:hidden; }
.pro-file-picker:focus-within { outline:3px solid var(--focus); outline-offset:3px; }
.pro-file-picker svg { flex:0 0 18px; width:18px; height:18px; }
.pro-file-hint { margin:10px 0 15px; color:var(--muted); font-size:.69rem; line-height:1.6; }
.pro-disabled { opacity:.5; cursor:default; }
.pro-files { list-style:none; padding:0; margin:14px 0; }
.pro-files li { display:flex; align-items:center; gap:9px; padding:11px 0; border-top:1px solid var(--line); }
.pro-file-icon { color:#7259ad; flex:0 0 23px; }
.pro-file-icon svg { width:23px; height:23px; }
.pro-file-name { min-width:0; flex:1; overflow-wrap:anywhere; font-size:.75rem; font-weight:650; }
.pro-file-name small { display:block; margin-top:4px; font-weight:400; font-size:.64rem; color:var(--muted); }
.pro-files .button { flex:0 0 auto; padding:8px 5px; min-height:44px; font-size:.71rem; }
.pro-privacy { padding:13px; border:1px solid var(--line); border-radius:15px; background:#f8faff; margin:15px 0; }
.pro-check { display:flex; align-items:flex-start; gap:10px; font-size:.71rem; line-height:1.55; cursor:pointer; }
.pro-check + .pro-check { margin-top:13px; padding-top:13px; border-top:1px solid var(--line); }
.pro-check input { flex:0 0 19px; width:19px; height:19px; margin:2px 0 0; accent-color:var(--teal); }
.pro-privacy p { font-size:.66rem; line-height:1.55; color:var(--muted); margin:13px 0 0; }
.pro-conversation-footer { text-align:center; margin-top:14px; }
.pro-conversation-footer p { font-size:.66rem; color:var(--muted); line-height:1.5; margin:2px 0 0; }
.pro-error { padding:13px; background:var(--danger-soft); border-radius:12px; font-size:.81rem; line-height:1.6; }
@keyframes proPulse { to { opacity:.3; } }
@media (max-width:350px) { .pro-entry { padding:16px; gap:10px; } .pro-entry-icon { flex-basis:35px; width:35px; height:35px; } .pro-draft { padding:12px; } .pro-draft-grid { grid-template-columns:1fr; } .pro-draft-header { flex-wrap:wrap; } .pro-attachment-actions { flex-wrap:wrap; } .pro-file-picker { flex-basis:100%; } }
@media (min-width:500px) { .pro-plan-grid { grid-template-columns:1fr 1fr; } }
@media (prefers-reduced-motion:reduce) { .pro-working span { animation:none; } }
.bottom-nav .pro-nav { color:#7451ae; }
.pro-nav b { display:inline-block; font-size:.48rem; padding:2px 3px; border-radius:4px; background:#efe6ff; letter-spacing:.02em; }
@media (max-width:380px) { .bottom-nav { padding-left:3px; padding-right:3px; } .bottom-nav button { font-size:.56rem; } }
