:root{
  --lav:#B9A7D6; --lav-deep:#8A74B8; --violet:#5D4B7E; --lilac:#F3EFFA;
  --ink:#211A33; --bg:#F7F5FB; --card:#fff; --line:rgba(33,26,51,0.1);
  --ok:#3E7C4F; --warn:#B45A38; --danger:#A33B3B;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:"Outfit",sans-serif;background:var(--bg);color:var(--ink);font-size:15px;}
a{color:var(--lav-deep);text-decoration:none;}
main{max-width:1160px;margin:0 auto;padding:3.6rem 1.6rem 4rem;}

/* sidebar layout */
.app{display:flex;min-height:100vh;}
.side{
  width:222px;flex:none;background:var(--ink);color:#fff;
  position:sticky;top:0;height:100vh;display:flex;flex-direction:column;
  padding:1.2rem 0.9rem;gap:1rem;overflow:hidden;
}
.content{flex:1;min-width:0;}
.brand{font-size:1.12rem;color:#fff;font-weight:400;padding:0 0.5rem;}
.brand .hi{font-family:"Anek Devanagari";font-weight:700;color:var(--lav);}
.brand b{font-weight:700;}
.brand em{font-style:normal;font-size:0.68rem;background:var(--lav);color:var(--ink);
  border-radius:6px;padding:0.1rem 0.4rem;margin-left:0.3rem;font-weight:700;vertical-align:middle;}
.side nav{display:flex;flex-direction:column;gap:0.25rem;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;}
.side nav::-webkit-scrollbar{width:5px;}
.side nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.18);border-radius:3px;}
.side-clock,.side-foot{flex:none;}
.side nav a{
  color:rgba(255,255,255,0.78);font-weight:500;font-size:0.94rem;
  padding:0.55rem 0.7rem;border-radius:10px;display:flex;align-items:center;gap:0.65rem;
  transition:background .15s,color .15s;
}
.side nav a:hover{background:rgba(255,255,255,0.08);color:#fff;}
.side nav a.active{background:rgba(185,167,214,0.18);color:#fff;font-weight:700;}
.side nav a .ic{
  width:22px;height:22px;border-radius:6px;background:rgba(255,255,255,0.1);
  display:inline-flex;align-items:center;justify-content:center;font-size:0.8rem;flex:none;
  color:var(--lav);
}
.side nav a.newlink{margin-top:0.6rem;background:var(--lav);color:var(--ink);font-weight:700;}
.side nav a.newlink .ic{background:rgba(33,26,51,0.15);color:var(--ink);}
.side nav a.newlink:hover{background:#cabce0;}
.side-foot{padding:0 0.3rem;}
.side-user{
  display:flex;align-items:center;gap:0.6rem;margin:0.2rem 0.3rem 0;
  padding:0.55rem 0.6rem;border-radius:12px;background:rgba(255,255,255,0.07);
  color:rgba(255,255,255,0.9);transition:background .15s;
}
.side-user:hover{background:rgba(255,255,255,0.14);}
.side-user-name{font-size:0.82rem;line-height:1.25;}
.side-user-name b{font-size:0.95rem;}
.side-user-sub{font-size:0.68rem;color:var(--lav);}
.side-clock{padding:0 0.7rem;font-variant-numeric:tabular-nums;color:rgba(255,255,255,0.85);}
.side-clock b{font-size:1.05rem;font-weight:700;letter-spacing:0.03em;display:block;}
.side-clock span{font-size:0.7rem;color:rgba(255,255,255,0.5);letter-spacing:0.06em;}
button{font-family:inherit;cursor:pointer;}
button.ghost{background:none;border:1px solid rgba(255,255,255,0.3);color:rgba(255,255,255,0.85);
  border-radius:100px;padding:0.35rem 1rem;font-size:0.85rem;width:100%;}
button.ghost:hover{background:rgba(255,255,255,0.08);}
/* ---- phone layout: compact top bar + hamburger + bottom quick-bar ---- */
.navtoggle{display:none;}
.bottombar{display:none;}
@media(max-width:900px){
  .app{flex-direction:column;}
  .side{width:100%;height:auto;position:sticky;top:0;z-index:80;flex-direction:row;align-items:center;
    gap:0.7rem;padding:0.55rem 0.9rem;flex-wrap:wrap;overflow:visible;}
  .side .brand{flex:none;}
  .side-user{margin:0;padding:0.3rem 0.45rem;}
  .side-user-name{display:none;}
  .navtoggle{display:inline-grid;place-items:center;margin-left:auto;width:40px;height:40px;border-radius:10px;
    background:rgba(255,255,255,0.1);border:none;color:#fff;font-size:1.25rem;line-height:1;}
  .side nav{display:none;}
  .side.nav-open nav{display:flex;flex-direction:column;width:100%;order:10;padding-top:0.5rem;
    border-top:1px solid rgba(255,255,255,0.12);max-height:60vh;overflow-y:auto;}
  .side nav a{padding:0.65rem 0.7rem;}
  .side-clock{display:none;}
  .side-foot{display:none;}
  .side.nav-open .side-foot{display:block;width:100%;order:11;padding:0.5rem 0 0.2rem;}
  .topactions{display:none;}   /* replaced by the bottom bar on phones */
  main{padding-bottom:5.6rem;}
  /* bottom quick-bar: the 4 things the team actually taps all day */
  .bottombar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:80;
    background:var(--ink);padding:0.35rem 0.4rem calc(0.35rem + env(safe-area-inset-bottom));
    justify-content:space-around;box-shadow:0 -6px 20px rgba(33,26,51,0.25);}
  .bottombar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;
    color:rgba(255,255,255,0.75);text-decoration:none;font-size:0.62rem;font-weight:600;
    padding:0.35rem 0.2rem;border-radius:10px;letter-spacing:0.02em;}
  .bottombar a .bic{font-size:1.15rem;line-height:1.15;}
  .bottombar a.on{color:#fff;background:rgba(185,167,214,0.22);}
  /* comfortable touch targets */
  input,select,textarea{font-size:16px;}   /* stops iOS zoom-on-focus */
  .btn{padding:0.65rem 1.2rem;}
  th,td{padding:0.6rem 0.55rem;font-size:0.84rem;}
}
/* practice-instance banner (all screens) */
.testmode-bar{position:sticky;top:0;z-index:90;background:repeating-linear-gradient(45deg,#B45A38,#B45A38 14px,#9A4A2E 14px,#9A4A2E 28px);
  color:#fff;text-align:center;font-size:0.85rem;font-weight:600;padding:0.5rem 1rem;letter-spacing:0.02em;}
.testmode-bar b{letter-spacing:0.12em;}
@media(max-width:900px){ .side{top:0;} body:has(.testmode-bar) .side{top:36px;} }

/* avatars */
.avx{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:50%;font-size:0.72rem;font-weight:800;
  flex:none;vertical-align:middle;margin-right:0.5rem;
}
.cust-cell{display:flex;align-items:center;}

/* pin hint */
.pin-hint{font-size:0.78rem;color:var(--ok);margin-top:0.25rem;min-height:1em;}

/* cards & stats */
h1{font-size:1.5rem;font-weight:700;margin:0.4rem 0 1.2rem;}
h2{font-size:1.05rem;font-weight:700;margin:1.6rem 0 0.7rem;}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0.8rem;}
.stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:0.9rem 1rem;}
.stat b{display:block;font-size:1.5rem;font-weight:800;}
.stat span{font-size:0.8rem;color:#6f6684;}
.stat.hot b{color:var(--warn);}
.pipeline{display:flex;gap:0.5rem;flex-wrap:wrap;margin:1rem 0;}
.pipeline a{
  background:var(--lilac);border:1px solid var(--line);border-radius:100px;
  padding:0.4rem 0.9rem;font-size:0.85rem;font-weight:600;color:var(--ink);
}
.pipeline a b{color:var(--lav-deep);}
.pipeline a.chip-on{background:var(--lav-deep);color:#fff;border-color:var(--lav-deep);}

/* large pipeline cards (dashboard) */
.pipeline-big{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0.7rem;margin:0.8rem 0 0.4rem;
}
.pcard{
  display:flex;flex-direction:column;gap:0.15rem;align-items:flex-start;
  background:var(--card);border:1px solid var(--line);border-left:5px solid var(--lav);
  border-radius:14px;padding:1rem 1.1rem;color:var(--ink);transition:transform .12s,box-shadow .12s;
}
.pcard:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(33,26,51,0.09);}
.pcard b{font-size:1.9rem;font-weight:800;line-height:1;}
.pcard span{font-size:0.8rem;font-weight:600;color:#6f6684;}
.pc-Booked{border-left-color:#8A74B8;}
.pc-FlowersReceived{border-left-color:#3E7C4F;}
.pc-InProduction{border-left-color:#9A6A1F;}
.pc-FrameReady{border-left-color:#2F5E8F;}
.pc-PartiallyDispatched{border-left-color:#8A5A00;}
.pc-Dispatched{border-left-color:#7A3E8F;}
.pc-Delivered{border-left-color:#41505C;}
.pc-Cancelled{border-left-color:#A33B3B;}

/* tables */
table{width:100%;border-collapse:collapse;background:var(--card);border-radius:14px;overflow:hidden;
  border:1px solid var(--line);}
th,td{padding:0.65rem 0.8rem;text-align:left;font-size:0.88rem;border-bottom:1px solid var(--line);}
th{background:var(--lilac);font-weight:700;font-size:0.78rem;letter-spacing:0.04em;text-transform:uppercase;color:var(--violet);}
tr:last-child td{border-bottom:none;}
tr:hover td{background:#FBFAFE;}
tr[data-href]{cursor:pointer;}
.stat{border-left:4px solid var(--lav);}
.stat.hot{border-left-color:var(--warn);}
.table-wrap{overflow-x:auto;border-radius:14px;}

/* orders list — bulk actions, entry count, sku/sticker cells */
.table-meta{text-align:right;font-size:0.8rem;color:#6f6684;margin-bottom:0.4rem;}
.table-meta b{color:var(--ink);}
.bulk-bar{
  display:flex;align-items:center;gap:0.6rem;flex-wrap:wrap;
  background:var(--ink);color:#fff;border-radius:12px;
  padding:0.6rem 0.9rem;margin-bottom:0.7rem;
}
.bulk-bar[hidden]{display:none;}
.bulk-bar b{color:var(--lav);}
.bulk-bar select{max-width:220px;width:auto;}
.bulk-bar .btn.sub{background:rgba(255,255,255,0.14);color:#fff;}
.bulk-bar .btn.sub:hover{background:rgba(255,255,255,0.24);}
th.selcol,td.selcol{width:34px;text-align:center;padding-left:0.5rem;padding-right:0.5rem;}
.selcol input{width:auto;margin:0;cursor:pointer;}
.sku-cell{font-variant-numeric:tabular-nums;font-size:0.82rem;color:var(--violet);white-space:nowrap;}
.stk-cell{font-size:0.82rem;}

/* quality check */
.qc-list{list-style:none;display:grid;gap:0.35rem;}
.qc-list li{display:flex;align-items:center;gap:0.7rem;padding:0.45rem 0.2rem;border-bottom:1px dashed var(--line);}
.qc-list li:last-child{border-bottom:none;}
.qc-tick{
  width:30px;height:30px;border-radius:9px;flex:none;
  border:2px solid var(--line);background:#fff;color:#fff;
  font-size:1rem;font-weight:800;cursor:pointer;line-height:1;
}
.qc-done .qc-tick{background:var(--ok);border-color:var(--ok);}
.qc-tick.qc-ro{cursor:default;display:inline-flex;align-items:center;justify-content:center;}
.qc-label{font-size:0.92rem;}
.qc-done .qc-label{color:#6f6684;text-decoration:line-through;text-decoration-color:rgba(62,124,79,0.5);}
.qc-who{margin-left:auto;font-size:0.72rem;white-space:nowrap;}
button.linklike{background:none;border:none;padding:0;color:var(--lav-deep);font-size:inherit;cursor:pointer;text-decoration:underline;}

/* badges */
.badge{display:inline-block;padding:0.18rem 0.6rem;border-radius:100px;font-size:0.75rem;font-weight:700;}
.st-Booked{background:#EFEAF8;color:#5D4B7E;}
.st-FlowersReceived{background:#E7F0E9;color:#3E7C4F;}
.st-InProduction{background:#FDF3E2;color:#9A6A1F;}
.st-FrameReady{background:#E5EEF8;color:#2F5E8F;}
.st-Dispatched{background:#F3E8F6;color:#7A3E8F;}
.st-PartiallyDispatched{background:#FFF0CF;color:#8A5A00;}
.st-Delivered{background:#E4E7EA;color:#41505C;}
.st-Cancelled{background:#F8E5E5;color:#A33B3B;}
.due{color:var(--warn);font-weight:700;}
.paid{color:var(--ok);font-weight:600;}
.flag{font-size:0.72rem;font-weight:800;color:var(--danger);}

/* forms */
form.inline{display:inline;}
input,select,textarea{
  font-family:inherit;font-size:0.9rem;padding:0.5rem 0.7rem;border:1px solid var(--line);
  border-radius:10px;background:#fff;color:var(--ink);width:100%;
}
textarea{min-height:70px;resize:vertical;}
label{font-size:0.75rem;font-weight:700;color:#6f6684;text-transform:uppercase;letter-spacing:0.05em;
  display:block;margin-bottom:0.25rem;}
.field{margin-bottom:0.8rem;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem;}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.8rem;}
.btn{background:var(--lav-deep);color:#fff;border:none;border-radius:100px;padding:0.55rem 1.3rem;
  font-weight:700;font-size:0.9rem;}
.btn:hover{background:var(--violet);}
.btn.sub{background:var(--lilac);color:var(--violet);}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.2rem;margin-bottom:1.2rem;}
.searchbar{display:flex;gap:0.6rem;margin-bottom:1rem;flex-wrap:wrap;}
/* orders filter bar stays pinned while the list scrolls (desktop; phones keep it inline) */
@media(min-width:901px){
  #filterForm{position:sticky;top:0;z-index:40;background:var(--bg);
    padding:0.7rem 0.4rem 0.6rem;margin:0 -0.4rem 1rem;border-radius:0 0 14px 14px;}
  #filterForm.stuck{box-shadow:0 10px 24px -14px rgba(33,26,51,0.35);}
}
.searchbar input{max-width:280px;}
.searchbar select{max-width:200px;}
.searchbar .btn{white-space:nowrap;}

/* order detail */
.order-head{display:flex;align-items:center;gap:0.7rem;flex-wrap:wrap;margin-bottom:0.4rem;}
.order-head h1{margin:0;}
.order-subhead{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;font-size:0.85rem;margin-bottom:1rem;}
.order-subhead b{color:var(--ink);font-weight:700;}
.inline-check{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.82rem;font-weight:600;color:#6f6684;text-transform:none;letter-spacing:0;margin:0;}
.inline-check input{width:auto;}
/* status dropdown styled like a badge */
.status-inline{width:auto;font-weight:700;font-size:0.82rem;padding:0.28rem 1.8rem 0.28rem 0.7rem;border-radius:100px;border:1px solid var(--line);cursor:pointer;}
.status-inline.st-Booked{background:#EFEAF8;color:#5D4B7E;}
.status-inline.st-FlowersReceived{background:#E7F0E9;color:#3E7C4F;}
.status-inline.st-InProduction{background:#FDF3E2;color:#9A6A1F;}
.status-inline.st-FrameReady{background:#E5EEF8;color:#2F5E8F;}
.status-inline.st-Dispatched{background:#F3E8F6;color:#7A3E8F;}
.status-inline.st-PartiallyDispatched{background:#FFF0CF;color:#8A5A00;}
.status-inline.st-Delivered{background:#E4E7EA;color:#41505C;}
.status-inline.st-Cancelled{background:#F8E5E5;color:#A33B3B;}
/* what-they-ordered strip on the order page */
.order-items-strip{
  display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;
  background:var(--card);border:1px solid var(--line);border-left:5px solid var(--lav-deep);
  border-radius:12px;padding:0.6rem 0.9rem;margin-bottom:1rem;
}
.ois-label{font-size:0.72rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:var(--violet);flex:none;}
.ois-chip{
  display:inline-flex;align-items:center;gap:0.45rem;
  background:var(--lilac);border:1px solid var(--line);border-radius:100px;
  padding:0.3rem 0.8rem;font-size:0.86rem;
}
.ois-sku{
  background:#fff;border:1px solid var(--line);border-radius:100px;
  padding:0.05rem 0.5rem;font-size:0.72rem;font-weight:700;color:var(--lav-deep);
}
.ois-total{margin-left:auto;font-weight:800;font-size:1rem;color:var(--violet);white-space:nowrap;}

/* inline-editable card heads */
.card-head{display:flex;align-items:center;justify-content:space-between;gap:0.8rem;margin-bottom:0.7rem;}
.card-lg{border:1.5px solid var(--lav);}
.edit-icon{background:var(--lilac);color:var(--violet);border:none;border-radius:100px;padding:0.35rem 0.9rem;font-size:0.8rem;font-weight:700;}
.edit-icon:hover{background:#e6ddf5;}
.card-edit[hidden],.card-view[hidden]{display:none;}
.copy-row{display:flex;align-items:center;gap:0.4rem;flex-wrap:wrap;}
.copy-btn{background:none;border:1px solid var(--line);border-radius:7px;padding:0.05rem 0.35rem;font-size:0.8rem;color:#6f6684;line-height:1.4;}
.copy-btn:hover{background:var(--lilac);color:var(--violet);}
.cust-name{font-size:1.1rem;margin-bottom:0.3rem;}
/* grouped shipping subsections */
.ship-sub{padding:0.9rem 0;border-top:1px dashed var(--line);}
.ship-sub:first-of-type{border-top:none;padding-top:0.2rem;}
.ship-sub h3{font-size:0.95rem;font-weight:700;margin:0 0 0.5rem;color:var(--violet);}
/* Envia wallet panel */
.wallet-box{background:var(--lilac);border:1px solid var(--line);border-radius:12px;padding:0.8rem;margin-bottom:0.8rem;font-size:0.88rem;}
.wallet-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0.6rem;margin-bottom:0.6rem;}
.wallet-stats .stat{background:#fff;}
.wallet-stats b{font-size:1.15rem;}

/* per-order tracking timeline */
.track-block{width:100%;margin-top:0.6rem;padding-top:0.6rem;border-top:1px dashed var(--line);}
.track-latest{font-size:0.85rem;}
.track-full summary{cursor:pointer;color:var(--lav-deep);font-size:0.82rem;font-weight:600;margin-top:0.4rem;}
.track-full[open] summary{margin-bottom:0.2rem;}
.cols{display:grid;grid-template-columns:1.4fr 1fr;gap:1.2rem;align-items:start;}
@media(max-width:900px){.cols{grid-template-columns:1fr;}.grid3{grid-template-columns:1fr;}.grid2{grid-template-columns:1fr;}}
.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:0.7rem;}
.photo{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;}
.photo img{width:100%;aspect-ratio:1;object-fit:cover;display:block;}
.photo span{display:block;font-size:0.68rem;padding:0.3rem 0.4rem;color:#6f6684;}
.timeline{list-style:none;}
.timeline li{padding:0.4rem 0;border-bottom:1px dashed var(--line);font-size:0.85rem;display:flex;justify-content:space-between;gap:0.6rem;}
.muted{color:#6f6684;font-size:0.82rem;}
.sticker-box{background:var(--lilac);border-radius:12px;padding:0.9rem;font-size:0.92rem;}

/* kanban board */
.board{display:grid;grid-template-columns:repeat(6,minmax(210px,1fr));gap:0.8rem;overflow-x:auto;align-items:start;}
@media(max-width:1000px){.board{display:flex;}.board .col{min-width:230px;}}
.col{background:var(--lilac);border:1px solid var(--line);border-radius:14px;padding:0.6rem;}
.col-head{display:flex;justify-content:space-between;align-items:center;padding:0.2rem 0.3rem 0.6rem;}
.col-head b{color:var(--violet);}
.col-cards{display:grid;gap:0.55rem;min-height:60px;border-radius:10px;}
.col-cards.over{outline:2px dashed var(--lav-deep);outline-offset:3px;}
.kcard{
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:0.6rem 0.7rem;
  display:grid;gap:0.15rem;font-size:0.83rem;cursor:grab;
  box-shadow:0 2px 6px rgba(33,26,51,0.05);
}
.kcard.dragging{opacity:0.5;}
.kcard a{font-weight:700;}
.kcard-top{display:flex;gap:0.4rem;align-items:center;}
.more{display:block;text-align:center;padding:0.4rem;font-size:0.8rem;}

/* whatsapp actions */
.wa-actions{display:flex;flex-wrap:wrap;gap:0.5rem;}
.btn.wa{background:#DCF3E3;color:#1E6B3C;text-decoration:none;font-size:0.83rem;padding:0.45rem 0.9rem;}
.btn.wa:hover{background:#c8ebd3;}

/* back button */
.backbtn{
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:38px;height:38px;border-radius:50%;
  background:#fff;border:1px solid var(--line);color:var(--ink);
  font-size:1.15rem;font-weight:700;text-decoration:none;
  transition:background .12s, transform .12s;
}
.backbtn:hover{background:var(--lilac);transform:translateX(-2px);}

/* worklists / production mode */
.progress-mini{height:6px;border-radius:100px;background:var(--lilac);overflow:hidden;margin-top:0.45rem;}
.progress-mini span{display:block;height:100%;background:linear-gradient(90deg,var(--lav),var(--lav-deep));border-radius:100px;}
.run-top{display:flex;align-items:center;gap:0.8rem;}
.run-count{font-weight:800;font-size:1.05rem;color:var(--lav-deep);white-space:nowrap;}
.run-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.2rem;}
.run-card.run-done{border-color:var(--ok);background:#FAFDF9;}
.run-head{display:flex;align-items:center;gap:0.6rem;flex-wrap:wrap;}
.run-head h1{font-size:1.7rem;}
.run-cust{font-size:1.05rem;margin-top:0.2rem;}
.run-spec{margin-top:0.8rem;display:grid;gap:0.45rem;}
.run-item{background:var(--lilac);border-radius:12px;padding:0.65rem 0.85rem;font-size:1.05rem;}
.run-qty{font-weight:800;color:var(--lav-deep);}
.run-req{margin-top:0.7rem;background:#FDF3E2;border-radius:12px;padding:0.65rem 0.85rem;font-size:0.95rem;}
.run-pics{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0.6rem;margin-top:0.9rem;}
.run-pics a{position:relative;display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);}
.run-pics img{width:100%;aspect-ratio:1;object-fit:cover;display:block;}
.run-pics span{position:absolute;left:0;right:0;bottom:0;background:rgba(33,26,51,0.6);color:#fff;font-size:0.68rem;padding:0.15rem 0.4rem;text-transform:capitalize;}
.run-nav{display:flex;gap:0.6rem;margin-top:1rem;position:sticky;bottom:0.6rem;}
.run-btn{width:100%;padding:0.9rem 0.5rem;font-size:1.05rem;text-align:center;}
.run-done-btn{background:var(--ok);}
.run-done-btn:hover{background:#2f6340;}
@media(max-width:600px){.run-head h1{font-size:1.4rem;}.run-pics{grid-template-columns:repeat(2,1fr);}}

/* aging chips */
.age{
  margin-left:auto;font-size:0.68rem;font-weight:700;color:#8a819b;
  background:var(--lilac);border-radius:100px;padding:0.1rem 0.5rem;
}
.age-hot{background:#F8E5E5;color:#A33B3B;}

/* dashboard charts */
.chart{
  display:flex;align-items:flex-end;gap:6px;height:150px;
  padding-top:1.2rem;border-bottom:2px solid var(--line);
}
.cbar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative;min-width:0;}
.cbar{
  width:100%;max-width:34px;background:var(--lav);
  border-radius:4px 4px 0 0;transition:background .15s;
}
.cbar.rev{background:var(--lav-deep);}
.cbar-wrap:hover .cbar{background:var(--violet);}
.cbar-val{font-size:0.68rem;font-weight:800;color:var(--violet);margin-bottom:2px;}
.cbar-lbl{font-size:0.64rem;color:#8a819b;margin-top:4px;letter-spacing:0.02em;}
.ranklist{list-style:none;display:grid;gap:0.55rem;}
.ranklist li{display:flex;align-items:center;gap:0.7rem;font-size:0.88rem;}
.rank-label{flex:0 0 42%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);}
a.rank-label:hover{color:var(--lav-deep);}
.rank-bar{flex:1;height:8px;background:var(--lilac);border-radius:100px;overflow:hidden;}
.rank-bar span{display:block;height:100%;background:var(--lav);border-radius:100px;}
.ranklist b{min-width:2ch;text-align:right;}

/* email quick messages & activity */
.em-wrap{display:flex;flex-direction:column;gap:0.2rem;}
.btn.em{background:#5C1A24;}
.btn.em:hover{background:#7a2a36;}
.btn.em.sent{background:var(--ok);}
.btn.em:disabled{opacity:0.75;cursor:default;}
.em-note{font-size:0.74rem;min-height:1em;}
.act-tag{
  display:inline-block;padding:0.1rem 0.5rem;border-radius:100px;
  font-size:0.68rem;font-weight:700;background:var(--lilac);color:var(--violet);
  margin-left:0.35rem;vertical-align:middle;
}
.act-payment{background:#E7F0E9;color:#3E7C4F;}
.act-status{background:#E5EEF8;color:#2F5E8F;}
.act-email{background:#FDF3E2;color:#9A6A1F;}
.act-edit{background:#F3E8F6;color:#7A3E8F;}

/* new order form */
.stepno{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:50%;
  background:var(--lav-deep);color:#fff;font-size:0.85rem;font-weight:800;
  margin-right:0.5rem;vertical-align:middle;
}
.prod-results{
  position:absolute;left:0;right:0;top:100%;z-index:20;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  box-shadow:0 16px 34px rgba(33,26,51,0.16);max-height:300px;overflow-y:auto;
}
.prod-hit{padding:0.6rem 0.8rem;font-size:0.9rem;cursor:pointer;border-bottom:1px solid var(--line);}
.prod-hit:last-child{border-bottom:none;}
.prod-hit:hover{background:var(--lilac);}
.total-bar{
  display:flex;justify-content:space-between;align-items:center;
  background:var(--ink);color:#fff;border-radius:12px;
  padding:0.8rem 1.1rem;margin-top:0.4rem;
}
.total-bar b{font-size:1.3rem;color:var(--lav);}
.btn-big{font-size:1.05rem;padding:0.85rem 2.2rem;display:block;margin:0 auto;}
#itemsTable input{padding:0.35rem 0.5rem;}

/* team & permissions */
.perm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:0.55rem;}
.perm{
  display:flex;gap:0.55rem;align-items:flex-start;background:var(--lilac);
  border:1px solid var(--line);border-radius:10px;padding:0.55rem 0.65rem;
  font-size:0.82rem;cursor:pointer;text-transform:none;letter-spacing:0;color:var(--ink);font-weight:500;
}
.perm input{width:auto;margin-top:2px;}
.perm b{text-transform:capitalize;}
.perm small{color:#6f6684;font-weight:400;}
.perm-implied{opacity:0.55;}
.btn.danger{background:var(--danger);}
.inactive-user{opacity:0.55;}

/* login */
.login-wrap{min-height:70vh;display:flex;align-items:center;justify-content:center;}
.login{background:#fff;border:1px solid var(--line);border-radius:20px;padding:2.2rem;width:340px;text-align:center;}
.login .brand{color:var(--ink);font-size:1.4rem;}
.login .brand .hi{color:var(--lav-deep);}
.login form{margin-top:1.4rem;display:grid;gap:0.8rem;}
.error{color:var(--danger);font-size:0.85rem;margin-top:0.6rem;}
.pagination{display:flex;gap:0.5rem;margin-top:1rem;align-items:center;font-size:0.88rem;}
.pagination a{padding:0.3rem 0.7rem;border:1px solid var(--line);border-radius:8px;background:#fff;}

/* flash banners */
.flash{
  display:flex;align-items:center;gap:0.6rem;
  border-radius:12px;padding:0.7rem 1rem;margin:0.8rem 0;font-size:0.92rem;font-weight:600;
}
.flash-err{background:#F8E5E5;color:#A33B3B;border:1px solid #eec7c7;}
.flash-ok{background:#E7F0E9;color:#3E7C4F;border:1px solid #cfe3d4;}
.flash-warn{background:#FDF3E2;color:#9A6A1F;border:1px solid #f0dfc0;font-weight:500;}
.flash-x{margin-left:auto;color:inherit;opacity:0.6;text-decoration:none;font-weight:800;}

/* Gemini assistant — premium animated border (bold Apple-Intelligence style moving glow) */
@property --ai-angle { syntax:'<angle>'; initial-value:0deg; inherits:false; }
.ai-box{
  position:relative;border-radius:16px;padding:1rem;margin-top:0.7rem;
  border:1.5px solid transparent;
  background:
    linear-gradient(160deg,#FDFCFF,#F6F1FD) padding-box,
    conic-gradient(from var(--ai-angle),
      rgba(124,58,237,.45), rgba(236,72,153,.4) 25%, rgba(56,189,248,.4) 50%, rgba(251,191,36,.35) 72%, rgba(124,58,237,.45) 100%) border-box;
  box-shadow:0 0 10px rgba(124,58,237,0.1);
  animation:ai-border-spin 6s linear infinite, ai-reveal .5s cubic-bezier(.2,.9,.3,1.3);
}
.ai-box.working{
  animation-duration:2s, .5s;
  border-width:2px;
  box-shadow:0 0 16px rgba(124,58,237,0.22);
}
@keyframes ai-border-spin{to{--ai-angle:360deg;}}
@keyframes ai-reveal{from{opacity:0;transform:translateY(10px) scale(.97);}to{opacity:1;transform:none;}}
.ai-head b{
  background:linear-gradient(90deg,#7C3AED,#EC4899 60%,#38BDF8);
  -webkit-background-clip:text;background-clip:text;color:transparent;font-size:1rem;
}

/* AI trigger buttons — animated gradient, glow, pop + sparkle burst on click */
.btn.ai-btn{
  position:relative;color:#fff;border:none;
  background:linear-gradient(120deg,#7C3AED,#EC4899 55%,#38BDF8);
  background-size:220% 220%;
  box-shadow:0 4px 14px rgba(124,58,237,0.35);
  transition:transform .15s, box-shadow .15s;
  animation:ai-btn-shift 6s ease infinite;
}
.btn.ai-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(236,72,153,0.45);background:linear-gradient(120deg,#7C3AED,#EC4899 55%,#38BDF8);background-size:220% 220%;}
.btn.ai-btn:disabled{opacity:0.7;}
@keyframes ai-btn-shift{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
.btn.ai-btn.ai-pop{animation:ai-btn-shift 6s ease infinite, ai-pop .45s ease;}
@keyframes ai-pop{0%{transform:scale(1);}35%{transform:scale(.93);}70%{transform:scale(1.07);}100%{transform:scale(1);}}
.ai-spark-fly{
  position:fixed;z-index:9999;pointer-events:none;font-size:15px;color:#A78BFA;
  animation:ai-spark-fly .75s ease-out forwards;
}
@keyframes ai-spark-fly{from{opacity:1;transform:translate(0,0) scale(.5);}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.5);}}
@media (prefers-reduced-motion: reduce){.ai-box,.btn.ai-btn,.ai-spark-fly{animation:none!important;}}
.ai-head{font-size:0.9rem;margin-bottom:0.6rem;}
.ai-spark{filter:hue-rotate(230deg);}
.ai-chips{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:0.6rem;}
.ai-chip{
  border:1px solid var(--lav);background:#fff;color:var(--violet);
  border-radius:100px;padding:0.3rem 0.8rem;font-size:0.8rem;font-weight:600;cursor:pointer;
}
.ai-chip:hover{background:var(--lilac);}
.ai-chip.on{background:var(--lav-deep);color:#fff;border-color:var(--lav-deep);}
.ai-row{display:flex;gap:0.5rem;align-items:center;flex-wrap:wrap;}
.ai-status{font-size:0.85rem;}
.ai-spin{
  display:inline-block;width:13px;height:13px;border-radius:50%;vertical-align:-2px;
  border:2px solid var(--lav);border-top-color:var(--violet);
  animation:aispin 0.7s linear infinite;margin-right:4px;
}
@keyframes aispin{to{transform:rotate(360deg);}}

/* Envia rate cards */
.rate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0.9rem;}
.rate-card{
  border:1.5px solid var(--line);border-radius:16px;padding:1rem;background:#fff;
  display:flex;flex-direction:column;gap:0.35rem;position:relative;
}
.rate-card.best{border-color:var(--ok);box-shadow:0 6px 18px rgba(62,124,79,0.12);}
.rate-best-badge{
  position:absolute;top:-10px;right:12px;background:var(--ok);color:#fff;
  font-size:0.68rem;font-weight:800;letter-spacing:0.08em;border-radius:100px;padding:0.15rem 0.7rem;
}
.rate-carrier{font-size:1.05rem;font-weight:800;}
.rate-service{font-size:0.82rem;color:#6f6684;}
.rate-price{font-size:1.4rem;font-weight:800;color:var(--violet);margin-top:0.2rem;}
.rate-eta{font-size:0.8rem;color:#6f6684;}
.rate-card form{margin-top:0.5rem;display:grid;gap:0.4rem;}

/* AI catch-up & briefing */
.ai-catchup{display:flex;align-items:center;gap:0.8rem;margin:0.6rem 0;flex-wrap:wrap;}
.ai-bullets{list-style:none;display:grid;gap:0.45rem;}
.ai-bullets li{
  font-size:0.92rem;padding-left:1.3rem;position:relative;
}
.ai-bullets li::before{content:"✿";position:absolute;left:0;color:var(--lav-deep);font-size:0.8rem;}

/* order-page tabs */
.otabs { display:flex; gap:0.3rem; margin-bottom:1.1rem; border-bottom:2px solid var(--line); }
.otab { background:none; border:none; padding:0.65rem 1.1rem; font:inherit; font-size:0.98rem; font-weight:700; color:#8a819b; cursor:pointer; border-bottom:3px solid transparent; margin-bottom:-2px; border-radius:8px 8px 0 0; transition:color .12s, background .12s; }
.otab:hover { color:var(--ink); background:var(--lilac); }
.otab.active { color:var(--violet); border-bottom-color:var(--lav-deep); }

/* photo edit/delete actions */
.photo-actions { display:flex; align-items:center; gap:0.3rem; padding:0.35rem 0.4rem 0.45rem; }
.photo-actions form { margin:0; flex:1; }
.photo-actions select { font-size:0.66rem; padding:0.2rem 0.3rem; width:100%; border-radius:6px; }
.photo-del { background:#F8E5E5; color:#A33B3B; border:none; border-radius:6px; width:26px; height:26px; cursor:pointer; font-weight:800; flex:none; line-height:1; }
.photo-del:hover { background:#f2d0d0; }

/* flagged QC issue */
.qc-flagged .qc-label { color:#A33B3B; font-weight:600; }
.qc-tick-issue { background:#A33B3B !important; border-color:#A33B3B !important; color:#fff !important; }

/* bulk email template picker */
.tmpl-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:0.7rem; }
.tmpl-card { display:flex; flex-direction:column; gap:0.15rem; padding:0.9rem 1rem; border:1px solid var(--line); border-left:5px solid var(--accent,var(--lav)); border-radius:12px; background:#fff; color:var(--ink); transition:transform .12s, box-shadow .12s; }
.tmpl-card:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(33,26,51,0.1); }
.tmpl-card.tmpl-on { background:var(--lilac); box-shadow:0 0 0 2px var(--accent) inset; }
.tmpl-card .tmpl-band { font-size:1.15rem; }
.tmpl-card b { font-size:0.98rem; }
.tmpl-card .muted { font-size:0.74rem; }
code { background:var(--lilac); padding:0.05rem 0.35rem; border-radius:5px; font-size:0.85em; color:var(--violet); }

/* quick-message polish */
.wa-actions { display:flex; flex-wrap:wrap; gap:0.45rem; }
.btn.wa { background:#e7f6ec; color:#1f7a3d; border:1px solid #cfeeda; font-weight:700; }
.btn.wa:hover { background:#d6efdf; }

/* per-product stage tracker */
.prod-progress th, .prod-progress td { vertical-align:middle; }
.stage-tag { display:inline-block; padding:0.15rem 0.6rem; border-radius:100px; font-size:0.74rem; font-weight:700; margin-left:0.4rem; }
.stage-pick { min-width:150px; font-weight:600; border-width:2px; }
.stage-not-started, .stage-tag.stage-not-started { background:var(--lilac); color:var(--violet); border-color:var(--line); }
.stage-in-production, .stage-tag.stage-in-production { background:#fff3e6; color:var(--warn); border-color:#f3d9c2; }
.stage-frame-ready, .stage-tag.stage-frame-ready { background:#eef3ff; color:#3a5bb0; border-color:#d5e0f7; }
.stage-dispatched, .stage-tag.stage-dispatched { background:#e7f6ec; color:var(--ok); border-color:#cfeeda; }
.stage-cancelled, .stage-tag.stage-cancelled { background:#fbeaea; color:var(--danger); border-color:#f0cccc; }
.dispatch-frac { font-weight:700; color:var(--lav-deep); white-space:nowrap; }

/* per-product stage boxes in the orders list status cell */
.stage-boxes { display:flex; flex-wrap:wrap; gap:3px; }
.stage-boxes .stage-tag { margin:0; font-size:0.68rem; padding:0.1rem 0.45rem; }
td .stage-boxes + .badge { margin-top:3px; }

/* remove-product button in Products & progress */
.item-del { background:#fbeaea; color:var(--danger); border:1px solid #f0cccc; border-radius:8px; width:26px; height:26px; line-height:1; font-size:0.85rem; cursor:pointer; padding:0; }
.item-del:hover { background:#f5d9d9; }

/* ---- messages hub (order page) ---- */
.msg-hub { border-left-color: var(--lav-deep); }
.msg-brand { display:flex; align-items:center; gap:0.7rem; padding-bottom:0.7rem; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.msg-logo { width:40px; height:40px; flex:none; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#E8BFC9,var(--lav-deep)); color:#fff; font-size:1.15rem; }
.msg-brand-text { display:flex; flex-direction:column; }
.msg-word { font-family:"Playfair Display",Georgia,serif; letter-spacing:0.18em; font-size:0.82rem; }
.msg-sub { font-size:0.72rem; color:#777; }
.msg-suggest { margin-left:auto; background:#FFF6DE; border:1px solid #F3DFA0; color:#8a6a00; font-weight:700;
  font-size:0.76rem; padding:0.3rem 0.75rem; border-radius:100px; }
.msg-tabs { display:flex; gap:0.7rem; margin:0.7rem 0; }
.msg-tab[data-mtab="em"] { order:0; } /* Email first — primary channel */
.msg-tab[data-mtab="wa"] { order:1; }
/* icon-only channel tabs with the studio's AI-intelligence glow (matches .ai-box) */
.msg-tab { position:relative; width:60px; height:60px; padding:0; border-radius:16px; cursor:pointer;
  border:2px solid transparent;
  background: linear-gradient(#fff,#fff) padding-box,
    conic-gradient(from var(--ai-angle), #7C3AED, #EC4899 25%, #38BDF8 50%, #FBBF24 72%, #7C3AED 100%) border-box;
  animation: ai-border-spin 4s linear infinite;
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 0 10px rgba(124,58,237,0.16); transition:transform .12s, box-shadow .2s, opacity .2s; }
.msg-tab .msg-logo { width:38px; height:38px; display:block; }
.msg-tab:hover { transform:translateY(-2px); }
/* both logos stay full-colour & bright; the active one just glows more */
.msg-tab:not(.active) { box-shadow:0 0 6px rgba(124,58,237,0.12); }
.msg-tab.active { box-shadow:0 0 18px rgba(124,58,237,0.45), 0 0 34px rgba(236,72,153,0.22); }
@media (prefers-reduced-motion: reduce){ .msg-tab { animation:none; } }
.wa-actions .suggested, #emailActions .suggested { position:relative; box-shadow:0 0 0 2px #F3C64B; }
.wa-actions .suggested::after, #emailActions .suggested::after { content:'✨ suggested'; position:absolute; top:-9px; right:-4px;
  background:#F3C64B; color:#4a3800; font-size:0.55rem; font-weight:800; padding:1px 6px; border-radius:100px; letter-spacing:0.03em; }

/* ---- celebrations: premium animated banner + full-screen effects ---- */
.celebrate-banner { display:flex; align-items:center; gap:1rem; margin:1rem 1.4rem 0; padding:1rem 1.3rem;
  border-radius:18px; color:#fff; position:relative; overflow:hidden;
  background:linear-gradient(120deg, var(--lav-deep), var(--lav), var(--lav-deep));
  background-size:220% 220%; animation:celeb-shift 9s ease infinite;
  box-shadow:0 14px 34px -12px rgba(0,0,0,0.45), inset 0 0 0 1px rgba(255,255,255,0.14); }
@keyframes celeb-shift { 0%,100%{ background-position:0% 50%; } 50%{ background-position:100% 50%; } }
.celebrate-emoji { flex:none; width:56px; height:56px; display:grid; place-items:center; font-size:1.9rem;
  background:rgba(255,255,255,0.18); border-radius:50%; box-shadow:0 0 0 5px rgba(255,255,255,0.12), 0 4px 12px rgba(0,0,0,0.2);
  animation:celeb-medallion 2.6s ease-in-out infinite; }
@keyframes celeb-medallion { 0%,100%{ transform:scale(1) rotate(-5deg); } 50%{ transform:scale(1.12) rotate(5deg); } }
.celebrate-text b { display:block; font-family:"Playfair Display",Georgia,serif; font-weight:700; font-size:1.3rem; line-height:1.15;
  text-shadow:0 1px 6px rgba(0,0,0,0.18); letter-spacing:0.01em; }
.celebrate-text span { display:block; opacity:0.94; font-size:0.86rem; margin-top:2px; }
.celebrate-shine { position:absolute; top:0; bottom:0; left:-45%; width:38%; pointer-events:none;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,0.42), transparent); transform:skewX(-18deg);
  animation:celeb-shine 5s ease-in-out infinite; }
@keyframes celeb-shine { 0%{ left:-45%; } 55%,100%{ left:130%; } }
.celebrate-ribbon { margin:0.55rem 1.4rem 0; padding:0.5rem 1.1rem; border-radius:100px; background:#FFF3E0;
  border:1px solid #FFD9A8; color:#B45A38; font-weight:700; font-size:0.86rem; box-shadow:0 4px 14px -8px rgba(180,90,56,0.6); }

/* soft, dreamy, cute ambience — everything floats & twinkles gently in place (nothing falls) */
.fx { position:fixed; inset:0; pointer-events:none; z-index:60; overflow:hidden; }
/* dreamy blurred pastel orbs drifting slowly in the background gutters */
.fx-orb { position:absolute; border-radius:50%; filter:blur(60px); opacity:0.5; mix-blend-mode:multiply; will-change:transform; }
.fx-orb1 { width:340px; height:340px; top:-90px; left:-70px; background:var(--lav); animation:orb-drift 26s ease-in-out infinite; }
.fx-orb2 { width:300px; height:300px; bottom:-110px; right:-60px; background:var(--lav-deep); animation:orb-drift 32s ease-in-out infinite reverse; }
.fx-orb3 { width:240px; height:240px; top:40%; right:8%; background:var(--lav); opacity:0.35; animation:orb-drift 22s ease-in-out infinite; }
@keyframes orb-drift { 0%,100%{ transform:translate(0,0) scale(1); } 33%{ transform:translate(40px,30px) scale(1.08); } 66%{ transform:translate(-30px,20px) scale(0.96); } }
/* keep the app chrome above the effects so nothing covers nav text */
.side { z-index:65; } /* above the celebration fx layer — must NOT override position:sticky */
/* tiny gold sparkles that twinkle in place */
.fx-tw { position:absolute; color:#F0B429; font-size:0.95rem; opacity:0; font-style:normal;
  text-shadow:0 0 9px rgba(240,180,41,0.95); animation:tw 3.4s ease-in-out infinite; }
@keyframes tw { 0%,100%{ opacity:0; transform:scale(0.4) rotate(0deg); } 50%{ opacity:0.9; transform:scale(1.15) rotate(90deg); } }
/* cute stickers that softly bob & sway in the margins/corners */
.fx-sticker { position:absolute; font-size:1.7rem; opacity:0.82; line-height:1;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,0.12)); animation:bob ease-in-out infinite; }
.fx-sticker.fx-s0 { font-size:2.1rem; } .fx-sticker.fx-s2 { font-size:1.9rem; } .fx-sticker.fx-s4 { font-size:1.4rem; }
@keyframes bob { 0%,100%{ transform:translateY(0) rotate(-5deg); } 50%{ transform:translateY(-14px) rotate(5deg); } }
/* Diwali/Christmas fairy lights — soft, glowy, pastel */
.fx-lights { position:absolute; top:0; left:0; right:0; height:30px; display:flex; justify-content:space-around; align-items:flex-start; }
.fx-lights::before { content:''; position:absolute; top:6px; left:0; right:0; height:2px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent); }
.fx-lights span { width:11px; height:11px; margin-top:8px; border-radius:50%; animation:glowpulse 2.2s ease-in-out infinite; }
.fx-lights span:nth-child(4n+1){ background:#FFE08a; box-shadow:0 0 12px 3px #FFD54F; animation-delay:0s; }
.fx-lights span:nth-child(4n+2){ background:#FFB3C7; box-shadow:0 0 12px 3px #FF8FB1; animation-delay:.5s; }
.fx-lights span:nth-child(4n+3){ background:#A7D8FF; box-shadow:0 0 12px 3px #7FC1FF; animation-delay:1s; }
.fx-lights span:nth-child(4n)  { background:#BFE9C4; box-shadow:0 0 12px 3px #92D89A; animation-delay:1.5s; }
@keyframes glowpulse { 0%,100%{ opacity:0.4; transform:scale(0.82); } 50%{ opacity:1; transform:scale(1.12); } }
/* Karwa Chauth glowing moon */
.fx-moon { position:absolute; top:22px; right:34px; font-size:2.6rem; filter:drop-shadow(0 0 16px #FFE082) drop-shadow(0 0 30px #FFD54F);
  animation:fx-moonglow 4s ease-in-out infinite; }
@keyframes fx-moonglow { 0%,100%{ transform:scale(1) translateY(0); opacity:0.92; } 50%{ transform:scale(1.06) translateY(-4px); opacity:1; } }
@media (max-width:640px){ .fx-sticker.fx-s3, .fx-sticker.fx-s5, .fx-tw:nth-child(2n){ display:none; } }
@media (prefers-reduced-motion: reduce){ .fx-tw, .fx-sticker, .celebrate-shine { animation:none; } .fx-sticker{ opacity:0.8; } .celebrate-banner, .celebrate-emoji { animation:none; } }

/* confidential status chips on the Team page */
.conf-chip { display:inline-block; padding:0.22rem 0.6rem; border-radius:100px; font-weight:700; font-size:0.72rem;
  background:var(--lilac); color:#8a7f72; border:1px solid var(--line); margin-right:0.3rem; }
.conf-chip.on { background:#e7f6ec; color:#1f7a3d; border-color:#cfeeda; }
.celebrate-anniversary { }

/* admin theme-preview bar */
.preview-bar { margin:1rem 1.4rem 0; padding:0.5rem 1rem; border-radius:100px; background:#211A33; color:#fff;
  font-size:0.85rem; font-weight:600; display:flex; gap:0.5rem; align-items:center; flex-wrap:wrap; }
.preview-bar a { color:var(--lav); font-weight:700; text-decoration:underline; }
/* inactive channel tab keeps its bright logo (the AI border stays) */

/* always-visible quick actions (Quick booking + New order), top-right corner */
.topactions{ position:fixed; top:16px; right:24px; z-index:70; display:flex; gap:0.5rem; }
.topbtn{ font-weight:700; font-size:0.9rem; padding:0.55rem 1.15rem; border-radius:100px; text-decoration:none;
  white-space:nowrap; box-shadow:0 8px 22px -6px rgba(93,75,126,0.5); transition:transform .1s, background .15s; }
.topbtn:hover{ transform:translateY(-1px); }
.topnew{ background:var(--lav-deep); color:#fff; }
.topnew:hover{ background:var(--violet); }
.topbook{ background:#fff; color:var(--lav-deep); border:1.5px solid var(--lav-deep); }
.topbook:hover{ background:var(--lilac); }
@media (max-width:900px){ .topactions{ top:10px; right:12px; gap:0.35rem; } .topbtn{ padding:0.45rem 0.8rem; font-size:0.8rem; } }

/* collapsible history/activity fold on the order page */
.history-fold > summary { cursor:pointer; font-size:1.05rem; font-weight:700; list-style:none; display:flex; align-items:center; gap:0.5rem; }
.history-fold > summary::-webkit-details-marker { display:none; }
.history-fold > summary::before { content:"\25B8"; color:var(--lav-deep); transition:transform .15s; }
.history-fold[open] > summary::before { transform:rotate(90deg); }

/* brand logos in message tabs */
.brand-badge { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:6px; vertical-align:-6px; margin-right:7px; box-shadow:0 1px 2px rgba(33,26,51,0.18); }
.brand-badge svg { width:15px; height:15px; display:block; }
.wa-badge { background:#25D366; }
.gm-badge { background:#fff; box-shadow:0 1px 2px rgba(33,26,51,0.18), inset 0 0 0 1px rgba(0,0,0,0.06); }
/* on mobile the sidebar becomes a top bar, so let the quick-action buttons flow instead of overlapping it */
@media (max-width:900px){
  main{ padding-top:1.5rem; }
  .topactions{ position:static; justify-content:flex-end; padding:0.5rem 0.9rem 0; }
}
