/* Blade-only additions: the prototype used <button>s for things that are real links here. */
.pagination a,.pagination span.is-disabled{min-width:36px;height:36px;padding:0 8px;border-radius:999px;font-weight:var(--fw-semibold);color:var(--color-text);display:inline-flex;align-items:center;justify-content:center}
.pagination a:hover{background:var(--color-surface-muted)}
.pagination a[aria-current="page"]{background:var(--color-primary);color:#fff}
.pagination span.is-disabled{color:var(--color-text-disabled)}
.filter-chip a{display:grid;place-items:center;width:20px;height:20px;border-radius:50%}
.filter-chip a:hover{background:rgba(1,61,233,.12)}
a.tab{text-decoration:none}
form.menu-form{display:contents}
.file-item.is-removed{opacity:.55}
.file-item.is-removed .file-item__name{text-decoration:line-through}
a.file-tile{color:inherit;text-decoration:none}
a.notif{color:inherit;text-decoration:none}
.badge-count[hidden],.dot[hidden],.menu-item[hidden],.btn[hidden]{display:none!important}
.toast[data-href]{cursor:pointer}
/* Live notification cards (Facebook-style): bottom-left, stacked, slide in, auto-hide */
.live-stack{position:fixed;z-index:110;left:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));width:min(380px,calc(100vw - 24px));display:flex;flex-direction:column-reverse;gap:10px;pointer-events:none}
.live-card{pointer-events:auto;position:relative;display:flex;align-items:flex-start;gap:12px;padding:14px 16px;padding-inline-end:40px;background:var(--color-surface);color:var(--color-text);text-decoration:none;border:var(--border-default) solid var(--color-border);border-radius:12px;box-shadow:0 12px 32px rgba(16,24,40,.18),0 2px 6px rgba(16,24,40,.08);animation:live-in .32s cubic-bezier(.2,.9,.3,1.2) both;overflow:hidden}
.live-card:hover{border-color:var(--color-primary-50)}
.live-card .notif__icon{flex:none}
.live-card__text{display:flex;flex-direction:column;gap:2px;min-width:0}
.live-card__title{font-weight:var(--fw-semibold)}
.live-card__body{color:var(--color-text-muted);font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.live-card__time{font-size:var(--fs-caption);color:var(--color-primary-600);font-weight:var(--fw-semibold)}
.live-card__close{position:absolute;top:8px;inset-inline-end:8px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--color-text-muted)}
.live-card__close:hover{background:var(--color-surface-muted);color:var(--color-text)}
.live-card__close .icon{width:16px;height:16px}
.live-card__bar{position:absolute;inset-inline:0;bottom:0;height:3px;background:var(--color-primary);transform-origin:left;animation:live-bar linear forwards}
.live-card:hover .live-card__bar{animation-play-state:paused}
.live-card.is-leaving{animation:live-out .25s ease-in forwards}
@keyframes live-in{from{opacity:0;transform:translateX(-24px) scale(.96)}to{opacity:1;transform:none}}
@keyframes live-out{to{opacity:0;transform:translateX(-24px) scale(.96)}}
@keyframes live-bar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media (max-width:767.98px){
  .live-stack{left:12px;right:12px;width:auto}
  body:has(.bottom-nav) .live-stack{bottom:calc(76px + 12px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){.live-card,.live-card.is-leaving{animation:none}.live-card__bar{display:none}}
/* «فعّل الإشعارات» / «ثبّت التطبيق» banner */
.pwa-banner{position:fixed;z-index:105;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));width:min(560px,calc(100vw - 24px));display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--color-surface);border:var(--border-default) solid var(--color-border);border-radius:12px;box-shadow:0 12px 32px rgba(16,24,40,.18);animation:pwa-in .3s ease-out both}
.pwa-banner__icon{width:44px;height:44px;border-radius:10px;flex:none;border:var(--border-default) solid var(--color-border)}
.pwa-banner__text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.pwa-banner__title{font-weight:var(--fw-semibold)}
.pwa-banner__body{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:var(--color-text-muted)}
.pwa-banner__actions{display:flex;gap:6px;flex:none}
@keyframes pwa-in{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}
@media (max-width:767.98px){
  .pwa-banner{flex-wrap:wrap}
  .pwa-banner__actions{width:100%;justify-content:flex-end}
  body:has(.bottom-nav) .pwa-banner{bottom:calc(76px + 12px + env(safe-area-inset-bottom,0px))}
}
.setting-row__control{width:200px;flex:none}
@media (max-width:767.98px){.setting-row--select{flex-wrap:wrap}.setting-row--select .setting-row__control{width:100%}}
.tone-text-success{color:var(--color-success)}.tone-text-error{color:var(--color-error)}.tone-text-warning{color:var(--color-secondary-800)}.tone-text-muted{color:var(--color-text-muted)}
/* Dropdowns: taps go to the control (our list), never to the native <select> — on iPhone that opens the system picker too */
.control--select > select{pointer-events:none}
/* Phones: header buttons that don't fit next to the title go below it (instead of overlapping the title and status) */
@media (max-width:767.98px){
  .page-header{flex-wrap:wrap}
  .page-header__text{flex:1 1 220px}
  .page-header__actions{flex-wrap:wrap;max-width:100%}
}
/* In-app viewer (images / videos / audio / PDFs) */
body.viewer-open{overflow:hidden}
.viewer{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:rgba(10,14,24,.97);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:viewer-in .16s ease-out both}
.viewer__bar{display:flex;align-items:center;gap:8px;padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top,0px));color:#fff}
.viewer__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-semibold)}
.viewer__btn{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.12);text-decoration:none}
.viewer__btn:hover{background:rgba(255,255,255,.24)}
.viewer__btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.viewer__btn .icon{width:22px;height:22px}
.viewer__body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 12px calc(16px + env(safe-area-inset-bottom,0px))}
.viewer__img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;background:#fff}
.viewer__video{width:100%;max-width:1100px;max-height:100%;border-radius:8px;background:#000}
.viewer__pdf{width:min(1000px,100%);flex:1;border:0;border-radius:8px;background:#fff}
.viewer__audio{width:min(420px,100%);display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px 20px;border-radius:16px;background:var(--color-surface);color:var(--color-text)}
.viewer__audio-icon{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--color-primary-25);color:var(--color-primary-600)}
.viewer__audio-icon .icon{width:36px;height:36px}
.viewer__audio-name{font-weight:var(--fw-semibold);text-align:center;word-break:break-word}
.viewer__audio audio{width:100%}
.viewer__fail{color:#fff;text-align:center}
.viewer__fail a{color:#fff;text-decoration:underline}
@keyframes viewer-in{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.viewer{animation:none}}
/* Task finished: «أحسنت!» card, balloons and confetti (js/celebrate.js) */
.celebrate-confetti,.celebrate-sky{position:fixed;inset:0;z-index:240;pointer-events:none;overflow:hidden}
.celebrate-balloon{position:absolute;bottom:-140px;transform-origin:center bottom;animation:balloon-up var(--dur) cubic-bezier(.35,.1,.45,1) var(--delay) forwards;scale:var(--size)}
.celebrate-balloon svg{display:block;filter:drop-shadow(0 6px 10px rgba(16,24,40,.18))}
@keyframes balloon-up{0%{transform:translate(0,0) rotate(-4deg)}35%{transform:translate(var(--sway),-45vh) rotate(5deg)}70%{transform:translate(calc(var(--sway) * -.6),-90vh) rotate(-5deg)}100%{transform:translate(0,calc(-100vh - 180px)) rotate(3deg)}}
.celebrate-card{position:fixed;z-index:241;left:50%;top:38%;transform:translate(-50%,-50%);width:min(340px,calc(100vw - 32px));display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 20px;text-align:center;background:var(--color-surface);border-radius:20px;box-shadow:0 24px 60px rgba(16,24,40,.25);animation:celebrate-pop .5s cubic-bezier(.2,1.4,.4,1) both;cursor:pointer}
.celebrate-card__emoji{font-size:52px;line-height:1;animation:celebrate-wiggle 1s ease-in-out .4s 2}
.celebrate-card__title{font-size:var(--fs-h3,20px);font-weight:var(--fw-bold);color:var(--color-text)}
.celebrate-card__sub{color:var(--color-text-muted);font-size:var(--fs-body-sm)}
.celebrate-card.is-leaving{animation:celebrate-out .35s ease-in forwards}
@keyframes celebrate-pop{from{opacity:0;transform:translate(-50%,-50%) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes celebrate-out{to{opacity:0;transform:translate(-50%,-60%) scale(.9)}}
@keyframes celebrate-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg) scale(1.1)}75%{transform:rotate(14deg) scale(1.1)}}
@media (prefers-reduced-motion:reduce){.celebrate-card,.celebrate-card__emoji{animation:none}}
/* Accordions open / close on click on every screen size (js/app.js opens them on wide screens, closed on tablets and phones) */
@media (min-width:768px){
  .accordion summary{pointer-events:auto;cursor:pointer}
  .accordion summary .chev{display:inline-block}
  .accordion summary .show-mobile-inline{display:inline}
}
/* Settings → «هوية المنصة» */
.brand-logo-preview{display:flex;align-items:center;justify-content:center;min-height:112px;padding:20px;border-radius:12px;background:var(--color-surface-muted);border:var(--border-default) dashed var(--color-border)}
.brand-logo-preview img{height:56px;width:auto;max-width:100%;object-fit:contain}
.brand-mark-preview{width:64px;height:64px;border-radius:16px;background:var(--color-primary-25);color:var(--color-primary);display:grid;place-items:center;overflow:hidden}
.brand-mark-preview img{width:100%;height:100%;object-fit:contain}
.brand-mark-preview .icon{width:32px;height:32px}
.sidebar__brand .logo-mark img{width:100%;height:100%;object-fit:contain;border-radius:inherit}
.sidebar__brand .logo-mark:has(img){overflow:hidden}
/* Phones: the small logo at the start of the top bar */
@media (max-width:767.98px){
  .topbar__brand{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:var(--color-primary-25);color:var(--color-primary);overflow:hidden}
  .topbar__brand img{width:100%;height:100%;object-fit:contain}
  .topbar__brand .icon{width:22px;height:22px}
}
/* Sign-in page previews: a slider, one screen size at a time, all at the same height (js/app.js sets --s) */
.device-slider{display:flex;flex-direction:column;align-items:center;gap:10px}
.device-slider__stage{display:flex;align-items:center;gap:10px;width:100%}
.device-slider__viewport{flex:1;min-width:0;display:flex;justify-content:center}
.device-slider__arrow{flex:none}
.device{margin:0;display:flex;justify-content:center}
.device[hidden]{display:none}
.device__screen{position:relative;overflow:hidden;width:calc(var(--w) * var(--s, .25) * 1px);height:calc(var(--h) * var(--s, .25) * 1px);border-radius:12px;border:6px solid #1d2939;background:#fff;box-sizing:content-box;box-shadow:0 8px 24px rgba(16,24,40,.12)}
.device__screen iframe{position:absolute;top:0;left:0;width:calc(var(--w) * 1px);height:calc(var(--h) * 1px);border:0;transform:scale(var(--s, .25));transform-origin:0 0;pointer-events:none}
.device-slider__caption{display:flex;gap:8px;align-items:center;font-size:var(--fs-body-sm)}
.device-slider__controls{display:flex;align-items:center;gap:14px}
.device-slider__dots{display:flex;gap:8px}
.device-slider__dot{width:8px;height:8px;border-radius:999px;background:var(--color-neutral-200,#d0d5dd);transition:width .2s,background .2s}
.device-slider__dot[aria-current="true"]{width:22px;background:var(--color-primary)}.brand-hero-preview{position:relative;overflow:hidden;height:260px;border-radius:12px;background:var(--color-primary);color:#fff;display:flex;align-items:flex-end}
.brand-hero-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}
.brand-hero-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,61,233,0) 0%,rgba(1,61,233,.77) 50%,var(--color-primary) 100%)}
.brand-hero-preview__text{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px;padding:20px}
.brand-hero-preview__headline{font-size:20px;line-height:1.4;font-weight:var(--fw-bold)}
.brand-hero-preview__lead{opacity:.9;font-size:var(--fs-body-sm)}
.brand-specs{margin:0;padding-inline-start:18px;display:flex;flex-direction:column;gap:4px;color:var(--color-text-muted);font-size:var(--fs-body-sm)}
.brand-specs b{color:var(--color-text);font-weight:var(--fw-semibold)}
label.btn.is-active{background:var(--color-primary-25);color:var(--color-primary-600)}
/* Keyboard shortcuts (js/shortcuts.js) */
.kbd{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:6px;border:var(--border-default) solid var(--color-border);border-bottom-width:2px;background:var(--color-surface-muted);font:600 13px/1 var(--font-family,inherit);color:var(--color-text);direction:ltr}
.kbd-list{display:flex;flex-direction:column}
.kbd-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px;color:var(--color-text);text-decoration:none;border-bottom:var(--border-default) solid var(--color-border)}
.kbd-row:last-child{border-bottom:0}
a.kbd-row:hover{background:var(--color-surface-muted)}
.kbd-row--muted{color:var(--color-text-muted)}
/* Topbar: the bell in the primary colour, the shortcuts «?» in the secondary colour */
.topbar__actions [data-bell]{color:var(--color-primary)}
.topbar__actions .kbd-help-btn{color:var(--color-secondary)}
@media (pointer:coarse){[data-kbd-help]{display:none!important}}
/* «تقرير اليوم» standalone page (reports/daily) */
.report{max-width:1200px;margin:0 auto;padding:24px 16px 40px;display:flex;flex-direction:column;gap:24px;background:var(--color-bg,transparent)}
.report__head{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:var(--border-default) solid var(--color-border)}
.report__logo{height:48px;width:auto}
.report__title{font-size:var(--fs-page-title);line-height:var(--lh-page-title);font-weight:var(--fw-bold)}
.report__stats{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.report__foot{text-align:center;font-size:var(--fs-caption)}
.report__head{flex-wrap:wrap}
.report__tools{display:flex;flex-wrap:wrap;gap:8px;margin-inline-start:auto}
.report__share{display:flex;flex-direction:column;gap:10px}
.report__share-row{display:flex;gap:8px;align-items:center}
.report__share-row .control{flex:1;min-width:0}
.report__share-row input{direction:ltr;text-align:left}
@media (max-width:767.98px){.report__tools{width:100%;margin-inline-start:0}.report__tools .btn{flex:1}}
/* «تنزيل PDF» = print → Save as PDF: the whole table on paper, no buttons */
@media print{
  @page{size:A4 landscape;margin:12mm}
  body{background:#fff}
  .no-print,.toast-region,.skip-link{display:none!important}
  .report{max-width:none;padding:0;gap:14px}
  .report__stats{grid-template-columns:repeat(6,1fr);gap:8px}
  .report .stat{padding:10px;box-shadow:none;break-inside:avoid}
  .report .table__scroll{overflow:visible}
  .report .table__scroll table{min-width:0}
  .report .table td,.report .table th{white-space:normal;position:static!important;box-shadow:none!important;padding:8px}
  .report .table tr{break-inside:avoid}
  .report .table{border-radius:0}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
/* «المساعد» side panel (js/assistant.js): left side on wide screens (the page makes room), full screen on phones */
.topbar__actions .ai-open-btn{color:#7a5af8}
.assistant{position:fixed;z-index:60;top:0;bottom:0;inset-inline-end:0;width:min(420px,100vw);display:flex;flex-direction:column;background:var(--color-surface);border-inline-start:var(--border-default) solid var(--color-border);box-shadow:0 0 40px rgba(16,24,40,.12);transform:translateX(-100%);transition:transform .22s ease}
.assistant.is-open{transform:none}
[dir="ltr"] .assistant{transform:translateX(100%)}
.assistant__head{display:flex;align-items:center;gap:10px;padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top,0px));border-bottom:var(--border-default) solid var(--color-border)}
.assistant__logo{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#7a5af8,var(--color-primary));flex:none}
.assistant__body{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--color-surface-muted)}
.assistant__foot{border-top:var(--border-default) solid var(--color-border);padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px;background:var(--color-surface)}
.assistant__form{display:flex;gap:8px;align-items:center}
.assistant__form input{flex:1;min-width:0;height:44px;padding:0 14px;border-radius:999px;border:var(--border-default) solid var(--color-border);background:var(--color-surface-muted);outline:0;font:inherit}
.assistant__form input:focus{border-color:var(--color-focus);background:var(--color-surface)}
.ai-send{background:var(--color-primary);color:#fff}
.ai-send:hover{filter:brightness(.92)}
.ai-msg{display:flex}
.ai-msg--me{justify-content:flex-start}
.ai-msg--bot{justify-content:flex-end}
.ai-bubble{max-width:92%;padding:10px 14px;border-radius:16px;line-height:1.7;font-size:var(--fs-body-sm);display:flex;flex-direction:column;gap:8px}
.ai-msg--me .ai-bubble{background:var(--color-primary);color:#fff;border-start-start-radius:4px}
.ai-msg--bot .ai-bubble{background:var(--color-surface);border:var(--border-default) solid var(--color-border);border-start-end-radius:4px;width:92%}
.ai-msg--bot.is-in .ai-bubble{animation:ai-in .25s ease-out}
@keyframes ai-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ai-bubble p{margin:0}
.ai-bubble ul,.ai-bubble ol{margin:0;padding-inline-start:20px;display:flex;flex-direction:column;gap:4px}
.ai-bubble strong{font-weight:var(--fw-bold)}
.ai-bubble code{font-size:.9em;background:var(--color-surface-muted);padding:0 4px;border-radius:4px}
.ai-tasklink{font-weight:var(--fw-semibold);color:var(--color-primary);text-decoration:none;direction:ltr;unicode-bidi:isolate}
.ai-note{font-size:var(--fs-caption);color:var(--color-secondary-800);background:var(--color-secondary-25);padding:6px 10px;border-radius:8px}
.ai-badge{display:inline-block;margin-inline-start:6px;padding:0 6px;border-radius:6px;font-size:10px;line-height:18px;color:#fff;background:linear-gradient(135deg,#7a5af8,var(--color-primary));vertical-align:middle}
.ai-typing{display:inline-flex;gap:4px;padding:4px 0}
.ai-typing i{width:7px;height:7px;border-radius:50%;background:var(--color-text-muted);opacity:.4;animation:ai-dot 1s infinite}
.ai-typing i:nth-child(2){animation-delay:.15s}.ai-typing i:nth-child(3){animation-delay:.3s}
@keyframes ai-dot{50%{opacity:1;transform:translateY(-3px)}}
.ai-num{display:inline-block;padding:0 8px;border-radius:999px;background:var(--color-primary-25);color:var(--color-primary-600)}
.ai-num--error{background:var(--color-error-bg);color:var(--color-error)}
.ai-num--success{background:var(--color-success-bg);color:var(--color-success)}
.ai-num--warning{background:var(--color-secondary-25);color:var(--color-secondary-800)}
.ai-list{display:flex;flex-direction:column;gap:6px}
.ai-task{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:10px;background:var(--color-surface-muted);color:inherit;text-decoration:none}
.ai-task:hover{background:var(--color-primary-25)}
.ai-task__title{font-weight:var(--fw-semibold)}
.ai-task__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--fs-caption);color:var(--color-text-muted)}
.ai-more{font-weight:var(--fw-semibold);color:var(--color-primary);text-decoration:none;font-size:var(--fs-caption)}
.ai-sub{font-weight:var(--fw-semibold);margin-top:4px!important}
.ai-groups{display:flex;flex-direction:column;gap:8px}
.ai-group{padding:8px 10px;border-radius:10px;background:var(--color-surface-muted)}
.ai-group__head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ai-count{min-width:26px;height:22px;padding:0 8px;border-radius:999px;background:var(--color-surface);font-weight:var(--fw-bold);display:grid;place-items:center;font-size:var(--fs-caption)}
.ai-titles{margin:6px 0 0;padding-inline-start:18px;display:flex;flex-direction:column;gap:3px;font-size:var(--fs-caption)}
.ai-titles a{color:inherit;font-weight:var(--fw-medium)}
.ai-person{display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 4px;border-radius:999px;font-weight:var(--fw-semibold);font-size:var(--fs-caption);background:var(--ai-bg);color:var(--ai-fg)}
.ai-person__dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--ai-fg);color:#fff;font-size:11px}
.ai-c0{--ai-bg:#eef4ff;--ai-fg:#3538cd}.ai-c1{--ai-bg:#ecfdf3;--ai-fg:#067647}.ai-c2{--ai-bg:#fef6ee;--ai-fg:#b93815}.ai-c3{--ai-bg:#fdf2fa;--ai-fg:#c11574}
.ai-c4{--ai-bg:#f4f3ff;--ai-fg:#5925dc}.ai-c5{--ai-bg:#fffaeb;--ai-fg:#b54708}.ai-c6{--ai-bg:#ecfdff;--ai-fg:#0e7090}.ai-c7{--ai-bg:#fef3f2;--ai-fg:#b42318}
.ai-stats{display:flex;flex-wrap:wrap;gap:6px}
.ai-stat{padding:4px 10px;border-radius:999px;background:var(--color-surface-muted);font-size:var(--fs-caption)}
.ai-stat b{font-size:var(--fs-body-sm)}
.ai-stat--overdue{background:var(--color-error-bg);color:var(--color-error)}
.ai-stat--done{background:var(--color-success-bg);color:var(--color-success)}
.ai-stat--in_progress{background:var(--color-primary-25);color:var(--color-primary-600)}
.ai-chips{display:flex;flex-wrap:wrap;gap:6px}
.ai-chips--scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.ai-chips--scroll::-webkit-scrollbar{display:none}
.ai-chip{flex:none;padding:6px 12px;border-radius:999px;border:var(--border-default) solid var(--color-border);background:var(--color-surface);font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--color-text);white-space:nowrap}
.ai-chip:hover{border-color:#7a5af8;color:#5925dc;background:#f4f3ff}
.ai-picker{display:flex;flex-direction:column;gap:6px}
.ai-picker input{height:40px;padding:0 12px;border-radius:10px;border:var(--border-default) solid var(--color-border);font:inherit}
.ai-picker__list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}
.ai-picker__item{display:flex;flex-direction:column;align-items:flex-start;padding:8px 10px;border-radius:10px;background:var(--color-surface-muted);text-align:start;font-size:var(--fs-caption)}
.ai-picker__item:hover{background:var(--color-primary-25)}
/* Wide screens: split view — the page shrinks to make room for the panel */
@media (min-width:1024px){
  body.assistant-open .app__main{margin-inline-end:420px;transition:margin .22s ease}
  body.assistant-open .live-stack{left:calc(420px + 24px)}
  /* the page is narrower than the screen now: grids follow the space left, side columns stack */
  body.assistant-open .grid-stats,body.assistant-open .grid-stats--4{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
  body.assistant-open .two-col{flex-direction:column;align-items:stretch}
  body.assistant-open .two-col__side{width:auto;position:static}
  body.assistant-open .form-layout{flex-direction:column}
  body.assistant-open .form-layout__guide{width:auto;position:static}
}
@media (max-width:1023.98px){.assistant{width:100vw;z-index:120}}
@media (prefers-reduced-motion:reduce){.assistant,.ai-msg--bot.is-in .ai-bubble{transition:none;animation:none}}
.results-loading{opacity:.55;transition:opacity .15s}
.stat__unit{font-size:14px;font-weight:var(--fw-bold)}
