.bi{display:inline-block;min-width:1em}.glass-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:14px 16px;margin-bottom:8px;box-shadow:0 2px 8px #0000000f,inset 0 1px #ffffff0a;transition:border-color var(--d-fast) var(--ease-standard),box-shadow var(--d-fast) var(--ease-standard)}.glass-card:last-child{margin-bottom:0}[data-bs-theme=dark] .glass-card{box-shadow:0 2px 8px #00000040,inset 0 1px #ffffff0a}.dol-table-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;padding:0;box-shadow:0 2px 8px #0000000f;margin-top:12px}[data-bs-theme=dark] .dol-table-card{box-shadow:0 2px 8px #00000040}.dol-table-card table th:first-child,.dol-table-card table td:first-child{text-align:left;white-space:nowrap;padding-left:11px;padding-right:2px}.glass-card-title{font-size:var(--fs-micro);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--muted);margin-bottom:8px}.glass-card--accent{background:var(--accent-dim);border-color:#6366f140}.glass-card--accent .glass-card-title{color:var(--accent)}.glass-card--success{background:var(--green-dim);border-color:#10b98140}.glass-card--success .glass-card-title{color:var(--green)}.glass-card--warning{background:var(--yellow-dim);border-color:#f59e0b4d}.glass-card--warning .glass-card-title{color:var(--yellow)}.glass-card--alert{background:var(--red-dim);border-color:#ef444440}.glass-card--alert .glass-card-title{color:var(--red)}.glass-card--blur{background:color-mix(in srgb,var(--surface) 60%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.kpi-bar{display:flex;align-items:stretch;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.kpi-cell{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 2px 6px;border-right:1px solid var(--border);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--d-fast) var(--ease-standard);min-width:0}.kpi-cell:last-child{border-right:none}.kpi-cell:active{background:var(--surface2)}.kpi-cell.kpi-cell--static{cursor:default}.kpi-cell.kpi-cell--static:active{background:transparent}.kpi-value,.kpi-cell .kv{font-size:var(--fs-kpi);font-weight:var(--fw-black);font-family:var(--font-mono);line-height:1}.kpi-label,.kpi-cell .kl{font-size:var(--fs-micro);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--muted);margin-top:3px}.kpi-meta{display:flex;align-items:center;justify-content:center;gap:12px;padding:5px 0 0;font-size:var(--fs-micro);font-weight:var(--fw-medium)}.kpi-meta .km{opacity:.65}.kpi-meta .km b{font-family:var(--font-mono);font-weight:var(--fw-bold)}.kpi-bar--sticky{position:sticky;top:var(--topbar-height, 54px);z-index:20}.section-divider{display:flex;align-items:center;gap:8px;margin:12px 0 2px}.section-divider-line{flex:1;height:1px;background:var(--border)}.section-divider-label{font-size:var(--fs-micro);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--muted);white-space:nowrap}.section-divider--start{margin-top:24px;border-top:1px solid var(--border);padding-top:12px}.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff;--bs-btn-color: #fff;--bs-btn-bg: var(--accent);--bs-btn-border-color: var(--accent);--bs-btn-hover-bg: #4f52d3;--bs-btn-hover-border-color: #4f52d3;--bs-btn-hover-color: #fff;--bs-btn-active-bg: #4f52d3;--bs-btn-active-border-color: #4f52d3;--bs-btn-active-color: #fff}.btn-accent:hover{filter:brightness(1.06)}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--muted);--bs-btn-color: var(--muted);--bs-btn-bg: transparent;--bs-btn-border-color: var(--border);--bs-btn-hover-color: var(--text);--bs-btn-hover-bg: transparent;--bs-btn-hover-border-color: var(--muted);--bs-btn-active-color: var(--text);--bs-btn-active-bg: var(--surface2);--bs-btn-active-border-color: var(--muted)}.btn-ghost:hover{color:var(--text);border-color:var(--muted)}.btn-ghost:active{background:var(--surface2)}.btn-danger-outline{background:transparent;border:1px solid rgba(239,68,68,.45);color:var(--red);--bs-btn-color: var(--red);--bs-btn-bg: transparent;--bs-btn-border-color: rgba(239, 68, 68, .45);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: var(--red);--bs-btn-hover-border-color: var(--red);--bs-btn-active-color: #fff;--bs-btn-active-bg: var(--red);--bs-btn-active-border-color: var(--red)}.btn-accent:active,.btn-ghost:active,.btn-danger-outline:active{opacity:.85}.dol-modal-overlay{display:none;position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:1050;align-items:flex-end;justify-content:center;padding:env(safe-area-inset-top,0) 12px 12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0))}.dol-modal-overlay.show{display:flex;animation:dol-modal-overlay-in var(--d-normal) var(--ease-standard)}@keyframes dol-modal-overlay-in{0%{opacity:0}to{opacity:1}}.dol-modal{width:100%;max-width:480px;max-height:85dvh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:20px 22px;box-shadow:var(--shadow-lg);animation:dol-modal-in var(--d-normal) var(--ease-bounce)}@keyframes dol-modal-in{0%{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}@media (min-width: 768px){.dol-modal-overlay{align-items:center;padding-bottom:12px}.dol-modal{border-radius:var(--radius-2xl)}}.dol-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.dol-modal-header .dol-modal-x{flex-shrink:0}.dol-modal-header .dol-modal-title{margin-bottom:0;flex:1;min-width:0}.dol-modal-title{font-size:17px;font-weight:var(--fw-bold);margin-bottom:8px;letter-spacing:-.2px}.dol-modal-sub{font-size:var(--fs-body);color:var(--muted);line-height:1.45;margin-bottom:16px}.dol-modal-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:14px}.dol-modal-x{width:32px;height:32px;border-radius:var(--radius);background:var(--surface2);border:1px solid var(--border);color:var(--muted);font-size:16px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color var(--d-fast) var(--ease-standard),background var(--d-fast) var(--ease-standard)}.dol-modal-x:hover{color:var(--text);background:var(--border)}.dol-avatar{--avatar-size: 40px;width:var(--avatar-size);height:var(--avatar-size);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:calc(var(--avatar-size) * .36);line-height:1;background:#64748b2e;color:var(--muted);flex-shrink:0;position:relative;overflow:hidden;user-select:none;border:0;padding:0;margin:0;font-family:inherit;appearance:none;-webkit-appearance:none;outline:none;box-shadow:none;text-align:center;vertical-align:middle;cursor:inherit}button.dol-avatar{cursor:pointer}.dol-avatar:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dol-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}.dol-avatar.dol-avatar--md{--avatar-size: 48px}.dol-avatar.dol-avatar--lg{--avatar-size: 64px}.dol-avatar.dol-avatar--xl{--avatar-size: 80px}.dol-avatar.gender-m{background:#3b82f62e;color:var(--blue)}.dol-avatar.gender-f{background:#a855f72e;color:var(--purple)}.dol-avatar.has-photo,.dol-avatar.has-photo-fill{background-size:cover;background-position:center;background-repeat:no-repeat}.dol-avatar.has-photo.lightbox-clickable{cursor:zoom-in;transition:transform var(--d-fast) var(--ease-standard),box-shadow var(--d-fast) var(--ease-standard)}.dol-avatar.has-photo.lightbox-clickable:hover{transform:scale(1.05);box-shadow:0 0 0 3px var(--accent)}.dol-name-block{flex:1;min-width:0}.dol-name-line1{font-size:var(--fs-page-title);font-weight:var(--fw-bold);letter-spacing:-.3px;margin:0;line-height:1.2}.dol-name-line2{font-size:var(--fs-caption);color:var(--muted);margin-top:4px;line-height:1.4}.dol-name-line2 .gender-m{color:var(--blue);font-weight:var(--fw-bold)}.dol-name-line2 .gender-f{color:var(--purple);font-weight:var(--fw-bold)}.dol-name-line3{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.dol-name-line3 a,.dol-name-line3 button{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:none;min-height:32px;display:inline-flex;align-items:center}.dol-name-line3 a:focus-visible,.dol-name-line3 button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}.dol-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:12px;font-size:var(--fs-tiny);font-weight:var(--fw-medium);background:var(--surface2);border:1px solid var(--border);color:var(--muted);white-space:nowrap}.dol-chip--accent{background:var(--accent-dim);border-color:#6366f14d;color:var(--accent)}.dol-chip--green{background:var(--green-dim);border-color:#10b9814d;color:var(--green)}.dol-chip--yellow{background:var(--yellow-dim);border-color:#f59e0b4d;color:var(--yellow)}.dol-chip--red{background:var(--red-dim);border-color:#ef44444d;color:var(--red)}.photo-lightbox{position:fixed;inset:0;background:#000000eb;z-index:9999;display:none;align-items:center;justify-content:center;padding:16px;cursor:zoom-out;-webkit-tap-highlight-color:transparent}.photo-lightbox.show{display:flex}.photo-lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:12px;box-shadow:0 8px 48px #0009;pointer-events:none}.photo-lightbox-close{position:absolute;top:max(16px,env(safe-area-inset-top,0));right:max(16px,env(safe-area-inset-right,0));width:44px;height:44px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:20px;line-height:1;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.photo-lightbox-close:hover{background:#ffffff40}body.lightbox-open{overflow:hidden;scrollbar-gutter:auto}@keyframes kdol-shimmer{0%{background-position:-340px 0}to{background-position:340px 0}}.skel{display:inline-block;background-color:var(--bs-tertiary-bg);background-image:linear-gradient(90deg,#fff0 0,#ffffff0f 45%,#ffffff1a,#ffffff0f 55%,#fff0);background-size:340px 100%;background-repeat:no-repeat;animation:kdol-shimmer 1.1s linear infinite;border-radius:6px;vertical-align:middle}.skel-line{height:11px}
