#bs-v2-root{background:var(--v2-bg);color:var(--v2-text-primary);font-family:var(--v2-font-sans);font-size:var(--v2-text-base);line-height:var(--v2-lh-normal);min-height:100vh}#bs-v2-root *{box-sizing:border-box}.bs-v2-shell{display:grid;grid-template-columns:260px 1fr;grid-template-rows:56px 1fr;grid-template-areas:"sidebar topbar" "sidebar main";min-height:100vh}@media(max-width:960px){.bs-v2-shell{grid-template-columns:56px 1fr}.bs-v2-sidebar__label,.bs-v2-sidebar__status{display:none}}@media(max-width:1280px){.bs-v2-action-panel-toggle{display:inline-flex!important}}.bs-v2-action-panel-toggle:hover{background:var(--v2-surface-2)!important;color:var(--v2-text-primary)!important}body.bs-sidebar-collapsed .bs-v2-shell{grid-template-columns:56px 1fr;transition:grid-template-columns .15s cubic-bezier(.4,0,.2,1)}.bs-v2-sidebar__label,.bs-v2-sidebar__status,.bs-v2-sidebar__logo__accent,.bs-v2-sidebar-toggle__label{transition:opacity .1s cubic-bezier(.4,0,.2,1),max-width .15s cubic-bezier(.4,0,.2,1);white-space:nowrap;overflow:hidden;max-width:250px}.bs-v2-sidebar__item,.bs-v2-sidebar__logo,.bs-v2-sidebar-toggle{transition:gap .15s cubic-bezier(.4,0,.2,1),padding .15s cubic-bezier(.4,0,.2,1)}body.bs-sidebar-collapsed .bs-v2-sidebar__label,body.bs-sidebar-collapsed .bs-v2-sidebar__status,body.bs-sidebar-collapsed .bs-v2-sidebar__logo__accent,body.bs-sidebar-collapsed .bs-v2-sidebar-toggle__label{opacity:0;max-width:0;pointer-events:none}body.bs-sidebar-collapsed .bs-v2-sidebar__item,body.bs-sidebar-collapsed .bs-v2-sidebar__logo,body.bs-sidebar-collapsed .bs-v2-sidebar-toggle{gap:0}body.bs-sidebar-collapsed .bs-v2-sidebar__logo{justify-content:center;padding:0 var(--v2-space-2) var(--v2-space-4)}body.bs-sidebar-collapsed .bs-v2-sidebar__item{padding:var(--v2-space-2) 19px}.bs-v2-shell{transition:grid-template-columns .15s cubic-bezier(.4,0,.2,1)}.bs-v2-sidebar-toggle{display:flex;align-items:center;gap:var(--v2-space-2);padding:var(--v2-space-2) var(--v2-space-3);margin:0 var(--v2-space-2) var(--v2-space-3);font-size:var(--v2-text-xs);color:var(--v2-text-tertiary);background:transparent;border:0;border-radius:var(--v2-radius-md);cursor:pointer;width:calc(100% - var(--v2-space-4));text-align:left;transition:background var(--v2-duration-fast),color var(--v2-duration-fast),gap .15s cubic-bezier(.4,0,.2,1),padding .15s cubic-bezier(.4,0,.2,1)}.bs-v2-sidebar-toggle:hover{background:var(--v2-surface-2);color:var(--v2-text-primary)}.bs-v2-sidebar-toggle__icon{width:18px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}body.bs-sidebar-collapsed .bs-v2-sidebar-toggle{justify-content:center;padding:var(--v2-space-2);width:100%;overflow:hidden}body.bs-sidebar-collapsed .bs-v2-sidebar{overflow:hidden}.bs-v2-topbar{grid-area:topbar;display:flex;align-items:center;justify-content:space-between;padding:0 var(--v2-space-5);background:var(--v2-bg);border-bottom:1px solid var(--v2-border);position:sticky;top:0;z-index:var(--v2-z-sticky)}.bs-v2-topbar__left,.bs-v2-topbar__right{display:flex;align-items:center;gap:var(--v2-space-3)}.bs-v2-topbar__search{display:flex;align-items:center;gap:var(--v2-space-2);padding:0 var(--v2-space-3);height:32px;background:var(--v2-surface-1);border:1px solid var(--v2-border);border-radius:var(--v2-radius-md);color:var(--v2-text-tertiary);font-size:var(--v2-text-sm);cursor:pointer;transition:background var(--v2-duration-fast);min-width:240px}.bs-v2-topbar__search:hover{background:var(--v2-surface-2)}.bs-v2-topbar__search kbd{font-family:var(--v2-font-mono);font-size:10px;padding:2px 5px;background:var(--v2-surface-2);border:1px solid var(--v2-border);border-radius:var(--v2-radius-sm);color:var(--v2-text-secondary);margin-left:auto}.bs-v2-topbar__breadcrumb{font-size:var(--v2-text-sm);color:var(--v2-text-secondary)}.bs-v2-topbar__breadcrumb strong{color:var(--v2-text-primary);font-weight:var(--v2-fw-semibold)}.bs-v2-sidebar{grid-area:sidebar;background:var(--v2-surface-1);border-right:1px solid var(--v2-border);display:flex;flex-direction:column;padding:var(--v2-space-4) 0;min-width:180px}.bs-v2-sidebar__logo{display:flex;align-items:center;gap:var(--v2-space-2);padding:0 var(--v2-space-4) var(--v2-space-4) var(--v2-space-4);font-size:var(--v2-text-md);font-weight:var(--v2-fw-bold);letter-spacing:var(--v2-tracking-tight);color:var(--v2-text-primary);border-bottom:1px solid var(--v2-border);margin-bottom:var(--v2-space-2)}.bs-v2-sidebar__logo__accent{color:var(--v2-primary)}.bs-v2-sidebar__nav{list-style:none;padding:0 var(--v2-space-2);margin:0;display:flex;flex-direction:column;gap:var(--v2-space-1);flex:1}.bs-v2-sidebar__item{display:flex;align-items:center;gap:var(--v2-space-3);padding:var(--v2-space-2) var(--v2-space-3);border-radius:var(--v2-radius-md);color:var(--v2-text-secondary);font-size:var(--v2-text-sm);font-weight:var(--v2-fw-medium);text-decoration:none;cursor:pointer;transition:background var(--v2-duration-fast),color var(--v2-duration-fast),gap .15s cubic-bezier(.4,0,.2,1),padding .15s cubic-bezier(.4,0,.2,1);border:0;background:transparent;width:100%;text-align:left}.bs-v2-sidebar__item:hover{background:var(--v2-surface-2);color:var(--v2-text-primary)}.bs-v2-sidebar__item--active{background:var(--v2-primary-bg);color:var(--v2-primary)}.bs-v2-sidebar__icon{width:18px;height:18px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:16px}.bs-v2-sidebar__badge{margin-left:auto;padding:1px 6px;border-radius:var(--v2-radius-full);background:var(--v2-danger);color:var(--v2-text-inverse);font-size:10px;font-weight:var(--v2-fw-bold)}.bs-v2-sidebar__badge--muted{background:var(--v2-surface-3);color:var(--v2-text-secondary)}.bs-v2-sidebar__status{padding:var(--v2-space-3) var(--v2-space-4);border-top:1px solid var(--v2-border);display:flex;flex-direction:column;gap:var(--v2-space-1);font-size:var(--v2-text-xs);color:var(--v2-text-tertiary)}.bs-v2-sidebar__status-row{display:flex;align-items:center;gap:var(--v2-space-2)}.bs-v2-sidebar__status-dot{width:8px;height:8px;border-radius:50%;background:var(--v2-text-tertiary);flex-shrink:0}.bs-v2-sidebar__status-dot--ok{background:var(--v2-success);box-shadow:0 0 4px var(--v2-success)}.bs-v2-sidebar__status-dot--warn{background:var(--v2-warning)}.bs-v2-sidebar__status-dot--err{background:var(--v2-danger);animation:v2-pulse 1.5s infinite}@keyframes v2-pulse{0%,to{opacity:1}50%{opacity:.4}}.bs-v2-main{grid-area:main;padding:var(--v2-space-6);overflow-y:auto;min-width:0}.bs-v2-page-title{font-size:var(--v2-text-xl);font-weight:var(--v2-fw-bold);color:var(--v2-text-primary);margin:0 0 var(--v2-space-4) 0;letter-spacing:var(--v2-tracking-tight)}.bs-v2-placeholder{padding:var(--v2-space-12) var(--v2-space-6);text-align:center;background:var(--v2-surface-1);border:2px dashed var(--v2-border);border-radius:var(--v2-radius-lg);color:var(--v2-text-tertiary)}.bs-v2-placeholder__icon{font-size:48px;margin-bottom:var(--v2-space-4);opacity:.5}.bs-v2-placeholder__title{font-size:var(--v2-text-lg);font-weight:var(--v2-fw-semibold);color:var(--v2-text-secondary);margin-bottom:var(--v2-space-2)}.bs-v2-placeholder__body{font-size:var(--v2-text-sm);color:var(--v2-text-tertiary);max-width:480px;margin:0 auto;line-height:var(--v2-lh-normal)}.bs-v2-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--v2-space-3);margin-bottom:var(--v2-space-5)}.bs-v2-kpi-card{background:var(--v2-surface-1);border:1px solid var(--v2-border);border-radius:var(--v2-radius-lg);padding:var(--v2-space-4) var(--v2-space-5);text-decoration:none;color:inherit;display:flex;flex-direction:column;min-height:128px;transition:background var(--v2-duration-fast),transform var(--v2-duration-fast),box-shadow var(--v2-duration-fast);cursor:pointer;position:relative}.bs-v2-kpi-card:hover{background:var(--v2-surface-2);box-shadow:var(--v2-shadow-sm);transform:translateY(-1px)}.bs-v2-kpi-card[data-variant=danger]{border-left:3px solid var(--v2-danger)}.bs-v2-kpi-card[data-variant=warning]{border-left:3px solid var(--v2-warning)}.bs-v2-kpi-card[data-variant=success]{border-left:3px solid var(--v2-success)}.bs-v2-kpi-card[data-variant=info]{border-left:3px solid var(--v2-info)}.bs-v2-kpi-card[data-variant=neutral]{border-left:3px solid var(--v2-border-strong)}.bs-v2-kpi-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--v2-space-2);font-size:var(--v2-text-xs);font-weight:var(--v2-fw-semibold);text-transform:uppercase;letter-spacing:var(--v2-tracking-wide);color:var(--v2-text-secondary)}.bs-v2-kpi-card__icon{font-size:14px;opacity:.8}.bs-v2-kpi-card__value{font-size:var(--v2-text-2xl);font-weight:var(--v2-fw-bold);color:var(--v2-text-primary);line-height:var(--v2-lh-tight);font-variant-numeric:tabular-nums;letter-spacing:var(--v2-tracking-tight)}.bs-v2-kpi-card__sub{font-size:var(--v2-text-sm);color:var(--v2-text-secondary);margin:var(--v2-space-1) 0 0 0;margin-top:auto}.bs-v2-kpi-card__sub--placeholder{font-style:italic;color:var(--v2-text-tertiary);font-size:var(--v2-text-xs)}.bs-v2-kpi-card__breakdown{display:flex;gap:var(--v2-space-3);margin-top:var(--v2-space-2);font-size:var(--v2-text-xs);color:var(--v2-text-tertiary)}.bs-v2-kpi-card__breakdown strong{color:var(--v2-text-primary);font-weight:var(--v2-fw-semibold)}.bs-v2-kpi-card__skeleton{height:32px;width:60%;background:linear-gradient(90deg,var(--v2-surface-2) 0%,var(--v2-surface-3) 50%,var(--v2-surface-2) 100%);background-size:200% 100%;animation:bs-v2-shimmer 1.5s ease-in-out infinite;border-radius:var(--v2-radius-sm)}@keyframes bs-v2-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.bs-v2-alert-banner{display:flex;align-items:center;gap:var(--v2-space-3);padding:var(--v2-space-3) var(--v2-space-4);background:var(--v2-warning-bg);border:1px solid var(--v2-warning);border-left-width:3px;border-radius:var(--v2-radius-md);margin-bottom:var(--v2-space-5);text-decoration:none;color:inherit}.bs-v2-alert-banner__icon{font-size:16px}.bs-v2-alert-banner__title{flex:1;font-size:var(--v2-text-sm);font-weight:var(--v2-fw-medium);color:var(--v2-text-primary)}.bs-v2-alert-banner__arrow{color:var(--v2-warning);font-size:var(--v2-text-md)}.bs-v2-2col{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:var(--v2-space-4);margin-bottom:var(--v2-space-5)}@media(max-width:1100px){.bs-v2-2col{grid-template-columns:1fr}}.bs-v2-panel{background:var(--v2-surface-1);border:1px solid var(--v2-border);border-radius:var(--v2-radius-lg);overflow:hidden}.bs-v2-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--v2-space-3) var(--v2-space-4);border-bottom:1px solid var(--v2-border);background:var(--v2-surface-2)}.bs-v2-panel__title{font-size:var(--v2-text-sm);font-weight:var(--v2-fw-semibold);color:var(--v2-text-primary)}.bs-v2-panel__action{font-size:var(--v2-text-xs);color:var(--v2-primary);text-decoration:none;font-weight:var(--v2-fw-medium)}.bs-v2-panel__action:hover{text-decoration:underline}.bs-v2-panel__empty{padding:var(--v2-space-6);text-align:center;color:var(--v2-text-tertiary);font-size:var(--v2-text-sm)}.bs-v2-row{display:grid;grid-template-columns:auto 1fr auto;gap:var(--v2-space-3);padding:var(--v2-space-2) var(--v2-space-4);align-items:center;border-bottom:1px solid var(--v2-border);text-decoration:none;color:inherit;font-size:var(--v2-text-sm);transition:background var(--v2-duration-fast)}.bs-v2-row:last-child{border-bottom:0}.bs-v2-row:hover{background:var(--v2-surface-2)}.bs-v2-row__id{font-family:var(--v2-font-mono);font-size:var(--v2-text-xs);color:var(--v2-text-secondary);font-weight:var(--v2-fw-medium)}.bs-v2-row__main{min-width:0;overflow:hidden}.bs-v2-row__title{font-weight:var(--v2-fw-medium);color:var(--v2-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-v2-row__meta{font-size:var(--v2-text-xs);color:var(--v2-text-tertiary);display:flex;gap:var(--v2-space-2)}.bs-v2-row__time{font-family:var(--v2-font-mono);font-size:11px;color:var(--v2-text-tertiary);white-space:nowrap}.bs-v2-pill{display:inline-flex;align-items:center;gap:var(--v2-space-1);height:18px;padding:0 var(--v2-space-2);border-radius:var(--v2-radius-full);font-size:10px;font-weight:var(--v2-fw-semibold);letter-spacing:var(--v2-tracking-wide);text-transform:uppercase;white-space:nowrap;flex-shrink:0}.bs-v2-clickable-hint{cursor:pointer;text-decoration:none;color:var(--v2-text-primary);border-bottom:1px dashed transparent;transition:color .15s,border-color .15s}.bs-v2-clickable-hint:hover{color:var(--v2-info);border-bottom-color:var(--v2-info)}.bs-v2-pill--review{background:var(--v2-warning-bg);color:var(--v2-warning)}.bs-v2-pill--ok{background:var(--v2-success-bg);color:var(--v2-success)}.bs-v2-pill--error{background:var(--v2-danger-bg);color:var(--v2-danger)}.bs-v2-pill--info{background:var(--v2-info-bg);color:var(--v2-info)}.bs-v2-pill--neutral{background:var(--v2-surface-3);color:var(--v2-text-secondary)}.bs-v2-pill--success{background:var(--v2-success-bg);color:var(--v2-success)}.bs-v2-pill--warning{background:var(--v2-warning-bg);color:var(--v2-warning)}.bs-v2-pill--danger{background:var(--v2-danger-bg);color:var(--v2-danger)}.bs-v2-pill--published{background:var(--v2-primary-bg);color:var(--v2-primary)}.bs-v2-pill--inprogress{background:var(--v2-info-bg);color:var(--v2-info)}.bs-v2-pill--completed{background:var(--v2-success-bg);color:var(--v2-success)}.bs-v2-pill--draft{background:var(--v2-warning-bg);color:var(--v2-warning)}.bs-v2-pill--cancelled{background:var(--v2-danger-bg);color:var(--v2-danger)}.bs-v2-budget-chip{display:inline-flex;align-items:center;gap:2px;padding:1px 6px;border-radius:3px;font-size:10px;font-family:var(--v2-font-mono);font-weight:500;letter-spacing:0;white-space:nowrap;background:var(--v2-surface-3);color:var(--v2-text-secondary);cursor:help}.bs-v2-budget-chip--contract{background:#22c55e26;color:var(--v2-success)}.bs-v2-budget-chip--canon{background:#0ea5e926;color:var(--v2-info)}.bs-v2-budget-chip--history{background:#a855f726;color:var(--v2-purple,#a855f7)}.bs-v2-budget-chip--nomatch{background:#ef44441f;color:var(--v2-danger)}.bs-v2-budget-chip--modifier,.bs-v2-budget-chip--warn{background:#f59e0b26;color:var(--v2-warning)}.bs-v2-budget-chip--danger{background:#ef44441f;color:var(--v2-danger)}.bs-v2-budget-row__note{grid-column:2 / -1;font-size:10px;color:var(--v2-text-tertiary);padding:0 6px 4px;font-style:italic;line-height:1.35}.bs-v2-budget-row__note--warn{color:var(--v2-warning);font-style:normal}.bs-v2-budget-formula{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--v2-surface-2);border:1px solid var(--v2-border);border-radius:var(--v2-radius);font-size:var(--v2-text-xs);color:var(--v2-text-secondary);cursor:help}.bs-v2-budget-formula strong{color:var(--v2-text-primary);font-weight:600}.bs-v2-budget-formula--alert{border-color:var(--v2-warning);background:#f59e0b14}.bs-v2-zayavki-split{display:grid;grid-template-columns:380px minmax(0,1fr);gap:var(--v2-space-3);align-items:start}@media(max-width:1100px){.bs-v2-zayavki-split{grid-template-columns:1fr}}.bs-v2-toast-root{position:fixed;bottom:var(--v2-space-4);right:var(--v2-space-4);z-index:var(--v2-z-toast);display:flex;flex-direction:column-reverse;gap:var(--v2-space-2);max-width:360px;pointer-events:none}.bs-v2-toast{display:flex;gap:var(--v2-space-3);align-items:center;padding:var(--v2-space-3) var(--v2-space-4);background:var(--v2-surface-3);color:var(--v2-text-primary);border-left:3px solid var(--v2-info);border-radius:var(--v2-radius-md);box-shadow:var(--v2-shadow-lg);pointer-events:auto;animation:bs-v2-toast-in .3s var(--v2-easing-decel);font-size:var(--v2-text-sm)}.bs-v2-toast--exit{animation:bs-v2-toast-out .3s var(--v2-easing-accel) forwards}@keyframes bs-v2-toast-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes bs-v2-toast-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.bs-v2-toast__icon{font-size:16px}.bs-v2-toast__body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.bs-v2-toast__body strong{font-weight:var(--v2-fw-semibold);color:var(--v2-text-primary)}.bs-v2-toast__body span{font-size:var(--v2-text-xs);color:var(--v2-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-v2-toast__link{font-size:var(--v2-text-xs);color:var(--v2-primary);text-decoration:none;font-weight:var(--v2-fw-medium);white-space:nowrap}.bs-v2-toast__link:hover{text-decoration:underline}.bs-v2-subnav{display:flex;gap:var(--v2-space-1);flex-wrap:wrap;border-bottom:1px solid var(--v2-border);margin-bottom:var(--v2-space-4);padding-bottom:var(--v2-space-1)}.bs-v2-subnav__item{display:inline-flex;align-items:center;gap:var(--v2-space-1);padding:var(--v2-space-2) var(--v2-space-3);background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--v2-text-secondary);font-size:var(--v2-text-sm);font-weight:var(--v2-fw-medium);cursor:pointer;transition:color var(--v2-duration-fast),border-color var(--v2-duration-fast)}.bs-v2-subnav__item:hover:not(:disabled){color:var(--v2-text-primary)}.bs-v2-subnav__item--active{color:var(--v2-primary)!important;border-bottom-color:var(--v2-primary)}.bs-v2-subnav__item--soon,.bs-v2-subnav__item:disabled{color:var(--v2-text-disabled);cursor:not-allowed}.bs-v2-table{width:100%;border-collapse:collapse;font-size:var(--v2-text-sm)}.bs-v2-table thead th{text-align:left;padding:var(--v2-space-2) var(--v2-space-4);font-weight:var(--v2-fw-semibold);color:var(--v2-text-secondary);text-transform:uppercase;font-size:var(--v2-text-xs);letter-spacing:var(--v2-tracking-wide);border-bottom:1px solid var(--v2-border);background:var(--v2-surface-2);position:sticky;top:0;z-index:1}.bs-v2-table tbody td{padding:var(--v2-space-3) var(--v2-space-4);border-bottom:1px solid var(--v2-border);vertical-align:middle}.bs-v2-table tbody tr:hover td{background:var(--v2-surface-1)}.bs-v2-table tbody tr:last-child td{border-bottom:0}.bs-v2-btn--sm{height:28px;padding:0 var(--v2-space-3);font-size:var(--v2-text-sm)}.bs-v2-btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.bs-v2-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--v2-z-modal);padding:var(--v2-space-4)}.bs-v2-modal{background:var(--v2-bg);color:var(--v2-text-primary);border-radius:var(--v2-radius-xl);box-shadow:var(--v2-shadow-xl);max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:bs-v2-modal-in .2s var(--v2-easing-decel)}@keyframes bs-v2-modal-in{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.bs-v2-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--v2-space-4) var(--v2-space-5);border-bottom:1px solid var(--v2-border)}.bs-v2-modal__header h2{margin:0;font-size:var(--v2-text-lg);font-weight:var(--v2-fw-semibold);color:var(--v2-text-primary)}.bs-v2-modal__body{padding:var(--v2-space-5);overflow-y:auto;flex:1}.bs-v2-modal__footer{display:flex;justify-content:flex-end;gap:var(--v2-space-2);padding:var(--v2-space-3) var(--v2-space-5);border-top:1px solid var(--v2-border)}.bs-v2-modal__error{padding:var(--v2-space-3);background:var(--v2-danger-bg);color:var(--v2-danger);border:1px solid var(--v2-danger);border-radius:var(--v2-radius-md);margin-top:var(--v2-space-3);font-size:var(--v2-text-sm)}.bs-v2-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--v2-space-3)}.bs-v2-form-grid label{display:flex;flex-direction:column;gap:var(--v2-space-1);font-size:var(--v2-text-xs);font-weight:var(--v2-fw-medium);color:var(--v2-text-secondary)}.bs-v2-form-grid label.bs-v2-form-grid__wide,.bs-v2-form-grid>.bs-v2-form-grid__wide{grid-column:1 / -1}.bs-v2-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:var(--v2-space-4)}@media(max-width:1100px){.bs-v2-grid-two{grid-template-columns:1fr}}@keyframes bs-v2-pulse-red{0%,to{opacity:1;box-shadow:0 0 #ef4444b3}50%{opacity:.6;box-shadow:0 0 0 8px #ef444400}}.bs-v2-pill--ai-paused{background:var(--v2-danger);color:#fff;font-weight:700;animation:bs-v2-pulse-red 1.5s ease-in-out infinite}@keyframes bs-v2-flash-green{0%{background-color:#22c55e59}50%{background-color:#22c55e2e}to{background-color:transparent}}.bs-v2-row--just-paid{animation:bs-v2-flash-green 4s ease-out}.bs-v2-row--just-paid td:first-child:before{content:"\2728  ";color:var(--v2-success)}.bs-v2-form-grid input,.bs-v2-form-grid select,.bs-v2-form-grid textarea{width:100%;padding:var(--v2-space-2) var(--v2-space-3);background:var(--v2-surface-1);border:1px solid var(--v2-border);border-radius:var(--v2-radius-md);color:var(--v2-text-primary);font-family:var(--v2-font-sans);font-size:var(--v2-text-sm);font-weight:var(--v2-fw-regular);transition:border-color var(--v2-duration-fast),box-shadow var(--v2-duration-fast)}.bs-v2-form-grid input:focus,.bs-v2-form-grid select:focus,.bs-v2-form-grid textarea:focus{outline:none;border-color:var(--v2-primary);box-shadow:var(--v2-shadow-focus)}.bs-v2-form-grid textarea{resize:vertical;min-height:60px;font-family:var(--v2-font-sans)}@media(max-width:700px){.bs-v2-form-grid{grid-template-columns:1fr}}.bs-v2-uploads{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--v2-space-3);margin-top:var(--v2-space-3);padding-top:var(--v2-space-3);border-top:1px solid var(--v2-border)}@media(max-width:700px){.bs-v2-uploads{grid-template-columns:1fr}}.bs-v2-upload-card{background:var(--v2-surface-1);border:1px solid var(--v2-border);border-radius:var(--v2-radius-md);padding:var(--v2-space-3);display:flex;flex-direction:column;gap:var(--v2-space-2);align-items:center}.bs-v2-upload-card__label{font-size:var(--v2-text-xs);font-weight:var(--v2-fw-semibold);color:var(--v2-text-secondary);text-transform:uppercase;letter-spacing:var(--v2-tracking-wide)}.bs-v2-upload-card__preview{width:100%;height:80px;display:flex;align-items:center;justify-content:center;background:var(--v2-bg);border:1px solid var(--v2-border);border-radius:var(--v2-radius-sm);overflow:hidden}.bs-v2-upload-card__preview img{max-width:100%;max-height:100%;object-fit:contain}.bs-v2-upload-card__empty{width:100%;height:80px;display:flex;align-items:center;justify-content:center;background:var(--v2-bg);border:1px dashed var(--v2-border);border-radius:var(--v2-radius-sm);color:var(--v2-text-tertiary);font-size:var(--v2-text-xs)}.bs-v2-upload-card__actions{display:flex;gap:var(--v2-space-1);flex-wrap:wrap;justify-content:center}.bs-v2-section-title{font-size:var(--v2-text-md);font-weight:var(--v2-fw-semibold);color:var(--v2-text-primary);margin:var(--v2-space-5) 0 var(--v2-space-2) 0;display:flex;justify-content:space-between;align-items:center}.bs-v2-as-of{font-size:var(--v2-text-xs);color:var(--v2-text-tertiary);font-family:var(--v2-font-mono)}.bs-v2-btn{display:inline-flex;align-items:center;gap:var(--v2-space-2);padding:0 var(--v2-space-4);height:36px;border-radius:var(--v2-radius-md);font-family:var(--v2-font-sans);font-size:var(--v2-text-base);font-weight:var(--v2-fw-medium);line-height:1;border:1px solid transparent;cursor:pointer;transition:background var(--v2-duration-fast);white-space:nowrap;user-select:none;text-decoration:none}.bs-v2-btn:focus-visible{outline:none;box-shadow:var(--v2-shadow-focus)}.bs-v2-btn--primary{background:var(--v2-primary);color:var(--v2-text-inverse)}.bs-v2-btn--primary:hover{background:var(--v2-primary-hover)}.bs-v2-btn--ghost{background:transparent;color:var(--v2-text-secondary)}.bs-v2-btn--ghost:hover{background:var(--v2-surface-2);color:var(--v2-text-primary)}.bs-v2-btn--icon{width:36px;padding:0;justify-content:center}.bs-v2-user-menu{position:relative}.bs-v2-user-menu__trigger{display:flex;align-items:center;gap:var(--v2-space-2);padding:var(--v2-space-1) var(--v2-space-3);border-radius:var(--v2-radius-md);background:transparent;border:0;cursor:pointer;color:var(--v2-text-primary);font-size:var(--v2-text-sm);font-weight:var(--v2-fw-medium)}.bs-v2-user-menu__trigger:hover{background:var(--v2-surface-2)}.bs-v2-user-menu__panel{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;background:var(--v2-bg);border:1px solid var(--v2-border);border-radius:var(--v2-radius-md);box-shadow:var(--v2-shadow-lg);padding:var(--v2-space-2);z-index:var(--v2-z-dropdown)}.bs-v2-user-menu__section{padding:var(--v2-space-1) 0;border-top:1px solid var(--v2-border)}.bs-v2-user-menu__section:first-child{border-top:0}.bs-v2-user-menu__label{padding:var(--v2-space-1) var(--v2-space-2);font-size:var(--v2-text-xs);color:var(--v2-text-tertiary);text-transform:uppercase;letter-spacing:var(--v2-tracking-wide)}.bs-v2-user-menu__item{display:flex;align-items:center;gap:var(--v2-space-2);padding:var(--v2-space-2);border-radius:var(--v2-radius-sm);background:transparent;border:0;width:100%;text-align:left;color:var(--v2-text-primary);font-size:var(--v2-text-sm);cursor:pointer}.bs-v2-user-menu__item:hover{background:var(--v2-surface-2)}.bs-v2-user-menu__item--active{background:var(--v2-primary-bg);color:var(--v2-primary);font-weight:var(--v2-fw-semibold);box-shadow:inset 2px 0 0 var(--v2-primary)}.bs-v2-health-card{padding:10px 12px;background:var(--v2-surface-1);border:1px solid var(--v2-border);border-radius:var(--v2-radius);display:flex;justify-content:space-between;align-items:center;transition:border-color .2s,background .2s;cursor:help}.bs-v2-health-card--ok{border-left:3px solid #10b981}.bs-v2-health-card--ok:hover{background:#10b9810f}.bs-v2-health-card--fail{border-left:3px solid #ef4444;background:#ef444414}.bs-v2-health-card--fail:hover{background:#ef44441f}@keyframes bs-v2-pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.bs-v2-panel:has(.bs-v2-hint:hover),.bs-v2-panel__header:has(.bs-v2-hint:hover),.bs-v2-panel__body:has(.bs-v2-hint:hover),.bs-v2-section-title:has(.bs-v2-hint:hover){overflow:visible!important;position:relative}.bs-v2-panel:has(.bs-v2-hint:hover){z-index:999999!important}body:has(.bs-v2-hint:hover) .bs-v2-panel,body:has(.bs-v2-hint:hover) .bs-v2-panel__header,body:has(.bs-v2-hint:hover) .bs-v2-panel__body{overflow:visible!important}.bs-v2-hint{position:relative;display:inline-flex;align-items:center;gap:4px;cursor:help;color:var(--v2-text-tertiary);font-size:var(--v2-text-xs);padding:0 2px;border-radius:3px;transition:color .15s,background .15s}.bs-v2-hint:hover{color:var(--v2-accent);background:#3b82f61a}.bs-v2-hint:after{content:attr(data-hint);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);background:var(--v2-text-primary,#1e293b);color:var(--v2-text-inverse,#f1f5f9);padding:10px 14px;border-radius:6px;font-size:12px;line-height:1.5;font-weight:400;white-space:pre-wrap;width:360px;max-width:calc(100vw - 40px);box-shadow:0 10px 25px #00000080;border:1px solid rgba(255,255,255,.1);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s,transform .15s,visibility 0s .15s;z-index:100000}.bs-v2-hint:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(0);transition:opacity .15s,transform .15s,visibility 0s}.bs-v2-hint--right:after{left:auto;right:0;transform:translate(0) translateY(-4px)}.bs-v2-hint--right:hover:after{transform:translate(0) translateY(0)}.bs-v2-invoice-actions{display:flex;gap:4px;flex-wrap:nowrap;justify-content:center;align-items:center}.bs-v2-invoice-actions__btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--v2-border);border-radius:var(--v2-radius-sm);background:transparent;color:var(--v2-text-primary);font-size:14px;line-height:1;cursor:pointer;text-decoration:none;transition:background var(--v2-duration-fast),border-color var(--v2-duration-fast),transform var(--v2-duration-fast);flex-shrink:0}.bs-v2-invoice-actions__btn:hover{background:var(--v2-surface-2);border-color:var(--v2-border-strong);transform:translateY(-1px)}.bs-v2-invoice-actions__btn--primary{background:#3b82f61f;border-color:#3b82f659}.bs-v2-invoice-actions__btn--primary:hover{background:#3b82f638}.bs-v2-invoice-actions__btn--success{background:#10b9811f;border-color:#10b98159}.bs-v2-invoice-actions__btn--success:hover{background:#10b98138}#bs-v2-root{background:#f5f6f8}:focus-visible{outline:2px solid var(--v2-primary, #2563eb);outline-offset:2px;border-radius:3px}.bs-v2-btn:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--v2-primary, #2563eb);outline-offset:2px;border-radius:var(--v2-radius, 6px)}:focus:not(:focus-visible){outline:none}a,button,.bs-v2-btn,select,input[type=submit],.bs-v2-panel,.bs-v2-subnav__item,.bs-v2-comms-filter,tr,.bs-v2-customer-card,[role=button],[tabindex]{transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out,box-shadow .15s ease-out,transform .1s ease-out}.bs-v2-panel{border-radius:var(--v2-radius, 8px);box-shadow:var(--v2-shadow-sm, 0 1px 3px rgba(0,0,0,.06));border:1px solid var(--v2-border, #d9dde4)}.bs-v2-panel__header{border-radius:var(--v2-radius, 8px) var(--v2-radius, 8px) 0 0}#bs-v2-drawer .bs-v2-panel{box-shadow:var(--v2-shadow-md, 0 4px 12px rgba(0,0,0,.08));border-radius:var(--v2-radius-lg, 10px)}.bs-v2-row:hover{box-shadow:0 2px 8px #0000000f;transform:translateY(-1px);z-index:1;position:relative}:root{--v2-radius: 8px;--v2-radius-sm: 4px;--v2-radius-md: 8px;--v2-radius-lg: 10px;--v2-radius-full: 9999px;--v2-radius-btn: 6px}.bs-v2-btn{border-radius:var(--v2-radius-btn, 6px);font-weight:var(--v2-fw-medium);letter-spacing:.01em}.bs-v2-pill{border-radius:var(--v2-radius-full, 9999px)}.bs-v2-table thead th:first-child{border-radius:var(--v2-radius-sm, 4px) 0 0 0}.bs-v2-table thead th:last-child{border-radius:0 var(--v2-radius-sm, 4px) 0 0}@keyframes bsShimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.bs-v2-skeleton{background:linear-gradient(90deg,var(--v2-surface-2, #eef0f4) 0%,var(--v2-surface-3, #e2e6ec) 40%,var(--v2-surface-2, #eef0f4) 80%);background-size:400px 100%;animation:bsShimmer 1.8s ease-in-out infinite;border-radius:var(--v2-radius-sm, 4px)}.bs-v2-skeleton--msg{display:flex;flex-direction:column;gap:8px;padding:12px;margin-bottom:8px;background:var(--v2-surface, #fff);border-radius:var(--v2-radius, 8px);border:1px solid var(--v2-border, #d9dde4)}.bs-v2-skeleton--line{height:12px;background:linear-gradient(90deg,var(--v2-surface-2, #eef0f4) 0%,var(--v2-surface-3, #e2e6ec) 40%,var(--v2-surface-2, #eef0f4) 80%);background-size:400px 100%;animation:bsShimmer 1.8s ease-in-out infinite;border-radius:var(--v2-radius-sm, 4px)}.bs-v2-btn:active{transform:scale(.97)}[x-show],[x-cloak]{transition:opacity .15s ease-out,max-height .2s ease-out}
