@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+Arabic:wght@400;500;600;700&display=swap";:root{--white:#fff;--gray-50:#f6f6f8;--gray-100:#ebecef;--gray-400:#9ea6b4;--gray-700:#4e5867;--gray-850:#23313e;--gray-900:#051c2c;color:var(--gray-900);background:var(--gray-50);font-synthesis:none;font-family:DM Sans,Noto Sans Arabic,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer;transition:border-color .18s,background-color .18s,color .18s,box-shadow .18s,transform .18s,opacity .18s}.app-shell{background:#fbfcfa;grid-template-columns:286px minmax(0,1fr);height:100dvh;min-height:0;display:grid;overflow:hidden}[dir=rtl] .app-shell{grid-template-columns:1fr 286px}[dir=rtl] .sidebar{grid-area:1/2}[dir=rtl] .chat-panel{grid-area:1/1}.sidebar{background:#ecf1eb;border-inline-end:1px solid #dde5dc;flex-direction:column;min-height:0;padding:20px 16px 14px;display:flex}.brand{align-items:center;gap:11px;padding:2px 8px 22px;display:flex}.brand div{flex-direction:column;gap:1px;display:flex}.brand strong{font-size:15px}.brand span{color:#6c7971;font-size:11px}.mark{background:#174d38;border-radius:14px;place-content:center;gap:3px;width:42px;height:42px;display:grid;transform:rotate(-4deg);box-shadow:0 8px 22px #174d3822}.mark span{background:#d8f15a;border-radius:2px;width:18px;height:3px;display:block}.mark span:nth-child(2){width:13px;margin-inline-start:5px}.mark span:nth-child(3){width:9px;margin-inline-start:9px}.mark-small{width:30px;height:30px;box-shadow:none;border-radius:9px}.mark-small span{width:13px;height:2px}.mark-small span:nth-child(2){width:10px;margin-inline-start:3px}.mark-small span:nth-child(3){width:7px;margin-inline-start:6px}.new-chat{color:#26352d;text-align:start;background:#fff;border:1px solid #d2dcd2;border-radius:12px;align-items:center;gap:10px;width:100%;padding:11px 13px;font-weight:600;display:flex;box-shadow:0 2px 8px #183a2410}.new-chat:hover{border-color:#9eb3a3;transform:translateY(-1px);box-shadow:0 7px 18px #183a2417}.new-chat:active,.suggestions button:active,.send-button:active:not(:disabled){transform:translateY(0)scale(.98)}.new-chat span{color:#287055;font-size:21px;line-height:16px}.admin-nav{width:100%;color:var(--gray-700);text-align:start;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;margin-top:8px;padding:10px 13px;font-weight:600;display:flex}.admin-nav:hover,.admin-nav.active{background:var(--gray-100);color:var(--gray-900)}.admin-nav span{text-align:center;width:20px}.history-label{color:#78857d;text-transform:uppercase;letter-spacing:.1em;margin:26px 10px 10px;font-size:10px;font-weight:700}.history-list{flex:1;min-height:0}.history-list p{color:#87938c;padding:0 10px;font-size:12px;line-height:1.5}.history-item{text-align:start;white-space:nowrap;text-overflow:ellipsis;color:#526058;background:0 0;border:0;border-radius:9px;width:100%;padding:10px 11px;font-size:13px;overflow:hidden}.history-item.active{color:#20372c;background:#dfe8df}.sidebar-footer{border-top:1px solid #d8e1d8;align-items:center;gap:10px;padding:14px 7px 2px;display:flex}.user-avatar{color:#214431;background:#d8f15a;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:700;display:grid}.user-meta{flex-direction:column;min-width:0;display:flex}.user-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.user-meta button{color:#718077;text-align:start;background:0 0;border:0;padding:0;font-size:11px}.chat-panel{background:radial-gradient(circle at 50% 35%,#f2f6ed 0,#fbfcfa 38%);grid-template-rows:64px minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2;background:#fbfcfaf2;border-bottom:1px solid #edf0ec;justify-content:space-between;align-items:center;gap:18px;min-width:0;padding:0 26px;display:flex}.topbar-context{flex-direction:column;gap:1px;min-width:0;display:flex}.topbar-context strong{font-size:13px;font-weight:600}.topbar-context span{color:#738078;align-items:center;gap:6px;font-size:10px;display:flex}.topbar-context i{background:#54a878;border-radius:50%;width:6px;height:6px;animation:2.2s ease-in-out infinite status-breathe;box-shadow:0 0 0 3px #dff0e5}.mobile-brand{align-items:center;gap:9px;display:none}.mobile-admin{border:1px solid var(--gray-100);background:var(--white);color:var(--gray-700);border-radius:8px;margin-inline-start:auto;padding:6px 10px;font-size:11px;font-weight:700}.language-toggle{background:#edf1ec;border-radius:10px;padding:3px;display:flex}.language-toggle button{color:#6f7c73;background:0 0;border:0;border-radius:7px;min-width:35px;height:28px;font-size:12px;font-weight:700}.conversation{overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#bac7bd transparent;width:min(820px,100% - 38px);height:100%;min-height:0;margin:0 auto;padding:24px 0 26px;overflow:hidden auto}.conversation::-webkit-scrollbar{width:8px}.conversation::-webkit-scrollbar-track{background:0 0}.conversation::-webkit-scrollbar-thumb{background:#bac7bd padding-box padding-box;border:2px solid #0000;border-radius:999px}.conversation:not(.has-messages){place-items:center;display:grid}.welcome{text-align:center;width:100%;max-width:680px;margin-top:-25px;animation:.45s cubic-bezier(.2,.75,.3,1) both welcome-in}.welcome-mark{justify-content:center;margin-bottom:22px;display:flex}.welcome h1{letter-spacing:-.045em;margin:0;font-size:clamp(30px,4vw,44px);font-weight:600}.welcome>p{color:#66746b;max-width:585px;margin:13px auto 31px;font-size:15px;line-height:1.65}.suggestions{text-align:start;grid-template-columns:1fr 1fr;gap:10px;display:grid}.suggestions button{color:#435149;background:#ffffffc9;border:1px solid #e0e7df;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:15px 16px;display:flex;box-shadow:0 5px 16px #23472c08}.suggestions button:hover{background:#fff;border-color:#b8c9ba;transform:translateY(-2px);box-shadow:0 10px 24px #23472c12}.suggestions span{color:#8a988f}.message{grid-template-columns:34px minmax(0,1fr);gap:13px;padding:18px 8px;line-height:1.7;animation:.28s cubic-bezier(.2,.7,.25,1) both message-in;display:grid}.message.user{margin-top:14px}.message-avatar{background:#d8f15a;border-radius:9px;place-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:grid}.message.assistant .message-avatar{background:0 0}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;padding-top:2px}.message.user .message-body{background:#edf1eb;border-radius:4px 16px 16px;justify-self:start;padding:10px 14px;display:inline-block}[dir=rtl] .message.user .message-body{border-radius:16px 4px 16px 16px}.message-error .message-body{color:#a33636}.request-error{color:#772d2d;background:#fff6f6;border:1px solid #edcccc;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin:8px 8px 12px 55px;padding:14px 15px;display:flex}[dir=rtl] .request-error{margin:8px 55px 12px 8px}.request-error strong{font-size:13px}.request-error p{color:#955050;margin:3px 0 0;font-size:12px;line-height:1.5}.request-error button{color:#7a3030;background:#fff;border:1px solid #dcaeae;border-radius:8px;flex:none;padding:7px 12px;font-size:12px;font-weight:600}.fatal-error{background:#f7f8f6;place-items:center;min-height:100vh;padding:24px;display:grid}.fatal-error section{background:#fff;border:1px solid #ead5d5;border-radius:20px;width:min(480px,100%);padding:30px;box-shadow:0 20px 60px #45252512}.fatal-error h1{margin:0 0 8px;font-size:24px}.fatal-error p{color:#6f7772;margin:0 0 20px;line-height:1.6}.fatal-error-detail{color:#8b3434;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff4f4;border-radius:8px;margin:-8px 0 20px;padding:10px 12px;font-size:12px;display:block}.fatal-error button{color:#eff8c1;background:#174d38;border:0;border-radius:10px;padding:10px 16px;font-weight:700}.thinking{color:#69766e;align-items:center;gap:5px;padding-top:5px;font-size:13px;display:flex}.thinking span{background:#2e785a;border-radius:50%;width:5px;height:5px;animation:1.1s infinite pulse}.thinking span:nth-child(2){animation-delay:.15s}.thinking span:nth-child(3){margin-inline-end:5px;animation-delay:.3s}@keyframes pulse{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes message-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes welcome-in{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes status-breathe{0%,to{opacity:.65}50%{opacity:1;box-shadow:0 0 0 5px color-mix(in srgb, var(--gray-100) 60%, transparent)}}.tool-trace{color:#849087;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 54px;font-size:11px;display:flex}.tool-trace code{color:#557063;background:#edf2ec;border-radius:6px;padding:3px 6px}.composer-wrap{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfcfaf5;border-top:1px solid #edf1ec;padding:12px 32px 13px;position:relative}.composer{background:#fff;border:1px solid #d9e1d8;border-radius:18px;align-items:flex-end;gap:10px;width:min(820px,100%);min-height:60px;margin:0 auto;padding:11px 11px 11px 17px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;box-shadow:0 8px 28px #294b3114}[dir=rtl] .composer{padding:11px 17px 11px 11px}.composer:focus-within{border-color:#9db5a2;transform:translateY(-1px);box-shadow:0 10px 38px #294b3122,0 0 0 3px #dceadd88}.composer textarea{resize:none;color:#253129;background:0 0;border:0;outline:0;flex:1;height:36px;min-height:36px;max-height:156px;padding:7px 0;line-height:1.5;transition:height .1s;overflow-y:auto}.send-button{color:#d8f15a;background:#174d38;border:0;border-radius:12px;flex:none;width:38px;height:38px;font-size:21px;font-weight:600;box-shadow:0 5px 13px #174d3830}.send-button:hover:not(:disabled){background:#0f5a3d;transform:translateY(-1px);box-shadow:0 7px 17px #174d3840}.send-button:disabled{color:#a2aba4;cursor:default;background:#dce2dc}.composer-wrap>p{text-align:center;color:#8b958e;width:min(820px,100%);margin:8px auto 0;font-size:10px}.login-shell{background:radial-gradient(circle at 50% 38%,#edf4e6,#f8f9f7 48%);place-items:center;min-height:100vh;display:grid;position:relative}.login-language{top:24px;position:absolute;inset-inline-end:28px}.login-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffdb;border:1px solid #e1e8e0;border-radius:24px;width:min(420px,100% - 32px);padding:34px;box-shadow:0 24px 70px #24442d14}.login-heading{margin:22px 0 26px}.login-heading h1{letter-spacing:-.035em;margin:0 0 6px;font-size:27px}.login-heading p{color:#738077;margin:0;font-size:13px}.login-card form{gap:16px;display:grid}.login-card label{color:#526058;gap:7px;font-size:12px;font-weight:600;display:grid}.login-card input{background:#fbfcfb;border:1px solid #dce3dc;border-radius:11px;outline:0;height:46px;padding:0 13px}.primary-button{color:#eff8c1;background:#174d38;border:0;border-radius:11px;height:47px;margin-top:5px;font-weight:700}.primary-button:disabled{opacity:.55}.form-error{color:#aa3939;background:#fff0f0;border-radius:8px;margin:0;padding:8px 10px;font-size:12px}.admin-panel{background:var(--gray-50);grid-template-rows:64px minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.admin-topbar{border-bottom:1px solid var(--gray-100);background:color-mix(in srgb, var(--white) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;padding:0 26px;display:flex}.admin-back{color:var(--gray-700);background:0 0;border:0;align-items:center;gap:7px;font-weight:600;display:flex}.admin-back:hover{color:var(--gray-900);transform:translate(-2px)}[dir=rtl] .admin-back:hover{transform:translate(2px)}.admin-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--gray-400) transparent;min-height:0;overflow-y:auto}.admin-content{width:min(1080px,100% - 40px);margin:0 auto;padding:38px 0 64px}.admin-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.admin-heading>div:first-child>span{color:var(--gray-400);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700}.admin-heading h1{color:var(--gray-900);letter-spacing:-.04em;margin:6px 0 5px;font-size:clamp(27px,4vw,38px)}.admin-heading p{color:var(--gray-700);margin:0;font-size:13px}.admin-count{border:1px solid var(--gray-100);background:var(--white);min-width:76px;height:64px;color:var(--gray-900);text-align:center;box-shadow:0 8px 22px color-mix(in srgb, var(--gray-900) 6%, transparent);border-radius:16px;place-content:center;font-size:24px;font-weight:700;display:grid}.admin-count small{color:var(--gray-400);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:600;display:block}.admin-alert{border:1px solid var(--gray-100);background:var(--white);color:var(--gray-700);border-radius:10px;margin:0 0 14px;padding:11px 14px;font-size:12px}.admin-alert.success{border-inline-start:3px solid var(--gray-700)}.admin-alert.error{border-inline-start:3px solid var(--gray-900)}.admin-card{border:1px solid var(--gray-100);background:var(--white);box-shadow:0 10px 30px color-mix(in srgb, var(--gray-900) 5%, transparent);border-radius:18px;margin-bottom:18px;padding:22px}.admin-card-title{margin-bottom:19px}.admin-card-title h2{color:var(--gray-900);margin:0 0 4px;font-size:16px}.admin-card-title p{color:var(--gray-700);margin:0;font-size:11px}.admin-form{grid-template-columns:1fr 1fr;gap:14px;display:grid}.admin-form label{color:var(--gray-700);gap:6px;font-size:11px;font-weight:600;display:grid}.admin-form input,.admin-form select,.reset-form input{border:1px solid var(--gray-100);background:var(--gray-50);width:100%;height:43px;color:var(--gray-850);border-radius:10px;outline:0;padding:0 12px}.admin-form input:focus,.admin-form select:focus,.reset-form input:focus{border-color:var(--gray-400);box-shadow:0 0 0 3px var(--gray-100)}.admin-submit{grid-column:2;justify-self:end;width:max-content;min-width:150px;padding:0 20px}.admin-empty{color:var(--gray-400);text-align:center;padding:24px;font-size:12px}.admin-users{gap:8px;display:grid}.admin-user{border:1px solid var(--gray-100);background:var(--white);border-radius:12px;grid-template-columns:38px minmax(130px,1.2fr) minmax(150px,1fr) auto minmax(160px,auto);align-items:center;gap:12px;padding:12px;transition:opacity .18s,background-color .18s;display:grid}.admin-user.inactive{opacity:.62;background:var(--gray-50)}.admin-user-avatar{background:var(--gray-100);width:36px;height:36px;color:var(--gray-900);border-radius:10px;place-items:center;font-weight:700;display:grid}.admin-user-main,.admin-user-app{flex-direction:column;min-width:0;display:flex}.admin-user-main strong{color:var(--gray-850);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.admin-user-main span,.admin-user-app small{color:var(--gray-400);font-size:10px}.admin-user-app span{color:var(--gray-700);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.status-badge{background:var(--gray-100);color:var(--gray-700);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:700}.status-badge.active{background:var(--gray-900);color:var(--white)}.admin-user-actions{justify-content:flex-end;gap:6px;display:flex}.admin-user-actions button,.reset-form button{border:1px solid var(--gray-100);background:var(--white);color:var(--gray-700);border-radius:8px;padding:6px 9px;font-size:10px;font-weight:600}.admin-user-actions button:hover,.reset-form button:hover{border-color:var(--gray-400);color:var(--gray-900)}.reset-form{border-top:1px solid var(--gray-100);grid-column:2/-1;grid-template-columns:minmax(180px,1fr) auto auto;gap:7px;padding-top:10px;display:grid}.reset-form input{height:36px}@media (width<=760px){.app-shell,[dir=rtl] .app-shell{grid-template-columns:1fr}.sidebar{display:none}[dir=rtl] .chat-panel,.chat-panel{grid-area:1/1}.topbar{justify-content:space-between;padding:0 16px}.mobile-brand{display:flex}.conversation{width:calc(100% - 24px);padding:16px 0 20px}.suggestions{grid-template-columns:1fr}.suggestions button:nth-child(n+4){display:none}.composer-wrap{padding-inline:12px}.request-error,[dir=rtl] .request-error{margin-inline:8px}.welcome{margin-top:-5px}.welcome>p{font-size:14px}.topbar-context{display:none}.admin-panel{grid-area:1/1}.admin-topbar{padding:0 16px}.admin-content{width:calc(100% - 24px);padding-top:24px}.admin-heading{align-items:center}.admin-count{min-width:62px;height:58px}.admin-form{grid-template-columns:1fr}.admin-submit{grid-column:1;justify-self:stretch;width:100%}.admin-user{grid-template-columns:38px minmax(0,1fr) auto}.admin-user-app{grid-column:2}.status-badge{grid-area:1/3}.admin-user-actions{grid-column:2/-1;justify-content:flex-start}.reset-form{grid-column:1/-1;grid-template-columns:1fr auto}.reset-form button:last-child{grid-column:2}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{background:var(--white)}.sidebar{background:var(--gray-50);border-color:var(--gray-100)}.brand strong,.welcome h1,.topbar-context strong,.login-heading h1{color:var(--gray-900)}.brand span,.history-list p,.user-meta button,.topbar-context span,.welcome>p,.suggestions span,.thinking,.composer-wrap>p,.login-heading p{color:var(--gray-700)}.mark{background:var(--gray-900);box-shadow:0 8px 22px color-mix(in srgb, var(--gray-900) 16%, transparent)}.mark span{background:var(--white)}.new-chat,.suggestions button,.composer,.login-card{background:var(--white);border-color:var(--gray-100);color:var(--gray-850)}.new-chat{box-shadow:0 2px 8px color-mix(in srgb, var(--gray-900) 6%, transparent)}.new-chat:hover,.suggestions button:hover{border-color:var(--gray-400);box-shadow:0 10px 24px color-mix(in srgb, var(--gray-900) 9%, transparent)}.new-chat span{color:var(--gray-900)}.history-label,.tool-trace{color:var(--gray-400)}.history-item{color:var(--gray-700)}.history-item.active{background:var(--gray-100);color:var(--gray-900)}.sidebar-footer{border-color:var(--gray-100)}.user-avatar,.message-avatar{background:var(--gray-100);color:var(--gray-900)}.chat-panel{background:radial-gradient(circle at 50% 35%, var(--gray-50) 0, var(--white) 42%)}.topbar{border-color:var(--gray-100);background:color-mix(in srgb, var(--white) 94%, transparent)}.topbar-context i{background:var(--gray-700);box-shadow:0 0 0 3px var(--gray-100)}.language-toggle{background:var(--gray-100)}.language-toggle button{color:var(--gray-700)}.language-toggle button.active{color:var(--gray-900);background:var(--white);box-shadow:0 1px 4px color-mix(in srgb, var(--gray-900) 10%, transparent)}.conversation{scrollbar-color:var(--gray-400) transparent}.conversation::-webkit-scrollbar-thumb{background:var(--gray-400);background-clip:padding-box}.suggestions button{box-shadow:0 5px 16px color-mix(in srgb, var(--gray-900) 4%, transparent)}.message.user .message-body{background:var(--gray-100);color:var(--gray-850)}.thinking span{background:var(--gray-850)}.tool-trace code{background:var(--gray-100);color:var(--gray-700)}.composer-wrap{border-color:var(--gray-100);background:color-mix(in srgb, var(--gray-50) 95%, transparent)}.composer{box-shadow:0 8px 28px color-mix(in srgb, var(--gray-900) 8%, transparent)}.composer:focus-within{border-color:var(--gray-400);box-shadow:0 10px 38px color-mix(in srgb, var(--gray-900) 12%, transparent), 0 0 0 3px var(--gray-100)}.composer textarea{color:var(--gray-850)}.composer textarea::placeholder{color:var(--gray-400)}.send-button,.primary-button,.fatal-error button{background:var(--gray-900);color:var(--white)}.send-button{box-shadow:0 5px 13px color-mix(in srgb, var(--gray-900) 22%, transparent)}.send-button:hover:not(:disabled){background:var(--gray-850);box-shadow:0 7px 17px color-mix(in srgb, var(--gray-900) 28%, transparent)}.send-button:disabled{background:var(--gray-100);color:var(--gray-400)}.login-shell{background:radial-gradient(circle at 50% 38%, var(--gray-100), var(--gray-50) 50%)}.login-card{box-shadow:0 24px 70px color-mix(in srgb, var(--gray-900) 8%, transparent)}.login-card label{color:var(--gray-700)}.login-card input{border-color:var(--gray-100);background:var(--gray-50);color:var(--gray-850)}.login-card input:focus{border-color:var(--gray-400);box-shadow:0 0 0 3px var(--gray-100)}.message-error .message-body,.request-error,.form-error,.fatal-error-detail{border-color:var(--gray-100);background:var(--gray-50);color:var(--gray-850)}.request-error p{color:var(--gray-700)}.request-error button{border-color:var(--gray-400);background:var(--white);color:var(--gray-850)}.fatal-error{background:var(--gray-50)}.fatal-error section{border-color:var(--gray-100);background:var(--white);box-shadow:0 20px 60px color-mix(in srgb, var(--gray-900) 8%, transparent)}.fatal-error p{color:var(--gray-700)}
