:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#252321;background:#fff;font-size:15px;--ink:#252321;--muted:#6b625c;--brand:#bd261b;--gold:#806221;--wash:#f9eeeb;--surface:#faf8f5;--line:#eee8e2;--danger:#ad352c}
*{box-sizing:border-box}
body{margin:0}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.55}
a{color:inherit;text-decoration:none}
p{line-height:1.6}
button{border:0;background:none;color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #bd261b;outline-offset:3px}
::selection{background:#f3dfb1}
input,textarea{caret-color:var(--brand)}
[hidden]{display:none!important}
.icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;top:-100px;left:20px;padding:12px;background:#fff;z-index:100}
.skip:focus{top:10px}
.muted{color:var(--muted)}
.small{font-size:13px}
.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 18px;border-radius:10px;font-weight:550;font-size:14px;white-space:nowrap}
.primary{background:var(--brand);color:white}
.primary:hover{background:#9e1e15}
.secondary{background:#f5f0e5;color:#745920}
.secondary:hover{background:#eee5d1}
.text-button{color:var(--brand);font-size:14px;font-weight:550;padding:5px 0;display:inline-flex;gap:6px;align-items:center}
.text-button:hover{text-decoration:underline;text-underline-offset:4px}
.full{width:100%}
.icon-button{width:40px;height:40px;display:grid;place-items:center;border-radius:9px}
.icon-button:hover{background:#eee8e1}
.startup{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px}
.workspace{display:flex;min-height:100dvh}
.sidebar{width:224px;position:fixed;inset:0 auto 0 0;background:var(--surface);display:flex;flex-direction:column;padding:29px 16px 12px;z-index:30}
.brand{display:flex;align-items:center;gap:10px;padding:0 9px;letter-spacing:-.02em;font-size:18px;font-weight:650}
.brand img,.login-brand img{object-fit:contain;flex-shrink:0}
.new-chat{margin:33px 4px 23px;display:flex;align-items:center;gap:10px;background:white;box-shadow:0 2px 9px #30241810;border-radius:10px;padding:12px 13px;font-size:14px;font-weight:550;text-align:left}
.new-chat:hover{background:var(--wash)}
.nav-item{display:flex;gap:12px;align-items:center;min-height:44px;padding:10px 13px;border-radius:9px;font-size:14px;color:#625b55;margin:3px 0}
.nav-item:hover{background:#f2ede7}
.nav-item.selected{background:#f8eae6;color:#a22319;font-weight:600}
.nav-label{color:#6b625c;font-size:11px;margin:0 12px 12px}
.history{margin-top:35px;overflow:auto;flex:1;scrollbar-width:thin}
.history-item{display:block;padding:9px 12px;width:100%;text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#655d56;font-size:12px;border-radius:7px}
.history-item:hover{background:var(--wash)}
.history-empty{font-size:11px;line-height:1.8;color:#6b625c;margin:0 12px}
.sidebar-bottom{margin-top:24px}
.account{display:flex;align-items:center;gap:9px;margin-top:17px;padding:18px 2px 0;border-top:1px solid var(--line)}
.avatar{display:inline-grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:#f0e4c6;color:#795e27;font-weight:550;font-size:13px}
.account-name{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-name small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.account .icon-button{width:30px}
.account .icon{width:16px}
.workspace-body{margin-left:224px;min-width:0;width:calc(100% - 224px)}
.topbar{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;color:#756b63;font-size:12px}
.topbar-right{display:flex;align-items:center;gap:7px;font-size:11px}
.connection-dot{width:6px;height:6px;background:#a69b91;border-radius:50%}
.connection-dot.connected{background:#398052}
.menu-toggle{display:none}
.content-page{max-width:1280px;margin:auto;padding:30px 48px 60px}
.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin:0 0 32px}
.page-heading h1{font-size:30px;letter-spacing:-.035em;font-weight:600;margin:0 0 10px;line-height:1.2}
.page-heading p{font-size:14px;color:var(--muted);margin:0;max-width:650px}
.heading-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.filterbar{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:24px}
.search-field{display:flex;align-items:center;gap:9px;flex:1;max-width:430px;background:var(--surface);border-radius:10px;padding:0 13px;color:#786d64}
.search-field input{border:0;background:transparent;min-height:44px;width:100%;outline-offset:1px;font-size:14px}
.search-field .icon{width:18px}
input,textarea,select{color:var(--ink)}
input::placeholder,textarea::placeholder{color:#6b625c;opacity:1}
select{background:#f7f5f2;border:0;padding:12px 32px 12px 13px;border-radius:9px;min-height:44px;max-width:100%}
.list-labels,.rep-row{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(130px,1fr) 85px minmax(130px,1fr) 20px;gap:18px;align-items:center}
.list-labels{font-size:11px;color:#6b625c;padding:13px 16px;border-bottom:1px solid var(--line)}
.rep-row{font-size:13px;min-height:78px;padding:15px 16px;border-bottom:1px solid #f0ece7}
.rep-row:hover{background:#fcfaf7}
.country-cell{display:flex;align-items:center;gap:12px;font-weight:550}
.country-cell small{display:block;font-size:10px;font-weight:400;color:#6b625c;margin-top:5px}
.country-code{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#f5eedf;color:#7b622f;font-size:11px;flex-shrink:0}
.rep-name{color:#655d56;line-height:1.5}
.source-count{color:var(--muted);font-variant-numeric:tabular-nums}
.rep-row>.icon{width:14px;color:#a3988d}
.badge{display:inline-flex;align-items:center;width:fit-content;padding:5px 9px;background:#f3efea;color:#70645a;border-radius:6px;font-size:10px;line-height:1.4;font-weight:500}
.badge.active,.badge.approved{background:#e9f1e8;color:#34623e}
.badge.review{background:#f7f0dd;color:#806623}
.badge.archived,.badge.rejected{background:#f3e9e6;color:#8e5546}
.list-footnote{margin-top:20px;color:#6b625c;font-size:11px}
.mobile-label{display:none}
.back-link{font-size:12px;color:var(--muted);display:inline-flex;gap:8px;align-items:center;margin-bottom:26px}
.back-link .icon{width:16px}
.detail-layout{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(300px,1fr);gap:65px;align-items:start}
.detail-layout h2,.settings-list h2{font-size:17px;font-weight:550;letter-spacing:-.02em;margin:0 0 23px}
.sources-panel>p{font-size:13px;margin-top:-12px}
.form-grid label,.wide-form label,.login-form label{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:550;margin-bottom:23px}
label input,label textarea,label select{width:100%;font-weight:400;font-size:14px}
label input,label textarea{background:#f7f5f2;border:1px solid transparent;border-radius:9px;padding:13px 14px;min-height:45px}
label textarea{line-height:1.65;resize:vertical}
.form-grid fieldset,.wide-form fieldset{border:0;padding:0;margin:0;min-width:0}
.wide-form{max-width:730px}
.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.form-actions{display:flex;align-items:center;gap:15px;margin-top:28px}
.form-result,.form-error{color:var(--danger);font-size:13px}
.source-item{padding:19px 0;border-bottom:1px solid var(--line)}
.source-item:first-child{padding-top:4px}
.source-title{display:flex;align-items:center;gap:9px}
.source-title .icon{width:17px}
.source-title strong{font-size:12px;font-weight:550}
.source-title .badge{margin-left:auto}
.source-url{font-size:12px;color:var(--brand);display:block;margin:10px 0;overflow-wrap:anywhere;line-height:1.6;text-decoration:underline;text-underline-offset:3px}
.source-item .small{font-size:11px}
.inline-form{margin-top:25px;display:flex;gap:10px;align-items:flex-end}
.inline-form label{font-size:12px;flex:1;min-width:0}
.inline-form input{margin-top:8px}
.inline-form button{margin-bottom:0}
.page-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:20px}
.page-tabs button{padding:10px 1px 18px;font-size:13px;color:var(--muted);position:relative}
.page-tabs button.active{color:var(--brand);font-weight:550}
.page-tabs button.active:after{content:'';position:absolute;height:2px;bottom:-1px;left:0;right:0;background:var(--brand)}
.page-tabs button span{margin-left:8px;font-size:11px;background:#f4efe8;padding:2px 6px;border-radius:5px}
.empty-state{text-align:center;max-width:480px;margin:75px auto;padding:0 16px}
.empty-state>.icon{width:42px;height:42px;color:#a78c55;stroke-width:1}
.empty-state h2{font-weight:550;font-size:21px;letter-spacing:-.025em;margin:22px 0 10px}
.empty-state p{font-size:14px;color:var(--muted);margin-bottom:24px}
.event-row{display:grid;grid-template-columns:140px 1fr 20px;align-items:center;gap:24px;padding:25px 5px;border-bottom:1px solid var(--line)}
.event-row:hover,.knowledge-row:hover{background:#fcfaf7}
.event-date{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.event-row h2,.knowledge-row h2{font-size:15px;font-weight:550;margin:0 0 7px;line-height:1.5}
.event-row p,.knowledge-row p{font-size:12px;color:var(--muted);margin:0}
.knowledge-row{display:flex;align-items:center;gap:20px;padding:23px 12px;border-bottom:1px solid var(--line)}
.knowledge-row>div{flex:1;min-width:0}
.knowledge-row>.icon{color:#947d4b;width:19px}
.knowledge-row h2{overflow-wrap:anywhere}
.checkbox{flex-direction:row!important;align-items:center;font-weight:400!important;line-height:1.6}
.checkbox input{width:17px;height:17px;min-height:0;accent-color:var(--brand);flex-shrink:0}
.settings-list{max-width:850px}
.settings-list section{position:relative;padding:28px 0;border-bottom:1px solid var(--line)}
.settings-list section>div{display:flex;align-items:center;gap:12px}
.settings-list h2{margin:0}
.settings-list p{max-width:650px;color:var(--muted);font-size:14px}
.settings-list section>div>.icon{color:#806221}
.assistant-page{padding:0 35px 45px}
.chat-space{max-width:780px;margin:0 auto}
.chat-intro{text-align:center;padding-top:70px;margin-bottom:42px}
.assistant-mark{display:inline-grid;place-items:center;color:var(--gold);background:#f5ecd8;border-radius:18px;width:55px;height:55px;margin-bottom:22px}
.assistant-mark .icon{width:29px;height:29px;stroke-width:1.3}
.chat-intro h1{font-size:34px;line-height:1.2;letter-spacing:-.035em;font-weight:550;margin:0 0 17px}
.chat-intro p{color:#6b625c;font-size:15px;line-height:1.7;margin:0}
.composer-wrap{max-width:720px;margin:0 auto}
.mode-tabs{display:flex;align-items:center;gap:7px;margin-bottom:15px;flex-wrap:wrap}
.mode-tabs button{padding:8px 12px;border-radius:8px;color:#6b625c;font-size:12px}
.mode-tabs button:hover{background:#f8f4ee}
.mode-tabs button.active{background:var(--wash);color:var(--brand);font-weight:550}
.composer{border-radius:16px;background:#fcfaf7;border:1px solid #e9e1d6;padding:20px 20px 13px;transition:border-color .2s}
.composer:focus-within{border-color:#bd261b;outline:2px solid #bd261b;outline-offset:2px}
.composer textarea{display:block;width:100%;border:0;outline:none;background:transparent;resize:vertical;min-height:92px;max-height:300px;font-size:15px;line-height:1.6;padding:0}
.composer textarea:focus-visible{outline:none}
.composer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px}
.composer-bottom>span{font-size:10px;color:#6b625c}
.send-button{width:37px;height:37px;display:grid;place-items:center;background:var(--brand);color:white;border-radius:10px;flex-shrink:0}
.send-button:hover{background:#9e1e15}
.send-button .icon{width:20px}
.composer-caption{text-align:center;font-size:10px;color:#6b625c;line-height:1.6;margin:14px 0 0}
.suggestions{max-width:660px;margin:38px auto 0}
.suggestions>p{font-size:11px;color:#7b7067;margin:0 0 9px 10px}
.suggestions button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:11px 10px;font-size:12px;color:#6d6055;border-radius:8px}
.suggestions button:hover{background:#f8f4ed}
.suggestions .icon{width:14px;color:#a08b65}
.messages{padding-top:25px}
.message{font-size:15px;line-height:1.8;margin-bottom:32px;overflow-wrap:anywhere}
.message-author{display:block;font-size:11px;font-weight:600;color:#75685b;margin-bottom:9px}
.message>div{white-space:pre-wrap}
.message.user{margin-left:auto;background:#f7f0e1;border-radius:14px;padding:16px 20px;max-width:85%}
.message.assistant{padding:0 6px}
.has-messages .composer-wrap{position:sticky;bottom:0;background:white;padding-top:12px;padding-bottom:15px}
.has-messages .messages{padding-bottom:25px}
.login{max-width:445px;margin:auto;padding:46px 40px 32px;min-height:100dvh}
.login-brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:600;letter-spacing:-.02em}
.login-layout{padding:64px 0 0}
.login-form{width:100%}
.login-form h1{font-size:26px;font-weight:550;letter-spacing:-.025em;margin:0 0 32px}
.login-form .form-error{font-size:13px;margin:0 0 20px}
.login-form .form-error:empty{display:none}
.loading-lines{padding:35px 0}
.loading-lines i{display:block;height:18px;margin:16px 0;background:#f5f0e8;border-radius:5px;max-width:70%}
.loading-lines i:nth-child(2){max-width:90%}
.loading-lines i:nth-child(3){max-width:55%}
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(90vw,580px);padding:15px 22px;background:#302923;color:white;border-radius:12px;font-size:13px;line-height:1.5;z-index:100;box-shadow:0 8px 30px #30241820}
#toast.error{background:#733d34}

@media(min-width:1500px){.chat-intro{padding-top:100px}
.content-page{padding-top:45px}
}
@media(max-width:1100px){.sidebar{width:204px;padding-left:12px;padding-right:12px}
.workspace-body{margin-left:204px;width:calc(100% - 204px)}
.content-page{padding:28px}
.topbar{padding:0 28px}
.page-heading{flex-direction:column}
.heading-actions{justify-content:flex-start}
.list-labels,.rep-row{grid-template-columns:minmax(135px,1fr) minmax(100px,1fr) 60px minmax(115px,1fr) 14px;gap:10px}
.detail-layout{gap:30px}
.rep-row{padding:14px 5px}
.country-code{display:none}
}
@media(max-width:760px){.sidebar{transform:translateX(-100%);width:250px;transition:transform .2s ease-out}
.menu-open .sidebar{transform:translateX(0)}
.scrim{position:fixed;inset:0;z-index:25;background:#29201845}
.workspace-body{margin-left:0;width:100%}
.menu-toggle{display:grid}
.topbar{height:68px;padding:0 17px;justify-content:flex-start;gap:8px}
.topbar>span:first-of-type{font-size:11px}
.topbar-right{margin-left:auto;font-size:0}
.connection-dot{width:7px;height:7px}
.content-page{padding:24px 20px 40px}
.page-heading h1{font-size:27px}
.page-heading p{font-size:13px}
.page-heading{gap:20px;margin-bottom:25px}
.heading-actions{gap:7px;width:100%}
.heading-actions>a{font-size:12px;padding:10px 12px}
.filterbar{flex-direction:column;align-items:stretch;gap:10px}
.search-field{max-width:none}
.filterbar select{width:100%}
.list-labels{display:none}
.rep-row{grid-template-columns:1fr auto 15px;gap:9px;padding:18px 0}
.country-cell{grid-column:1;grid-row:1}
.country-code{display:grid}
.country-cell small{display:inline;margin-left:8px}
.rep-name{grid-column:1/3;grid-row:2;padding-left:46px;font-size:12px}
.rep-row .badge{grid-column:2;grid-row:1;font-size:9px;max-width:108px}
.rep-row>.icon{grid-column:3;grid-row:1/4}
.source-count{grid-column:1;grid-row:3;font-size:11px;padding-left:46px}
.mobile-label{display:inline}
.detail-layout{grid-template-columns:1fr;gap:42px}
.form-columns{grid-template-columns:1fr}
.wide-form{width:100%}
.page-tabs{gap:17px}
.page-tabs button{font-size:12px}
.page-tabs button span{margin-left:5px}
.empty-state{margin:55px auto}
.empty-state h2{font-size:20px}
.event-row{grid-template-columns:1fr 16px;gap:10px}
.event-date{grid-row:1;grid-column:1}
.event-row>div:nth-child(2){grid-column:1;grid-row:2}
.event-row>.icon{grid-column:2;grid-row:1/3}
.knowledge-row{gap:12px;padding:20px 0;flex-wrap:wrap}
.knowledge-row>div{flex-basis:calc(100% - 60px)}
.knowledge-row>.badge{margin-left:32px}
.knowledge-row>.icon:last-child{margin-left:auto}
.assistant-page{padding:0 18px 35px}
.chat-intro{padding-top:48px;margin-bottom:34px}
.chat-intro h1{font-size:29px}
.chat-intro p{font-size:13px}
.assistant-mark{width:48px;height:48px;margin-bottom:23px}
.mode-tabs{gap:2px;margin-bottom:12px}
.mode-tabs button{font-size:10px;padding:8px}
.composer{padding:16px 16px 12px}
.composer textarea{font-size:14px;min-height:105px}
.composer-bottom>span{font-size:9px;max-width:205px}
.composer-caption{font-size:10px;margin-top:13px}
.suggestions{margin-top:28px}
.suggestions button{font-size:11px;line-height:1.5}
.message{font-size:14px}
.message.user{max-width:95%}
.login{padding:25px 24px 32px}
.login-brand{font-size:17px}
.login-layout{padding-top:44px}
.login-form h1{font-size:23px}

}
@media(max-width:360px){.content-page{padding:20px 14px}
.assistant-page{padding:0 12px 30px}
.mode-tabs button{padding:8px 6px;font-size:9px}
.rep-row .badge{max-width:85px}
.page-tabs{gap:10px}
.primary,.secondary{font-size:12px}
.inline-form{flex-wrap:wrap}
.inline-form label{flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


.source-remove{margin-left:18px;color:var(--muted)}

@media(max-width:760px){input,select,textarea,.composer textarea{font-size:16px}
.mode-tabs button{font-size:12px;min-height:40px;padding:8px 10px}
.suggestions button{font-size:13px;min-height:44px}
.composer-caption{font-size:12px}
.rep-row .badge{font-size:11px}
.page-tabs button{min-height:44px}
.topbar-right{font-size:12px}
.source-remove{min-height:44px}
}


.provider-settings{max-width:720px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}
.provider-settings h2{font-size:20px}
.provider-settings>p{margin-bottom:28px}
