/* /Components/Home/MyTasksPanel.razor.rz.scp.css */
/* «Mi día» tasks card: a headed card (band, divider, icon, title, count, action right) with at most six rows. */
.mtp[b-9g3vdfqj8l]{padding:0;overflow:hidden;margin-bottom:16px;}
.mtp-h[b-9g3vdfqj8l]{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surf-2);border-bottom:1px solid var(--line-2);min-height:52px;box-sizing:border-box;}
.mtp-h > i[b-9g3vdfqj8l]{font-size:18px;color:var(--teal-d);flex:none;}
.mtp-h h2[b-9g3vdfqj8l]{margin:0;font-size:14px;font-weight:800;flex:1 1 auto;min-width:0;}
.mtp-h .badge[b-9g3vdfqj8l]{margin-left:0;flex:none;}
.mtp-all[b-9g3vdfqj8l]{flex:none;height:34px;}
.mtp-row[b-9g3vdfqj8l]{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:44px;padding:8px 16px;border-top:1px solid var(--line);font-size:14px;color:var(--ink);text-decoration:none;}
.mtp-h + .mtp-row[b-9g3vdfqj8l]{border-top:0;}
.mtp-row:hover[b-9g3vdfqj8l]{background:var(--surf-2);}
.mtp-row:focus-visible[b-9g3vdfqj8l]{outline:2px solid var(--teal);outline-offset:-2px;}
.mtp-row.late[b-9g3vdfqj8l]{border-left:4px solid var(--danger);padding-left:12px;}
.mtp-st[b-9g3vdfqj8l]{font-size:18px;color:var(--muted);}
.mtp-due[b-9g3vdfqj8l]{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap;display:inline-flex;align-items:center;gap:4px;}
.mtp-row.late .mtp-due[b-9g3vdfqj8l]{color:#B42318;font-weight:700;}
.mtp-more[b-9g3vdfqj8l]{display:block;padding:10px 16px;font-size:13px;font-weight:600;border-top:1px solid var(--line);}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-fyjnh5k9ni],
.components-reconnect-repeated-attempt-visible[b-fyjnh5k9ni],
.components-reconnect-failed-visible[b-fyjnh5k9ni],
.components-pause-visible[b-fyjnh5k9ni],
.components-resume-failed-visible[b-fyjnh5k9ni],
.components-rejoining-animation[b-fyjnh5k9ni] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-fyjnh5k9ni],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-fyjnh5k9ni],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-fyjnh5k9ni],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-fyjnh5k9ni],
#components-reconnect-modal.components-reconnect-retrying[b-fyjnh5k9ni],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-fyjnh5k9ni],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-fyjnh5k9ni],
#components-reconnect-modal.components-reconnect-failed[b-fyjnh5k9ni],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-fyjnh5k9ni] {
    display: block;
}


/* COMPACT (owner 2026-10-29: «más compacto, bien armado»): one row — a 24 px ring and the sentence at 13 px — in a 22 rem card with the Manager's radius and hairline, instead of the template's
   80 px ripple over 16 px text in a 20 rem card with 2 rem of padding. The actions (retry · resume) sit on their own line, right-aligned. */
#components-reconnect-modal[b-fyjnh5k9ni] {
    background-color: white;
    width: min(26rem, calc(100vw - 32px));
    margin: 18vh auto;
    padding: 14px 16px;
    border: 1px solid #DCE4E3;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(12, 40, 60, 0.18);
    font: inherit;
    font-size: 13px;
    line-height: 1.4;
    color: #1F2A2E;
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-fyjnh5k9ni 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-fyjnh5k9ni 0.6s cubic-bezier(.05, .89, .25, 1.02) 0.2s, components-reconnect-modal-fadeInOpacity-b-fyjnh5k9ni 0.4s ease-in-out 0.2s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-fyjnh5k9ni]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-fyjnh5k9ni 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-fyjnh5k9ni {
    0% {
        transform: translateY(12px) scale(0.98);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-fyjnh5k9ni {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-fyjnh5k9ni {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-fyjnh5k9ni] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 12px;
}

/* The sentences stack in ONE column beside the ring — «Reconectando…» over «Nuevo intento en 2 s» — instead of two columns of wrapped text. */
.components-reconnect-text[b-fyjnh5k9ni] {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

#components-reconnect-modal p[b-fyjnh5k9ni] {
    margin: 0;
    text-align: left;
}

#components-reconnect-modal .components-reconnect-first-attempt-visible[b-fyjnh5k9ni] { font-weight: 600; }
#components-reconnect-modal .components-reconnect-repeated-attempt-visible[b-fyjnh5k9ni] { color: #5C6B70; }

#components-reconnect-modal button[b-fyjnh5k9ni] {
    margin-left: auto;
    border: 0;
    background-color: #1577B5;
    color: white;
    font: inherit;
    font-weight: 700;
    padding: 6px 16px;
    border-radius: 8px;
    cursor: pointer;
}

    #components-reconnect-modal button:hover[b-fyjnh5k9ni] {
        background-color: #0E4C77;
    }

    #components-reconnect-modal button:active[b-fyjnh5k9ni] {
        background-color: #1577B5;
    }

.components-rejoining-animation[b-fyjnh5k9ni] {
    position: relative;
    flex: none;
    width: 24px;
    height: 24px;
}

    .components-rejoining-animation div[b-fyjnh5k9ni] {
        position: absolute;
        border: 2px solid #1577B5;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-fyjnh5k9ni 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-fyjnh5k9ni] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-fyjnh5k9ni {
    0%, 4.9% {
        top: 12px;
        left: 12px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 12px;
        left: 12px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0;
        left: 0;
        width: 24px;
        height: 24px;
        opacity: 0;
    }
}
/* /Components/Pages/Board.razor.rz.scp.css */
/* ─── Tablero card (commercial pipeline) ───────────────────────────────────
   The column shell (.tablero/.tcol) is the shared kanban kit in manager.css — both this board and the
   leads board use it. This file is only the commercial card: a plain white tile, read-and-open, with
   ref + state pill on top, name + B2B chip, the trip line, and owner avatar + whole-USD amount at the
   foot. No left accent, no lift — the cursor and a faint border-darken are the only "clickable" cues. */

.tcard[b-0pbdkesdkd]{
  display:block;text-decoration:none;color:inherit;
  background:#fff;
  border:1px solid var(--line,#E7ECEB);
  border-radius:var(--r-btn,8px);
  padding:10px 11px;
}
.tcard:hover[b-0pbdkesdkd]{border-color:var(--line-2);background:var(--row-hover);}
.tcard:focus-visible[b-0pbdkesdkd]{outline:2px solid var(--ocean-800,#0E4C77);outline-offset:1px;}

/* Wraps as whole pieces: in a narrow column a long state («Esperando tarifas») drops under the reference instead
   of breaking the reference in two. */
.tcard-top[b-0pbdkesdkd]{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;margin-bottom:4px;min-height:18px;}
.tcard-ref[b-0pbdkesdkd]{
  white-space:nowrap;
  font-size:12px;font-weight:700;letter-spacing:.02em;
  color:var(--ocean-800,#0E4C77);
  font-variant-numeric:tabular-nums;
}
.tcard-pill[b-0pbdkesdkd]{margin-left:auto;flex:0 0 auto;}

.tcard-name[b-0pbdkesdkd]{
  display:flex;align-items:center;gap:6px;
  font-size:14px;font-weight:600;line-height:1.25;color:var(--ink,#20302F);
}
.tcard-name > span:first-child[b-0pbdkesdkd]{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.tcard-b2b[b-0pbdkesdkd]{flex:0 0 auto;font-size:12px;padding:1px 6px;}

.tcard-sub[b-0pbdkesdkd]{
  margin-top:3px;
  font-size:12px;color:var(--muted);line-height:1.3;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* Wraps as whole pieces, like the top row: in a 212px column «Sin asignar» + «USD 2.400 · 18%» do not fit on one line and
   the pill was squeezed to «Sin asign…». The amount keeps to the right on whichever line it lands. */
.tcard-foot[b-0pbdkesdkd]{
  display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;
  margin-top:9px;
}
.tcard-foot > .pill[b-0pbdkesdkd]{flex:0 0 auto;}
.tcard-amt[b-0pbdkesdkd]{
  margin-left:auto;flex:0 0 auto;
  font-size:12px;font-weight:700;color:var(--ink,#20302F);
  font-variant-numeric:tabular-nums;
}
.tcard-margin[b-0pbdkesdkd]{font-weight:600;color:var(--muted);}
/* /Components/Pages/ConnectionsMonitor.razor.rz.scp.css */
/* Background refresh of the rate cache (docs/ui/manager-ui-estandar.md §8): full width, three headed cards in a row (two under 1100 px, one under 700 px),
   long names end in «…» with the Manager's own tooltip, and a warning is the sign + bold + the tooltip, never the colour alone. Text is 12-14 px. */
.bg-legend[b-7a0muc2cl5]{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:12px;line-height:1.4;}
.bg-legend > i[b-7a0muc2cl5]{flex:none;font-size:14px;}
.bg-legend > span[b-7a0muc2cl5]{min-width:0;}
.bg-grid[b-7a0muc2cl5]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;}
@media(max-width:1100px){.bg-grid[b-7a0muc2cl5]{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.bg-grid[b-7a0muc2cl5]{grid-template-columns:minmax(0,1fr);}}
.bg-card[b-7a0muc2cl5]{display:flex;flex-direction:column;min-width:0;}
.bg-h[b-7a0muc2cl5]{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;background:var(--surf-2);border-bottom:1px solid var(--line-2);}
.bg-h > i[b-7a0muc2cl5]{flex:none;font-size:18px;color:var(--teal-d);}
.bg-h h3[b-7a0muc2cl5]{margin:0;flex:1 1 auto;min-width:0;font-size:14px;font-weight:700;line-height:1.3;}
.bg-h .pill[b-7a0muc2cl5]{flex:none;}
.bg-empty[b-7a0muc2cl5]{padding:16px;font-size:13px;color:var(--muted);}
.bg-row[b-7a0muc2cl5]{padding:12px 16px;border-bottom:1px solid var(--line-2);min-width:0;}
.bg-row:last-child[b-7a0muc2cl5]{border-bottom:0;}
.bg-name[b-7a0muc2cl5]{font-size:14px;margin-bottom:8px;}
.bg-nums[b-7a0muc2cl5]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.bg-nums.n2[b-7a0muc2cl5],.bg-nums.n4[b-7a0muc2cl5]{grid-template-columns:repeat(2,minmax(0,1fr));}   /* four numbers sit two by two: a six-digit number and a two-line label keep their room */
.bg-num[b-7a0muc2cl5]{min-width:0;border-radius:8px;padding:6px;border:1px solid transparent;cursor:default;}
.bg-num:focus-visible[b-7a0muc2cl5]{outline:2px solid var(--teal);outline-offset:1px;}
.bg-v[b-7a0muc2cl5]{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;}
.bg-l[b-7a0muc2cl5]{display:block;font-size:12px;line-height:1.3;color:var(--muted);overflow-wrap:break-word;}
.bg-num.zero .bg-v[b-7a0muc2cl5]{font-weight:400;color:var(--muted);}
/* worth a look: amber tint + solid border + warning sign + bold */
.bg-num.attn[b-7a0muc2cl5]{background:var(--amber-50);border-color:var(--amber);}
.bg-num.attn .bg-v[b-7a0muc2cl5]{font-weight:800;color:var(--amber-d);}
.bg-num.attn .bg-l[b-7a0muc2cl5]{color:var(--amber-d);}
/* /Components/Pages/ContentImport.razor.rz.scp.css */
/* Content-import tool — local helpers layered on the shared Manager styles (.panel/.seg/.btn/.badge/.muted). */

.lbl[b-2dl66z3hrh] {
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin: 0 0 6px;
    color: var(--ink, #0C3A5B);
}

/* Top-align the «Product type» / «Mode» row. The shared .frow bottom-packs its fields so inputs sit on one
   baseline, but the Mode field carries an in-flow hint, which pushed its label + segmented control ABOVE the
   Product-type one. Here both are label-over-segmented-control, so aligning to the top lines them up and lets the
   Mode hint flow beneath. Scoped to this page; the global .frow behaviour is untouched. */
.frow[b-2dl66z3hrh] {
    align-items: flex-start;
}

.frow > .field[b-2dl66z3hrh] {
    justify-content: flex-start;
}

.frow > .field > label[b-2dl66z3hrh] {
    margin-top: 0;
}

.filelist[b-2dl66z3hrh] {
    list-style: none;
    padding: 0;
    margin: 10px 0 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 13px;
}

.filelist li[b-2dl66z3hrh] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.ta[b-2dl66z3hrh] {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid var(--line-2);
    border-radius: 10px;
    font-family: inherit;
    font-size: 14px;
    resize: vertical;
    background: #fff;
    color: var(--ink, #0C3A5B);
}

.ta:focus[b-2dl66z3hrh] {
    outline: none;
    border-color: var(--teal, #1577B5);
    box-shadow: 0 0 0 3px rgba(21,119,181, .14);
}

/* The spinner is the console's global .spin (manager.css) — a local copy here shadowed it at a different speed. */
/* /Components/Pages/DailyAlertCheck.razor.rz.scp.css */
/* The staff e-mail as it arrives: the mail template's own document in its own frame (same frame as the supplier request's preview). */
.mail-frame[b-3k949crsoy] { width: 100%; height: 720px; border: 1px solid var(--line-2); border-radius: 10px; background: #fff; display: block; margin-top: 10px; }
@media (max-width: 640px) {
    .mail-frame[b-3k949crsoy] { height: 560px; }
}
/* /Components/Pages/FilesCalendar.razor.rz.scp.css */
/* The files calendar: the Manager's own tokens, cards and badges. Colour AND icon say what a thing is (never colour alone). */
.cal-bar[b-mr9n0tl16k]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.cal-nav[b-mr9n0tl16k]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cal-title[b-mr9n0tl16k]{margin:0 0 0 8px;font-size:18px;font-weight:800;}
/* One height for every control of the bar (the Manager's 44 px) and one centre line: the global .seg carries margin-bottom:16px, which pushed the view switcher 8 px above the buttons. */
.cal-bar .seg[b-mr9n0tl16k]{margin:0;box-sizing:border-box;height:44px;align-items:stretch;flex-wrap:nowrap;}
.cal-bar .seg-btn[b-mr9n0tl16k]{padding-top:0;padding-bottom:0;align-items:center;}
.cal-nav .btn[b-mr9n0tl16k],.cal-nav .cal-jump[b-mr9n0tl16k]{flex:none;}
.cal-sub[b-mr9n0tl16k]{display:block;margin-top:4px;font-size:12px;color:var(--muted);min-height:16px;}
.cal-layers[b-mr9n0tl16k]{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0;}
/* A layer chip says its state three ways, never by colour alone: ON = tinted with the layer's own colour, a solid border, a filled check and bold text; OFF = white, a dashed grey border, an empty circle and muted text. */
.cal-layer[b-mr9n0tl16k]{--lc:var(--ink);--lbg:#fff;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px 0 10px;border:1.5px solid var(--line-2);border-radius:999px;background:#fff;font:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;transition:background .12s,border-color .12s,color .12s;}
.cal-layer .cal-state[b-mr9n0tl16k]{font-size:18px;}
.cal-layer.lc-pax[b-mr9n0tl16k]{--lc:#1E6B3A;--lbg:#E6F4EA;}.cal-layer.lc-col[b-mr9n0tl16k]{--lc:#1A55A3;--lbg:#E3EEFB;}.cal-layer.lc-dead[b-mr9n0tl16k]{--lc:#8A5A00;--lbg:#FBEFD9;}.cal-layer.lc-rep[b-mr9n0tl16k]{--lc:#5B3E91;--lbg:#EEE8FA;}.cal-layer.lc-pay[b-mr9n0tl16k]{--lc:#0A5C70;--lbg:#D8F0F4;}.cal-layer.lc-task[b-mr9n0tl16k]{--lc:#33474B;--lbg:#E8EEEC;}
.cal-layer.on[b-mr9n0tl16k]{background:var(--lbg);border-color:var(--lc);color:var(--lc);font-weight:700;}
.cal-layer.on .cal-count[b-mr9n0tl16k]{background:#fff;color:var(--lc);}
.cal-layer.off[b-mr9n0tl16k]{background:#fff;border-style:dashed;border-color:#C9D0CF;color:var(--muted);font-weight:600;}
.cal-layer.off:hover[b-mr9n0tl16k]{border-color:var(--lc);color:var(--lc);}
.cal-count[b-mr9n0tl16k]{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--line,#ECEFEE);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;}
.cal-dayview[b-mr9n0tl16k]{min-height:120px;}
/* The summary row has 3 to 6 cards depending on what the person may read: always whole rows, never one card alone under a row of four. */
.kpis.cal-kpis[b-mr9n0tl16k]{grid-template-columns:repeat(3,minmax(0,1fr));}
.kpis.cal-kpis.n4[b-mr9n0tl16k]{grid-template-columns:repeat(4,minmax(0,1fr));}
.kpis.cal-kpis.n5[b-mr9n0tl16k]{grid-template-columns:repeat(5,minmax(0,1fr));}
@media (max-width:1000px){
  .kpis.cal-kpis[b-mr9n0tl16k],.kpis.cal-kpis.n4[b-mr9n0tl16k],.kpis.cal-kpis.n5[b-mr9n0tl16k],.kpis.cal-kpis.n6[b-mr9n0tl16k]{grid-template-columns:repeat(2,minmax(0,1fr));}
  .kpis.cal-kpis .kpi:last-child:nth-child(odd)[b-mr9n0tl16k]{grid-column:1 / -1;}
}
.cal-layer:focus-visible[b-mr9n0tl16k],.cal-d:focus-visible[b-mr9n0tl16k]{outline:2px solid var(--teal,#1577B5);outline-offset:2px;}
/* The calendar takes the WHOLE width; the day detail, what is overdue and what waits on a supplier sit below it in three columns (owner 2026-10-30). */
.cal-layout[b-mr9n0tl16k]{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;}
.cal-main[b-mr9n0tl16k]{min-width:0;}
.cal-side[b-mr9n0tl16k]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;min-width:0;}
.cal-side-h[b-mr9n0tl16k]{margin:0 0 10px;font-size:14px;font-weight:800;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.cal-lyr[b-mr9n0tl16k]{margin:12px 0 4px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:6px;}
.cal-note[b-mr9n0tl16k]{font-size:12px;margin-top:6px;}
.cal-all[b-mr9n0tl16k]{display:inline-block;margin-top:8px;font-size:13px;font-weight:600;}

/* The grid: seven columns, whole weeks; the detail is in the day panel so a busy day stays one readable cell. */
.cal-grid[b-mr9n0tl16k]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line-2);border-radius:12px;overflow:hidden;background:#fff;}
.cal-dh[b-mr9n0tl16k]{background:var(--sand,#F5EFE3);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:8px 10px;}
.cal-d[b-mr9n0tl16k]{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-height:112px;padding:6px;border:0;border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff;font:inherit;text-align:left;cursor:pointer;min-width:0;}
.cal-d:nth-child(7n+8)[b-mr9n0tl16k]{border-left:0;}
.cal-d.we[b-mr9n0tl16k]{background:var(--surf-2,#FAFBFB);}
.cal-d.off[b-mr9n0tl16k]{background:var(--surf-2,#FAFBFB);color:var(--muted);cursor:default;opacity:.7;}
.cal-d.today .cal-num[b-mr9n0tl16k]{background:var(--ink);color:#fff;}
.cal-d.sel[b-mr9n0tl16k]{box-shadow:inset 0 0 0 2px var(--teal,#1577B5);}
.cal-grid.week .cal-d[b-mr9n0tl16k]{min-height:220px;}
.cal-num[b-mr9n0tl16k]{align-self:flex-start;min-width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;padding:0 6px;}
.cal-ev[b-mr9n0tl16k]{display:flex;align-items:center;gap:4px;border-radius:6px;padding:1px 6px;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;min-width:0;}
.cal-ev-t[b-mr9n0tl16k]{overflow:hidden;text-overflow:ellipsis;}
.cal-more[b-mr9n0tl16k]{font-size:12px;font-weight:600;color:var(--muted);}
.cal-dots[b-mr9n0tl16k]{display:none;gap:3px;}
.cal-dot[b-mr9n0tl16k]{width:7px;height:7px;border-radius:50%;display:inline-block;}
.l-pax[b-mr9n0tl16k]{background:#E6F4EA;color:#1E6B3A;}
.l-task[b-mr9n0tl16k]{background:#E8EEEC;color:#33474B;}
.l-col[b-mr9n0tl16k]{background:#E3EEFB;color:#1A55A3;}
.l-dead[b-mr9n0tl16k]{background:#FBEFD9;color:#8A5A00;}
.l-rep[b-mr9n0tl16k]{background:#EEE8FA;color:#5B3E91;}
.l-pay[b-mr9n0tl16k]{background:#D8F0F4;color:#0A5C70;}
.cal-ev.late[b-mr9n0tl16k]{box-shadow:inset 0 0 0 1px #B3261E;}
.cal-dot.l-pax[b-mr9n0tl16k]{background:#1E6B3A;}.cal-dot.l-col[b-mr9n0tl16k]{background:#1A55A3;}.cal-dot.l-dead[b-mr9n0tl16k]{background:#8A5A00;}.cal-dot.l-rep[b-mr9n0tl16k]{background:#5B3E91;}.cal-dot.l-pay[b-mr9n0tl16k]{background:#0A5C70;}.cal-dot.l-task[b-mr9n0tl16k]{background:#33474B;}
.cal-ic[b-mr9n0tl16k]{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;flex:none;}

/* Rows (day panel, overdue, agenda). */
.cal-ag-row[b-mr9n0tl16k]{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;}
.cal-ag-row:last-child[b-mr9n0tl16k]{border-bottom:0;}
.cal-ag-b[b-mr9n0tl16k]{flex:1;min-width:0;overflow-wrap:anywhere;}
.cal-r[b-mr9n0tl16k]{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none;}
.cal-pax[b-mr9n0tl16k]{display:inline-flex;align-items:center;gap:4px;font-weight:700;}
.cal-wait[b-mr9n0tl16k]{font-weight:700;color:var(--muted);flex:none;}
.cal-wait.late[b-mr9n0tl16k]{color:var(--danger,#B3261E);}
.cal-agenda[b-mr9n0tl16k]{padding:4px 16px;}
.cal-ag-day[b-mr9n0tl16k]{padding:8px 0;border-bottom:1px solid var(--line-2);}
.cal-ag-day:last-child[b-mr9n0tl16k]{border-bottom:0;}
.cal-ag-h[b-mr9n0tl16k]{display:flex;align-items:center;gap:8px;border:0;background:transparent;font:inherit;font-size:14px;cursor:pointer;padding:6px 0;color:var(--ink);}
.cal-ag-day.today .cal-ag-h b[b-mr9n0tl16k]{color:var(--teal,#1577B5);}

@media (max-width:1100px){ .cal-side[b-mr9n0tl16k]{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:700px){ .cal-side[b-mr9n0tl16k]{grid-template-columns:minmax(0,1fr);} }
/* On a phone the cells keep the day, the colour dots and the selection; the day panel under the grid holds the detail. */
@media (max-width:700px){
  .cal-d[b-mr9n0tl16k]{min-height:56px;padding:4px;align-items:center;}
  .cal-ev[b-mr9n0tl16k],.cal-more[b-mr9n0tl16k]{display:none;}
  .cal-dots[b-mr9n0tl16k]{display:flex;flex-wrap:wrap;justify-content:center;}
  .cal-dh[b-mr9n0tl16k]{padding:6px 2px;font-size:12px;text-align:center;overflow:hidden;}
  .cal-grid.week .cal-d[b-mr9n0tl16k]{min-height:56px;}
}
/* /Components/Pages/FileWorkspace.razor.rz.scp.css */
/* File workspace — scoped so none of these names (.btn, .card, .empty, .kv …) leak to the
   rest of the Manager. Sizes are 1:1 with design/File.dc.html (canvas «FILE — HÍBRIDO A + B»): the page-head
   band with the tab strip + a two-column body with the active tab's card on the LEFT and a 340px RIGHT money rail that lives OUTSIDE the tabs. Colours stay
   on the Atlantic tokens (the WCAG-tuned brand equivalents of the wireframe's placeholder greys/ocean). */

.fw[b-oszt1t765v] { padding: 20px 28px 36px; display: flex; flex-direction: column; gap: 16px; }

/* ── Page-head band — the SAME white band + tab strip every Manager page uses (global .page-head / .listtabs),
   pulled out to the edges of the .fw padding. The File only adds its state chips and the two responsables
   (principle 1). Not a floating card: a File opens like every other record. ── */
.fw-band[b-oszt1t765v] { background: #fff; margin: -20px -28px 0; border-bottom: 1px solid var(--line-2); }
.fw-band .page-head[b-oszt1t765v] { margin: 0; padding: 18px 28px 10px; }
.fw-band .listtabs[b-oszt1t765v] { margin: 0; padding: 0 28px; border-bottom: 0; }
.fw-band .listtabs > a[b-oszt1t765v] { display: inline-flex; align-items: center; gap: 7px; }
.fw-band .listtabs.sk-tabs[b-oszt1t765v] { padding-bottom: 2px; }
.fw-facts[b-oszt1t765v] { display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; }
.fw-facts .sep[b-oszt1t765v] { color: var(--faint); }
.fw-facts .ref[b-oszt1t765v] { color: var(--ink); font-variant-numeric: tabular-nums; letter-spacing: .3px; }

.fw-chip[b-oszt1t765v] { font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: var(--r-pill); background: var(--ocean-50); color: var(--ocean-800); }
.fw-chip.quote[b-oszt1t765v] { background: var(--ocean-50); color: var(--ocean-800); }
.fw-chip.booking[b-oszt1t765v] { background: var(--ocean-800); color: #fff; }
.fw-chip.confirmed[b-oszt1t765v] { background: var(--green-50); color: var(--green); }
.fw-chip.closed[b-oszt1t765v] { background: #DDE6E4; color: var(--ocean-900); }
.fw-chip.cancelled[b-oszt1t765v] { background: var(--rose-50); color: var(--danger); }
.pill[b-oszt1t765v] { font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: var(--r-pill); }
.pill.grey[b-oszt1t765v] { background: var(--sand); color: var(--muted); }
.pill.amber[b-oszt1t765v] { background: var(--amber-50); color: var(--amber-d); }
.pill.ocean[b-oszt1t765v] { background: var(--ocean-50); color: var(--ocean-800); }
.pill.red[b-oszt1t765v] { background: var(--rose-50); color: var(--danger); }
.pill.ok[b-oszt1t765v] { color: var(--green); background: var(--green-50); }
.pill.warn[b-oszt1t765v] { color: var(--amber-d); background: var(--amber-50); }

.fw-people[b-oszt1t765v] { display: flex; flex-direction: row; gap: 22px; flex: none; }
.fw-people .who[b-oszt1t765v] { display: flex; align-items: center; gap: 9px; }
.fw-people .av[b-oszt1t765v] { width: 30px; height: 30px; border-radius: 50%; color: #fff; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex: none; }
.fw-people .av.comm[b-oszt1t765v] { background: var(--ocean-700); }
.fw-people .av.ops[b-oszt1t765v] { background: var(--green); }
.fw-people .who-t[b-oszt1t765v] { line-height: 1.25; display: flex; flex-direction: column; }
.fw-people .role[b-oszt1t765v] { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.fw-people .name[b-oszt1t765v] { font-size: 13px; font-weight: 700; color: var(--ink); }

.fw-alert[b-oszt1t765v] { background: var(--rose-50); border: 1px solid #F3C9C2; border-radius: 12px; padding: 12px 16px; display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--danger); }
.fw-alert i[b-oszt1t765v] { margin-top: 2px; }
.fw-alert a[b-oszt1t765v] { color: var(--danger); font-weight: 700; margin-left: 6px; text-decoration: underline; }

/* ── Body — left tab card (1fr) + right money rail (340px, OUTSIDE the tabs). ── */
.fw-grid[b-oszt1t765v] { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 16px; align-items: start; }
.fw-leftcol[b-oszt1t765v] { min-width: 0; }
.fw-tabcard[b-oszt1t765v] { background: #fff; border: 1px solid var(--line-2); border-radius: var(--r-card, 12px); overflow: hidden; }
.tab-badge[b-oszt1t765v] { font-size: 12px; font-weight: 700; padding: 2px 8px; border-radius: var(--r-pill); background: var(--amber-50); color: var(--amber-d); }
.fw-tabwrap[b-oszt1t765v] { padding: 18px 20px; }


/* Buttons — wireframe size: 13px / radius 8px / no 44px min-height (the global .btn forces 44px). */
.btn[b-oszt1t765v] { font-size: 13px; font-weight: 600; line-height: 1.2; border-radius: 8px; min-height: 0; padding: 8px 14px; border: 1px solid var(--line-2); background: #fff; color: var(--ink); text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 7px; cursor: pointer; }
.btn.primary[b-oszt1t765v] { background: var(--ocean-800); border-color: var(--ocean-800); color: #fff; font-weight: 700; }
.btn.ghost[b-oszt1t765v] { background: #fff; }
.btn.danger[b-oszt1t765v] { color: var(--danger); border-color: #F3C9C2; }
.btn.primary:hover[b-oszt1t765v] { background: var(--ocean-900); border-color: var(--ocean-900); }
/* The dialogs of this screen are drawn here, so the rules above reach them: their buttons are the app's dialog buttons (44px, bold), like every other dialog. */
.modal-f .btn[b-oszt1t765v] { min-height: 44px; padding: 9px 16px; font-weight: 700; }
.btn:disabled[b-oszt1t765v], .btn[disabled][b-oszt1t765v] { opacity: .5; cursor: not-allowed; }
.linkish[b-oszt1t765v] { background: none; border: 0; font-family: inherit; font-size: 13px; font-weight: 600; color: var(--ocean-800); cursor: pointer; padding: 0; text-decoration: underline; min-height: 24px; display: inline-flex; align-items: center; }

/* Sub-sections inside a tab (headers, cards, 2-up splits). */
.sub-h[b-oszt1t765v] { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.sub-h .t[b-oszt1t765v] { font-size: 15px; font-weight: 700; color: var(--ink); }
.sub-h .sub-acts[b-oszt1t765v] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.sub-h .muted[b-oszt1t765v] { color: var(--muted); font-weight: 500; font-size: 13px; }
.sub-card[b-oszt1t765v] { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 12px 16px; }
.sub-card .ch[b-oszt1t765v] { font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 8px; }
.sub-card .ch.danger[b-oszt1t765v] { color: var(--danger); }
.split2[b-oszt1t765v] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.topgap[b-oszt1t765v] { margin-top: 10px; }
.pad3[b-oszt1t765v] { padding: 18px 20px; }
.pad4[b-oszt1t765v] { display: flex; flex-direction: column; gap: 2px; }
.empty[b-oszt1t765v] { padding: 16px 2px; font-size: 13px; color: var(--muted); }
.empty a[b-oszt1t765v] { color: var(--ocean-800); font-weight: 600; }
.side-empty[b-oszt1t765v] { font-size: 13px; color: var(--muted); }
.muted[b-oszt1t765v] { color: var(--muted); }
.good[b-oszt1t765v] { color: var(--green); font-weight: 600; }
.neg[b-oszt1t765v] { color: var(--danger); font-weight: 600; }
.hint[b-oszt1t765v] { font-size: 12px; color: var(--muted); line-height: 1.5; margin-top: 8px; }

/* ── Itinerary tab — destination-grouped cards; each row = status dot + text + sell (+cost/% when allowed). ── */
.itin-head[b-oszt1t765v] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.itin-head .t[b-oszt1t765v] { font-size: 15px; font-weight: 700; color: var(--ink); }
.dest[b-oszt1t765v] { border-left: 2px solid var(--line-2); padding-left: 14px; margin-bottom: 18px; }
.dest:last-of-type[b-oszt1t765v] { margin-bottom: 0; }
.dest-h[b-oszt1t765v] { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }   /* centred, not on the baseline: the remove icon and the «+ Servicio» button sit on the name's own line */
.dest-h .dest-rm[b-oszt1t765v] { flex: 0 0 auto; margin: 0; }
.dest-name[b-oszt1t765v] { font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--ocean-800); }
.dest-dt[b-oszt1t765v] { font-size: 12px; color: var(--muted); }
.svc[b-oszt1t765v] { display: flex; align-items: center; gap: 12px; padding: 9px 10px; border-bottom: 1px solid var(--line); }
.svc.unp[b-oszt1t765v] { background: var(--amber-50); }
.svc-dot[b-oszt1t765v] { width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex: none; font-size: 12px; }
.svc-dot.ok[b-oszt1t765v] { background: var(--green-50); color: var(--green); }
.svc-dot.warn[b-oszt1t765v] { background: #E8BF7D; color: var(--amber-d); }
.svc-dot.reg[b-oszt1t765v] { background: var(--sand); color: var(--muted); }
.svc-mid[b-oszt1t765v] { flex-grow: 1; min-width: 0; }
.svc-mid .n[b-oszt1t765v] { font-size: 14px; font-weight: 600; color: var(--ink); }
.svc-mid .s[b-oszt1t765v] { font-size: 12px; color: var(--muted); margin-top: 1px; }
.svc.unp .svc-mid .s[b-oszt1t765v] { color: var(--amber-d); }
.svc-warn[b-oszt1t765v] { font-size: 12px; font-weight: 600; color: var(--amber-d); margin-top: 2px; display: flex; align-items: center; gap: 5px; }
.svc-opt[b-oszt1t765v] { font-size: 12px; font-weight: 700; color: var(--muted); background: var(--sand); padding: 1px 7px; border-radius: var(--r-pill); margin-left: 6px; }
.svc-amt[b-oszt1t765v] { text-align: right; flex: none; min-width: 104px; font-variant-numeric: tabular-nums; }   /* one column: every amount ends on the same right edge */
.svc-amt .v[b-oszt1t765v] { font-size: 14px; font-weight: 700; color: var(--ink); }
.svc-amt .v.dash[b-oszt1t765v] { color: var(--muted); }
.svc-amt .c[b-oszt1t765v] { font-size: 12px; color: var(--muted); }
.svc-amt .c.unp[b-oszt1t765v] { color: var(--amber-d); }
/* The row's actions take their room always (the amounts do not jump) and show on hover/focus — always on a touch screen. */
.svc-act[b-oszt1t765v] { display: flex; gap: 2px; flex: none; opacity: 0; transition: opacity .12s; }
.svc:hover .svc-act[b-oszt1t765v], .svc:focus-within .svc-act[b-oszt1t765v] { opacity: 1; }
@media (hover: none) { .svc-act[b-oszt1t765v] { opacity: 1; } }
/* With a mouse the actions sit between the name and the amount, OVER the end of the row (they appear on hover): the name keeps its width instead of giving it up to six hidden icons. */
@media (hover: hover) and (min-width: 641px) {
    .svc[b-oszt1t765v] { position: relative; }
    .svc-act[b-oszt1t765v] { position: absolute; right: 126px; top: 50%; transform: translateY(-50%); padding: 4px 4px 4px 26px; background: linear-gradient(90deg, rgba(255,255,255,0), #fff 24px); }
    .svc.unp .svc-act[b-oszt1t765v] { background: linear-gradient(90deg, rgba(255,247,230,0), var(--amber-50) 24px); }
}
/* On a phone the name keeps the whole line; the amount and the actions go under it (the actions took the name's room and broke it one word per line). */
@media (max-width: 640px) {
    .svc[b-oszt1t765v] { flex-wrap: wrap; row-gap: 6px; }
    .svc-mid[b-oszt1t765v] { flex: 1 1 calc(100% - 32px); }
    .svc-amt[b-oszt1t765v] { order: 2; margin-left: 30px; min-width: 0; text-align: left; }
    .svc-act[b-oszt1t765v] { order: 3; margin-left: auto; opacity: 1; }
}
.itin-foot[b-oszt1t765v] { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.chipbtn[b-oszt1t765v] { border: 1px solid var(--line-2); border-radius: var(--r-btn, 8px); padding: 6px 10px; font-size: 12px; font-weight: 700; color: var(--ink); background: #fff; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; text-decoration: none; }
.chipbtn:hover[b-oszt1t765v] { background: var(--sand); }

/* ── Datos del file tab — label/value grid + note blocks (principle 5). ── */
.data-grid[b-oszt1t765v] { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 4px 18px; align-items: stretch; }
/* Every row is one fixed-height line (36 px): the label and the value share its centre, and the little action button beside a value (e-mail, commercial owner) is 28 px, so it never makes its row taller than the next. */
.data-grid .dk[b-oszt1t765v] { min-height: 36px; display: flex; align-items: center; font-size: 12px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--muted); }
.data-grid .dv[b-oszt1t765v] { min-height: 36px; display: flex; align-items: center; flex-wrap: wrap; gap: 0 6px; font-size: 14px; color: var(--ink); }
.data-grid .dv .iconbtn[b-oszt1t765v] { width: 28px; height: 28px; padding: 0; display: inline-flex; align-items: center; justify-content: center; font-size: 16px; }
.data-grid .dv a[b-oszt1t765v] { color: var(--ocean-800); font-weight: 600; margin-left: 8px; }
.data-note[b-oszt1t765v] { margin-top: 18px; }
.data-note .dk[b-oszt1t765v] { font-size: 12px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--muted); margin-bottom: 5px; }
.note-text[b-oszt1t765v] { font-size: 14px; color: var(--ink); line-height: 1.55; white-space: pre-line; }

/* ── Administración tab ── */
.dest-add[b-oszt1t765v] { margin-left: auto; }
.svc-empty[b-oszt1t765v] { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; padding: 8px 0 10px 4px; font-size: 13px; color: var(--muted); }
.admin-acts[b-oszt1t765v] { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }   /* the action buttons sit on the right of their card */
.admin-acts .admin-note[b-oszt1t765v] { flex: 1 1 280px; min-width: 0; margin: 0; font-size: 13px; line-height: 1.45; color: var(--muted); text-align: left; }   /* the explanation takes the left of the row, the buttons the right */
.admin-acts .btn[b-oszt1t765v] { flex: none; }
.admin-acts .blocked-why.admin-note[b-oszt1t765v] { margin: 0; align-self: center; max-width: none; flex: 1 1 280px; padding: 9px 12px; }   /* the reason takes ALL the free space of the row, next to the buttons */
/* «Why it cannot go yet» and the hints sit APART from the buttons above them (they were glued to the row), as one tight line. */
.admin .blocked-why[b-oszt1t765v] { display: flex; margin-top: 8px; }
.admin .hint[b-oszt1t765v] { margin-top: 8px; }
.danger-zone[b-oszt1t765v] { border-color: #F3C9C2; }

/* ── Pasajeros tab ── */
/* Passengers: ONE grid shared by the head and every row, so the columns line up whatever a cell holds. */
.pax-list[b-oszt1t765v] { container-type: inline-size; margin-bottom: 14px; }
.pax-head[b-oszt1t765v], .pax-row[b-oszt1t765v] { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, .8fr) 92px 132px 60px; align-items: center; column-gap: 12px; padding: 12px; }
.pax-head[b-oszt1t765v] { padding: 10px 12px; background: var(--sand); border-radius: 8px; font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .02em; }
.pax-row[b-oszt1t765v] { border-bottom: 1px solid var(--line); }
.pax-row:last-of-type[b-oszt1t765v] { border-bottom: 0; }
.pax-row .c-name[b-oszt1t765v] { min-width: 0; display: flex; align-items: center; gap: 11px; }
.pax-row .c-doc[b-oszt1t765v], .pax-row .c-nat[b-oszt1t765v] { min-width: 0; overflow-wrap: anywhere; }
.pax-row .c-ds[b-oszt1t765v] { display: flex; align-items: center; }
.pax-row .c-act[b-oszt1t765v] { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.pax-meta[b-oszt1t765v] { display: none; }
/* A narrow card (a phone, or the main column beside the rail on a small laptop): name · document state · actions.
   Document, nationality and birth move under the name — nothing is hidden. By the CARD's width, not the window's. */
@container (max-width: 720px) {
    .pax-head[b-oszt1t765v], .pax-row[b-oszt1t765v] { grid-template-columns: minmax(0, 1fr) 120px 60px; }
    .pax-head .c-doc[b-oszt1t765v], .pax-head .c-nat[b-oszt1t765v], .pax-head .c-dob[b-oszt1t765v], .pax-row .c-doc[b-oszt1t765v], .pax-row .c-nat[b-oszt1t765v], .pax-row .c-dob[b-oszt1t765v] { display: none; }
    .pax-meta[b-oszt1t765v] { display: block; }
}
/* On a phone the card is ~290px: three columns left the name 110px, and «Subir pasaporte» sat over «Acompañante». The passenger keeps
   the line with its two actions; the document's state goes under the name. */
@container (max-width: 420px) {
    .pax-head[b-oszt1t765v] { display: none; }
    .pax-row[b-oszt1t765v] { grid-template-columns: minmax(0, 1fr) auto; row-gap: 8px; padding: 12px 4px; }
    .pax-row .c-name[b-oszt1t765v] { grid-column: 1; grid-row: 1; }
    .pax-row .c-act[b-oszt1t765v] { grid-column: 2; grid-row: 1; }
    .pax-row .c-ds[b-oszt1t765v] { grid-column: 1 / -1; grid-row: 2; padding-left: 45px; }
}
.pax-row .muted[b-oszt1t765v] { font-size: 13px; }
.pax-av[b-oszt1t765v] { width: 34px; height: 34px; border-radius: 50%; background: var(--line); color: var(--muted); font-weight: 700; font-size: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pax-id[b-oszt1t765v] { display: flex; flex-direction: column; min-width: 0; }
.pax-id .n[b-oszt1t765v] { font-size: 14px; font-weight: 600; color: var(--ink); }
.pax-id .r[b-oszt1t765v] { font-size: 12px; color: var(--muted); }
/* A pill is one line, always: it is a state, not a sentence. Where a long one must wrap (.so-meta on a phone) that place says so. */
.pax-pill[b-oszt1t765v] { display: inline-flex; align-items: center; min-height: 24px; box-sizing: border-box; white-space: nowrap; font-size: 12px; line-height: 1.2; padding: 3px 10px; border-radius: var(--r-pill); border: 0; font-family: inherit; background: var(--line); color: var(--muted); }
.pax-pill.ok[b-oszt1t765v] { background: var(--green-50); color: var(--green); }
.pax-pill.warn[b-oszt1t765v] { background: var(--amber-50); color: var(--amber-d); }
button.pax-pill.warn[b-oszt1t765v] { cursor: pointer; }
.pax-edit[b-oszt1t765v] { background: none; border: 0; color: var(--muted); cursor: pointer; font-size: 16px; padding: 0; width: 28px; height: 28px; border-radius: 6px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.pax-edit:hover[b-oszt1t765v] { background: var(--sand); color: var(--ocean-800); }
.ch-row[b-oszt1t765v] { display: flex; align-items: center; justify-content: space-between; }
.ch-row .ch[b-oszt1t765v] { margin-bottom: 12px; }
.ch-row .pax-edit[b-oszt1t765v] { margin-left: 0; margin-top: -4px; }
.em-kv[b-oszt1t765v] { font-size: 14px; line-height: 1.9; color: var(--ink); }
.em-kv .muted[b-oszt1t765v] { color: var(--muted); }
.side-add[b-oszt1t765v] { background: none; border: 0; font-family: inherit; font-size: 13px; font-weight: 600; color: var(--ocean-800); cursor: pointer; padding: 0; min-height: 24px; display: inline-flex; align-items: center; }
.req[b-oszt1t765v] { font-size: 13px; color: var(--muted); line-height: 1.7; white-space: pre-line; }

/* ── Proveedores tab ── */
.ord-row[b-oszt1t765v] { display: flex; align-items: center; padding: 13px 12px; border-bottom: 1px solid var(--line); }
.ord-row:last-of-type[b-oszt1t765v] { border-bottom: 0; }
.ord-row .c-sup[b-oszt1t765v]{ flex-grow: 1; min-width: 0; }
.ord-row .c-st[b-oszt1t765v]{ width: 140px; }
.ord-row .c-cost[b-oszt1t765v]{ width: 90px; text-align: right; font-variant-numeric: tabular-nums; }
.ord-row .c-act[b-oszt1t765v]{ width: 120px; text-align: right; }
.ord-row .c-cost[b-oszt1t765v] { font-size: 13px; color: var(--ink); }
.ord-row .c-sup .n[b-oszt1t765v] { font-size: 14px; font-weight: 600; color: var(--ink); }
.ord-row .c-sup .s[b-oszt1t765v] { font-size: 12px; color: var(--muted); }
/* Service orders: one card per supplier (design/FileOrdenProveedor.dc.html). */
.so-card[b-oszt1t765v] { border: 1px solid var(--line); border-radius: 12px; margin-bottom: 16px; overflow: hidden; background: #fff; }
.so-card.is-none[b-oszt1t765v] { border-style: dashed; }
.so-top[b-oszt1t765v] { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 14px 16px; }
.so-who[b-oszt1t765v] { min-width: 0; flex: 1 1 auto; }
.so-who .n[b-oszt1t765v] { font-size: 15px; font-weight: 700; color: var(--ink); overflow-wrap: anywhere; }
/* The e-mail is its own line under the name: no separator left hanging when a long name wraps. */
.so-who .mail[b-oszt1t765v] { margin-top: 2px; font-size: 12px; font-weight: 500; color: var(--muted); overflow-wrap: anywhere; }
/* The request number and its revision are one unit: «· rev. N» never starts a line on its own. */
.so-meta .so-ref[b-oszt1t765v] { white-space: nowrap; }
.so-meta[b-oszt1t765v] { display: flex; align-items: center; gap: 8px 10px; flex-wrap: wrap; margin-top: 8px; font-size: 12px; color: var(--muted); }
.so-acts[b-oszt1t765v] { display: flex; gap: 8px; flex-shrink: 0; }
.so-ib[b-oszt1t765v] { width: 34px; height: 34px; border-radius: 8px; border: 1px solid var(--line-2); background: #fff; color: var(--ink); display: inline-flex; align-items: center; justify-content: center; font-size: 17px; cursor: pointer; text-decoration: none; padding: 0; }
.so-ib:hover[b-oszt1t765v] { background: var(--sand); }
.so-ib.primary[b-oszt1t765v] { background: var(--ocean-800); border-color: var(--ocean-800); color: #fff; }
.so-ib.primary:hover[b-oszt1t765v] { filter: brightness(1.08); background: var(--ocean-800); }
.so-ib:disabled[b-oszt1t765v] { opacity: .5; cursor: not-allowed; }
/* An action that shows when the row is hovered or focused — always on a touch screen. It keeps its room, so nothing jumps. */
.ord-row .hov-act[b-oszt1t765v] { opacity: 0; transition: opacity .12s; }
.ord-row:hover .hov-act[b-oszt1t765v], .ord-row:focus-within .hov-act[b-oszt1t765v], .ord-row .hov-act:focus-visible[b-oszt1t765v] { opacity: 1; }
@media (hover: none) { .ord-row .hov-act[b-oszt1t765v] { opacity: 1; } }
.so-ib:focus-visible[b-oszt1t765v] { outline: 2px solid var(--ocean-800); outline-offset: 2px; }
.so-why[b-oszt1t765v] { margin: 0 16px 14px; padding: 10px 12px; line-height: 1.45; border-radius: 8px; background: var(--sand); color: var(--muted); font-size: 12px; }
.so-why.warn[b-oszt1t765v] { background: var(--amber-50); color: var(--amber-d); }
.so-card .ord-row[b-oszt1t765v] { border-top: 1px solid var(--line); border-bottom: 0; padding: 11px 16px; gap: 12px; }
.so-card .ord-row .c-sup .n[b-oszt1t765v], .so-card .ord-row .c-sup .s[b-oszt1t765v] { overflow-wrap: anywhere; }
.so-card .ord-row .c-sup .s[b-oszt1t765v] { margin-top: 4px; line-height: 1.45; }
/* Fixed columns: a long description (or a wide cost) must never squeeze a neighbour, or the status pills drift row by row. */
.so-card .ord-row .c-cost[b-oszt1t765v] { flex: 0 0 96px; width: 96px; order: 3; text-align: right; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.so-card .ord-row .c-act[b-oszt1t765v] { order: 2; flex: 0 0 132px; width: 132px; display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.so-card .ord-row .c-st[b-oszt1t765v] { flex: 0 0 150px; width: 150px; }
.so-card .pax-pill[b-oszt1t765v] { white-space: nowrap; }
.so-card .ord-row .s.chg[b-oszt1t765v] { color: var(--amber-d); }
.so-card .ord-row .n.gone[b-oszt1t765v] { text-decoration: line-through; color: var(--muted); }
.so-foot[b-oszt1t765v] { display: flex; justify-content: space-between; padding: 10px 16px; border-top: 1px solid var(--line); background: var(--sand); font-size: 12px; color: var(--muted); }
.so-foot b[b-oszt1t765v] { color: var(--ink); }
.pax-pill.danger[b-oszt1t765v] { background: #FBE6E3; color: var(--danger); }
.op-link[b-oszt1t765v] { font-size: 13px; color: var(--ocean-800); font-weight: 600; text-decoration: none; }
.op-link:hover[b-oszt1t765v] { text-decoration: underline; }
.purch-kv.op-end[b-oszt1t765v] { justify-content: flex-end; }   /* the link sits on the right, like every action */
.purch-kv[b-oszt1t765v] { display: flex; justify-content: space-between; font-size: 13px; padding: 5px 0; }
.purch-kv.top[b-oszt1t765v] { border-top: 1px solid var(--line); margin-top: 4px; padding-top: 8px; }
.purch-kv .muted[b-oszt1t765v] { color: var(--muted); }
.purch-kv .good[b-oszt1t765v] { color: var(--green); font-weight: 600; }
.purch-kv .warnc[b-oszt1t765v] { color: var(--amber-d); font-weight: 600; }
.purch-kv .strong[b-oszt1t765v] { font-weight: 700; color: var(--ink); }

/* ── Finanzas tab ── */
.fin-grid[b-oszt1t765v] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.fin-grid.mt[b-oszt1t765v] { margin-top: 16px; }
.fin-h[b-oszt1t765v] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; gap: 12px; }
.fin-h .t[b-oszt1t765v] { font-size: 15px; font-weight: 700; color: var(--ink); }
.fin-stats[b-oszt1t765v] { display: flex; gap: 10px; margin-bottom: 14px; }
.fin-box[b-oszt1t765v] { flex: 1; background: var(--sand); border: 1px solid var(--line-2); border-radius: 10px; padding: 12px; min-width: 0; }
.fin-box .k[b-oszt1t765v] { font-size: 12px; color: var(--muted); }
.fin-box .v[b-oszt1t765v] { font-size: 19px; font-weight: 750; margin-top: 2px; color: var(--ink); font-variant-numeric: tabular-nums; }
.fin-box .v.good[b-oszt1t765v] { color: var(--green); }
.fin-box .v.warnc[b-oszt1t765v] { color: var(--amber-d); }
.fin-note[b-oszt1t765v] { font-size: 12px; color: var(--muted); margin: -4px 0 12px; }
.fin-sub[b-oszt1t765v] { font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .03em; margin-bottom: 4px; }
.fin-row[b-oszt1t765v] { display: flex; justify-content: space-between; align-items: center; font-size: 13px; padding: 8px 0; border-top: 1px solid var(--line); gap: 12px; }
.fin-row .rt[b-oszt1t765v] { display: flex; align-items: center; gap: 8px; }
.fin-row .rt .muted[b-oszt1t765v] { color: var(--muted); }
.fin-row .big[b-oszt1t765v] { font-size: 19px; font-weight: 750; }

/* ── Documentos tab ── */
.docview[b-oszt1t765v] { display: inline-flex; border: 1px solid var(--line-2); border-radius: var(--r-btn); overflow: hidden; }
.docview button[b-oszt1t765v] { font-family: inherit; font-size: 12px; font-weight: 600; color: var(--muted); background: #fff; border: 0; padding: 8px 14px; cursor: pointer; }
.docview button.on[b-oszt1t765v] { color: #fff; background: var(--ocean-800); }
.docs-grid[b-oszt1t765v] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.doc-card[b-oszt1t765v] { background: #fff; border: 1px solid var(--line-2); border-radius: 12px; overflow: hidden; }
.doc-thumb[b-oszt1t765v] { height: 120px; background: var(--line); display: flex; align-items: center; justify-content: center; }
.doc-thumb.internal[b-oszt1t765v] { background: var(--amber-50); }
.doc-paper[b-oszt1t765v] { width: 58px; height: 74px; background: #fff; border: 1px solid var(--line-2); border-radius: 4px; }
.doc-thumb.internal .doc-paper[b-oszt1t765v] { border-color: #F0E3C8; }
.doc-b[b-oszt1t765v] { padding: 14px 16px; }
.doc-t[b-oszt1t765v] { font-size: 14px; font-weight: 700; color: var(--ink); }
.doc-badge[b-oszt1t765v] { font-size: 12px; font-weight: 600; color: var(--amber-d); background: var(--amber-50); padding: 2px 7px; border-radius: var(--r-pill); margin-left: 6px; }
.doc-d[b-oszt1t765v] { font-size: 12px; color: var(--muted); margin-top: 3px; line-height: 1.5; }
.doc-acts[b-oszt1t765v] { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.da[b-oszt1t765v] { font-size: 12px; color: var(--muted); border: 1px solid var(--line-2); border-radius: 8px; padding: 6px 11px; text-decoration: none; }
.da.pri[b-oszt1t765v] { font-weight: 600; color: var(--ocean-800); border-color: var(--teal-100); }
.da:hover[b-oszt1t765v] { background: var(--sand); }

/* ── Actividad tab ── */
.act-note[b-oszt1t765v] { font-family: inherit; font-size: 13px; resize: vertical; margin-bottom: 10px; width: 100%; border: 1px solid var(--line-2); border-radius: 8px; padding: 10px; }
.act-add[b-oszt1t765v] { width: 100%; }
.act-item[b-oszt1t765v] { display: flex; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.act-item:first-child[b-oszt1t765v] { padding-top: 0; }
.act-item:last-child[b-oszt1t765v] { border-bottom: 0; padding-bottom: 0; }
.act-dot[b-oszt1t765v] { width: 10px; height: 10px; border-radius: 50%; margin-top: 5px; flex: none; background: var(--muted); }
.act-dot.good[b-oszt1t765v] { background: var(--green); }
.act-dot.sup[b-oszt1t765v] { background: var(--ocean-800); }
.act-dot.warn[b-oszt1t765v] { background: var(--amber-d); }
.act-dot.muted[b-oszt1t765v] { background: var(--faint); }
.act-txt[b-oszt1t765v] { flex: 1 1 0; min-width: 0; }
.act-acts[b-oszt1t765v] { display: flex; align-self: flex-start; gap: 2px; margin-left: auto; }
.act-edit[b-oszt1t765v] { flex: 1 1 0; min-width: 0; }
.act-edit .act-note[b-oszt1t765v] { margin-bottom: 8px; }
.act-edit-f[b-oszt1t765v] { display: flex; justify-content: flex-end; gap: 8px; }
.act-txt .a[b-oszt1t765v] { font-size: 14px; color: var(--ink); overflow-wrap: anywhere; }
.act-txt .w[b-oszt1t765v] { font-size: 12px; color: var(--muted); margin-top: 2px; }

/* ── Money rail — OUTSIDE the tabs (principle 2). Totals (ocean border) · Blocks sending · actions · activity. ── */
.fw-rail[b-oszt1t765v] { display: flex; flex-direction: column; gap: 12px; position: sticky; top: 16px; }
.rail-totals[b-oszt1t765v] { background: #fff; border: 1px solid var(--ocean-700); border-radius: var(--r-card, 12px); padding: 16px 17px; }
.rt-head[b-oszt1t765v] { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 10px; gap: 8px; }
.rt-lbl[b-oszt1t765v] { font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.rt-mk[b-oszt1t765v] { font-size: 12px; font-weight: 700; color: var(--ocean-800); }
.rt-row[b-oszt1t765v] { display: flex; justify-content: space-between; font-size: 14px; padding: 3px 0; color: var(--muted); }
.rt-row b[b-oszt1t765v] { color: var(--ink); font-variant-numeric: tabular-nums; }
.rt-row b.neg[b-oszt1t765v] { color: #B42318; }
.rt-util[b-oszt1t765v] { display: flex; justify-content: space-between; font-size: 18px; border-top: 1px solid var(--line); margin-top: 7px; padding-top: 9px; font-weight: 700; color: var(--ink); }
.rt-util .u[b-oszt1t765v] { font-weight: 800; color: var(--green); font-variant-numeric: tabular-nums; }
.rt-note[b-oszt1t765v] { font-size: 12px; color: var(--muted); margin-top: 9px; line-height: 1.45; }

.rail-block[b-oszt1t765v] { background: var(--amber-50); border: 1px solid #E8BF7D; border-radius: var(--r-card, 12px); padding: 14px 16px; }
.rb-head[b-oszt1t765v] { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--amber-d); }
.rb-body[b-oszt1t765v] { font-size: 14px; color: var(--amber-d); line-height: 1.5; }
.rb-sub[b-oszt1t765v] { font-size: 12px; color: var(--amber-d); margin-top: 7px; }

.rail-why[b-oszt1t765v] { font-size: 12px; color: var(--amber-d); background: var(--amber-50); border: 1px solid #E8BF7D; border-radius: 8px; padding: 8px 10px; display: flex; gap: 7px; align-items: flex-start; line-height: 1.4; }
.rail-primary[b-oszt1t765v] { background: var(--ocean-800); color: #fff; border-radius: var(--r-btn, 8px); padding: 12px 16px; font-weight: 700; font-size: 14px; text-align: center; min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; border: 1px solid var(--ocean-800); cursor: pointer; }
.rail-primary.alt[b-oszt1t765v] { background: var(--ocean-700); border-color: var(--ocean-700); }
.rail-primary.disabled[b-oszt1t765v] { opacity: .42; cursor: not-allowed; pointer-events: none; }

.rail-card[b-oszt1t765v] { background: #fff; border: 1px solid var(--line-2); border-radius: var(--r-card, 12px); padding: 15px 16px; }
.rc-head[b-oszt1t765v] { font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; }
.rc-item[b-oszt1t765v] { padding: 8px 0; border-bottom: 1px solid var(--line); }
.rc-item:last-child[b-oszt1t765v] { border-bottom: 0; padding-bottom: 0; }
.rc-item:first-child[b-oszt1t765v] { padding-top: 0; }
.rc-item .a[b-oszt1t765v] { font-size: 12px; color: var(--ink); line-height: 1.4; }
.rc-item .w[b-oszt1t765v] { font-size: 12px; color: var(--muted); margin-top: 3px; }

/* ── Async loading skeleton ── */
.sk[b-oszt1t765v] { background: linear-gradient(90deg, var(--line) 25%, #F4F6F5 37%, var(--line) 63%); background-size: 400% 100%; animation: fw-sk-shimmer-b-oszt1t765v 1.4s ease infinite; border-radius: 6px; display: block; }
@keyframes fw-sk-shimmer-b-oszt1t765v { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }
.sk-crumb[b-oszt1t765v] { width: 180px; height: 12px; }
.sk-title[b-oszt1t765v] { width: 260px; height: 26px; margin-bottom: 10px; }
.sk-btns[b-oszt1t765v] { width: 180px; height: 34px; }
.sk-tabs[b-oszt1t765v] { gap: 24px; }
.sk-tab[b-oszt1t765v] { width: 84px; height: 14px; margin: 14px 0 12px; }
.sk-ch[b-oszt1t765v] { width: 180px; height: 16px; margin-bottom: 12px; }
.sk-row[b-oszt1t765v] { display: flex; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.sk-av[b-oszt1t765v] { width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0; }
.sk-rtxt[b-oszt1t765v] { flex-grow: 1; }
.sk-l1[b-oszt1t765v] { width: 46%; height: 13px; margin-bottom: 8px; }
.sk-l2[b-oszt1t765v] { width: 28%; height: 11px; }
.sk-r[b-oszt1t765v] { width: 70px; height: 14px; }
.sk-line[b-oszt1t765v] { height: 12px; margin-top: 12px; }
.sk-line.short[b-oszt1t765v] { width: 60%; }

/* ── Tablet: stack the money rail under the content. ── */
@media (max-width: 1024px) {
    .fw-grid[b-oszt1t765v] { grid-template-columns: 1fr; }
    .fw-rail[b-oszt1t765v] { position: static; }
}
/* ── Mobile ── */
@media (max-width: 640px) {
    .fw[b-oszt1t765v] { padding: 14px 16px 28px; }
    .fw-band[b-oszt1t765v] { margin: -14px -16px 0; }
    .fw-band .page-head[b-oszt1t765v] { padding: 14px 16px 8px; }
    .fw-band .listtabs[b-oszt1t765v] { padding: 0 16px; }
    /* Who carries the file reads from the left edge, under the file's own lines — the shell pushes a head's last block to the right. */
    .fw-band .page-head .fw-people[b-oszt1t765v] { gap: 18px; justify-content: flex-start; }
    /* minmax(0, 1fr), not 1fr: a bare 1fr column is at least as wide as its widest content, so on a phone the money cards were 397px
       in a 358px tab and their buttons and pills were cut at the right edge. */
    .split2[b-oszt1t765v], .fin-grid[b-oszt1t765v], .docs-grid[b-oszt1t765v] { grid-template-columns: minmax(0, 1fr); }
    .data-grid[b-oszt1t765v] { grid-template-columns: 1fr; gap: 2px 0; }
    .data-grid .dk[b-oszt1t765v] { margin-top: 10px; }
    .ord-row .c-cost[b-oszt1t765v]{ display: none; }
    .ord-row .c-st[b-oszt1t765v]{ width: 120px; }
    .ord-row .c-act[b-oszt1t765v]{ width: auto; }
}
/* ── Service-order cards on a phone: the service's name takes the full width; date, state, cost and the
   voucher link share the row under it. Nothing is hidden — the cost is what the order is about. ── */
@media (max-width: 640px) {
    .so-top[b-oszt1t765v] { padding: 12px; }
    .so-why[b-oszt1t765v] { margin: 0 12px 10px; }
    .so-foot[b-oszt1t765v] { padding: 10px 12px; }
    .so-card .ord-row[b-oszt1t765v] { padding: 10px 12px; flex-wrap: wrap; gap: 6px 10px; }
    .so-card .ord-row .c-sup[b-oszt1t765v] { flex-basis: 100%; }
    .so-card .ord-row .c-cost[b-oszt1t765v] { display: block; flex: 0 0 auto; width: auto; margin-left: auto; }
    .so-card .ord-row .c-st[b-oszt1t765v] { flex: 0 0 auto; width: auto; }
    .so-card .ord-row .c-act[b-oszt1t765v] { flex: 0 0 auto; width: auto; }
    .so-card .ord-row .c-act:empty[b-oszt1t765v] { display: none; }
    .so-meta .pax-pill[b-oszt1t765v] { white-space: normal; }
}

/* «Cobrar al cliente»: the title on its own line and its actions under it in ONE row, at every width (board design/FileFinanzas):
   one worded action and four icon buttons never fit beside a title in half a screen — they wrapped into two ragged rows. */
.fin-h[b-oszt1t765v] { flex-wrap: wrap; }
.fin-h[b-oszt1t765v] { container-type: inline-size; }
.fin-acts[b-oszt1t765v] { display: flex; align-items: center; gap: 8px; flex: 1 0 100%; flex-wrap: nowrap; }
/* One row always (owner, 2026-10-12): where the worded action and its four icons do not fit, the worded one folds to its icon —
   same size as its neighbours, its name in the tooltip — instead of breaking into two ragged rows. */
/* One height for every action of a money card — the worded one, its icons and the neighbouring card's button. */
.fin-h[b-oszt1t765v] { --act: 40px; }
@media (max-width: 640px) { .fin-h[b-oszt1t765v] { --act: 44px; } }
.fin-h .btn[b-oszt1t765v] { height: var(--act); min-height: 0; }
.fin-h .btn.icon[b-oszt1t765v] { width: var(--act); padding: 0; flex: none; }
@container (max-width: 400px) {
    .fin-acts .btn.primary[b-oszt1t765v] { width: var(--act); padding: 0; gap: 0; justify-content: center; flex: none; }
    .fin-acts .btn.primary .lbl[b-oszt1t765v] { display: none; }
}
/* The label gives way, never the amount or its pill: a long supplier name wraps inside its own half of the row. */
.fin-row > :first-child[b-oszt1t765v] { min-width: 0; }
.fin-row .rt[b-oszt1t765v] { flex: none; }
/* The value of a row is never broken: in a 257px card «− USD 60» was printed as «− USD» over «60», and «USD 820 · Diferencia
   − USD 40» in three pieces. The label is what wraps. */
.fin-row > :last-child[b-oszt1t765v] { white-space: nowrap; flex: none; }
/* …unless the value is a PHRASE («La agencia paga el neto del proveedor»): that one wraps, at the right. */
.fin-row > .phrase:last-child[b-oszt1t765v] { white-space: normal; flex: 0 1 auto; text-align: right; }
/* Only on a phone does a money row break in two (the label, then its amount at the right): on a laptop it is one line, as designed. */
@media (max-width: 640px) {
    .fin-row[b-oszt1t765v] { flex-wrap: wrap; }
    .fin-row > :first-child[b-oszt1t765v] { min-width: 0; overflow-wrap: anywhere; }
    .fin-row .rt[b-oszt1t765v] { margin-left: auto; }
}
.fin-sub-act[b-oszt1t765v] { display: flex; align-items: center; justify-content: space-between; gap: 8px; }

/* A supplier's unapplied credit, under its row on Finanzas: a link to the account where it is applied. */
.fin-credit[b-oszt1t765v] { display: flex; align-items: center; gap: 6px; margin: -2px 0 8px; color: var(--amber-d); text-decoration: none; }
.fin-credit:hover[b-oszt1t765v] { text-decoration: underline; }

/* The rail's main action as a button (an act done in this same screen) looks exactly like the link it replaces. */
button.rail-primary[b-oszt1t765v] { border: 0; width: 100%; cursor: pointer; font-family: inherit; }

/* On a phone every control of the file is a finger's target (measured 2026-10-13: «+ Agregar pasajero» 34px, the supplier
   card's icons 34, a passenger's edit 28, «Subir pasaporte» 24). 40px, without changing the laptop. */
@media (max-width: 640px) {
    .btn[b-oszt1t765v], .chipbtn[b-oszt1t765v] { min-height: 40px; }
    .so-ib[b-oszt1t765v] { width: 40px; height: 40px; }
    .pax-edit[b-oszt1t765v] { width: 40px; height: 40px; }
    button.pax-pill[b-oszt1t765v] { min-height: 36px; padding-left: 12px; padding-right: 12px; }
}
.itin-tools[b-oszt1t765v] { display: flex; gap: 8px; }

/* The itinerary tab is three cards — itinerary, flights, adjustments — not one (owner 2026-10-29). */
.fw-tabcard:has(> .fw-tabwrap > .fw-card3)[b-oszt1t765v] { background: transparent; border: 0; overflow: visible; }
.fw-tabcard:has(> .fw-tabwrap > .fw-card3) > .fw-tabwrap[b-oszt1t765v] { padding: 0; }
.fw-card3[b-oszt1t765v] { background: #fff; border: 1px solid var(--line-2); border-radius: var(--r-card, 12px); padding: 16px 20px; margin-bottom: 12px; }
.fw-card3.adj:not(:has(.adjustments))[b-oszt1t765v] { display: none; }
/* One HEADER for the three cards of the itinerary tab (itinerary, flights, adjustments): a soft band across the card, a divider, an icon, the title with its count in a pill, and the action at the
   right — the same in all three (owner 2026-10-30: «agregar cabeceras a los cards, que quede más claro»). The negative margins cancel the card's own padding so the band touches its edges. */
.fw-card3[b-oszt1t765v] { padding-top: 0; overflow: hidden; }
.fw-card3 > .itin-head[b-oszt1t765v],
.fw-card3[b-oszt1t765v]  .adjustments > .sec-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin: 0 -20px 14px; padding: 12px 20px; height: 69px; box-sizing: border-box;   /* the same height in the three cards: a 44 px control + 2 × 12 px + the 1 px divider */
  background: var(--surf-2, #FAFBFB); border-bottom: 1px solid var(--line-2);
}
.fw-card3 > .itin-head .t[b-oszt1t765v],
.fw-card3[b-oszt1t765v]  .adjustments > .sec-head .sec-title { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 15px; font-weight: 700; color: var(--ink); }
.fw-card3 > .itin-head .t i[b-oszt1t765v],
.fw-card3[b-oszt1t765v]  .adjustments > .sec-head .sec-title i { margin: 0; font-size: 18px; color: var(--ocean-800); }
.fw-card3[b-oszt1t765v]  .adj-empty { padding: 4px 0 6px; font-size: 13px; color: var(--muted); }
.fw-card3.adj[b-oszt1t765v]  .adjustments { margin: 0; }
.fw-card3.flt .svc:last-child[b-oszt1t765v] { border-bottom: 0; }

/* «No reply from {supplier}»: a short fixed phrase and the name clipped with an ellipsis — a long supplier name never pushes the button past the rail. */
.rq-wait-btn[b-oszt1t765v] { min-width: 0; overflow: hidden; justify-content: flex-start; gap: 8px; }
.rq-wait-btn > i[b-oszt1t765v] { flex: none; }
.rq-wait[b-oszt1t765v] { display: flex; align-items: baseline; gap: 5px; min-width: 0; }
.rq-wait > span[b-oszt1t765v] { flex: none; }
.rq-wait > .clip[b-oszt1t765v] { flex: 0 1 auto; min-width: 0; }

/* «File status» row on Datos del file: the badge, and for an administrator the select + button on one line, the note under them. */
.st-row[b-oszt1t765v] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.st-pick[b-oszt1t765v] { min-width: 200px; }
.st-note[b-oszt1t765v] { flex: 1 0 100%; font-size: 12px; line-height: 1.4; color: var(--muted); }

/* The rail is position:sticky, which is a stacking context of its own: a drawer or a dialog opened from inside it (a task, the quote's send/accept) lived in that context, so the sticky top bar (z 5) painted over its header and hid the «×».
   While one is open the rail rises above the top bar and the sidebar, so the overlay is on top of the whole page. */
.fw-rail:has(.dpk-scrim, .modal-scrim)[b-oszt1t765v] { z-index: 70; }

/* WHO the file belongs to (client and agency), a card above the money (owner 2026-11-02). */
.rail-who[b-oszt1t765v] { background: #fff; border: 1px solid var(--line-2); border-radius: var(--r-card, 12px); padding: 10px 14px 12px; margin-bottom: 12px; }
.who-head[b-oszt1t765v] { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 34px; }
/* The owner of the file as two label/value rows: the label (with its icon) on the left, the name — cut with an ellipsis, in full on hover — and the agency's country beside it. */
.who-grid[b-oszt1t765v] { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: 14px; align-items: center; margin: 0; }
.who-grid dt[b-oszt1t765v], .who-grid dd[b-oszt1t765v] { margin: 0; min-height: 34px; display: flex; align-items: center; min-width: 0; }
.who-grid dt[b-oszt1t765v] { gap: 6px; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.who-grid dt i[b-oszt1t765v] { font-size: 16px; color: var(--ocean-800); }
.who-grid dd[b-oszt1t765v] { gap: 8px; }
.who-grid dt:nth-of-type(n+2)[b-oszt1t765v], .who-grid dt:nth-of-type(n+2) + dd[b-oszt1t765v] { border-top: 1px solid var(--line); }
.who-t[b-oszt1t765v] { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.who-t small[b-oszt1t765v] { font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.who-n[b-oszt1t765v] { font-size: 14px; font-weight: 700; color: var(--ink); text-decoration: none; min-width: 0; }
a.who-n[b-oszt1t765v] { color: var(--ocean-800); }
a.who-n:hover[b-oszt1t765v] { text-decoration: underline; }
.who-c[b-oszt1t765v] { flex: none; font-size: 12px; font-weight: 600; color: var(--muted); padding: 2px 8px; border-radius: 999px; background: var(--sand, #F5EFE3); }

/* «Valid until» extended in place (Datos del file). */
.vu-edit[b-oszt1t765v] { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.vu-pick[b-oszt1t765v] { width: 200px; max-width: 100%; }

/* The balance's due date under its tile (owner 2026-11-02). Late = icon + wording + colour, never colour alone. */
.fin-due[b-oszt1t765v] { display: flex; align-items: center; gap: 6px; margin: 10px 0 20px; font-size: 12px; font-weight: 600; color: var(--muted); }
.fin-due i[b-oszt1t765v] { font-size: 14px; flex: none; }
.fin-due.late[b-oszt1t765v] { color: #B42318; }
/* /Components/Pages/GuideOptions.razor.rz.scp.css */
/* «Opciones de guía» (design/GuideOptionsMaster.dc.html, G5). Only what manager.css does not already carry. */
.act-split[b-sa0wtnle6a]{display:inline-block;width:1px;height:20px;background:var(--line-2,#E3E8E7);margin:0 6px;vertical-align:middle;}
.go-why[b-sa0wtnle6a]{display:flex;max-width:none;margin-bottom:14px;}
.go-preview[b-sa0wtnle6a]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px dashed var(--line-2,#D5DDDC);border-radius:10px;margin-top:4px;font-size:14px;}
@media(max-width:640px){
  .act-split[b-sa0wtnle6a]{display:none;}
}
/* /Components/Pages/RateImportDetail.razor.rz.scp.css */
/* Import detail (design/RateImportDetailAda2027). The facts read in two label–value pairs per line on a wide screen, one pair
   below 1100 px; manager.css already stacks a .kv on a phone. */
.kv.two[b-lmoykbywlc]{grid-template-columns:max-content minmax(0,1fr) max-content minmax(0,1fr);}
@media (max-width:1100px){.kv.two[b-lmoykbywlc]{grid-template-columns:max-content minmax(0,1fr);}}
@media (max-width:560px){.kv.two[b-lmoykbywlc]{grid-template-columns:1fr;}}

/* The two breakdowns side by side; one under the other below 1000 px. */
.g4grid[b-lmoykbywlc]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px;align-items:start;}
.g4grid > .panel[b-lmoykbywlc]{margin:0;min-width:0;}
@media (max-width:1000px){.g4grid[b-lmoykbywlc]{grid-template-columns:minmax(0,1fr);}}
.card-h[b-lmoykbywlc]{padding:14px 16px;font-size:15px;font-weight:700;border-bottom:1px solid var(--line-2,#E3E8E7);}
.card-h .muted[b-lmoykbywlc]{font-weight:400;font-size:13px;}

.held-h h2[b-lmoykbywlc]{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;}
.held-sub[b-lmoykbywlc]{font-size:14px;font-weight:400;}
.held-tabs[b-lmoykbywlc]{margin-bottom:12px;}
.chips[b-lmoykbywlc]{display:flex;flex-wrap:wrap;gap:4px;align-items:flex-start;}
.tbl.held .pill[b-lmoykbywlc]{white-space:nowrap;}
/* /Components/Pages/ServiceDetail.razor.rz.scp.css */
/* «Tarifas netas» by guide option (design/ServiceRatesGuideOptions.dc.html, G1). Only what manager.css does not already carry. */

/* Provenance strip: facts on the left, the computed guide languages on the right. */
.prov[b-hs39zkr1po]{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,440px);gap:16px 24px;padding:16px 18px;margin-bottom:16px;}
.derived[b-hs39zkr1po]{border-left:1px solid var(--line-2,#E3E8E7);padding-left:20px;min-width:0;}
.derived-h[b-hs39zkr1po]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;font-weight:700;margin-bottom:8px;}
.lnk[b-hs39zkr1po]{color:var(--teal-d,#0E4C77);font-weight:700;text-decoration:underline;text-underline-offset:2px;}

/* Group header row: caret · chip · meta, and the group's own «+» at the far right. */
.tbl tr.grp-row > td[b-hs39zkr1po]{background:#F7F9F9;padding:6px 10px;border-bottom:1px solid var(--line-2,#E3E8E7);}
.grp-h[b-hs39zkr1po]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:34px;}
.grp-meta[b-hs39zkr1po]{font-size:13px;color:var(--muted);}
.grp-add[b-hs39zkr1po]{margin-left:auto;}
.tbl td.pax b[b-hs39zkr1po]{font-variant-numeric:tabular-nums;}
.act-split[b-hs39zkr1po]{display:inline-block;width:1px;height:20px;background:var(--line-2,#E3E8E7);margin:0 6px;vertical-align:middle;}

/* «Detalles operativos»: the computed languages, read-only, in a dashed box the height of a field. */
.ro-langs[b-hs39zkr1po]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:44px;padding:8px 12px;border:1px dashed var(--line-2,#D5DDDC);border-radius:10px;background:#FAFBFB;}
.ro-langs > i[b-hs39zkr1po]{color:var(--muted);}

@media(max-width:820px){
  .prov[b-hs39zkr1po]{grid-template-columns:1fr;}
  .derived[b-hs39zkr1po]{border-left:0;padding-left:0;border-top:1px solid var(--line-2,#E3E8E7);padding-top:12px;}
}
@media(max-width:640px){
  .tbl tr.grp-row > td[b-hs39zkr1po]{padding:6px 4px;}
  .act-split[b-hs39zkr1po]{display:none;}
}

/* Rate editor (G2): where an imported rate came from, above its fields. */
.line-kind[b-hs39zkr1po]{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:10px;background:#F2F7FA;border:1px solid #D7E6EF;margin-bottom:16px;font-size:14px;}
.line-kind > i[b-hs39zkr1po]{font-size:20px;color:var(--teal-d,#0E4C77);flex:none;}
.line-kind .hint[b-hs39zkr1po]{margin:2px 0 0;font-size:13px;}
/* /Components/Pages/Tasks.razor.rz.scp.css */
/* The team's tasks: the Manager's own tokens, cards and badges (docs/ui/manager-ui-estandar.md §8). Controls are 44 px on one centre line; a state is colour + icon + word, never colour alone. */
.tk-bar[b-j20np6dibr]{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;}
.tk-bar-a[b-j20np6dibr],.tk-bar-b[b-j20np6dibr]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0;}
.tk-bar .tk-views[b-j20np6dibr]{margin:0;box-sizing:border-box;height:44px;align-items:stretch;flex-wrap:nowrap;flex:none;}
.tk-bar .tk-views .seg-btn[b-j20np6dibr]{padding-top:0;padding-bottom:0;align-items:center;display:inline-flex;gap:6px;}
.tk-q[b-j20np6dibr]{flex:1 1 280px;min-width:200px;max-width:none;height:44px;box-sizing:border-box;font-size:14px;}
.tk-bar[b-j20np6dibr]  .seg{margin:0;height:44px;box-sizing:border-box;align-items:stretch;flex-wrap:nowrap;}
.tk-bar[b-j20np6dibr]  .ssel,.tk-bulk[b-j20np6dibr]  .ssel{margin:0;}
.tk-bar[b-j20np6dibr]  .tk-f,.tk-bulk[b-j20np6dibr]  .tk-f,.tk-quickadd[b-j20np6dibr]  .tk-f{flex:0 1 200px;min-width:170px;width:auto;}
.tk-bar[b-j20np6dibr]  .seg-filter{flex:0 0 auto;width:auto;min-width:220px;}
.tk-grp-pick[b-j20np6dibr]  .seg-filter{width:auto;min-width:0;}
.tk-bar .btn[b-j20np6dibr],.tk-bulk .btn[b-j20np6dibr],.tk-quickadd .btn[b-j20np6dibr]{flex:none;}

/* The quick views: ON = tinted, solid border, filled check, bold; OFF = white, dashed grey border, empty circle. */
.tk-quick[b-j20np6dibr]{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;}
.tk-qv[b-j20np6dibr]{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px 0 10px;border:1.5px solid var(--line-2);border-radius:999px;background:#fff;font:inherit;font-size:13px;cursor:pointer;color:var(--muted);font-weight:600;}
.tk-qv-state[b-j20np6dibr]{font-size:18px;}
.tk-qv.on[b-j20np6dibr]{background:var(--teal-50);border-color:var(--teal);border-style:solid;color:var(--teal-d);font-weight:700;}
.tk-qv.off[b-j20np6dibr]{border-style:dashed;border-color:#C9D0CF;}
.tk-qv.off:hover[b-j20np6dibr]{border-color:var(--teal);color:var(--teal-d);}
.tk-count[b-j20np6dibr]{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--line);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);}
.tk-qv.on .tk-count[b-j20np6dibr]{background:#fff;color:var(--teal-d);}

.tk-bulk[b-j20np6dibr]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;border-color:var(--teal);}
.tk-quickadd[b-j20np6dibr]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.tk-quickadd .cell[b-j20np6dibr]{flex:1 1 420px;min-width:220px;height:44px;box-sizing:border-box;font-size:14px;}
.tk-tally[b-j20np6dibr]{margin-left:auto;font-size:13px;color:var(--muted);font-weight:600;}
.tk-grp-pick[b-j20np6dibr]{display:flex;align-items:center;gap:8px;}
.tk-grp-pick[b-j20np6dibr]  .seg{margin:0;height:44px;box-sizing:border-box;}

/* Headed cards: band, divider, icon, title, count. */
.tk-card[b-j20np6dibr]{padding:0;overflow:hidden;margin-bottom:16px;}
.tk-card-h[b-j20np6dibr]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--surf-2);border-bottom:1px solid var(--line-2);}
.tk-card-h > i[b-j20np6dibr]{font-size:18px;color:var(--teal-d);flex:none;}
.tk-card-h h2[b-j20np6dibr]{margin:0;font-size:14px;font-weight:800;flex:1 1 auto;min-width:0;}
.tk-card-h .badge[b-j20np6dibr]{margin-left:0;flex:none;}
.tk-card-empty[b-j20np6dibr]{padding:14px 16px;font-size:13px;color:var(--muted);}

/* A row and a board card share one look; the list's row is a grid, the same grid for every row of every group. */
.tk-rows[b-j20np6dibr]{display:flex;flex-direction:column;}
.tk-row[b-j20np6dibr]{display:grid;grid-template-columns:28px minmax(220px,1fr) 104px 150px 210px 96px 44px;grid-template-areas:"chk main prio status due who act";gap:12px;align-items:start;padding:12px 16px;border-top:1px solid var(--line);border-left:4px solid transparent;}
.tk-row:first-child[b-j20np6dibr]{border-top:0;}
.tk-row:hover[b-j20np6dibr]{background:var(--surf-2);}
.tk-row.late[b-j20np6dibr]{border-left-color:var(--danger);}
.tk-row.done .tk-title[b-j20np6dibr]{color:var(--muted);text-decoration:line-through;font-weight:500;}
.tk-row > .tk-chk[b-j20np6dibr]{grid-area:chk;}
.tk-row > .tk-main[b-j20np6dibr]{grid-area:main;min-width:0;}
/* The five facts of a row sit in .tk-meta: on a wide screen it disappears into the grid (display:contents) so each fact has its own column; narrower, it is one wrapping line under the title. */
.tk-meta[b-j20np6dibr]{display:contents;}
.tk-row .tk-prio[b-j20np6dibr]{grid-area:prio;}
.tk-row .tk-c-status[b-j20np6dibr]{grid-area:status;}
.tk-row .tk-due[b-j20np6dibr]{grid-area:due;}
.tk-row .tk-c-who[b-j20np6dibr]{grid-area:who;}
.tk-row > .tk-act[b-j20np6dibr]{grid-area:act;justify-self:end;}
.tk-cell[b-j20np6dibr]{min-width:0;font-size:13px;display:flex;flex-direction:column;gap:2px;}
.tk-chk[b-j20np6dibr]{width:18px;height:18px;margin:8px 0 0;accent-color:var(--teal);}
.tk-title[b-j20np6dibr]{display:block;max-width:100%;text-align:left;background:none;border:0;padding:0;margin:0;font:inherit;line-height:34px;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer;min-width:0;}
.tk-title:hover[b-j20np6dibr]{color:var(--teal-d);text-decoration:underline;}
.tk-title:focus-visible[b-j20np6dibr]{outline:2px solid var(--teal);outline-offset:2px;border-radius:4px;}
.tk-prio[b-j20np6dibr],.tk-cell.tk-prio[b-j20np6dibr]{display:inline-flex;flex-direction:row;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap;}
.tk-prio.p-high[b-j20np6dibr]{color:#8A4A10;}
.tk-prio.p-urgent[b-j20np6dibr]{color:#B42318;font-weight:800;}
.tk-due[b-j20np6dibr],.tk-cell.tk-due[b-j20np6dibr]{font-size:13px;color:var(--ink);display:flex;flex-direction:row;align-items:center;gap:4px;}
.tk-due.late[b-j20np6dibr]{color:#B42318;font-weight:700;}
.tk-status[b-j20np6dibr]{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;width:fit-content;}
.tk-status.s-todo[b-j20np6dibr]{background:#EEF2F1;color:#33474B;}
.tk-status.s-inprogress[b-j20np6dibr]{background:#E3EEFB;color:#1A55A3;}
.tk-status.s-onhold[b-j20np6dibr]{background:#FBEFD9;color:#8A5A00;border:1px dashed #C9962E;}
.tk-status.s-done[b-j20np6dibr]{background:#E6F4EA;color:#1E6B3A;}
.tk-chips[b-j20np6dibr]{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px;min-width:0;}
.tk-tag[b-j20np6dibr]{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:#EEF2F1;color:#33474B;}
.tk-tag.c-blue[b-j20np6dibr]{background:#E3EEFB;color:#1A55A3;}.tk-tag.c-green[b-j20np6dibr]{background:#E6F4EA;color:#1E6B3A;}.tk-tag.c-amber[b-j20np6dibr]{background:#FBEFD9;color:#8A5A00;}.tk-tag.c-red[b-j20np6dibr]{background:#FBE9E7;color:#B3261E;}.tk-tag.c-purple[b-j20np6dibr]{background:#EEE8FA;color:#5B3E91;}.tk-tag.c-teal[b-j20np6dibr]{background:#DCF1F6;color:#0B6377;}.tk-tag.c-slate[b-j20np6dibr]{background:#EEF2F1;color:#33474B;}
.tk-link[b-j20np6dibr]{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--teal-50);color:var(--teal-d);text-decoration:none;max-width:200px;min-width:0;}
a.tk-link:hover[b-j20np6dibr]{text-decoration:underline;}
.tk-link.plain[b-j20np6dibr]{background:#fff;border:1px dashed #C9D0CF;color:var(--muted);}
.tk-link .clip[b-j20np6dibr]{display:inline-block;max-width:150px;vertical-align:bottom;}
.tk-people[b-j20np6dibr]{display:inline-flex;align-items:center;}
.tk-av[b-j20np6dibr]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--ocean-900);color:#fff;font-size:12px;font-weight:700;border:2px solid #fff;margin-left:-6px;box-sizing:border-box;flex:none;}
.tk-av:first-child[b-j20np6dibr]{margin-left:0;}
.tk-av.primary[b-j20np6dibr]{box-shadow:0 0 0 2px var(--teal);}
.tk-av.more[b-j20np6dibr]{background:var(--line-2);color:var(--ink);}
.tk-act[b-j20np6dibr]{display:flex;justify-content:flex-end;}
.tk-act .btn.icon[b-j20np6dibr]{width:34px;height:34px;min-width:0;padding:0;}

.tk-empty[b-j20np6dibr]{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 18px;text-align:center;}
.tk-empty > i[b-j20np6dibr]{font-size:40px;color:var(--teal);}

/* The load per person (tasks.view_all): name, a bar of open tasks, and the numbers — a person's row filters the screen to them. */
.tk-loadrow[b-j20np6dibr]{display:grid;grid-template-columns:28px minmax(120px,220px) minmax(80px,1fr) 90px 110px;gap:12px;align-items:center;width:100%;min-height:48px;padding:8px 16px;border:0;border-top:1px solid var(--line);border-left:4px solid transparent;background:none;font:inherit;font-size:13px;text-align:left;cursor:pointer;}
.tk-loadrow:first-child[b-j20np6dibr]{border-top:0;}
.tk-loadrow:hover[b-j20np6dibr]{background:var(--surf-2);}
.tk-loadrow.on[b-j20np6dibr]{background:var(--teal-50);border-left-color:var(--teal);font-weight:700;}
.tk-loadrow:focus-visible[b-j20np6dibr]{outline:2px solid var(--teal);outline-offset:-2px;}
.tk-loadrow .tk-av[b-j20np6dibr]{margin-left:0;border:0;}
.tk-meter[b-j20np6dibr]{display:block;height:8px;border-radius:4px;background:var(--line);overflow:hidden;}
.tk-meter > span[b-j20np6dibr]{display:block;height:100%;background:var(--teal);border-radius:4px;}
.tk-loadn[b-j20np6dibr]{font-size:13px;color:var(--muted);font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;}
.tk-loadn.late[b-j20np6dibr]{color:#B42318;font-weight:700;}

/* The board: four columns, the same four states as the list. A column that can take the card being dragged turns dashed. */
.tk-board[b-j20np6dibr]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start;}
.tk-col[b-j20np6dibr]{background:var(--surf-2);border:1px solid var(--line-2);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:10px;min-width:0;}
.tk-col.is-target[b-j20np6dibr]{border:2px dashed var(--teal);padding:9px;}
.tk-col-h[b-j20np6dibr]{display:flex;align-items:center;gap:8px;padding:2px 4px;}
.tk-col-h > i[b-j20np6dibr]{font-size:18px;color:var(--teal-d);}
.tk-col-h h2[b-j20np6dibr]{margin:0;font-size:14px;font-weight:800;flex:1 1 auto;}
.tk-col-h .badge[b-j20np6dibr]{margin-left:0;}
.tk-col-b[b-j20np6dibr]{display:flex;flex-direction:column;gap:10px;min-height:60px;}
.tk-col-empty[b-j20np6dibr]{padding:14px;text-align:center;font-size:13px;color:var(--muted);border:1px dashed var(--line-2);border-radius:10px;}
.tk-bcard[b-j20np6dibr]{background:#fff;border:1px solid var(--line-2);border-left:4px solid var(--line-2);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;cursor:grab;min-width:0;}
.tk-bcard.late[b-j20np6dibr]{border-left-color:var(--danger);}
.tk-bcard.dragging[b-j20np6dibr]{opacity:.45;border-style:dashed;}
.tk-bmeta[b-j20np6dibr]{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.tk-bfoot[b-j20np6dibr]{display:flex;align-items:center;gap:8px;justify-content:space-between;min-height:34px;}
.tk-bfoot[b-j20np6dibr]  .tk-move{margin-left:auto;max-width:150px;width:150px;}
.tk-bfoot 
/* The calendar: a month by due day, then the day, what is late and what has no date, in three columns below. */
.tk-cal-bar[b-j20np6dibr]{margin-bottom:16px;}
/* A .panel.pad is a block and a .seg carries its own 16 px bottom margin: the bar is a row, nav left, range switch right, both on one centre line. */
.tk-cal .tk-cal-bar[b-j20np6dibr]{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;}
.tk-cal .tk-cal-bar .tk-calmode[b-j20np6dibr]{margin:0;}
.tk-cal-nav[b-j20np6dibr]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.tk-cal-nav .btn[b-j20np6dibr]{flex:none;}
.tk-cal-title[b-j20np6dibr]{margin:0 0 0 8px;font-size:16px;font-weight:800;}
.tk-grid[b-j20np6dibr]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;margin-bottom:16px;}
.tk-dh[b-j20np6dibr]{background:var(--surf-2);border-bottom:1px solid var(--line-2);padding:8px 10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);}
.tk-day[b-j20np6dibr]{min-height:112px;border-top:1px solid var(--line);border-left:1px solid var(--line);padding:6px;display:flex;flex-direction:column;gap:3px;min-width:0;cursor:pointer;background:#fff;}
.tk-day:nth-child(7n+8)[b-j20np6dibr]{border-left:0;}
.tk-day.off[b-j20np6dibr]{background:var(--surf-2);color:#6B7A7D;}
.tk-day.today .tk-dn[b-j20np6dibr]{background:var(--teal);color:#fff;}
.tk-day.sel[b-j20np6dibr]{outline:2px solid var(--teal);outline-offset:-2px;}
.tk-day:focus-visible[b-j20np6dibr]{outline:2px solid var(--teal);outline-offset:-2px;}
.tk-dn[b-j20np6dibr]{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:12px;padding:0 6px;font-size:13px;font-weight:700;align-self:flex-start;}
.tk-pill[b-j20np6dibr]{display:flex;align-items:center;gap:4px;height:24px;padding:0 6px;border:0;border-left:3px solid transparent;border-radius:6px;font:inherit;font-size:12px;font-weight:600;text-align:left;cursor:pointer;min-width:0;width:100%;}
.tk-pill .clip[b-j20np6dibr]{flex:1 1 auto;}
.tk-pill.s-todo[b-j20np6dibr]{background:#EEF2F1;color:#33474B;}
.tk-pill.s-inprogress[b-j20np6dibr]{background:#E3EEFB;color:#1A55A3;}
.tk-pill.s-onhold[b-j20np6dibr]{background:#FBEFD9;color:#8A5A00;border-left-style:dashed;}
.tk-pill.s-done[b-j20np6dibr]{background:#E6F4EA;color:#1E6B3A;text-decoration:line-through;}
.tk-pill.p-urgent[b-j20np6dibr]{border-left-color:#B42318;}
.tk-pill.p-high[b-j20np6dibr]{border-left-color:#C9962E;}
/* Week: seven columns, every task of the day (no «+n more»); under 900 px the days stack, one row each. */
.tk-week[b-j20np6dibr]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;margin-bottom:16px;}
.tk-wday[b-j20np6dibr]{border-left:1px solid var(--line);padding:8px 6px;min-height:140px;min-width:0;cursor:pointer;background:#fff;display:flex;flex-direction:column;gap:6px;}
.tk-wday:first-child[b-j20np6dibr]{border-left:0;}
.tk-wday.today .tk-dn[b-j20np6dibr]{background:var(--teal);color:#fff;}
.tk-wday.sel[b-j20np6dibr]{outline:2px solid var(--teal);outline-offset:-2px;}
.tk-wday:focus-visible[b-j20np6dibr]{outline:2px solid var(--teal);outline-offset:-2px;}
.tk-wh[b-j20np6dibr]{display:flex;align-items:center;gap:6px;min-height:24px;}
.tk-wn[b-j20np6dibr]{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);}
.tk-wc[b-j20np6dibr]{margin-left:auto;font-size:12px;font-weight:700;color:var(--muted);}
.tk-wl[b-j20np6dibr]{display:flex;flex-direction:column;gap:4px;min-width:0;}
.tk-more[b-j20np6dibr]{font-size:12px;font-weight:700;color:var(--muted);}
.tk-below[b-j20np6dibr]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start;}
.tk-below .tk-card[b-j20np6dibr]{margin-bottom:0;}
.tk-mini[b-j20np6dibr]{display:grid;grid-template-columns:20px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px 16px;border:0;border-top:1px solid var(--line);background:none;font:inherit;font-size:13px;text-align:left;cursor:pointer;width:100%;min-height:44px;}
.tk-mini:first-child[b-j20np6dibr]{border-top:0;}
.tk-mini:hover[b-j20np6dibr]{background:var(--surf-2);}
.tk-mini-st[b-j20np6dibr]{font-size:18px;}
.tk-mini-st.s-inprogress[b-j20np6dibr]{color:#1A55A3;}.tk-mini-st.s-onhold[b-j20np6dibr]{color:#8A5A00;}.tk-mini-st.s-done[b-j20np6dibr]{color:#1E6B3A;}
.tk-mini-who[b-j20np6dibr]{display:inline-flex;}

@media (max-width:1280px){
  .tk-row[b-j20np6dibr]{grid-template-columns:28px minmax(0,1fr) 44px;grid-template-areas:"chk main act" ". meta meta";row-gap:8px;}
  .tk-meta[b-j20np6dibr]{grid-area:meta;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;min-width:0;}
  .tk-row .tk-cell[b-j20np6dibr]{flex-direction:row;align-items:center;gap:8px;}
}
@media (max-width:1100px){
  .tk-board[b-j20np6dibr]{grid-template-columns:repeat(2,minmax(0,1fr));}
  .tk-below[b-j20np6dibr]{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .tk-bar .tk-views[b-j20np6dibr]{width:100%;}
  .tk-bar .tk-views .seg-btn[b-j20np6dibr]{flex:1 1 0;justify-content:center;padding-left:6px;padding-right:6px;gap:4px;white-space:nowrap;}
  .tk-q[b-j20np6dibr]{flex:1 1 100%;max-width:none;}
  .tk-bar[b-j20np6dibr]  .seg-filter{width:100%;}
  .tk-bar[b-j20np6dibr]  .tk-f,.tk-bulk[b-j20np6dibr]  .tk-f{flex:1 1 calc(50% - 6px);min-width:0;}
  .tk-quickadd .btn.icon[b-j20np6dibr]{flex:none;}
}
@media (max-width:480px){
  .tk-bar[b-j20np6dibr]  .tk-f,.tk-bulk[b-j20np6dibr]  .tk-f{flex:1 1 100%;}
}
@media (max-width:900px){
  .tk-week[b-j20np6dibr]{grid-template-columns:minmax(0,1fr);}
  .tk-wday[b-j20np6dibr]{min-height:0;border-left:0;border-top:1px solid var(--line);}
  .tk-wday:first-child[b-j20np6dibr]{border-top:0;}
  .tk-wday .tk-pill[b-j20np6dibr]{height:28px;}
}
@media (max-width:700px){
  .tk-loadrow[b-j20np6dibr]{grid-template-columns:28px minmax(0,1fr) auto;}
  .tk-loadrow .tk-meter[b-j20np6dibr]{display:none;}

  .tk-board[b-j20np6dibr],.tk-below[b-j20np6dibr]{grid-template-columns:minmax(0,1fr);}
  .tk-day[b-j20np6dibr]{min-height:64px;padding:4px;}
  .tk-day .tk-pill[b-j20np6dibr]{height:8px;padding:0;border-radius:4px;min-height:0;}
  .tk-day .tk-pill i[b-j20np6dibr],.tk-day .tk-pill .clip[b-j20np6dibr]{display:none;}
  .tk-dh[b-j20np6dibr]{padding:6px 2px;text-align:center;font-size:12px;}
  .tk-tally[b-j20np6dibr]{margin-left:0;}
}


/* One FIRST LINE of 34 px for a row: the checkbox, the title, every fact and the action are centred on it, so they share one centre line and a one-line row is 34 + 12 + 12 = 58 px with the action centred in it. */
.tk-row .tk-cell[b-j20np6dibr],.tk-row > .tk-act[b-j20np6dibr]{min-height:34px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;}
.tk-row > .tk-act[b-j20np6dibr]{margin-top:0;}
/* /Components/Shared/AiRequestModal.razor.rz.scp.css */
/* «From the client's request»: a compact working dialog — the text, one action row, the lines; the footer carries the count and the sell. */
.air-compact .field[b-tv5uze2rnw] { margin-bottom: 10px; }
.air-compact .frow[b-tv5uze2rnw] { margin-bottom: 10px; }
.air-rows[b-tv5uze2rnw] { margin-top: 4px; }
.air-tbl .air-chk[b-tv5uze2rnw] { width: 34px; text-align: center; }
.air-tbl tr.air-off td[b-tv5uze2rnw] { opacity: .5; }
.air-foot .air-sum[b-tv5uze2rnw] { margin-right: auto; }
/* /Components/Shared/CircuitComposition.razor.rz.scp.css */
/* A circuit's composition: the hotels of each category on each destination as a matrix (rows = destinations, columns = categories),
   and the services of each destination as a list of days. Colours and sizes are the Manager's own tokens; nothing is squeezed. */
.cmp[b-3dqqxzysy3]{display:grid;grid-template-columns:200px repeat(var(--tiers,3),minmax(0,1fr));background:#fff;border:1px solid var(--line-2);border-radius:12px;overflow:hidden;font-size:14px;}
.cmp > div[b-3dqqxzysy3]{padding:10px 14px;border-bottom:1px solid var(--line-2);min-width:0;}
.cmp > .cmp-h[b-3dqqxzysy3]{background:var(--sand,#F5EFE3);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);}
.cmp > .cmp-leg[b-3dqqxzysy3]{display:flex;flex-direction:column;gap:2px;}
.cmp > .cmp-leg b[b-3dqqxzysy3]{overflow-wrap:anywhere;}

.hrow[b-3dqqxzysy3]{display:flex;align-items:flex-start;gap:8px;padding:4px 0;}
.hrow > i[b-3dqqxzysy3]{margin-top:3px;flex:none;}
.hrow .hn[b-3dqqxzysy3]{flex:1;min-width:0;font-weight:600;overflow-wrap:break-word;display:flex;flex-direction:column;gap:1px;line-height:1.35;}
.hrow .hn .phstars[b-3dqqxzysy3]{font-weight:400;font-size:12px;}
.hrow .iconbtn[b-3dqqxzysy3]{flex:none;margin-top:-4px;}
.hrow .ph-link.ok[b-3dqqxzysy3]{color:#2A7440;}
.hrow .ph-link-break.bad[b-3dqqxzysy3]{color:#B42318;}
.cmp-cell .add[b-3dqqxzysy3]{margin-top:6px;}

.legblock[b-3dqqxzysy3]{margin-bottom:12px;overflow:hidden;}
.legblock .lh[b-3dqqxzysy3]{display:flex;align-items:center;gap:8px;padding:9px 14px;background:var(--sand,#F5EFE3);flex-wrap:wrap;}
.dayrow[b-3dqqxzysy3]{display:grid;grid-template-columns:90px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 14px;border-top:1px solid var(--line-2);font-size:14px;}
.dayrow.solo[b-3dqqxzysy3]{display:block;}
.dayrow .dname[b-3dqqxzysy3]{overflow-wrap:anywhere;}
.dayrow.freeday .dname[b-3dqqxzysy3]{color:var(--muted);}
.dayrow .dtags[b-3dqqxzysy3]{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.dayrow .dact[b-3dqqxzysy3]{display:flex;gap:2px;justify-content:flex-end;}

.sumrow td[b-3dqqxzysy3]{background:#FAFBFA;}

@media (max-width: 1180px){
  .cmp[b-3dqqxzysy3]{display:block;}
  .cmp > .cmp-h[b-3dqqxzysy3]{display:none;}
  .cmp > .cmp-leg[b-3dqqxzysy3]{background:var(--sand,#F5EFE3);}
  .cmp > .cmp-cell[b-3dqqxzysy3]{border-bottom:1px solid var(--line-2);}
  .cmp > .cmp-cell[b-3dqqxzysy3]::before{content:attr(data-th);display:block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
}
@media (max-width: 760px){
  .dayrow[b-3dqqxzysy3]{grid-template-columns:minmax(0,1fr) auto;}
  .dayrow .dtags[b-3dqqxzysy3]{grid-column:1 / -1;justify-content:flex-start;}
}

.formfoot .actions[b-3dqqxzysy3]{display:flex;gap:10px;flex-wrap:wrap;}

/* The one-line summary under the gaps panel: label then number, so a count of one never reads as a plural. */
.compstat[b-3dqqxzysy3]{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 2px 12px;font-size:13px;}
.compstat b[b-3dqqxzysy3]{font-size:14px;font-variant-numeric:tabular-nums;}
.circuitcard .hint[b-3dqqxzysy3]{margin:8px 0 0;}
.circuitcard + .sec-head[b-3dqqxzysy3]{margin-top:20px;}

/* One rhythm for the whole tab: blocks 12px apart, a section title 28px above and 12px over its block (the Manager's .sec-head), nothing touching. */
.notebox[b-3dqqxzysy3]{margin-bottom:12px;}
/* /Components/Shared/FileCancelModal.razor.rz.scp.css */
/* Cancel file: compact, one screen. Sections are small headed rows, the figures sit in two columns and the two ways to treat the money side by side. */
.fcm-intro[b-knnoyu8twy]{margin:0 0 10px;font-size:13px;line-height:1.45;color:var(--muted);}
.fcm-h[b-knnoyu8twy]{margin:12px 0 6px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);}
.fcm-note[b-knnoyu8twy]{margin:8px 0 0;font-size:12px;line-height:1.4;color:var(--muted);}
.fcm-sum[b-knnoyu8twy]{display:grid;grid-template-columns:1fr;gap:0;margin-top:10px;padding:4px 14px;border:1px solid var(--line);border-radius:10px;}
.fcm-col[b-knnoyu8twy]{min-width:0;}
.fcm-r[b-knnoyu8twy]{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px solid var(--line-2,var(--line));font-size:13px;}
.fcm-col:last-child .fcm-r:last-child[b-knnoyu8twy]{border-bottom:0;}
.fcm-r span[b-knnoyu8twy]{min-width:0;color:var(--muted);}
.fcm-r b[b-knnoyu8twy]{flex:none;font-variant-numeric:tabular-nums;color:var(--ink);}
.fcm-r.key span[b-knnoyu8twy]{color:var(--ink);font-weight:600;}
.fcm-r.due b[b-knnoyu8twy]{color:var(--danger);}
.fcm-choices[b-knnoyu8twy]{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.fcm-card[b-knnoyu8twy]{align-items:flex-start;padding:10px 12px;gap:10px;}
.fcm-card.off[b-knnoyu8twy]{opacity:.5;cursor:not-allowed;}
.fcm-card input[b-knnoyu8twy]{margin-top:2px;}
.fcm-ct[b-knnoyu8twy]{display:flex;flex-direction:column;gap:2px;min-width:0;}
.fcm-ct b[b-knnoyu8twy]{font-size:14px;}
.fcm-ct span[b-knnoyu8twy]{font-size:12px;line-height:1.4;color:var(--muted);}
.fcm-field[b-knnoyu8twy]{margin-top:12px;}
.fcm-field label[b-knnoyu8twy]{font-size:12px;}
.fcm-field textarea[b-knnoyu8twy]{min-height:56px;font-size:13px;}
@media(max-width:640px){.fcm-sum[b-knnoyu8twy],.fcm-choices[b-knnoyu8twy]{grid-template-columns:1fr;}}
/* /Components/Shared/GuideChip.razor.rz.scp.css */
/* The guide-option chip of the Phase G boards. 13px text, 26px tall, wraps on a long name rather than cutting it. */
.gchip[b-oljmux4p3d]{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:2px 10px;border-radius:14px;font-size:13px;font-weight:700;line-height:1.3;}
.gchip i[b-oljmux4p3d]{font-size:15px;flex:none;}
.gchip.g-std[b-oljmux4p3d]{background:#E2F0F8;color:#0E4C77;}
.gchip.g-ru[b-oljmux4p3d]{background:#F3E7F3;color:#7A2B65;}
.gchip.g-driver[b-oljmux4p3d]{background:#EEF0F2;color:#3F4D51;}
.gchip.g-none[b-oljmux4p3d]{background:#F4F1EA;color:#4D5A5E;}
/* /Components/Shared/GuideRepriceDialog.razor.rz.scp.css */
/* The before → after list of the guide-language confirmation (design/QuoteGuideOption). */
.mtext[b-7i10mhm9na]{margin:0 0 12px;font-size:14px;line-height:1.5;}
.rp-list[b-7i10mhm9na]{border:1px solid var(--line-2,#E3E8E7);border-radius:10px;}
.rp[b-7i10mhm9na]{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:14px;}
.rp:last-child[b-7i10mhm9na]{border-bottom:0;}
.rp-n .tbl-note[b-7i10mhm9na]{display:inline;margin-left:8px;font-size:12px;color:var(--muted);}
.rp-c[b-7i10mhm9na]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;font-variant-numeric:tabular-nums;}
.rp-c i[b-7i10mhm9na]{color:var(--muted);}
.was-v[b-7i10mhm9na]{color:var(--muted);text-decoration:line-through;text-decoration-color:#9AA6A9;}
.warn-t[b-7i10mhm9na]{color:#7A4B00;display:inline-flex;align-items:center;gap:4px;}
.rp-tot[b-7i10mhm9na]{margin:12px 0;padding:10px 12px;background:#FAF7F0;border-radius:10px;}
.rp-tot .fin-row[b-7i10mhm9na]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 0;font-size:14px;font-variant-numeric:tabular-nums;}
.rp-tot .fin-row > span:first-child[b-7i10mhm9na]{color:var(--muted);}
.hint[b-7i10mhm9na]{font-size:13px;color:var(--muted);line-height:1.45;margin:0;}
/* /Components/Shared/ItineraryEditor.razor.rz.scp.css */
/* The day-by-day editor: one card per day, the controls of a card in its head (icons with a tooltip), the add button under the last card. */
.dayedit[b-v0xc8ek1ru]{margin-bottom:12px;overflow:hidden;}
.dayedit-h[b-v0xc8ek1ru]{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--sand,#F5EFE3);}
.dayedit-h .grow[b-v0xc8ek1ru]{flex:1;}
.dayedit-b[b-v0xc8ek1ru]{padding:14px 16px 4px;}
.dayedit-add[b-v0xc8ek1ru]{margin:4px 0 4px;}
/* /Components/Shared/LanguageChips.razor.rz.scp.css */
.langs[b-afwsk0j99m]{display:inline-flex;flex-wrap:wrap;gap:6px;}
.lang[b-afwsk0j99m]{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:#EEF1F0;color:#1F2A2E;font-size:13px;font-weight:600;white-space:nowrap;}
/* /Components/Shared/SupplierOrderModal.razor.rz.scp.css */
.so-modal[b-tc04lqgy7y] { max-width: 1080px; }
/* One scroll only: the dialog fills the window, the left column and the e-mail preview each take the remaining height (the preview scrolls inside its frame; the dialog body never does). */
@media (min-width: 901px) and (min-height: 520px) {
    .so-modal[b-tc04lqgy7y] { height: calc(100dvh - 48px); }
    .so-modal > .modal-b.so-body[b-tc04lqgy7y] { overflow: hidden; align-items: stretch; }
    .so-side[b-tc04lqgy7y] { overflow-y: auto; min-height: 0; padding-right: 4px; }
    .so-preview[b-tc04lqgy7y] { display: flex; flex-direction: column; min-height: 0; }
    .so-rich[b-tc04lqgy7y] { flex: 1 1 auto; height: auto; min-height: 0; }
}
.so-sub[b-tc04lqgy7y] { font-size: 13px; color: var(--muted); margin-top: 3px; }
.so-body[b-tc04lqgy7y] { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 20px; align-items: start; }
.so-side[b-tc04lqgy7y] { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.so-side .field[b-tc04lqgy7y] { margin: 0; }
.so-side .hint[b-tc04lqgy7y] { margin: 0; }
.so-k[b-tc04lqgy7y] { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; line-height: 1.4; }
.so-k .muted[b-tc04lqgy7y] { font-weight: 500; letter-spacing: 0; text-transform: none; }
.so-copy[b-tc04lqgy7y] { margin-left: 8px; letter-spacing: 0; text-transform: none; }
.so-v[b-tc04lqgy7y] { font-size: 14px; overflow-wrap: anywhere; }
.so-list[b-tc04lqgy7y] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 13px; line-height: 1.45; }
.so-list li[b-tc04lqgy7y] { display: flex; align-items: flex-start; gap: 10px; }
.so-pill[b-tc04lqgy7y] { font-size: 12px; padding: 3px 9px; border-radius: var(--r-pill); background: var(--line); color: var(--muted); white-space: nowrap; flex-shrink: 0; line-height: 1.3; }
.so-pill.ok[b-tc04lqgy7y] { background: var(--green-50); color: var(--green); }
.so-pill.warn[b-tc04lqgy7y] { background: var(--amber-50); color: var(--amber-d); }
.so-pill.danger[b-tc04lqgy7y] { background: #FBE6E3; color: var(--danger); }
.so-preview[b-tc04lqgy7y] { min-width: 0; }
.so-rich[b-tc04lqgy7y] { width: 100%; height: 620px; overflow: auto; box-sizing: border-box; padding: 20px 24px; border: 1px solid var(--line-2); border-radius: 12px; background: #fff; user-select: text; }
.so-hint[b-tc04lqgy7y] { margin-top: 8px; font-size: 13px; line-height: 18px; color: var(--muted); }
@media (max-width: 900px) {
    .so-body[b-tc04lqgy7y] { grid-template-columns: 1fr; }
    .so-rich[b-tc04lqgy7y] { height: 480px; }
}
/* /Components/Shared/TaskDrawer.razor.rz.scp.css */
/* The task drawer rides on the Manager's side-drawer shell (.dpk): only what is the task's own is here. */
.tk-drawer[b-zov30lypgm]{width:min(560px,100vw);max-height:100dvh;}
/* The header (title + ×) never scrolls away or hides under the page: it is the way out. */
.tk-drawer > .dpk-h[b-zov30lypgm]{flex:none;position:sticky;top:0;z-index:2;background:#fff;}
/* Over a dialog (.modal-scrim is 80): the scrim and the drawer sit above it. */
.dpk-scrim.over[b-zov30lypgm]{z-index:90;}
.dpk.over[b-zov30lypgm]{z-index:91;}
.tk-dbody[b-zov30lypgm]{padding:4px 16px 16px;}
.tk-dbody .field[b-zov30lypgm]{margin-bottom:12px;}
.tk-dbody .field > label[b-zov30lypgm],.tk-dbody .field > div > label[b-zov30lypgm]{font-size:13px;margin-bottom:6px;}
.tk-dbody .field.grid2 > div[b-zov30lypgm],.tk-dbody .field.grid3 > div[b-zov30lypgm]{min-width:0;}
.tk-dbody .field.grid3[b-zov30lypgm]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.tk-dbody .field > label[b-zov30lypgm]{display:block;}
.tkd-chips[b-zov30lypgm]{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:6px;}
.tkd-chips[hidden][b-zov30lypgm]{display:none;}
.tk-dbody .fieldnote[b-zov30lypgm]{margin-top:4px;}
.tkd-person[b-zov30lypgm]{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 6px 0 4px;border:1px solid var(--line-2);border-radius:999px;background:#fff;font-size:13px;max-width:100%;min-width:0;}
.tkd-person.primary[b-zov30lypgm]{border-color:var(--teal);background:var(--teal-50);font-weight:700;}
.tkd-person .tk-av[b-zov30lypgm]{margin-left:0;border:0;width:24px;height:24px;}
.tkd-x[b-zov30lypgm]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer;padding:0;flex:none;}
.tkd-x:hover[b-zov30lypgm]{background:var(--line-2);color:var(--ink);}
.tkd-x:focus-visible[b-zov30lypgm]{outline:2px solid var(--teal);}
.tkd-chips[b-zov30lypgm] +  .tkd-add,.tk-dbody[b-zov30lypgm]  .tkd-add{max-width:100%;}
.tkd-find[b-zov30lypgm]{position:relative;margin-top:4px;}
.tkd-find > i[b-zov30lypgm]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:18px;pointer-events:none;}
.tkd-find .cell[b-zov30lypgm]{padding-left:38px;height:44px;box-sizing:border-box;font-size:14px;}
.tkd-hits[b-zov30lypgm]{border:1px solid var(--line-2);border-radius:10px;margin-top:6px;overflow:hidden;}
.tkd-hit[b-zov30lypgm]{display:grid;grid-template-columns:20px minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center;width:100%;min-height:44px;padding:6px 12px;border:0;border-top:1px solid var(--line);background:#fff;font:inherit;font-size:13px;text-align:left;cursor:pointer;}
.tkd-hit:first-child[b-zov30lypgm]{border-top:0;}
.tkd-hit:hover[b-zov30lypgm]{background:var(--teal-50);}
.tkd-act[b-zov30lypgm]{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 0;font-size:13px;border-bottom:1px solid var(--line);}
.tkd-act .muted[b-zov30lypgm]{font-size:12px;white-space:nowrap;}
.tkd-actions[b-zov30lypgm]{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.tk-link[b-zov30lypgm]{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 6px 0 10px;border-radius:999px;font-size:13px;font-weight:600;background:var(--teal-50);color:var(--teal-d);max-width:100%;min-width:0;}
.tk-link a[b-zov30lypgm]{color:inherit;text-decoration:none;}
.tk-link a:hover[b-zov30lypgm]{text-decoration:underline;}
.tk-link.plain[b-zov30lypgm]{background:#fff;border:1px dashed #C9D0CF;color:var(--muted);}
.tk-tag[b-zov30lypgm]{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 6px 0 10px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap;background:#EEF2F1;color:#33474B;}
.tk-tag.c-blue[b-zov30lypgm]{background:#E3EEFB;color:#1A55A3;}.tk-tag.c-green[b-zov30lypgm]{background:#E6F4EA;color:#1E6B3A;}.tk-tag.c-amber[b-zov30lypgm]{background:#FBEFD9;color:#8A5A00;}.tk-tag.c-red[b-zov30lypgm]{background:#FBE9E7;color:#B3261E;}.tk-tag.c-purple[b-zov30lypgm]{background:#EEE8FA;color:#5B3E91;}.tk-tag.c-teal[b-zov30lypgm]{background:#DCF1F6;color:#0B6377;}.tk-tag.c-slate[b-zov30lypgm]{background:#EEF2F1;color:#33474B;}
.tk-av[b-zov30lypgm]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--ocean-900);color:#fff;font-size:12px;font-weight:700;flex:none;box-sizing:border-box;}
.tk-av.primary[b-zov30lypgm]{box-shadow:0 0 0 2px var(--teal);}
@media (max-width:560px){
    .tkd-actions .btn[b-zov30lypgm]{flex:1 1 auto;}
}

/* The comment: one line and its button on the right, both 44 px on one centre line. */
.tkd-send[b-zov30lypgm]{display:flex;gap:8px;align-items:center;margin-top:8px;}
.tkd-send input[b-zov30lypgm]{flex:1 1 auto;min-width:0;height:44px;box-sizing:border-box;font-size:14px;}
.tkd-send .btn[b-zov30lypgm]{flex:none;height:44px;}
.tkd-in[b-zov30lypgm]{height:44px;box-sizing:border-box;font-size:14px;width:100%;}
/* Comments: a compact list, one row per comment — 13 px author and text, 12 px date, 24 px avatar, 6 px air; every size declared. */
.tkd-clist[b-zov30lypgm]{display:flex;flex-direction:column;margin-top:6px;font-size:13px;line-height:1.35;}
.tkd-comment[b-zov30lypgm]{display:grid;grid-template-columns:24px minmax(0,1fr) 28px;gap:8px;align-items:start;padding:7px 0;border-top:1px solid var(--line);}
.tkd-comment .tk-av[b-zov30lypgm]{margin-left:0;border:0;width:24px;height:24px;font-size:12px;}
.tkd-chead[b-zov30lypgm]{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap;font-size:13px;}
.tkd-chead b[b-zov30lypgm]{font-size:13px;font-weight:700;}
.tkd-chead .muted[b-zov30lypgm]{font-size:12px;}
.tkd-ctext[b-zov30lypgm]{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:1px;}
.tkd-comment .tkd-x[b-zov30lypgm]{width:28px;height:28px;}
/* /Components/Shared/TasksCard.razor.rz.scp.css */
/* The «Tareas» card of a record: a headed card (band, divider, icon, title, count, action right) with at most five rows. */
.tkc[b-3r5xahfgbs]{padding:0;overflow:hidden;margin-bottom:16px;}
.tkc-h[b-3r5xahfgbs]{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surf-2);border-bottom:1px solid var(--line-2);min-height:48px;box-sizing:border-box;}
.tkc-h > i[b-3r5xahfgbs]{font-size:18px;color:var(--teal-d);flex:none;}
.tkc-h h2[b-3r5xahfgbs]{margin:0;font-size:14px;font-weight:800;flex:1 1 auto;min-width:0;}
.tkc-h .badge[b-3r5xahfgbs]{margin-left:0;flex:none;}
.tkc-add[b-3r5xahfgbs]{flex:none;height:34px;}
.tkc-b[b-3r5xahfgbs]{display:flex;flex-direction:column;}
.tkc-empty[b-3r5xahfgbs]{padding:12px 16px;font-size:13px;color:var(--muted);}
.tkc-row[b-3r5xahfgbs]{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;min-height:44px;padding:8px 16px;border:0;border-top:1px solid var(--line);background:none;font:inherit;font-size:13px;text-align:left;cursor:pointer;}
.tkc-row:first-child[b-3r5xahfgbs]{border-top:0;}
.tkc-row:hover[b-3r5xahfgbs]{background:var(--surf-2);}
.tkc-row:focus-visible[b-3r5xahfgbs]{outline:2px solid var(--teal);outline-offset:-2px;}
.tkc-row.late[b-3r5xahfgbs]{border-left:4px solid var(--danger);padding-left:12px;}
.tkc-st[b-3r5xahfgbs]{font-size:18px;color:var(--muted);}
.tkc-due[b-3r5xahfgbs]{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap;display:inline-flex;align-items:center;gap:4px;}
.tkc-row.late .tkc-due[b-3r5xahfgbs]{color:#B42318;font-weight:700;}
.tkc-more[b-3r5xahfgbs]{display:block;padding:10px 16px;font-size:13px;font-weight:600;border-top:1px solid var(--line);}
.tkc-add-bare[b-3r5xahfgbs]{margin:8px 16px 12px;height:34px;}
/* /Components/Shared/TaskTagsModal.razor.rz.scp.css */
/* The labels dialog: a row is a sample chip, a name box, a colour and a delete icon, all 44 px on one centre line. */
.ttm-row[b-0vauz7ltf4]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:8px;}
.ttm-row > .btn.icon[b-0vauz7ltf4]{justify-self:end;}
.ttm-item[b-0vauz7ltf4]{display:grid;grid-template-columns:12px minmax(0,1fr) auto 44px 44px;gap:10px;align-items:center;min-height:52px;border-top:1px solid var(--line);}
.ttm-item:first-of-type[b-0vauz7ltf4]{border-top:0;}
.ttm-item .ttm-dot[b-0vauz7ltf4]{position:static;margin:0;}
.ttm-label[b-0vauz7ltf4]{font-size:14px;font-weight:600;}
.ttm-colorname[b-0vauz7ltf4]{font-size:12px;color:var(--muted);}
.ttm-dot[b-0vauz7ltf4]{display:block;width:12px;height:12px;border-radius:50%;background:#33474B;}
.ttm-dot.c-blue[b-0vauz7ltf4]{background:#1A55A3;}.ttm-dot.c-green[b-0vauz7ltf4]{background:#1E6B3A;}.ttm-dot.c-amber[b-0vauz7ltf4]{background:#C9962E;}.ttm-dot.c-red[b-0vauz7ltf4]{background:#B3261E;}.ttm-dot.c-purple[b-0vauz7ltf4]{background:#5B3E91;}.ttm-dot.c-teal[b-0vauz7ltf4]{background:#0B6377;}.ttm-dot.c-slate[b-0vauz7ltf4]{background:#33474B;}
.ttm-name[b-0vauz7ltf4]{height:44px;box-sizing:border-box;width:100%;min-width:0;font-size:14px;}
.ttm-colors[b-0vauz7ltf4]{display:flex;align-items:center;gap:12px;margin:0 0 12px;min-height:44px;}
.ttm-cap[b-0vauz7ltf4]{font-size:13px;font-weight:600;flex:none;}
.ttm-sw[b-0vauz7ltf4]{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.ttm-swb[b-0vauz7ltf4]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer;color:#fff;font-size:14px;box-sizing:border-box;box-shadow:0 0 0 1px rgba(8,20,24,.12) inset;}
.ttm-swb i[b-0vauz7ltf4]{font-size:16px;}
.ttm-swb.on[b-0vauz7ltf4]{border-color:#fff;box-shadow:0 0 0 2px var(--ink);}
.ttm-swb:focus-visible[b-0vauz7ltf4]{outline:2px solid var(--teal);outline-offset:2px;}
.ttm-swb.c-blue[b-0vauz7ltf4]{background:#1A55A3;}.ttm-swb.c-green[b-0vauz7ltf4]{background:#1E6B3A;}.ttm-swb.c-amber[b-0vauz7ltf4]{background:#C9962E;}.ttm-swb.c-red[b-0vauz7ltf4]{background:#B3261E;}.ttm-swb.c-purple[b-0vauz7ltf4]{background:#5B3E91;}.ttm-swb.c-teal[b-0vauz7ltf4]{background:#0B6377;}.ttm-swb.c-slate[b-0vauz7ltf4]{background:#33474B;}
.ttm-count[b-0vauz7ltf4]{margin-left:auto;font-size:12px;font-weight:700;background:var(--line);border-radius:999px;padding:1px 8px;color:var(--ink);}
.tk-tag[b-0vauz7ltf4]{display:inline-flex;align-items:center;gap:4px;border-radius:999px;font-size:13px;font-weight:600;background:#EEF2F1;color:#33474B;}
.tk-tag.c-blue[b-0vauz7ltf4]{background:#E3EEFB;color:#1A55A3;}.tk-tag.c-green[b-0vauz7ltf4]{background:#E6F4EA;color:#1E6B3A;}.tk-tag.c-amber[b-0vauz7ltf4]{background:#FBEFD9;color:#8A5A00;}.tk-tag.c-red[b-0vauz7ltf4]{background:#FBE9E7;color:#B3261E;}.tk-tag.c-purple[b-0vauz7ltf4]{background:#EEE8FA;color:#5B3E91;}.tk-tag.c-teal[b-0vauz7ltf4]{background:#DCF1F6;color:#0B6377;}.tk-tag.c-slate[b-0vauz7ltf4]{background:#EEF2F1;color:#33474B;}
@media (max-width:560px){
  .ttm-colors[b-0vauz7ltf4]{flex-wrap:wrap;gap:4px 12px;}
  .ttm-colorname[b-0vauz7ltf4]{display:none;}
}
/* /Components/Shared/TrafficEditDrawer.razor.rz.scp.css */
/* The traffic quick edit rides on the Manager's side-drawer shell (.dpk): only what is its own is here. Every text rule declares its size (12 · 13 · 14 · 16); controls are 44 px (the global field rules). */
.trq-drawer[b-bkvq86c08p]{width:min(560px,100vw);max-height:100dvh;}
/* The header (title + ×) never scrolls away: it is the way out. */
.trq-drawer > .dpk-h[b-bkvq86c08p]{flex:none;position:sticky;top:0;z-index:2;background:#fff;}
.trq-body[b-bkvq86c08p]{padding:4px 16px 16px;font-size:14px;}
.trq-body .field[b-bkvq86c08p]{margin-bottom:12px;min-width:0;}
/* The label and its «Missing» / «Not set» mark share a line (and wrap together on a narrow drawer). */
.trq-body .field > label[b-bkvq86c08p]{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-height:26px;margin-bottom:4px;font-size:13px;}
/* Two (or three) short fields side by side, one per line when the drawer is narrow. */
.trq-body .frow[b-bkvq86c08p]{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 12px;}
.trq-body .frow > .field[b-bkvq86c08p]{min-width:0;}
.trq-body .hint[b-bkvq86c08p]{margin:0 0 12px;font-size:12px;}
.trq-body .field > .hint[b-bkvq86c08p]{margin:6px 0 0;}
.trq-body .action-note[b-bkvq86c08p]{font-size:13px;}

/* Which service this is — read-only, at the top. */
.trq-sum[b-bkvq86c08p]{display:flex;gap:12px;align-items:flex-start;padding:12px 0 14px;border-bottom:1px solid var(--line-2);}
.trq-sum > i[b-bkvq86c08p]{flex:none;font-size:22px;color:var(--teal-d,#0E4C77);margin-top:1px;}
.trq-sum-t[b-bkvq86c08p]{min-width:0;flex:1 1 auto;font-size:13px;line-height:1.4;}
.trq-sum-t > b[b-bkvq86c08p]{display:-webkit-box;font-size:14px;line-height:1.35;}
.trq-sum-t > div[b-bkvq86c08p]{margin-top:2px;font-size:13px;}
.trq-sum .reflink[b-bkvq86c08p]{font-size:13px;font-weight:700;color:var(--teal-d,#0E4C77);white-space:nowrap;font-variant-numeric:tabular-nums;}

/* What is missing, at a glance: icon + count + the names (never colour alone — the warning has its icon, its word and its dashed chips). */
.trq-attn[b-bkvq86c08p]{margin:12px 0 4px;padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.4;}
.trq-attn-h[b-bkvq86c08p]{display:flex;align-items:center;gap:6px;font-size:14px;}
.trq-attn-h > i[b-bkvq86c08p]{font-size:18px;flex:none;}
.trq-attn.warn[b-bkvq86c08p]{font-size:13px;background:#FBF1DD;border:1px solid #E7C97A;border-left:4px solid #B7791F;color:#7A5A12;}
.trq-attn.ok[b-bkvq86c08p]{font-size:13px;background:#E5F3E7;border:1px solid #B9DDC0;border-left:4px solid #2A7440;color:#2A7440;}
.trq-chips[b-bkvq86c08p]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.trq-chip[b-bkvq86c08p]{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:2px 9px;border:1px dashed #B7791F;border-radius:999px;background:#fff;font-size:12px;font-weight:700;line-height:1.4;color:#7A5A12;}
.trq-chip > i[b-bkvq86c08p]{font-size:14px;flex:none;}

/* The mark beside a field's label: «Missing» (the kind of movement expects it) is solid and bold, «Not set» (optional) is dashed and light. */
.trq-gap[b-bkvq86c08p]{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border:1px solid #E7C97A;border-radius:999px;background:#FBF1DD;font-size:12px;font-weight:700;line-height:1.4;color:#7A5A12;white-space:nowrap;}
.trq-gap > i[b-bkvq86c08p]{font-size:13px;flex:none;}
.trq-gap.soft[b-bkvq86c08p]{font-size:12px;border:1px dashed #C9D0CF;background:#fff;font-weight:400;color:var(--muted);}

/* The file's own words, read-only. */
.trq-facts[b-bkvq86c08p]{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:6px 14px;margin:0 0 4px;font-size:13px;line-height:1.4;}
.trq-facts dt[b-bkvq86c08p]{margin:0;font-size:13px;color:var(--muted);}
.trq-facts dd[b-bkvq86c08p]{margin:0;font-size:14px;overflow-wrap:anywhere;}

.trq-actions[b-bkvq86c08p]{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
@media (max-width:560px){
    .trq-actions .btn[b-bkvq86c08p]{flex:1 1 auto;}
}
