:root{--g:#658B75;--gd:#4b6b58;--y:#F9B233;--ink:#1f2a24;--mut:#6b766f;--line:#e3e8e4;--bg:#f4f6f4;--soft:#eef3ef}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);font-family:'Tajawal',Tahoma,Arial,sans-serif;color:var(--ink);font-size:14px;line-height:1.55}
button{font:inherit;cursor:pointer}
.hidden{display:none!important}
/* app chrome */
.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.topbar .in{max-width:1100px;margin:auto;display:flex;align-items:center;gap:18px;padding:10px 16px}
.topbar img{height:34px}
.topbar nav{display:flex;gap:4px;flex:1}
.topbar nav button{background:none;border:0;padding:8px 14px;border-radius:8px;color:var(--mut);font-weight:700}
.topbar nav button.on{background:var(--soft);color:var(--gd)}
.topbar .who{color:var(--mut);font-size:13px}
.topbar .who b{color:var(--ink)}
.link{background:none;border:0;color:var(--g);text-decoration:underline;padding:0}
.wrap{max-width:1100px;margin:22px auto;padding:0 16px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}
h2{margin:0 0 4px;font-size:22px}
.sub{color:var(--mut);margin:0 0 18px}
.btn{border:0;border-radius:8px;padding:10px 18px;background:var(--g);color:#fff;font-weight:700}
.btn:hover{background:var(--gd)}
.btn.alt{background:#fff;color:var(--gd);border:1px solid var(--g)}
.btn.y{background:var(--y);color:#2a2000}
.btn.sm{padding:6px 12px;font-size:13px}
.btn:disabled{opacity:.5;cursor:default}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.grid .full{grid-column:1/-1}
label.f{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:13px}
label.f small{font-weight:400;color:var(--mut)}
label.f input,label.f textarea,label.f select{font:inherit;font-weight:400;border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:#fff;color:var(--ink)}
label.f textarea{min-height:80px;resize:vertical}
label.f input:focus,label.f textarea:focus,label.f select:focus{outline:2px solid var(--y);border-color:var(--y)}
.chk{display:flex;align-items:center;gap:8px;font-weight:700}
.actions{display:flex;gap:10px;align-items:center;margin-top:18px;flex-wrap:wrap}
.msg{color:#a33;font-weight:700}
.note{background:#fff7e6;border:1px solid #f3d38c;border-radius:10px;padding:10px 14px;margin-bottom:14px;color:#6a4b00}
.ok{background:#e9f4ec;border:1px solid #bcd9c4;color:#2f6b43}
.login{max-width:380px;margin:80px auto}
.login img{height:46px;display:block;margin:0 auto 18px}
.progress{display:flex;align-items:center;gap:12px;margin-top:16px;color:var(--gd);font-weight:700}
.spin{width:22px;height:22px;border:3px solid var(--soft);border-top-color:var(--g);border-radius:50%;animation:sp 1s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.toolbar .sp{flex:1}
.toolbar select{font:inherit;border:1px solid var(--line);border-radius:8px;padding:7px 10px}
table.arch{width:100%;border-collapse:collapse;background:#fff}
table.arch th{background:var(--soft);text-align:right;padding:9px 10px;font-size:13px;color:var(--gd)}
table.arch td{border-bottom:1px solid var(--line);padding:9px 10px}
table.arch tr:hover td{background:#fafcfa;cursor:pointer}
.badge{display:inline-block;border-radius:20px;padding:1px 10px;font-size:12px;font-weight:700;background:#eee}
.st-draft{background:#eef0f2;color:#556}.st-sent{background:#e7f0fb;color:#2b5d99}.st-accepted{background:#e9f4ec;color:#2f6b43}.st-rejected{background:#fbeaea;color:#9b2c2c}
/* modal */
.modal{position:fixed;inset:0;background:rgba(20,30,25,.45);display:flex;align-items:flex-start;justify-content:center;z-index:50;padding:40px 16px}
.modal .box{background:#fff;border-radius:12px;width:min(820px,100%);max-height:calc(100vh - 80px);display:flex;flex-direction:column}
.modal .hd{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center}
.modal .hd input{flex:1;font:inherit;border:1px solid var(--line);border-radius:8px;padding:8px 11px}
.modal .bd{overflow:auto;padding:8px 10px}
.pick{display:flex;gap:12px;align-items:center;padding:8px;border-radius:8px;cursor:pointer}
.pick:hover{background:var(--soft)}
.pick img{width:54px;height:54px;object-fit:contain;background:#fafafa;border-radius:6px}
.pick .t{flex:1}
.pick .t b{display:block}
.pick .t span{font-size:12px;color:var(--mut)}
/* quote document */
.page{max-width:960px;margin:0 auto;background:#fff;padding:36px 44px 28px;box-shadow:0 2px 18px rgba(0,0,0,.07)}
.page header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:3px solid var(--g);padding-bottom:18px}
.page header img{height:58px}
.doc h1{margin:0;font-size:26px;color:var(--g);font-weight:800}
.doc .ent{font-size:12px;letter-spacing:2px;color:var(--mut)}
.slogan{margin-top:4px;font-weight:700;color:var(--y)}
.info{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0 6px}
.box2{border:1px solid var(--line);border-radius:8px;padding:12px 14px}
.box2 h3{margin:0 0 6px;font-size:12px;color:var(--mut);font-weight:500}
.box2 .big{font-size:17px;font-weight:800}
[contenteditable]{outline:none;border-bottom:1px dashed transparent}
[contenteditable]:hover,[contenteditable]:focus{border-bottom-color:#c9d2cc}
.kv{display:grid;grid-template-columns:auto 1fr;gap:2px 12px}
.kv>span:nth-child(odd){color:var(--mut)}
.intro{margin:16px 0 10px;color:#333}
table.items{width:100%;border-collapse:collapse;margin-top:8px}
table.items thead th{background:var(--g);color:#fff;font-weight:700;padding:9px 8px;font-size:12.5px;text-align:center}
table.items thead th:nth-child(3){text-align:right}
table.items td{border-bottom:1px solid var(--line);padding:8px;vertical-align:middle;text-align:center}
tr.sec td{background:var(--soft);text-align:right;padding:9px 12px;border-bottom:2px solid var(--y)}
tr.sec b{color:var(--gd);font-size:14.5px;margin-left:10px}
tr.sec span.s{color:var(--mut);font-size:12px}
td.num{color:var(--mut);width:30px}
td.img{width:86px}
td.img img{width:72px;height:72px;object-fit:contain;border-radius:6px;background:#fafafa;display:block;margin:auto}
td.desc{text-align:right}
.nm{font-weight:700;font-size:14px}
.en{font-size:11.5px;color:var(--mut);direction:ltr;text-align:right}
.dd{font-size:12px;color:#444;margin-top:2px}
.meta{margin-top:4px;display:flex;flex-wrap:wrap;gap:6px}
.meta span{font-size:10.5px;background:#f2f4f2;border:1px solid var(--line);border-radius:20px;padding:1px 8px;color:#505a54}
.meta span.stk{background:#e9f4ec;border-color:#bcd9c4;color:#2f6b43;font-weight:700}
.meta span.warn{background:#fff3e0;border-color:#f3c98c;color:#8a5a00}
.page input.n{width:76px;border:1px solid var(--line);border-radius:6px;padding:5px;text-align:center;font:inherit;font-weight:700;background:#fff;color:var(--ink)}
.page input.n:focus{outline:2px solid var(--y);border-color:var(--y)}
.page input.p:placeholder-shown{background:#fff7e6;border-color:var(--y)}
td.t{font-weight:800;white-space:nowrap;width:110px}
.rowtools{display:flex;gap:4px;justify-content:center;margin-top:6px}
.rowtools button{border:1px solid var(--line);background:#fff;border-radius:6px;font-size:11px;padding:2px 7px;color:var(--mut)}
.rowtools button:hover{border-color:var(--g);color:var(--gd)}
.sectools{float:left;display:flex;gap:4px}
.sectools button{border:1px solid var(--line);background:#fff;border-radius:6px;font-size:11px;padding:2px 8px;color:var(--mut)}
.tot{display:flex;justify-content:flex-end;margin-top:16px}
.tot table{width:330px;border-collapse:collapse}
.tot td{text-align:right;padding:7px 12px;border-bottom:1px solid var(--line)}
.tot td:last-child{text-align:left;font-weight:700;white-space:nowrap}
.tot tr.grand td{background:var(--g);color:#fff;font-size:16px;font-weight:800;border:0}
.tot input{width:56px;border:1px solid var(--line);border-radius:6px;padding:3px;text-align:center;font:inherit}
.terms{margin-top:22px;display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.terms h3{margin:0 0 8px;color:var(--g);font-size:15px}
.terms ul{margin:0;padding-right:18px}
.terms li{margin-bottom:3px}
.sign{text-align:center;border:1px solid var(--line);border-radius:8px;padding:14px}
.sign img{height:76px;display:block;margin:4px auto}
.sign .who2{font-weight:800}
.sign .r{color:var(--mut);font-size:12px}
.page footer{margin-top:24px;border-top:3px solid var(--g);padding-top:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 18px;font-size:11.5px;color:#4c5650}
.page footer b{color:var(--gd);margin-inline-end:6px}
.page footer>div{line-height:1.7}
@media screen and (max-width:760px){.page footer{flex-direction:column;gap:8px;align-items:stretch}.page footer b{display:block;margin:0}.page footer>div:last-child{text-align:center;padding-top:6px;border-top:1px solid var(--line)}}

.inrow{display:flex;gap:8px;align-items:stretch}
.inrow input{flex:1;min-width:0}
details.sec-f{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-top:14px;background:#fcfdfc}
details.sec-f summary{cursor:pointer;font-weight:800;color:var(--gd);padding:4px 0}
details.sec-f[open] summary{margin-bottom:10px}
.lbl{font-weight:700;font-size:13px;margin:8px 0 6px}
.lbl small{font-weight:400;color:var(--mut)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:20px;padding:5px 12px;cursor:pointer;background:#fff;font-size:13px}
.chips label:has(input:checked){background:#e9f4ec;border-color:var(--g);color:var(--gd);font-weight:700}
.chips input{accent-color:var(--g)}
.tri{display:flex;flex-wrap:wrap;gap:8px}
.tri button{border:1px solid var(--line);border-radius:20px;padding:5px 12px;background:#fff;font-size:13px}
.tri button.yes{background:#e9f4ec;border-color:var(--g);color:var(--gd);font-weight:700}
.tri button.yes::before{content:"✓ "}
.tri button.no{background:#fbeaea;border-color:#e2a5a5;color:#9b2c2c;text-decoration:line-through}
.files{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.files span{background:#f2f4f2;border:1px solid var(--line);border-radius:6px;padding:3px 8px;font-size:12px}
.files span button{border:0;background:none;color:#a33;margin-right:4px}
.logoprev{margin-top:10px}
.logoprev img{max-height:70px;max-width:220px;border:1px solid var(--line);border-radius:6px;padding:4px;background:#fff}
.lookup{border:1px solid #bcd9c4;background:#f6fbf7;border-radius:10px;padding:12px 14px;margin-top:12px}
.lk-head{display:flex;gap:10px;align-items:center;margin-bottom:6px}
.lk-text{white-space:pre-wrap;font-size:13px}
.lk-src{margin-top:6px;font-size:12px;display:flex;flex-direction:column;gap:2px}
.lk-src a{color:var(--g);direction:ltr;text-align:right}
.lookup.ok{border-color:var(--g)}
.savestate{font-size:12px;color:var(--mut)}
.savestate.err{color:#a33;font-weight:700}
.savestate.ok{color:#2f6b43}
.toolbar.t2{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.toolbar label{display:inline-flex;gap:6px;align-items:center;font-size:13px}
.search{font:inherit;border:1px solid var(--line);border-radius:8px;padding:8px 11px;width:240px}
table.arch td .btn{margin-left:4px}
table.arch.small td{font-size:12px;padding:6px 8px}
.arch input[type=checkbox]{accent-color:var(--g)}
/* doc additions */
.page[dir=ltr]{direction:ltr}
.page[dir=ltr] td.desc,.page[dir=ltr] tr.sec td,.page[dir=ltr] table.items thead th:nth-child(3){text-align:left}
.page[dir=ltr] .tot td{text-align:left}.page[dir=ltr] .tot td:last-child{text-align:right}
.page[dir=ltr] .en{text-align:left}
.page[dir=ltr] .terms ul{padding-right:0;padding-left:18px}
table.items thead th{white-space:nowrap}
.clientlogo{max-height:56px;max-width:160px;display:block;margin-bottom:6px}
.meta span{position:relative}
.meta .x{border:0;background:none;color:#b55;font-size:11px;padding:0 0 0 2px;margin:0 2px;cursor:pointer}
.meta span.off{opacity:.35;text-decoration:line-through}
tr.item[draggable=true] td.num{cursor:grab}
tr.item.dragover td{border-top:3px solid var(--y)}
tr.sec.dragover td{background:#fff3d6}
.grip{cursor:grab;color:var(--mut);margin-left:6px}
.fxnote{margin-top:8px;font-size:12px;color:var(--mut)}
.tot tr.edit-only td{color:var(--mut)}
.tot .xbtn{border:0;background:none;color:#b55;cursor:pointer;font-size:12px}
.vatoff{color:var(--mut);font-size:12px}

table.items td.desc{text-align:right}
.page[dir=ltr] table.items td.desc{text-align:left}
.tot td{white-space:nowrap}
.page[dir=ltr] tr.sec b{margin-left:0;margin-right:10px}
[contenteditable].ph:empty::before{content:attr(data-ph);color:#b8c0bb}
.no-wrap{white-space:nowrap}
@media screen and (max-width:760px){.grid,.info,.terms{grid-template-columns:1fr}.page{padding:20px 14px}.page header{flex-direction:column}td.img{width:56px}td.img img{width:48px;height:48px}.page input.n{width:58px}.tot table{width:100%}.topbar nav button{padding:8px}}
@media print{
 @page{size:A4;margin:10mm}
 body{background:#fff;font-size:11.5px}
 .no-print,.topbar,.toolbar,.rowtools,.sectools,.note,.meta .x,.meta span.off,.edit-only,.grip{display:none!important}
 .wrap{margin:0;padding:0;max-width:none}
 .page{box-shadow:none;margin:0;max-width:none;padding:0}
 .page input.n,.tot input{border:0!important;background:none!important;padding:0;width:auto;max-width:70px;-moz-appearance:textfield}
 input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}
 tr.item{break-inside:avoid}
 input::placeholder{color:transparent!important}
 thead{display:table-header-group}
 [contenteditable]{border:0!important}
 *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* password eye */
.pw-wrap{position:relative;display:block}
.pw-wrap input{width:100%;padding-left:40px}
.pw-eye{position:absolute;left:8px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;font-size:16px;opacity:.45;padding:4px;line-height:1}
.pw-eye.on{opacity:1}

/* drop zones */
.drop{border:2px dashed #c9d6cd;border-radius:10px;background:#fafcfa;padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;color:var(--gd);font-weight:700;font-size:13px;text-align:center;transition:background .15s,border-color .15s}
.drop .ic{font-size:20px;line-height:1}
.drop small{font-weight:400;color:var(--mut)}
.drop:hover{border-color:var(--g)}
.drop.over{border-color:var(--y);background:#fff7e6}
.drop.has{border-style:solid;border-color:var(--g);background:#e9f4ec}

/* ===== mobile ===== */
@media screen and (max-width:760px){
 body{font-size:15px}
 .topbar .in{flex-wrap:wrap;gap:6px 10px;padding:8px 12px}
 .topbar img{height:28px}
 .topbar .who{flex:1;text-align:left;font-size:12px}
 #catInfo{display:none}
 .topbar nav{order:3;flex:0 0 100%;overflow-x:auto;gap:2px;-webkit-overflow-scrolling:touch}
 .topbar nav button{white-space:nowrap;padding:7px 12px;font-size:14px}
 .wrap{margin:12px auto;padding:0 10px}
 .card{padding:16px 14px}
 h2{font-size:19px}
 label.f input,label.f textarea,label.f select{font-size:16px}
 .actions .btn{flex:1}
 .inrow{flex-wrap:wrap}
 .inrow .btn{flex:0 0 auto}
 .modal{padding:10px}
 .modal .box{max-height:calc(100vh - 20px)}
 /* editor toolbars */
 .toolbar{gap:6px}
 .toolbar .sp{display:none}
 .toolbar .btn{padding:8px 12px}
 .toolbar.t2{padding:8px}
 .toolbar.t2 label{font-size:12px}
 .toolbar.t2 .btn.sm{flex:1 1 45%}
 /* quote document */
 .page{padding:16px 12px;box-shadow:none;border-radius:10px}
 .page header img{height:44px}
 .doc h1{font-size:21px}
 .info{grid-template-columns:1fr;gap:10px}
 .terms{grid-template-columns:1fr}
 .tot table{width:100%;table-layout:fixed}
 .tot td{white-space:normal;padding:7px 8px;font-size:13px}
 .tot td:last-child{width:42%;white-space:nowrap}
 .tot tr.grand td{font-size:15px}
 .page footer{font-size:11px}
 /* product rows become cards */
 table.items,table.items tbody{display:block;width:100%}
 table.items thead{display:none}
 table.items tr.sec{display:block}
 table.items tr.sec td{display:block;padding:10px}
 .sectools{float:none;display:flex;flex-wrap:wrap;margin-bottom:6px}
 table.items tr.item{display:grid;grid-template-columns:64px 1fr 1fr 1fr;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}
 table.items tr.item td{border:0;padding:0;text-align:right}
 table.items td.num{display:none}
 table.items td.img{grid-column:1;grid-row:1;width:auto}
 table.items td.img img{width:60px;height:60px}
 table.items td.desc{grid-column:2/5;grid-row:1}
 table.items td.cq{grid-column:1/3;grid-row:2}
 table.items td.cp{grid-column:3;grid-row:2}
 table.items td.t{grid-column:4;grid-row:2;width:auto;align-self:end;padding-bottom:6px;text-align:left}
 table.items td[data-l]::before{content:attr(data-l);display:block;font-size:11px;color:var(--mut);font-weight:500;margin-bottom:2px}
 table.items td.t[data-l]::before{text-align:left}
 .page input.n{width:100%;padding:8px 4px;font-size:16px}
 .rowtools{justify-content:flex-start;flex-wrap:wrap}
 .rowtools button{font-size:12px;padding:4px 10px}
 .meta span{font-size:11px}
 .page[dir=ltr] table.items tr.item td{text-align:left}
 .page[dir=ltr] table.items td.t{text-align:right}
 /* archive and users tables scroll sideways */
 table.arch{display:block;overflow-x:auto;white-space:nowrap}
 .search{width:100%}
}

/* client autocomplete + badge */
.ac-wrap{position:relative}
.ac{position:absolute;top:100%;right:0;left:0;margin-top:4px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:30;overflow:hidden}
.ac button{display:flex;flex-direction:column;align-items:flex-start;width:100%;border:0;background:#fff;padding:9px 12px;text-align:right;border-bottom:1px solid var(--line)}
.ac button:last-child{border-bottom:0}
.ac button:hover{background:var(--soft)}
.ac button b{font-size:14px}
.ac button span{font-size:12px;color:var(--mut);font-weight:400}
.client-badge{margin-top:12px;background:#e9f4ec;border:1px solid #bcd9c4;color:#2f6b43;border-radius:10px;padding:9px 12px;font-size:13px}
.sum-note{font-weight:400;color:var(--mut);font-size:12px;margin-right:6px}
/* toolbar icon buttons */
.ic-btn{display:inline-flex;align-items:center;gap:5px}
.ic-btn svg{flex:0 0 auto}
/* pinned items */
.rowtools button.pin.on{background:#fff3d6;border-color:var(--y);color:#7a5500;font-weight:700}
tr.item.pinned td{background:#fffbf0}
/* rules */
textarea.rules{width:100%;font:inherit;border:1px solid var(--line);border-radius:8px;padding:10px 12px;resize:vertical}
textarea.rules:focus{outline:2px solid var(--y);border-color:var(--y)}
/* section title row: never clip Arabic text */
tr.sec td{line-height:1.9;overflow:visible}
tr.sec b,tr.sec span.s{display:inline-block;padding:0 2px 2px 4px;overflow:visible}
.nm,.dd,[contenteditable]{padding-left:2px}
@media print{ tr.item.pinned td{background:none} }
.savestate.tmp{color:#8a5a00}
.badge.tmp{background:#fff3e0;color:#8a5a00;font-weight:500}
/* new-quote header, retry bar, rating */
.h-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.h-row h2{margin:0}
.retrybar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#eef6ff;border:1px solid #b9d3f0;color:#244a73;border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:14px}
.retrybar span{flex:1;min-width:220px}
.stars{display:flex;align-items:center;gap:4px}
.stars button{border:0;background:none;font-size:34px;line-height:1;color:#d7ddd9;padding:0 2px;cursor:pointer;transition:color .1s}
.stars button.on{color:var(--y)}

.stars .who{margin-right:12px;font-weight:700}
#rateStars{display:inline-flex;gap:4px}
.stars-s{color:var(--y);letter-spacing:1px;white-space:nowrap}
.rt-sum{font-size:16px;margin-bottom:10px}
.rt-sum b{font-size:24px;color:var(--gd)}
.lk-text b{color:var(--gd)}
.code-in{font-size:26px!important;letter-spacing:10px;text-align:center;font-weight:700!important}

/* ===== "ورشة" helper robot ===== */
.buddy{position:fixed;left:18px;bottom:14px;z-index:60;display:flex;align-items:flex-end;gap:6px;flex-direction:row;transform:translateX(-160%);opacity:0;transition:transform .55s cubic-bezier(.2,1.4,.4,1),opacity .3s}
.buddy.in{transform:translateX(0);opacity:1}
.bd-bot{width:124px;height:155px;overflow:visible;cursor:pointer;filter:drop-shadow(0 6px 10px rgba(0,0,0,.15));flex:0 0 auto}
.bd-float{animation:bdFloat 3s ease-in-out infinite;transform-origin:60px 80px}
@keyframes bdFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.bd-eyes{animation:bdBlink 4.2s infinite;transform-origin:60px 58px}
@keyframes bdBlink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
.bd-bulb{animation:bdGlow 1.6s ease-in-out infinite}
@keyframes bdGlow{0%,100%{opacity:1}50%{opacity:.45}}
.bd-arm-r{transform-origin:82px 101px}
.buddy.wave .bd-arm-r{animation:bdWave .5s ease-in-out 3}
@keyframes bdWave{0%,100%{transform:rotate(0)}50%{transform:rotate(-35deg)}}
.bd-bubble{display:none;position:relative;background:#fff;border:2px solid var(--g);border-radius:16px 16px 16px 4px;padding:10px 14px 10px 28px;max-width:260px;min-height:40px;margin-bottom:92px;box-shadow:0 8px 24px rgba(0,0,0,.12);font-size:14px;font-weight:700;color:var(--ink);line-height:1.6}
.bd-x{position:absolute;top:4px;left:6px;border:0;background:none;color:var(--mut);font-size:12px;cursor:pointer;padding:2px}
.bd-x:hover{color:#a33}
.bd-confetti{position:fixed;inset:0;pointer-events:none;z-index:70;overflow:hidden}
.bd-confetti i{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;animation:bdFall linear forwards}
@keyframes bdFall{to{top:105vh;transform:translateX(40px) rotate(720deg)}}
@media (max-width:760px){.buddy{left:8px;bottom:8px}.bd-bot{width:86px;height:107px}.bd-bubble{max-width:200px;font-size:13px;margin-bottom:60px}}

.bd-name{font-size:11px;font-weight:800;color:var(--y);margin-bottom:2px;letter-spacing:.3px}
.buddy.talk .bd-bubble{display:block;animation:bcPop .25s ease-out}
@keyframes bcPop{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}
.bd-text{cursor:pointer}
/* chat window */
.bd-chat{position:fixed;left:18px;bottom:176px;width:min(360px,calc(100vw - 24px));height:min(480px,calc(100vh - 160px));z-index:61;background:#fff;border:2px solid var(--g);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.2);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(14px) scale(.97);transition:opacity .25s,transform .25s}
.bd-chat.in{opacity:1;transform:none}
.bc-hd{display:flex;align-items:center;gap:8px;background:var(--g);color:#fff;padding:10px 14px}
.bc-hd span{font-size:12px;opacity:.85;flex:1}
.bc-x{border:0;background:none;color:#fff;font-size:14px;cursor:pointer}
.bc-body{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:#f7faf8}
.bc-m{max-width:85%;padding:8px 12px;border-radius:14px;font-size:14px;line-height:1.65;white-space:normal;word-wrap:break-word}
.bc-m.bot{align-self:flex-start;background:#fff;border:1px solid var(--line);border-top-right-radius:4px}
.bc-m.me{align-self:flex-end;background:var(--g);color:#fff;border-top-left-radius:4px}
.bc-m.typing{display:flex;gap:4px;padding:12px}
.bc-m.typing i{width:7px;height:7px;border-radius:50%;background:var(--g);opacity:.4;animation:bcDot 1s infinite}
.bc-m.typing i:nth-child(2){animation-delay:.15s}.bc-m.typing i:nth-child(3){animation-delay:.3s}
@keyframes bcDot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.bc-chips{display:flex;gap:6px;overflow-x:auto;padding:8px 10px 0;background:#fff}
.bc-chips button{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:16px;padding:4px 10px;font-size:12px;color:var(--gd);cursor:pointer}
.bc-chips button:hover{border-color:var(--g);background:var(--soft)}
.bc-in{display:flex;gap:6px;padding:10px;background:#fff;border-top:1px solid var(--line)}
.bc-in input{flex:1;font:inherit;font-size:15px;border:1px solid var(--line);border-radius:20px;padding:8px 14px}
.bc-in input:focus{outline:2px solid var(--y);border-color:var(--y)}
.bc-in button{border:0;background:var(--y);color:#2a2000;border-radius:50%;width:40px;height:40px;font-size:16px;cursor:pointer;transform:scaleX(-1)}
@media (max-width:760px){.bd-chat{left:8px;bottom:120px}}
.bc-note{font-size:11px;color:var(--mut);text-align:center;padding:6px 10px 0;background:#fff}

/* bigger product images + product links */
td.img{width:124px}
td.img img{width:108px;height:108px}
td.img a{display:block}
.plink{font-size:11px;color:var(--g);text-decoration:none;border:1px solid #cfe0d5;border-radius:20px;padding:1px 9px;background:#f4faf6;white-space:nowrap}
.plink:hover{background:#e9f4ec}
.plink-x{border:0;background:none;color:#b55;font-size:11px;cursor:pointer;margin-right:-4px}
.plink-off{font-size:10.5px;border:1px dashed var(--line);border-radius:20px;padding:1px 8px;color:var(--mut)}
.toast{position:fixed;top:14px;left:50%;transform:translate(-50%,-140%);background:#1f2a24;color:#fff;padding:10px 16px;border-radius:12px;z-index:80;font-size:14px;max-width:min(560px,92vw);box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .3s}
.toast.on{transform:translate(-50%,0)}
.toast b{color:var(--y)}
@media screen and (max-width:760px){table.items tr.item{grid-template-columns:84px 1fr 1fr 1fr}table.items td.img img{width:80px;height:80px}}
@media print{td.img{width:96px}td.img img{width:86px;height:86px}.plink{border:0;background:none;padding:0;text-decoration:underline}.plink-x,.plink-off{display:none!important}}
.plink-w{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}

/* internal cost sheet */
.costs-btn{background:#3a4a41}
.costsheet .secret{margin-top:4px;color:#a33;font-weight:800;font-size:12px}
.cs-meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin:16px 0 8px}
.cs-meta div{display:flex;flex-direction:column}.cs-meta span{font-size:11px;color:var(--mut)}.cs-meta b{font-size:15px}
.cs-table td{font-size:13px}.cs-table td.desc b{font-size:13px}
.cs-table input.n{width:84px}
.cs-table input.pre{color:#8aa394;font-style:italic;background:#f7faf8}
.cs-table td.neg,.neg{color:#b42318}
.pct{display:inline-block;border-radius:20px;padding:1px 8px;font-weight:800;font-size:12px}
.pct.ok{background:#e9f4ec;color:#2f6b43}.pct.low{background:#fff3e0;color:#8a5a00}.pct.neg{background:#fbeaea;color:#b42318}
.warn-t{color:#8a5a00;font-size:12px}
.cs-bottom{display:grid;grid-template-columns:1fr 360px;gap:24px;margin-top:18px;align-items:start}
.cs-extra{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.cs-extra .full{grid-column:1/-1}
.cs-sum{width:100%;border-collapse:collapse}
.cs-sum td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:right}
.cs-sum td:last-child{text-align:left;font-weight:700;white-space:nowrap}
.cs-sum tr.tc td{font-weight:800}
.cs-sum tr.grand td{background:var(--g);color:#fff;font-size:16px;font-weight:800;border:0}
.cs-sum tr.grand.negbg td{background:#b42318}
.cs-hint{margin-top:14px;font-size:12px;color:var(--mut)}
@media screen and (max-width:760px){.cs-bottom{grid-template-columns:1fr}.cs-extra{grid-template-columns:1fr}.cs-table{display:block;overflow-x:auto;white-space:nowrap}.cs-table thead{display:table-header-group}}
@media print{.cs-table input.n{border:0!important;background:none!important;font-style:normal;color:#000}.cs-extra input,.cs-extra textarea{border:0;padding:0}}
.cs-table{width:100%;border-collapse:collapse;margin-top:8px}
.cs-table thead th{background:var(--g);color:#fff;font-weight:700;padding:9px 6px;font-size:12px;text-align:center;white-space:nowrap}
.cs-table td{border-bottom:1px solid var(--line);padding:7px 6px;text-align:center;vertical-align:middle}
.cs-table td.desc{text-align:right}
.cs-table input.n{border:1px solid var(--line);border-radius:6px;padding:5px;text-align:center;font:inherit;font-weight:700}
.cs-table input.n:focus{outline:2px solid var(--y);border-color:var(--y)}
.muted{color:#b8c0bb}
.cs-sum tr.cs-warn td{color:#8a5a00;background:#fff7e6;font-size:12px;text-align:right!important;font-weight:700}

/* manager dashboard */
.dash-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.dash-head h2{margin:0}
.dash-head .sp{flex:1}
.seg{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:10px;padding:3px}
.seg button{border:0;background:none;padding:6px 12px;border-radius:7px;color:var(--mut);font-weight:700;font-size:13px}
.seg button.on{background:var(--soft);color:var(--gd)}
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.kpi span{font-size:12px;color:var(--mut);font-weight:700}
.kpi b{font-size:24px;color:var(--ink);line-height:1.3;direction:ltr;text-align:right}
.kpi small{font-size:12px;color:var(--mut)}
.dash-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}
.dash-grid h3,.card h3{margin:0 0 4px;font-size:16px}
.mbars{display:flex;align-items:flex-end;gap:14px;height:190px;padding-top:18px;border-bottom:1px solid var(--line);direction:ltr}
.mb{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;cursor:default}
.mb i{display:block;width:100%;max-width:46px;background:var(--g);border-radius:4px 4px 0 0;transition:opacity .15s}
.mb:hover i{opacity:.75}
.mb .mv{font-size:11px;color:var(--mut);font-weight:700;margin-bottom:3px}
.mb .ml{position:absolute;bottom:-20px;font-size:11px;color:var(--mut)}
.mbars{margin-bottom:22px}
.hbars{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.hb{display:grid;grid-template-columns:110px 1fr 34px;align-items:center;gap:8px;font-size:13px}
.hb i{display:block;height:12px;background:var(--soft);border-radius:6px;overflow:hidden}
.hb i b{display:block;height:100%;background:var(--g);border-radius:6px}
.hb em{font-style:normal;font-weight:800;text-align:left}
tr.click{cursor:pointer}
td.late{color:#b42318;font-weight:800}
@media screen and (max-width:1000px){.kpis{grid-template-columns:repeat(3,1fr)}.dash-grid{grid-template-columns:1fr}}
@media screen and (max-width:600px){.kpis{grid-template-columns:repeat(2,1fr)}.kpi b{font-size:19px}}

/* client link */
.share-btn{background:#2f5d8a}
.share-btn:hover{background:#244a6e}
.sharebar{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;background:#f2f7fc;border:1px solid #c9dcef;color:#244a73;border-radius:10px;padding:9px 14px;margin-bottom:12px;font-size:13px}
.sharebar .link{margin-right:auto}
.ok-t{color:#2f6b43}
.sh-url{flex:1;font:inherit;border:1px solid var(--line);border-radius:8px;padding:9px 11px;background:#f7faf8;font-size:13px}
.btn.wa{background:#25D366;color:#fff;text-decoration:none}
.btn.wa:hover{background:#1ebe5b}
a.btn{text-decoration:none;display:inline-block}
.sh-stats{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.sh-row{display:flex;justify-content:space-between;padding:4px 0;font-size:14px}
.sh-row span{color:var(--mut)}
.sh-resp{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-top:6px;font-size:13px}
.sh-resp.accept{border-color:#bcd9c4;background:#f3faf5}
.sh-resp.change{border-color:#f3d38c;background:#fff9ec}
.sh-resp div{margin-top:4px;white-space:pre-wrap}
.n-val{font-weight:700}
.meta span span{border:0;background:none;padding:0;border-radius:0}
.help-btn{font-size:13px;font-weight:700;color:var(--gd);text-decoration:none;border:1px solid #cfe0d5;background:var(--soft);border-radius:20px;padding:4px 12px;white-space:nowrap}
.help-btn:hover{background:#e3eee7}
@media screen and (max-width:760px){.help-btn{order:2;font-size:12px;padding:3px 9px}}
.bc-chips .bc-guide{flex:0 0 auto;border:1px solid var(--g);background:var(--soft);border-radius:16px;padding:4px 10px;font-size:12px;color:var(--gd);text-decoration:none;font-weight:700}

/* كتكوت moods */
.bd-upper,.bd-legs,.bd-head,.bd-arm-l,.bd-arm-r{transition:transform .45s cubic-bezier(.3,1.4,.5,1)}
.bd-arm-l{transform-origin:38px 101px}
.bd-legs{transform-origin:60px 138px}
.bd-head{transform-origin:60px 90px}
.bd-m-o,.bd-m-big,.bd-blush,.bd-zzz{opacity:0;transition:opacity .3s}
.bd-m-smile{transition:opacity .3s}
/* sit */
.buddy.sit .bd-upper{transform:translateY(9px)}
.buddy.sit .bd-legs{transform:scaleY(.35)}
.buddy.sit .bd-float{animation-duration:5s}
.buddy.sit .bd-arm-l{transform:rotate(-25deg)}.buddy.sit .bd-arm-r{transform:rotate(25deg)}
/* sleep */
.buddy.sleep .bd-upper{transform:translateY(9px)}
.buddy.sleep .bd-legs{transform:scaleY(.35)}
.buddy.sleep .bd-head{transform:rotate(-9deg)}
.buddy.sleep .bd-float{animation:bdBreath 4s ease-in-out infinite}
.buddy.sleep .bd-eyes{animation:none;transform:scaleY(.12)}
.buddy.sleep .bd-bulb{animation:none;opacity:.25}
.buddy.sleep .bd-m-smile{opacity:0}.buddy.sleep .bd-m-o{opacity:1}
.buddy.sleep .bd-zzz{opacity:1}
.buddy.sleep .bd-zzz text{animation:bdZ 3s ease-in-out infinite}
.buddy.sleep .bd-zzz text:nth-child(2){animation-delay:.6s}.buddy.sleep .bd-zzz text:nth-child(3){animation-delay:1.2s}
.buddy.sleep .bd-arm-l{transform:rotate(-30deg)}.buddy.sleep .bd-arm-r{transform:rotate(30deg)}
@keyframes bdBreath{0%,100%{transform:scale(1,1)}50%{transform:scale(1.02,.98) translateY(2px)}}
@keyframes bdZ{0%{opacity:0;transform:translate(0,6px)}30%,70%{opacity:1}100%{opacity:0;transform:translate(6px,-8px)}}
/* dance */
.buddy.dance .bd-float{animation:bdDance .55s ease-in-out infinite;transform-origin:60px 138px}
.buddy.dance .bd-arm-r{animation:bdArmR .55s ease-in-out infinite}
.buddy.dance .bd-arm-l{animation:bdArmL .55s ease-in-out infinite}
.buddy.dance .bd-m-smile{opacity:0}.buddy.dance .bd-m-big{opacity:1}.buddy.dance .bd-blush{opacity:1}
.buddy.dance .bd-bulb{animation:bdDisco .3s steps(2) infinite}
@keyframes bdDance{0%,100%{transform:rotate(-9deg) translateY(0)}25%{transform:rotate(0) translateY(-9px)}50%{transform:rotate(9deg) translateY(0)}75%{transform:rotate(0) translateY(-9px)}}
@keyframes bdArmR{0%,100%{transform:rotate(-60deg)}50%{transform:rotate(20deg)}}
@keyframes bdArmL{0%,100%{transform:rotate(-20deg)}50%{transform:rotate(60deg)}}
@keyframes bdDisco{0%{fill:#F9B233}100%{fill:#e8724a}}
/* jump */
.buddy.jump .bd-float{animation:bdJump .55s cubic-bezier(.3,.6,.4,1) 2;transform-origin:60px 138px}
.buddy.jump .bd-arm-r{transform:rotate(-70deg)}.buddy.jump .bd-arm-l{transform:rotate(70deg)}
.buddy.jump .bd-m-smile{opacity:0}.buddy.jump .bd-m-big{opacity:1}
@keyframes bdJump{0%,100%{transform:translateY(0) scale(1,1)}15%{transform:translateY(0) scale(1.08,.9)}50%{transform:translateY(-22px) scale(.95,1.06)}85%{transform:translateY(0) scale(1.06,.94)}}
/* think */
.buddy.think .bd-head{transform:rotate(7deg)}
.buddy.think .bd-bulb{animation:bdGlow .35s ease-in-out infinite}
.buddy.think .bd-arm-r{transform:rotate(-55deg)}
.buddy.think .bd-look{transform:translate(3px,-3px)}
/* giggle */
.buddy.giggle .bd-float{animation:bdShake .12s linear infinite}
.buddy.giggle .bd-eyes{animation:none;transform:scaleY(.25)}
.buddy.giggle .bd-m-smile{opacity:0}.buddy.giggle .bd-m-big{opacity:1}.buddy.giggle .bd-blush{opacity:1}
@keyframes bdShake{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-2px) rotate(-3deg)}75%{transform:translateX(2px) rotate(3deg)}}
@media (prefers-reduced-motion:reduce){.bd-float,.bd-eyes,.bd-bulb,.buddy.wave .bd-arm-r,.bd-zzz text{animation:none!important}.buddy{transition:none}}

/* main editor toolbar: one height for everything */
.tb-main{gap:10px;row-gap:10px}
.tb-main .tb-g{display:flex;gap:6px;align-items:center}
.tb-main .tb-g+.tb-g{padding-inline-start:10px;border-inline-start:1px solid var(--line)}
.tb-main .btn{height:40px;padding:0 16px;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;line-height:1}
.tb-main .btn.sq{width:40px;padding:0}
.tb-main select{height:40px;padding:0 10px}
.tb-main .savestate{font-size:12px;padding:4px 10px;border-radius:999px;background:#eef3ef;white-space:nowrap}
.tb-main .savestate:empty{display:none}
.tb-main .savestate.err{background:#fbeaea}.tb-main .savestate.tmp{background:#fff4dd}
@media screen and (max-width:760px){
  .tb-main .tb-g{flex:1 1 100%}
  .tb-main .tb-g+.tb-g{padding:0;border:0}
  .tb-main .tb-g .btn{flex:1 1 0;padding:0 8px;font-size:13px}
  .tb-main .tb-g .btn.sq{flex:0 0 40px}
  .tb-main .savestate{order:-1}
}

/* owner-only "view as employee" switch */
.view-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px 5px 8px;font:inherit;font-size:13px;color:var(--gd);cursor:pointer;white-space:nowrap}
.view-toggle.hidden{display:none}
.vt-sw{width:34px;height:20px;border-radius:999px;background:var(--g);position:relative;flex:0 0 auto;transition:background .2s}
.vt-sw i{position:absolute;top:3px;right:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:right .2s}
.view-toggle.on{border-color:#e0b04a;background:#fff7e6;color:#8a5a00}
.view-toggle.on .vt-sw{background:var(--y)}.view-toggle.on .vt-sw i{right:17px}
body.emp-view .topbar{box-shadow:inset 0 -3px 0 var(--y)}

.chg+.chg{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.chg-h{display:flex;justify-content:space-between;align-items:center;color:var(--gd)}
.chg-h span{font-size:12px;color:var(--mut)}
.chg ul{margin:6px 0 0;padding-inline-start:20px;line-height:1.8;font-size:14px}

/* top bar v1.3: one tidy row on desktop */
.topbar .in{max-width:1320px;gap:14px}
.topbar nav{gap:2px;min-width:0}
.topbar nav button{white-space:nowrap;padding:8px 12px;font-size:15px}
.topbar .who{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:13px}
.topbar .who .link{font-size:13px;white-space:nowrap}
.topbar .cat-btn{color:var(--mut);text-decoration:none}
.topbar .cat-btn:hover{color:var(--gd)}
.topbar .who .app-ver{color:var(--mut);font-size:12px}
.help-btn{font-size:12px;padding:3px 10px;font-weight:700}
@media screen and (max-width:1100px){.topbar .cat-btn{display:none}.topbar nav button{padding:8px 9px;font-size:14px}}
@media screen and (max-width:760px){.topbar .who{gap:8px;justify-content:flex-end}.topbar .who .app-ver{display:none}}

/* كتكوت walk / run / sleep big Zzz (v1.3) */
.buddy.enter{transition:none!important}
.bd-leg-l,.bd-leg-r{transform-box:fill-box;transform-origin:50% 0}
.buddy.walk .bd-float{animation:bdBob .5s ease-in-out infinite}
.buddy.walk .bd-leg-l{animation:bdStep .5s ease-in-out infinite}
.buddy.walk .bd-leg-r{animation:bdStep .5s ease-in-out infinite .25s}
.buddy.walk .bd-arm-l{animation:bdSwingL .5s ease-in-out infinite}
.buddy.walk .bd-arm-r{animation:bdSwingR .5s ease-in-out infinite}
.buddy.run .bd-float{animation:bdBob .28s ease-in-out infinite;transform-origin:60px 138px;rotate:-6deg}
.buddy.run .bd-leg-l{animation:bdStep .28s ease-in-out infinite}
.buddy.run .bd-leg-r{animation:bdStep .28s ease-in-out infinite .14s}
.buddy.run .bd-arm-l{animation:bdSwingL .28s ease-in-out infinite}
.buddy.run .bd-arm-r{animation:bdSwingR .28s ease-in-out infinite}
.buddy.run .bd-m-smile{opacity:0}.buddy.run .bd-m-big{opacity:1}
@keyframes bdBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes bdStep{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-5px) scaleY(.7)}}
@keyframes bdSwingL{0%,100%{transform:rotate(25deg)}50%{transform:rotate(-25deg)}}
@keyframes bdSwingR{0%,100%{transform:rotate(-25deg)}50%{transform:rotate(25deg)}}
.buddy.sleep .bd-zzz text{animation:bdZ 2.6s ease-in-out infinite}
@keyframes bdZ{0%{opacity:0;transform:translate(0,10px) scale(.6)}25%,70%{opacity:1}100%{opacity:0;transform:translate(10px,-14px) scale(1.15)}}
.bd-zzz text{transform-box:fill-box;transform-origin:center}
.bd-text{white-space:pre-line}
/* options sections (v1.4) */
.opt-badge{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:6px;font-size:12.5px;font-weight:700;color:#8a5a00;background:#fff7e6;border:1px dashed #e8c06a;border-radius:8px;padding:5px 10px}
.opt-badge .opt-q{font-weight:600;color:var(--gd);display:inline-flex;align-items:center;gap:6px}
.opt-badge .opt-q input{width:80px}
.opt-no{display:inline-block;font-size:11px;font-weight:800;color:#8a5a00;background:#fff4dd;border-radius:6px;padding:2px 6px;white-space:nowrap}
.opt-note{margin:10px 0 0;font-size:12.5px;color:#6b5a2a;background:#fffaf0;border-inline-start:3px solid var(--y);padding:8px 12px;border-radius:6px}
@media print{.opt-badge{background:none}.opt-note{background:none}}
/* agent (v1.5) */
.agent-box{background:#f7faf8;border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:12px}
.agent-box .chk{font-weight:700;color:var(--gd)}
.agent-box #agentRow{margin-top:10px}
.endc{margin-top:4px;font-size:13px;color:var(--mut)}.endc b{color:var(--ink)}
.endc.off{opacity:.45;text-decoration:line-through}
.sh-send{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.sh-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.sh-send textarea{width:100%;font:inherit;font-size:14px;line-height:1.7;border:1px solid var(--line);border-radius:8px;padding:10px;resize:vertical}
@media screen and (max-width:760px){.sh-two{grid-template-columns:1fr}}
/* follow-up + seasons (v1.5) */
.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e8724a;color:#fff;font-size:11px;font-weight:800;line-height:1;vertical-align:middle}
.nav-badge.hidden{display:none}
.fu-card{border-inline-start:4px solid #e8724a;margin-bottom:14px}
.ss-card{border-inline-start:4px solid var(--y);margin-bottom:14px}
.fu-h h3,.ss-h h3{margin:0 0 2px;display:flex;align-items:center;gap:8px;color:var(--gd)}
.fu-h .sub,.ss-h .sub{font-size:13px}
.fu-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.fu-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}
.fu-row.done{opacity:.6}
.fu-main{flex:1;min-width:0}
.fu-act{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.fu-act .btn{white-space:nowrap}
.sub-l{font-size:12px;color:var(--mut);margin-top:2px}
.ss-days{font-size:13px;font-weight:600;color:#8a5a00;background:#fff4dd;border-radius:999px;padding:2px 10px}
.ss-mini{font-size:14px;color:var(--mut)}
.ss-empty{margin:10px 0 0}
.ss-sep{border:0;border-top:1px dashed var(--line);margin:14px 0}
@media screen and (max-width:760px){.fu-row{flex-direction:column;align-items:stretch}.fu-act{justify-content:flex-start}}
.endc .xbtn{border:0;background:none;padding:0 4px;font-size:12px;color:var(--mut);cursor:pointer}
/* services library (v1.6) */
.pk-hd{flex-wrap:wrap}
.pk-tabs{display:flex;gap:4px;flex:0 0 100%;margin-bottom:6px}
.pk-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font:inherit;font-size:13px;font-weight:700;color:var(--mut);cursor:pointer}
.pk-tabs button.on{background:var(--g);border-color:var(--g);color:#fff}
.pick.svc{align-items:center}
.pick .svc-ic{width:56px;height:56px;display:flex;align-items:center;justify-content:center;font-size:26px;background:var(--soft);border-radius:10px;flex:0 0 auto}
.pick .by{font-size:11px;color:var(--mut)}
.pick.svc .btn{flex:0 0 auto}
td .unit{display:block;font-size:11px;color:var(--mut);margin-top:3px;text-align:center}
td .unit.lump{color:#8a5a00;font-weight:700}
.cm-tier{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:13px;flex-wrap:wrap}
.cm-tier input{width:110px}
#customForm .lbl{font-weight:700;font-size:13px;margin-bottom:4px}
.pick .t .by{display:block}
/* v1.7: consistent selects (Safari/Chrome on Mac rendered them short) */
label.f select,.toolbar select{-webkit-appearance:none;appearance:none;min-height:42px;line-height:1.4;padding-inline-start:12px!important;padding-inline-end:34px!important;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%234b6b58' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 12px center;cursor:pointer}
[dir=ltr] label.f select{background-position:right 12px center}
.toolbar select{min-height:36px}
.tb-main select{min-height:40px}
.grid3{grid-template-columns:2fr 1fr 1fr}
.lk-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 4px}
.lk-row .sub{font-size:12.5px;margin:0}
.lk-cands{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.lk-cand{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px}
.lk-cand.picked{border-color:#bcd9c4;background:#f2f8f4}
.lk-c-main{flex:1;min-width:0}
.lk-c-sum{font-size:13px;margin-top:4px;line-height:1.6}
@media screen and (max-width:760px){.grid3{grid-template-columns:1fr}.lk-cand{flex-direction:column;align-items:stretch}}
.toolbar select{min-width:92px}
.meta span.off{cursor:pointer}.meta span.off .x{opacity:1;color:var(--gd);font-weight:800}
.meta span.off{opacity:.6}

/* ===== mobile editor (v1.9) ===== */
.m-only{display:none}
.m-more-note{display:none}
@media screen and (max-width:760px){
  #v-edit .tb-main,#v-edit .toolbar.t2{display:none!important}
  #v-edit .m-only{display:flex}
  .m-head{gap:8px;align-items:center;margin-bottom:8px}
  .m-set{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;font-size:13px;font-weight:700;color:var(--gd);text-align:start}
  .m-set span{flex:1;min-width:0;color:var(--mut);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .m-head .savestate{font-size:11px;padding:4px 9px;border-radius:999px;background:#eef3ef;white-space:nowrap}
  .m-head .savestate:empty{display:none}
  .m-add{width:100%;justify-content:center;border:1.5px dashed var(--g);background:#fff;color:var(--gd);border-radius:10px;padding:11px;font:inherit;font-weight:800;font-size:14px;margin-bottom:8px}
  #editNote{position:relative;font-size:12.5px}
  #editNote .en-body{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  #editNote.open .en-body{display:block}
  #editNote .m-more-note{display:inline-block;font-weight:800;color:#8a5a00;margin-top:2px}
  #editNote .m-more-note .c,#editNote.open .m-more-note .o{display:none}
  #editNote.open .m-more-note .c{display:inline}
  body.in-edit{padding-bottom:96px}
  .m-bar{position:fixed;left:0;right:0;bottom:0;z-index:45;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.07);gap:8px;padding:10px 12px calc(12px + env(safe-area-inset-bottom))}
  .m-bar button{flex:1;border:0;border-radius:12px;padding:12px 6px;font:inherit;font-weight:800;font-size:14px;white-space:nowrap}
  .m-bar .b-save{background:var(--g);color:#fff}.m-bar .b-send{background:#2f5d8a;color:#fff;flex:1.4}.m-bar .b-more{background:#fff;border:1px solid var(--line);color:var(--gd);flex:.8}
  .m-dim{position:fixed;inset:0;background:rgba(20,30,25,.45);z-index:70}
  .m-sheet{position:fixed;left:0;right:0;bottom:0;z-index:71;background:#fff;border-radius:18px 18px 0 0;padding:10px 14px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px rgba(0,0,0,.2);max-height:80vh;overflow:auto;animation:mUp .2s ease-out}
  @keyframes mUp{from{transform:translateY(30px);opacity:.6}to{transform:none;opacity:1}}
  .m-sheet .grab{width:40px;height:5px;border-radius:9px;background:#d6ddd8;margin:0 auto 12px}
  .m-sheet h4{margin:2px 2px 10px;font-size:13px;color:var(--mut)}
  .m-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .m-grid>*{border:1px solid var(--line);border-radius:12px;padding:12px 4px;text-align:center;font:inherit;font-size:12.5px;font-weight:700;color:var(--gd);background:#fff;text-decoration:none}
  .m-grid>.hidden{display:none}
  .m-grid i{display:block;font-style:normal;font-size:20px;margin-bottom:3px}
  .m-grid .y{background:#fff7e6;border-color:#f3d38c;color:#8a5a00}.m-grid .k{background:#3a4a41;color:#fff;border-color:#3a4a41}
  .m-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .m-fields label{display:flex;flex-direction:column;align-items:stretch;gap:4px;font-size:12px;font-weight:700;color:var(--mut)}
  .m-fields label.chk{grid-column:1/-1;flex-direction:row;align-items:center;gap:8px;font-size:13.5px;color:var(--gd)}
  .m-fields select{width:100%;min-height:44px;font-size:16px}
  .m-fields #fxBox{grid-column:1/-1;font-size:13px}
  .m-menu{position:fixed;left:12px;right:12px;top:30%;z-index:71;background:#fff;border-radius:14px;box-shadow:0 12px 34px rgba(0,0,0,.25);padding:6px;display:flex;flex-direction:column}
  .m-menu button{border:0;border-bottom:1px solid var(--line);background:none;text-align:start;padding:13px 12px;font:inherit;font-size:15px;font-weight:700;color:var(--gd)}
  .m-menu button:last-child{border-bottom:0}
  .m-menu small{display:block;font-weight:500;color:var(--mut);font-size:12px}
  .m-dim.hidden,.m-sheet.hidden,.m-menu.hidden{display:none}
  body.in-edit .buddy{bottom:86px}
  body.in-edit .bd-chat{bottom:200px}
}
@media print{.m-only,.m-bar,.m-sheet,.m-dim,.m-menu{display:none!important}}
@media screen and (max-width:760px){.m-head .savestate{max-width:45%;overflow:hidden;text-overflow:ellipsis}body.in-edit .bd-bot{width:66px;height:82px}}

/* كتكوت v2 (TV robot): pivots for the new drawing */
.bd-head{transform-origin:60px 116px}
.bd-eyes{transform-origin:60px 80px}
.bd-arm-l{transform-origin:27px 91px}
.bd-arm-r{transform-origin:94px 89px}
.bd-ant-l{transform-origin:47.6px 55px;animation:bdAnt 3.2s ease-in-out infinite}
.bd-ant-r{transform-origin:72.4px 55px;animation:bdAnt 3.2s ease-in-out infinite reverse}
@keyframes bdAnt{0%,100%{transform:rotate(0)}50%{transform:rotate(-6deg)}}
.buddy.dance .bd-ant-l,.buddy.dance .bd-ant-r,.buddy.giggle .bd-ant-l,.buddy.giggle .bd-ant-r{animation-duration:.3s}
.buddy.think .bd-ant-l{animation:bdAntThink .4s ease-in-out infinite}.buddy.think .bd-ant-r{animation:bdAntThink .4s ease-in-out infinite reverse}
@keyframes bdAntThink{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}
.buddy.sleep .bd-ant-l{animation:none;transform:rotate(-22deg)}.buddy.sleep .bd-ant-r{animation:none;transform:rotate(22deg)}
@keyframes bdStep{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.buddy.sit .bd-legs,.buddy.sleep .bd-legs{transform:scaleY(.55)}
.buddy.sit .bd-upper,.buddy.sleep .bd-upper{transform:translateY(8px)}
.bd-bot{filter:drop-shadow(0 6px 8px rgba(0,0,0,.14))}
@media (prefers-reduced-motion:reduce){.bd-ant-l,.bd-ant-r{animation:none!important}}

/* كتكوت: memory, team messages, product links (v1.9) */
.mem-list{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:6px}
.mem-list li{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:8px 12px;background:#fff}
.mem-list li span{flex:1}.mem-list li small{color:var(--mut);font-size:11px}
.bc-pl{color:var(--gd);font-weight:800;text-decoration:none;border-bottom:1px dashed var(--g);white-space:nowrap}
.bc-act{margin-top:8px;font-size:12px;font-weight:700;border-radius:8px;padding:6px 9px}.bc-act.ok{background:#e9f4ec;color:#2f6b43}.bc-act.err{background:#fbeaea;color:#a33}
.bc-card{margin-top:8px;border:1px solid #cfe0d5;background:#f7faf8;border-radius:10px;padding:9px 10px;font-size:13px}
.bc-card-h{color:var(--mut);font-size:12px;margin-bottom:3px}.bc-card-h b{color:var(--gd)}
.bc-card-t{white-space:pre-wrap;font-weight:600;margin-bottom:8px}
.bc-card-a{display:flex;gap:6px}.bc-card-a button{border:0;border-radius:8px;padding:6px 14px;font:inherit;font-size:12.5px;font-weight:800;cursor:pointer}
.bc-card-a .ok{background:var(--g);color:#fff}.bc-card-a .no{background:#fff;border:1px solid var(--line);color:var(--mut)}
.bc-sent{color:#2f6b43;font-weight:800;font-size:12.5px}.bc-err{color:#a33;font-weight:700;font-size:12.5px}.bc-dim{color:var(--mut);font-size:12px}
.bc-m.inmsg{background:#fff7e6;border:1px solid #f3d38c}
.inmsg .im-h{font-size:12px;color:#8a5a00;margin-bottom:3px}.inmsg .im-h span{opacity:.7;margin-inline-start:6px}
.bc-m.inmsg.sys{background:#eef6f1;border-color:#b9d6c3}.inmsg.sys .im-h{color:#3f6b50}
.inmsg .im-go{display:inline-block;margin-top:6px;font-size:13px;font-weight:bold;color:#4b6b58;text-decoration:none}
.buddy.has-msg .bd-bot{position:relative}
.buddy.has-msg::after{content:"";position:absolute;left:calc(var(--bd-w,104px) - 22px);bottom:calc(var(--bd-h,130px) - 30px);width:14px;height:14px;border-radius:50%;background:#e8724a;border:2px solid #fff;box-shadow:0 0 0 0 rgba(232,114,74,.6);animation:bdPing 1.6s infinite}
@keyframes bdPing{0%{box-shadow:0 0 0 0 rgba(232,114,74,.6)}100%{box-shadow:0 0 0 12px rgba(232,114,74,0)}}
.buddy{--bd-w:124px;--bd-h:155px}
@media (max-width:760px){.buddy{--bd-w:86px;--bd-h:107px}body.in-edit .buddy{--bd-w:66px;--bd-h:82px}}

/* v1.9: approval, expiry, duplicate warnings, photo, voice */
.qalerts{display:flex;flex-direction:column;gap:6px;margin:0 0 10px}
.qa{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 12px;border-radius:10px;font-size:14px;border:1px solid var(--line);background:#fff}
.qa>span{flex:1;min-width:200px}
.qa.ap{background:#fff7e6;border-color:#f3d38c}.qa.warn{background:#fff9ec;border-color:#f0dca8}.qa.bad{background:#fdeeee;border-color:#efc2c2}.qa.ok{background:#eef6f1;border-color:#b9d6c3}
.ap-card{border-color:#f3d38c}.exp-card{border-color:#f0dca8}
.bad-t{color:#a33}
.ap-reasons{margin:0 0 10px;padding-inline-start:20px;color:#8a5a00;font-weight:600}
.ap-state{padding:9px 12px;border-radius:9px;margin:0 0 10px;font-size:14px}.ap-state.pending{background:#fff7e6}.ap-state.rejected{background:#fdeeee}
.ap-rules{display:flex;flex-direction:column;gap:8px;max-width:620px}.ap-rules label.f{max-width:180px}
.dupe{margin:8px 0 0;padding:9px 12px;border-radius:10px;background:#fff7e6;border:1px solid #f3d38c;font-size:14px;line-height:1.7}
label.f{position:relative}
.mic{position:absolute;inset-inline-end:8px;bottom:8px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:18px;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.mic.on{background:#e04848;border-color:#e04848;color:#fff;animation:micPulse 1.2s infinite}
@keyframes micPulse{0%{box-shadow:0 0 0 0 rgba(224,72,72,.5)}100%{box-shadow:0 0 0 12px rgba(224,72,72,0)}}
label.f:has(.mic:not(.hidden)) textarea{padding-inline-end:52px}
.photo-btn{display:none;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:14px;font-size:16px}
.photo-btn small{font-size:12px;color:var(--mut);font-weight:400}
@media (max-width:760px), (pointer:coarse){.photo-btn{display:flex}}
.inmsg>div:nth-child(2){white-space:pre-line}
