/* FileHub AI: restrained extension to the existing visual identity. No gradients or external fonts. */
:root{--fh-blue:var(--primary, var(--accent,#3768d5));--fh-text:#202637;--fh-muted:#687383;--fh-border:#e5e9f0;--fh-bg:#f8f9fc;--fh-white:#fff;--fh-shadow:0 12px 38px rgba(23,38,61,.045)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body.fh-ai{margin:0;background:var(--fh-bg);color:var(--fh-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}.fh-ai button,.fh-ai input,.fh-ai select{font:inherit}.fh-ai button{cursor:pointer}.fh-ai a{color:inherit;text-decoration:none}.fh-ai a:hover{text-decoration:underline}.fh-ai :focus-visible{outline:3px solid #79a5ff;outline-offset:3px}.fh-sr{position:absolute!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;width:1px!important;height:1px!important;overflow:hidden!important;white-space:nowrap!important}.fh-hidden{display:none!important}
.fh-shell{max-width:1650px;min-height:100vh;margin:auto;display:flex;flex-direction:column}.fh-head{height:76px;flex:none;background:#fff;display:flex;align-items:center;gap:30px;padding:0 clamp(16px,4vw,56px);border-bottom:1px solid var(--fh-border)}.fh-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;letter-spacing:-.75px;white-space:nowrap}.fh-brand img{object-fit:contain;border-radius:8px}.fh-links{display:flex;align-items:center;gap:26px;margin-left:auto;font-size:14px;color:#546174}.fh-links [aria-current=page]{font-weight:700;color:var(--fh-text)}.fh-menu{display:none}
.fh-body{display:grid;grid-template-columns:280px minmax(0,1fr);flex:1;min-height:0}.fh-sidebar{padding:30px 18px;background:#fff;border-right:1px solid var(--fh-border);display:flex;flex-direction:column;gap:16px;min-width:0}.fh-side-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.fh-side-top h2{font-size:15px;margin:0;letter-spacing:-.1px}.fh-icon-button{width:32px;height:32px;border-radius:10px;border:1px solid var(--fh-border);background:#fff;color:#344053;font-size:24px;line-height:1}.fh-search,.fh-settings select,.fh-chat input{background:#fff;border:1px solid #dce2ea;color:var(--fh-text);border-radius:11px;padding:11px 13px;min-width:0;width:100%}.fh-search:focus,.fh-settings select:focus,.fh-chat input:focus{border-color:var(--fh-blue);outline:3px solid #eaf0ff}.fh-history{display:flex;flex-direction:column;gap:5px;max-height:60vh;overflow-y:auto}.fh-history-item{display:flex;flex-direction:column;align-items:start;text-align:left;padding:12px 10px;background:transparent;border:0;border-radius:11px;min-width:0;gap:2px}.fh-history-item:hover,.fh-history-item.active{background:#f0f4fc}.fh-history-item strong{font-size:13px;font-weight:650;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fh-history-item span{font-size:11px;color:var(--fh-muted);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fh-side-bottom{margin-top:auto;border-top:1px solid var(--fh-border);padding-top:18px}.fh-small{font-size:12px;color:var(--fh-muted);margin:0}.fh-usage{font-size:13px;font-weight:600;margin-top:5px}.fh-progress{height:5px;border-radius:99px;background:#eaf0f8;overflow:hidden;margin:10px 0}.fh-progress span{height:100%;display:block;width:0;background:var(--fh-blue);transition:width .25s}.fh-linkbtn{background:transparent;border:0;padding:7px 0;color:var(--fh-blue);font-size:12px}
.fh-main{padding:clamp(22px,4.6vw,66px);min-width:0}.fh-page{max-width:1040px;margin:0 auto}.fh-intro{max-width:650px;margin:0 0 36px}.fh-kicker{font-size:11px!important;letter-spacing:1.5px;font-weight:800;color:var(--fh-blue)!important;margin:0 0 11px!important}.fh-intro h1,.fh-doc-head h1{margin:0;line-height:1.14;letter-spacing:-1.45px;font-size:clamp(31px,3.7vw,49px);font-weight:750}.fh-intro>p:last-child{font-size:16px;line-height:1.75;color:var(--fh-muted);max-width:650px;margin:18px 0 0}.fh-card{border-radius:18px;background:var(--fh-white);border:1px solid var(--fh-border);box-shadow:var(--fh-shadow)}.fh-upload-card{padding:clamp(18px,3.2vw,32px)}.fh-drop{border:1.5px dashed #bfcddd;background:#fbfcfe;border-radius:15px;min-height:238px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:26px;transition:background .2s,border-color .2s;cursor:pointer}.fh-drop:hover,.fh-drop.fh-drag{background:#f3f7ff;border-color:var(--fh-blue)}.fh-upload-icon{border:1px solid var(--fh-border);background:#fff;border-radius:14px;width:57px;height:57px;display:grid;place-items:center;color:var(--fh-blue);margin:0 0 12px}.fh-drop h2{font-size:17px;line-height:1.3;overflow-wrap:anywhere;margin:0}.fh-drop p{margin:7px 0;font-size:13px;color:var(--fh-muted)}.fh-drop p span{color:var(--fh-blue);text-decoration:underline;text-underline-offset:2px}.fh-drop small{font-size:11px;color:#798494;margin-top:6px}.fh-settings{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.fh-settings>div{min-width:0}.fh-settings label{display:block;font-size:12px;font-weight:700;margin-bottom:8px;color:#405067}.fh-settings select{appearance:auto;min-height:46px}.fh-primary{display:inline-flex;justify-content:center;align-items:center;gap:11px;border:1px solid var(--fh-blue);border-radius:12px;padding:12px 22px;background:var(--fh-blue);color:#fff;min-height:47px;font-weight:700;font-size:14px;transition:filter .16s}.fh-primary:hover{filter:brightness(.93)}.fh-primary:disabled{opacity:.65;cursor:wait}.fh-upload-card>.fh-primary{width:100%}.fh-note{font-size:11px;color:#7c8796;margin:15px 0 0;text-align:center}.fh-below{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:35px}.fh-below strong{font-size:14px}.fh-below p{font-size:12px;color:var(--fh-muted);line-height:1.6;margin:5px 0 0}
.fh-doc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:28px}.fh-doc-head h1{font-size:clamp(27px,3vw,36px);overflow-wrap:anywhere}.fh-muted{font-size:13px;color:var(--fh-muted);overflow-wrap:anywhere}.fh-actions{display:flex;flex-wrap:wrap;gap:8px}.fh-secondary,.fh-quiet{border:1px solid #dfe5ed;color:#394a5f;background:#fff;padding:9px 12px;border-radius:10px;font-size:13px;font-weight:600;white-space:nowrap}.fh-secondary:hover{background:#f4f6f9}.fh-danger{color:#b12525}.fh-explained,.fh-chat{padding:clamp(20px,3.2vw,34px);margin-bottom:24px}.fh-explained>h2,.fh-chat>h2{font-size:23px;letter-spacing:-.5px;margin:0 0 12px}.fh-summary{font-size:16px;line-height:1.75;margin:0 0 20px}.fh-detail{padding:19px 0;border-top:1px solid var(--fh-border)}.fh-detail h3{font-size:15px;margin:0 0 8px}.fh-detail p,.fh-detail li{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.fh-detail p{margin:0}.fh-detail ul{padding-left:20px;margin:0}.fh-detail li{margin:5px 0}.fh-chat>.fh-muted{margin:-5px 0 20px}.fh-chat #chatMessages{display:grid;gap:11px;max-height:450px;overflow:auto}.fh-chat-msg{border:1px solid var(--fh-border);padding:13px 15px;border-radius:12px;overflow-wrap:anywhere;white-space:pre-wrap;font-size:13px;line-height:1.7}.fh-chat-msg.user{background:#f4f7fc;justify-self:end;max-width:86%}.fh-chat-msg.reply{justify-self:start;width:100%}.fh-chat-msg strong{display:block;font-size:10px;letter-spacing:.5px;color:var(--fh-muted);margin-bottom:5px}.fh-chat form{display:flex;gap:10px;margin-top:21px}.fh-chat form input{flex:1;min-width:0}.fh-toast{position:fixed;bottom:24px;right:24px;z-index:10;background:#202c44;color:#fff;padding:13px 17px;border-radius:12px;max-width:min(430px,calc(100vw - 32px));box-shadow:0 8px 40px #0002;font-size:13px}.fh-footer{padding:22px clamp(16px,4vw,56px);display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--fh-border);background:#fff;font-size:12px;color:var(--fh-muted)}.fh-footer span:last-child{display:flex;gap:18px}
@media(max-width:850px){.fh-body{grid-template-columns:minmax(0,1fr)}.fh-sidebar{position:fixed;z-index:8;left:0;top:76px;bottom:0;width:min(310px,86vw);transform:translateX(-105%);box-shadow:10px 20px 60px #0002;transition:transform .2s;overflow-y:auto}.fh-sidebar.open{transform:translateX(0)}.fh-menu{display:block;margin-left:auto}.fh-links{gap:16px;margin-left:auto}.fh-links a[aria-current=page]{display:none}.fh-main{padding:30px 20px 50px}.fh-below{gap:18px}}
@media(max-width:580px){.fh-head{height:67px;gap:10px}.fh-sidebar{top:67px}.fh-brand{font-size:18px}.fh-brand img{width:29px;height:29px}.fh-links{margin-left:auto;gap:11px;font-size:12px}.fh-links a:nth-child(1){display:none}.fh-menu{font-size:12px;padding:8px 10px}.fh-main{padding:27px 14px 38px}.fh-intro{margin-bottom:24px}.fh-intro h1{font-size:32px}.fh-intro>p:last-child{font-size:14px;margin-top:12px}.fh-settings{grid-template-columns:1fr;gap:13px}.fh-upload-card{padding:15px}.fh-drop{min-height:210px;padding:20px}.fh-below{grid-template-columns:1fr;gap:17px;margin-top:25px}.fh-doc-head{flex-direction:column}.fh-actions{width:100%}.fh-chat form{flex-direction:column}.fh-footer{padding:20px 16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}


/* FileHub AI chat polish: copy answers and hold conversation position */
.fh-ai .fh-chat-reply-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.fh-ai .fh-chat-reply-head strong{margin-bottom:0}
.fh-ai .fh-chat-copy{flex:none;border:1px solid #e0e5ee;background:#fff;color:#526078;padding:5px 11px;border-radius:8px;font-size:12px;font-weight:600;line-height:1.4;min-height:32px;cursor:pointer}
.fh-ai .fh-chat-copy:hover{background:#f3f6fb;color:#293a52}
.fh-ai .fh-chat-answer{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:580px){.fh-ai .fh-chat-copy{min-height:36px}}


/* FileHub AI UX refinement: styled rename and formatted notes export */
.fh-ai .fh-ux-dialog{border:0;background:transparent;color:var(--fh-text);width:min(440px,calc(100vw - 28px));max-width:none;padding:0;border-radius:18px;box-shadow:0 24px 72px #0e1d3650;max-height:calc(100dvh - 32px);overflow:auto}
.fh-ai .fh-ux-dialog::backdrop{background:rgba(16,29,49,.43)}
.fh-ai .fh-ux-dialog-card{background:#fff;border:1px solid var(--fh-border);padding:clamp(22px,4.5vw,28px);border-radius:18px}
.fh-ai .fh-ux-dialog h2{font-size:21px;line-height:1.3;letter-spacing:-.4px;margin:0 0 8px}
.fh-ai .fh-ux-dialog .fh-muted{margin:0 0 22px;line-height:1.55}
.fh-ai .fh-ux-dialog-form label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}
.fh-ai .fh-ux-input{width:100%;min-width:0;font-size:15px;border:1px solid #cbd5e2;background:#fff;color:#202637;border-radius:10px;padding:12px 13px;outline-offset:2px}
.fh-ai .fh-ux-input:focus{border-color:var(--fh-blue);outline:2px solid #cadcff}
.fh-ai .fh-ux-hint{font-size:12px;color:var(--fh-muted);margin:6px 0 0}
.fh-ai .fh-ux-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px}
.fh-ai .fh-ux-actions-stack{display:flex;flex-direction:column;align-items:stretch}
.fh-ai .fh-ux-actions-stack button{width:100%;min-height:44px}
.fh-ai .fh-ux-plain{border:0;background:transparent;color:#627081;font-size:13px;padding:10px 15px}
.fh-ai .fh-ux-plain:hover{color:#202637}
@media(max-width:580px){.fh-ai .fh-ux-dialog{width:calc(100vw - 24px)}.fh-ai .fh-ux-actions:not(.fh-ux-actions-stack){flex-direction:column-reverse}.fh-ai .fh-ux-actions:not(.fh-ux-actions-stack) button{width:100%}}
