/*
 * The partner cabinet (views/partner-cabinet.php and views/partner-cabinet/*): its parts' styles, moved out of the
 * page's inline <style> blocks (2026-10-31). The cabinet's own look (shell, header, tabs, panes) is at the end.
 */

.itbs-partner-dashboard * { box-sizing:border-box; }
.itbs-partner-dashboard [hidden] { display:none !important; }
.itbs-partner-panel { border:1px solid #d8e2ee; border-radius:12px; padding:16px; margin-bottom:16px; background:#fff; }
.itbs-partner-work-panel { border-color:#bfdbfe; background:#f8fbff; box-shadow:0 14px 34px -28px rgba(37,99,235,0.45); }
.itbs-partner-telegram-panel { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:12px 0; padding:14px; border:1px solid #fed7aa; border-radius:12px; background:#fff7ed; }
.itbs-partner-muted-panel { background:#f8fafc; }
.itbs-partner-field { display:block; min-width:0; font-size:13px; font-weight:800; color:#0f172a; }
.itbs-partner-field-2 { grid-column:span 2; }
.itbs-partner-field-3 { grid-column:span 3; }
.itbs-partner-field-4 { grid-column:span 4; }
.itbs-partner-field-6 { grid-column:span 6; }
.itbs-partner-field-full { grid-column:1 / -1; }
.itbs-partner-input { width:100%; margin-top:6px; padding:11px 12px; border:1px solid #cfd9e6; border-radius:10px; background:#fff; color:#0f172a; min-height:44px; }
.itbs-partner-input:focus { outline:none; border-color:#2563eb; box-shadow:0 0 0 3px var(--pc-accent-soft, rgba(37,99,235,.12)); }
.itbs-partner-order-form { display:flex; flex-direction:column; gap:14px; }
.itbs-partner-create-panel { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.itbs-partner-create-panel h3 { margin:0; }
.itbs-partner-create-copy { color:#64748b; font-size:13px; font-weight:700; margin-top:4px; }
.itbs-partner-quick-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.itbs-partner-primary-btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border:2px solid var(--pc-accent, #f97316); border-radius:12px; background:var(--pc-accent, #f97316); color:#fff; font-weight:750; text-decoration:none; cursor:pointer; box-shadow:0 14px 30px -22px rgba(234,88,12,.9); }
.itbs-partner-primary-btn:hover, .itbs-partner-primary-btn:focus { background:var(--pc-accent-ink, #ea580c); color:#fff; border-color:var(--pc-accent-ink, #ea580c); box-shadow:0 16px 34px -22px rgba(234,88,12,1); outline:none; }
.itbs-partner-secondary-btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 16px; border:2px solid #cbd5e1; border-radius:12px; background:#fff; color:#0f172a; font-weight:750; text-decoration:none; cursor:pointer; }
.itbs-partner-secondary-btn:hover, .itbs-partner-secondary-btn:focus { border-color:#94a3b8; background:#f8fafc; color:#0f172a; outline:none; }
.itbs-partner-form-section { border:1px solid #d8e2ee; border-radius:12px; background:rgba(255,255,255,.78); padding:12px; }
.itbs-partner-form-section-title { margin:0 0 10px; color:#475569; font-size:12px; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.itbs-partner-form-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:12px; align-items:start; }
.itbs-partner-searchbox { position:relative; }
.itbs-partner-search-results { position:absolute; z-index:40; top:calc(100% + 6px); left:0; right:0; background:#fff; border:1px solid #cfd9e6; border-radius:10px; box-shadow:0 18px 38px -24px rgba(15,23,42,0.45); display:none; max-height:320px; overflow:auto; }
.itbs-partner-search-row { display:block; width:100%; text-align:left; padding:11px 12px; border:0; border-bottom:1px solid #edf2f7; background:#fff; color:#0f172a; cursor:pointer; }
.itbs-partner-search-row:hover, .itbs-partner-search-row:focus { background:#eaf2ff; outline:none; }
.itbs-partner-picked { margin-top:7px; padding:9px 10px; border-radius:9px; background:#edf6ff; color:#1e3a8a; font-size:12px; font-weight:700; min-height:34px; }
.itbs-partner-hint { margin-top:7px; color:#64748b; font-size:12px; font-weight:600; line-height:1.4; }
.itbs-partner-section-title { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin:22px 0 10px; }
.itbs-partner-section-title h3 { margin:0; }
.itbs-partner-section-title span { color:#64748b; font-size:13px; font-weight:700; }
.itbs-partner-stat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin-bottom:16px; }
.itbs-partner-order-actions { grid-column:1 / -1; display:flex; justify-content:flex-end; gap:10px; align-items:center; }
.itbs-partner-calendar-slot { display:grid; grid-template-columns:92px minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px; border:1px solid #d8e2ee; border-radius:12px; background:#fff; }
.itbs-partner-calendar-slot[data-status="open"] { border-left:5px solid #16a34a; }
.itbs-partner-calendar-slot[data-status="low"] { border-left:5px solid #d97706; }
.itbs-partner-calendar-slot[data-status="full"] { border-left:5px solid #dc2626; }
.itbs-partner-calendar-slot[data-status="closed"] { border-left:5px solid #94a3b8; opacity:.75; }
.itbs-partner-calendar-date { font-weight:750; color:#0f172a; }
.itbs-partner-calendar-meta { color:#64748b; font-size:12px; font-weight:700; margin-top:3px; }
.itbs-partner-calendar-badges { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.itbs-partner-calendar-badge { display:inline-flex; align-items:center; border-radius:999px; padding:4px 8px; font-size:12px; font-weight:750; background:#f1f5f9; color:#334155; }
.itbs-partner-calendar-badge.ok { background:#dcfce7; color:#166534; }
.itbs-partner-calendar-badge.warn { background:#fef3c7; color:#92400e; }
.itbs-partner-calendar-badge.bad { background:#fee2e2; color:#991b1b; }
.itbs-partner-toggle { display:inline-flex; gap:4px; padding:4px; border:1px solid #d8e2ee; border-radius:12px; background:#f8fafc; }
.itbs-partner-toggle button { border:0; border-radius:9px; padding:8px 12px; background:transparent; color:#475569; font-weight:750; cursor:pointer; }
.itbs-partner-toggle button.is-active { background:var(--pc-accent, #f97316); color:#fff; box-shadow:0 10px 22px -18px rgba(234,88,12,.75); }
.itbs-partner-calendar-toolbar { display:flex; justify-content:space-between; align-items:center; gap:10px; margin:12px 0; flex-wrap:wrap; }
.itbs-partner-calendar-month { display:flex; align-items:center; gap:8px; }
.itbs-partner-calendar-month strong { min-width:150px; text-align:center; color:#0f172a; }
.itbs-partner-calendar-month button { border:1px solid #d8e2ee; border-radius:10px; background:#fff; min-width:38px; min-height:38px; font-weight:750; cursor:pointer; }
.itbs-partner-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; }
.itbs-partner-calendar-weekday { color:#64748b; font-size:12px; font-weight:750; text-align:center; padding:5px 2px; }
.itbs-partner-calendar-day { min-height:142px; border:1px solid #d8e2ee; border-radius:10px; background:#fff; padding:8px; display:flex; flex-direction:column; gap:5px; overflow:hidden; }
.itbs-partner-calendar-day.is-muted { background:#f8fafc; color:#94a3b8; }
.itbs-partner-calendar-day.has-slots { border-color:#bfdbfe; box-shadow:0 12px 24px -24px rgba(37,99,235,.45); }
.itbs-partner-calendar-day.is-today { border-color:#2563eb; box-shadow:0 0 0 2px var(--pc-accent-soft, rgba(37,99,235,.12)); }
.itbs-partner-calendar-day-head { display:flex; justify-content:space-between; align-items:center; gap:6px; font-size:12px; font-weight:750; }
.itbs-partner-calendar-count { border:0; border-radius:999px; padding:2px 7px; background:#eaf2ff; color:#1d4ed8; font-size:11px; font-weight:750; line-height:1.35; cursor:pointer; }
.itbs-partner-calendar-count:hover, .itbs-partner-calendar-count:focus { background:#2563eb; color:#fff; outline:none; }
.itbs-partner-calendar-chip-list { display:flex; flex-direction:column; gap:4px; max-height:104px; overflow:auto; padding-right:2px; scrollbar-width:thin; scrollbar-color:#bfdbfe transparent; }
.itbs-partner-calendar-chip-list::-webkit-scrollbar { width:6px; }
.itbs-partner-calendar-chip-list::-webkit-scrollbar-thumb { background:#bfdbfe; border-radius:999px; }
.itbs-partner-calendar-chip { width:100%; border:0; border-radius:8px; padding:5px 6px; text-align:left; background:#f1f5f9; color:#0f172a; cursor:pointer; font-size:11px; font-weight:800; line-height:1.25; }
.itbs-partner-calendar-chip:hover { background:#e0f2fe; }
.itbs-partner-calendar-chip[data-status="open"] { background:#dcfce7; color:#166534; }
.itbs-partner-calendar-chip[data-status="low"] { background:#fef3c7; color:#92400e; }
.itbs-partner-calendar-chip[data-status="full"] { background:#fee2e2; color:#991b1b; }
.itbs-partner-calendar-chip[data-status="closed"] { background:#f1f5f9; color:#64748b; }
.itbs-partner-calendar-chip.is-formed { background:#dbeafe; color:#1e40af; box-shadow:inset 3px 0 0 #2563eb; }
.itbs-partner-calendar-chip.is-potential { background:#ecfdf3; color:#166534; }
.itbs-partner-calendar-loading { padding:14px; border:1px dashed #bfdbfe; border-radius:10px; background:#eff6ff; color:#1d4ed8; font-weight:800; }
.itbs-partner-calendar-slot.is-clickable { cursor:pointer; }
.itbs-partner-calendar-slot.is-clickable:hover { border-color:#93c5fd; box-shadow:0 12px 26px -26px rgba(37,99,235,.65); }
.itbs-partner-modal { position:fixed; inset:0; z-index:100000; display:none; align-items:center; justify-content:center; padding:18px; }
.itbs-partner-modal.is-open { display:flex !important; }
.itbs-partner-modal-backdrop { position:absolute; inset:0; background:rgba(15,23,42,.52); }
.itbs-partner-modal-card { position:relative; z-index:1; width:min(720px,100%); max-height:88vh; overflow:auto; border-radius:14px; background:#fff; padding:18px; box-shadow:0 24px 80px -30px rgba(15,23,42,.75); }
.itbs-partner-booking-modal-card { width:min(980px,100%); background:#f8fbff; border:1px solid #d8e2ee; }
.itbs-partner-modal-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:12px; }
.itbs-partner-modal-close { border:1px solid #d8e2ee; border-radius:10px; background:#f8fafc; color:#0f172a; width:38px; height:38px; font-size:22px; line-height:1; cursor:pointer; }
.itbs-partner-modal-actions { display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; margin-top:14px; }
.itbs-partner-live-price { margin-top:12px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.itbs-partner-live-price-card { border:1px solid #d8e2ee; border-radius:10px; padding:10px; background:#fff; min-width:0; }
.itbs-partner-live-price-card span { display:block; color:#64748b; font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.itbs-partner-live-price-card strong { display:block; margin-top:4px; color:#0f172a; font-size:16px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.itbs-partner-guest-label { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.itbs-partner-guest-label em { font-style:normal; color:#64748b; font-size:12px; font-weight:650; white-space:nowrap; }
.itbs-partner-guest-hint { display:block; margin-top:4px; font-size:12px; font-weight:600; line-height:1.35; color:#64748b; }
.itbs-partner-live-price-sub { display:block; margin-top:2px; color:#64748b; font-size:11px; font-weight:600; line-height:1.3; }
.itbs-partner-live-price-card.sale { background:#eff6ff; border-color:#bfdbfe; }
.itbs-partner-live-price-card.commission { background:#ecfeff; border-color:#bae6fd; }
.itbs-partner-live-price-card.due { background:#fff7ed; border-color:#fed7aa; }
.itbs-partner-live-price-card.receive { background:#ecfdf3; border-color:#bbf7d0; }
.itbs-partner-live-price-note { grid-column:1 / -1; color:#64748b; font-size:12px; font-weight:800; line-height:1.35; }
.itbs-partner-live-price-note.warn { color:#b91c1c; }
.itbs-partner-addon-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:8px; }
.itbs-partner-addon-card { display:flex; align-items:flex-start; gap:10px; padding:11px 12px; border:1px solid #d8e2ee; border-radius:11px; background:#fff; cursor:pointer; }
.itbs-partner-addon-card:has(input:checked) { border-color:#fb923c; background:#fff7ed; box-shadow:0 0 0 2px rgba(249,115,22,.1); }
.itbs-partner-addon-card input { margin-top:3px; }
.itbs-partner-addon-card strong { display:block; color:#0f172a; font-size:13px; }
.itbs-partner-addon-card small { display:block; margin-top:3px; color:#64748b; font-size:11px; font-weight:800; }
.itbs-partner-seat-summary { display:none; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border:1px solid #bfdbfe; border-radius:12px; background:#eff6ff; color:#172554; }
.itbs-partner-seat-summary.is-visible { display:flex; }
.itbs-partner-seat-summary strong { display:block; font-size:14px; font-weight:750; }
.itbs-partner-seat-summary small { display:block; margin-top:3px; color:#475569; font-size:12px; font-weight:700; }
.itbs-partner-seat-action { flex:0 0 auto; min-height:40px; padding:9px 14px; border:0; border-radius:10px; background:#2563eb; color:#fff; font-size:13px; font-weight:750; cursor:pointer; }
.itbs-partner-seat-action:hover { background:#1d4ed8; }
.itbs-partner-seat-action:disabled { background:#cbd5e1; cursor:not-allowed; }
.itbs-partner-seat-modal { z-index:100004; }
.itbs-partner-seat-modal .itbs-partner-modal-card { width:min(620px,100%); padding:0; overflow:hidden; }
.itbs-partner-seat-head { margin:0; padding:18px 20px; background:#0f1f3a; color:#fff; }
.itbs-partner-seat-head h3 { color:#fff; }
.itbs-partner-seat-head p { margin:4px 0 0; color:#cbd5e1; font-size:13px; font-weight:700; }
.itbs-partner-seat-head .itbs-partner-modal-close { border-color:rgba(255,255,255,.28); background:transparent; color:#fff; border-radius:50%; }
.itbs-partner-seat-body { padding:18px; overflow:auto; background:#f8fafc; }
.itbs-partner-seat-front { display:flex; justify-content:space-between; align-items:center; max-width:460px; margin:0 auto 12px; padding:10px 14px; border-radius:10px; background:#dbeafe; color:#1e3a8a; font-size:12px; font-weight:750; letter-spacing:.05em; text-transform:uppercase; }
.itbs-partner-seat-map { max-width:460px; margin:0 auto; padding:16px; border:2px solid #cbd5e1; border-radius:16px 16px 24px 24px; background:#fff; }
.itbs-partner-seat-row { display:grid; grid-template-columns:1fr 1fr 48px 1fr 1fr; gap:8px; align-items:center; margin-bottom:10px; }
.itbs-partner-seat-row:last-child { margin-bottom:0; }
.itbs-partner-seat-row-label { color:#94a3b8; font-size:10px; font-weight:750; text-align:center; text-transform:uppercase; writing-mode:vertical-rl; }
.itbs-partner-seat { min-height:50px; border:2px solid #cbd5e1; border-radius:12px; background:#fff; color:#0f172a; font-size:16px; font-weight:750; box-shadow:0 3px 0 #e2e8f0; cursor:pointer; transition:transform .14s ease, background .14s ease, border-color .14s ease; }
.itbs-partner-seat:hover:not(:disabled) { transform:translateY(-1px); border-color:#2563eb; }
.itbs-partner-seat.is-selected { border-color:#16a34a; background:#22c55e; color:#052e16; box-shadow:0 3px 0 #15803d; }
.itbs-partner-seat.is-blocked { border-style: dashed; background: repeating-linear-gradient(45deg, #f8fafc 0 6px, #eef2f7 6px 12px); color: #cbd5e1; cursor: not-allowed; }
.itbs-partner-seat:disabled { border-color:#e2e8f0; background:#e2e8f0; color:#94a3b8; box-shadow:none; cursor:not-allowed; }
.itbs-partner-seat-legend { display:flex; justify-content:center; gap:14px; flex-wrap:wrap; margin:14px 0 0; color:#475569; font-size:12px; font-weight:800; }
.itbs-partner-seat-legend span { display:inline-flex; align-items:center; gap:5px; }
.itbs-partner-seat-legend i { width:14px; height:14px; border:2px solid #cbd5e1; border-radius:4px; background:#fff; }
.itbs-partner-seat-legend .selected i { border-color:#16a34a; background:#22c55e; }
.itbs-partner-seat-legend .occupied i { border-color:#e2e8f0; background:#e2e8f0; }
.itbs-partner-seat-message { min-height:20px; margin-top:12px; color:#475569; font-size:12px; font-weight:800; text-align:center; }
.itbs-partner-seat-message.is-error { color:#b91c1c; }
.itbs-partner-seat-foot { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:14px 18px; border-top:1px solid #e2e8f0; background:#fff; }
.itbs-partner-seat-foot strong { display:block; color:#0f172a; }
.itbs-partner-seat-foot small { display:block; margin-top:2px; color:#64748b; }
.itbs-partner-seat-confirm { min-height:44px; padding:10px 18px; border:0; border-radius:11px; background:#2563eb; color:#fff; font-weight:750; cursor:pointer; }
.itbs-partner-seat-confirm:disabled { background:#cbd5e1; cursor:not-allowed; }
.itbs-partner-qr-open-button { display:inline-flex !important; align-items:center; justify-content:center; min-height:42px; padding:10px 16px !important; border-radius:12px !important; background:var(--pc-accent, #f97316) !important; border-color:var(--pc-accent, #f97316) !important; color:#fff !important; font-weight:750 !important; line-height:1.2 !important; text-decoration:none !important; box-shadow:0 10px 22px -16px rgba(249,115,22,.75); white-space:normal; }
.itbs-partner-qr-open-button:hover, .itbs-partner-qr-open-button:focus { background:var(--pc-accent-ink, #ea580c) !important; border-color:var(--pc-accent-ink, #ea580c) !important; color:#fff !important; }
.itbs-partner-ticket-notice { margin:12px 0; padding:14px; border:1px solid #bbf7d0; border-radius:14px; background:linear-gradient(135deg,#f0fdf4 0%,#eff6ff 100%); color:#0f172a; box-shadow:0 18px 40px -32px rgba(22,163,74,.55); }
.itbs-partner-ticket-notice h3 { margin:0; color:#14532d; font-size:18px; font-weight:800; }
.itbs-partner-ticket-notice p { margin:6px 0 0; color:#475569; font-size:13px; font-weight:800; line-height:1.4; }
.itbs-partner-ticket-notice-main { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.itbs-partner-ticket-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.itbs-partner-ticket-btn { display:inline-flex !important; align-items:center; justify-content:center; min-height:42px; padding:10px 14px !important; border:1px solid #cbd5e1 !important; border-radius:12px !important; background:#fff !important; color:#0f172a !important; font-size:13px !important; font-weight:750 !important; line-height:1.1 !important; text-decoration:none !important; cursor:pointer; white-space:nowrap; box-shadow:0 12px 24px -22px rgba(15,23,42,.45); transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease; }
.itbs-partner-ticket-btn:hover, .itbs-partner-ticket-btn:focus { transform:translateY(-1px); border-color:#93c5fd !important; box-shadow:0 16px 30px -24px rgba(37,99,235,.7); outline:none; }
.itbs-partner-ticket-btn.primary { border-color:#2563eb !important; background:#2563eb !important; color:#fff !important; }
.itbs-partner-ticket-btn.primary:hover, .itbs-partner-ticket-btn.primary:focus { background:#1d4ed8 !important; border-color:#1d4ed8 !important; color:#fff !important; }
.itbs-partner-ticket-btn.share { border-color:#a5f3fc !important; background:#ecfeff !important; color:#0e7490 !important; }
.itbs-partner-ticket-btn.share:hover, .itbs-partner-ticket-btn.share:focus { border-color:#67e8f9 !important; background:#cffafe !important; color:#155e75 !important; }
.itbs-partner-ticket-btn.mini { min-height:34px; padding:8px 10px !important; border-radius:10px !important; font-size:12px !important; }
.itbs-partner-ticket-btn:disabled { opacity:.68; cursor:wait; transform:none; }
.itbs-partner-booking-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(96px,132px)); gap:8px; align-items:stretch; margin-top:12px; padding-top:12px; border-top:1px solid rgba(147,197,253,.65); }
.itbs-partner-booking-actions .itbs-partner-booking-action { display:inline-flex !important; align-items:center; justify-content:center; width:100%; min-width:0; min-height:40px !important; margin:0 !important; padding:9px 12px !important; border:1px solid #cbd5e1 !important; border-radius:11px !important; background:#fff !important; color:#334155 !important; font-size:12px !important; font-weight:750 !important; line-height:1.1 !important; text-align:center; text-decoration:none !important; white-space:nowrap; cursor:pointer; box-shadow:0 10px 22px -20px rgba(15,23,42,.45); transition:border-color .14s ease, background .14s ease, color .14s ease, box-shadow .14s ease; }
.itbs-partner-booking-actions .itbs-partner-booking-action:hover,
.itbs-partner-booking-actions .itbs-partner-booking-action:focus { transform:none !important; border-color:#94a3b8 !important; background:#f8fafc !important; color:#0f172a !important; box-shadow:0 14px 26px -22px rgba(15,23,42,.65); outline:none; }
.itbs-partner-booking-actions .itbs-partner-booking-action.is-ticket { border-color:#2563eb !important; background:#2563eb !important; color:#fff !important; }
.itbs-partner-booking-actions .itbs-partner-booking-action.is-ticket:hover,
.itbs-partner-booking-actions .itbs-partner-booking-action.is-ticket:focus { border-color:#1d4ed8 !important; background:#1d4ed8 !important; color:#fff !important; }
.itbs-partner-booking-actions .itbs-partner-booking-action.is-share { border-color:#a5f3fc !important; background:#ecfeff !important; color:#0e7490 !important; }
.itbs-partner-booking-actions .itbs-partner-booking-action.is-share:hover,
.itbs-partner-booking-actions .itbs-partner-booking-action.is-share:focus { border-color:#67e8f9 !important; background:#cffafe !important; color:#155e75 !important; }
.itbs-partner-booking-actions .itbs-partner-booking-action.is-finance { border-color:#c7d2fe !important; background:#eef2ff !important; color:#3730a3 !important; }
.itbs-partner-booking-actions .itbs-partner-booking-action.is-finance:hover,
.itbs-partner-booking-actions .itbs-partner-booking-action.is-finance:focus { border-color:#a5b4fc !important; background:#e0e7ff !important; color:#312e81 !important; }
.itbs-partner-booking-actions .itbs-partner-booking-action.is-qr { border-color:#fdba74 !important; background:#fff7ed !important; color:#c2410c !important; }
.itbs-partner-booking-actions .itbs-partner-booking-action.is-qr:hover,
.itbs-partner-booking-actions .itbs-partner-booking-action.is-qr:focus { border-color:#fb923c !important; background:#ffedd5 !important; color:#9a3412 !important; }
.itbs-partner-booking-actions .itbs-partner-booking-action.is-card { border-color:#fed7aa !important; background:#fff !important; color:#c2410c !important; }
.itbs-partner-booking-actions .itbs-partner-booking-action.is-card:hover,
.itbs-partner-booking-actions .itbs-partner-booking-action.is-card:focus { border-color:#fb923c !important; background:#fff7ed !important; color:#9a3412 !important; }
.itbs-partner-booking-actions .itbs-partner-booking-action:disabled { opacity:.68; cursor:wait; box-shadow:none; }
.itbs-partner-ticket-cell { display:flex; flex-wrap:wrap; gap:6px; min-width:168px; }
.itbs-partner-bookings-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.itbs-partner-bookings-head h3 { margin:0; }
.itbs-partner-bookings-summary { color:#64748b; font-size:12px; font-weight:800; }
.itbs-partner-bookings-toolbar { display:grid; grid-template-columns:minmax(260px,1.7fr) minmax(150px,.7fr) minmax(150px,.7fr) auto; gap:8px; align-items:end; margin-bottom:12px; padding:12px; border:1px solid #d8e2ee; border-radius:12px; background:#f8fbff; }
.itbs-partner-bookings-toolbar label { display:grid; gap:5px; color:#475569; font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.itbs-partner-bookings-toolbar input, .itbs-partner-bookings-toolbar select { width:100%; min-height:42px; padding:9px 11px; border:1px solid #cbd5e1; border-radius:10px; background:#fff; color:#0f172a; font-size:13px; font-weight:700; }
.itbs-partner-bookings-toolbar input:focus, .itbs-partner-bookings-toolbar select:focus { outline:none; border-color:#2563eb; box-shadow:0 0 0 3px var(--pc-accent-soft, rgba(37,99,235,.12)); }
.itbs-partner-bookings-toolbar-actions { display:flex; align-items:center; justify-content:flex-end; }
.itbs-partner-bookings-toolbar-actions button, .itbs-partner-bookings-toolbar-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 13px; border:1px solid #2563eb; border-radius:10px; background:#2563eb; color:#fff; font-size:12px; font-weight:750; text-decoration:none; white-space:nowrap; cursor:pointer; }
.itbs-partner-bookings-toolbar-actions a { border-color:#cbd5e1; background:#fff; color:#475569; }
.itbs-partner-filter-toast { position:fixed; right:22px; bottom:22px; z-index:10020; display:flex; align-items:center; gap:9px; max-width:min(320px,calc(100vw - 28px)); padding:11px 14px; border:1px solid #bfdbfe; border-radius:12px; background:#0f172a; color:#fff; box-shadow:0 18px 44px -20px rgba(15,23,42,.75); font-size:12px; font-weight:750; opacity:0; transform:translateY(10px) scale(.98); pointer-events:none; transition:opacity .14s ease, transform .14s ease; }
.itbs-partner-filter-toast.is-visible { opacity:1; transform:translateY(0) scale(1); }
.itbs-partner-filter-toast::before { content:''; width:12px; height:12px; flex:0 0 12px; border:2px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:999px; animation:itbsPartnerFilterSpin .7s linear infinite; }
.itbs-partner-filter-toast.is-success { border-color:#86efac; background:#166534; }
.itbs-partner-filter-toast.is-success::before { content:'✓'; display:grid; place-items:center; width:16px; height:16px; flex-basis:16px; border:0; border-radius:999px; background:#fff; color:#166534; font-size:11px; line-height:1; animation:none; }
.itbs-partner-panel.is-filtering .itbs-partner-bookings-table-wrap,
.itbs-partner-panel.is-filtering .itbs-partner-bookings-pagination { opacity:.48; transform:translateY(2px); pointer-events:none; }
.itbs-partner-bookings-table-wrap, .itbs-partner-bookings-pagination { transition:opacity .16s ease, transform .16s ease; }
.itbs-partner-bookings-hidden-submit { position:absolute !important; width:1px !important; min-width:0 !important; height:1px !important; min-height:0 !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
@keyframes itbsPartnerFilterSpin { to { transform:rotate(360deg); } }
.itbs-partner-bookings-table-wrap { overflow:auto; border:1px solid #e2e8f0; border-radius:12px; }
.itbs-partner-bookings-table { width:100%; min-width:920px; border-collapse:collapse; font-size:13px; }
.itbs-partner-bookings-table th { padding:10px 9px; border-bottom:1px solid #d8e2ee; background:#f8fafc; color:#475569; text-align:left; font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.03em; }
.itbs-partner-bookings-table td { padding:10px 9px; border-bottom:1px solid #f1f5f9; vertical-align:middle; }
.itbs-partner-bookings-table tbody tr:last-child td { border-bottom:0; }
.itbs-partner-bookings-table tbody tr:hover { background:#f8fbff; }
.itbs-partner-booking-number { color:#1d4ed8; font-weight:800; white-space:nowrap; }
.itbs-partner-booking-status { display:inline-flex; padding:5px 8px; border-radius:999px; background:#fef3c7; color:#92400e; font-size:11px; font-weight:750; white-space:nowrap; }
.itbs-partner-booking-status.is-approved { background:#e0e7ff; color:#3730a3; }
.itbs-partner-booking-status.is-paid { background:#dcfce7; color:#166534; }
.itbs-partner-bookings-pagination { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:12px; }
.itbs-partner-bookings-pages { display:flex; gap:6px; flex-wrap:wrap; }
.itbs-partner-bookings-pages a, .itbs-partner-bookings-pages span { display:inline-flex; align-items:center; justify-content:center; min-width:36px; min-height:36px; padding:7px 10px; border:1px solid #d8e2ee; border-radius:10px; background:#fff; color:#334155; font-size:12px; font-weight:750; text-decoration:none; }
.itbs-partner-bookings-pages span { border-color:#2563eb; background:#2563eb; color:#fff; }
.itbs-partner-trip-plan { display:grid; gap:16px; }
.itbs-partner-trip-plan-grid { display:grid; grid-template-columns:1fr; gap:16px; align-items:start; width:100%; }
.itbs-partner-plan-mode-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding:5px; border:1px solid #d8e2ee; border-radius:14px; background:#f1f5f9; }
.itbs-partner-plan-mode-btn { min-height:46px; border:0; border-radius:10px; background:transparent; color:#64748b; font-size:14px; font-weight:800; cursor:pointer; }
.itbs-partner-plan-mode-btn.is-active { background:#fff; color:#1d4ed8; box-shadow:0 8px 24px -18px rgba(15,23,42,.55); }
.itbs-partner-plan-shared { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.6fr); gap:12px; align-items:stretch; }
.itbs-partner-plan-shared .itbs-partner-plan-guests { padding:12px; border:1px solid #d8e2ee; border-radius:14px; background:#fff; }
.itbs-partner-plan-builder { display:grid; gap:14px; min-width:0; }
.itbs-partner-plan-top { display:grid; grid-template-columns:1fr; gap:14px; align-items:start; }
.itbs-partner-plan-tour-area { min-width:0; display:grid; gap:10px; }
.itbs-partner-plan-vacation { display:grid; grid-template-columns:minmax(320px,1.35fr) minmax(260px,1fr); gap:10px; align-items:stretch; padding:12px; border:1px solid #d8e2ee; border-radius:14px; background:#f8fbff; }
.itbs-partner-vacation-picker { position:relative; min-width:0; }
.itbs-partner-vacation-toggle { width:100%; min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 14px; border:1px solid #cbd5e1; border-radius:13px; background:#fff; color:#0f172a; text-align:left; cursor:pointer; box-shadow:0 12px 28px -26px rgba(15,23,42,.5); }
.itbs-partner-vacation-toggle:hover, .itbs-partner-vacation-toggle:focus { border-color:#2563eb; box-shadow:0 0 0 4px rgba(37,99,235,.11); outline:none; }
.itbs-partner-vacation-toggle.has-range { border-color:#93c5fd; background:linear-gradient(135deg,#fff 0%,#eff6ff 100%); }
.itbs-partner-vacation-toggle > span { display:grid; gap:2px; min-width:0; }
.itbs-partner-vacation-toggle em { color:#64748b; font-size:10px; font-style:normal; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.itbs-partner-vacation-toggle strong { overflow:hidden; color:#0f172a; font-size:17px; font-weight:800; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.itbs-partner-vacation-toggle small { color:#64748b; font-size:11px; font-weight:800; }
.itbs-partner-vacation-toggle svg { flex:0 0 auto; width:25px; height:25px; padding:4px; border-radius:8px; background:#eff6ff; color:#2563eb; }
.itbs-partner-vacation-popover { position:absolute; z-index:95; top:calc(100% + 9px); left:0; width:min(720px, calc(100vw - 58px)); padding:14px; border:1px solid #d8e2ee; border-radius:18px; background:#fff; box-shadow:0 28px 80px -28px rgba(15,23,42,.65); }
.itbs-partner-vacation-popover-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.itbs-partner-vacation-popover-head strong { color:#0f172a; font-size:16px; font-weight:800; text-transform:capitalize; }
.itbs-partner-vacation-nav { width:38px; height:38px; border:1px solid #d8e2ee; border-radius:11px; background:#f8fafc; color:#0f172a; font-size:20px; font-weight:800; cursor:pointer; }
.itbs-partner-vacation-nav:disabled { opacity:.35; cursor:not-allowed; }
.itbs-partner-vacation-quick { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.itbs-partner-vacation-quick button { min-height:32px; padding:6px 10px; border:1px solid #bfdbfe; border-radius:999px; background:#eff6ff; color:#1d4ed8; font-size:12px; font-weight:750; cursor:pointer; }
.itbs-partner-vacation-months { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.itbs-partner-vacation-months.is-single { grid-template-columns:minmax(0,340px); justify-content:center; }
.itbs-partner-vacation-month { min-width:0; padding:10px; border:1px solid #eef2f7; border-radius:14px; background:#fbfdff; }
.itbs-partner-vacation-month h5 { margin:0 0 9px; color:#334155; font-size:13px; font-weight:800; text-align:center; text-transform:capitalize; }
.itbs-partner-vacation-weekdays, .itbs-partner-vacation-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.itbs-partner-vacation-weekdays { margin-bottom:4px; color:#94a3b8; font-size:10px; font-weight:800; text-align:center; text-transform:uppercase; }
.itbs-partner-vacation-day, .itbs-partner-vacation-empty { min-height:38px; }
.itbs-partner-vacation-day { position:relative; border:0; border-radius:10px; background:transparent; color:#334155; font-size:12px; font-weight:750; cursor:pointer; }
.itbs-partner-vacation-day:hover, .itbs-partner-vacation-day:focus { background:#dbeafe; color:#1d4ed8; outline:none; }
.itbs-partner-vacation-day.is-today { box-shadow:inset 0 0 0 1px #93c5fd; }
.itbs-partner-vacation-day.is-range { border-radius:6px; background:#dbeafe; color:#1e40af; }
.itbs-partner-vacation-day.is-start, .itbs-partner-vacation-day.is-end { border-radius:10px; background:#2563eb; color:#fff; box-shadow:0 9px 20px -12px rgba(37,99,235,.9); }
.itbs-partner-vacation-day:disabled { background:transparent; color:#cbd5e1; cursor:not-allowed; box-shadow:none; }
.itbs-partner-vacation-popover-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; padding-top:11px; border-top:1px solid #eef2f7; }
.itbs-partner-vacation-instruction { color:#64748b; font-size:12px; font-weight:850; }
.itbs-partner-vacation-foot-actions { display:flex; gap:7px; }
.itbs-partner-vacation-foot-actions button { min-height:36px; padding:7px 11px; border:1px solid #d8e2ee; border-radius:10px; background:#fff; color:#475569; font-size:12px; font-weight:750; cursor:pointer; }
.itbs-partner-vacation-foot-actions .is-primary { border-color:#2563eb; background:#2563eb; color:#fff; }
.itbs-partner-plan-vacation-note { min-height:52px; display:flex; align-items:center; padding:10px 12px; border:1px dashed #cbd5e1; border-radius:12px; background:#fff; color:#475569; font-size:13px; font-weight:800; line-height:1.35; }
.itbs-partner-plan-vacation-note.is-warn { border-color:#fed7aa; background:#fff7ed; color:#9a3412; }
.itbs-partner-plan-search-input { min-height:62px; padding:15px 18px; border-width:2px; border-radius:16px; font-size:18px; font-weight:750; box-shadow:0 16px 34px -30px rgba(37,99,235,.45); }
.itbs-partner-plan-search-input::placeholder { color:#94a3b8; font-weight:800; }
.itbs-partner-plan-search-input:focus { border-color:#2563eb; box-shadow:0 0 0 4px rgba(37,99,235,.13), 0 18px 36px -30px rgba(37,99,235,.55); }
.itbs-partner-plan-tour-area .itbs-partner-search-results { max-height:430px; border-radius:16px; }
.itbs-partner-plan-search-row { display:grid; gap:8px; padding:15px 16px; }
.itbs-partner-plan-search-title { display:block; color:#0f172a; font-size:18px; font-weight:800; line-height:1.22; }
.itbs-partner-plan-search-meta { display:block; color:#64748b; font-size:13px; font-weight:800; line-height:1.35; }
.itbs-partner-plan-date-hints { display:grid; gap:6px; margin-top:2px; }
.itbs-partner-plan-date-hint-line { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.itbs-partner-plan-date-hint-label { display:inline-flex; align-items:center; min-height:24px; padding:4px 8px; border-radius:999px; background:#f1f5f9; color:#475569; font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.03em; }
.itbs-partner-plan-date-chip { display:inline-flex; align-items:center; min-height:28px; padding:5px 9px; border:1px solid #bfdbfe; border-radius:999px; background:#eff6ff; color:#1d4ed8; font-size:12px; font-weight:750; line-height:1.15; }
.itbs-partner-plan-date-chip.is-recommended { border-color:#86efac; background:#dcfce7; color:#166534; }
.itbs-partner-plan-date-chip.is-low { border-color:#fde68a; background:#fef3c7; color:#92400e; }
.itbs-partner-plan-date-empty { color:#64748b; font-size:12px; font-weight:800; }
.itbs-partner-plan-picked-title { display:block; color:#0f172a; font-size:17px; font-weight:800; line-height:1.25; }
.itbs-partner-plan-picked-meta { display:block; margin-top:3px; color:#475569; font-size:13px; font-weight:800; }
.itbs-partner-plan-row { display:grid; grid-template-columns:minmax(320px,1fr) minmax(180px,220px); gap:12px; align-items:start; }
.itbs-partner-plan-guests { display:flex; flex-wrap:wrap; gap:8px; align-content:flex-start; }
.itbs-partner-plan-stepper { display:grid; gap:4px; min-width:136px; flex:1 1 136px; }
.itbs-partner-plan-stepper span { color:#64748b; font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.itbs-partner-plan-stepper div { display:grid; grid-template-columns:40px minmax(46px,1fr) 40px; border:1px solid #d8e2ee; border-radius:10px; overflow:hidden; background:#fff; }
.itbs-partner-plan-stepper button { border:0; background:#f8fafc; color:#0f172a; font-size:18px; font-weight:750; cursor:pointer; }
.itbs-partner-plan-stepper output { display:flex; align-items:center; justify-content:center; min-height:34px; color:#0f172a; font-weight:750; }
.itbs-partner-plan-date-block { min-width:0; }
.itbs-partner-plan-date-toggle { width:100%; min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:14px; text-align:left; border:1px solid #cbd5e1; border-radius:14px; background:#fff; color:#0f172a; padding:12px 14px; cursor:pointer; box-shadow:0 12px 30px -28px rgba(15,23,42,.35); transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.itbs-partner-plan-date-toggle:hover, .itbs-partner-plan-date-toggle:focus { border-color:#22c55e; box-shadow:0 18px 34px -30px rgba(22,163,74,.55); transform:translateY(-1px); outline:none; }
.itbs-partner-plan-date-toggle:disabled { cursor:not-allowed; opacity:.62; transform:none; box-shadow:none; border-color:#d8e2ee; }
.itbs-partner-plan-date-toggle span { display:grid; gap:3px; min-width:0; }
.itbs-partner-plan-date-toggle em { font-style:normal; color:#64748b; font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.itbs-partner-plan-date-toggle strong { color:#0f172a; font-size:18px; font-weight:750; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.itbs-partner-plan-date-toggle small { color:#64748b; font-size:12px; font-weight:800; line-height:1.3; }
.itbs-partner-plan-date-toggle b { flex:0 0 auto; border-radius:999px; padding:8px 12px; background:#dcfce7; color:#166534; font-size:12px; font-weight:750; }
.itbs-partner-booking-date-field { position:relative; }
.itbs-partner-booking-date-toggle { min-height:44px; margin-top:6px; padding:10px 12px; border-radius:10px; box-shadow:none; }
.itbs-partner-booking-date-toggle:hover, .itbs-partner-booking-date-toggle:focus { transform:none; box-shadow:0 0 0 3px var(--pc-accent-soft, rgba(37,99,235,.12)); border-color:#2563eb; }
.itbs-partner-booking-date-toggle.is-warning { border-color:#fed7aa; background:#fff7ed; box-shadow:0 0 0 3px rgba(249,115,22,.12); }
.itbs-partner-booking-date-toggle span { display:block; min-width:0; }
.itbs-partner-booking-date-toggle em,
.itbs-partner-booking-date-toggle small { display:none; }
.itbs-partner-booking-date-toggle strong { display:block; color:#0f172a; font-size:15px; font-weight:750; line-height:1.25; }
.itbs-partner-booking-date-toggle b { padding:0; background:transparent; color:#64748b; font-size:18px; line-height:1; }
.itbs-partner-booking-date-calendar { position:absolute; z-index:70; top:calc(100% + 8px); left:50%; transform:translateX(-50%); width:min(660px, calc(100vw - 48px)); margin-top:0; padding:14px; box-shadow:0 24px 70px -34px rgba(15,23,42,.65); }
.itbs-partner-booking-date-calendar .itbs-partner-plan-calendar-days,
.itbs-partner-booking-date-calendar .itbs-partner-plan-calendar-weekdays { gap:8px; }
.itbs-partner-booking-date-calendar .itbs-partner-plan-day,
.itbs-partner-booking-date-calendar .itbs-partner-plan-calendar-empty-cell { min-height:64px; }
.itbs-partner-booking-any-date { margin-top:12px; padding:10px; border:1px dashed #d8e2ee; border-radius:12px; background:#fff; }
.itbs-partner-booking-any-date label { display:grid; gap:6px; color:#64748b; font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.itbs-partner-booking-date-warning { display:none; margin-top:8px; padding:9px 10px; border:1px solid #fed7aa; border-radius:10px; background:#fff7ed; color:#9a3412; font-size:12px; font-weight:750; line-height:1.35; }
.itbs-partner-booking-date-warning.is-visible { display:block; }
.itbs-partner-plan-add-btn { width:100%; min-height:78px; align-self:start; }
.itbs-partner-plan-calendar-shell { display:none; margin-top:10px; border:1px solid #d8e2ee; border-radius:14px; background:#f8fbff; padding:12px; box-shadow:0 18px 46px -36px rgba(15,23,42,.5); }
.itbs-partner-plan-calendar-shell.is-open { display:block; }
.itbs-partner-plan-calendar-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.itbs-partner-plan-calendar-head strong { color:#0f172a; font-size:16px; font-weight:750; }
.itbs-partner-plan-calendar-head button { width:36px; height:36px; border:1px solid #d8e2ee; border-radius:10px; background:#fff; color:#0f172a; font-size:18px; font-weight:750; cursor:pointer; }
.itbs-partner-plan-calendar-head button:disabled { opacity:.42; cursor:not-allowed; background:#f8fafc; }
.itbs-partner-plan-calendar-weekdays, .itbs-partner-plan-calendar-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; }
.itbs-partner-plan-calendar-weekdays span { color:#64748b; font-size:11px; font-weight:750; text-align:center; text-transform:uppercase; }
.itbs-partner-plan-calendar-days { margin-top:6px; }
.itbs-partner-plan-calendar-empty-cell { min-height:58px; }
.itbs-partner-plan-day { min-height:58px; display:grid; align-content:center; justify-items:center; gap:2px; border:1px solid #e2e8f0; border-radius:12px; background:#fff; color:#94a3b8; font-weight:750; cursor:not-allowed; }
.itbs-partner-plan-day strong { font-size:15px; }
.itbs-partner-plan-day small { font-size:10px; font-weight:750; }
.itbs-partner-plan-day.is-available { cursor:pointer; color:#166534; background:#dcfce7; border-color:#86efac; box-shadow:0 12px 22px -22px rgba(22,163,74,.8); transition:transform .14s ease, box-shadow .14s ease, background .14s ease; }
.itbs-partner-plan-day.is-available:hover, .itbs-partner-plan-day.is-available:focus { transform:translateY(-1px); background:#bbf7d0; box-shadow:0 16px 28px -22px rgba(22,163,74,.95); outline:none; }
.itbs-partner-plan-day.is-selected { color:#fff; background:#2563eb; border-color:#2563eb; box-shadow:0 16px 32px -22px rgba(37,99,235,.9); }
.itbs-partner-plan-calendar-message { margin-top:10px; padding:9px 10px; border-radius:10px; background:#fff; border:1px dashed #cbd5e1; color:#64748b; font-size:12px; font-weight:800; }
.itbs-partner-plan-list { display:grid; gap:8px; min-height:94px; }
.itbs-partner-plan-item { display:grid; grid-template-columns:86px minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px; border:1px solid #d8e2ee; border-radius:12px; background:#fff; }
.itbs-partner-plan-item span { color:#2563eb; font-size:12px; font-weight:750; }
.itbs-partner-plan-item strong { display:block; color:#0f172a; font-weight:750; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.itbs-partner-plan-item small { display:block; margin-top:2px; color:#64748b; font-weight:800; }
.itbs-partner-plan-item button { border:1px solid #fecdd3; border-radius:10px; background:#fff1f2; color:#be123c; font-weight:750; cursor:pointer; }
.itbs-partner-plan-bottom { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,380px); gap:14px; align-items:start; }
.itbs-partner-plan-actions { display:grid; gap:10px; }
.itbs-partner-plan-contact { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.itbs-partner-plan-contact label { display:grid; gap:5px; color:#64748b; font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.itbs-partner-plan-contact .wide { grid-column:1 / -1; }
.itbs-partner-plan-result { padding:10px; border-radius:12px; border:1px dashed #cbd5e1; background:#fff; color:#0f172a; font-size:13px; font-weight:800; word-break:break-word; }
.itbs-partner-selection-panel { display:grid; gap:12px; }
.itbs-partner-selection-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:14px; border:1px solid #bfdbfe; border-radius:14px; background:#eff6ff; }
.itbs-partner-selection-head h4 { margin:0 0 4px; color:#0f172a; font-size:18px; font-weight:800; }
.itbs-partner-selection-head p { margin:0; color:#475569; font-size:13px; font-weight:800; line-height:1.4; }
.itbs-partner-selection-region { display:grid; gap:8px; padding:12px; border:1px solid #d8e2ee; border-radius:14px; background:#fff; }
.itbs-partner-selection-region > span { color:#64748b; font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.itbs-partner-selection-region-options { display:flex; flex-wrap:wrap; gap:7px; }
.itbs-partner-selection-region-options button { min-height:38px; display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border:1px solid #d8e2ee; border-radius:999px; background:#f8fafc; color:#475569; font-size:13px; font-weight:750; cursor:pointer; transition:border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease; }
.itbs-partner-selection-region-options button:hover, .itbs-partner-selection-region-options button:focus { border-color:#93c5fd; background:#eff6ff; color:#1d4ed8; outline:none; transform:translateY(-1px); }
.itbs-partner-selection-region-options button.is-active { border-color:#2563eb; background:#2563eb; color:#fff; box-shadow:0 10px 24px -16px rgba(37,99,235,.75); }
.itbs-partner-selection-region-options b { min-width:21px; padding:2px 6px; border-radius:999px; background:rgba(148,163,184,.16); font-size:11px; font-weight:800; text-align:center; }
.itbs-partner-selection-region-options button.is-active b { background:rgba(255,255,255,.2); }
.itbs-partner-selection-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.itbs-partner-selection-summary { color:#0f172a; font-size:14px; font-weight:750; }
.itbs-partner-selection-minor-actions, .itbs-partner-selection-actions { display:flex; flex-wrap:wrap; gap:8px; }
.itbs-partner-selection-minor-actions button { min-height:36px; padding:7px 11px; border:1px solid #d8e2ee; border-radius:10px; background:#fff; color:#475569; font-size:12px; font-weight:750; cursor:pointer; }
.itbs-partner-selection-list { display:grid; gap:8px; max-height:620px; overflow:auto; padding-right:3px; }
.itbs-partner-selection-empty { padding:22px; border:1px dashed #cbd5e1; border-radius:14px; background:#fff; color:#64748b; font-weight:800; text-align:center; }
.itbs-partner-selection-item { display:grid; grid-template-columns:26px 100px minmax(0,1fr) minmax(260px,auto); gap:10px; align-items:center; padding:12px; border:1px solid #d8e2ee; border-radius:13px; background:#fff; cursor:pointer; }
.itbs-partner-selection-item.is-selected { border-color:#93c5fd; background:#f8fbff; }
.itbs-partner-selection-item input { width:19px; height:19px; accent-color:#2563eb; }
.itbs-partner-selection-date { color:#1d4ed8; font-size:13px; font-weight:800; }
.itbs-partner-selection-tour strong { display:block; color:#0f172a; font-size:15px; font-weight:800; line-height:1.25; }
.itbs-partner-selection-tour small { display:block; margin-top:3px; color:#64748b; font-size:12px; font-weight:800; }
.itbs-partner-selection-facts { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
.itbs-partner-selection-facts span { display:inline-flex; min-height:28px; align-items:center; padding:5px 8px; border-radius:999px; background:#f1f5f9; color:#334155; font-size:12px; font-weight:750; white-space:nowrap; }
.itbs-partner-selection-facts .is-seats { background:#dcfce7; color:#166534; }
.itbs-partner-selection-actions { padding:12px; border:1px solid #d8e2ee; border-radius:14px; background:#f8fafc; }
.itbs-partner-selection-actions .itbs-partner-primary-btn,
.itbs-partner-selection-actions .itbs-partner-secondary-btn { flex:1 1 190px; justify-content:center; }
.itbs-partner-selection-result { min-height:44px; }
@media (max-width: 1080px) {
    .itbs-partner-plan-top, .itbs-partner-plan-bottom { grid-template-columns:1fr; }
    .itbs-partner-plan-shared { grid-template-columns:1fr; }
    .itbs-partner-plan-vacation { grid-template-columns:minmax(320px,1.35fr) minmax(240px,1fr); }
    .itbs-partner-plan-contact { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .itbs-partner-selection-item { grid-template-columns:26px 92px minmax(0,1fr); }
    .itbs-partner-selection-facts { grid-column:2 / -1; justify-content:flex-start; }
}
@media (max-width: 760px) {
    .itbs-partner-dashboard { padding:16px !important; margin:10px auto !important; }
    .itbs-partner-create-panel { align-items:stretch; }
    .itbs-partner-create-panel .itbs-partner-quick-actions { width:100%; }
    .itbs-partner-create-panel .itbs-partner-quick-actions > * { width:100%; }
    .itbs-partner-trip-plan-grid { grid-template-columns:1fr; }
    .itbs-partner-booking-date-calendar { left:0; right:0; transform:none; width:100%; }
    .itbs-partner-booking-date-calendar .itbs-partner-plan-calendar-days,
    .itbs-partner-booking-date-calendar .itbs-partner-plan-calendar-weekdays { gap:4px; }
    .itbs-partner-booking-date-calendar .itbs-partner-plan-day,
    .itbs-partner-booking-date-calendar .itbs-partner-plan-calendar-empty-cell { min-height:48px; }
    .itbs-partner-plan-vacation { grid-template-columns:1fr; }
    .itbs-partner-vacation-popover { position:fixed; top:auto; right:12px; bottom:12px; left:12px; width:auto; max-height:calc(100vh - 24px); overflow:auto; border-radius:20px; }
    .itbs-partner-vacation-months { grid-template-columns:1fr; }
    .itbs-partner-vacation-month:nth-child(2) { display:none; }
    .itbs-partner-vacation-day, .itbs-partner-vacation-empty { min-height:42px; }
    .itbs-partner-vacation-popover-foot { align-items:stretch; flex-direction:column; }
    .itbs-partner-vacation-foot-actions { display:grid; grid-template-columns:1fr 1fr; }
    .itbs-partner-plan-mode-switch { grid-template-columns:1fr; }
    .itbs-partner-plan-search-input { min-height:56px; font-size:16px; }
    .itbs-partner-plan-search-title { font-size:16px; }
    .itbs-partner-plan-row { grid-template-columns:1fr; }
    .itbs-partner-plan-contact { grid-template-columns:1fr; }
    .itbs-partner-plan-date-toggle, .itbs-partner-plan-add-btn { min-height:64px; }
    .itbs-partner-plan-calendar-days, .itbs-partner-plan-calendar-weekdays { gap:4px; }
    .itbs-partner-plan-day, .itbs-partner-plan-calendar-empty-cell { min-height:48px; }
    .itbs-partner-plan-day small { display:none; }
    .itbs-partner-selection-head { display:grid; }
    .itbs-partner-selection-head .itbs-partner-primary-btn { width:100%; }
    .itbs-partner-selection-region-options { flex-wrap:nowrap; margin:0 -3px; padding:0 3px 4px; overflow-x:auto; scrollbar-width:thin; }
    .itbs-partner-selection-region-options button { flex:0 0 auto; }
    .itbs-partner-selection-item { grid-template-columns:24px minmax(0,1fr); align-items:start; }
    .itbs-partner-selection-date { grid-column:2; }
    .itbs-partner-selection-tour { grid-column:2; }
    .itbs-partner-selection-facts { grid-column:2; }
    .itbs-partner-telegram-panel { align-items:stretch; }
    .itbs-partner-telegram-panel .itbs-partner-primary-btn { width:100%; }
    .itbs-partner-ticket-notice-main { align-items:stretch; }
    .itbs-partner-ticket-actions { width:100%; }
    .itbs-partner-ticket-actions .itbs-partner-ticket-btn { flex:1 1 140px; }
    .itbs-partner-booking-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .itbs-partner-booking-actions .itbs-partner-booking-action { min-height:44px !important; }
.itbs-partner-ticket-cell { min-width:140px; }
.itbs-partner-bookings-head { display:grid; }
.itbs-partner-bookings-toolbar { grid-template-columns:1fr; }
.itbs-partner-bookings-toolbar-actions { justify-content:flex-end; }
.itbs-partner-bookings-table-wrap { overflow:visible; border:0; }
.itbs-partner-bookings-table { min-width:0; }
.itbs-partner-bookings-table thead { display:none; }
.itbs-partner-bookings-table, .itbs-partner-bookings-table tbody, .itbs-partner-bookings-table tr, .itbs-partner-bookings-table td { display:block; width:100%; }
.itbs-partner-bookings-table tr { margin-bottom:10px; padding:10px 12px; border:1px solid #d8e2ee; border-radius:12px; background:#fff; box-shadow:0 14px 30px -28px rgba(15,23,42,.55); }
.itbs-partner-bookings-table td { display:grid; grid-template-columns:96px minmax(0,1fr); gap:10px; align-items:start; padding:7px 0; border-bottom:1px solid #eef2f7; }
.itbs-partner-bookings-table td::before { content:attr(data-label); color:#64748b; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.itbs-partner-bookings-table td:last-child { border-bottom:0; }
.itbs-partner-bookings-table td[colspan] { display:block; }
.itbs-partner-bookings-table td[colspan]::before { display:none; }
.itbs-partner-ticket-cell { min-width:0; }
.itbs-partner-bookings-pagination { align-items:stretch; }
    .itbs-partner-order-form { display:block !important; }
    .itbs-partner-form-section { margin-bottom:12px; }
    .itbs-partner-form-grid { display:block !important; }
    .itbs-partner-order-form .itbs-partner-field,
    .itbs-partner-order-form .itbs-partner-order-actions { display:block !important; margin-bottom:10px; min-width:0 !important; }
    .itbs-partner-order-actions { text-align:left; }
    .itbs-partner-order-actions button { width:100%; }
    .itbs-partner-calendar-filters { grid-template-columns:1fr !important; }
    .itbs-partner-calendar-slot { grid-template-columns:1fr !important; }
    .itbs-partner-calendar-grid { gap:4px; }
    .itbs-partner-calendar-day { min-height:104px; padding:6px; }
    .itbs-partner-calendar-chip-list { max-height:74px; }
    .itbs-partner-calendar-chip { font-size:10px; padding:4px 5px; }
    .itbs-partner-modal { padding:10px; align-items:flex-end; }
    .itbs-partner-modal-card { max-height:92vh; border-radius:14px 14px 0 0; }
    .itbs-partner-live-price { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .itbs-partner-seat-summary { align-items:flex-start; }
    .itbs-partner-seat-modal { padding:0; }
    .itbs-partner-seat-modal .itbs-partner-modal-card { width:100%; max-height:100vh; border-radius:14px 14px 0 0; }
    .itbs-partner-seat-body { padding:14px; }
    .itbs-partner-seat-map { padding:12px; }
    .itbs-partner-seat-row { grid-template-columns:1fr 1fr 36px 1fr 1fr; gap:6px; }
    .itbs-partner-seat { min-height:48px; }
    .itbs-partner-seat-foot { position:sticky; bottom:0; }
}

/* the booking's finances window */
.itbs-partner-finance-card { max-width: 980px; }
.itbs-partner-finance-summary { display:grid; grid-template-columns:repeat(5,minmax(120px,1fr)); gap:8px; margin-bottom:12px; }
.itbs-partner-finance-summary > div { border:1px solid #e2e8f0; border-radius:12px; padding:10px; background:#f8fafc; min-width:0; }
.itbs-partner-finance-summary span { display:block; font-size:11px; color:#64748b; font-weight:750; text-transform:uppercase; letter-spacing:.04em; }
.itbs-partner-finance-summary strong { display:block; margin-top:4px; color:#0f172a; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.itbs-partner-finance-summary .ok { background:#ecfdf3; border-color:#bbf7d0; }
.itbs-partner-finance-summary .warn { background:#fff7ed; border-color:#fed7aa; }
.itbs-partner-finance-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:start; }
.itbs-partner-finance-box { border:1px solid #e2e8f0; border-radius:12px; padding:12px; background:#fff; }
.itbs-partner-finance-box h4 { margin:0 0 10px; font-size:13px; color:#334155; text-transform:uppercase; letter-spacing:.04em; }
.itbs-partner-finance-box label { display:block; font-size:12px; color:#475569; font-weight:750; margin-top:8px; }
.itbs-partner-payment-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }
.itbs-partner-payment-actions .itbs-partner-pay-link-btn { display:inline-flex !important; align-items:center; justify-content:center; width:100%; min-width:0; min-height:48px; margin:0 !important; padding:11px 14px !important; border:1px solid transparent !important; border-radius:12px !important; color:#fff !important; font-size:13px !important; font-weight:800 !important; line-height:1.2 !important; text-align:center; text-decoration:none !important; cursor:pointer; box-shadow:0 14px 28px -20px rgba(15,23,42,.7); transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease; }
.itbs-partner-payment-actions .itbs-partner-pay-link-btn:hover,
.itbs-partner-payment-actions .itbs-partner-pay-link-btn:focus-visible { transform:translateY(-1px); outline:none; box-shadow:0 18px 32px -20px rgba(15,23,42,.8), 0 0 0 4px var(--pc-accent-soft, rgba(37,99,235,.12)); }
.itbs-partner-payment-actions .itbs-partner-pay-link-btn.is-qr { border-color:var(--pc-accent, #f97316) !important; background:var(--pc-accent, #f97316) !important; }
.itbs-partner-payment-actions .itbs-partner-pay-link-btn.is-qr:hover,
.itbs-partner-payment-actions .itbs-partner-pay-link-btn.is-qr:focus-visible { border-color:var(--pc-accent-ink, #ea580c) !important; background:var(--pc-accent-ink, #ea580c) !important; box-shadow:0 18px 32px -20px rgba(234,88,12,.85), 0 0 0 4px rgba(249,115,22,.14); }
.itbs-partner-payment-actions .itbs-partner-pay-link-btn.is-card { border-color:#2563eb !important; background:#2563eb !important; }
.itbs-partner-payment-actions .itbs-partner-pay-link-btn.is-card:hover,
.itbs-partner-payment-actions .itbs-partner-pay-link-btn.is-card:focus-visible { border-color:#1d4ed8 !important; background:#1d4ed8 !important; }
.itbs-partner-payment-actions .itbs-partner-pay-link-btn:disabled { opacity:.65; cursor:wait; transform:none; box-shadow:none; }
.itbs-partner-finance-row { display:grid; grid-template-columns:1fr auto; gap:10px; border:1px solid #e2e8f0; border-radius:12px; padding:10px; margin-bottom:8px; }
.itbs-partner-finance-row strong, .itbs-partner-finance-row span, .itbs-partner-finance-row small { display:block; }
.itbs-partner-finance-row span, .itbs-partner-finance-row small { color:#64748b; font-size:12px; font-weight:700; margin-top:2px; }
.itbs-partner-pay-status { width:max-content; border-radius:999px; padding:4px 8px; font-size:11px !important; font-weight:750 !important; }
.itbs-partner-pay-status.ok { background:#dcfce7; color:#166534; }
.itbs-partner-pay-status.warn { background:#ffedd5; color:#9a3412; }
.itbs-partner-pay-status.bad { background:#fee2e2; color:#991b1b; }
.itbs-partner-finance-link { grid-column:1 / -1; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.itbs-partner-finance-link input { flex:1; min-width:220px; border:1px solid #cbd5e1; border-radius:10px; padding:9px; font-size:12px; }
.itbs-partner-finance-link.ready { padding:10px; border:1px solid #bfdbfe; border-radius:12px; background:#eff6ff; }
.itbs-partner-finance-empty { padding:10px; border:1px dashed #cbd5e1; border-radius:12px; background:#f8fafc; color:#64748b; font-weight:800; font-size:13px; }
.itbs-partner-finance-empty.bad { border-color:#fecdd3; background:#fef2f2; color:#991b1b; }
.itbs-partner-danger-link { color:#991b1b !important; border-color:#fecdd3 !important; }
@media (max-width: 860px) {
    .itbs-partner-finance-summary { grid-template-columns:repeat(2,minmax(120px,1fr)); }
    .itbs-partner-finance-grid { grid-template-columns:1fr; }
    .itbs-partner-finance-row { grid-template-columns:1fr; }
}
@media (max-width: 520px) {
    .itbs-partner-payment-actions { grid-template-columns:1fr; }
}

/* the link builder */
.itbs-partner-dashboard .itbs-chip-btn { border-radius:10px; padding:8px 12px; border:1px solid #e2e8f0; background:#fff; cursor:pointer; transition:all .2s; }
.itbs-partner-dashboard .itbs-chip-btn:hover { background:var(--pc-accent, #f97316); color:#fff; border-color:var(--pc-accent, #f97316); }
.itbs-pulse { animation: itbsPulse 0.8s ease; }
@keyframes itbsPulse {
    0% { box-shadow:0 0 0 0 rgba(37,99,235,0.35); }
    70% { box-shadow:0 0 0 10px rgba(37,99,235,0); }
    100% { box-shadow:0 0 0 0 rgba(37,99,235,0); }
}
@media (max-width: 768px) {
}

/* ============================================================================================================
   The cabinet's own look (2026-10-31): a shell with the company's header, two tabs drawn as a line, an intro with
   the tab's actions, number cards, white panels with one accent from the company profile. The parts above keep
   their behaviour; the rules below give them the one look.
   ============================================================================================================ */
.itbs-partner-dashboard.pc {
    --pc-accent: var(--itbs-primary, var(--t-accent, #f97316));
    --pc-accent-ink: color-mix(in srgb, var(--pc-accent) 82%, #000);
    --pc-accent-soft: color-mix(in srgb, var(--pc-accent) 10%, #fff);
    --pc-ink: #0f172a; --pc-text: #334155; --pc-muted: #64748b; --pc-line: #e2e8f0; --pc-soft: #f8fafc; --pc-page: #f4f6f9;
    --pc-ok: #15803d; --pc-ok-bg: #ecfdf3; --pc-warn: #b45309; --pc-warn-bg: #fffbeb; --pc-bad: #b91c1c; --pc-bad-bg: #fef2f2; --pc-info: #1d4ed8; --pc-info-bg: #eff6ff;
    --pc-r: 18px; --pc-r-sm: 12px;
    max-width: 1200px; margin: 0 auto; padding: 24px 20px 56px; background: transparent; border: 0; box-shadow: none;
    color: var(--pc-ink); font-family: var(--t-font, Inter, system-ui, -apple-system, 'Segoe UI', sans-serif); font-size: 15px; line-height: 1.45;
}
/* one page colour: the body was a screen tall and lighter than html under it (a band once the page grew) */
html:has(.itbs-partner-dashboard.pc), html:has(.itbs-partner-dashboard.pc) body { background: #f4f6f9 !important; }
html:has(.itbs-partner-dashboard.pc .itbs-partner-modal.is-open), html.pc-sheet-open { overflow: hidden; } /* the page stays put under a window */
.pc h2, .pc h3, .pc h4 { color: var(--pc-ink); font-family: inherit; letter-spacing: -.01em; }
.pc h3 { margin: 0; font-size: 18px; font-weight: 800; }
.pc [hidden] { display: none !important; }

/* header */
.pc-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.pc-top__brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; color: var(--pc-ink) !important; text-decoration: none !important; }
.pc-top__brand img { width: 40px; height: 40px; object-fit: contain; border-radius: 10px; }
.pc-top__brand span { display: grid; gap: 1px; min-width: 0; }
.pc-top__brand strong { font-size: 17px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-top__brand small { color: var(--pc-muted); font-size: 12.5px; font-weight: 600; }
.pc-top__side { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pc-tg { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 13px; border: 1px solid var(--pc-line); border-radius: 999px; background: #fff; color: #0284c7 !important; font-size: 13.5px; font-weight: 700; text-decoration: none !important; }
.pc-tg.is-on { color: var(--pc-ok) !important; border-color: #bbf7d0; background: var(--pc-ok-bg); }
.pc-me { display: inline-flex; align-items: center; gap: 9px; min-width: 0; padding: 4px 12px 4px 4px; border: 1px solid var(--pc-line); border-radius: 999px; background: #fff; color: var(--pc-ink); font: inherit; text-align: left; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease; }
.pc-me:hover { border-color: var(--pc-accent); box-shadow: 0 0 0 3px var(--pc-accent-soft); }
.pc-me.is-static { cursor: default; }
.pc-me.is-static:hover { border-color: var(--pc-line); box-shadow: none; }
.pc-me__edit { display: inline-flex; align-items: center; gap: 6px; margin-left: 4px; padding-left: 10px; border-left: 1px solid var(--pc-line); color: var(--pc-accent-ink); font-size: 12.5px; font-weight: 700; white-space: nowrap; }
.pc-me__tg { width: 8px; height: 8px; border-radius: 50%; background: var(--pc-ok); }
.pc-profile { width: min(560px, 100%); }
.pc-profile__facts { display: flex; gap: 8px; margin-bottom: 14px; }
.pc-profile__facts .pc-fact { flex: 1 1 0; }
.pc-profile__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pc-profile__form .pc-label { margin-top: 10px; }
.pc-profile__actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.pc-profile__msg { color: var(--pc-ok); font-size: 13.5px; font-weight: 650; }
.pc-profile__msg.is-bad { color: var(--pc-bad); }
.pc-profile__msg[hidden] { display: none; }
.pc-profile__tg { margin-top: 20px; padding: 16px; border: 1px solid var(--pc-line); border-radius: var(--pc-r-sm); background: var(--pc-soft); }
.pc-profile__tg h4 { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; color: #0284c7; font-size: 15px; font-weight: 800; }
.pc-profile__events { margin: 0 0 12px; padding-left: 18px; color: var(--pc-ink); font-size: 13.5px; line-height: 1.6; }
.pc-profile__tgstate { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; color: var(--pc-muted); font-size: 13.5px; font-weight: 600; }
.pc-profile__tgstate.is-on { color: var(--pc-ok); }
.pc-btn--tg { background: #0284c7 !important; border-color: #0284c7 !important; color: #fff !important; }
.pc-profile__sample { margin-top: 10px; padding: 12px 14px; border-radius: 12px 12px 12px 4px; background: #fff; border: 1px solid var(--pc-line); color: var(--pc-ink); font-size: 13.5px; line-height: 1.55; box-shadow: 0 8px 20px -16px rgba(15, 23, 42, .4); }
.pc-me__ava { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--pc-accent-soft); color: var(--pc-accent-ink); font-weight: 800; }
.pc-me__txt { display: grid; line-height: 1.15; min-width: 0; }
.pc-me__txt strong { font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 220px; }
.pc-me__txt small { color: var(--pc-muted); font-size: 12px; font-weight: 600; }

/* tabs: a line, as the engine's tabs everywhere */
.pc-tabs { position: sticky; top: var(--vg-top, 0px); z-index: 30; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 22px; padding: 8px 0; background: #f4f6f9; }
.pc-tabs--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pc-tabs--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
/* The cabinet's own page (page-portal) has no site header above it: the tabs stick under the demo bar alone; on a page with the site header, under both. */
body:not(.page-template-page-portal) .pc-tabs { top: var(--vg-hdr, 0px); }
.pc-tab { position: relative; display: flex; align-items: center; gap: 14px; min-width: 0; padding: 16px 18px; border: 1.5px solid var(--pc-line); border-radius: var(--pc-r); background: #eef1f6; color: var(--pc-muted); font: inherit; text-align: left; cursor: pointer; transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease; }
.pc-tab:hover { border-color: #cbd5e1; background: #fff; color: var(--pc-ink); }
.pc-tab[aria-selected="true"] { border-color: var(--pc-accent); background: #fff; color: var(--pc-ink); box-shadow: 0 14px 30px -22px rgba(15, 23, 42, .45), 0 0 0 3px var(--pc-accent-soft); }
.pc-tab__ico { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 14px; background: #fff; color: var(--pc-muted); border: 1px solid var(--pc-line); }
.pc-tab[aria-selected="true"] .pc-tab__ico { background: var(--pc-accent); border-color: var(--pc-accent); color: #fff; }
.pc-tab__txt { display: grid; gap: 3px; min-width: 0; }
.pc-tab__txt strong { font-size: 18px; font-weight: 800; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-tab__txt small { font-size: 13px; font-weight: 550; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--pc-muted); }
.pc-tab__num { display: grid; justify-items: end; margin-left: auto; padding-left: 12px; line-height: 1.1; }
.pc-tab__num b { font-size: 20px; font-weight: 800; color: var(--pc-ink); white-space: nowrap; }
.pc-tab__num em { font-style: normal; font-size: 12px; font-weight: 650; color: var(--pc-muted); text-transform: uppercase; letter-spacing: .04em; }
.pc-tab:focus-visible { outline: 2px solid var(--pc-accent); outline-offset: 2px; }
/* Stuck under the top while the page scrolls: the same two cards, compact. */
.pc-tabs-sentinel { height: 1px; margin-bottom: -1px; }
/* The portal page's wrapper hides horizontal overflow, which made it the tabs' scroll box (they never stuck): clip cuts the same without one. */
.itbs-app-container:has(.itbs-partner-dashboard.pc) { overflow-x: clip; overflow-y: visible; }
.pc-tabs.is-stuck { box-shadow: 0 10px 18px -16px rgba(15, 23, 42, .45); }
.pc-tabs.is-stuck .pc-tab { padding: 8px 14px; border-radius: 14px; }
.pc-tabs.is-stuck .pc-tab__ico { width: 32px; height: 32px; border-radius: 10px; }
.pc-tabs.is-stuck .pc-tab__ico svg { width: 17px; height: 17px; }
.pc-tabs.is-stuck .pc-tab__txt strong { font-size: 15px; }
.pc-tabs.is-stuck .pc-tab__txt small, .pc-tabs.is-stuck .pc-tab__num em { display: none; }
.pc-tabs.is-stuck .pc-tab__num b { font-size: 15px; }

/* a tab's intro: what it is for and its actions */
.pc-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 16px; }
.pc-intro__text { min-width: 0; max-width: 640px; }
.pc-intro h2 { margin: 0; font-size: 26px; font-weight: 850; line-height: 1.15; }
.pc-intro p { margin: 6px 0 0; color: var(--pc-muted); font-size: 15px; }
.pc-intro__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.pc-intro__facts { display: flex; gap: 10px; flex-wrap: wrap; }
.pc-fact { display: grid; gap: 2px; min-width: 120px; padding: 10px 14px; border: 1px solid var(--pc-line); border-radius: var(--pc-r-sm); background: #fff; }
.pc-fact span { color: var(--pc-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.pc-fact strong { font-size: 18px; font-weight: 850; }

/* buttons */
.pc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 18px; border: 1px solid transparent; border-radius: var(--pc-r-sm); background: none; font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1.1; text-decoration: none !important; cursor: pointer; white-space: nowrap; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.pc-btn--sm { min-height: 38px; padding: 0 14px; font-size: 13.5px; }
.pc-btn:disabled { opacity: .45; cursor: not-allowed; filter: grayscale(.4); }
.pc-btn--primary { background: var(--pc-accent); color: #fff !important; }
.pc-btn--primary:hover { background: var(--pc-accent-ink); }
.pc-btn--ghost { border-color: var(--pc-line); background: #fff; color: var(--pc-ink) !important; }
.pc-btn--ghost:hover { border-color: #cbd5e1; background: var(--pc-soft); }
.pc-btn--ok { background: #16a34a; color: #fff !important; }
.pc-btn--danger { background: var(--pc-bad); color: #fff !important; }
.pc-btn--danger-ghost { border-color: #fecaca; background: #fff; color: var(--pc-bad) !important; }
.pc-btn:focus-visible { outline: 2px solid var(--pc-accent); outline-offset: 2px; }

/* number cards */
.pc-kpis { display: grid; gap: 10px; margin-bottom: 16px; }
.pc-guests { display: block; margin-top: 3px; color: var(--pc-muted); font-size: 12px; font-weight: 600; }
.pc-kpis-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin: 4px 0 10px; }
.pc-kpis-head h3 { margin: 0; font-size: 16px; font-weight: 800; color: var(--pc-ink); }
.pc-kpis-head span { color: var(--pc-muted); font-size: 13.5px; font-weight: 500; }
.pc-kpis-head__ahead { margin-left: auto; padding: 4px 10px; border-radius: 999px; background: #fff; border: 1px solid var(--pc-line); color: var(--pc-ink) !important; font-weight: 650 !important; }
.pc-kpis--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.pc-kpis--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.pc-kpi { display: grid; gap: 4px; min-width: 0; padding: 14px 16px; border: 1px solid var(--pc-line); border-radius: var(--pc-r-sm); background: #fff; }
.pc-kpi span { color: var(--pc-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-kpi strong { font-size: 22px; font-weight: 850; letter-spacing: -.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-kpi.is-ok strong { color: var(--pc-ok); } .pc-kpi.is-warn strong { color: var(--pc-warn); } .pc-kpi.is-bad strong { color: var(--pc-bad); } .pc-kpi.is-info strong { color: var(--pc-info); }

/* panels */
.pc .itbs-partner-panel { margin-bottom: 16px; padding: 22px; border: 1px solid var(--pc-line); border-radius: var(--pc-r); background: #fff; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
.pc-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.pc-panel-sub { margin-top: 4px; color: var(--pc-muted); font-size: 13.5px; font-weight: 500; }
.pc-panel-tools { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pc-chip { padding: 7px 11px; border: 1px solid var(--pc-line); border-radius: 999px; background: var(--pc-soft); color: var(--pc-muted); font-size: 12.5px; font-weight: 700; }
.pc-note { margin: 10px 0; padding: 10px 12px; border-radius: 10px; font-size: 13.5px; font-weight: 600; }
.pc-note--warn { background: var(--pc-warn-bg); color: #92400e; } .pc-note--bad { background: var(--pc-bad-bg); color: #7f1d1d; }
.pc-muted-sm { color: var(--pc-muted); font-size: 12.5px; font-weight: 700; }
.pc-empty { padding: 16px; border: 1px dashed #cbd5e1; border-radius: var(--pc-r-sm); background: var(--pc-soft); color: var(--pc-muted); font-weight: 600; text-align: center; }
.pc-empty-cell { padding: 22px !important; color: var(--pc-muted); text-align: center; font-weight: 600; }
.pc-dash { color: #94a3b8; font-weight: 700; }
.pc-pill { display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 999px; background: var(--pc-soft); color: var(--pc-muted); font-size: 12px; font-weight: 700; white-space: nowrap; }
.pc-pill.is-ok { background: var(--pc-ok-bg); color: var(--pc-ok); } .pc-pill.is-warn { background: var(--pc-warn-bg); color: var(--pc-warn); } .pc-pill.is-bad { background: var(--pc-bad-bg); color: var(--pc-bad); } .pc-pill.is-info { background: var(--pc-info-bg); color: var(--pc-info); }
.pc-modal-sub { margin-top: 4px; color: var(--pc-muted); font-size: 13.5px; font-weight: 500; }

/* windows */
.pc .itbs-partner-modal-card { border-radius: var(--pc-r); padding: 22px; max-height: calc(100dvh - 36px - var(--vg-top, 0px)); }
/* Windows open under the demo bar (it lies above them, z-index 100001): their top no longer hides behind it. */
.pc .itbs-partner-modal, .pc .pc-sheet { top: var(--vg-top, 0px); }
.pc .itbs-partner-modal-close { flex: none; width: 38px; height: 38px; border-color: var(--pc-line); border-radius: 50%; background: #fff; }
.pc .itbs-partner-plan-modal-card { width: min(1080px, 100%); max-height: calc(100dvh - 36px - var(--vg-top, 0px)); }
.pc .itbs-partner-booking-modal .itbs-partner-modal-card { max-height: calc(100dvh - 36px); }

/* the parts above, in the one look */
.pc .itbs-partner-input, .pc-input, .pc .itbs-partner-bookings-toolbar input, .pc .itbs-partner-bookings-toolbar select { min-height: 46px; padding: 0 13px; border: 1px solid #cbd5e1; border-radius: var(--pc-r-sm); background: #fff; color: var(--pc-ink); font-family: inherit; font-size: 15px; font-weight: 500; line-height: 1.2; box-sizing: border-box; }
.pc .itbs-partner-input:focus, .pc-input:focus { outline: none; border-color: var(--pc-accent); box-shadow: 0 0 0 3px var(--pc-accent-soft); }
.pc .itbs-partner-primary-btn { border-color: var(--pc-accent); background: var(--pc-accent); border-radius: var(--pc-r-sm); }
.pc .itbs-partner-primary-btn:hover, .pc .itbs-partner-primary-btn:focus { border-color: var(--pc-accent-ink); background: var(--pc-accent-ink); box-shadow: none; }
.pc .itbs-partner-secondary-btn { border-width: 1px; border-color: var(--pc-line); border-radius: var(--pc-r-sm); }
.itbs-partner-calendar-filters { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(160px, .5fr) minmax(170px, .5fr); gap: 10px; margin-bottom: 14px; }
.pc #itbs-partner-calendar-list:not([hidden]) { display: grid; gap: 10px; }
/* the month: past weeks folded into a strip before the current one; calmer view switch and day cells */
.pc .itbs-partner-calendar-day.is-past-week { display: none; }
.pc .itbs-partner-calendar-grid.show-past .itbs-partner-calendar-day.is-past-week { display: block; opacity: .55; }
.pc .itbs-partner-calendar-past { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 34px; padding: 0 12px; border: 1px dashed #cbd5e1; border-radius: 10px; background: var(--pc-soft); color: var(--pc-muted); font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1; cursor: pointer; }
.pc .itbs-partner-calendar-past:hover { color: var(--pc-ink); border-color: #94a3b8; }
.pc .itbs-partner-calendar-grid.show-past .itbs-partner-calendar-past span:last-child { transform: rotate(180deg); }
.pc .itbs-partner-calendar-day { min-height: 104px; border-radius: 12px; }
.pc .itbs-partner-toggle { border-color: var(--pc-line); background: var(--pc-soft); }
.pc .itbs-partner-toggle button { font-weight: 700; color: var(--pc-muted); }
.pc .itbs-partner-toggle button.is-active { background: #fff; color: var(--pc-ink); box-shadow: 0 1px 3px rgba(15, 23, 42, .12); }

/* the link builder */
.pc-chips, .pc-recent { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-bottom: 14px; }
.pc-recent { margin: 14px 0 0; }
.pc-recent > span { width: 100%; color: var(--pc-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.pc .itbs-chip-btn { min-height: 36px; padding: 0 13px; border: 1px solid var(--pc-line); border-radius: 999px; background: #fff; color: var(--pc-ink); font-family: inherit; font-size: 13.5px; font-weight: 600; line-height: 1; cursor: pointer; }
.pc .itbs-chip-btn:hover { border-color: var(--pc-accent); background: var(--pc-accent-soft); color: var(--pc-accent-ink); }
.pc-label { display: block; margin: 0 0 6px; color: var(--pc-text); font-size: 13px; font-weight: 700; }
.pc-label small { color: var(--pc-muted); font-weight: 500; }
.pc-input { width: 100%; }
.pc-search { position: relative; margin-bottom: 14px; }
.pc-search__results { position: absolute; z-index: 20; top: calc(100% + 6px); left: 0; right: 0; max-height: 280px; overflow: auto; border: 1px solid var(--pc-line); border-radius: var(--pc-r-sm); background: #fff; box-shadow: 0 18px 40px -20px rgba(15, 23, 42, .35); }
.pc-copy { display: flex; gap: 8px; }
.pc-copy .pc-input { flex: 1; min-width: 0; background: var(--pc-soft); font-size: 14px; }

/* the latest clicks and commissions */
.pc-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.pc-grid3 > .itbs-partner-panel { margin: 0; min-width: 0; }
.pc-list-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.pc-list-panel__head h3 { margin: 0 !important; }
.pc-link-btn { flex: none; padding: 4px 0; border: 0; background: none; color: var(--pc-accent); font-family: inherit; font-size: 13px; font-weight: 700; line-height: 1.2; cursor: pointer; white-space: nowrap; }
.pc-link-btn:hover { text-decoration: underline; }
.pc-list--short { max-height: none; overflow: visible; }
.pc-list__sum { margin-left: auto; color: var(--pc-ink); font-weight: 750; white-space: nowrap; }
.pc-sheet { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(15, 23, 42, .55); }
.pc-sheet[hidden] { display: none; }
.pc-sheet__box { display: flex; flex-direction: column; width: min(720px, 100%); max-height: min(86vh, 900px); padding: 20px 22px; border-radius: var(--pc-r); background: #fff; box-shadow: 0 30px 80px -30px rgba(15, 23, 42, .5); }
.pc-sheet__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.pc-sheet__head h3 { margin: 0; font-size: 18px; font-weight: 800; }
.pc-sheet__filter { margin-bottom: 10px; }
.pc-sheet__list { flex: 1 1 auto; max-height: none; overflow: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.pc-sheet__list li[hidden] { display: none; }
.pc-payout { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.pc-payout__confirm { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 6px 8px 6px 12px; border: 1px solid var(--pc-line); border-radius: var(--pc-r-sm); background: #fff; font-size: 13.5px; font-weight: 600; }
.pc-payout__confirm[hidden], .pc-payout__msg[hidden] { display: none; }
.pc-payout__msg { padding: 7px 12px; border-radius: var(--pc-r-sm); background: var(--pc-ok-bg); color: var(--pc-ok); font-size: 13.5px; font-weight: 650; }
.pc-payout__msg.is-bad { background: var(--pc-bad-bg); color: var(--pc-bad); }
.pc-list-panel h3 { margin-bottom: 12px; }
.pc-list { margin: 0; padding: 0; list-style: none; max-height: 420px; overflow: auto; }
.pc-list li { display: grid; gap: 3px; padding: 10px 0; border-top: 1px solid var(--pc-line); }
.pc-list li:first-child { border-top: 0; padding-top: 0; }
.pc-list__main { overflow: hidden; color: var(--pc-ink); font-size: 14px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.pc-list__meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; color: var(--pc-muted); font-size: 12.5px; }

/* statements */
.pc-statement-list { display: grid; gap: 10px; }
.pc-statement { padding: 16px; border: 1px solid var(--pc-line); border-radius: var(--pc-r-sm); }
.pc-statement__head { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.pc-statement__sums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 12px 0 0; }
.pc-statement__sums dt { color: var(--pc-muted); font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.pc-statement__sums dd { margin: 2px 0 0; font-weight: 800; }
.pc-statement__sums dd.is-ok { color: var(--pc-ok); } .pc-statement__sums dd.is-bad { color: var(--pc-bad); }
.pc-statement__actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: flex-start; margin-top: 12px; }
.pc-statement__actions form { margin: 0; }
.pc-dispute { flex: 1 1 260px; }
.pc-dispute summary { list-style: none; } .pc-dispute summary::-webkit-details-marker { display: none; }
.pc-dispute form { display: grid; gap: 8px; margin-top: 10px; }
.pc-dispute textarea { padding: 10px 12px; border: 1px solid var(--pc-line); border-radius: var(--pc-r-sm); font: inherit; }

/* the tours feed for a site */
.pc-feed > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; list-style: none; cursor: pointer; }
.pc-feed > summary::-webkit-details-marker { display: none; }
.pc-feed > summary span { display: grid; gap: 3px; }
.pc-feed > summary strong { font-size: 16px; }
.pc-feed > summary small { color: var(--pc-muted); font-size: 13.5px; }
.pc-feed > summary::after { content: '+'; flex: none; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--pc-line); border-radius: 50%; color: var(--pc-muted); font-size: 20px; }
.pc-feed[open] > summary::after { content: '−'; }
.pc-feed__body { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--pc-line); }

@media (max-width: 1100px) {
    .pc-kpis--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pc-kpis--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pc-grid3 { grid-template-columns: 1fr 1fr; }
    .pc-grid3 > :last-child { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
    .itbs-partner-dashboard.pc { padding: 14px 12px 40px; }
    .pc-top { margin-bottom: 12px; }
    .pc-me__txt, .pc-tg span, .pc-me__edit { display: none; }
    .pc-profile__row { grid-template-columns: 1fr; gap: 0; }
    .pc-me { padding: 3px; }
    .pc-tg { width: 38px; padding: 0; justify-content: center; }
    /* Phones (owner 2026-11-03): one compact row per tab — icon, name, number — each tab as wide as it needs, never two lines. */
    .pc-tabs, .pc-tabs.is-stuck { display: flex; gap: 8px; margin-bottom: 14px; padding: 6px 0; }
    .pc-tab, .pc-tabs.is-stuck .pc-tab { flex: 1 1 auto; flex-direction: row; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 12px; }
    .pc-tab:first-child { flex: 0 0 auto; } /* the short «Tours» never gives way to the long name next to it */
    .pc-tab__ico, .pc-tabs.is-stuck .pc-tab__ico { width: 26px; height: 26px; border-radius: 8px; }
    .pc-tab__ico svg, .pc-tabs.is-stuck .pc-tab__ico svg { width: 15px; height: 15px; }
    .pc-tab__txt strong, .pc-tabs.is-stuck .pc-tab__txt strong { font-size: 14px; line-height: 1.2; }
    .pc-tab__txt small { display: none; }
    .pc-tab__num { padding-left: 4px; }
    .pc-tab__num b, .pc-tabs.is-stuck .pc-tab__num b { font-size: 14px; }
    .pc-tab__num em { display: none; }
    .pc-intro h2 { font-size: 22px; }
    .pc-intro__actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
    .pc-intro__actions #itbs-partner-open-booking-modal { grid-column: 1 / -1; grid-row: 1; }
    .pc-intro__facts { width: 100%; }
    .pc-fact { flex: 1 1 0; }
    .pc-kpis--6, .pc-kpis--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pc-kpi { padding: 12px; }
    .pc-kpi strong { font-size: 19px; }
    .pc .itbs-partner-panel { padding: 16px; border-radius: 16px; }
    .pc-grid3 { grid-template-columns: 1fr; gap: 12px; }
    .pc-payout { width: 100%; margin-left: 0; }
    .pc-payout > .pc-btn { flex: 1 1 auto; }
    .pc-sheet { align-items: flex-end; padding: 0; }
    .pc-sheet__box { width: 100%; max-height: calc(100dvh - 24px - var(--vg-top, 0px)); padding: 16px; border-radius: 18px 18px 0 0; }
    .itbs-partner-calendar-filters { grid-template-columns: 1fr 1fr; }
    .itbs-partner-calendar-filters #itbs-partner-calendar-search { grid-column: 1 / -1; }
    .pc-statement__sums { grid-template-columns: 1fr 1fr; }
    .pc .itbs-partner-modal-card { padding: 16px; max-height: calc(100dvh - 20px - var(--vg-top, 0px)); }
}
@media (max-width: 480px) {
    .pc-tab__ico { display: none; } /* phones: both names whole instead of icons */
}

/* ---------- sign in / sign up (views/partner-cabinet/auth.php) ---------- */
.pc-auth { max-width: 1120px; padding-top: 40px; padding-bottom: 56px; }
.pc-auth__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: 48px; align-items: start; }
.pc-auth__intro { padding-top: 12px; }
.pc-auth__brand { display: inline-flex; align-items: center; gap: 12px; color: var(--pc-ink) !important; font-size: 17px; font-weight: 800; text-decoration: none !important; }
.pc-auth__brand img { width: 44px; height: 44px; object-fit: contain; }
.pc-auth__intro h1 { margin: 26px 0 12px; color: var(--pc-ink); font-size: clamp(30px, 4vw, 44px); font-weight: 850; line-height: 1.08; letter-spacing: -.02em; }
.pc-auth__lead { max-width: 30em; margin: 0 0 24px; color: var(--pc-text); font-size: 17px; line-height: 1.55; }
.pc-auth__points { display: grid; gap: 12px; margin: 0 0 24px; padding: 0; list-style: none; }
.pc-auth__points li { display: flex; align-items: flex-start; gap: 12px; color: var(--pc-ink); font-size: 15.5px; font-weight: 600; line-height: 1.45; }
.pc-auth__tick { display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--pc-accent-soft); color: var(--pc-accent-ink); }
.pc-auth__more { color: var(--pc-accent-ink) !important; font-weight: 700; text-decoration: none !important; }
.pc-auth__more:hover { text-decoration: underline !important; }
.pc-auth__card { padding: 28px; border: 1px solid var(--pc-line); border-radius: 22px; background: #fff; box-shadow: 0 30px 70px -40px rgba(15, 23, 42, .35); }
.pc-auth__alert { margin-bottom: 14px; padding: 11px 14px; border-radius: var(--pc-r-sm); font-size: 14px; font-weight: 600; line-height: 1.45; }
.pc-auth__alert.is-bad { background: var(--pc-bad-bg); color: var(--pc-bad); }
.pc-auth__alert.is-info { background: var(--pc-info-bg); color: var(--pc-info); }
.pc-auth__alert a { color: inherit; text-decoration: underline; }
.pc-auth__switch { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-bottom: 20px; padding: 4px; border-radius: 14px; background: var(--pc-soft); }
.pc-auth__switch button { min-height: 44px; border: 0; border-radius: 11px; background: none; color: var(--pc-muted); font-family: inherit; font-size: 15px; font-weight: 750; line-height: 1; cursor: pointer; }
.pc-auth__switch button[aria-selected="true"] { background: #fff; color: var(--pc-ink); box-shadow: 0 4px 12px -6px rgba(15, 23, 42, .35); }
.pc-auth__pane[hidden] { display: none; }
.pc-auth__form .pc-label { margin-top: 14px; }
.pc-auth__form .pc-label:first-of-type { margin-top: 0; }
.pc-auth__pass { position: relative; }
.pc-auth__pass .pc-input { padding-right: 46px; }
.pc-auth__eye { position: absolute; top: 50%; right: 6px; display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 9px; background: none; color: var(--pc-muted); transform: translateY(-50%); cursor: pointer; }
.pc-auth__eye:hover { background: var(--pc-soft); color: var(--pc-ink); }
.pc-auth__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
.pc-auth__check { display: inline-flex; align-items: center; gap: 8px; color: var(--pc-text); font-size: 14px; font-weight: 600; }
.pc-auth__submit { width: 100%; margin-top: 18px; min-height: 50px; font-size: 16px; }
.pc-auth__reset { margin-top: 16px; padding: 14px; border: 1px dashed var(--pc-line); border-radius: var(--pc-r-sm); background: var(--pc-soft); }
.pc-auth__reset[hidden] { display: none; }
.pc-auth__reset strong { display: block; margin-bottom: 8px; color: var(--pc-ink); }
.pc-auth__inline { display: flex; gap: 8px; }
.pc-auth__inline .pc-input { flex: 1 1 auto; min-width: 0; }
.pc-auth__foot { margin: 18px 0 0; color: var(--pc-muted); font-size: 14px; text-align: center; }
.pc-auth__fine { margin: 12px 0 0; color: var(--pc-muted); font-size: 12.5px; line-height: 1.5; text-align: center; }
.pc-auth__closed { padding: 16px; border-radius: var(--pc-r-sm); background: var(--pc-soft); color: var(--pc-text); font-size: 15px; line-height: 1.55; }
.pc-auth__hp { position: absolute; left: -5000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 900px) {
    .pc-auth { padding-top: 20px; }
    .pc-auth__grid { grid-template-columns: 1fr; gap: 22px; }
    .pc-auth__intro h1 { margin-top: 16px; }
    .pc-auth__points { gap: 8px; margin-bottom: 8px; }
    .pc-auth__card { padding: 20px 16px; border-radius: 18px; }
    .pc-auth__inline { flex-direction: column; }
}

/* ---------- the link builder: 1 where the link leads, 2 the link (views/partner-cabinet/links.php) ---------- */
.pc-step { padding: 18px 0 4px; border-top: 1px solid var(--pc-line); }
.pc-step:first-of-type { border-top: 0; padding-top: 4px; }
.pc-step__title { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; color: var(--pc-ink); font-size: 16px; font-weight: 800; }
.pc-step__num { display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--pc-accent); color: #fff; font-size: 14px; font-weight: 800; }
.pc-dest { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.pc-dest__opt { display: grid; gap: 3px; min-width: 0; padding: 14px 16px; border: 1.5px solid var(--pc-line); border-radius: var(--pc-r-sm); background: #fff; color: var(--pc-ink); font: inherit; text-align: left; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.pc-dest__opt b { font-size: 15px; font-weight: 750; }
.pc-dest__opt small { color: var(--pc-muted); font-size: 12.5px; font-weight: 550; }
.pc-dest__opt:hover { border-color: #cbd5e1; background: var(--pc-soft); }
.pc-dest__opt[aria-checked="true"] { border-color: var(--pc-accent); background: #fff; box-shadow: 0 0 0 3px var(--pc-accent-soft); }
.pc-dest__opt[aria-checked="true"] b::before { content: '✓ '; color: var(--pc-accent); }
.pc-dest__tour { margin-top: 14px; }
.pc-dest__tour[hidden], .pc-search[hidden], .pc-dest__picked[hidden] { display: none; }
.pc-dest__picked { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border: 1.5px solid var(--pc-accent); border-radius: var(--pc-r-sm); background: var(--pc-accent-soft); }
.pc-dest__picked img { flex: none; width: 56px; height: 42px; border-radius: 8px; object-fit: cover; }
.pc-dest__pickedtxt { display: grid; gap: 2px; flex: 1 1 auto; min-width: 0; }
.pc-dest__pickedtxt b { overflow: hidden; color: var(--pc-ink); font-size: 14.5px; white-space: nowrap; text-overflow: ellipsis; }
.pc-dest__pickedtxt small { color: var(--pc-muted); font-size: 12.5px; font-weight: 600; }
.pc-tour-row { display: flex; align-items: center; gap: 12px; width: 100%; padding: 9px 12px; border: 0; border-bottom: 1px solid var(--pc-line); background: #fff; color: var(--pc-ink); font: inherit; text-align: left; cursor: pointer; }
.pc-tour-row:hover { background: var(--pc-soft); }
.pc-tour-row img, .pc-tour-row__ph { flex: none; width: 48px; height: 36px; border-radius: 6px; object-fit: cover; background: var(--pc-soft); }
.pc-tour-row span { display: grid; gap: 2px; min-width: 0; }
.pc-tour-row b { overflow: hidden; font-size: 14px; white-space: nowrap; text-overflow: ellipsis; }
.pc-tour-row small { color: var(--pc-muted); font-size: 12px; font-weight: 600; }
.pc-dest__custom { margin-top: 12px; }
.pc-dest__custom summary { display: inline-flex; align-items: center; gap: 6px; color: var(--pc-muted); font-size: 13.5px; font-weight: 650; cursor: pointer; list-style: none; }
.pc-dest__custom summary::-webkit-details-marker { display: none; }
.pc-dest__custom summary::before { content: '+'; display: grid; place-items: center; width: 18px; height: 18px; border: 1px solid var(--pc-line); border-radius: 50%; font-size: 13px; line-height: 1; }
.pc-dest__custom[open] summary::before { content: '−'; }
.pc-dest__custom[open] summary { margin-bottom: 10px; color: var(--pc-ink); }
.pc-dest__custom > small { display: block; margin: 6px 0 10px; color: var(--pc-muted); font-size: 12.5px; }
.pc-result { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: stretch; }
.pc-result__main { display: grid; align-content: start; gap: 10px; min-width: 0; padding: 16px; border-radius: var(--pc-r-sm); background: var(--pc-soft); border: 1px solid var(--pc-line); }
.pc-result__to { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 10px; color: var(--pc-muted); font-size: 13.5px; font-weight: 600; }
.pc-result__to b { color: var(--pc-ink); font-weight: 750; }
.pc-result__to .pc-link-btn { margin-left: auto; text-decoration: none; }
.pc-copy__link { font: 600 15px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace !important; color: var(--pc-ink) !important; background: #fff !important; }
.pc-result__hint { margin: 0; color: var(--pc-muted); font-size: 12.5px; line-height: 1.5; }
.pc-result__qr { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--pc-line); border-radius: var(--pc-r-sm); background: #fff; }
.pc-result__qr img { flex: none; width: 132px; height: 132px; }
.pc-result__qr strong { display: block; font-size: 14.5px; font-weight: 750; }
.pc-result__qr small { display: block; max-width: 150px; margin: 4px 0 10px; color: var(--pc-muted); font-size: 12.5px; line-height: 1.4; }
@media (max-width: 1100px) { .pc-dest { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
    .pc-result { grid-template-columns: 1fr; }
    .pc-dest__opt { padding: 12px; }
    .pc-result__qr img { width: 104px; height: 104px; }
    .pc-result .pc-copy { flex-direction: column; align-items: stretch; }
    .pc-result .pc-copy .pc-btn { width: 100%; }
    .pc-copy__link { font-size: 13.5px !important; }
    .pc-result__qr small { max-width: none; }
}

/* ============================================================================================================
   The app (owner 2026-11-08, the mockups): the company and a menu on the left, a bar on top, home's three screens
   under tabs (Summary, Calendar, My bookings), cards with soft edges. Everything below is scoped to .pc--app; the
   parts above keep the forms, windows and lists working.
   ============================================================================================================ */
.itbs-partner-dashboard.pc.pc--app {
    --pc-page: #f6f7fb; --pc-line: #e8ebf1; --pc-ink: #101828; --pc-text: #344054; --pc-muted: #667085; --pc-r: 20px; --pc-r-sm: 14px;
    --pc-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 10px 28px -20px rgba(16, 24, 40, .22);
    --pc-blue: #2563eb;
    display: grid; grid-template-columns: 268px minmax(0, 1fr); max-width: none; min-height: 100vh; margin: 0; padding: 0; background: var(--pc-page);
}
html:has(.pc--app), html:has(.pc--app) body { background: #f6f7fb !important; }

/* the left column */
.pc--app .pc-side { position: sticky; top: var(--vg-top, 0px); display: flex; flex-direction: column; gap: 4px; height: calc(100vh - var(--vg-top, 0px)); overflow-y: auto; padding: 22px 18px 18px; background: #fbfbfd; border-right: 1px solid var(--pc-line); }
body:not(.page-template-page-portal) .pc--app .pc-side { top: var(--vg-hdr, 0px); height: calc(100vh - var(--vg-hdr, 0px)); }
.pc-side__brand { display: flex; align-items: center; gap: 12px; padding: 0 6px; color: var(--pc-ink) !important; text-decoration: none !important; }
.pc-side__brand img { flex: none; width: 52px; height: 52px; object-fit: contain; }
.pc-side__brand strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 17px; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; }
.pc-side__sub { margin: 10px 6px 22px; color: var(--pc-muted); font-size: 14px; font-weight: 550; }
.pc-nav { display: grid; gap: 4px; }
.pc-nav__i { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 50px; padding: 8px 14px; border: 0; border-radius: 14px; background: transparent; color: var(--pc-text); font-family: inherit; font-size: 16px; font-weight: 500; line-height: 1.25; text-align: left; cursor: pointer; transition: background .15s ease, color .15s ease; }
.pc-nav__i svg { flex: none; color: #475467; }
.pc-nav__i:hover { background: #f2f4f7; }
.pc-nav__i[aria-selected="true"] { background: color-mix(in srgb, var(--pc-accent) 13%, #fff); color: var(--pc-accent); font-weight: 650; }
.pc-nav__i[aria-selected="true"] svg { color: var(--pc-accent); }
.pc-nav__i:focus-visible { outline: 2px solid var(--pc-accent); outline-offset: 2px; }
.pc-nav__t { min-width: 0; }
.pc-nav__n { margin-left: auto; padding: 3px 10px; border-radius: 999px; background: #eef0f4; color: var(--pc-text); font-size: 13px; font-weight: 750; }
.pc-nav__i[aria-selected="true"] .pc-nav__n { background: color-mix(in srgb, var(--pc-accent) 20%, #fff); color: var(--pc-accent); }
.pc-side__support { margin-top: auto; border: 1px solid var(--pc-line); background: #fff; box-shadow: var(--pc-shadow); }

/* the bar */
.pc--app .pc-main { min-width: 0; padding: 18px 32px 56px; }
.pc-bar { display: flex; align-items: center; gap: 16px; min-height: 54px; margin-bottom: 20px; }
.pc-bar__brand { display: none; align-items: center; gap: 10px; min-width: 0; color: var(--pc-ink) !important; text-decoration: none !important; }
.pc-bar__brand img { width: 34px; height: 34px; object-fit: contain; }
.pc-bar__brand strong { overflow: hidden; font-size: 15px; font-weight: 800; white-space: nowrap; text-overflow: ellipsis; }
.pc-bar__msgs { display: grid; flex: 1 1 auto; gap: 8px; min-width: 0; }
.pc-bar__msgs:empty { display: none; }
.pc-msg { display: flex; align-items: center; gap: 12px; min-height: 50px; padding: 8px 10px 8px 14px; border: 1px solid; border-radius: 14px; font-weight: 650; }
.pc-msg.is-ok { border-color: #c6efd5; background: #e9f9ef; color: #14532d; }
.pc-msg.is-bad { border-color: #fecdd3; background: #fef2f2; color: #991b1b; }
.pc-msg.is-info { border-color: #c7d7fe; background: #eef4ff; color: #1e40af; }
.pc-msg__i { display: grid; flex: none; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: currentColor; font-size: 14px; font-weight: 900; }
.pc-msg.is-ok .pc-msg__i { background: #16a34a; color: #fff; }
.pc-msg.is-bad .pc-msg__i { background: #dc2626; color: #fff; }
.pc-msg.is-info .pc-msg__i { background: var(--pc-blue); color: #fff; }
.pc-msg__x { margin-left: auto; width: 32px; height: 32px; border: 0; border-radius: 10px; background: transparent; color: inherit; font-size: 20px; opacity: .55; cursor: pointer; }
.pc-msg__x:hover { opacity: 1; background: rgba(255, 255, 255, .6); }
.pc-bar__side { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.pc--app .pc-me { gap: 12px; padding: 6px; border-radius: 18px; cursor: default; box-shadow: var(--pc-shadow); }
.pc--app .pc-me:hover { border-color: var(--pc-line); box-shadow: var(--pc-shadow); }
.pc--app .pc-me__ava { width: 42px; height: 42px; font-size: 18px; }
.pc--app .pc-me__txt { padding-right: 4px; }
.pc--app .pc-me__txt strong { font-size: 16px; }
.pc--app .pc-me__txt small { font-size: 13px; }
.pc--app .pc-me__edit { display: inline-flex; align-items: center; gap: 6px; min-height: 42px; margin: 0; padding: 0 16px; border: 1px solid color-mix(in srgb, var(--pc-accent) 30%, #fff); border-radius: 13px; background: color-mix(in srgb, var(--pc-accent) 7%, #fff); color: var(--pc-accent); font-family: inherit; font-size: 14px; font-weight: 650; line-height: 1; cursor: pointer; }
.pc--app .pc-me__edit:hover { background: color-mix(in srgb, var(--pc-accent) 13%, #fff); }
.pc-bar__out { display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid var(--pc-line); border-radius: 15px; background: #fff; color: var(--pc-ink) !important; box-shadow: var(--pc-shadow); }
.pc-bar__out:hover { border-color: #cbd5e1; }

/* home's tabs */
.pc-subtabs { display: flex; gap: 14px; margin: 0 0 26px; padding-bottom: 18px; border-bottom: 1px solid var(--pc-line); }
.pc-subtab { display: inline-flex; align-items: center; gap: 12px; min-height: 58px; padding: 0 26px; border: 1.5px solid var(--pc-line); border-radius: 16px; background: #fff; color: var(--pc-ink); font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1; cursor: pointer; box-shadow: var(--pc-shadow); }
.pc-subtab svg { color: #475467; }
.pc-subtab b { padding: 4px 11px; border-radius: 999px; background: #eef0f4; font-size: 15px; font-weight: 750; }
.pc-subtab:hover { border-color: #cbd5e1; }
.pc-subtab[aria-selected="true"] { border-color: var(--pc-accent); background: color-mix(in srgb, var(--pc-accent) 8%, #fff); color: var(--pc-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--pc-accent) 10%, transparent); }
.pc-subtab[aria-selected="true"] svg { color: var(--pc-accent); }

/* section heads, hints, buttons, fields */
.pc-sec-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 18px; margin: 0 0 18px; }
.pc-sec-head h2 { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 30px; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.pc-sec-head__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.pc-hint { position: relative; display: inline-grid; place-items: center; width: 22px; height: 22px; border: 1.5px solid #98a2b3; border-radius: 50%; color: #98a2b3; font-size: 12.5px; font-weight: 800; letter-spacing: 0; cursor: help; }
.pc-hint:hover::after, .pc-hint:focus::after { content: attr(data-tip); position: absolute; top: calc(100% + 8px); left: -10px; z-index: 50; width: max-content; max-width: 320px; padding: 10px 12px; border: 1px solid var(--pc-line); border-radius: 12px; background: #fff; color: var(--pc-text); box-shadow: 0 16px 40px -20px rgba(16, 24, 40, .45); font-size: 13px; font-weight: 550; line-height: 1.45; white-space: normal; }
.pc-hint:focus { outline: none; border-color: var(--pc-accent); color: var(--pc-accent); }
.pc--app .pc-btn { min-height: 50px; padding: 0 22px; border-radius: 14px; font-size: 16px; }
.pc--app .pc-btn--sm { min-height: 40px; padding: 0 14px; border-radius: 11px; font-size: 14px; }
.pc--app .pc-btn--ghost { box-shadow: var(--pc-shadow); }
.pc--app .pc-btn--primary { box-shadow: 0 10px 22px -12px color-mix(in srgb, var(--pc-accent) 80%, transparent); }
.pc-btn--blue { background: var(--pc-blue); color: #fff !important; }
.pc-btn--blue:hover { background: #1d4ed8; }
.pc-iconbtn { display: inline-grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--pc-line); border-radius: 11px; background: #fff; color: var(--pc-ink); cursor: pointer; }
.pc-iconbtn:hover { border-color: #cbd5e1; background: #f8fafc; }
.pc-filters { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin: 0 0 18px; }
.pc-filters--3 { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr) minmax(0, 1fr); }
.pc-filters--bookings { grid-template-columns: minmax(0, 1.6fr) minmax(0, .9fr) minmax(0, 1fr) auto; }
.pc-field { position: relative; display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 14px; border: 1px solid var(--pc-line); border-radius: 14px; background: #fff; color: #667085; box-shadow: var(--pc-shadow); }
.pc-field:focus-within { border-color: var(--pc-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pc-accent) 14%, transparent); }
.pc-field svg { flex: none; }
.pc-field input, .pc-field select, .pc .pc-field .itbs-partner-input { flex: 1 1 auto; width: 100%; min-width: 0; height: 48px; margin: 0; padding: 0 !important; border: 0 !important; border-radius: 0; background: transparent !important; box-shadow: none !important; color: var(--pc-ink); font-family: inherit; font-size: 15px; font-weight: 500; line-height: 1; outline: none; }
.pc-field select { padding-right: 26px !important; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23344054' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 0 center !important; cursor: pointer; }
.pc-field--sm { min-height: 42px; }
.pc-field--sm select { height: 40px; font-size: 14px; }
.pc-card { padding: 20px 22px; border: 1px solid var(--pc-line); border-radius: var(--pc-r); background: #fff; box-shadow: var(--pc-shadow); }
.pc--app .itbs-partner-panel { border-color: var(--pc-line); border-radius: var(--pc-r); box-shadow: var(--pc-shadow); }

/* summary: the period, the numbers, the chart and the ring */
.pc-period { position: relative; }
.pc-period__btn { display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 16px; border: 1px solid var(--pc-line); border-radius: 14px; background: #fff; color: var(--pc-ink); font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1; cursor: pointer; box-shadow: var(--pc-shadow); }
.pc-period__btn svg:last-child { margin-left: 18px; }
.pc-period__menu { position: absolute; top: calc(100% + 6px); right: 0; z-index: 40; display: grid; min-width: 100%; padding: 6px; border: 1px solid var(--pc-line); border-radius: 14px; background: #fff; box-shadow: 0 18px 40px -18px rgba(16, 24, 40, .4); }
.pc-period__menu button { padding: 10px 12px 10px 32px; border: 0; border-radius: 10px; background: transparent; color: var(--pc-ink); font-family: inherit; font-size: 14.5px; font-weight: 550; line-height: 1.2; text-align: left; white-space: nowrap; cursor: pointer; position: relative; }
.pc-period__menu button:hover { background: #f2f4f7; }
.pc-period__menu button[aria-selected="true"] { font-weight: 800; }
.pc-period__menu button[aria-selected="true"]::before { content: '✓'; position: absolute; left: 12px; color: var(--pc-accent); font-weight: 900; }
/* This month and the past months by name (owner 2026-11-09): the menu scrolls when it is longer than the screen. */
.pc-period__menu { max-height: min(70vh, 560px); overflow-y: auto; overscroll-behavior: contain; }
.pc-period__group { display: block; margin: 6px 0 2px; padding: 8px 12px 4px; border-top: 1px solid var(--pc-line); color: var(--pc-muted, #667085); font-size: 12px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.pc-stats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; margin: 0 0 20px; transition: opacity .2s ease; }
.pc-stats.is-busy, .pc-dash.is-busy { opacity: .55; }
.pc-stat { display: flex; align-items: center; gap: 14px; min-width: 0; padding: 18px 16px; border: 1px solid var(--pc-line); border-radius: 18px; background: #fff; box-shadow: var(--pc-shadow); }
.pc-stat__ico { display: grid; flex: none; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #f2f4f7; color: #475467; }
.pc-stat__txt { display: grid; gap: 4px; min-width: 0; }
.pc-stat__txt span { color: var(--pc-muted); font-size: 14px; font-weight: 550; }
.pc-stat__txt strong { overflow: hidden; color: var(--pc-ink); font-size: 23px; font-weight: 800; letter-spacing: -.02em; white-space: nowrap; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.pc-stat.tone-warn .pc-stat__ico { background: #fff4e5; color: #ea580c; } .pc-stat.tone-warn strong { color: #ea580c; }
.pc-stat.tone-info .pc-stat__ico { background: #eef4ff; color: var(--pc-blue); } .pc-stat.tone-info strong { color: var(--pc-blue); }
.pc-stat.tone-ok .pc-stat__ico { background: #e9f9ef; color: #16a34a; } .pc-stat.tone-ok strong { color: #16a34a; }
.pc-dash { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(300px, 1fr); gap: 20px; margin: 0 0 28px; transition: opacity .2s ease; }
.pc-chart { position: relative; }
.pc-chart__legend { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 26px; margin: 4px 0 10px 8px; }
.pc-chk { display: inline-flex; align-items: center; gap: 10px; color: var(--pc-ink); font-size: 16px; font-weight: 600; cursor: pointer; user-select: none; }
.pc-chk input { position: absolute; opacity: 0; pointer-events: none; }
.pc-chk i { display: grid; place-items: center; width: 24px; height: 24px; border: 1.5px solid #d0d5dd; border-radius: 7px; background: #fff; }
.pc-chk input:checked + i { border-color: var(--c); background: var(--c); }
.pc-chk input:checked + i::after { content: ''; width: 11px; height: 6px; margin-top: -3px; border-left: 2.5px solid #fff; border-bottom: 2.5px solid #fff; transform: rotate(-45deg); }
.pc-chk input:focus-visible + i { outline: 2px solid var(--c); outline-offset: 2px; }
.pc-chk.is-sales { --c: var(--pc-accent); } .pc-chk.is-commission { --c: var(--pc-c2, var(--pc-blue)); } .pc-chk.is-requests { --c: #475467; }
.pc-chart__table-btn { margin-left: auto; padding: 6px 10px; border: 0; border-radius: 9px; background: transparent; color: var(--pc-muted); font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1; cursor: pointer; }
.pc-chart__table-btn:hover, .pc-chart__table-btn[aria-pressed="true"] { background: #f2f4f7; color: var(--pc-ink); }
.pc-chart__plot { position: relative; height: 250px; outline: none; }
.pc-chart__plot svg { display: block; width: 100%; height: 100%; overflow: visible; }
.pc-chart__plot:focus-visible { box-shadow: 0 0 0 2px color-mix(in srgb, var(--pc-accent) 40%, transparent); border-radius: 10px; }
.pc-chart__bars { margin-top: 10px; }
.pc-chart__bars h4 { margin: 0 0 6px; color: var(--pc-muted); font-size: 12.5px; font-weight: 700; }
.pc-chart__table { max-height: 260px; margin-top: 12px; overflow: auto; border: 1px solid var(--pc-line); border-radius: 12px; }
.pc-chart__table table { width: 100%; border-collapse: collapse; font-size: 13px; }
.pc-chart__table th, .pc-chart__table td { padding: 7px 10px; border-bottom: 1px solid #f2f4f7; text-align: right; font-variant-numeric: tabular-nums; }
.pc-chart__table th:first-child, .pc-chart__table td:first-child { text-align: left; }
.pc-chart__table th { position: sticky; top: 0; background: #f9fafb; color: var(--pc-muted); font-weight: 700; }
.pc-chart__tip { position: absolute; z-index: 5; display: grid; gap: 4px; min-width: 170px; padding: 9px 12px; border: 1px solid var(--pc-line); border-radius: 12px; background: #fff; box-shadow: 0 16px 36px -18px rgba(16, 24, 40, .45); font-size: 13.5px; pointer-events: none; }
.pc-chart__tip div { display: flex; align-items: center; gap: 8px; color: var(--pc-text); }
.pc-chart__tip i { flex: none; width: 12px; height: 3px; border-radius: 2px; background: var(--c); }
.pc-chart__tip b { color: var(--pc-ink); font-weight: 800; font-variant-numeric: tabular-nums; }
.pc-chart__tip small { color: var(--pc-muted); font-weight: 650; }
.pc-ring { display: flex; align-items: center; gap: 26px; }
.pc-ring__chart { flex: none; width: 156px; height: 156px; }
.pc-ring__chart svg { display: block; width: 100%; height: 100%; }
.pc-ring__txt { display: grid; flex: 1 1 auto; gap: 4px; min-width: 0; }
.pc-ring__txt span { color: var(--pc-text); font-size: 16px; font-weight: 550; }
.pc-ring__txt strong { color: #16a34a; font-size: 34px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.pc-ring__txt hr { width: 100%; margin: 12px 0; border: 0; border-top: 1px solid var(--pc-line); }
.pc-ring__txt b { color: var(--pc-ink); font-size: 21px; font-weight: 800; font-variant-numeric: tabular-nums; }

/* tours */
.pc-tours { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }
.pc-tour { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--pc-line); border-radius: 18px; background: #fff; box-shadow: var(--pc-shadow); }
.pc-tour__img { aspect-ratio: 16 / 10; background: #eef0f4 center / cover no-repeat; }
.pc-tour__body { display: grid; flex: 1 1 auto; gap: 8px; padding: 14px 16px 16px; }
.pc-tour__body h3 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; font-size: 16px; font-weight: 800; line-height: 1.3; }
.pc-tour__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--pc-muted); font-size: 13px; font-weight: 600; }
.pc-tour__com { padding: 4px 9px; border-radius: 999px; background: color-mix(in srgb, var(--pc-accent) 11%, #fff); color: var(--pc-accent); font-weight: 750; }
.pc-tour__price { color: var(--pc-ink); font-size: 15px; font-weight: 800; }
.pc-tour__acts { display: flex; gap: 8px; margin-top: auto; padding-top: 6px; }
.pc-tour__acts .pc-btn { flex: 1 1 auto; }

/* groups and departures */
.pc--app .pc-cal.itbs-partner-panel { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.pc-cal-slot[data-pc-cal-slot="home"] .pc-cal.itbs-partner-panel { padding: 22px 24px; border: 1px solid var(--pc-line); background: #fff; box-shadow: var(--pc-shadow); }
.pc-cal-slot[data-pc-cal-slot="home"] .pc-cal .pc-sec-head h2 { font-size: 26px; }
.pc-seg { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid var(--pc-line); border-radius: 16px; background: #f2f4f7; }
.pc-seg button { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px; border: 0; border-radius: 12px; background: transparent; color: var(--pc-muted); font-family: inherit; font-size: 15px; font-weight: 500; line-height: 1; cursor: pointer; }
.pc-seg button:hover { color: var(--pc-ink); }
.pc-seg button.is-active { background: #fff; color: var(--pc-ink); box-shadow: 0 1px 3px rgba(16, 24, 40, .14); font-weight: 650; }
.pc--app .itbs-partner-calendar-toolbar { margin: 4px 0 16px; }
.pc--app .itbs-partner-calendar-month { gap: 14px; }
.pc--app .itbs-partner-calendar-month button { display: grid; place-items: center; width: 46px; min-width: 46px; height: 46px; border: 1px solid var(--pc-line); border-radius: 14px; background: #fff; color: var(--pc-ink); box-shadow: var(--pc-shadow); }
.pc--app .itbs-partner-calendar-month button:disabled { opacity: .4; cursor: default; }
.pc--app .itbs-partner-calendar-month strong { display: inline-flex; align-items: center; gap: 10px; min-width: 200px; justify-content: center; font-size: 22px; font-weight: 800; letter-spacing: -.01em; }
.pc-cal__sum { padding: 8px 14px; border-radius: 12px; background: #eef0f4; color: var(--pc-ink); font-size: 14px; font-weight: 700; }
.pc-cal__sum:empty { display: none; }
.pc--app .itbs-partner-calendar-grid { gap: 10px; }
.pc--app .itbs-partner-calendar-weekday { padding: 6px 2px 2px; color: var(--pc-muted); font-size: 14px; font-weight: 650; }
.pc--app .itbs-partner-calendar-day { min-height: 106px; padding: 10px; gap: 6px; border: 1px solid #e6e9ef; border-radius: 14px; background: #fff; box-shadow: 0 1px 2px rgba(16, 24, 40, .04); }
.pc--app .itbs-partner-calendar-day.has-slots { border-color: #e6e9ef; box-shadow: 0 1px 2px rgba(16, 24, 40, .04); }
.pc--app .itbs-partner-calendar-day.is-muted { background: #f6f7f9; color: #98a2b3; box-shadow: none; }
.pc--app .itbs-partner-calendar-day.is-today { border: 2px solid var(--pc-accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--pc-accent) 10%, transparent); }
.pc--app .itbs-partner-calendar-day-head { font-size: 15px; font-weight: 800; color: var(--pc-ink); }
.pc--app .itbs-partner-calendar-day.is-muted .itbs-partner-calendar-day-head { color: #98a2b3; font-weight: 650; }
.pc--app .itbs-partner-calendar-count { min-width: 24px; padding: 3px 8px; background: #e8efff; color: var(--pc-blue); font-size: 12px; font-weight: 800; }
.pc--app .itbs-partner-calendar-chip-list { gap: 5px; max-height: none; overflow: visible; }
.pc--app .itbs-partner-calendar-count.pc-chip-more { align-self: flex-start; min-width: 0; padding: 4px 10px; background: transparent; color: var(--pc-blue); font-size: 12px; font-weight: 750; }
.pc--app .itbs-partner-calendar-count.pc-chip-more:hover, .pc--app .itbs-partner-calendar-count.pc-chip-more:focus-visible { background: #e8efff; color: var(--pc-blue); }
.pc--app .itbs-partner-calendar-chip, .pc--app .itbs-partner-calendar-chip.is-formed, .pc--app .itbs-partner-calendar-chip[data-status] { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 7px 8px 7px 10px; border: 0; border-radius: 9px; background: color-mix(in srgb, var(--tc, var(--pc-blue)) 10%, #fff); box-shadow: inset 3px 0 0 var(--tc, var(--pc-blue)); color: var(--pc-ink); font-size: 12px; font-weight: 750; line-height: 1.25; }
.pc--app .itbs-partner-calendar-chip.is-potential { background: #f6f7f9; box-shadow: inset 0 0 0 1px #e4e7ec; color: #475467; }
.pc--app .itbs-partner-calendar-chip:hover { filter: brightness(.97); }
.pc-chip__t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-width: 0; text-align: left; }
.pc-chip__n { display: inline-flex; flex: none; align-items: center; gap: 3px; color: #475467; font-size: 11px; font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pc--app .itbs-partner-calendar-past { min-height: 42px; padding: 0 16px; border: 0; border-radius: 12px; background: #eef0f4; color: var(--pc-text); font-size: 14px; font-weight: 600; }
.pc--app .itbs-partner-calendar-past span:first-child::before { content: '🕘'; margin-right: 10px; filter: grayscale(1); opacity: .6; }
.pc-load__plot { display: flex; align-items: flex-end; gap: 4px; height: 280px; padding: 12px 6px 0; border: 1px solid var(--pc-line); border-radius: 16px; background: #fff; }
.pc-load__col { display: flex; flex: 1 1 0; flex-direction: column; align-items: center; gap: 4px; min-width: 0; height: 100%; justify-content: flex-end; padding-bottom: 8px; }
.pc-load__bar { position: relative; width: 100%; max-width: 22px; height: 200px; }
.pc-load__bar i { position: absolute; bottom: 0; left: 0; right: 0; border-radius: 5px 5px 0 0; }
.pc-load__bar i.is-cap { background: #e4e7ec; }
.pc-load__bar i.is-occ { background: var(--pc-accent); }
.pc-load__col b { min-height: 14px; color: var(--pc-ink); font-size: 10.5px; font-weight: 800; }
.pc-load__col span { color: var(--pc-muted); font-size: 11px; font-weight: 600; }
.pc-load__col.is-today span { color: var(--pc-accent); font-weight: 900; }
.pc-load__legend { display: flex; gap: 18px; margin-top: 10px; color: var(--pc-muted); font-size: 13px; font-weight: 600; }
.pc-load__legend i { display: inline-block; width: 12px; height: 12px; margin-right: 6px; border-radius: 3px; vertical-align: -1px; }
.pc-load__legend i.is-occ { background: var(--pc-accent); } .pc-load__legend i.is-cap { background: #e4e7ec; box-shadow: inset 0 0 0 1px #d0d5dd; }

/* my bookings */
.pc--app .pc-bookings.itbs-partner-panel { margin: 0 0 24px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.pc-bookings .itbs-partner-bookings-toolbar { display: block; margin: 0; padding: 0; border: 0; background: transparent; }
.pc-bookings .itbs-partner-bookings-toolbar label.pc-field { display: flex; gap: 10px; color: #667085; font-size: 15px; font-weight: 500; text-transform: none; letter-spacing: 0; }
.pc-bookings .itbs-partner-bookings-toolbar .pc-field input, .pc-bookings .itbs-partner-bookings-toolbar .pc-field select { min-height: 0; color: var(--pc-ink); font-size: 15px; font-weight: 500; }
.pc-bookings .itbs-partner-bookings-toolbar .pc-field--sm select { font-size: 14px; }
.pc-com { display: block; margin-top: 2px; color: #667085; font-size: 12px; font-weight: 600; }
.pc-com.tone-info { color: var(--pc-blue); }
.pc-com.tone-ok { color: #15803d; }
.pc-com.tone-off { color: #98a2b3; }
.pc-counts { display: flex; flex-wrap: wrap; gap: 14px; }
.pc-count { display: inline-flex; align-items: center; gap: 12px; min-height: 68px; padding: 10px 20px 10px 12px; border: 1px solid var(--pc-line); border-radius: 16px; background: #fff; color: var(--pc-ink); font: inherit; text-align: left; cursor: pointer; box-shadow: var(--pc-shadow); }
.pc-count:hover { border-color: #cbd5e1; }
.pc-count.is-on { border-color: var(--pc-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pc-accent) 12%, transparent); }
.pc-count__ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #f2f4f7; color: #475467; }
.pc-count.tone-warn .pc-count__ico { background: #fff4e5; color: #ea580c; }
.pc-count.tone-ok .pc-count__ico { background: #e9f9ef; color: #16a34a; }
.pc-count__t { display: grid; gap: 2px; }
.pc-count__t span { color: var(--pc-muted); font-size: 14px; font-weight: 550; }
.pc-count__t b { font-size: 26px; font-weight: 800; line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.pc-table-card { padding: 0; overflow: hidden; }
.pc--app .pc-table-card .itbs-partner-bookings-table-wrap { border: 0; border-radius: 0; }
.pc--app .pc-table { min-width: 1080px; font-size: 14px; }
.pc--app .pc-table th { padding: 14px 12px; border-bottom: 1px solid var(--pc-line); background: #fff; color: var(--pc-text); font-size: 14px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.pc--app .pc-table th.n, .pc--app .pc-table td.n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pc--app .pc-table th.c { text-align: center; }
.pc--app .pc-table td { padding: 10px 12px; border-bottom: 1px solid #f0f2f5; color: var(--pc-ink); }
.pc--app .pc-table tbody tr:hover { background: #fafbfc; }
.pc--app .pc-table .itbs-partner-booking-number { color: var(--pc-blue); font-weight: 800; }
.pc-nowrap { white-space: nowrap; }
.pc-sort { display: inline-flex; align-items: center; gap: 6px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.pc-sort span { color: #98a2b3; }
.pc-sort.is-on span { color: var(--pc-accent); }
.pc-tourcell { display: flex; align-items: center; gap: 12px; min-width: 220px; }
.pc-tourcell img, .pc-tourcell__ph { flex: none; width: 58px; height: 42px; object-fit: cover; border-radius: 9px; background: #eef0f4; }
.pc-tourcell span { display: grid; gap: 3px; min-width: 0; }
.pc-tourcell b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; font-weight: 650; line-height: 1.3; }
.pc-tourcell .pc-guests { display: inline-flex; align-items: center; gap: 5px; color: var(--pc-muted); font-size: 12.5px; }
.pc-iconcell { display: inline-flex; align-items: center; gap: 10px; line-height: 1.3; }
.pc-iconcell svg { flex: none; color: #667085; }
.pc-pill { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border: 1px solid; border-radius: 999px; font-size: 13px; font-weight: 750; white-space: nowrap; }
.pc-pill.tone-warn { border-color: #fde0b8; background: #fff6e9; color: #c2410c; }
.pc-pill.tone-bad { border-color: #fecdd3; background: #fef2f2; color: #dc2626; }
.pc-pill.tone-ok { border-color: #c6efd5; background: #e9f9ef; color: #15803d; }
.pc-pill.tone-info { border-color: #c7d7fe; background: #eef4ff; color: #1d4ed8; }
.pc-acts { display: flex; align-items: center; justify-content: center; gap: 8px; }
.pc-pager { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 14px 18px; }
.pc-pager__shown { margin-right: auto; color: var(--pc-muted); font-size: 14px; font-weight: 550; }
.pc-pages { display: flex; align-items: center; gap: 8px; }
.pc-pages a, .pc-pages span { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 8px; border: 1px solid var(--pc-line); border-radius: 11px; background: #fff; color: var(--pc-ink) !important; font-size: 14px; font-weight: 700; text-decoration: none !important; }
.pc-pages a:hover { border-color: #cbd5e1; }
.pc-pages span[aria-current="page"] { border-color: var(--pc-blue); background: var(--pc-blue); color: #fff !important; }
.pc-pages .is-gap { border: 0; background: transparent; }
.pc-pages .is-off { opacity: .4; }

/* settings, support */
.pc-settings { max-width: 760px; }
.pc-settings .pc-profile h3 { margin: 0 0 14px; }
.pc-support .itbs-partner-modal-card { width: min(520px, 100%); }
.pc-support__list { display: grid; gap: 10px; }
.pc-support__i { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid var(--pc-line); border-radius: 14px; color: var(--pc-ink) !important; text-decoration: none !important; }
.pc-support__i:hover { border-color: var(--pc-accent); background: color-mix(in srgb, var(--pc-accent) 5%, #fff); }
.pc-support__ico { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #f2f4f7; color: #344054; }
.pc-support__i.is-whatsapp .pc-support__ico { background: #e8f8ee; color: #16a34a; }
.pc-support__i.is-telegram .pc-support__ico { background: #e8f4fd; color: #0284c7; }
.pc-support__t { display: grid; gap: 2px; }
.pc-support__t small { color: var(--pc-muted); font-size: 13px; }

/* the narrower screens */
@media (max-width: 1280px) {
    .pc-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pc-dash { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 960px) {
    .itbs-partner-dashboard.pc.pc--app { grid-template-columns: minmax(0, 1fr); }
    .pc--app .pc-side { z-index: 45; flex-direction: row; align-items: center; gap: 6px; height: auto; padding: 8px 12px; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--pc-line); background: rgba(251, 251, 253, .97); scrollbar-width: none; }
    .pc--app .pc-side::-webkit-scrollbar { display: none; }
    .pc-side__brand, .pc-side__sub { display: none; }
    .pc-nav { display: flex; gap: 6px; }
    .pc-nav__i { width: auto; min-height: 40px; padding: 0 12px; gap: 8px; font-size: 14px; white-space: nowrap; }
    .pc-nav__i svg { width: 18px; height: 18px; }
    .pc-side__support { margin: 0; box-shadow: none; }
    .pc--app .pc-main { padding: 12px 14px 40px; }
    .pc-bar { flex-wrap: wrap; gap: 10px; }
    .pc-bar__brand { display: flex; }
    .pc-bar__msgs { order: 3; flex-basis: 100%; }
    .pc--app .pc-me__txt small { display: none; }
    .pc-filters--3, .pc-filters--bookings { grid-template-columns: minmax(0, 1fr); }
    .pc-subtabs { gap: 8px; margin-bottom: 18px; padding-bottom: 12px; overflow-x: auto; }
    .pc-subtab { min-height: 46px; padding: 0 16px; font-size: 15px; white-space: nowrap; }
    .pc-sec-head h2 { font-size: 24px; }
}
@media (max-width: 640px) {
    .pc-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .pc-stat { padding: 12px; gap: 10px; }
    .pc-stat__ico { width: 38px; height: 38px; border-radius: 11px; }
    .pc-stat__txt strong { font-size: 18px; }
    .pc-ring { gap: 16px; }
    .pc-ring__chart { width: 120px; height: 120px; }
    .pc-ring__txt strong { font-size: 26px; }
    .pc--app .pc-me__txt { display: none; }
    .pc--app .pc-me__edit { padding: 0 12px; }
    .pc-seg button span { display: none; }
    .pc-seg button { padding: 0 12px; }
    .pc-counts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; }
    .pc-count { min-height: 58px; padding: 8px 12px 8px 8px; }
    .pc-count__ico { width: 36px; height: 36px; }
    .pc-count__t b { font-size: 20px; }
    .pc-sec-head__tools { width: 100%; }
    .pc--app .itbs-partner-calendar-month strong { min-width: 0; font-size: 18px; }
    .pc--app .itbs-partner-calendar-day { min-height: 82px; padding: 6px; border-radius: 11px; }
    .pc-chip__n { display: none; }
    .pc-load__plot { height: 220px; }
    .pc-load__bar { height: 150px; }
    .pc-load__col b { display: none; }
    .pc-tours-head .pc-sec-head__tools { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .pc-tours-head .pc-btn { min-width: 0; padding: 0 10px; font-size: 14px; }
    .pc-tours-head #itbs-partner-open-booking-modal { grid-column: 1 / -1; }
    .pc--app .pc-table { min-width: 0; }
    .pc--app .pc-table td { padding: 8px 0; }
    .pc--app .pc-table td.n { text-align: left; }
    .pc--app .pc-table td.n .pc-com { grid-column: 2; margin-top: -6px; }
    .pc-tourcell { min-width: 0; }
    .pc-acts { justify-content: flex-start; }
}

/* ---------------------------------------------------------------- the phone (owner 2026-11-08, the mockup): the menu at the bottom, the company on top with the avatar's menu, three tabs in a row, the tiles three by two, the calendar's view, regions and groups as three lists */
.pc-bar__toggle, .pc-bar__support, .pc-cal-view, .pc-nav__s, .pc-bar__out span { display: none; }
.pc-bar__brand > span { display: grid; min-width: 0; line-height: 1.2; }
.pc-bar__brand small { color: var(--pc-muted); font-size: 12.5px; font-weight: 550; }
.pc-subtabs[hidden] { display: none; }
/* the calendar's list: the tour's colour, the date, the tour, the region, the seats and the state */
.pc--app #itbs-partner-calendar-list:not([hidden]) { display: grid; gap: 10px; }
.pc--app .pc-slot, .pc--app .pc-slot[data-status] { display: flex; align-items: center; gap: 14px; padding: 14px 16px 14px 20px; border: 1px solid var(--pc-line); border-radius: 14px; background: #fff; box-shadow: inset 4px 0 0 var(--tc, var(--pc-blue)), var(--pc-shadow); }
.pc--app .pc-slot.is-clickable:hover { border-color: #d0d5dd; box-shadow: inset 4px 0 0 var(--tc, var(--pc-blue)), 0 6px 18px -12px rgba(16, 24, 40, .3); }
.pc--app .pc-slot[data-status="closed"] { opacity: .7; }
.pc-slot__main { display: grid; flex: 1 1 auto; gap: 3px; min-width: 0; }
.pc-slot__date { color: var(--pc-muted); font-size: 13px; font-weight: 650; }
.pc-slot__t { color: var(--pc-ink); font-size: 15.5px; font-weight: 700; line-height: 1.3; }
.pc-slot__meta { color: var(--pc-muted); font-size: 13px; }
.pc-slot__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.pc-slot__tags > span { display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: 999px; background: #f2f4f7; color: #344054; font-size: 12.5px; font-weight: 650; font-variant-numeric: tabular-nums; }
.pc-slot__tags > .pc-slot__st.tone-ok { background: #e9f9ef; color: #15803d; }
.pc-slot__tags > .pc-slot__st.tone-warn { background: #fff4e5; color: #c2410c; }
.pc-slot__tags > .pc-slot__st.tone-bad { background: #fdecec; color: #b42318; }
.pc-slot__act { flex: none; color: var(--pc-muted); }
.pc--app .pc-slot__act .itbs-partner-calendar-use { min-height: 40px; padding: 0 16px; border: 1px solid var(--pc-line); border-radius: 12px; background: #fff; color: var(--pc-ink); font-family: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.pc--app .pc-slot__act .itbs-partner-calendar-use:hover { border-color: var(--pc-accent); color: var(--pc-accent); }
@media (max-width: 640px) {
    body:has(.itbs-partner-dashboard.pc--app) { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
    .pc--app .pc-main { padding: 14px 0 28px; } /* the page already keeps 16px at the sides */
    .pc--app .pc-side { position: fixed; top: auto; right: 0; bottom: 0; left: 0; z-index: 60; flex-direction: row; gap: 0; height: auto; padding: 6px 6px calc(6px + env(safe-area-inset-bottom)); overflow: visible; border: 0; border-top: 1px solid var(--pc-line); background: rgba(255, 255, 255, .97); box-shadow: 0 -8px 24px -18px rgba(16, 24, 40, .4); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
    .pc--app .pc-side .pc-side__support { display: none; }
    .pc--app .pc-nav { display: flex; flex: 1 1 auto; gap: 2px; width: 100%; }
    .pc--app .pc-nav__i { position: relative; flex: 1 1 0; flex-direction: column; justify-content: center; gap: 4px; min-width: 0; min-height: 56px; padding: 6px 2px; border-radius: 12px; background: transparent; color: #475467; font-size: 12.5px; font-weight: 550; white-space: nowrap; }
    .pc--app .pc-nav__i svg { width: 25px; height: 25px; }
    .pc--app .pc-nav__t { display: none; }
    .pc--app .pc-nav__s { display: block; overflow: hidden; max-width: 100%; text-overflow: ellipsis; }
    .pc--app .pc-nav__i[aria-selected="true"] { background: transparent; color: var(--pc-accent); font-weight: 650; }
    .pc--app .pc-nav__n { position: absolute; top: 0; left: calc(50% + 6px); margin: 0; padding: 1px 7px; font-size: 11.5px; }

    .pc-bar { position: relative; flex-wrap: wrap; gap: 12px; margin-bottom: 14px; }
    .pc-bar__brand { display: flex; flex: 1 1 0; gap: 12px; }
    .pc-bar__brand img { width: 52px; height: 52px; }
    .pc-bar__brand strong { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 17px; line-height: 1.2; white-space: normal; }
    .pc-bar__brand small { font-size: 13.5px; }
    .pc-bar__toggle { display: inline-flex; position: relative; flex: none; align-items: center; gap: 6px; padding: 5px 10px 5px 5px; border: 1px solid var(--pc-line); border-radius: 18px; background: #fff; color: var(--pc-ink); box-shadow: var(--pc-shadow); cursor: pointer; }
    .pc-bar__toggle .pc-me__ava { width: 40px; height: 40px; font-size: 17px; }
    .pc-bar__toggle svg { transition: transform .15s ease; }
    .pc-bar.is-menu .pc-bar__toggle svg { transform: rotate(180deg); }
    .pc-bar__badge { position: absolute; top: -5px; left: 32px; min-width: 18px; padding: 0 5px; border-radius: 999px; background: #dc2626; color: #fff; font-size: 11px; font-weight: 800; line-height: 18px; text-align: center; }
    .pc-bar__badge[hidden] { display: none; }
    .pc-bar__msgs { order: 3; flex-basis: 100%; }
    .pc-bar__side { display: none; position: absolute; top: 62px; right: 0; z-index: 70; flex-direction: column; align-items: stretch; gap: 2px; width: min(300px, calc(100vw - 32px)); margin: 0; padding: 8px; border: 1px solid var(--pc-line); border-radius: 18px; background: #fff; box-shadow: 0 20px 44px -14px rgba(16, 24, 40, .3); }
    .pc-bar.is-menu .pc-bar__side { display: flex; }
    .pc--app .pc-bar__side .pc-me { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 10px; padding: 8px; border: 0; border-radius: 12px; box-shadow: none; }
    .pc--app .pc-bar__side .pc-me__txt { display: grid; }
    .pc--app .pc-bar__side .pc-me__txt small { display: block; }
    .pc--app .pc-bar__side .pc-me__edit { grid-column: 1 / -1; justify-content: center; min-height: 44px; margin: 6px 0 2px; }
    .pc--app .pc-bar__side .sp-ret, .pc--app .pc-bar__support, .pc--app .pc-bar__out { display: flex; align-items: center; justify-content: flex-start; gap: 12px; width: 100%; height: auto; min-height: 46px; padding: 0 12px; border: 0; border-radius: 12px; background: transparent; box-shadow: none; color: var(--pc-ink) !important; font-family: inherit; font-size: 15px; font-weight: 550; text-decoration: none !important; cursor: pointer; }
    .pc--app .pc-bar__side .sp-ret:hover, .pc--app .pc-bar__support:hover, .pc--app .pc-bar__out:hover { background: #f2f4f7; }
    .pc--app .pc-bar__side .sp-ret__t, .pc--app .pc-bar__out span { display: inline; }
    .pc--app .pc-bar__side .sp-ret__n { margin-left: auto; }

    .pc-subtabs { gap: 6px; margin: 0 0 18px; padding: 0; border: 0; overflow: visible; }
    .pc-subtab { flex: 1 1 auto; justify-content: center; gap: 5px; min-width: 0; min-height: 50px; padding: 0 6px; border-radius: 14px; font-size: 14px; }
    .pc-subtab svg { width: 18px; height: 18px; }
    .pc-subtab span { overflow: hidden; text-overflow: ellipsis; }
    .pc-subtab b { padding: 1px 7px; font-size: 12px; }
    .pc-subtab[aria-selected="true"] { box-shadow: none; }
    .pc-sec-head h2 { font-size: 24px; }
    .pc-sec-head--home { flex-wrap: nowrap; }
    .pc-sec-head--home .pc-sec-head__tools { width: auto; }
    .pc-period__btn { gap: 7px; min-height: 44px; padding: 0 10px; font-size: 14px; white-space: nowrap; }
    .pc--app .pc-slot, .pc--app .pc-slot[data-status] { gap: 10px; padding: 12px 12px 12px 16px; }
    .pc-slot__t { font-size: 15px; }

    .pc-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 14px; }
    .pc-stat { gap: 6px; padding: 10px 6px; border-radius: 14px; }
    .pc-stat__ico { width: 28px; height: 28px; border-radius: 9px; }
    .pc-stat__ico svg { width: 18px; height: 18px; }
    .pc-stat__txt { gap: 2px; }
    .pc-stat__txt span { overflow: hidden; font-size: 11.5px; white-space: nowrap; text-overflow: ellipsis; }
    .pc-stat__txt strong { display: block; font-size: 16px; text-overflow: clip; }
    .pc-dash { gap: 12px; }
    .pc-dash .pc-card { padding: 14px; }
    .pc-ring { justify-content: center; }

    .pc-cal-slot[data-pc-cal-slot="home"] { margin-top: 22px; }
    .pc--app .pc-cal.itbs-partner-panel, .pc-cal-slot[data-pc-cal-slot="home"] .pc-cal.itbs-partner-panel { padding: 0; border: 0; background: transparent; box-shadow: none; }
    .pc-cal .pc-sec-head { flex-wrap: nowrap; margin-bottom: 14px; }
    .pc-cal .pc-sec-head h2, .pc-cal-slot[data-pc-cal-slot="home"] .pc-cal .pc-sec-head h2 { font-size: 21px; white-space: nowrap; }
    .pc-cal .pc-sec-head__tools { width: auto; }
    .pc-cal .pc-seg { display: none; }
    .pc-cal #itbs-partner-calendar-any-day { min-height: 44px; padding: 0 14px; }
    .pc--app .pc-cal-view { display: flex; }
    .pc--app .pc-filters--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .pc--app .pc-filters--3 .pc-field--search { order: 4; grid-column: 1 / -1; }
    .pc--app .pc-filters--3 .pc-field { gap: 6px; min-height: 46px; padding: 0 10px; border-radius: 12px; }
    .pc--app .pc-filters--3 .pc-field--select:not(.pc-cal-view) > svg { display: none; }
    .pc--app .pc-filters--3 .pc-field select { height: 44px; font-size: 14px; }
}
@media (max-width: 400px) {
    .pc-subtab svg { display: none; } /* the three tabs' words first */
}
@media (max-width: 374px) {
    .pc-stat__ico { display: none; }
}

/* ---------------------------------------------------------------- «Create a booking» (owner 2026-11-08, the mockup): cards — the tour and date, guests | payment, extras, the sums, the client, the logistics */
.pc--app .pc-bm .itbs-partner-booking-modal-card { width: min(1180px, 100%); padding: 22px 24px; border: 0; border-radius: 26px; background: #fff; box-shadow: 0 30px 80px -20px rgba(16, 24, 40, .35); }
.pc--app .pc-bm__head { align-items: center; gap: 16px; margin-bottom: 16px; }
.pc-bm__ico { display: grid; flex: none; place-items: center; width: 58px; height: 58px; border-radius: 16px; background: color-mix(in srgb, var(--pc-accent) 12%, #fff); color: var(--pc-accent); }
.pc-bm__title { flex: 1 1 auto; min-width: 0; }
.pc--app .pc-bm__title h3 { margin: 0; color: var(--pc-ink); font-size: 26px; font-weight: 800; letter-spacing: -.01em; }
.pc--app .pc-bm__title .pc-modal-sub { margin-top: 3px; color: var(--pc-muted); font-size: 15px; font-weight: 500; }
.pc--app .pc-bm .itbs-partner-modal-close { display: grid; flex: none; place-items: center; width: 46px; height: 46px; border: 1px solid var(--pc-line); border-radius: 50%; background: #fff; color: var(--pc-ink); font-size: 26px; line-height: 1; box-shadow: var(--pc-shadow); }
.pc--app .pc-bm__form { gap: 14px; }
.pc-fcard { min-width: 0; padding: 16px 18px 18px; border: 1px solid #edf0f4; border-radius: 18px; background: #fff; box-shadow: 0 2px 10px -6px rgba(16, 24, 40, .12); }
.pc-fcard[hidden] { display: none; }
.pc-fcard__t { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; color: var(--pc-ink); font-size: 19px; font-weight: 750; }
.pc-fcard__t svg { flex: none; color: var(--pc-accent); }
.pc-flabel { display: flex; align-items: center; gap: 7px; margin-bottom: 8px; color: var(--pc-ink); font-size: 15px; font-weight: 600; }
.pc-flabel svg { color: #475467; }
.pc-req { color: #dc2626; font-weight: 700; }
.pc--app .pc-bm .itbs-partner-field { font-size: 15px; font-weight: 500; }
.pc--app .pc-bm .pc-field { min-height: 52px; border-radius: 14px; box-shadow: none; }
.pc--app .pc-bm .pc-field input, .pc--app .pc-bm .pc-field select { height: 50px; font-size: 15.5px; }
.pc--app .pc-bm .itbs-partner-hint { display: block; margin-top: 6px; color: var(--pc-muted); font-size: 13px; font-weight: 500; }
.pc-bm__map { color: var(--pc-blue) !important; font-weight: 650 !important; text-decoration: none; }
/* the tour and date */
.pc-bm__tourrow { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr) minmax(0, 1.15fr); gap: 16px; align-items: start; }
.pc-bm__tourrow:has(.pc-bm__dep:not([hidden])) { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, .7fr); }
.pc-tourpick__card { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 64px; padding: 7px 14px 7px 7px; border: 1px solid var(--pc-line); border-radius: 14px; background: #fff; color: var(--pc-ink); font-family: inherit; text-align: left; cursor: pointer; }
.pc-tourpick__card:hover { border-color: #cbd5e1; }
.pc-tourpick__card[hidden], .pc-tourpick .itbs-partner-searchbox[hidden] { display: none; }
.pc-tourpick__card img { flex: none; width: 64px; height: 48px; border-radius: 10px; background: #eef0f4; object-fit: cover; }
.pc-tourpick__card img[hidden] { display: block; visibility: hidden; }
.pc-tourpick__card span { display: grid; flex: 1 1 auto; gap: 2px; min-width: 0; }
.pc-tourpick__card b { overflow: hidden; font-size: 16px; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; }
.pc-tourpick__card small { color: var(--pc-muted); font-size: 13px; font-weight: 500; }
.pc-tourpick__card svg { flex: none; color: #475467; }
.pc--app .pc-bm .itbs-partner-searchbox .pc-field { min-height: 64px; }
.pc--app .pc-bm .itbs-partner-booking-date-toggle { width: 100%; min-height: 64px; margin: 0; padding: 0 16px; border: 1px solid var(--pc-line); border-radius: 14px; background: #fff; }
.pc--app .pc-bm .itbs-partner-booking-date-toggle strong { font-size: 17px; font-weight: 700; }
.pc-typeseg { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pc-typeseg button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 64px; padding: 0 10px; border: 1.5px solid var(--pc-line); border-radius: 14px; background: #f6f7f9; color: var(--pc-text); font-family: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.pc-typeseg button[aria-pressed="true"] { border-color: var(--pc-accent); background: color-mix(in srgb, var(--pc-accent) 8%, #fff); color: var(--pc-accent); }
.pc-typeseg button:disabled { opacity: .45; cursor: not-allowed; }
.pc-bm__typeselect { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }
.pc-bm__type { position: relative; }
.pc--app .pc-bm .pc-bm__picked { display: inline-flex; align-items: center; gap: 10px; width: auto; min-height: 0; margin-top: 12px; padding: 9px 14px; border-radius: 12px; background: #eef4ff; color: #1e40af; font-size: 14px; font-weight: 600; }
.pc-bm__picked svg { flex: none; }
.pc-bm__picked strong { font-weight: 700; }
/* guests | payment */
.pc-bm__split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; }
.pc-bm__col { min-width: 0; }
.pc-bm__col + .pc-bm__col { margin-left: 22px; padding-left: 22px; border-left: 1px solid #edf0f4; }
.pc-steps { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
.pc-gstep { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "l l" "h h" "c c"; gap: 6px 8px; align-content: start; min-width: 0; }
.pc-gstep:has(.is-short) { grid-template-areas: "l h" "c c"; }
.pc-gstep .itbs-partner-guest-label { grid-area: l; flex-wrap: wrap; align-items: baseline; justify-content: flex-start; gap: 2px 8px; min-width: 0; font-size: 15px; }
.pc-gstep .itbs-partner-guest-label b { min-width: 0; overflow-wrap: anywhere; }
.pc-gstep .itbs-partner-guest-label b { font-weight: 650; }
.pc-gstep .itbs-partner-guest-hint { grid-area: h; margin: 0; }
.pc-gstep .itbs-partner-guest-hint.is-short { text-align: right; white-space: nowrap; }
.pc-step__c { grid-area: c; display: flex; align-items: center; height: 48px; border: 1px solid var(--pc-line); border-radius: 12px; background: #fff; overflow: hidden; }
.pc-step__c button { flex: none; width: 46px; height: 100%; border: 0; background: transparent; color: var(--pc-ink); font-family: inherit; font-size: 22px; font-weight: 500; line-height: 1; cursor: pointer; }
.pc-step__c button:hover { background: #f6f7f9; }
.pc--app .pc-bm .pc-step__c input { flex: 1 1 auto; width: 100%; min-width: 0; height: 100%; min-height: 0; padding: 0; border: 0; border-left: 1px solid #f0f2f5; border-right: 1px solid #f0f2f5; border-radius: 0; background: transparent; color: var(--pc-ink); font-size: 18px; font-weight: 650; text-align: center; -moz-appearance: textfield; appearance: textfield; }
.pc-step__c input::-webkit-outer-spin-button, .pc-step__c input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
/* extras */
.pc--app .pc-bm .itbs-partner-addon-list { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 12px; }
.pc--app .pc-bm .itbs-partner-addon-card { align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--pc-line); border-radius: 14px; }
.pc--app .pc-bm .itbs-partner-addon-card:has(input:checked) { border-color: var(--pc-accent); background: color-mix(in srgb, var(--pc-accent) 6%, #fff); box-shadow: none; }
.pc--app .pc-bm .itbs-partner-addon-card input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--pc-accent); }
.pc-addon__ico { display: grid; flex: none; place-items: center; color: var(--pc-accent); font-style: normal; }
.pc--app .pc-bm .itbs-partner-addon-card strong { font-size: 15px; font-weight: 650; }
.pc--app .pc-bm .itbs-partner-addon-card small { font-size: 13px; font-weight: 500; }
.pc--app .pc-bm .itbs-partner-seat-summary { margin-top: 12px; border-radius: 14px; }
/* the sums */
.pc--app .pc-bm .itbs-partner-live-price { margin: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pc--app .pc-bm .itbs-partner-live-price-card { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 2px 14px; padding: 14px 16px; border: 0; border-radius: 14px; }
.pc--app .pc-bm .itbs-partner-live-price-card i { display: grid; grid-row: span 2; place-items: center; font-style: normal; }
.pc--app .pc-bm .itbs-partner-live-price-card span { color: var(--pc-ink); font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.pc--app .pc-bm .itbs-partner-live-price-card strong { margin: 0; color: var(--pc-ink); font-size: 24px; font-weight: 800; font-variant-numeric: tabular-nums; }
.pc--app .pc-bm .itbs-partner-live-price-card small { grid-column: 2; }
.pc--app .pc-bm .itbs-partner-live-price-card.sale { background: #eef2f8; } .pc--app .pc-bm .itbs-partner-live-price-card.sale i { color: #475467; }
.pc--app .pc-bm .itbs-partner-live-price-card.commission { background: #eaf3ff; } .pc--app .pc-bm .itbs-partner-live-price-card.commission i { color: var(--pc-blue); }
.pc--app .pc-bm .itbs-partner-live-price-card.due { background: #fff3e6; } .pc--app .pc-bm .itbs-partner-live-price-card.due i { color: #ea580c; }
.pc--app .pc-bm .itbs-partner-live-price-card.receive { background: #e9f9ef; } .pc--app .pc-bm .itbs-partner-live-price-card.receive i, .pc--app .pc-bm .itbs-partner-live-price-card.receive strong { color: #15803d; }
.pc--app .pc-bm .itbs-partner-live-price-note { justify-self: start; padding: 8px 12px; border-radius: 10px; background: #f2f4f7; color: #475467; font-size: 13.5px; font-weight: 500; }
.pc--app .pc-bm .itbs-partner-live-price-note.warn { background: #fdecec; color: #b42318; }
/* the client, the logistics */
.pc-bm__grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pc-bm__grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pc--app .pc-bm .iti { display: block; width: 100%; }
.pc--app .pc-bm input[data-itbs-phone] { width: 100%; min-height: 52px; border-radius: 14px; font-size: 15.5px; }
.pc--app .pc-bm__foot { display: flex; align-items: center; gap: 12px; padding: 4px 2px 0; }
.pc-bm__footnote { display: inline-flex; flex: 1 1 auto; align-items: center; gap: 8px; min-width: 0; color: var(--pc-muted); font-size: 14px; font-weight: 500; }
.pc-bm__footnote svg { flex: none; }
.pc--app .pc-bm__foot .pc-btn { min-height: 52px; padding: 0 24px; border-radius: 14px; font-size: 16px; }
.pc--app .pc-bm__foot .pc-btn--primary { padding: 0 28px; }
@media (max-width: 960px) {
    .pc-bm__tourrow, .pc-bm__tourrow:has(.pc-bm__dep:not([hidden])) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .pc-bm__tour { grid-column: 1 / -1; }
    .pc--app .pc-bm .itbs-partner-live-price { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    .pc--app .pc-bm .itbs-partner-booking-modal-card { padding: 16px 14px; border-radius: 20px; }
    .pc--app .pc-bm__title h3 { font-size: 21px; }
    .pc-bm__ico { width: 46px; height: 46px; border-radius: 13px; }
    .pc-fcard { padding: 14px; border-radius: 16px; }
    .pc-bm__tourrow, .pc-bm__tourrow:has(.pc-bm__dep:not([hidden])) { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .pc-bm__split { grid-template-columns: minmax(0, 1fr); }
    .pc-bm__col + .pc-bm__col { margin: 16px 0 0; padding: 16px 0 0; border-top: 1px solid #edf0f4; border-left: 0; }
    .pc-steps { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .pc--app .pc-bm .itbs-partner-addon-list { grid-template-columns: minmax(0, 1fr); }
    .pc--app .pc-bm .itbs-partner-live-price-card { padding: 12px; gap: 2px 10px; }
    .pc--app .pc-bm .itbs-partner-live-price-card strong { font-size: 19px; }
    .pc-bm__grid3, .pc-bm__grid2 { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .pc--app .pc-bm .itbs-partner-order-form .itbs-partner-order-actions.pc-bm__foot { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; }
    .pc--app .pc-bm__footnote { grid-column: 1 / -1; }
    .pc--app .pc-bm__foot .pc-btn { width: 100%; padding: 0 12px; }
    .pc--app .pc-bm .itbs-partner-order-form .itbs-partner-field { margin-bottom: 0 !important; }
    /* the old phone rule «.itbs-partner-field { display:block !important }» showed the hidden field too (the free place and the pickup point at once) */
    .pc--app .pc-bm .itbs-partner-order-form .itbs-partner-field[style*="display:none"], .pc--app .pc-bm .itbs-partner-order-form .itbs-partner-field[style*="display: none"], .pc--app .pc-bm .itbs-partner-order-form .itbs-partner-field[hidden] { display: none !important; }
}

/* ---------------------------------------------------------------- a booking's window (owner's mockup 2026-11-08): the state, the tour and the sums, the client's payment, a payment taken outside, the history */
.pc--app .pc-fm .itbs-partner-finance-card { width: min(1200px, 100%); padding: 22px 24px; border: 0; border-radius: 26px; background: #fff; box-shadow: 0 30px 80px -20px rgba(16, 24, 40, .35); }
.pc-fm__ico { background: #eef4ff; color: var(--pc-blue); }
.pc--app .pc-fm .pc-bm__title h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.pc--app .pc-fm__pill { gap: 6px; padding: 6px 12px; font-size: 14px; font-weight: 650; }
.pc--app .pc-fm__pill[hidden] { display: none; }
.pc--app .pc-fm .pc-modal-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.pc-dot { display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: #98a2b3; }
.pc-fm__strip { display: grid; grid-template-columns: minmax(0, 2.1fr) minmax(0, 1.2fr) repeat(3, minmax(0, .8fr)); align-items: stretch; margin-bottom: 14px; padding: 10px; border: 1px solid #edf0f4; border-radius: 18px; background: #fff; box-shadow: 0 2px 10px -6px rgba(16, 24, 40, .12); }
.pc-fm__strip > * { min-width: 0; padding: 8px 16px; }
.pc-fm__strip > * + * { border-left: 1px solid #edf0f4; }
.pc-fm__tour { display: flex; align-items: center; gap: 14px; padding-left: 4px; color: var(--pc-ink) !important; text-decoration: none !important; }
.pc-fm__tour img, .pc-fm__ph { flex: none; width: 132px; height: 92px; border-radius: 14px; background: #eef0f4; object-fit: cover; }
.pc-fm__tour span { display: grid; flex: 1 1 auto; gap: 4px; min-width: 0; }
.pc-fm__tour small, .pc-fm__cell small { display: flex; align-items: center; gap: 8px; color: var(--pc-muted); font-size: 14px; font-weight: 550; }
.pc-fm__tour b { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 16px; font-weight: 750; line-height: 1.3; }
.pc-fm__tour > svg { flex: none; color: #475467; }
a.pc-fm__tour:hover b { color: var(--pc-accent); }
.pc-fm__cell { display: grid; align-content: center; gap: 6px; }
.pc-fm__cell b { overflow: hidden; color: var(--pc-ink); font-size: 18px; font-weight: 750; white-space: nowrap; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.pc-fm__due { border-radius: 14px; }
.pc-fm__strip > .pc-fm__due { border-left: 0; }
.pc-fm__due.tone-ok { background: #e9f9ef; } .pc-fm__due.tone-ok b, .pc-fm__due.tone-ok small svg { color: #15803d; }
.pc-fm__due.tone-warn { background: #fff3e6; } .pc-fm__due.tone-warn b, .pc-fm__due.tone-warn small svg { color: #c2410c; }
.pc-fm__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; margin-bottom: 14px; }
.pc-fm__h { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; }
.pc-fm__h > span:last-child { display: grid; gap: 2px; }
.pc-fm__h b { color: var(--pc-ink); font-size: 19px; font-weight: 750; }
.pc-fm__h small { color: var(--pc-muted); font-size: 14px; font-weight: 500; }
.pc-fm__h--row { margin-bottom: 12px; }
.pc-fm__hico { display: grid; flex: none; place-items: center; width: 46px; height: 46px; border-radius: 13px; background: #eef4ff; color: var(--pc-blue); }
.pc-fm__linkrow { display: flex; gap: 10px; margin-bottom: 14px; }
.pc-fm__linkrow .pc-field { flex: 1 1 auto; min-height: 50px; border-radius: 14px; background: #f8f9fb; box-shadow: none; }
.pc--app .pc-fm__linkrow .pc-field input { height: 48px; color: var(--pc-ink); font-size: 15px; }
.pc-fm .pc-iconbtn { width: 50px; height: 50px; border-radius: 14px; }
.pc-fm .pc-iconbtn.is-off, .pc-fm .pc-iconbtn:disabled { opacity: .45; pointer-events: none; }
.pc-fm__f { display: block; margin-bottom: 12px; font-size: 15px; font-weight: 500; }
.pc-money-in { display: flex; align-items: stretch; overflow: hidden; border: 1px solid var(--pc-line); border-radius: 14px; background: #fff; }
.pc-money-in:focus-within { border-color: var(--pc-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pc-accent) 14%, transparent); }
.pc--app .pc-money-in input { flex: 1 1 auto; min-width: 0; height: 50px; min-height: 0; padding: 0 16px !important; border: 0 !important; border-radius: 0; background: transparent !important; box-shadow: none !important; font-size: 16px; }
.pc-money-in em { display: grid; flex: none; place-items: center; min-width: 52px; border-left: 1px solid var(--pc-line); background: #f8f9fb; color: var(--pc-ink); font-size: 16px; font-style: normal; font-weight: 600; }
.pc--app .pc-fm .pc-field { min-height: 52px; border-radius: 14px; box-shadow: none; }
.pc--app .pc-fm textarea.itbs-partner-input { width: 100%; min-height: 96px; padding: 12px 14px; border: 1px solid var(--pc-line); border-radius: 14px; font-family: inherit; font-size: 15px; resize: vertical; }
.pc-fm__pay { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 4px; }
.pc--app .pc-fm__pay .pc-btn { min-height: 64px; padding: 0 14px; border-radius: 16px; font-size: 16px; line-height: 1.2; white-space: normal; }
.pc--app .pc-fm__card { border: 0; background: #eaf2ff; color: var(--pc-blue); }
.pc--app .pc-fm__card:hover { background: #dbe8ff; }
.pc--app .pc-fm .itbs-partner-finance-empty { margin-top: 12px; padding: 12px 14px; border-radius: 12px; background: #f2f4f7; color: #475467; font-size: 14px; font-weight: 600; }
.pc--app .pc-fm .itbs-partner-finance-empty.bad { background: #fdecec; color: #b42318; }
.pc--app .pc-fm__save { width: 100%; min-height: 58px; margin-top: 4px; border-radius: 16px; font-size: 17px; }
.pc-chipcount { padding: 4px 12px; white-space: nowrap; border-radius: 999px; background: #eef0f4; color: #475467; font-size: 13.5px; font-weight: 650; }
.pc-fm__ops { display: grid; gap: 12px; }
.pc-fm__op { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 14px; }
.pc-fm__op:not(:last-child)::before { content: ''; position: absolute; top: 30px; bottom: -12px; left: 13px; width: 2px; background: #e4e7ec; }
.pc-fm__dot { display: grid; place-items: center; width: 28px; height: 28px; margin-top: 16px; border-radius: 50%; color: #fff; }
.pc-fm__op.tone-ok .pc-fm__dot { background: #22a447; } .pc-fm__op.tone-warn .pc-fm__dot { background: #f59e0b; } .pc-fm__op.tone-bad .pc-fm__dot { background: #ef4444; }
.pc-fm__opcard { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 16px; padding: 14px 18px; border: 1px solid #edf0f4; border-radius: 16px; background: #fff; }
.pc-fm__opmain { display: grid; gap: 4px; min-width: 0; }
.pc-fm__opmain strong { color: var(--pc-ink); font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; }
.pc-fm__opmain span { color: var(--pc-text); font-size: 15px; }
.pc-fm__opmain small, .pc-fm__opside small { color: var(--pc-muted); font-size: 14px; }
.pc-fm__opside { display: grid; justify-items: end; align-content: start; gap: 4px; text-align: right; }
.pc-fm__opside .pc-pill { font-size: 13px; }
.pc-fm__link { grid-column: 1 / -1; display: flex; gap: 8px; }
.pc-fm__link input { flex: 1 1 auto; min-width: 0; height: 40px; padding: 0 12px; border: 1px solid var(--pc-line); border-radius: 10px; background: #f8f9fb; color: var(--pc-text); font-size: 13px; }
.pc-fm .pc-fm__link .pc-iconbtn { width: 40px; height: 40px; border-radius: 10px; }
.pc-fm__void { grid-column: 1 / -1; justify-self: start; color: #b42318 !important; }
@media (max-width: 960px) {
    .pc-fm__strip { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
    .pc-fm__strip > * + * { border-left: 0; }
    .pc-fm__tour { grid-column: 1 / -1; }
    .pc-fm__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .pc--app .pc-fm .itbs-partner-finance-card { padding: 16px 14px; border-radius: 20px; }
    .pc-fm__tour img, .pc-fm__ph { width: 96px; height: 68px; }
    .pc-fm__cell b { font-size: 16px; }
    .pc-fm__pay { grid-template-columns: minmax(0, 1fr); }
    .pc-fm__opcard { grid-template-columns: minmax(0, 1fr); padding: 12px 14px; }
    .pc-fm__opside { justify-items: start; text-align: left; }
}

/* ---------------------------------------------------------------- the partner programme (owner's mockup 2026-11-08): tabs, tiles, the link and promo, the dynamics and the commission, the latest clicks and bookings */
.pc-prog-head { align-items: flex-end; }
.pc-sec-sub { margin: 4px 0 0; color: var(--pc-muted); font-size: 15px; font-weight: 500; }
.pc-prog-facts { display: flex; flex-wrap: wrap; gap: 8px; }
.pc-prog-facts span { padding: 7px 12px; border: 1px solid var(--pc-line); border-radius: 999px; background: #fff; color: var(--pc-muted); font-size: 13.5px; font-weight: 550; }
.pc-prog-facts b { margin-left: 4px; color: var(--pc-ink); font-weight: 750; }
.pc-ptabs { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 18px; }
.pc-ptabs .pc-subtab { min-height: 50px; padding: 0 20px; font-size: 15px; }
.pc-ppane[hidden] { display: none; }
.pc-ptiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.pc-ptiles .pc-stat__txt strong { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.pc-trend { padding: 3px 8px; border-radius: 999px; font-size: 12.5px; font-style: normal; font-weight: 700; letter-spacing: 0; }
.pc-trend.is-up { background: #e9f9ef; color: #15803d; }
.pc-trend.is-down { background: #fdecec; color: #b42318; }
.pc-prog-note { margin: 8px 2px 16px; color: var(--pc-muted); font-size: 13px; }
.pc-prog-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 16px; margin-bottom: 16px; }
.pc-prog-row--chart { grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); }
.pc-prog-row--one { grid-template-columns: minmax(0, 1fr); }
.pc-prog-row > .pc-card { min-width: 0; position: relative; }
.pc-prog-h { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; font-weight: 400; }
.pc-prog-h > span:not(.pc-prog-hico):not(.pc-seg) { display: grid; gap: 2px; min-width: 0; }
.pc-prog-h b { color: var(--pc-ink); font-size: 19px; font-weight: 750; }
.pc-prog-h small { color: var(--pc-muted); font-size: 13.5px; font-weight: 500; }
.pc-prog-hico { display: grid; flex: none; place-items: center; width: 44px; height: 44px; border-radius: 13px; background: color-mix(in srgb, var(--pc-accent) 11%, #fff); color: var(--pc-accent); }
.pc-prog-all, .pc-prog-h .pc-seg { margin-left: auto; }
.pc-prog-linkrow { display: flex; gap: 10px; margin-bottom: 12px; }
.pc--app .pc-prog-linkrow .pc-input { flex: 1 1 auto; min-width: 0; height: 50px; border-radius: 14px; background: #f8f9fb; font-size: 15px; }
.pc-prog-linkrow .pc-iconbtn { width: 50px; height: 50px; border-radius: 14px; }
.pc-prog-linkacts { display: flex; flex-wrap: wrap; gap: 10px; }
.pc--app .pc-prog-linkacts .pc-btn { min-height: 48px; border-radius: 14px; }
.pc-promo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.pc-promo__i { display: grid; gap: 10px; min-width: 0; padding: 14px; border: 1px solid var(--pc-line); border-radius: 14px; background: #fff; color: var(--pc-accent); font-family: inherit; text-align: left; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease; }
.pc-promo__i:hover { border-color: var(--pc-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pc-accent) 10%, transparent); }
.pc-promo__i span { display: grid; gap: 2px; }
.pc-promo__i b { color: var(--pc-ink); font-size: 15px; font-weight: 700; }
.pc-promo__i small { color: var(--pc-muted); font-size: 13px; }
.pc-seg--sm { padding: 3px; border-radius: 12px; }
.pc-seg--sm button { min-height: 34px; padding: 0 12px; border-radius: 9px; font-size: 13.5px; }
.pc-prog-plot { position: relative; height: 230px; }
.pc-prog-chart .pc-chart__tip { position: absolute; z-index: 3; min-width: 100px; padding: 8px 12px; border: 1px solid var(--pc-line); border-radius: 12px; background: #fff; box-shadow: 0 12px 28px -12px rgba(16, 24, 40, .3); font-size: 13px; pointer-events: none; }
.pc-prog-chart .pc-chart__tip b { display: block; color: var(--pc-muted); font-size: 12px; font-weight: 650; }
.pc-prog-chart .pc-chart__tip div { color: var(--pc-ink); font-size: 15px; font-weight: 800; }
.pc-prog-dl { display: grid; gap: 10px; margin: 0 0 16px; }
.pc-prog-dl > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.pc-prog-dl dt { color: var(--pc-text); font-size: 16px; font-weight: 550; }
.pc-prog-dl dd { margin: 0; color: var(--pc-ink); font-size: 18px; font-weight: 800; font-variant-numeric: tabular-nums; }
.pc-prog-dl dd.is-ok { color: #15803d; } .pc-prog-dl dd.is-muted { color: var(--pc-muted); font-weight: 700; }
.pc-prog-dl .is-big { padding-top: 10px; border-top: 1px solid #edf0f4; }
.pc-prog-dl .is-big dd { font-size: 26px; }
.pc-prog-dl--row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pc-prog-dl--row > div { display: grid; gap: 4px; }
.pc-prog-money .pc-payout { display: grid; gap: 10px; }
.pc--app .pc-prog-money .pc-payout [data-pc-payout] { width: 100%; min-height: 54px; border-radius: 14px; font-size: 16px; }
.pc-mini { width: 100%; border-collapse: collapse; font-size: 14px; }
.pc-mini th { padding: 8px 10px; border-bottom: 1px solid var(--pc-line); background: #f8f9fb; color: var(--pc-muted); font-size: 12.5px; font-weight: 650; text-align: left; }
.pc-mini th:first-child { border-radius: 10px 0 0 10px; } .pc-mini th:last-child { border-radius: 0 10px 10px 0; }
.pc-mini td { padding: 10px; border-bottom: 1px solid #f0f2f5; color: var(--pc-ink); vertical-align: middle; }
.pc-mini tr:last-child td { border-bottom: 0; }
.pc-mini .n { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pc-mini__path { max-width: 220px; overflow: hidden; color: var(--pc-text); white-space: nowrap; text-overflow: ellipsis; }
.pc-mini__num { color: var(--pc-blue); font-weight: 800; }
.pc-mini__tour { display: flex; align-items: center; gap: 10px; min-width: 0; }
.pc-mini__tour img { flex: none; width: 44px; height: 30px; border-radius: 6px; object-fit: cover; background: #eef0f4; }
.pc-mini__tour span { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 1; -webkit-box-orient: vertical; font-weight: 600; }
.pc-src { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.pc-src svg { color: #667085; }
.pc-src.is-telegram svg { color: #229ed9; } .pc-src.is-instagram svg { color: #e1306c; } .pc-src.is-whatsapp svg { color: #25d366; } .pc-src.is-facebook svg { color: #1877f2; }
.pc-qr-sheet .pc-sheet__box { width: min(380px, calc(100vw - 32px)); }
.pc-qr-sheet__body { display: grid; justify-items: center; gap: 12px; padding: 8px 0 4px; text-align: center; }
.pc-qr-sheet__body img { width: 240px; height: 240px; border: 1px solid var(--pc-line); border-radius: 16px; background: #fff; }
.pc-qr-sheet__body p { margin: 0; color: var(--pc-muted); font-size: 14px; }
@media (max-width: 1280px) {
    .pc-ptiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pc-promo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
    .pc-prog-row, .pc-prog-row--chart { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .pc-ptabs { flex-wrap: nowrap; gap: 6px; overflow-x: auto; scrollbar-width: none; }
    .pc-ptabs .pc-subtab { flex: none; min-height: 44px; padding: 0 12px; font-size: 14px; }
    .pc-ptiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .pc-prog-h { flex-wrap: wrap; }
    .pc-prog-h .pc-seg { width: 100%; margin-left: 0; overflow-x: auto; }
    .pc-mini__path { max-width: 120px; }
    .pc-prog-table { overflow-x: auto; }
    .pc-prog-dl--row { grid-template-columns: minmax(0, 1fr); }
}

/* Icon buttons: a hint on hover (data-tip) and a spinner while busy (the share of a ticket, owner 2026-11-08). */
.pc-iconbtn { position: relative; }
.pc-iconbtn[data-tip]::before { content: attr(data-tip); position: absolute; bottom: calc(100% + 8px); left: 50%; z-index: 30; padding: 6px 10px; border-radius: 8px; background: #101828; color: #fff; font-size: 12.5px; font-weight: 600; line-height: 1.3; white-space: nowrap; transform: translateX(-50%); opacity: 0; pointer-events: none; transition: opacity .12s ease; }
.pc-iconbtn[data-tip]:hover::before, .pc-iconbtn[data-tip]:focus-visible::before, .pc-iconbtn.is-tip-on::before { opacity: 1; }
.pc-iconbtn.is-busy { cursor: progress; }
.pc-iconbtn.is-busy:disabled { opacity: 1; }
.pc-iconbtn.is-busy svg { visibility: hidden; }
.pc-iconbtn.is-busy::after { content: ''; position: absolute; top: 50%; left: 50%; width: 18px; height: 18px; margin: -9px 0 0 -9px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: pc-spin .7s linear infinite; }
@keyframes pc-spin { to { transform: rotate(360deg); } }
.pc-table td:last-child .pc-iconbtn[data-tip]::before { left: auto; right: 0; transform: none; }

/* «Edit a booking» (owner 2026-11-08): the booking window's look, narrower. */
.pc--app .pc-em .itbs-partner-booking-modal-card { width: min(980px, 100%); }
.pc--app .pc-em select:disabled { opacity: .6; cursor: not-allowed; }
.pc-iconbtn.is-busy:not([data-partner-share-ticket])::after { color: var(--pc-accent); }
.pc--app .pc-em .pc-field:has(.pc-em__note) { align-items: flex-start; padding-top: 14px; }
.pc--app .pc-em .pc-field .pc-em__note { height: auto; min-height: 48px; padding: 0 !important; line-height: 1.4; resize: vertical; font-family: inherit; }

/* A booking's window: tabs «Contacts» / «Finances» (owner 2026-11-08: one window instead of two). */
.pc-mtabs { display: flex; gap: 10px; margin: 0 0 16px; }
.pc-mtabs .pc-subtab { min-height: 48px; padding: 0 20px; font-size: 15px; }
.pc-mpane[hidden] { display: none; }
.pc-em__closed { padding: 14px 16px; border-radius: 14px; background: #f2f4f7; color: #475467; font-size: 15px; font-weight: 550; }
.pc-em__closed.is-bad { background: #fff4e5; color: #9a3412; }
.pc--app .pc-fm .pc-mpane .pc-bm__form[hidden] { display: none; }
@media (max-width: 640px) { .pc-mtabs .pc-subtab { flex: 1 1 0; justify-content: center; padding: 0 10px; } }

/* «Create a booking»'s date (owner 2026-11-08: «календарь всё перекрывает»): a compact drop-down under the field. */
.pc--app .pc-bm .itbs-partner-booking-date-field { position: relative; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar { top: calc(100% + 6px); left: 0; right: auto; width: 336px; max-width: calc(100vw - 40px); margin: 0; padding: 12px; border: 1px solid var(--pc-line); border-radius: 16px; background: #fff; box-shadow: 0 24px 50px -18px rgba(16, 24, 40, .35); transform: none; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-plan-calendar-head { margin-bottom: 8px; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-plan-calendar-head strong { font-size: 15px; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-plan-calendar-head button { width: 32px; height: 32px; border-radius: 9px; font-size: 16px; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-plan-calendar-weekdays,
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-plan-calendar-days { gap: 3px; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-plan-calendar-weekdays span { font-size: 11px; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-plan-day,
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-plan-calendar-empty-cell { height: 40px; min-height: 40px; padding: 0; gap: 0; border-radius: 10px; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-plan-day { border-color: transparent; background: transparent; color: #98a2b3; box-shadow: none; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-plan-day strong { font-size: 14px; line-height: 1.1; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-plan-day small { font-size: 9.5px; line-height: 1.1; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-plan-day:not(.is-available) small { display: none; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-plan-day.is-available { border-color: #86efac; background: #dcfce7; color: #166534; transform: none; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-plan-day.is-selected { border-color: var(--pc-accent); background: var(--pc-accent); color: #fff; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-plan-calendar-message { margin-top: 8px; padding: 0; border: 0; background: none; color: var(--pc-muted); font-size: 12px; font-weight: 500; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-booking-any-date { margin-top: 8px; padding: 8px 0 0; border: 0; border-top: 1px solid #edf0f4; border-radius: 0; background: none; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-booking-any-date label { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.pc--app .pc-bm .itbs-partner-booking-date-calendar .itbs-partner-booking-any-date input { flex: 1 1 auto; height: 36px; min-height: 36px; margin: 0; padding: 0 10px; border-radius: 10px; font-size: 13.5px; }
@media (max-width: 640px) { .pc--app .pc-bm .itbs-partner-booking-date-calendar { left: 0; right: 0; width: auto; } }

/* No focus frames (owner 2026-11-08: «убери эту рамку… откуда она везде»): the browser's own focus ring (on a Mac in the
   system's accent colour) around every field and button clicked. Fields show focus by their border; a button gets a
   soft ring only from the keyboard. The selected tab loses its glow too. */
.pc--app input:focus, .pc--app select:focus, .pc--app textarea:focus,
.pc--app input:focus-visible, .pc--app select:focus-visible, .pc--app textarea:focus-visible { outline: none !important; }
.pc--app button:focus, .pc--app a:focus, .pc--app [tabindex]:focus, .pc--app summary:focus { outline: none; }
.pc--app button:focus-visible, .pc--app a:focus-visible, .pc--app summary:focus-visible { outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--pc-accent) 22%, transparent); }
.pc-subtab[aria-selected="true"], .pc-subtab[aria-selected="true"]:focus-visible { box-shadow: none; }
.pc-field:focus-within { box-shadow: none; }
.pc-money-in:focus-within { box-shadow: none; }
.pc .itbs-partner-input:focus, .pc .pc-input:focus { box-shadow: none; }
/* Hints on a phone: across the screen under their «?» (partner-cabinet-app.js sets --pc-tip-top), not off its edge. */
@media (max-width: 640px) {
    .pc-hint:hover::after, .pc-hint:focus::after { position: fixed; top: var(--pc-tip-top, 30%); right: 16px; left: 16px; width: auto; max-width: none; text-align: left; }
}

/* «Client's name»: the partner's past clients under the field. */
.pc-ac { position: relative; }
.pc-ac__pop { position: absolute; top: calc(100% + 6px); right: 0; left: 0; z-index: 60; display: grid; max-height: 320px; overflow-y: auto; padding: 6px; border: 1px solid var(--pc-line); border-radius: 14px; background: #fff; box-shadow: 0 20px 44px -16px rgba(16, 24, 40, .3); }
.pc-ac__pop[hidden] { display: none; }
.pc-ac__h { padding: 6px 10px 4px; color: var(--pc-muted); font-size: 12px; font-weight: 650; }
.pc-ac__pop button { display: grid; gap: 2px; padding: 9px 10px; border: 0; border-radius: 10px; background: transparent; color: var(--pc-ink); font-family: inherit; text-align: left; cursor: pointer; }
.pc-ac__pop button:hover { background: #f6f7f9; }
.pc-ac__pop b { font-size: 15px; font-weight: 650; }
.pc-ac__pop small { color: var(--pc-text); font-size: 13px; }
.pc-ac__pop em { color: var(--pc-muted); font-size: 12px; font-style: normal; }

/* «My bookings» on a phone (owner's mockup 2026-11-08): a card — the booking and its state, the tour, the date and the
   client, the payment, three sums, the actions. The cells keep the table's markup (pc-c-*); the extras are phone-only. */
.pc-m-ico, .pc-m-open, .pc-c-net { display: none; }
@media (max-width: 640px) {
    .pc--app .pc-table tbody tr { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-areas: "num num num st st st" "tour tour tour tour tour tour" "date date date client client client" "pay pay pay pay pay pay" "sum sum com com net net" "acts acts acts acts acts acts"; gap: 0; margin: 0 0 14px; padding: 16px; border: 1px solid #edf0f4; border-radius: 22px; background: #fff; box-shadow: 0 6px 22px -14px rgba(16, 24, 40, .25); }
    .pc--app .pc-table tbody td { display: block; padding: 0; border: 0; min-width: 0; }
    .pc--app .pc-table tbody td::before { display: none; }
    .pc--app .pc-table tbody td.pc-c-num { grid-area: num; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0 12px; padding-bottom: 12px; }
    .pc--app .pc-table tbody td.pc-c-num::before { content: attr(data-m-label); display: block; grid-column: 2; grid-row: 1; align-self: end; color: var(--pc-muted); font-size: 13px; font-weight: 550; letter-spacing: 0; text-transform: none; }
    .pc-c-num .pc-m-ico--box { display: grid; grid-column: 1; grid-row: 1 / span 2; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #eef4ff; color: var(--pc-blue); }
    .pc--app .pc-table .pc-c-num .itbs-partner-booking-number { grid-column: 2; font-size: 21px; font-weight: 800; }
    .pc--app .pc-table tbody td.pc-c-st { grid-area: st; display: flex; flex-direction: row-reverse; align-items: center; justify-content: flex-start; gap: 6px; padding-bottom: 12px; }
    .pc-c-st .pc-m-open { display: grid; flex: none; place-items: center; width: 30px; height: 30px; border: 0; background: none; color: #667085; cursor: pointer; }
    .pc--app .pc-table tbody td.pc-c-tour { grid-area: tour; padding: 14px 0; border-top: 1px solid #f0f2f5; }
    .pc--app .pc-table .pc-c-tour .pc-tourcell { gap: 14px; }
    .pc--app .pc-table .pc-c-tour .pc-tourcell img, .pc--app .pc-table .pc-c-tour .pc-tourcell__ph { width: 104px; height: 78px; border-radius: 14px; }
    .pc--app .pc-table .pc-c-tour .pc-tourcell b { font-size: 16.5px; font-weight: 750; -webkit-line-clamp: 3; }
    .pc--app .pc-table .pc-c-tour .pc-guests { font-size: 14px; }
    .pc--app .pc-table tbody td.pc-c-date, .pc--app .pc-table tbody td.pc-c-client, .pc--app .pc-table tbody td.pc-c-pay { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0 12px; padding: 12px 0; border-top: 1px solid #f0f2f5; }
    .pc--app .pc-table tbody td.pc-c-date { grid-area: date; padding-right: 10px; border-right: 1px solid #f0f2f5; }
    .pc--app .pc-table tbody td.pc-c-client { grid-area: client; padding-left: 12px; }
    .pc--app .pc-table tbody td.pc-c-pay { grid-area: pay; }
    .pc-c-date .pc-m-ico { display: grid; grid-row: 1 / span 2; color: #475467; }
    .pc--app .pc-table tbody td.pc-c-date::before, .pc--app .pc-table tbody td.pc-c-client::before, .pc--app .pc-table tbody td.pc-c-pay::before,
    .pc--app .pc-table tbody td.pc-c-sum::before, .pc--app .pc-table tbody td.pc-c-com::before, .pc--app .pc-table tbody td.pc-c-net::before { content: attr(data-label); display: block; color: var(--pc-muted); font-size: 13px; font-weight: 550; letter-spacing: 0; text-transform: none; }
    .pc--app .pc-table tbody td.pc-c-date::before { grid-column: 2; }
    .pc-c-date .pc-c-val { grid-column: 2; font-size: 15.5px; font-weight: 600; white-space: nowrap; }
    .pc--app .pc-table .pc-c-client .pc-iconcell, .pc--app .pc-table .pc-c-pay .pc-iconcell { display: contents; }
    .pc--app .pc-table .pc-c-client .pc-iconcell svg, .pc--app .pc-table .pc-c-pay .pc-iconcell svg { grid-column: 1; grid-row: 1 / span 2; width: 24px; height: 24px; color: #475467; }
    .pc--app .pc-table tbody td.pc-c-client::before, .pc--app .pc-table tbody td.pc-c-pay::before { grid-column: 2; }
    .pc--app .pc-table .pc-c-client .pc-iconcell { font-size: 15.5px; font-weight: 700; }
    .pc--app .pc-table .pc-c-pay .pc-iconcell { font-size: 15.5px; font-weight: 600; }
    .pc--app .pc-table tbody td.pc-c-sum, .pc--app .pc-table tbody td.pc-c-com, .pc--app .pc-table tbody td.pc-c-net { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0 8px; margin: 12px 0 14px; padding: 10px; border-radius: 14px; text-align: left; white-space: normal; }
    .pc--app .pc-table tbody td.pc-c-sum { grid-area: sum; margin-right: 4px; background: #f2f4f7; }
    .pc--app .pc-table tbody td.pc-c-com { grid-area: com; margin: 12px 2px 14px; background: #eaf3ff; }
    .pc--app .pc-table tbody td.pc-c-net { grid-area: net; display: grid; margin-left: 4px; background: #e9f9ef; }
    .pc-c-sum .pc-m-ico, .pc-c-com .pc-m-ico, .pc-c-net .pc-m-ico { display: grid; grid-row: 1 / span 3; color: #475467; }
    .pc-c-com .pc-m-ico { color: var(--pc-blue); } .pc-c-net .pc-m-ico { color: #15803d; }
    .pc--app .pc-table tbody td.pc-c-sum::before, .pc--app .pc-table tbody td.pc-c-com::before, .pc--app .pc-table tbody td.pc-c-net::before { grid-column: 2; overflow: hidden; font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
    .pc-c-sum .pc-c-val, .pc-c-com .pc-c-val, .pc-c-net .pc-c-val { grid-column: 2; overflow: hidden; color: var(--pc-ink); font-size: 16px; font-weight: 800; white-space: nowrap; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
    .pc-c-com .pc-c-val { color: var(--pc-blue); } .pc-c-net .pc-c-val { color: #15803d; }
    .pc--app .pc-table .pc-c-com .pc-com { grid-column: 2; margin: 0; font-size: 11px; }
    .pc--app .pc-table tbody td.pc-c-acts { grid-area: acts; padding-top: 14px; border-top: 1px solid #f0f2f5; }
    .pc--app .pc-table .pc-c-acts .pc-acts { display: flex; justify-content: stretch; gap: 10px; }
    .pc--app .pc-table .pc-c-acts .pc-btn--blue { flex: 1 1 auto; min-height: 52px; border-radius: 16px; font-size: 16px; }
    .pc--app .pc-table .pc-c-acts .pc-iconbtn { flex: none; width: 52px; height: 52px; border-radius: 16px; }
}
@media (max-width: 640px) {
    /* The state sits at the card's top right over the number's row (both did not fit in halves). */
    .pc--app .pc-table tbody tr { position: relative; grid-template-areas: "num num num num num num" "tour tour tour tour tour tour" "date date date client client client" "pay pay pay pay pay pay" "sum sum com com net net" "acts acts acts acts acts acts"; }
    .pc--app .pc-table tbody td.pc-c-st { position: absolute; top: 22px; right: 10px; padding: 0; }
    .pc--app .pc-table .pc-c-st .pc-pill { gap: 5px; padding: 5px 10px; font-size: 13px; }
    .pc--app .pc-table .pc-c-st .pc-pill svg { width: 14px; height: 14px; }
    /* The sums: the icon and the name on top, the sum under them across the tile. */
    .pc--app .pc-table tbody td.pc-c-sum, .pc--app .pc-table tbody td.pc-c-com, .pc--app .pc-table tbody td.pc-c-net { grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 4px 6px; padding: 10px 8px; }
    .pc-c-sum .pc-m-ico, .pc-c-com .pc-m-ico, .pc-c-net .pc-m-ico { grid-row: 1; }
    .pc-c-sum .pc-m-ico svg, .pc-c-com .pc-m-ico svg, .pc-c-net .pc-m-ico svg { width: 20px; height: 20px; }
    .pc--app .pc-table tbody td.pc-c-sum::before, .pc--app .pc-table tbody td.pc-c-com::before, .pc--app .pc-table tbody td.pc-c-net::before { grid-row: 1; align-self: center; font-size: 11.5px; line-height: 1.2; white-space: normal; }
    .pc-c-sum .pc-c-val, .pc-c-com .pc-c-val, .pc-c-net .pc-c-val { grid-column: 1 / -1; font-size: 16.5px; }
    .pc--app .pc-table .pc-c-com .pc-com { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
    /* Captions in line (owner 2026-11-08): a sum tile is icon, caption in one line, the sum, its state — all from the left. */
    .pc--app .pc-table tbody td.pc-c-sum, .pc--app .pc-table tbody td.pc-c-com, .pc--app .pc-table tbody td.pc-c-net { grid-template-columns: minmax(0, 1fr); align-content: start; align-items: start; gap: 3px; padding: 10px; text-align: left; }
    .pc-c-sum .pc-m-ico, .pc-c-com .pc-m-ico, .pc-c-net .pc-m-ico { order: -1; grid-row: auto; grid-column: 1; margin-bottom: 3px; }
    .pc--app .pc-table tbody td.pc-c-sum::before, .pc--app .pc-table tbody td.pc-c-com::before, .pc--app .pc-table tbody td.pc-c-net::before { grid-row: auto; grid-column: 1; align-self: start; overflow: hidden; font-size: 12.5px; line-height: 1.25; white-space: nowrap; text-overflow: ellipsis; }
    .pc-c-sum .pc-c-val, .pc-c-com .pc-c-val, .pc-c-net .pc-c-val { grid-column: 1; }
    .pc--app .pc-table tbody td.n.pc-c-com .pc-com { grid-column: 1; margin: 0; text-align: left; }
    /* Date | client: the caption right above its value, both at the top (a long name no longer pulls the date apart). */
    .pc--app .pc-table tbody td.pc-c-date, .pc--app .pc-table tbody td.pc-c-client, .pc--app .pc-table tbody td.pc-c-pay { align-content: start; align-items: start; gap: 2px 12px; }
    .pc-c-date .pc-m-ico, .pc--app .pc-table .pc-c-client .pc-iconcell svg, .pc--app .pc-table .pc-c-pay .pc-iconcell svg { align-self: center; }
}

/* The tourists' passports (ITBS_Tour_Docs): a row per tourist — who, the name and number, a photo. */
.pc-docs__hint { margin: -4px 0 12px; color: var(--pc-muted); font-size: 13.5px; }
.pc-docs { display: grid; gap: 10px; }
.pc-doc { display: grid; grid-template-columns: minmax(120px, .7fr) minmax(0, 1.3fr) minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--pc-line); border-radius: 14px; background: #fbfbfd; }
.pc-doc__t { display: grid; gap: 2px; color: var(--pc-ink); font-size: 14.5px; font-weight: 650; }
.pc-doc__st { color: var(--pc-muted); font-size: 12px; font-style: normal; font-weight: 600; }
.pc-doc__st.is-accepted { color: #15803d; } .pc-doc__st.is-pending { color: #c2410c; } .pc-doc__st.is-rejected { color: #b42318; }
.pc--app .pc-doc .itbs-partner-input { height: 44px; min-height: 44px; border-radius: 12px; background: #fff; font-size: 14.5px; }
.pc-doc__files { display: flex; align-items: center; gap: 6px; }
.pc-doc__img { display: grid; place-items: center; width: 40px; height: 40px; overflow: hidden; border: 1px solid var(--pc-line); border-radius: 9px; background: #fff; color: var(--pc-muted); font-size: 11px; font-weight: 700; text-decoration: none; }
.pc-doc__img img { width: 100%; height: 100%; object-fit: cover; }
.pc-doc__img.is-rejected { opacity: .5; }
.pc-doc__file { position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border: 1px dashed #cbd5e1; border-radius: 12px; background: #fff; color: var(--pc-accent); font-size: 13.5px; font-weight: 650; white-space: nowrap; cursor: pointer; }
.pc-doc__file:hover { border-color: var(--pc-accent); }
.pc-doc__file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.pc-doc.has-file .pc-doc__file { border-style: solid; border-color: #86efac; background: #e9f9ef; color: #15803d; }
.pc-doc__file span { max-width: 180px; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 760px) { .pc-doc { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .pc-doc__t { grid-column: 1 / -1; } }

/* «Book» in the bar, on every section; on a phone a round «+» over the bottom menu. */
.pc--app .pc-bar__book { flex: none; min-height: 50px; padding: 0 20px; border-radius: 15px; }
@media (max-width: 640px) {
    .pc--app .pc-bar__book { position: fixed; right: 16px; bottom: calc(84px + env(safe-area-inset-bottom)); z-index: 59; width: 58px; min-height: 0; height: 58px; padding: 0; border-radius: 50%; box-shadow: 0 14px 30px -10px color-mix(in srgb, var(--pc-accent) 70%, transparent); }
    .pc--app .pc-bar__book span { display: none; }
    .pc--app .pc-bar__book svg { width: 26px; height: 26px; }
}
/* A narrow phone (360px): the state pill and the number share the top row — both a step smaller so they never overlap. */
@media (max-width: 380px) {
    .pc--app .pc-table tbody td.pc-c-num { gap: 0 10px; }
    .pc-c-num .pc-m-ico--box { width: 42px; height: 42px; border-radius: 12px; }
    .pc--app .pc-table .pc-c-num .itbs-partner-booking-number { font-size: 19px; }
    .pc--app .pc-table tbody td.pc-c-st { right: 4px; gap: 2px; }
    .pc--app .pc-table .pc-c-st .pc-pill { padding: 4px 8px; font-size: 12px; }
    .pc--app .pc-table .pc-c-st .pc-pill svg { display: none; }
    .pc-c-st .pc-m-open { width: 24px; }
}
/* The sums without captions (owner 2026-11-08: «убери их… подсказку всплывающую при клике пальцем на сумму»): the icon, the sum, its state; the name pops up over the tile on a tap (partner-cabinet-app.js sets is-tip). */
@media (max-width: 640px) {
    .pc--app .pc-table tbody td.pc-c-sum::before, .pc--app .pc-table tbody td.pc-c-com::before, .pc--app .pc-table tbody td.pc-c-net::before { content: none; }
    .pc--app .pc-table tbody td.pc-c-sum, .pc--app .pc-table tbody td.pc-c-com, .pc--app .pc-table tbody td.pc-c-net { position: relative; gap: 4px; cursor: pointer; -webkit-tap-highlight-color: transparent; }
    .pc-c-sum .pc-m-ico, .pc-c-com .pc-m-ico, .pc-c-net .pc-m-ico { margin-bottom: 2px; }
    .pc--app .pc-table tbody td.pc-c-sum::after, .pc--app .pc-table tbody td.pc-c-com::after, .pc--app .pc-table tbody td.pc-c-net::after { content: attr(data-label); position: absolute; bottom: calc(100% + 6px); left: 50%; z-index: 30; padding: 6px 10px; border-radius: 8px; background: #101828; color: #fff; font-size: 12.5px; font-weight: 600; line-height: 1.3; white-space: nowrap; transform: translateX(-50%); opacity: 0; pointer-events: none; transition: opacity .12s ease; }
    .pc--app .pc-table tbody td.is-tip::after { opacity: 1; }
}

/* «Group» in a column (owner 2026-11-08: «заебал всё карточками в одну строку… младенцы не влезают»): a row per category —
   the name, its price, its ages under it; the stepper on the right. */
.pc--app .pc-bm .pc-steps { display: flex; flex-direction: column; gap: 0; }
.pc--app .pc-bm .pc-gstep, .pc--app .pc-bm .pc-gstep:has(.is-short) { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "l c" "h c"; align-items: center; gap: 2px 16px; padding: 12px 0; border-bottom: 1px solid #edf0f4; }
.pc--app .pc-bm .pc-gstep:first-child { padding-top: 2px; }
.pc--app .pc-bm .pc-gstep:last-child { border-bottom: 0; }
.pc--app .pc-bm .pc-gstep .itbs-partner-guest-label { align-self: end; }
.pc--app .pc-bm .pc-gstep .itbs-partner-guest-hint, .pc--app .pc-bm .pc-gstep .itbs-partner-guest-hint.is-short { align-self: start; text-align: left; white-space: normal; }
.pc--app .pc-bm .pc-gstep .pc-step__c { width: 148px; height: 44px; }
.pc--app .pc-bm .pc-gstep .pc-step__c button { width: 44px; }

/* A booking's status tells when its commission comes: a hint on hover (and on focus), on a tap on a phone. */
.pc--app .pc-pill.pc-tipped { position: relative; cursor: help; }
.pc--app .pc-pill.pc-tipped::after { content: attr(data-tip); position: absolute; right: 0; bottom: calc(100% + 8px); z-index: 40; width: max-content; max-width: 260px; padding: 8px 11px; border-radius: 10px; background: #101828; color: #fff; font-size: 12.5px; font-weight: 600; line-height: 1.35; white-space: normal; text-align: left; opacity: 0; pointer-events: none; transition: opacity .12s ease; }
.pc--app .pc-pill.pc-tipped:hover::after, .pc--app .pc-pill.pc-tipped:focus-visible::after, .pc--app .pc-pill.pc-tipped.is-tip::after { opacity: 1; }
.pc--app .pc-pill.pc-tipped:focus { outline: none; }
@media (max-width: 640px) {
    .pc--app .pc-table .pc-pill.pc-tipped::after { top: calc(100% + 8px); bottom: auto; max-width: min(260px, calc(100vw - 48px)); }
}

/* The ticket QR again (a booking of «My bookings»): the QR big, its code, the booking, «Done». */
.pc-bqr__svg svg { display: block; width: 240px; height: 240px; margin: 0 auto; }
.pc-bqr__code { display: block; margin-top: 8px; font: 800 18px/1 ui-monospace, Menlo, monospace; letter-spacing: .12em; text-align: center; }
.pc-bqr__line { margin: 8px 0 0; color: var(--pc-ink); font-weight: 650; text-align: center; }
.pc-bqr__acts { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 12px; }

/* ---------------------------------------------------------------- the booking window, compact (owner 2026-11-09 with a
   mockup: «пиздец здоровая, даже на 40-дюймовом 5K не влезает по высоте»): the tour and the date on top, the group
   beside the payment and the sums, the client in one row, the pickup and the comment in one row; smaller type, controls
   44–50 px instead of 64, tighter cards. */
.pc--app .pc-bm .itbs-partner-booking-modal-card { width: min(1120px, 100%); padding: 14px 18px 16px; border-radius: 22px; }
.pc--app .pc-bm__head { gap: 12px; margin-bottom: 10px; }
.pc--app .pc-bm .pc-bm__ico { width: 46px; height: 46px; border-radius: 13px; }
.pc--app .pc-bm__title h3 { font-size: 22px; }
.pc--app .pc-bm__title .pc-modal-sub { margin-top: 1px; font-size: 13.5px; }
.pc--app .pc-bm .itbs-partner-modal-close { width: 40px; height: 40px; }
.pc--app .pc-bm__form { gap: 8px; }
.pc--app .pc-bm .pc-fcard { padding: 10px 14px 12px; border-radius: 16px; }
.pc--app .pc-bm .pc-fcard__t { gap: 8px; margin: 0 0 6px; font-size: 15.5px; }
.pc--app .pc-bm .pc-fcard__t svg { width: 20px; height: 20px; }
.pc--app .pc-bm .pc-flabel { gap: 6px; margin-bottom: 4px; font-size: 13px; }
.pc--app .pc-bm .itbs-partner-field { font-size: 14px; }
.pc--app .pc-bm .pc-field { min-height: 42px; border-radius: 12px; }
.pc--app .pc-bm .pc-field input, .pc--app .pc-bm .pc-field select { height: 40px; font-size: 14.5px; }
.pc--app .pc-bm .itbs-partner-hint { margin-top: 4px; font-size: 12px; }
.pc--app .pc-bm .pc-bm__tourrow { gap: 12px; }
.pc--app .pc-bm .pc-tourpick__card { gap: 12px; min-height: 50px; padding: 4px 12px 4px 4px; border-radius: 12px; }
.pc--app .pc-bm .pc-tourpick__card img { width: 60px; height: 40px; border-radius: 9px; }
.pc--app .pc-bm .pc-tourpick__card b { font-size: 15px; }
.pc--app .pc-bm .pc-tourpick__card small { font-size: 12.5px; }
.pc--app .pc-bm .itbs-partner-searchbox .pc-field { min-height: 50px; }
.pc--app .pc-bm .itbs-partner-booking-date-toggle { min-height: 50px; padding: 0 14px; border-radius: 12px; }
.pc--app .pc-bm .itbs-partner-booking-date-toggle strong { font-size: 15.5px; }
.pc--app .pc-bm .pc-typeseg { gap: 8px; }
.pc--app .pc-bm .pc-typeseg button { min-height: 50px; border-radius: 12px; font-size: 14.5px; }
.pc--app .pc-bm .pc-bm__picked { margin-top: 8px; padding: 6px 12px; border-radius: 10px; font-size: 13px; }
.pc-bm__pair { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 8px; align-items: stretch; }
.pc-bm__side { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pc-bm__side .pc-bm__money { flex: 1 1 auto; }
.pc--app .pc-bm .pc-gstep, .pc--app .pc-bm .pc-gstep:has(.is-short) { gap: 1px 12px; padding: 7px 0; }
.pc--app .pc-bm .pc-gstep .itbs-partner-guest-label b { font-size: 14.5px; }
.pc--app .pc-bm .pc-gstep .itbs-partner-guest-hint { font-size: 12.5px; }
.pc--app .pc-bm .pc-gstep .pc-step__c { width: 128px; height: 38px; border-radius: 10px; }
.pc--app .pc-bm .pc-gstep .pc-step__c button { width: 38px; font-size: 19px; }
.pc--app .pc-bm .pc-step__c input { font-size: 15px; }
.pc--app .pc-bm .itbs-partner-live-price { gap: 8px; }
/* «К передаче нам», «К выплате вам» on one line (owner 2026-11-09: «смещают поле и карточки… неровно»): the four tiles
   keep one height; a very narrow window cuts the word with «…» instead of wrapping it. */
.pc--app .pc-bm .itbs-partner-live-price-card { grid-template-columns: auto minmax(0, 1fr); align-content: center; gap: 0 7px; min-height: 62px; padding: 9px 10px; border-radius: 12px; }
.pc--app .pc-bm .itbs-partner-live-price-card i svg { width: 17px; height: 17px; }
.pc--app .pc-bm .itbs-partner-live-price-card span { overflow: hidden; font-size: 12px; line-height: 1.25; white-space: nowrap; text-overflow: ellipsis; }
.pc--app .pc-bm .itbs-partner-live-price-card strong { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pc--app .pc-bm .itbs-partner-live-price-card strong { font-size: 19px; }
.pc--app .pc-bm .itbs-partner-live-price-card small { font-size: 11px; }
.pc--app .pc-bm .itbs-partner-live-price-note { padding: 6px 10px; border-radius: 9px; font-size: 12.5px; }
.pc--app .pc-bm .pc-bm__grid3, .pc--app .pc-bm .pc-bm__grid2 { gap: 12px; }
.pc--app .pc-bm .itbs-partner-addon-card { padding: 10px 12px; }
.pc--app .pc-bm__foot { gap: 10px; padding-top: 2px; }
.pc--app .pc-bm__footnote { font-size: 12.5px; }
.pc--app .pc-bm__foot .pc-btn { min-height: 46px; padding: 0 20px; border-radius: 12px; font-size: 15px; }
@media (max-width: 1000px) {
    .pc-bm__pair { grid-template-columns: minmax(0, 1fr); }
    .pc--app .pc-bm .itbs-partner-live-price { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.pc--app .pc-bm .itbs-partner-addon-list { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 8px; }
.pc--app .pc-bm .itbs-partner-addon-card { gap: 10px; padding: 8px 12px; border-radius: 12px; }
.pc--app .pc-bm .itbs-partner-addon-card strong { font-size: 14px; }
.pc--app .pc-bm .itbs-partner-addon-card small { font-size: 12px; }
