@font-face{font-family:Yusr;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-arabic-400.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:Yusr;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plex-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Yusr;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-arabic-500.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:Yusr;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plex-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Yusr;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-arabic-600.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:Yusr;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plex-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Yusr;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plex-arabic-700.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:Yusr;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plex-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink:#243c35;--muted:#4e5f59;--green:#195b4c;--deep:#164b40;--mint:#e8f0eb;--paper:#f7f8f4;--line:#dce4dc;--field:#7f9085;--gold:#bc8d4e;--red:#9d3636;--white:#fff;--radius:18px;font-family:Yusr,'Segoe UI',Tahoma,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.85;color-scheme:light;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--green);text-underline-offset:4px}button:disabled{opacity:.6;cursor:wait}button,a,input,textarea,select{outline-offset:4px}*:focus-visible{outline:3px solid #b78337}h1,h2,h3,p{margin:0}h2{font-size:21px;line-height:1.6}h3{font-size:18px}button{border:0}a{cursor:pointer}[hidden]{display:none!important}.container{width:min(1200px,calc(100% - 64px));margin-inline:auto}.topline{background:var(--green);color:#f0f5f1;font-size:13px;padding:6px 0}.topline .container{display:flex;justify-content:space-between}.header{display:flex;align-items:center;justify-content:space-between;padding:22px 0;gap:20px}.brand{display:flex;align-items:center;gap:18px;text-decoration:none;color:var(--ink)}.brand img{object-fit:contain;width:76px;height:65px}.brand-rule{height:40px;width:1px;background:var(--line)}.brand strong{font-size:36px;font-weight:700;line-height:1.1;color:var(--green)}.brand small{display:block;font-size:13px;margin-top:5px}.header-actions{display:flex;gap:28px;align-items:center}.text-link{text-decoration:none;font-size:14px}.phone-link span{display:block;font-weight:600}.btn{background:var(--green);color:white;border:1px solid var(--green);border-radius:10px;min-height:46px;padding:10px 22px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-size:15px;font-weight:600;text-decoration:none;transition:background .15s,transform .15s}.btn:hover{background:var(--deep)}.btn.small{padding:8px 15px;min-height:42px;font-size:14px}.btn.subtle{background:transparent;border-color:var(--line);color:var(--ink)}.btn.subtle:hover{background:var(--mint)}.btn.light{background:#fff;color:var(--green);border-color:#fff}.btn.full{width:100%;justify-content:space-between}.pilot{background:#fff6e7;color:#785a2b;border:1px solid #efdfc2;border-radius:8px;font-size:14px;padding:8px 14px}.pilot.ready{background:var(--mint);color:var(--green);border-color:var(--line)}.intro{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:40px 0 35px}.eyebrow{font-size:13px;font-weight:600;color:var(--green);display:flex;gap:8px;align-items:center;margin-bottom:9px}.tiny-square{width:6px;height:6px;background:var(--gold);border-radius:2px}.intro h1{font-size:46px;font-weight:700;line-height:1.5}.intro h1 em{font-style:normal;color:var(--green)}.intro-copy{color:var(--muted);font-size:16px;line-height:1.95;margin-top:10px}.intro-note{display:flex;align-items:center;gap:20px;color:var(--muted);font-size:14px;padding-inline:40px}.leaf-mark{font-size:38px;color:var(--green);border:1px solid #cbdccf;width:110px;height:110px;border-radius:50% 50% 6% 50%;display:grid;place-items:center;transform:rotate(-7deg);background:linear-gradient(135deg,#edf2e8,#e0ede3)}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow-x:auto}.tabs button{padding:13px 18px;color:var(--muted);background:transparent;font-size:15px;white-space:nowrap;border-bottom:3px solid transparent;min-height:50px}.tabs button span{font-size:19px;margin-inline-end:7px;line-height:1}.tabs button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green);font-weight:700}.tabs button:hover{background:#edf2eb}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:24px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-width:0}.chat-panel{padding:0;overflow:hidden}.panel-heading{padding:21px 24px;border-bottom:1px solid #edf0e9;display:flex;justify-content:space-between;align-items:center;gap:12px}.assistant-title{display:flex;gap:12px;align-items:center}.assistant-title h2{font-size:18px}.assistant-title p{font-size:13px;color:var(--muted)}.avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--mint);color:var(--green);font-size:22px}.status-tag{display:inline-flex;align-items:center;background:#f0f4ed;color:#4d7058;border:1px solid #e5eadd;border-radius:50px;font-size:12.5px;padding:4px 9px;white-space:nowrap}.status-tag::before{content:'';height:5px;width:5px;background:#709579;border-radius:50%;margin-inline-end:5px}.messages{height:330px;overflow-y:auto;padding:26px 24px 18px;display:flex;flex-direction:column;gap:20px;scrollbar-width:thin}.message{max-width:94%;align-self:flex-start}.message-body{font-size:15.5px;line-height:1.95;padding:17px 19px;background:#f0f4ee;border-radius:14px 2px 14px 14px;white-space:pre-wrap;overflow-wrap:anywhere}.message-body p+p{margin-top:8px}.message.me{align-self:flex-end;max-width:85%}.message.me .message-body{background:var(--green);color:#fff;border-radius:2px 14px 14px 14px}.message-meta{display:block;font-size:12.5px;color:#5f6e68;margin-top:7px}.message.pending .message-body{color:var(--muted);background:#f7f8f5}.source-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.source-links button{color:var(--green);background:white;border:1px solid var(--line);border-radius:5px;font-size:12.5px;padding:5px 8px;min-height:34px}.message-action{margin-top:10px;padding:6px 12px;min-height:38px}.message-notice{display:block;margin-top:7px;font-size:13px;color:var(--muted)}.suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:4px 24px 20px}.suggestions button{display:flex;align-items:center;justify-content:space-between;text-align:start;gap:7px;padding:9px 11px;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:13px;min-height:46px}.suggestions button:hover{background:var(--mint);border-color:#aec5b6}.suggestions span{color:var(--gold);font-size:17px}.composer{margin:0 24px;display:flex;gap:10px;align-items:center;background:#fafbf8;border:1px solid var(--field);padding:7px 8px 7px 14px;border-radius:12px}.composer:focus-within{border-color:var(--green);outline:2px solid #e1ebe1}.composer textarea{flex:1;min-width:0;background:transparent;border:0;resize:none;font-size:15px;padding:6px 7px;outline:none}.composer textarea:focus-visible{outline:none}.send-button{min-width:86px;padding:9px 13px;min-height:43px}.chat-foot{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;padding:12px 24px 18px;font-size:12.5px;color:var(--muted)}.sidebar{display:flex;flex-direction:column;gap:16px}.side-card{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:white}.side-card.green{background:var(--green);color:#fff;border-color:var(--green)}.green .eyebrow{color:#c8d9c9}.side-card h2{font-size:19px}.steps{list-style:none;margin:22px 0 26px;padding:0;display:grid;gap:20px}.steps li{display:flex;gap:12px;align-items:flex-start}.steps li>span{display:grid;place-items:center;border:1px solid #79988c;border-radius:50%;width:27px;height:27px;flex-shrink:0;font-size:14px;color:#e1c391}.steps strong{font-size:14px}.steps p{font-size:13px;color:#e2ece6;margin-top:2px}.mini-label{color:var(--muted);font-size:12.5px;display:block;margin-bottom:7px}.contact-card h3{font-size:17px}.contact-number{display:block;font-size:25px;text-align:right;font-weight:600;text-decoration:none;margin-top:8px}.contact-card p{font-size:13px;color:var(--muted);margin:4px 0 12px}.contact-actions{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:11px;font-size:14px}.contact-actions a{text-decoration:none}.contact-card small{display:block;color:var(--muted);font-size:12px;margin-top:12px}.side-note{display:flex;gap:12px;padding:4px 8px;font-size:13px;color:var(--muted)}.side-note>span{font-size:27px;color:var(--gold)}.side-note strong{color:var(--ink);font-weight:600}.footer{padding:30px 0;margin-top:28px;border-top:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;font-size:12.5px;color:var(--muted)}.footer>div{display:flex;gap:20px;flex-wrap:wrap}.footer a{text-decoration:none}.section-heading{margin-bottom:24px}.section-heading>p:last-child{font-size:15px;color:var(--muted);margin-top:8px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.field label{font-size:14px;font-weight:600}.field label>span{color:var(--red)}.field small{font-size:12.5px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}input:not([type=checkbox]),select,textarea:not(.composer textarea){width:100%;border:1px solid var(--field);border-radius:9px;background:#fbfcf9;padding:11px 13px;font-size:15px;min-height:46px}input::placeholder,textarea::placeholder{color:#66736d;font-size:14px}textarea{resize:vertical}fieldset{border:0;margin:0;padding:0;min-width:0}input[type=checkbox]{width:17px;height:17px;accent-color:var(--green);flex-shrink:0}.consent{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.9;margin:8px 0 23px}.consent input{margin-top:4px}.form-bottom{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted);font-size:14px}.form-error{color:var(--red);background:#fff1ed;border-radius:8px;padding:10px 13px;font-size:14px;margin-top:14px}.receipt{background:#f1f6ec;border:1px solid #b9d0b5;border-radius:13px;padding:24px;margin-top:20px}.receipt h3{font-size:20px;color:var(--green)}.receipt p{font-size:14px;margin:8px 0}.receipt label{display:block;font-size:13px;color:var(--muted);margin:15px 0 5px}.receipt input{font-family:monospace;font-size:14px}.receipt .button-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.check-inline{display:flex;align-items:center;gap:7px;font-size:13px!important;font-weight:400!important}.help-line{font-size:14px;color:var(--muted);margin-top:25px;border-top:1px solid var(--line);padding-top:18px}.track-result{border:1px solid var(--line);border-radius:12px;margin-top:25px;padding:20px;background:#fbfcf8}.track-result>p{font-size:14px}.track-result h3{font-size:17px}.timeline{list-style:none;padding:0 12px 0 0;margin:20px 0 0;border-inline-start:2px solid #bfd2bf}.timeline li{position:relative;padding:0 14px 22px 0}.timeline li::before{content:'';position:absolute;right:-19px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--green);border:2px solid #fff}.timeline strong{font-size:15px}.timeline small{display:block;font-size:12.5px;color:var(--muted)}.timeline p{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:5px}.knowledge-list{margin-top:18px;display:grid;gap:10px}.knowledge-card{border:1px solid var(--line);border-radius:10px;overflow:hidden}.knowledge-card summary{cursor:pointer;min-height:55px;padding:14px 16px;font-size:15px;font-weight:600}.knowledge-card summary:hover{background:var(--paper)}.knowledge-card .knowledge-body{padding:0 18px 16px;font-size:14px;line-height:2}.knowledge-card .source{display:block;color:var(--muted);font-size:12.5px;border-top:1px solid var(--line);padding-top:9px;margin-top:13px}.knowledge-card:target{outline:2px solid var(--gold)}.divider{height:1px;background:var(--line);margin:25px 0}.download-list{display:grid;gap:10px;margin-top:16px}.download-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;text-decoration:none}.download-card>span:nth-child(2){flex:1}.download-card strong{display:block;font-size:14px}.download-card small{display:block;font-size:12.5px;color:var(--muted)}.file-icon{background:var(--mint);color:var(--green);border-radius:7px;font-size:12px;font-weight:700;padding:8px;width:43px;text-align:center}.toast{position:fixed;bottom:24px;left:24px;right:auto;max-width:min(440px,calc(100vw - 40px));background:var(--deep);color:white;padding:12px 20px;border-radius:10px;font-size:15px;z-index:50;box-shadow:0 5px 25px #163c3522}.skip{position:absolute;top:-100px;right:20px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.empty{padding:25px;text-align:center;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:15px}.page-prose{max-width:780px;margin:35px auto;padding:30px;background:white;border:1px solid var(--line);border-radius:18px}.page-prose h1{font-size:28px}.page-prose h2{font-size:18px;margin-top:25px}.page-prose p,.page-prose li{font-size:16px;margin-top:10px}.admin-main{padding:24px 0}.admin-title{display:flex;gap:20px;justify-content:space-between;align-items:center;margin:24px 0}.admin-title h1{font-size:30px}.admin-tools{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.admin-tools input{flex:1;min-width:200px}.admin-tools select{width:auto;min-width:160px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{background:#fff;border:1px solid var(--line);padding:18px 22px;border-radius:12px}.stat strong{display:block;font-size:32px;line-height:1.5}.stat span{font-size:14px;color:var(--muted)}.admin-list{display:grid;gap:14px}.request-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:22px}.request-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.request-head h3{font-family:monospace;font-size:17px}.request-meta{color:var(--muted);font-size:13px;margin-top:10px}.request-body{margin:12px 0;font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere}.request-update{border-top:1px solid var(--line);padding-top:15px;margin-top:15px;display:grid;grid-template-columns:180px 1fr auto;align-items:end;gap:12px}.request-update label{font-size:13px;display:block}.request-update textarea{min-height:70px;max-height:180px}.request-update .btn{margin-bottom:1px}.request-name{font-size:15px;margin-top:10px}.status-label{padding:4px 10px;border-radius:5px;background:var(--mint);font-size:13px;color:var(--green)}.status-label.urgent{background:#fff1e7;color:#956123}.admin-notice{font-size:14px;color:var(--muted);margin-bottom:20px}.login-panel{max-width:640px;margin:40px auto}.login-panel .btn{margin-top:18px}.pagination{display:flex;justify-content:center;gap:10px;padding:20px}.loading{color:var(--muted);padding:25px;text-align:center;font-size:15px}
@media(min-width:1400px){.intro{padding-block:48px}.messages{height:360px}}
@media(max-width:1000px){.container{width:calc(100% - 40px)}.workspace{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.side-card{padding:20px}.intro-note{padding:0}.header-actions{gap:15px}.suggestions{grid-template-columns:1fr}.suggestions button{min-height:39px}.messages{height:310px}.panel-heading{flex-wrap:wrap}.chat-foot{font-size:12.5px}.request-update{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.container{width:calc(100% - 32px)}.header{padding-block:17px}.brand{gap:11px}.brand img{width:55px;height:48px}.brand strong{font-size:29px}.brand small{font-size:12px}.brand-rule{height:32px}.phone-link{display:none}.header-actions .btn{font-size:12.5px;min-height:40px;padding:8px 10px;gap:5px}.topline{font-size:12px}.topline span{display:none}.intro{padding:28px 0 24px}.intro h1{font-size:36px}.intro-copy{font-size:14px}.intro-note{display:none}.tabs{gap:0;margin-bottom:18px}.tabs button{padding:12px 11px;font-size:13px;flex:1}.tabs button span{display:none}.workspace{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.side-note{grid-column:1/-1}.side-card{padding:18px}.side-card h2{font-size:17px}.steps{gap:13px;margin:16px 0}.steps strong{font-size:13px}.steps p{font-size:12.5px}.steps li{gap:8px}.steps li>span{width:22px;height:22px}.contact-number{font-size:21px}.side-card .btn{font-size:13px;gap:8px;padding:8px 10px}.panel{padding:22px 18px}.chat-panel{padding:0}.panel-heading{padding:18px}.assistant-title h2{font-size:16px}.assistant-title p{font-size:12.5px}.status-tag{font-size:12px}.messages{padding:20px 18px;height:320px}.message-body{font-size:15px;padding:14px 16px}.suggestions{padding:0 18px 15px;grid-template-columns:1fr;gap:6px}.composer{margin-inline:18px}.chat-foot{padding-inline:18px}.form-grid{grid-template-columns:1fr}.footer{margin-top:20px;padding:22px 0;flex-direction:column;gap:7px}.footer>div{gap:15px}.receipt{padding:18px}.request-card{padding:18px}.admin-title{align-items:flex-start}.admin-title h1{font-size:24px}.stat{padding:15px}.admin-tools input{width:100%}.page-prose{padding:22px 18px;margin:20px 16px}}
@media(max-width:380px){.sidebar{grid-template-columns:1fr}.header-actions .btn span{display:none}.intro h1{font-size:32px}.tabs button{font-size:12.5px;padding-inline:8px}.panel-heading{gap:8px}.status-tag{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.header-actions,.tabs,.sidebar,.footer,.topline,.intro,.composer,.chat-foot{display:none}.receipt{border:1px solid #555;display:block}.container{width:100%}}

/* Compact layout: keep the conversation and its input on the first screen. */
.topline{padding:4px 0}
.header{padding:10px 0;gap:16px}
.brand img{width:54px;height:46px}
.brand strong{font-size:28px}
.brand-rule{height:32px}
.container>.pilot{margin-bottom:4px}
.intro{padding:12px 0 8px;gap:16px}
.intro>div:first-child{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.intro .eyebrow{display:none}
.intro h1{font-size:28px;line-height:1.3}
.intro-copy{margin-top:0;font-size:14px;line-height:1.7}
.intro-note{display:none}
.tabs{margin-bottom:14px}
.tabs button{min-height:44px;padding:9px 16px}
.panel-heading{padding:12px 20px}
.avatar{width:38px;height:38px;border-radius:12px;font-size:19px}
.messages{height:clamp(180px,calc(100vh - 575px - var(--banner)),620px);height:clamp(180px,calc(100dvh - 575px - var(--banner)),620px);padding:16px 20px 12px;gap:14px}
.suggestions{padding:4px 20px 12px}
.suggestions button{min-height:40px;padding:7px 11px}
.composer{margin:0 20px}
.chat-foot{padding:10px 20px 12px}
.workspace{gap:20px}
.side-card{padding:18px 20px}
.steps{margin:14px 0 18px;gap:12px}
.footer{margin-top:18px;padding:20px 0}
@media(max-width:760px){
  .header{padding:8px 0}
  .brand img{width:44px;height:38px}
  .brand strong{font-size:24px}
  .intro{padding:10px 0 6px}
  .intro h1{font-size:24px}
  .intro .eyebrow,.intro-copy{display:none}
  .tabs{margin-bottom:10px}
  .tabs button{min-height:42px;padding:8px 6px}
  .panel-heading{padding:10px 14px}
  .assistant-title p{display:none}
  .messages{height:clamp(170px,calc(100vh - 552px - var(--banner)),560px);height:clamp(170px,calc(100dvh - 552px - var(--banner)),560px);padding:14px}
  .suggestions{display:flex;overflow-x:auto;gap:6px;padding:2px 14px 10px;scrollbar-width:none}
  .suggestions::-webkit-scrollbar{display:none}
  .suggestions button{flex:0 0 auto;white-space:nowrap;min-height:38px}
  .composer{margin-inline:14px}
  .chat-foot{padding:8px 14px 10px}
}
.workspace>*,.panels{min-width:0}

/* Live voice call */
.heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.voice-invite{display:flex;align-items:center;gap:12px;padding:10px 20px;background:linear-gradient(135deg,#f6f1e6,#e8f0eb);border-bottom:1px solid var(--line)}
.voice-invite-orb{width:34px;height:34px;flex-shrink:0;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#bfe3d3 45%,#6fb39a);animation:invitepulse 2.2s ease-out infinite}
@keyframes invitepulse{0%{box-shadow:0 0 0 0 #195b4c55}70%,100%{box-shadow:0 0 0 12px #195b4c00}}
.voice-invite-text{flex:1;min-width:0;display:flex;flex-direction:column}
.voice-invite-text strong{font-size:15px;color:var(--deep)}
.voice-invite-text small{font-size:12.5px;color:var(--muted)}
.voice-invite-start{min-height:42px;padding:8px 18px;gap:8px;white-space:nowrap}
.call-panel{display:flex;align-items:center;gap:12px;padding:12px 20px;background:linear-gradient(135deg,#164b40,#1f6b59);color:#fff}
.call-info{flex:1;min-width:0;display:flex;flex-direction:column}
.call-info strong{font-size:15px}
.call-info small{font-size:12.5px;color:#d5e6dc}
.call-panel .btn.subtle{color:#fff;border-color:#ffffff55}
.call-panel .btn.subtle:hover{background:#ffffff1a}
.call-end{background:var(--red);border-color:var(--red)}
.call-end:hover{background:#7f2a2a}
.call-orb{width:38px;height:38px;flex-shrink:0;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#bfe3d3 45%,#6fb39a);box-shadow:0 0 0 0 #ffffff55}
.call-panel[data-state=connecting] .call-orb{animation:orbwait 1.4s ease-in-out infinite}
.call-panel[data-state=listening] .call-orb{animation:orbpulse 2.4s ease-in-out infinite}
.call-panel[data-state=speaking] .call-orb{animation:orbspeak .5s ease-in-out infinite alternate}
.call-panel[data-state=thinking] .call-orb{animation:orbwait .8s ease-in-out infinite}
@keyframes orbwait{50%{opacity:.45}}
@keyframes orbpulse{50%{box-shadow:0 0 0 8px #ffffff22}}
@keyframes orbspeak{from{transform:scale(.92)}to{transform:scale(1.08);box-shadow:0 0 0 10px #ffffff2a}}
@media(max-width:760px){.call-panel{flex-wrap:wrap;padding:10px 14px}.call-info{flex-basis:calc(100% - 50px)}.call-panel .btn{flex:1}.voice-invite{padding:8px 14px;gap:10px}.voice-invite-text small{display:none}.voice-invite-start{min-height:40px;padding:6px 14px}}
@media(prefers-reduced-motion:reduce){.call-orb,.voice-invite-orb{animation:none!important}}

/* Tab icons: clear line icons in soft badges; «طلب جديد» and «متابعة طلب» stand out because beneficiaries need them most. */
.tabs button{display:inline-flex;align-items:center;gap:8px}
.tabs button .tab-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--mint);color:var(--green);margin:0;flex-shrink:0;transition:background .15s,color .15s}
.tab-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
#tab-request .tab-icon{background:var(--green);color:#fff}
#tab-track .tab-icon{background:var(--gold);color:#fff}
#tab-request,#tab-track{font-weight:600;color:var(--ink)}
.tabs button[aria-selected=true] .tab-icon{background:var(--green);color:#fff;box-shadow:0 0 0 3px #195b4c22}
@media(max-width:760px){
  .tabs button{flex-direction:column;justify-content:center;gap:4px;padding:8px 4px;font-size:12.5px;line-height:1.3}
  .tabs button .tab-icon{display:inline-grid;width:32px;height:32px}
  .tabs button .tab-label{display:block;white-space:normal;text-align:center;font-size:13px;line-height:1.35}
}

/* Design review — 22 Oct 2026 */
.forms-block{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:22px}
.forms-block h3{font-size:17px;color:var(--green)}
.forms-block .muted{margin:2px 0 0}
.forms-block .download-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}
.download-card{background:#fff;transition:border-color .15s,box-shadow .15s}
.download-card:hover{border-color:#aec5b6;box-shadow:0 3px 12px #164b4012}
.guide-title{font-size:17px;margin:0 0 10px}
.knowledge-card summary{list-style:none;display:flex;align-items:center;gap:10px}
.knowledge-card summary::-webkit-details-marker{display:none}
.knowledge-card summary::after{content:'';width:9px;height:9px;flex-shrink:0;border:solid var(--green);border-width:0 0 2px 2px;transform:rotate(45deg);margin-inline-start:4px;transition:transform .15s}
.knowledge-card[open] summary::after{transform:rotate(-45deg)}
.knowledge-card[open]{border-color:#aec5b6}
.kb-title{flex:1}
.kb-cat{font-size:12px;font-weight:500;color:var(--green);background:var(--mint);border-radius:20px;padding:2px 10px;white-space:nowrap}
@media(max-width:760px){.forms-block .download-list{grid-template-columns:1fr}.kb-cat{display:none}}

/* «مكتب التشخيص والنمو» is the heart of the service: it heads the page; «يُسْر» is the service it runs. */
.brand small{font-size:14px;font-weight:600;color:var(--deep);margin-top:3px}
.office-hero{padding:14px 0 10px}
.intro.office-hero>.intro-main{display:block;border-inline-start:4px solid var(--gold);padding-inline-start:16px}
.office-kicker{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--muted);margin:0 0 2px}
.kicker-dot{width:7px;height:7px;border-radius:2px;background:var(--gold)}
.office-hero h1{font-size:34px;line-height:1.3;color:var(--green);font-weight:700}
.tagline{font-size:15px;color:var(--ink);margin-top:4px;line-height:1.7}
.tagline strong{color:var(--green)}
.tagline em{font-style:normal;color:var(--gold);font-weight:600}
.tagline-more{color:var(--muted)}
@media(max-width:760px){
  .office-hero{padding:8px 0 4px}
  .office-hero .intro-main{padding-inline-start:12px;border-inline-start-width:3px}
  .office-kicker{display:none}
  .office-hero h1{font-size:25px}
  .tagline{font-size:13.5px;margin-top:2px}
  .tagline-more{display:none}
}

/* «مدينة طيبة التعليمية للتربية الخاصة» leads the top bar */
.topline{padding:7px 0}
.topline .container{align-items:center}
.city-name{font-size:16px;font-weight:700;color:#fff;display:inline-flex;align-items:center;gap:9px}
.city-name::before{content:'';width:8px;height:8px;border-radius:2px;background:var(--gold);flex-shrink:0}
.topline span{font-size:13px;color:#d5e6dc}
@media(max-width:760px){.topline{padding:6px 0}.city-name{font-size:14px}}

/* Hierarchy: «يُسْر» first (the site and the service), «مكتب التشخيص والنمو» second, directly beneath it. */
.brand img{width:62px;height:53px}
.brand-rule{height:46px}
.brand-text strong{font-size:40px;line-height:1.05;color:var(--green)}
.brand-text small{font-size:17px;font-weight:700;color:var(--deep);margin-top:6px}
.office-hero h1{font-size:26px;color:var(--ink);font-weight:700}
.office-hero h1 em{font-style:normal;color:var(--green)}
@media(max-width:760px){
  .brand img{width:46px;height:40px}
  .brand-text strong{font-size:32px}
  .brand-text small{font-size:14.5px;margin-top:3px}
  .office-hero h1{font-size:20px}
}

/* Phase 1 preview: clinic hours card + appointments */
.hours-card h3{font-size:17px;margin-bottom:8px}
.hours-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:2px}
.hours-list li{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px dashed var(--line);font-size:14px}
.hours-list li:last-child{border-bottom:0}
.hours-list b{font-variant-numeric:tabular-nums;color:var(--green);background:var(--mint);border-radius:6px;padding:1px 8px;font-size:13.5px}
.hours-card p{font-size:13px;color:var(--muted);margin:0}
.appt-card{display:grid;gap:4px;background:linear-gradient(135deg,#164b40,#1f6b59);color:#fff;border-radius:12px;padding:14px 16px;margin:14px 0}
.appt-label{font-size:13px;color:#d5e6dc}
.appt-card strong{font-size:18px}
.appt-who{font-size:14px}
.appt-note{font-size:12.5px;color:#d5e6dc}
.appt-fields{grid-column:1/-1;display:grid;grid-template-columns:220px 1fr;gap:12px}
.appt-fields label{font-size:13px;display:block}
.request-appt{display:inline-block;margin-top:8px;background:var(--mint);color:var(--green);border-radius:8px;padding:4px 10px;font-size:13.5px;font-weight:600}
@media(max-width:760px){.appt-fields{grid-template-columns:1fr}.hours-card{grid-column:1/-1}}
.hours-list li{font-size:13.5px;padding:4px 0}
.hours-card{padding:16px 18px}
.hours-card h3{margin-bottom:4px}
.hours-list li small{font-size:12px;color:var(--muted)}

/* Phase 2 preview: chat registration receipt, quick replies, reply history */
.chat-receipt{display:grid;gap:4px;background:#eef6f1;border:1px solid #b9d0b5}
.chat-receipt strong{color:var(--green);font-size:16px}
.chat-receipt .mono{direction:ltr;text-align:right;font-family:Consolas,monospace;font-size:13.5px}
.chat-receipt small{color:var(--muted);font-size:12.5px}
.quick-replies{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.quick-label{font-size:13px;color:var(--muted)}
.chip{background:#fff;border:1px solid var(--line);border-radius:20px;padding:4px 12px;font-size:13px;color:var(--green);min-height:32px}
.chip:hover{background:var(--mint)}
.history-btn{margin-top:10px}
.reply-history{list-style:none;margin:10px 0 0;padding:0 12px 0 0;border-inline-start:2px solid #bfd2bf;display:grid;gap:10px}
.reply-history strong{font-size:13.5px}
.reply-history small{display:block;font-size:12px;color:var(--muted)}
.reply-history p{font-size:13.5px;margin:2px 0 0}
/* Satisfaction surveys */
.survey-main{padding:10px 0 20px}.survey-panel{max-width:820px;margin-inline:auto}.survey-panel h1{font-size:28px;line-height:1.6}
.likert-block{margin:6px 0 22px}.likert-block legend{font-size:15px;font-weight:700;margin-bottom:12px}.likert-block legend .muted{font-weight:400;font-size:13px}
.likert{border:1px solid var(--line);border-radius:11px;padding:13px 15px;margin-bottom:9px;background:#fbfcf9}.likert-q{font-size:15px;margin-bottom:9px}
.likert-row{display:flex;gap:7px;flex-wrap:wrap}.likert-row.nps{gap:5px}
.pick{position:relative;display:inline-flex}.pick input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.pick span{display:grid;place-items:center;min-width:46px;min-height:44px;border:1px solid var(--field);border-radius:9px;background:#fff;font-weight:600;font-size:15px}
.nps .pick span{min-width:40px}.pick input:checked+span{background:var(--green);color:#fff;border-color:var(--green)}.pick input:focus-visible+span{outline:3px solid #b78337;outline-offset:2px}.pick:hover span{background:var(--mint)}.pick input:checked:hover+span{background:var(--deep)}
.survey-link{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:18px;padding:14px 16px;border:1px dashed #b9d0b5;border-radius:11px;background:#f6f9f2;font-size:14px}
.survey-results{margin-top:30px;border-top:1px solid var(--line);padding-top:10px}.survey-results h2{font-size:22px}.survey-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.result-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:14px}.result-card h3{font-size:17px;margin-bottom:10px}
.bar-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 44px;gap:10px;align-items:center;font-size:14px;padding:7px 0;border-bottom:1px solid #eef1ea}.bar-row:last-child{border:0}
.bar{height:10px;background:#e8eee6;border-radius:6px;overflow:hidden}.bar i{display:block;height:100%;background:var(--green);border-radius:6px}.bar-row b{text-align:left;font-variant-numeric:tabular-nums}
.comment-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.comment-list li{background:#fbfcf9;border:1px solid var(--line);border-radius:9px;padding:10px 13px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.comment-list small{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}
.staff-survey{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:14px}.staff-survey summary{cursor:pointer;font-weight:700;font-size:16px}
@media(max-width:760px){.survey-panel h1{font-size:23px}.pick span{min-width:42px}.nps .pick span{min-width:34px;min-height:40px}.bar-row{grid-template-columns:minmax(0,1fr) 80px 38px}}
@media(max-width:760px){.header{flex-wrap:wrap}.header-actions{flex-wrap:wrap;gap:8px}#staff-email{flex-basis:100%;font-size:12px;overflow-wrap:anywhere}.survey-link .btn{width:100%}}

/* Accessibility review — 29 Oct 2026: field edges at 3:1 (WCAG 1.4.11); text links in the footer and contact card get a 44px tap height. */
.footer a,.contact-actions a{display:inline-flex;align-items:center;min-height:44px}
.contact-number{white-space:nowrap}
@media(max-width:760px){.contact-number{font-size:19px}}

/* Official presence — 29 Oct 2026: the service now speaks for the institution. The heading names the service plainly,
   the logo is legible, and every public page closes with the same official footer: who, where, how to reach them. */
.office-hero h1{font-size:30px;line-height:1.35;text-wrap:balance}
.tagline em{font-size:16px;color:#86601f}
.brand img{width:66px;height:56px}
.site-footer{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) auto;gap:10px 32px;align-items:start;font-size:13px;color:var(--muted);line-height:1.8}
.footer-org{display:flex;flex-direction:column}
.footer-org strong{color:var(--ink);font-size:14.5px}
.footer-contact{font-style:normal;display:flex;flex-direction:column}
.footer-contact a{color:var(--green);min-height:0;display:inline}
.footer-links{display:flex;flex-direction:column;gap:0}
.footer-legal{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;margin-top:6px;font-size:12.5px}
.footer-credit{display:inline-block;margin-inline-start:10px;white-space:nowrap}
@media(max-width:760px){
  .office-hero h1{font-size:22px}
  .tagline em{font-size:14.5px}
  .brand img{width:50px;height:43px}
  .sidebar{grid-template-columns:1fr}
  .site-footer{grid-template-columns:1fr;gap:12px}
  .footer-links{flex-direction:row;gap:20px}
  .footer-contact a{display:inline-flex;align-items:center;min-height:44px}
}

/* Affiliation in the top bar: on phones it moves under the institution's name instead of being hidden. */
.topline .affiliation{font-size:13px;color:#e3eee7}
@media(max-width:760px){
  .topline .container{flex-direction:column;align-items:flex-start;gap:0}
  .topline .affiliation{display:block;font-size:11.5px;line-height:1.6}
}
/* A card that describes a form carries the form itself. */
.kb-download{margin-top:10px;gap:8px}
/* The question box must end inside the first screen. The messages area takes whatever height is left, and gives the
   voice invitation's row back while it shows. On short laptop screens (720-760 px) the chat heading is tighter too. */
@media(min-width:761px){.voice-invite{padding:6px 20px}.voice-invite-start{min-height:38px;padding:6px 16px}
  .chat-panel:has(#voice-invite:not([hidden])) .messages{height:clamp(120px,calc(100vh - 627px - var(--banner)),570px);height:clamp(120px,calc(100dvh - 627px - var(--banner)),570px)}}
@media(min-width:761px) and (max-height:760px){#panel-chat .panel-heading{padding-block:6px}}
@media(max-width:760px){.chat-panel:has(#voice-invite:not([hidden])) .messages{height:clamp(150px,calc(100vh - 612px - var(--banner)),500px);height:clamp(150px,calc(100dvh - 612px - var(--banner)),500px)}}
/* The test-mode banner (local preview and pilot only) sits above the tabs; the messages give its height back. */
:root{--banner:0px}
body:has(#pilot-banner:not([hidden])){--banner:48px}
@media(max-width:760px){body:has(#pilot-banner:not([hidden])){--banner:74px}}
@media(max-width:380px){.voice-invite{gap:8px;padding-inline:10px}.voice-invite-orb{width:26px;height:26px}.voice-invite-text strong{font-size:14px;white-space:nowrap}.voice-invite-start{padding:6px 10px;font-size:14px}}
