/* Falcon CRM screens (web/src/views/crm*.ts). Every rule here is for .crm-* classes only: nothing in the page shell,
   header, menu, tables or global layout changes. Sizes follow the shared type scale in tokens.css. On a phone the
   lists become one column and the Call / Email / WhatsApp buttons grow to thumb size (rules scoped to .crm-*). */
.crm-page{display:flex;flex-direction:column;gap:0;min-width:0;max-width:100%}
.crm-page .panel.crm-box{margin-top:14px}
.crm-note{margin:0 0 6px}
.crm-quick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.crm-head-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:4px}
.crm-head-row .falcon-view-tabs{margin:0}
.crm-head-row .primary{margin-left:auto}
.crm-head-sum{font-size:var(--fs-label)}
.crm-inline-select{display:flex;align-items:center;gap:6px;font-size:var(--fs-label);color:var(--fg-secondary)}
.crm-inline-select select{height:var(--ctl-h);padding:var(--ctl-pad)}
.crm-back{display:inline-block;margin-bottom:8px;font-size:var(--fs-label)}

/* Figures at the top of Today */
.crm-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.crm-kpi{display:flex;flex-direction:column;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px;color:inherit;text-decoration:none}
a.crm-kpi:hover{border-color:#93c5fd}
.crm-kpi span{font-size:var(--fs-label);color:var(--fg-secondary)}
#content .crm-kpi strong{font-size:22px!important;font-weight:600;line-height:1.2}
.crm-kpi small{font-size:var(--fs-label);color:var(--fg-secondary)}
.crm-kpi.is-good strong{color:#15803d}
.crm-kpi.is-bad strong{color:#b91c1c}
.crm-kpis-small{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}
.crm-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}

/* Rows: tasks, contacts, deals, leads */
.crm-list{display:flex;flex-direction:column}
.crm-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
#content .crm-row-main,#content .crm-tl-main,#content .crm-card,#content .crm-facts dd,.crm-who-contact{font-size:var(--fs-field)!important}
.crm-row:first-child{border-top:0}
.crm-row-main{flex:1;min-width:0;overflow-wrap:anywhere}
.crm-row-main small{display:block;font-size:var(--fs-label);color:var(--fg-secondary);margin-top:2px}
.crm-row-title{font-weight:600;padding:0;text-align:left}
.crm-row.is-done .crm-row-title{text-decoration:line-through;color:var(--fg-secondary)}
.crm-tick{flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid #cbd5e1;background:transparent;color:transparent;font-size:12px;line-height:1;cursor:pointer;padding:0}
.crm-tick:hover{border-color:#16a34a;color:#16a34a}
.crm-tick.on{background:#16a34a;border-color:#16a34a;color:#fff}
.crm-ic{flex:none;width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;background:#f1f5f9;color:#475569}
.crm-ic svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.crm-ic-call{background:#dcfce7;color:#15803d}
.crm-ic-note{background:#e0e7ff;color:#4338ca}
.crm-ic-meeting,.crm-ic-task{background:#ede9fe;color:#6d28d9}
.crm-ic-email{background:#e0f2fe;color:#0369a1}
.crm-ic-deal{background:#fce7f3;color:#be185d}
.crm-ic-lead{background:#fef3c7;color:#b45309}
.crm-ic-system{background:#f1f5f9;color:#64748b}
.crm-overdue{color:#b91c1c!important;font-weight:500}
.crm-due-today{color:#b45309!important;font-weight:500}
.crm-prewrap{white-space:pre-wrap;margin:4px 0 0}

/* Call / Email / WhatsApp */
.crm-actions{display:flex;gap:6px;flex:none}
.crm-mini-btn{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 9px;border-radius:7px;font-size:var(--fs-label);font-weight:500;text-decoration:none;white-space:nowrap;border:1px solid var(--line);background:var(--panel);color:inherit}
.crm-mini-btn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}
.crm-mini-btn.crm-call{background:#16a34a;border-color:#16a34a;color:#fff}
.crm-mini-btn.crm-call:hover{background:#15803d}
.crm-mini-btn.crm-wa{background:#dcfce7;border-color:#bbf7d0;color:#166534}
.crm-actions-big{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.crm-act-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;border-radius:10px;font-size:var(--fs-field);font-weight:500;text-decoration:none;background:#eff6ff;color:#1d4ed8}
.crm-act-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.crm-act-btn.crm-call{background:#16a34a;color:#fff}
.crm-act-btn.crm-wa{background:#dcfce7;color:#166534}
.crm-act-btn.is-off{opacity:.45;cursor:default}

/* A customer's or lead's page */
.crm-account-grid{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:14px;align-items:start}
.crm-account-side .panel.crm-box:first-child,.crm-account-main .crm-tabs{margin-top:0}
.crm-who-head{display:flex;gap:10px;align-items:center}
#content .crm-who-head h3{margin:0;font-size:var(--fs-heading)!important;font-weight:var(--fw-heading)}
.crm-avatar{flex:none;width:40px;height:40px;border-radius:50%;background:#dbeafe;color:#1e40af;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--fs-field)}
.crm-who-contact{margin:10px 0 0;font-size:var(--fs-field)}
.crm-who-more{display:flex;flex-wrap:wrap;gap:6px}
.crm-facts{display:grid;gap:6px;margin:0}
.crm-facts div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px}
.crm-facts dt{font-size:var(--fs-label);color:var(--fg-secondary)}
.crm-facts dd{margin:0;font-size:var(--fs-field);overflow-wrap:anywhere}
.crm-side-actions{display:flex;gap:14px;margin-top:10px}
.crm-danger-link{color:#b91c1c!important}
.crm-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:0}
.crm-tab{display:inline-flex;align-items:center;gap:6px;height:var(--chip-h);padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:inherit;text-decoration:none;font-size:var(--fs-field)}
.crm-tab span{font-size:var(--fs-label);color:var(--fg-secondary)}
.crm-tab.on{border-color:#2563eb;color:#1d4ed8;background:#eff6ff}

/* The timeline */
.crm-timeline{display:flex;flex-direction:column}
.crm-tl-item{display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.crm-tl-item:first-child{border-top:0;padding-top:0}
.crm-tl-main{flex:1;min-width:0;font-size:var(--fs-field);overflow-wrap:anywhere}
.crm-tl-head small{font-size:var(--fs-label)}
.crm-tl-item.is-pending{background:#fffbeb;border-radius:8px;padding:10px}
.crm-tl-edit{font-size:var(--fs-label)}

/* "How did the call go?" */
.crm-chips{border:0;padding:0;margin:0;display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:6px}
.crm-chips legend{font-size:var(--fs-label);color:var(--fg-secondary);font-weight:500;margin-bottom:6px;padding:0}
.crm-chip{position:relative;display:inline-flex}
.crm-chip input{position:absolute;opacity:0;pointer-events:none}
.crm-chip span{display:inline-flex;align-items:center;height:var(--chip-h);padding:0 12px;border-radius:999px;border:1px solid #cbd5e1;font-size:var(--fs-field)!important;cursor:pointer;background:var(--panel)}
.crm-chip input:checked+span{background:#2563eb;border-color:#2563eb;color:#fff}
.crm-chip input:focus-visible+span{outline:2px solid #93c5fd;outline-offset:2px}
.crm-call-who{margin:0}

/* The Deals board */
.crm-board{position:relative;max-width:100%;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:10px;overflow-x:auto;padding:12px 0 6px}
.crm-col{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:8px;min-height:140px;display:flex;flex-direction:column;gap:8px}
.crm-col.is-over{outline:2px dashed #2563eb;outline-offset:-2px}
.crm-col header{display:flex;flex-direction:column;gap:2px;padding:2px 4px}
#content .crm-col header strong{font-size:var(--fs-heading)!important;font-weight:var(--fw-heading)}
.crm-col header span{font-size:var(--fs-label);color:var(--fg-secondary)}
.crm-col-won header strong{color:#15803d}
.crm-col-lost header strong{color:#b91c1c}
.crm-col-cards{display:flex;flex-direction:column;gap:8px}
.crm-col-empty{font-size:var(--fs-label);color:var(--fg-secondary);padding:8px 4px}
.crm-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:9px 10px;display:flex;flex-direction:column;gap:3px;cursor:grab;font-size:var(--fs-field)}
.crm-card.is-dragging{opacity:.5}
.crm-card-title{font-weight:600;text-align:left;padding:0}
.crm-card-acc{font-size:var(--fs-label)}
.crm-card-foot{display:flex;justify-content:space-between;align-items:baseline;gap:6px}
.crm-card-move select{width:100%;height:28px;font-size:var(--fs-label)!important;margin-top:4px;padding:2px 6px}
.crm-board-note{font-size:var(--fs-label)}
.crm-stage{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:var(--fs-label);background:#eff6ff;color:#1d4ed8}
.crm-stage-won{background:#dcfce7;color:#166534}
.crm-stage-lost{background:#fee2e2;color:#991b1b}

/* Settings → Falcon CRM */
.crm-stage-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.crm-stage-row input{flex:1;max-width:320px;height:var(--ctl-h);padding:var(--ctl-pad)}
.crm-stage-fixed{margin:8px 0}
.crm-mini-table{width:100%;border-collapse:collapse;margin-bottom:12px}
.crm-mini-table th,.crm-mini-table td{text-align:left;border-bottom:1px solid var(--line);padding:6px}

/* Dark theme */
body.dark-theme .crm-kpi,body.dark-theme .crm-card,body.dark-theme .crm-tab,body.dark-theme .crm-chip span,body.dark-theme .crm-mini-btn:not(.crm-call):not(.crm-wa){background:var(--dk-raised);border-color:var(--dk-line);color:var(--dk-text)}
body.dark-theme .crm-col{background:var(--dk-panel);border-color:var(--dk-line)}
body.dark-theme .crm-row,body.dark-theme .crm-tl-item{border-color:var(--dk-line)}
body.dark-theme .crm-tl-item.is-pending{background:rgba(245,158,11,.12)}
body.dark-theme .crm-act-btn:not(.crm-call):not(.crm-wa),body.dark-theme .crm-tab.on{background:rgba(59,130,246,.18);color:#bfdbfe}

/* Phones and narrow windows: one column; bigger Call buttons (CRM screens only). */
@media (max-width:900px){
  .crm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .crm-two,.crm-account-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  #content .crm-kpi strong{font-size:18px!important}
  .crm-kpi{padding:10px 12px}
  .crm-row{flex-wrap:wrap}
  .crm-row .crm-actions{width:100%;padding-left:40px}
  .crm-mini-btn{height:36px;padding:0 12px;font-size:var(--fs-field)}
  .crm-head-row .primary{margin-left:0}
  .crm-board{grid-auto-columns:minmax(78vw,1fr);scroll-snap-type:x mandatory}
  .crm-col{scroll-snap-align:start}
  .crm-facts div{grid-template-columns:96px minmax(0,1fr)}
  .crm-sheet{align-self:flex-end}
}

/* ---- Products (Phase 2, the PLM link): Falcon PLM's garments, view only; products on deals; product requests ---- */
.crm-viewonly{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;border:1px solid var(--line);font-size:var(--fs-label);color:var(--fg-secondary)}
.crm-tab-dot{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;font-weight:600}
.crm-prod-filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.crm-prod-filters input{flex:1 1 260px;max-width:420px;height:var(--ctl-h);padding:var(--ctl-pad)}
.crm-prod-filters select{flex:0 1 200px;height:var(--ctl-h);padding:var(--ctl-pad)}
.crm-prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.crm-prod-grid>.empty{grid-column:1/-1}
.crm-prod-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;color:inherit!important;text-decoration:none!important;min-width:0}
.crm-prod-card:hover{border-color:#93c5fd}
.crm-prod-img{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#f1f5f9;color:#94a3b8;font-weight:600;font-size:var(--fs-heading);overflow:hidden}
.crm-prod-img img,.crm-prod-photo img,.crm-line-img img,.crm-req-photo img{width:100%;height:100%;object-fit:contain;display:block}
.crm-prod-body{display:flex;flex-direction:column;gap:3px;padding:10px 12px 12px;font-size:var(--fs-field);min-width:0}
.crm-prod-code{font-size:var(--fs-label);color:var(--fg-secondary);font-weight:500}
.crm-prod-meta{font-size:var(--fs-label);color:var(--fg-secondary);overflow-wrap:anywhere}
.crm-prod-price{font-weight:600}
.crm-land{display:inline-flex;align-self:flex-start;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:var(--fs-label);font-weight:500;background:#f1f5f9;color:#475569}
.crm-land-coming{background:#e0f2fe;color:#075985}
.crm-land-production{background:#fef3c7;color:#92400e}
.crm-land-arrived{background:#dcfce7;color:#166534}
.crm-prod-actions{justify-content:flex-end}
.crm-prod-actions .primary{margin-left:0}
.crm-prod-page{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr) minmax(220px,280px);gap:14px;align-items:start}
.crm-prod-page .panel.crm-box{margin-top:0}
.crm-prod-photo{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:10px;background:#f1f5f9;color:#94a3b8;font-weight:600;overflow:hidden;margin-bottom:12px}
#content .crm-sub{font-size:var(--fs-heading)!important;font-weight:var(--fw-heading);margin:14px 0 6px}
.crm-feats{margin:0;padding-left:18px;font-size:var(--fs-field)}
.crm-wide-btn{width:100%}
.crm-mini-table .num{text-align:right}
.crm-sheet-view{overflow:auto;max-width:100%}
.crm-ds-share{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}
.crm-ds-share button{padding-left:6px;padding-right:6px;white-space:nowrap}
.crm-ds-share-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.crm-ds-share-bar .muted{font-size:var(--fs-label);margin-left:auto}
.crm-req-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.crm-req-card{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:var(--fs-field);min-width:0;overflow-wrap:anywhere}
.crm-req-card:hover{border-color:#93c5fd}
.crm-req-card:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}
.crm-req-card small{font-size:var(--fs-label)}
.crm-req-status{display:inline-flex;align-self:flex-start;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:var(--fs-label);font-weight:500;background:#f1f5f9;color:#475569}
.crm-req-accepted,.crm-req-approved{background:#fef3c7;color:#92400e}
.crm-req-question{background:#ede9fe;color:#5b21b6}
.crm-req-done{background:#dcfce7;color:#166534}
.crm-req-declined,.crm-req-removed{background:#fee2e2;color:#991b1b}
.crm-req-last{font-size:var(--fs-label);color:var(--fg-secondary)}
.crm-info{margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--soft);font-size:var(--fs-label);color:var(--fg-secondary)}
.crm-req-photos{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.crm-req-photo{display:block;width:72px;height:72px;border-radius:8px;border:1px solid var(--line);overflow:hidden;background:#f8fafc}
.crm-req-view{display:flex;flex-direction:column;gap:10px}
.crm-msgs{display:flex;flex-direction:column;gap:8px}
.crm-msg{border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:var(--fs-field)}
.crm-msg small{font-size:var(--fs-label);color:var(--fg-secondary)}
.crm-msg-plm{background:#f5f3ff;border-color:#ddd6fe}
.crm-deal-products small{font-size:var(--fs-label);color:var(--fg-secondary)}
.crm-lines td{vertical-align:middle}
.crm-lines input{width:90px;height:28px;padding:2px 6px;text-align:right}
.crm-lines select{height:28px;max-width:140px;padding:2px 6px}
.crm-line-img{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:#f1f5f9;color:#94a3b8;font-size:10px;font-weight:600;overflow:hidden;vertical-align:middle;margin-right:6px;flex:none}
.crm-deal-products .crm-picker input[type=search]{width:100%}
.crm-deal-products{min-width:0}
.crm-deal-products .table-wrap{max-width:100%;overflow-x:auto}
.crm-picker{position:relative}
.crm-pick-list{border:1px solid var(--line);border-radius:10px;margin-top:4px;max-height:300px;overflow:auto;background:var(--panel)}
.crm-pick-list[hidden]{display:none}
.crm-pick-row{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:var(--fs-field)}
.crm-pick-row:hover,.crm-pick-row:focus-visible{background:#eff6ff}
.crm-pick-row small{display:block;font-size:var(--fs-label);color:var(--fg-secondary)}
.crm-pick-none{padding:7px 10px;font-size:var(--fs-label);color:var(--fg-secondary);border-top:1px solid var(--line)}
body.dark-theme .crm-prod-card,body.dark-theme .crm-req-card,body.dark-theme .crm-pick-list,body.dark-theme .crm-msg{background:var(--dk-raised);border-color:var(--dk-line);color:var(--dk-text)}
body.dark-theme .crm-msg-plm{background:rgba(139,92,246,.14)}
body.dark-theme .crm-prod-img,body.dark-theme .crm-prod-photo{background:var(--dk-panel)}
@media (max-width:1100px){
  .crm-prod-page{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .crm-prod-page>section:first-child{grid-row:span 2}
}
@media (max-width:640px){
  .crm-prod-page{grid-template-columns:minmax(0,1fr)}
  .crm-prod-page>section:first-child{grid-row:auto}
  .crm-prod-grid{grid-template-columns:minmax(0,1fr);gap:8px}
  .crm-prod-card{flex-direction:row}
  .crm-prod-card .crm-prod-img{flex:none;width:96px;aspect-ratio:auto;height:auto;min-height:96px}
  .crm-prod-filters select{flex:1 1 140px}
  .crm-req-list{grid-template-columns:minmax(0,1fr)}
  .crm-prod-actions{justify-content:stretch}
  .crm-prod-actions button{flex:1 1 auto}
  .crm-viewonly{display:none}
}

/* Falcon PLM → R&D: product requests from Falcon CRM (rd-crm-* / rd-from-tabs, used only by web/src/views/rd.ts). */
.rd-from-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 0}
.rd-from-tabs a{display:inline-flex;align-items:center;gap:6px;height:var(--chip-h);padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:inherit;text-decoration:none;font-size:var(--fs-field)}
.rd-from-tabs a span{font-size:var(--fs-label);color:var(--fg-secondary)}
.rd-from-tabs a.on{border-color:#2563eb;color:#1d4ed8;background:#eff6ff}
.rd-from-tabs b{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;font-weight:600}
.rd-crm-chip{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#ede9fe;color:#5b21b6;font-size:var(--fs-label);font-weight:500;white-space:nowrap}
.rd-crm-panel{border-color:#c4b5fd!important}
.rd-crm-facts{display:grid;gap:6px;margin:0 0 10px}
.rd-crm-facts div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px}
.rd-crm-facts dt{font-size:var(--fs-label);color:var(--fg-secondary)}
.rd-crm-facts dd{margin:0;font-size:var(--fs-field);overflow-wrap:anywhere}
.rd-crm-photos{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.rd-crm-photos a{display:block;width:80px;height:80px;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.rd-crm-photos img{width:100%;height:100%;object-fit:cover}
.rd-crm-msgs{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.rd-crm-msg{border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:var(--fs-field)}
.rd-crm-msg.is-plm{background:#f5f3ff}
.rd-crm-msg small{font-size:var(--fs-label);color:var(--fg-secondary)}
.rd-crm-msg p{margin:3px 0 0;white-space:pre-wrap}
.rd-crm-actions{display:flex;flex-wrap:wrap;gap:8px}
body.dark-theme .rd-from-tabs a,body.dark-theme .rd-crm-msg{background:var(--dk-raised);border-color:var(--dk-line);color:var(--dk-text)}
@media (max-width:640px){.rd-crm-facts div{grid-template-columns:110px minmax(0,1fr)}}

/* ---- Portal switcher (someone with Falcon PLM and Falcon CRM): the name at the top of the menu opens a small list
   with FALCON PLM and FALCON CRM. With the menu collapsed to icons, a small "PLM ▾" / "CRM ▾" button sits under the
   expand arrow and the list floats beside the menu (placed by shell.ts). */
.portal-switch{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;border-radius:6px}
.portal-switch:focus-visible,.portal-mini:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}
.portal-switch .portal-caret{font-size:var(--fs-label);opacity:.85}
.portal-mini{display:none}
@media(min-width:761px){
  body.sidebar-collapsed .portal-mini{all:unset;display:block;box-sizing:border-box;margin:40px auto 6px;cursor:pointer;color:#fff;font-weight:700;font-size:var(--fs-label);line-height:1;border:1px solid rgba(255,255,255,.35);border-radius:6px;padding:5px 6px}
  body.sidebar-collapsed .portal-mini:hover{background:rgba(255,255,255,.12)}
  body.sidebar-collapsed .sidebar-brand-row{flex-direction:column!important;align-items:center!important}
}
.portal-pop{position:absolute;left:0;right:0;top:44px;z-index:300;background:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.3);padding:6px}
.portal-pop[hidden]{display:none}
.portal-pop.portal-pop-float{position:fixed;right:auto;width:190px;z-index:1000}
.portal-pop a{display:flex;justify-content:space-between;align-items:center;min-height:28px;padding:8px 12px;border-radius:8px;color:#10233f!important;font-weight:700;font-size:var(--fs-field)!important;letter-spacing:.4px;text-decoration:none}
.portal-pop a.cur{background:#eff6ff}
.portal-pop a:hover{background:#f3f4f6}
body.dark-theme .portal-pop{background:#1f2937}
body.dark-theme .portal-pop a{color:#f9fafb!important}
body.dark-theme .portal-pop a.cur{background:#1e3a8a}
body.dark-theme .portal-pop a:hover{background:#374151}

/* ---- Selling (Phase 3a): quotes, sales orders, price lists, sending to customers, "Sold through Falcon CRM" in PLM ---- */
.crm-doc-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.crm-doc-bar .crm-back{margin:0}
.crm-doc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.crm-doc-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:0 14px;align-items:start}
.crm-doc-form{margin-bottom:10px}
.crm-quote-note{margin-top:12px;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:#f8fafc;font-size:var(--fs-field)}
.crm-quote-note.is-wait{background:#fffbeb;border-color:#fcd34d}
.crm-quote-note.is-ok{background:#f0fdf4;border-color:#86efac}
.crm-quote-note.is-bad{background:#fef2f2;border-color:#fca5a5}
.crm-lines input.crm-over,.crm-lines td.crm-over{color:#b91c1c;border-color:#f87171;font-weight:600}
.crm-q-lines td:first-child input{text-align:left;width:150px;margin:2px 0}
.crm-q-lines input.crm-q-code{width:90px}
.crm-q-avail select{display:block;margin:2px 0}
.crm-q-add{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:10px}
.crm-q-add .crm-picker{flex:1 1 260px}
.crm-q-add .crm-picker input[type=search]{width:100%}
.crm-q-add-save{display:inline-flex;gap:8px;margin-left:auto}
.crm-doc-sum{margin:12px 0 0 auto;max-width:300px;display:flex;flex-direction:column;gap:4px;font-size:var(--fs-field)}
.crm-doc-sum div{display:flex;justify-content:space-between;gap:12px}
.crm-doc-sum .is-total{border-top:1px solid var(--line);padding-top:6px;font-weight:600}
.crm-avail{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;font-size:var(--fs-label);white-space:nowrap}
.crm-avail-stock{background:#ecfdf5;color:#047857}
.crm-avail-pre{background:#eff6ff;color:#1d4ed8}
.crm-steps{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0}
.crm-steps li{display:inline-flex;align-items:center;height:var(--chip-h);padding:0 12px;border-radius:999px;border:1px solid var(--line);font-size:var(--fs-field);color:var(--fg-secondary)}
.crm-steps li.is-done{background:#f0fdf4;border-color:#86efac;color:#15803d}
.crm-steps li.is-now{font-weight:600;color:#111827;border-color:#16a34a}
.crm-money dd strong.crm-topay{color:#b45309}
.crm-size-grid{display:flex;flex-wrap:wrap;gap:4px}
.crm-size-grid label{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:var(--fs-label);color:var(--fg-secondary)}
.crm-lines .crm-size-grid input{width:54px}
.crm-o-lines select.crm-o-po{display:block;margin-top:2px}
.crm-presell-head{margin:14px 0 6px;font-size:var(--fs-heading);font-weight:var(--fw-heading)}
.crm-presell{width:100%;border-collapse:collapse}
.crm-presell th,.crm-presell td{padding:5px 6px;border-bottom:1px solid var(--line);text-align:left}
.crm-presell .num{text-align:right}
.crm-chips-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}
.crm-list-chip{display:inline-flex;align-items:center;height:var(--chip-h);padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:inherit;text-decoration:none;font-size:var(--fs-field);cursor:pointer}
.crm-list-chip.on{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8;font-weight:600}
.crm-list-chip.is-archived{opacity:.65}
.crm-pl-table input{width:100px}
.crm-pl-table input[type=date]{width:140px;text-align:left}
.crm-import-result{display:flex;flex-direction:column;gap:8px}
.crm-send .crm-attach{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:0}
.crm-send .crm-attach legend{font-size:var(--fs-label);color:var(--fg-secondary);padding:0 4px}
.crm-send-status{margin:0}
.crm-selling-today .crm-row-main small.crm-overdue{color:#b91c1c}
.crm-sold-panel h4{margin:16px 0 4px;font-size:var(--fs-heading);font-weight:var(--fw-heading)}
.crm-sold-table .num{text-align:right}
body.dark-theme .crm-quote-note,body.dark-theme .crm-list-chip,body.dark-theme .crm-steps li{background:var(--dk-raised);border-color:var(--dk-line);color:var(--dk-text)}

/* The document preview (each A4 page as it will print) */
.modal-card.crm-doc-modal{max-width:min(980px,96vw)}
.crm-doc-pages{overflow:auto;max-height:70vh;background:#e5e7eb;border-radius:10px;padding:8px}
.crm-doc-pages .pdf-doc{transform-origin:top center}

/* The customer documents inside the PDF pages (sizes in pt, as the other PDFs) */
:is(#content,body) .pdf-page .pdf-body.crm-doc h1{font-size:15pt!important;margin:3mm 0 2mm;font-weight:700}
:is(#content,body) .pdf-page .pdf-body.crm-doc .crm-doc-org strong{font-size:11pt!important}
:is(#content,body) .pdf-page .pdf-body.crm-doc small{font-size:7.5pt!important}
.crm-doc .crm-doc-org{display:flex;flex-direction:column;gap:.5mm}
.crm-doc .crm-doc-org small{color:#4b5563}
.crm-doc .crm-doc-parties{display:flex;justify-content:space-between;gap:8mm;margin-bottom:4mm}
.crm-doc .crm-doc-parties>div{display:flex;flex-direction:column;gap:.5mm;min-width:0;overflow-wrap:anywhere}
.crm-doc .crm-doc-parties small{color:#6b7280;text-transform:uppercase;letter-spacing:.03em}
.crm-doc .crm-doc-parties dl{margin:0;display:grid;grid-template-columns:auto auto;gap:.6mm 4mm;align-content:start}
.crm-doc .crm-doc-parties dl div{display:contents}
.crm-doc .crm-doc-parties dt{color:#6b7280}
.crm-doc .crm-doc-parties dd{margin:0;font-weight:600;text-align:right}
.crm-doc .crm-doc-table{width:100%;border-collapse:collapse}
.crm-doc .crm-doc-table th{background:#f3f4f6;text-align:left;font-weight:700;padding:1.4mm 1.6mm;border-bottom:1px solid #9ca3af}
.crm-doc .crm-doc-table td{padding:1.3mm 1.6mm;border-bottom:1px solid #e5e7eb;vertical-align:top;overflow-wrap:anywhere}
.crm-doc .crm-doc-table .num{text-align:right;white-space:nowrap}
.crm-doc .crm-doc-totals{margin:3mm 0 0 auto;width:70mm;display:flex;flex-direction:column;gap:.8mm}
.crm-doc .crm-doc-totals div{display:flex;justify-content:space-between;gap:4mm}
.crm-doc .crm-doc-totals .is-total{border-top:1px solid #111827;padding-top:1mm;font-weight:700}
.crm-doc .crm-doc-terms{margin-top:4mm}
.crm-doc .crm-doc-terms p{margin:0 0 1mm;white-space:pre-wrap}
.crm-doc .crm-doc-small{margin-top:3mm;color:#6b7280}

@media (max-width:900px){
  .crm-doc-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .crm-doc-actions{margin-left:0;width:100%}
  .crm-doc-actions>button{flex:1 1 auto;min-height:40px}
  .crm-doc-sum{max-width:none}
  .crm-q-add-save{margin-left:0;width:100%}
  .crm-q-add-save button{flex:1}
  .crm-steps li{height:26px;padding:0 9px}
}
.crm-doc-side .crm-money{margin-bottom:18px}
.crm-q-avail select{max-width:none;min-width:116px}

/* ---- Phase 3b: products list, pictures, price lists, reports, cost prices, commission ---- */
.crm-pic-btn{display:inline-flex;padding:0;border:0;background:none;cursor:zoom-in;border-radius:6px;min-height:0;height:auto}
.crm-pic-btn:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.crm-prod-card>.crm-pic-btn{display:block;width:100%;border-radius:0}
.crm-prod-card>.crm-pic-btn .crm-prod-img{width:100%}
.crm-prod-card>a.crm-prod-body{color:inherit!important;text-decoration:none!important}
.crm-row-img{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:6px;background:#f1f5f9;color:#94a3b8;font-size:var(--fs-label);font-weight:600;overflow:hidden;flex:none}
.crm-row-img img{width:100%;height:100%;object-fit:contain;display:block}
.crm-th-pic,.crm-td-pic{width:52px}
.crm-prod-table{width:100%;border-collapse:collapse;font-size:var(--fs-field)}
.crm-prod-table th,.crm-prod-table td{padding:6px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.crm-prod-table th{font-size:var(--fs-label);color:var(--fg-secondary);font-weight:500}
.crm-prod-table td.num,.crm-prod-table th.num{text-align:right;white-space:nowrap}
.crm-minq{display:block;font-size:var(--fs-label)}
.crm-lock{font-size:var(--fs-label)}
.crm-prices-for{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-label);color:var(--fg-secondary)}
.crm-prod-filters .crm-prices-for select{flex:none;width:220px}
.crm-view-toggle{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-left:auto}
.crm-view-toggle button{height:var(--ctl-h);padding:0 12px;border:0;border-radius:0;background:var(--panel);color:var(--fg-secondary);font-size:var(--fs-field)}
.crm-view-toggle button.on{background:#eff6ff;color:#1d4ed8;font-weight:500}
.crm-pic-big{display:flex;align-items:center;justify-content:center;background:#f8fafc;border-radius:8px;min-height:240px}
.crm-pic-big img{max-width:100%;max-height:70vh;object-fit:contain;display:block}
.crm-rep-range{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}
.crm-rep-presets{display:inline-flex;flex-wrap:wrap;gap:6px}
.crm-rep-preset{height:28px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--fg-secondary);font-size:var(--fs-label)}
.crm-rep-preset.on{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.crm-rep-date{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-label);color:var(--fg-secondary)}
.crm-rep-date input{height:var(--ctl-h);padding:var(--ctl-pad)}
.crm-rep-showing{font-size:var(--fs-label)}
.crm-rep-links{display:inline-flex;gap:12px;margin-left:auto}
.crm-rep-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0 0 12px}
.crm-rep-tile{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);min-width:0}
.crm-rep-tile span,.crm-rep-tile small{font-size:var(--fs-label);color:var(--fg-secondary)}
.crm-rep-tile strong{font-size:18px;font-weight:600}
.crm-rep-table td,.crm-rep-table th{vertical-align:top}
.crm-rep-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.crm-rep-person{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:inherit!important;text-decoration:none!important;font-size:var(--fs-label)}
.crm-rep-person:hover{border-color:#93c5fd}
.crm-rep-person strong{font-size:var(--fs-heading)}
.crm-rep-acts{display:flex;flex-direction:column;gap:8px}
.crm-rep-act{padding:8px 10px;border:1px solid var(--line);border-radius:8px}
.crm-rep-act p{margin:4px 0 0;font-size:var(--fs-field)}
.crm-cost-table input[name=cost]{width:110px}
.crm-cost-table .crm-cost-note{min-width:220px;width:24%}
.crm-cost-table input[name=note]{width:100%;text-align:left}
.crm-cost-info{margin:12px 0 0}
.crm-rep-tile strong:not(#_){font-size:18px;font-weight:600}
.crm-prod-table a,.crm-rep-table a{color:inherit;text-decoration:none}
.crm-prod-table a:hover,.crm-rep-table a:hover{text-decoration:underline}
.crm-cost-status{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:var(--fs-label);background:#f1f5f9;color:#475569}
.crm-cost-approved{background:#dcfce7;color:#166534}
.crm-cost-none{background:#fef3c7;color:#92400e}
.crm-cost-changed{background:#fee2e2;color:#991b1b}
.crm-comm-table select{height:var(--ctl-h)}
.crm-comm-table input{width:90px}
body.dark-theme .crm-row-img,body.dark-theme .crm-pic-big{background:var(--dk-panel)}
body.dark-theme .crm-view-toggle button,body.dark-theme .crm-rep-preset,body.dark-theme .crm-rep-tile{background:var(--dk-raised);border-color:var(--dk-line);color:var(--dk-text)}
body.dark-theme .crm-view-toggle button.on{background:#1e3a8a;color:#fff}
body.dark-theme .crm-rep-preset.on{background:#1d4ed8;color:#fff}
@media (max-width:640px){
  .crm-view-toggle{margin-left:0}
  .crm-prices-for{flex:1 1 100%}
  .crm-prod-filters .crm-prices-for select{flex:1 1 auto;width:auto}
  .crm-prod-card>.crm-pic-btn{width:96px;flex:none}
  .crm-prod-card>.crm-pic-btn .crm-prod-img{width:96px;aspect-ratio:auto;height:auto;min-height:96px}
  .crm-rep-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .crm-rep-links{margin-left:0}
  .crm-rep-date{flex:1 1 140px}
  .crm-rep-date input{flex:1}
}

/* ---- From deal to payment (23/10/2026): the journey across the top of a deal, a quote and an order; the next step;
   where each deal is on the Deals board; choosing the deal for a new quote or order ---- */
.crm-journey{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.crm-journey li{display:flex;flex-direction:column;gap:2px;min-width:0;padding:6px 10px;border-radius:8px;border:1px dashed var(--line);color:var(--fg-secondary);font-size:var(--fs-field)}
.crm-journey li small{font-size:var(--fs-label)}
.crm-journey li>small:first-child{font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.crm-journey-main{overflow-wrap:anywhere;color:#111827}
.crm-journey li.is-done{border:1px solid #bbf7d0;background:#f0fdf4}
.crm-journey li.is-done>small:first-child{color:#15803d}
.crm-journey li.is-now{border:2px solid #2563eb;background:#eff6ff}
.crm-journey li.is-now>small:first-child{color:#1d4ed8}
.crm-journey li.is-lost{border:1px solid #fca5a5;background:#fef2f2}
.crm-next{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px;padding:10px 14px;border-radius:10px;border:1px solid #bfdbfe;background:#eff6ff;font-size:var(--fs-field)}
.crm-next>button,.crm-next>a.btn{margin-left:auto}
.crm-next.is-ok{border-color:#86efac;background:#f0fdf4}
.crm-next.is-lost{border-color:#fca5a5;background:#fef2f2}
.crm-deal-page .crm-doc-grid{margin-top:12px}
.crm-card-links{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 2px}
.crm-card-link{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-label)}
.crm-card-link .badge{font-size:var(--fs-label)}
a.crm-card-title{font-weight:600;text-decoration:none}
.crm-choice{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;margin-top:6px;border:1px solid var(--line);border-radius:8px;font-size:var(--fs-field);cursor:pointer}
.crm-choice:has(input:checked){border-color:#3b82f6;background:#eff6ff}
.crm-choice input[type=radio]{margin-top:3px;flex:none}
.crm-choice span{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.crm-choice small{color:var(--fg-secondary);font-size:var(--fs-label)}
.crm-choice input[name=dealTitle]{margin-top:4px;width:100%}
body.dark-theme .crm-journey,body.dark-theme .crm-journey li,body.dark-theme .crm-next,body.dark-theme .crm-choice{background:var(--dk-raised);border-color:var(--dk-line);color:var(--dk-text)}
body.dark-theme .crm-journey-main{color:var(--dk-text)}
@media (max-width:900px){
  .crm-journey{grid-template-columns:minmax(0,1fr);gap:4px}
  .crm-journey li{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:6px 10px}
  .crm-journey li>small:first-child{min-width:110px}
}
@media (max-width:640px){
  .crm-next>button,.crm-next>a.btn{margin-left:0;width:100%;min-height:44px;justify-content:center}
}
#content a.crm-card-title{text-decoration:none;color:#1d4ed8}

/* ---- CRM Reports section (03/11/2026): the Reports page and the product and sales reports (srep-…) ---- */
.srep-lib-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px}
#srep-find{height:var(--ctl-h);width:260px;max-width:100%;padding:var(--ctl-pad);border:1px solid var(--line);border-radius:6px}
.srep-shows,.srep-chips{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
.srep-show,.srep-chip{display:inline-flex;align-items:center;height:var(--chip-h);padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--fg-secondary)!important;font-size:var(--fs-label);font-weight:600;text-decoration:none!important;white-space:nowrap}
.srep-show.is-on,.srep-chip.is-on{background:#1d4ed8;border-color:#1d4ed8;color:#fff!important}
.srep-lib-bar .crm-viewonly{margin-left:auto}
.srep-group{margin:0 0 16px}
.srep-group-h{font-size:var(--fs-label);font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--fg-secondary);margin:0 0 8px}
.srep-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.srep-card{position:relative;display:flex;border:1px solid var(--line);border-radius:10px;background:var(--panel);min-width:0}
.srep-card:hover{border-color:#93c5fd}
.srep-card-link{display:flex;gap:10px;align-items:flex-start;padding:10px 36px 10px 12px;flex:1;min-width:0;color:inherit!important;text-decoration:none!important}
.srep-card-ic{flex:none;width:30px;height:30px;border-radius:8px;background:#e0e7ff;color:#1d4ed8;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--fs-field)}
.srep-card-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.srep-card-txt strong{font-size:var(--fs-field);font-weight:600}
.srep-card-txt small{font-size:var(--fs-label);color:var(--fg-secondary);line-height:1.35}
.srep-tag{font-size:10px!important;line-height:1.4;padding:0 5px!important;margin-left:4px;vertical-align:1px;font-weight:700;text-transform:uppercase}
.srep-star{position:absolute;top:6px;right:6px;width:28px;height:28px;border:0;background:none;color:#cbd5e1;font-size:16px;cursor:pointer;border-radius:6px}
.srep-star.is-on{color:#f59e0b}
.srep-star:hover,.srep-star:focus-visible{background:#f1f5f9}
.srep-saved{display:flex;flex-direction:column;gap:8px;max-width:720px}
.srep-saved-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.srep-saved-row a{display:flex;flex-direction:column;flex:1;min-width:0;text-decoration:none!important}
.srep-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}
.srep-back{font-weight:600}
.srep-actions{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.srep-export{display:inline-flex;flex-wrap:wrap;gap:6px}
.srep-favbtn.is-on{color:#b45309!important;border-color:#f59e0b!important}
.srep-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin:0 0 8px}
.srep-ctl{display:flex;flex-direction:column;gap:3px}
.srep-ctl>span{font-size:var(--fs-label);color:var(--fg-secondary);font-weight:500}
.srep-ctl select{height:var(--ctl-h);padding:var(--ctl-pad);font-size:var(--fs-field)}
.srep-product select{min-width:260px;max-width:100%}
.srep-dates{display:inline-flex;align-items:center;gap:4px}
.srep-dates input{height:var(--ctl-h);padding:var(--ctl-pad)}
.srep-dates.is-on input{border-color:#1d4ed8}
.srep-compare{align-self:center;min-height:var(--row-h)}
.srep-apply{display:flex;justify-content:flex-end;grid-column:1/-1}
.srep-showing{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;font-size:var(--fs-label)}
.srep-showing .chip{text-decoration:none}
.srep-chart{margin:0 0 12px}
.srep-chart h3{font-size:var(--fs-heading);font-weight:var(--fw-heading);margin:0 0 10px}
.srep-bars{display:flex;align-items:stretch;gap:10px;height:140px}
.srep-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.srep-bar-pair{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px}
.srep-vbar{display:block;flex:1;max-width:46px;min-height:1px;background:#2563eb;border-radius:4px 4px 0 0}
.srep-vbar.is-before{background:#cbd5e1}
.srep-vbar.is-open{background:#93c5fd}
.srep-bar-col small{font-size:11px;color:var(--fg-secondary)}
.srep-key{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:var(--fs-label)}
.srep-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;background:#2563eb}
.srep-swatch.is-before{background:#cbd5e1;margin-left:10px}
.srep-table td,.srep-table th{white-space:nowrap}
.srep-name-td{white-space:normal!important;min-width:200px}
.srep-name{display:flex;align-items:center;gap:8px;position:relative;padding-bottom:4px}
.srep-pic{width:30px;height:30px}
.srep-rankbar{position:absolute;left:0;bottom:0;height:3px;background:#2563eb;border-radius:2px;opacity:.55}
#content .srep-table td.srep-heat{background:rgba(37,99,235,var(--heat,0))!important}
.srep-num{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}
.srep-num:hover,.srep-num:focus-visible{color:#1d4ed8}
.srep-chg.is-up{color:#15803d;font-weight:600}.srep-chg.is-down{color:#b91c1c;font-weight:600}
td.is-future{color:var(--fg-secondary)}
.srep-foot{margin:6px 0 12px;font-size:var(--fs-label)}
.srep-shares{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.srep-share h3{font-size:var(--fs-heading);font-weight:var(--fw-heading);margin:0 0 8px}
.srep-share ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.srep-share li{display:grid;grid-template-columns:110px 1fr 52px;align-items:center;gap:8px;font-size:var(--fs-field)}
.srep-share li strong{text-align:right;font-weight:600}
.srep-share-bar{display:block;height:8px;border-radius:4px;background:#e5e7eb;overflow:hidden}
.srep-share-bar span{display:block;height:100%;background:#2563eb}
.srep-phone-cards{display:none}
.srep-doc-total td{border-top:1.5px solid #94a3b8}
body.dark-theme .srep-card-ic{background:#1e3a8a;color:#dbeafe}
body.dark-theme .srep-star:hover{background:var(--dk-panel)}
body.dark-theme .srep-share-bar{background:#334155}
@media (max-width:640px){
  #srep-find{width:100%}
  .srep-lib-bar .crm-viewonly{margin-left:0}
  .srep-actions{margin-left:0;width:100%}
  .srep-export{width:100%}
  .srep-bar{gap:8px}
  .srep-ctl,.srep-product,.srep-product select{width:100%;min-width:0}
  .srep-dates{flex-wrap:wrap}
  .srep-bars{gap:4px;height:110px}
  .srep-phone-cards{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}
  .srep-has-cards{display:none}
  .srep-pcard{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:10px}
  .srep-pcard-head{display:flex;align-items:center;gap:8px;font-size:var(--fs-field)}
  .srep-pcard-head span:not(.crm-row-img){flex:1;min-width:0}
  .srep-mini{display:flex;align-items:flex-end;gap:3px;height:36px;margin-top:6px}
  .srep-mini span{flex:1;background:#2563eb;border-radius:2px}
  .srep-mini-labels{display:flex;gap:3px;font-size:9px;color:var(--fg-secondary)}
  .srep-mini-labels span{flex:1;text-align:center}
  .srep-share li{grid-template-columns:80px 1fr 48px}
}
