/* JFI conversational workspace: local fonts, calm surfaces, accessible controls. */
:root{--ink:#292d34;--muted:#777971;--paper:#faf9f6;--side:#f0efeb;--line:#e3e1db;--accent:#234f59;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:15px}
body{background:var(--paper)}[hidden]{display:none!important}button,input,textarea,select{color:var(--ink);border-color:var(--line)}button{border-radius:10px;transition:background .15s,box-shadow .15s}button:hover{background:#eeede8}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid #497781;outline-offset:3px}button:disabled{cursor:not-allowed}p,small{color:var(--muted)}a{color:var(--accent)}
#workspace{height:100dvh}aside{width:252px;background:var(--side);color:var(--ink);border-right:1px solid var(--line);padding:25px 18px;gap:0}.workspace-brand{display:flex;align-items:center;gap:10px;padding:0 8px;font-size:17px;letter-spacing:-.4px}.workspace-brand img{width:30px;height:30px;object-fit:contain;border-radius:7px}.workspace-brand strong{font-weight:600}.workspace-brand small{font-size:10px;letter-spacing:.25px;margin-top:4px}#new-chat{margin:28px 0 4px;padding:12px 14px;border:1px solid #d8d6cf;background:#faf9f6;color:var(--ink);font-size:13px;font-weight:600;box-shadow:0 2px 3px #292d3403}#new-chat:hover{background:white}.section-label{color:var(--muted);text-transform:none;letter-spacing:.2px;font-size:11px;margin-top:22px;padding:0 7px}.section-label select{background:#e8e7e1;border:0;font-size:12px;border-radius:8px;padding:10px;margin-top:9px}.aside-bottom{border-top:1px solid var(--line);gap:2px;padding-top:12px}.aside-bottom button,nav button{color:#62645f;background:transparent;font-size:12px;padding:10px 12px}.aside-bottom button:hover,nav button:hover{background:#e5e4de;color:var(--ink)}nav button[aria-current=true]{background:#e1e2dc;color:var(--ink)}nav:empty:after{content:'Your conversations will appear here';display:block;font-size:11px;color:#888981;padding:8px;line-height:1.6}
main{background:var(--paper)}header{min-height:77px;padding:18px 32px;border:0;background:transparent;gap:14px}header strong{font-size:13px;font-weight:600}header small{font-size:10px;margin-top:3px}header select{margin-left:auto;max-width:230px;font-size:12px;background:transparent;border:0;cursor:pointer;padding:10px}#sidebar-toggle{display:none;border:0;background:transparent;padding:8px;font-size:19px}#sidebar-scrim{display:none}
#messages{padding:22px max(28px,calc((100% - 760px)/2));scrollbar-width:thin;scrollbar-color:#d9d7d0 transparent}.welcome{margin:clamp(30px,8vh,95px) auto 0;text-align:center;max-width:690px}.welcome-mark{font-size:48px;line-height:1.1;color:var(--accent);margin-bottom:21px}.eyebrow{font-size:9px;letter-spacing:2px;color:#8a8b80}.welcome h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(36px,4vw,53px);font-weight:400;letter-spacing:-1.8px;line-height:1.12;margin:18px 0}.welcome p{font-size:13px;line-height:1.8;color:#7e8077;margin-top:20px}.suggestions{gap:9px;flex-wrap:wrap;margin-top:28px}.suggestions button{display:flex;align-items:center;gap:9px;background:transparent;border:1px solid #e0ded6;border-radius:12px;font-size:11px;color:#63675e;padding:12px 14px}.suggestions button span{font-size:17px;color:var(--accent)}.suggestions button:hover{background:white;box-shadow:0 3px 12px #292d3407}
.composer{width:min(760px,calc(100% - 56px));margin:8px auto 12px}#chat-form{border:1px solid #dedcd4;border-radius:22px;background:#fff;padding:13px 15px 8px;box-shadow:0 5px 25px #292d3406;transition:border-color .15s,box-shadow .15s}#chat-form:focus-within{border-color:#b3c4c4;box-shadow:0 5px 25px #234f590b}#prompt{min-height:62px;max-height:220px;resize:none;overflow-y:auto;background:transparent;padding:9px 8px;font-size:14px;line-height:1.6;border:0;color:var(--ink)}#prompt::placeholder{color:#93968e}.composer-bottom{padding:0 3px 4px;gap:10px;flex-wrap:nowrap}.composer-bottom span.composer-hint{font-size:10px;color:#a1a399;min-width:0;text-align:right;padding-right:9px}#attach-button{background:transparent;border:0;font-size:19px;padding:5px 9px;white-space:nowrap;display:flex;align-items:center;gap:7px}#attach-button span{font-size:11px;color:#72766b;min-width:0}#send{background:var(--accent);color:white;width:35px;height:35px;flex-shrink:0;border-radius:50%;padding:0;font-size:22px;font-weight:500;line-height:1}#send:hover{background:#173f49}.upload-help{display:none}.composer.dragging{outline:2px dashed #497781;outline-offset:6px}.composer.dragging .upload-help{display:block}.tool-row{gap:5px;margin-top:8px;align-items:center;padding:0 8px}.tool-row button{padding:6px 8px;font-size:10px;color:#74796f;border-radius:7px;background:transparent}.tool-row button:hover{background:#efeee8}.source-toggle{margin:0 0 0 auto;gap:5px;font-size:10px;color:#737a70;order:5}.source-toggle input{accent-color:var(--accent);width:13px;height:13px}.composer-note{text-align:center;font-size:9px;color:#94978c;margin:9px 0 0}#status{font-size:11px;color:var(--accent);min-height:15px}#chat-files{margin:0 auto;width:min(760px,calc(100% - 56px));padding:8px 4px;font-size:11px;color:#808477}.saved-file{display:flex;align-items:center;gap:12px;margin:6px 0;overflow-wrap:anywhere}.saved-file button{font-size:10px;padding:3px 6px}
.bubble{font-size:14px;line-height:1.85;margin:18px 0 26px;letter-spacing:.05px}.bubble.user{margin-left:18%;padding:12px 18px;border-radius:18px;background:#eeede7;color:var(--ink)}.bubble.assistant{padding:5px 0}.answer-content p{color:var(--ink);line-height:1.85;margin-bottom:15px}.answer-content h2,.answer-content h3,.answer-content h4{font-weight:600;letter-spacing:-.3px}.answer-content pre{background:#efeee9;border:1px solid #e3e1d9;border-radius:12px;padding:16px}.answer-content code{background:#eeeee7;color:#36565c}.answer-actions{gap:3px;margin-top:12px}.answer-actions button{font-size:10px;padding:6px 8px;color:#8b9187}.answer-actions button:hover{background:#efeee8;color:var(--accent)}.sources{gap:6px;padding-bottom:0;font-size:10px}.sources a,.sources span{background:#eeeee8;color:#687568;border-radius:8px;padding:5px 8px}.tool-activity{font-size:11px;background:transparent;border:1px solid var(--line);border-radius:10px;color:#7b857a;padding:10px 13px}.download-card{max-width:460px;border:1px solid #dedfd6;border-radius:16px;background:white;padding:19px 20px;gap:9px;box-shadow:0 3px 10px #292d3403}.download-card strong{font-size:13px}.download-card small{font-size:10px;color:#878e81}.download-card a{font-size:11px;background:var(--accent);padding:9px 13px;border-radius:9px}.preview-button{font-size:11px;background:#f3f4ee;color:var(--accent);border-color:#e0e5db;border-radius:9px;padding:9px 13px}
#pending-files{display:flex;flex-wrap:wrap;gap:7px}.attachment{display:flex;align-items:center;gap:7px;background:#f5f5ef;border:1px solid #e5e6dc;border-radius:11px;padding:6px;font-size:11px;max-width:100%;margin-bottom:7px}.attachment img{width:34px;height:34px;object-fit:cover;border-radius:6px}.attachment span{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment button{border:0;background:transparent;padding:4px 7px}
.workspace-panel{top:14px;right:14px;bottom:14px;border:1px solid #dedfd6;border-radius:20px;padding:28px;background:#fbfbf8;box-shadow:0 12px 70px #292d3420;width:440px}.workspace-panel h2{font-family:Georgia,Times New Roman,serif;font-size:29px;font-weight:400;color:var(--ink)}.workspace-panel p{font-size:13px;color:#798071}.workspace-panel label{font-size:12px}.workspace-panel input,.workspace-panel textarea,.workspace-panel select{background:white;font-size:13px;border-radius:10px}.panel-heading small{font-size:9px;letter-spacing:1.8px;color:#8b9382}.panel-heading .close{background:transparent;color:#818875;border:0;font-size:24px}.connector-card{background:white;border:1px solid #e3e5db;padding:17px;border-radius:14px;gap:13px}.connector-card h3{font-size:15px;font-weight:600}.connector-icon{border:0;background:#f3f5ed;color:#497781;padding:12px;border-radius:12px;font-size:23px}.connect-link{background:var(--accent);border-radius:10px;font-size:12px;color:white}.connector-detail{border-color:#e4e6dc;padding-top:22px}.connector-detail strong{font-size:13px}.connector-detail .scope-note{font-size:10px;color:#929986}.connector-prompt{background:white;font-size:12px;text-align:left;padding:12px;border-color:#e1e4d8}.advanced-mail summary{font-size:11px;color:#839079}.pdf-preview{width:min(1080px,calc(100vw - 28px))}.pdf-preview h2{font-family:Segoe UI,Arial,sans-serif;font-size:17px;font-weight:600}.preview-actions a{font-size:12px}.pdf-preview iframe{background:#eeeee8;border-color:var(--line)}dialog{border-color:var(--line);background:var(--paper)}
.login{max-width:480px;margin:9vh auto;padding:38px;border-radius:24px;background:white;border:1px solid var(--line);box-shadow:0 20px 75px #292d3407}.login .brand{background:#0a1628;border-radius:14px;padding:20px 25px;max-width:300px;margin:0 auto 35px}.brand img{display:block;width:100%;height:auto}.brand span{display:block;text-align:center;color:#9dc9d1;font-size:9px;letter-spacing:3px;margin-top:10px}.login h1{font-family:Georgia,serif;color:var(--ink);font-size:35px;font-weight:400;line-height:1.2;letter-spacing:-1px}.login p{color:#8c9184;font-size:13px}.google-signin{display:flex;justify-content:center;align-items:center;gap:12px;border:1px solid var(--line);background:#fafaf6;color:var(--ink);padding:14px;text-decoration:none;font-size:13px;border-radius:10px;margin-top:25px}.google-mark{font-size:19px;font-weight:bold;color:#4285f4}.login .login-note{font-size:10px;text-align:center;margin-top:17px}#login-error{color:#a54940}
@media(max-width:1000px){aside{width:218px;padding:24px 14px}header{padding:18px 23px}.composer{width:calc(100% - 44px)}.composer-bottom span.composer-hint{display:none}.welcome h1{font-size:42px}}
@media(max-width:760px){aside{position:fixed;inset:0 auto 0 0;width:260px;z-index:31;transform:translateX(-100%);transition:transform .2s;background:var(--side);padding:27px 18px}#workspace.nav-open aside{transform:translateX(0)}#sidebar-scrim:not([hidden]){display:block;position:fixed;inset:0;width:100%;height:100%;border:0;border-radius:0;background:#20282c55;z-index:30}#sidebar-toggle{display:block}header{display:flex;padding:12px 14px;min-height:66px;gap:9px}header select{width:auto;max-width:145px;margin-top:0;font-size:10px;padding:8px 2px}header strong{font-size:11px}header small{font-size:9px}#messages{padding:18px 22px}.welcome{margin:5vh auto 0}.welcome h1{font-size:38px;letter-spacing:-1.3px}.welcome-mark{font-size:38px}.eyebrow{font-size:8px;letter-spacing:1.2px}.welcome p{font-size:12px}.suggestions{flex-direction:row;gap:7px;margin-top:22px}.suggestions button{font-size:10px;padding:9px}.composer{width:calc(100% - 28px);margin-bottom:12px}#chat-form{border-radius:19px;padding:10px}#prompt{font-size:16px;min-height:60px}.tool-row{gap:0;padding:0}.tool-row button{font-size:10px;padding:6px}.source-toggle{font-size:9px}#chat-files{width:calc(100% - 28px)}.bubble{font-size:14px}.bubble.user{margin-left:8%}.workspace-panel{inset:8px;width:calc(100vw - 16px);max-width:none;padding:23px}.login{margin:5vh 18px;max-width:none;padding:27px}.login h1{font-size:30px}}
.tool-row button,.source-toggle{font-size:12px}.composer-note{font-size:11px}.answer-actions button,.sources{font-size:11px}.suggestions button{font-size:12px}.composer-bottom span.composer-hint{font-size:11px}.workspace-brand small{font-size:11px}.panel-heading small{font-size:10px}.connector-detail .scope-note{font-size:11px}
@media(max-width:760px){.tool-row{flex-wrap:wrap;gap:2px}.tool-row button,.source-toggle{font-size:11px}.composer-note{font-size:10px}.suggestions button{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
