/* Finance, invoices, reminders, mail and confirmation additions — layout only, colours come from the existing theme. */
.fp-chain{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 2px}
.fp-chain i{font-style:normal;color:var(--ui-muted,#6d7d7c)}
.fp-ai-text{white-space:pre-wrap;line-height:1.75;background:rgba(238,246,244,.6);border:1px solid var(--ui-line,#dbe7e4);border-radius:12px;padding:14px 16px;margin:10px 0}
.fp-check{display:flex!important;align-items:center;gap:8px;flex-direction:row!important}
.fp-check input{width:auto!important;margin:0}
.fp-ask-form{display:grid;gap:12px;padding:4px 2px}
.fp-ask-form textarea{min-height:96px}
#fp-ask-dialog,#fp-reminder-dialog{width:min(640px,calc(100vw - 32px))}
#fp-reminder-dialog .fp-reminder-list{max-height:52vh;overflow:auto;margin-bottom:14px}
#fp-reminder-dialog select{width:auto}
#fp-bell .badge{margin-left:4px}
.dossier-section .workflow-row .actions,.card .workflow-row .actions{flex-wrap:wrap;justify-content:flex-end}
.fp-bill td input,.fp-bill td select{min-width:72px}
.fp-bill td:nth-child(2) input{min-width:200px}
.fp-bill [data-schedule-total].error{color:#b42318}
.mp-thumb{display:inline-flex!important;flex-direction:column!important;align-items:center;gap:4px;margin:4px 8px 4px 0}
.mp-thumb img{max-height:86px;max-width:150px;object-fit:contain;border:1px solid var(--ui-line,#dbe7e4);border-radius:8px;background:#fff}
.mp-logo{max-height:84px;max-width:220px;object-fit:contain;display:block;margin:6px 0 12px}
[data-mp-fields] h3,.fp-bill h3,[data-fp-order-body] h3{margin-top:18px}
@media (max-width:760px){.fp-bill td:nth-child(2) input{min-width:140px}.fp-chain{font-size:12px}}
.mp-images{display:flex!important;flex-wrap:wrap;align-items:flex-end;gap:8px 14px}
.mp-images>label{width:auto!important;min-height:0!important;padding:8px 10px!important}
[data-guest],[data-child],[data-seg]{align-items:flex-end}
[data-guest] label:first-child{flex:0 0 120px}
/* replacements for inline styles that the page's Content-Security-Policy blocks */
.jh-select-full{width:100%;margin:16px 0}
.pre-wrap{white-space:pre-wrap}
.fp-more-products{grid-column:1/-1}
.fp-more-products>.grid{margin-top:12px}
/* the floating to-do panel no longer covers most of the page */
/* compact message panel: smaller box, smaller text, folded state shrinks to a pill */
#order-alerts{width:300px;max-height:50vh;padding:12px 14px;right:18px;bottom:18px;font-size:13px}
#order-alerts h3{font-size:15px!important;margin:0 0 6px}
#order-alerts .alert-item{padding:6px 0}
#order-alerts .alert-item strong{font-size:13px}
#order-alerts .source,#order-alerts p{font-size:12px;margin:2px 0}
#order-alerts button{padding:5px 10px!important;min-height:0!important;font-size:12px}
#order-alerts .actions{margin-bottom:4px;gap:6px}
#order-alerts:has([data-alert-body][hidden]){width:auto;max-width:240px;padding:6px 8px 6px 12px}
#order-alerts:has([data-alert-body][hidden]) h3{margin:0}
@media (max-width:760px){
  #order-alerts{width:min(280px,calc(100vw - 20px));max-height:42vh;left:auto;right:10px;bottom:10px;padding:10px 12px}
  #order-alerts:has([data-alert-body][hidden]){width:auto;max-width:220px}
}
@media (max-width:760px){
  [data-fp-desk-body] .metric strong,#fp-center-body .metric strong,[data-fp-order-body] .metric strong,.dossier-finance .metric strong{font-size:21px;word-break:keep-all;overflow-wrap:anywhere}
  [data-fp-desk-body] .card>.row,#fp-center-body .card>.row{flex-wrap:wrap}
  [data-fp-desk-body] .card>.row>div:first-child,#fp-center-body .card>.row>div:first-child{flex:1 1 100%}
  .fp-chain .badge{white-space:normal}
}
/* tabs inside dialogs (outside #app) keep the readable selected style */
dialog .crm-tabs button:not(.secondary){background:var(--ui-accent-soft,#e6f3f2)!important;color:var(--ui-accent-dark,#075f63)!important;border-color:color-mix(in srgb,var(--ui-accent,#087d80) 26%,transparent)!important;box-shadow:none!important}
.gt-status-actions{margin:0 30px 16px;flex-wrap:wrap}
.order-dialog-summary.gt-summary{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:760px){.order-dialog-summary.gt-summary{grid-template-columns:1fr 1fr}.gt-status-actions{margin:0 16px 12px}}

/* one compact toolbar for filters + download instead of a big button floating beside each title */
.fp-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 12px}
.fp-toolbar>select,.fp-toolbar>input{flex:0 1 200px;width:auto;min-width:0;margin:0}
.fp-toolbar>input[type=search]{flex:1 1 220px}
.fp-toolbar .export-format{flex:0 0 auto;min-width:0;max-width:130px;margin:0}
.fp-toolbar .export-action{padding:7px 12px;box-shadow:none;white-space:nowrap}
/* report cards: title on the left, a small download + format pair aligned right on the same line */
.fp-reports .card>.row{display:flex;flex-wrap:nowrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.fp-reports .card>.row>div:first-child{flex:1 1 auto;min-width:0}
.fp-reports .card>.row>div:first-child h2{margin:0}
.fp-card-export{flex:0 0 auto;display:flex;align-items:center;gap:6px}
.fp-card-export .export-action{padding:6px 11px;font-size:12px;box-shadow:none;white-space:nowrap}
.fp-card-export .export-format{min-width:0;width:auto;max-width:118px;margin:0;padding:5px 8px;font-size:12px}
@media (max-width:560px){.fp-reports .card>.row{flex-wrap:wrap}.fp-card-export{width:100%}}
.fp-reports .two .card{min-width:0}
.fp-reports .table-wrap th,.fp-reports .table-wrap td{padding:10px 12px}
@media (max-width:1180px){.fp-reports .two{grid-template-columns:1fr}}
/* everywhere: download buttons and their format picker keep their natural size instead of stretching across the row */
.row>.export-action{flex:0 0 auto;align-self:center;width:auto}
.row>.export-format{flex:0 0 auto;align-self:center;max-width:130px}
/* multi-select lists (协作员工、通知对象 …): box fits its options, and the fields beside it line up at the top instead of dropping to the bottom */
select[multiple]{min-height:0!important;height:auto;overflow-y:auto}
.row:has(select[multiple]){align-items:flex-start!important}
.row:has(select[multiple])>div{align-self:flex-start}
/* freshly generated mail draft: scrolled into view and briefly highlighted */
.mail-card{scroll-margin-top:96px}
.mail-card.mp-just-created{outline:2px solid var(--ui-accent,#0b7f7c);outline-offset:3px;box-shadow:0 0 0 6px color-mix(in srgb,var(--ui-accent,#0b7f7c) 14%,transparent);transition:outline-color .4s,box-shadow .4s}
/* form rows (筛选、更新报表、生成邮件草稿 …): every control sits on one baseline — buttons and checkboxes line up with the input boxes, not with their captions */
:is(.row,.toolbar):has(>label>input:not([type=checkbox]):not([type=radio]),>label>select,>div>input:not([type=checkbox]),>div>select,>div>label>select){align-items:flex-end}
:is(.row,.toolbar):has(>label>input:not([type=checkbox]):not([type=radio]),>label>select,>div>input:not([type=checkbox]),>div>select,>div>label>select)>:is(button,a.export-action,select.export-format){align-self:flex-end;min-height:44px}
:is(.row,.toolbar):has(>label>input:not([type=checkbox]):not([type=radio]),>label>select,>div>input:not([type=checkbox]),>div>select,>div>label>select)>label:has(>input[type=checkbox]){align-self:flex-end;min-height:44px;display:inline-flex;align-items:center;gap:6px;margin:0}
.badge{white-space:nowrap}
:is(.row,.toolbar):has(>label>input:not([type=checkbox]):not([type=radio]),>label>select,>div>input:not([type=checkbox]),>div>select,>div>label>select)>label{margin-bottom:0}

/* statistic tiles everywhere → compact horizontal capsules: "官网访客 0" on one line, wrapping as a row of pills */
#app .metrics,dialog .metrics{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px!important;grid-template-columns:none!important;margin:12px 0}
#app .metrics>.metric,dialog .metrics>.metric{flex:0 0 auto!important;display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:auto!important;min-width:0!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;padding:7px 16px!important;border-radius:999px!important;font-size:13px;line-height:1.3;white-space:nowrap;box-shadow:none!important;transform:none!important;grid-column:auto!important}
#app .metrics>.metric strong,dialog .metrics>.metric strong{display:inline!important;margin:0!important;font-size:17px!important;line-height:1.2!important;white-space:nowrap;overflow-wrap:normal;word-break:keep-all}
#app .metrics>.metric :is(small,.source,p,span:not(.badge)),dialog .metrics>.metric :is(small,.source,p,span:not(.badge)){margin:0!important;font-size:11px;color:#6b8588}
#app .metrics>.metric br,dialog .metrics>.metric br{display:none}
@media (max-width:760px){#app .metrics>.metric,dialog .metrics>.metric{padding:6px 12px!important}#app .metrics>.metric strong,dialog .metrics>.metric strong{font-size:15px!important}}
/* search box + buttons on one row: same height, same line */
:is(.row,.toolbar,.fp-toolbar):has(>input:not([type=checkbox]):not([type=radio]),>select:not(.export-format)){align-items:center}
:is(.row,.toolbar,.fp-toolbar):has(>input:not([type=checkbox]):not([type=radio]),>select:not(.export-format))>:is(button,a.export-action,select,input:not([type=checkbox]):not([type=radio])){min-height:44px;margin-top:0;margin-bottom:0}

/* download button + format picker always travel together as one small inline pair */
.export-pair{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;width:auto;max-width:100%;vertical-align:middle}
.export-pair>.export-action{width:auto!important;margin:0!important;white-space:nowrap}
.export-pair>.export-format{width:auto!important;min-width:0!important;max-width:130px;margin:0!important;flex:0 0 auto!important}
:is(.row,.toolbar,.fp-toolbar)>.export-pair{align-self:center}
:is(.row,.toolbar,.fp-toolbar):has(>input:not([type=checkbox]):not([type=radio]),>select:not(.export-format),>label>input:not([type=checkbox]):not([type=radio]),>label>select)>.export-pair>:is(.export-action,.export-format){min-height:44px}
.panel-hero.fp-hero-inline{display:flex!important;flex-wrap:wrap;align-items:center!important;justify-content:space-between;gap:10px 16px}
.panel-hero.fp-hero-inline>.metrics{flex:1 1 auto;margin:0!important;order:0}
.panel-hero.fp-hero-inline>:is(.actions,button,a){order:1;flex:0 0 auto;margin:0 0 0 auto!important}
/* phones: tab bars wrap onto two lines instead of running off the screen */
@media (max-width:760px){
  #app :is(.suite-tabs,.crm-tabs,.dossier-tabs){display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:6px!important}
  #app :is(.suite-tabs,.crm-tabs,.dossier-tabs)>button{flex:1 1 auto!important;min-width:0!important;width:auto!important;padding:8px 10px!important;white-space:nowrap}
  /* labelled filter / form rows: fields wrap two-per-line instead of being squeezed to one character wide */
  :is(.row,.toolbar,.fp-toolbar):has(>label>input:not([type=checkbox]):not([type=radio]),>label>select,>div>input:not([type=checkbox]),>div>select){flex-wrap:wrap!important}
  :is(.row,.toolbar,.fp-toolbar):has(>label>input:not([type=checkbox]):not([type=radio]),>label>select,>div>input:not([type=checkbox]),>div>select)>:is(label:not(:has(>input[type=checkbox])),div){flex:1 1 140px!important;min-width:0!important;width:auto!important}
  :is(.row,.toolbar,.fp-toolbar)>:is(label,div)>:is(input:not([type=checkbox]):not([type=radio]),select){width:100%!important;min-width:0}
  .export-pair{flex-wrap:wrap}
  #content .empty{overflow-wrap:anywhere;max-width:100%}
}
.contract-grid{grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr))}
@media (max-width:760px){#app .fp-check{flex:1 1 100%!important;width:auto!important;white-space:normal;min-width:0}}
/* order / departure dialog summary tiles → the same compact capsules */
dialog .order-dialog-summary,dialog .order-dialog-summary.gt-summary{display:flex!important;flex-wrap:wrap;gap:8px!important;grid-template-columns:none!important;padding-top:10px!important;padding-bottom:10px!important}
dialog .order-dialog-summary>div{flex:0 1 auto!important;display:inline-flex!important;flex-direction:row!important;align-items:center;gap:8px;min-width:0;min-height:0!important;padding:6px 14px!important;border-radius:999px!important;box-shadow:none!important;max-width:100%}
dialog .order-dialog-summary>div>span{margin:0!important;font-size:12px;white-space:nowrap}
dialog .order-dialog-summary>div>strong{margin:0!important;font-size:14px!important;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}
fieldset{min-width:0}
@media (max-width:760px){
  dialog :is(.suite-tabs,.crm-tabs,.dossier-tabs){display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:6px!important}
  dialog :is(.suite-tabs,.crm-tabs,.dossier-tabs)>button{flex:1 1 auto!important;min-width:0!important;width:auto!important;padding:8px 10px!important;white-space:nowrap}
}
/* wide tables scroll inside their card instead of pushing the whole page sideways */
.table-wrap{max-width:100%;overflow-x:auto}
#content :is(.card,.two>*,.grid>*,section){min-width:0}
/* tables never get cut off: they fit the card (text wraps); when a table still cannot fit, each row becomes a small labelled stack */
.table-wrap table{min-width:0!important;width:100%}
.table-wrap :is(th,td){overflow-wrap:break-word;word-break:normal}
.table-wrap th{white-space:nowrap}
.table-wrap td.fp-short{white-space:nowrap}
.table-wrap.fp-stack table,.table-wrap.fp-stack tbody,.table-wrap.fp-stack tr,.table-wrap.fp-stack td{display:block;width:100%}
.table-wrap.fp-stack thead{display:none}
.table-wrap.fp-stack tr{padding:10px 12px;border-bottom:1px solid #e3eeeb}
.table-wrap.fp-stack tr:last-child{border-bottom:0}
.table-wrap.fp-stack td{display:block;padding:5px 0 5px 118px!important;border:0!important;text-align:left!important}
.table-wrap.fp-stack td::before{content:attr(data-label);float:left;margin-left:-118px;width:108px;padding-top:1px;font-size:12px;color:#6b8588;font-weight:600;line-height:1.4}
.table-wrap.fp-stack td::after{content:"";display:block;clear:both}
.table-wrap.fp-stack td :is(button,.badge){width:auto!important;display:inline-flex}
.table-wrap.fp-stack td:not([data-label])::before,.table-wrap.fp-stack td[data-label=""]::before{content:none}
.table-wrap.fp-stack td:not([data-label]),.table-wrap.fp-stack td[data-label=""]{padding-left:0!important}
.table-wrap.fp-stack td.empty{padding-left:0!important;text-align:center!important}
.table-wrap.fp-stack td.record-actions{display:flex;justify-content:flex-end;padding-left:0!important}
.table-wrap.fp-stack td.record-actions::before{content:none}
/* tab bars wrap onto a second line instead of clipping their labels */
#app :is(.suite-tabs,.crm-tabs,.dossier-tabs),dialog :is(.suite-tabs,.crm-tabs,.dossier-tabs){display:flex!important;flex-wrap:wrap!important;overflow:visible!important}
#app :is(.suite-tabs,.crm-tabs,.dossier-tabs)>button,dialog :is(.suite-tabs,.crm-tabs,.dossier-tabs)>button{flex:1 1 auto!important;min-width:max-content!important;width:auto!important;white-space:nowrap;text-overflow:clip!important;overflow:visible!important}
.export-pair{flex-wrap:wrap}
:is(.row,.toolbar,.fp-toolbar):has(>.export-pair){flex-wrap:wrap}

/* side-by-side cards are the same height (the shorter one stretches), e.g. 线路 / 新建线路, 经营快照 / 公司公告 */
#content .two{align-items:stretch!important}
#content .two>.card{align-self:stretch;height:auto}
#content .two>:not(.card)>.card:only-child{height:100%;box-sizing:border-box;margin-bottom:0}
#content .two>:not(.card):has(>.card:only-child){display:flex;flex-direction:column}
#content .two>:not(.card)>.card:only-child{flex:1 1 auto}
/* 公司公告: a proper reading area instead of a thin strip */
.notice-board{min-height:260px;display:flex;flex-direction:column}
.notice-board>.row{align-items:center;justify-content:space-between;margin-bottom:6px}
.notice-board>.muted{margin:auto 0;text-align:center}

/* order cards: no page-header spacing inside the card, date column wide enough, light "查看完整资料" button */
.order-record-card header{margin:0!important;min-height:0!important}
.order-record-card dl{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.8fr)!important;margin:12px 0 8px!important}
#app .order-record-card>button.secondary{box-shadow:none!important;min-height:40px}
/* buttons inside table cells: compact, side by side, vertically centred with the row */
.table-wrap td{vertical-align:middle}
.table-wrap .row-actions,.table-wrap td:has(>button+button){display:flex;flex-wrap:wrap;align-items:center;gap:6px}
#app .table-wrap td :is(button,.button-link){min-height:34px!important;padding:6px 12px!important;font-size:13px!important;box-shadow:none!important;margin:0!important;white-space:nowrap;transform:none!important}
.table-wrap td.record-actions{text-align:right}
/* narrow order cards: departure date on its own line so it is never cut to "2026-11…" */
.order-record-card{container-type:inline-size}
@container (max-width:300px){
  .order-record-card dl{grid-template-columns:1fr 1fr!important}
  .order-record-card dl>div:first-child{grid-column:1/-1}
}
/* primary buttons everywhere: soft tinted fill with accent text instead of a dark solid gradient
   (same selector weight as the old rule, so tabs / sidebar / danger buttons keep their own styles) */
button:not(.secondary):not(.danger-button):where(:not(.app-sidebar *,.suite-tabs *,.crm-tabs *,.dossier-tabs *,.business-direct,.metric-button,.sidebar-account,.sidebar-toggle,.jp-launch)),.mail-link,.export-action{background:color-mix(in srgb,var(--ui-accent,#0b7f7c) 13%,#fff)!important;color:var(--ui-accent-dark,#08655f)!important;border:1px solid color-mix(in srgb,var(--ui-accent,#0b7f7c) 36%,#fff)!important;box-shadow:none!important;font-weight:700}
button:not(.secondary):not(.danger-button):where(:not(.app-sidebar *,.suite-tabs *,.crm-tabs *,.dossier-tabs *,.business-direct,.metric-button,.sidebar-account,.sidebar-toggle,.jp-launch)):hover:not(:disabled),.mail-link:hover,.export-action:hover{background:color-mix(in srgb,var(--ui-accent,#0b7f7c) 22%,#fff)!important;border-color:color-mix(in srgb,var(--ui-accent,#0b7f7c) 55%,#fff)!important}
button:not(.secondary):not(.danger-button):disabled{opacity:.55}
.export-action .export-icon{background:color-mix(in srgb,var(--ui-accent,#0b7f7c) 20%,#fff)!important;color:var(--ui-accent-dark,#08655f)!important}
/* ---- information boxes: heights, widths, empty states ---- */
/* every side-by-side box in a two-column area stretches to its row (also grids that set align-self:start) */
#content .two>.card,#content .two>section.card{align-self:stretch!important}
/* placeholder boxes ("选择客户查看…", "暂无…") keep a sensible size and centre their message */
#content .card.empty{display:flex!important;align-items:center;justify-content:center;text-align:center;min-height:180px;color:var(--ui-muted,#6b8588)}
/* order status filters → the same compact capsules as the statistics */
#content .order-state-grid{display:flex!important;flex-wrap:wrap;gap:8px!important;grid-template-columns:none!important;margin:4px 0 14px}
#content .order-state-grid>button.card{flex:0 0 auto!important;display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:10px;width:auto!important;min-width:0!important;min-height:0!important;height:auto!important;padding:7px 16px!important;border-radius:999px!important;background:#fff!important;color:var(--ui-ink,#174448)!important;border:1px solid var(--ui-line,#d5e5e1)!important;box-shadow:none!important;font-size:13px;font-weight:600}
#content .order-state-grid>button.card strong{font-size:17px!important;margin:0!important;color:var(--ui-accent-dark,#08655f)}
#content .order-state-grid>button.card[aria-pressed="true"]{background:color-mix(in srgb,var(--ui-accent,#0b7f7c) 13%,#fff)!important;border-color:color-mix(in srgb,var(--ui-accent,#0b7f7c) 45%,#fff)!important}
/* card headers that carry several download pairs: one tidy right-aligned row */
#content .card>.row:has(.dashboard-exports){align-items:center;flex-wrap:wrap;gap:10px}
#content .dashboard-exports{display:flex!important;flex-wrap:wrap;gap:8px!important;justify-content:flex-end;grid-template-columns:none!important;margin:0!important}
#content .dashboard-exports .export-pair{flex-wrap:nowrap}
#content .order-state-grid>button.card.selected-state{background:color-mix(in srgb,var(--ui-accent,#0b7f7c) 13%,#fff)!important;border-color:color-mix(in srgb,var(--ui-accent,#0b7f7c) 45%,#fff)!important}
#app #content .card.empty{min-height:180px!important}
#content .sales-layout{align-items:stretch!important}
#content #sales-detail{display:flex;flex-direction:column}
#content #sales-detail>.card.empty{flex:1 1 auto}
#content .card>.row>.dashboard-exports{flex:1 1 auto;min-width:0}
#content .card>.row:has(.dashboard-exports)>h2{flex:0 0 auto}
.export-action .export-icon{width:16px!important;height:16px!important;font-size:11px!important;border-radius:4px!important}
#app .dashboard-exports .export-action{min-height:34px!important;padding:6px 10px!important}
#app .dashboard-exports .export-format{min-height:34px!important;padding:4px 8px!important}
#app .export-pair>.export-action{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center;gap:6px!important;height:auto;width:auto!important;line-height:1.2}
#app .export-action .export-icon{display:inline-grid!important;place-items:center;flex:0 0 auto;line-height:1}
#app .metrics>.metric,dialog .metrics>.metric{max-width:100%;white-space:normal!important;flex-wrap:wrap;row-gap:2px}
#app .metrics>.metric strong,dialog .metrics>.metric strong{white-space:nowrap}
/* dialog headers: the 关闭 button never wraps one character per line */
dialog .order-dialog-head{align-items:flex-start;gap:12px}
dialog .order-dialog-head>button,dialog [data-dialog-close],dialog [data-order-detail-close]{flex:0 0 auto!important;white-space:nowrap!important;min-width:64px}
dialog .order-dialog-head>div:first-child{min-width:0;flex:1 1 auto}
/* 业务直达: one compact row of rectangular capsules, above 核心业务待办 */
#content .business-direct-card{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 16px!important;min-height:0!important}
#content .business-direct-card>.row{flex:0 0 auto;margin:0!important}
#content .business-direct-card>.row h2{margin:0;font-size:15px}
#content .business-direct-card>.row p.muted{display:none}
#content .business-direct-grid{display:flex!important;flex-wrap:wrap;gap:8px!important;grid-template-columns:none!important;margin:0!important;flex:1 1 auto}
#app #content button.business-direct{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:8px;width:auto!important;min-width:0!important;min-height:0!important;height:auto!important;padding:7px 14px!important;border-radius:10px!important;background:#fff!important;border:1px solid var(--ui-line,#d5e5e1)!important;box-shadow:none!important;font-size:13px;font-weight:650;color:var(--ui-ink,#174448)!important}
#app #content button.business-direct small{display:none}
#app #content button.business-direct b{position:static!important;font-size:13px;color:var(--ui-accent-dark,#08655f);margin:0}
#app #content button.business-direct:hover{background:color-mix(in srgb,var(--ui-accent,#0b7f7c) 10%,#fff)!important;border-color:color-mix(in srgb,var(--ui-accent,#0b7f7c) 45%,#fff)!important}
/* a list next to a taller box (线路 / 新建线路 …): the list window grows to fill its card instead of leaving a blank area */
#content .two>.card:has(>.table-wrap){display:flex;flex-direction:column}
#content .two>.card:has(>.table-wrap)>.table-wrap:not(:has(~.table-wrap)){flex:1 1 auto;min-height:220px}
#content .two>.card:has(>.table-wrap)>.table-wrap:has(td.empty) table{height:100%}
#content .two>.card:has(>.table-wrap)>.table-wrap:has(td.empty) td.empty{vertical-align:middle}
#content .two>.card:has(>.table-wrap)>.table-wrap:has(td.empty){display:flex;flex-direction:column}
#content .two>.card:has(>.table-wrap)>.table-wrap:has(td.empty)>table{flex:1 1 auto}
/* counts moved from an otherwise empty page head into the title of their box */
#content .panel-hero.fp-hero-hidden{display:none!important}
.fp-title-count{display:inline-flex;align-items:center;margin-left:10px;padding:2px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ui-accent,#0b7f7c) 35%,#fff);background:color-mix(in srgb,var(--ui-accent,#0b7f7c) 10%,#fff);color:var(--ui-accent-dark,#08655f);font-size:12px;font-weight:700;vertical-align:middle;white-space:nowrap}
/* 个人账户: two equally wide columns whose bottoms line up; denser profile and password forms */
#content .account-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important}
#content .account-column{display:flex!important;flex-direction:column;gap:14px}
#content .account-column>.card:last-child{flex:1 1 auto}
#content .account-layout form label{margin:0!important}
#content .account-layout form input:not([type=file]){min-height:40px!important;margin-top:4px}
#content .account-form-grid{gap:8px 12px!important;margin-bottom:10px}
#content #account-profile-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;align-items:end}
#content #account-profile-form>.account-form-grid{grid-column:1/-1;margin:0}
#content #account-profile-form>.actions{margin:0!important;flex-wrap:nowrap}
#content .account-security-card form{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px 12px!important;align-items:end}
#content .account-security-card form>p{grid-column:1/3!important;margin:0;align-self:center}
#content .account-security-card form>button{grid-column:3!important;justify-self:end;margin:0}
@media(max-width:900px){
  #content .account-layout{grid-template-columns:1fr!important}
  #content #account-profile-form{grid-template-columns:1fr}
  #content .account-security-card form{grid-template-columns:1fr!important}
  #content .account-security-card form>p,#content .account-security-card form>button{grid-column:1!important;justify-self:start}
}
/* 统一 AI 接口设置: use the full width, fields in three columns */
#content .card.compact:has(#shared-ai-settings){max-width:none!important;width:auto!important}
#content #shared-ai-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;align-items:end}
#content #shared-ai-settings>.row{display:contents}
#content #shared-ai-settings label{margin:0!important;min-width:0}
#content #shared-ai-settings label:has(>input[type=checkbox]){display:flex;align-items:center;gap:8px;min-height:44px}
#content #shared-ai-settings>p,#content #shared-ai-settings>.actions{grid-column:1/-1;margin:0}
@media(max-width:900px){#content #shared-ai-settings{grid-template-columns:1fr}}
#content .row>.badge,#content .row>span.tag{flex:0 0 auto!important;width:auto!important;align-self:center}
/* 第三方网站 */
#content .sites-intro>.row{align-items:center;justify-content:space-between;gap:12px}
#content .site-form{margin-top:12px;padding-top:12px;border-top:1px solid var(--ui-line,#e3eeeb)}
#content .site-form .row{display:grid!important;grid-template-columns:1fr 1fr 2fr 1.4fr;gap:10px 12px;align-items:end}
#content .site-form label{margin:0!important}
#content .site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:10px}
#content .site-tile{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--ui-line,#d5e5e1);border-radius:14px;background:#fff;min-width:0}
#content .site-tile-head{display:flex;align-items:center;gap:10px;min-width:0}
#content .site-tile-head>div{display:flex;flex-direction:column;min-width:0}
#content .site-tile-head strong{font-size:15px;overflow-wrap:anywhere}
#content .site-tile-head small{color:var(--ui-muted,#6b8588);font-size:12px}
#content .site-icon{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--ui-accent,#0b7f7c) 12%,#fff);color:var(--ui-accent-dark,#08655f);font-weight:800}
#content .site-url{margin:0;font-size:12px;color:var(--ui-muted,#6b8588);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#content .site-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
#content .site-actions>[data-site-edit]{margin-left:auto!important}
#app #content .site-actions :is(a,button){min-height:32px!important;padding:5px 12px!important;font-size:12px!important;margin:0!important;box-shadow:none!important}
#app #content a.site-open{display:inline-flex;align-items:center;border-radius:9px;text-decoration:none;font-weight:700;background:color-mix(in srgb,var(--ui-accent,#0b7f7c) 13%,#fff);color:var(--ui-accent-dark,#08655f);border:1px solid color-mix(in srgb,var(--ui-accent,#0b7f7c) 36%,#fff)}
@media(max-width:900px){#content .site-form .row{grid-template-columns:1fr}}

/* site tiles: domain right after the name, tighter spacing */
#content .site-tile{gap:8px;padding:10px 12px}
#content .site-tile-head{gap:9px}
#content .site-icon{flex-basis:32px;width:32px;height:32px;border-radius:9px;font-size:13px}
#content .site-name{display:flex;align-items:baseline;gap:8px;margin:0;min-width:0}
#content .site-name strong{flex:0 0 auto;font-size:15px}
#content .site-name .site-url{flex:1 1 auto;min-width:0;margin:0;font-size:12px;color:var(--ui-muted,#6b8588);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#content .site-tile-head small{margin-top:1px;line-height:1.3}

dialog.site-confirm-dialog{width:min(420px,calc(100vw - 32px))!important;max-width:420px!important;padding:20px 22px!important}
dialog.site-confirm-dialog p{margin:8px 0}
dialog.site-confirm-dialog .muted{font-size:12px;overflow-wrap:anywhere}
dialog.site-confirm-dialog .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}

/* 第三方网站回收站 */
#content details.site-trash>summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-weight:700;cursor:pointer}
#content details.site-trash>summary .muted{font-weight:400;font-size:12px}
#content .site-trash-list{display:grid;gap:8px;margin-top:12px}
#content .site-trash-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px dashed var(--ui-line,#d5e5e1);border-radius:12px;background:#fbfdfc}
#content .site-trash-row>div:first-child{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0}
#content .site-trash-row small{flex-basis:100%;color:var(--ui-muted,#6b8588);font-size:12px}
#content .site-trash-row .site-actions{margin:0;flex:0 0 auto}
#content .site-trash-empty{margin:10px 0 0}

/* empty tables fill their card (e.g. 最近维护的客户) */
#content .two>.card:has(>.table-wrap td.empty)>.table-wrap{min-height:0}
#content .crm-recent-card .table-wrap:has(td.empty) td.empty{height:auto!important}

/* 员工与权限：弹窗、名录、账号回收站 */
#content .staff-hero-actions{display:flex;gap:8px;flex-wrap:wrap;align-self:center}
#content .staff-directory-card>.row{align-items:flex-start;gap:12px}
#content .staff-directory-tools{display:flex;gap:8px;align-items:center;flex:0 1 460px;min-width:0}
#content .staff-directory-tools input{flex:1 1 auto;min-width:0;margin:0}
#content .staff-directory-tools button{white-space:nowrap}
dialog.staff-dialog{width:min(980px,calc(100vw - 32px))!important;max-height:90vh;overflow:auto}
dialog.staff-dialog .staff-dialog-body{padding:18px 26px 24px;display:grid;gap:16px}
dialog.staff-dialog .staff-dialog-body>.card{margin:0}
dialog.staff-dialog .staff-profile-card{display:block}
dialog.staff-dialog form{display:block}
dialog.staff-dialog .password-reset-card form{display:grid;gap:8px}
#content .staff-trash{margin-top:14px;border-top:1px solid rgba(23,91,96,.12);padding-top:10px}
#content .staff-trash>summary{cursor:pointer;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:700;list-style:none}
#content .staff-trash>summary::-webkit-details-marker{display:none}
#content .staff-trash>summary::before{content:'▸';transition:transform .15s}
#content .staff-trash[open]>summary::before{transform:rotate(90deg)}
#content .staff-trash>summary .muted{font-weight:400;font-size:12px}
#content .staff-trash-list{display:grid;gap:8px;margin-top:10px}
#content .staff-trash-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border:1px solid rgba(23,91,96,.12);border-radius:14px;background:rgba(255,255,255,.7)}
#content .staff-trash-row small{display:block;color:var(--muted,#6b8088);font-size:12px;margin-top:2px}
#content .staff-trash-empty{margin:10px 0 0}
/* 月度考勤：可折叠的每日记录 */
#content .workforce-report-head{align-items:center}
#content .workforce-report-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
#content .workforce-report-card.is-folded #workforce-report-results :is(.table-wrap,.more-records){display:none}
@media (max-width:720px){#content .staff-directory-tools{flex-basis:100%}#content .staff-directory-card>.row{flex-wrap:wrap}}
dialog.staff-dialog fieldset.permission-grid label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;white-space:normal}
dialog.staff-dialog fieldset.permission-grid label small{flex:1 1 100%;margin-left:28px;text-align:left}

/* 酒店资料：图片查询与下载、官网页面版式字段 */
#content :is(.hl-images,.hl-panel){margin:14px 0;padding:14px 16px;border:1px solid rgba(23,91,96,.14);border-radius:16px;background:rgba(255,255,255,.72)}
#content :is(.hl-images,.hl-panel)>summary{cursor:pointer;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:700}
#content :is(.hl-images,.hl-panel)>summary .muted{font-weight:400;font-size:12px}
#content .hl-image-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}
#content .hl-chips{display:flex;flex-wrap:wrap;gap:6px}
#content .hl-chips button{padding:5px 12px;font-size:12px;border-radius:999px}
#content .hl-image-tools input[type=search]{flex:1 1 180px;max-width:280px;margin:0}
#content .hl-zip{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}
#content .hl-zip .button-link{display:inline-flex;align-items:center;padding:8px 14px;border-radius:12px;border:1px solid rgba(23,91,96,.2);background:#eef7f5;color:#17595f;font-weight:700;font-size:13px;text-decoration:none}
#content .hl-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;max-height:560px;overflow:auto;padding:2px}
#content .hl-image-grid figure{position:relative;margin:0;border:1px solid rgba(23,91,96,.12);border-radius:12px;overflow:hidden;background:#fff}
#content .hl-image-grid figure.is-picked{outline:2px solid #2b8a8a}
#content .hl-image-grid figure>a{display:block;aspect-ratio:4/3;background:#e6efec}
#content .hl-image-grid img{width:100%;height:100%;object-fit:cover;display:block}
#content .hl-image-grid figcaption{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 10px;font-size:12px;align-items:center}
#content .hl-image-grid figcaption strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
#content .hl-image-grid figcaption small{grid-column:1;color:#6b8088;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#content .hl-image-grid .hl-download{grid-column:2;grid-row:1/3;font-weight:700;color:#17595f;text-decoration:none;padding:4px 8px;border-radius:8px;background:#eef7f5}
#content .hl-check{position:absolute;top:8px;left:8px;z-index:1;display:flex;padding:3px;border-radius:6px;background:rgba(255,255,255,.9)}
#content .hl-check input{margin:0;width:16px;height:16px}
#content .hl-panel h4{margin:18px 0 8px;display:flex;align-items:center;gap:8px;font-size:14px}
#content .hl-intro{font-size:12px;margin:8px 0 4px}
#content .hl-panel label{display:block}
#content .hl-rows{display:grid;gap:10px}
#content .hl-row{padding:12px 14px;border:1px solid rgba(23,91,96,.12);border-radius:14px;background:rgba(244,250,248,.8)}
#content .hl-row .row{margin:0}
#content .hl-row-tools{display:flex;gap:6px;justify-content:flex-end;margin-top:8px}
#content .hl-row-tools button{padding:4px 10px;font-size:12px}
#content .hl-pick{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 8px}
#content .hl-pick select{flex:1 1 240px;margin:0;min-width:0}
#content .hl-thumb{width:96px;height:66px;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#dae7df,#edf2ec);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
#content .hl-thumb img{width:100%;height:100%;object-fit:cover}
#content .hl-thumb i{font-style:normal;font-size:11px;color:#6b8a80}
#content .hl-upload{display:inline-flex!important;align-items:center;padding:7px 12px;border-radius:10px;border:1px solid rgba(23,91,96,.2);background:#eef7f5;color:#17595f;font-weight:700;font-size:12px;cursor:pointer}
#content .hl-upload.is-busy{opacity:.6;pointer-events:none}
#content .hl-add{margin-top:8px}
#content .hl-actions{margin-top:16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#content .hl-actions .button-link{display:inline-flex;align-items:center;padding:8px 14px;border-radius:12px;border:1px solid rgba(23,91,96,.2);color:#17595f;text-decoration:none;font-weight:700;font-size:13px}
#content .hl-group{margin-top:12px;border:1px solid rgba(23,91,96,.12);border-radius:14px;padding:10px 14px;background:rgba(255,255,255,.6)}
#content .hl-group>summary{cursor:pointer;display:flex;align-items:center;gap:10px;flex-wrap:wrap;list-style:none}
#content .hl-group>summary::-webkit-details-marker{display:none}
#content .hl-group>summary::before{content:'▸';color:#3d718b;transition:transform .15s}
#content .hl-group[open]>summary::before{transform:rotate(90deg)}
#content .hl-group>summary h4{margin:0}
#content .hl-group>summary .muted{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}
#content .hl-group[open]>.hl-rows{margin-top:10px}

/* 银行流水与订单平账：每条流水上下排列，平账表单占满整行 */
#content .bank-ledger .workflow-row{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px;align-items:start}
#content .bank-ledger .workflow-row>div{min-width:0}
#content .bank-ledger form[data-bank-reconcile]{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;align-items:end;width:100%;max-width:none;margin:0;padding:12px 14px;border:1px solid rgba(23,91,96,.12);border-radius:14px;background:rgba(244,250,248,.75)}
#content .bank-ledger form[data-bank-reconcile]>*{width:100%;min-width:0;margin:0}
#content .bank-ledger form[data-bank-reconcile] label{display:flex;flex-direction:column;gap:4px;font-size:12px}
#content .bank-ledger form[data-bank-reconcile] .field-hint{grid-column:1/-2;align-self:center;font-size:12px}
#content .bank-ledger form[data-bank-reconcile]>button{grid-column:-2/-1;justify-self:end;width:auto;white-space:nowrap;padding:9px 20px}
@media (max-width:900px){#content .bank-ledger form[data-bank-reconcile]{grid-template-columns:1fr}#content .bank-ledger form[data-bank-reconcile] .field-hint,#content .bank-ledger form[data-bank-reconcile]>button{grid-column:1/-1}}

/* 确认函：生成后下载提示条；模板信息折叠与对齐 */
#content .mp-generated{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:14px 16px;border-radius:14px;border:1px solid #9fd2c4;background:#ecf8f3}
#content .mp-generated.is-draft{border-color:#e7cf96;background:#fdf7e8}
#content .mp-generated strong{display:block;margin-bottom:2px}
#content .mp-generated span{font-size:12px;color:#5d747c;overflow-wrap:anywhere}
#content .mp-generated .actions{display:flex;gap:8px;margin:0}
#content .mp-generated .button-link{display:inline-flex;align-items:center;padding:8px 16px;border-radius:12px;background:#d9f0e9;border:1px solid #9fd2c4;color:#13595c;font-weight:700;text-decoration:none}
#content .mp-generated .secondary-link{background:#fff}
#content [data-mp-branding] details.mp-fold{align-self:start}
#content [data-mp-branding] details.mp-fold>summary{cursor:pointer;display:flex;align-items:center;gap:8px;list-style:none}
#content [data-mp-branding] details.mp-fold>summary::-webkit-details-marker{display:none}
#content [data-mp-branding] details.mp-fold>summary::before{content:'▸';color:#3d718b;transition:transform .15s}
#content [data-mp-branding] details.mp-fold[open]>summary::before{transform:rotate(90deg)}
#content [data-mp-branding] details.mp-fold>summary h2{margin:0}
#content [data-mp-branding] details.mp-fold[open]>summary{margin-bottom:12px}
#content [data-mp-branding] .mp-section-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px;align-items:start!important}
#content [data-mp-branding] .mp-section-row>label{display:flex;flex-direction:column;gap:6px;margin:0;align-self:start}
#content [data-mp-branding] .mp-section-row input,#content [data-mp-branding] .mp-section-row textarea{margin:0;width:100%;box-sizing:border-box}
#content [data-mp-branding] .mp-section-row textarea{min-height:86px}
@media (max-width:800px){#content [data-mp-branding] .mp-section-row{grid-template-columns:1fr}}
#content [data-mp-branding] .row:has(>label>textarea):not(.mp-section-row){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px;align-items:start!important}
#content [data-mp-branding] .row:has(>label>textarea)>label{display:flex;flex-direction:column;gap:6px;margin:0}
#content [data-mp-branding] .two>details.mp-fold{align-self:start!important}
/* 确认单模板：标题框与内容框等宽等高（内容框随文字自动增高）；两张卡片等高 */
#content [data-mp-branding] .mp-section-row,#content [data-mp-branding] .row:has(>label>textarea):not(.mp-section-row){grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
#content [data-mp-branding] .mp-section-row textarea,#content [data-mp-branding] .row:has(>label>textarea) textarea{field-sizing:content;min-height:0!important;height:auto;resize:vertical;line-height:1.55;box-sizing:border-box}
#content [data-mp-branding] .two:not(:has(>details.mp-fold:not([open])))>details.mp-fold{align-self:stretch!important}
#content [data-mp-branding] .mp-section-row,#content [data-mp-branding] .row:has(>label>textarea):not(.mp-section-row){align-items:stretch!important}
#content [data-mp-branding] .mp-section-row>label>input,#content [data-mp-branding] .row:has(>label>textarea)>label>input{flex:1 1 auto;min-height:44px}
#content [data-mp-branding] .mp-section-row>label>textarea,#content [data-mp-branding] .row:has(>label>textarea)>label>textarea{flex:1 1 auto;min-height:44px!important}
#content [data-mp-branding] .mp-section-row>label>input,#content [data-mp-branding] .row:has(>label>textarea)>label>input{height:auto!important;max-height:none!important}
#content [data-mp-branding] .mp-section-row>label,#content [data-mp-branding] .row:has(>label>textarea)>label{align-self:stretch!important}

/* 预订邮件：跳转栏、折叠的邮件卡片、发送对话框、已发送记录 */
#content .mc-jumpbar{position:sticky;top:8px;z-index:20;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:8px 10px;border:1px solid rgba(23,91,96,.14);border-radius:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);box-shadow:0 6px 18px rgba(14,60,66,.08)}
#content .mc-jumpbar button{padding:6px 14px;font-size:13px;border-radius:999px}
#content .mc-jumpbar .mc-top{margin-left:auto}
#content [data-mc-section]{scroll-margin-top:76px}
#content .mail-card{padding:12px 14px!important}
#content .mail-card .mail-head{display:flex;align-items:center;gap:10px}
#content .mail-card .mail-head-main{flex:1 1 auto;min-width:0}
#content .mail-card .mail-head-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#content .mail-card .mail-head-main .source{margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#content .mail-card .mail-toggle{flex:0 0 auto;padding:6px 16px;border-radius:999px}
#content .mail-card .mail-detail{margin-top:12px;padding-top:12px;border-top:1px solid rgba(23,91,96,.12)}
#content .mail-card.is-open{box-shadow:0 8px 22px rgba(14,60,66,.08)}
#content .mail-card.mc-flash{outline:3px solid #6fc3b2;outline-offset:2px;transition:outline-color .4s}
#content .mail-actions .mail-hint{font-size:12px;color:#8a6d3b;align-self:center}
#content .mail-pending-confirm{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0;padding:12px 14px;border-radius:14px;border:1px solid #e7cf96;background:#fdf7e8}
#content .mail-pending-confirm strong{display:block}
#content .mail-pending-confirm span{font-size:12px;color:#6b5a2e}
#content .mail-pending-actions{display:flex;gap:8px}
#content .mc-sent-log .row{align-items:flex-start;gap:10px;flex-wrap:wrap}
#content .mc-sent-log .row>div:first-child{flex:1 1 260px}
#content .mc-sent-log input[type=search]{max-width:260px;margin:0}
#content .mc-sent-log select{max-width:140px;margin:0}
#content .mc-log-rows{display:grid;gap:6px;margin-top:10px}
#content .mc-log-row{display:grid;grid-template-columns:130px minmax(0,2fr) minmax(0,1.4fr) 120px 80px auto;gap:10px;align-items:center;padding:9px 12px;border:1px solid rgba(23,91,96,.1);border-radius:12px;background:rgba(255,255,255,.75);font-size:13px}
#content .mc-log-row time{color:#5d747c;font-size:12px}
#content .mc-log-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#content .mc-log-row small{display:block;color:#6b8088;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#content .mc-log-to span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#content .mc-log-row.is-failed .mc-log-result{color:#b0412e}
#content .mc-log-row.is-forward .mc-log-result{color:#2b6c8a}
#content .mc-log-row button{padding:5px 12px;font-size:12px;white-space:nowrap}
#content .mc-log-more{margin-top:10px}
@media (max-width:900px){#content .mc-log-row{grid-template-columns:1fr 1fr}#content .mc-log-row>div{grid-column:1/-1}}
dialog.mc-send-dialog{width:min(560px,calc(100vw - 32px))!important}
dialog.mc-send-dialog .mc-subject{margin:4px 0 0;font-size:13px}
dialog.mc-send-dialog form{display:grid;gap:12px;padding:16px 24px 22px}
dialog.mc-send-dialog label{display:grid;gap:4px;font-size:13px}
dialog.mc-send-dialog label small{color:#6b8088;font-size:11px}
dialog.mc-send-dialog fieldset{border:1px solid rgba(23,91,96,.14);border-radius:14px;padding:10px 12px;display:grid;gap:8px;margin:0}
dialog.mc-send-dialog legend{font-size:12px;color:#3d718b;padding:0 4px}
dialog.mc-send-dialog .mc-method label{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:rgba(244,250,248,.9);cursor:pointer}
dialog.mc-send-dialog .mc-method label.is-disabled{opacity:.55;cursor:not-allowed}
dialog.mc-send-dialog .mc-method strong{display:block;font-size:13px}
dialog.mc-send-dialog .mc-files label{display:flex;gap:8px;align-items:center}
dialog.mc-send-dialog .actions{display:flex;justify-content:flex-end;gap:8px}
#content nav.mc-jumpbar{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center;grid-template-columns:none!important}
#content nav.mc-jumpbar>button{width:auto!important;min-width:0!important;flex:0 0 auto!important;margin:0!important;height:34px;padding:0 14px!important;display:inline-flex;align-items:center;justify-content:center}
#content nav.mc-jumpbar>.mc-top{margin-left:auto!important}

/* 销售工作台 · 报价中心 */
#content .qc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
#content .qc-tabs .qc-new-customer{margin-left:auto}
#content .qc-jump{position:sticky;top:8px;z-index:15;display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px;padding:8px 10px;border-radius:14px;border:1px solid rgba(23,91,96,.14);background:rgba(255,255,255,.92);backdrop-filter:blur(8px)}
#content .qc-jump>button{width:auto!important;padding:6px 14px!important;border-radius:999px;font-size:13px;margin:0!important}
#content #qc-recommend,#content #qc-builder,#content #qc-list{scroll-margin-top:72px}
#content .qc-rec-form .row,#content .qc-builder .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:10px}
#content .qc-rec-form label,#content .qc-builder label{display:flex;flex-direction:column;gap:4px;font-size:13px;margin:0}
#content .qc-prefs{display:flex;flex-wrap:wrap;gap:8px;border:1px solid rgba(23,91,96,.14);border-radius:14px;padding:10px 12px;margin:0 0 10px}
#content .qc-prefs legend{font-size:12px;color:#3d718b;padding:0 4px}
#content .qc-prefs label{flex-direction:row!important;align-items:center}
#content .qc-prefs input{position:absolute;opacity:0;pointer-events:none}
#content .qc-prefs span{padding:6px 14px;border-radius:999px;border:1px solid rgba(23,91,96,.2);background:#fff;font-size:13px;cursor:pointer}
#content .qc-prefs input:checked+span{background:#dff2ec;border-color:#5fb3a1;color:#13595c;font-weight:700}
#content .qc-prefs input:focus-visible+span{outline:2px solid #2b8a8a}
#content .qc-rec-hint{font-size:12px}
#content .qc-rec-notice{font-size:12px;margin:12px 0 8px}
#content .qc-rec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
#content .qc-rec-card{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid rgba(23,91,96,.14);border-radius:16px;background:rgba(255,255,255,.85)}
#content .qc-rec-card header{display:flex;align-items:flex-start;gap:10px}
#content .qc-rec-card header>div{flex:1;min-width:0}
#content .qc-rec-card header strong{display:block}
#content .qc-rec-card header small{display:block;color:#6b8088;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#content .qc-rank{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e3f2ee;color:#13595c;font-weight:700;font-size:13px;flex:0 0 auto}
#content .qc-score{font-size:13px;color:#2b8a8a;background:#eef7f5;border-radius:8px;padding:2px 8px}
#content .qc-room{margin:0}
#content .qc-rec-card p.muted{margin:0;font-size:12px}
#content .qc-rec-money{display:flex;gap:14px;flex-wrap:wrap;font-size:13px}
#content .qc-reasons{display:flex;flex-wrap:wrap;gap:4px}
#content .qc-reasons span{font-size:11px;padding:2px 8px;border-radius:999px;background:#f1f6f4;color:#3f6c62}
#content .qc-rec-card .actions{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap}
#content .qc-items{display:grid;gap:8px;margin:6px 0 8px}
#content .qc-item{display:grid;grid-template-columns:100px minmax(160px,2fr) minmax(120px,1.3fr) minmax(90px,1fr) 80px 90px 120px 36px;gap:8px;align-items:end;padding:10px;border:1px solid rgba(23,91,96,.12);border-radius:12px;background:rgba(244,250,248,.7)}
#content .qc-item input,#content .qc-item select{margin:0;min-width:0}
#content .qc-item-remove{width:36px!important;height:38px;padding:0!important}
#content .qc-totals{display:flex;flex-wrap:wrap;gap:18px;margin:12px 0;padding:12px 14px;border-radius:12px;background:#f3faf7;border:1px solid rgba(23,91,96,.12);font-size:13px}
#content .qc-totals b{font-size:15px;color:#13595c}
#content #qc-list .row{align-items:flex-start;gap:10px;flex-wrap:wrap}
#content #qc-list .row>div:first-child{flex:1 1 260px}
#content #qc-list input[type=search]{max-width:260px;margin:0}
#content #qc-list select{max-width:140px;margin:0}
#content .qc-quote{padding:12px 14px;border:1px solid rgba(23,91,96,.12);border-radius:14px;background:rgba(255,255,255,.8);margin-top:8px}
#content .qc-quote-head{display:flex;align-items:center;gap:12px}
#content .qc-quote-head>div:first-child{flex:1;min-width:0}
#content .qc-quote-head strong{display:block}
#content .qc-quote-head small{display:block;color:#6b8088;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#content .qc-quote-money{text-align:right}
#content .qc-quote-money b{display:block;font-size:16px;color:#13595c}
#content .qc-quote-money small{font-size:11px;color:#6b8088}
#content .qc-quote-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
#content .qc-quote-actions button{padding:6px 12px;font-size:12px}
#content .qc-quote.mc-flash{outline:3px solid #6fc3b2}
#content .qc-customer-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
dialog .qc-convert{display:grid;gap:10px}
dialog .qc-convert label{display:flex;flex-direction:column;gap:4px;font-size:13px}
dialog .qc-convert .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
dialog .qc-text{width:100%;font-family:inherit;line-height:1.6}
@media (max-width:1100px){#content .qc-item{grid-template-columns:1fr 1fr 1fr}#content .qc-item .qc-wide{grid-column:span 2}}
#content #qc-hotel,#content #qc-policy{scroll-margin-top:72px}
#content .qc-hotel-search{display:flex!important;gap:8px;align-items:center}
#content .qc-hotel-search input{flex:1 1 auto;margin:0;max-width:520px}
#content .qc-hotel-search button{width:auto;white-space:nowrap}
#content .qc-hotel-result{margin-top:12px}
#content .qc-hotel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
#content .qc-hotel-head h3{margin:0}
#content .qc-hotel-head .button-link{padding:7px 14px;border-radius:12px;border:1px solid rgba(23,91,96,.2);color:#17595f;text-decoration:none;font-weight:700;font-size:13px;white-space:nowrap}
#content .qc-hotel-summary{font-size:13px;line-height:1.7;color:#3f5a60}
#content .qc-hotel-result h4{margin:16px 0 8px}
#content .qc-hotel-result td small{display:block}
#content .qc-hotel-result td button{padding:5px 12px;font-size:12px;white-space:nowrap}
#content .qc-hotel-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#content .qc-hotel-grid p{font-size:13px;margin:4px 0;line-height:1.6}
#content .qc-files{display:flex;flex-wrap:wrap;gap:8px}
#content .qc-files .button-link{padding:7px 12px;border-radius:10px;border:1px solid rgba(23,91,96,.18);background:#f6fbf9;color:#17595f;text-decoration:none;font-size:13px}
#content .qc-files small{color:#6b8088}
#content .qc-price-table{margin-top:10px}
#content .qc-alert{margin-top:8px;padding:8px 12px;border-radius:10px;background:#fdf3e2;border:1px solid #edd29b;font-size:12px;color:#6b4e16;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#content .qc-alert.is-soft{background:#eef6fa;border-color:#c7dde8;color:#2f5868}
#content .qc-alert button{padding:4px 10px;font-size:12px}
#content .qc-editing{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:-4px 0 12px;padding:10px 14px;border-radius:12px;background:#fdf7e8;border:1px solid #e7cf96}
#content .qc-editing>div{flex:1 1 280px}
#content .qc-editing strong{display:block}
#content .qc-editing span{font-size:12px;color:#6b5a2e}
#content .qc-editing label{display:flex;flex-direction:column;gap:4px;font-size:12px;min-width:220px}
#content .qc-editing input{margin:0}
#content .qc-versions{margin-top:8px;font-size:12px}
#content .qc-versions p{margin:4px 0}
#content .qc-policy-form .row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
#content .qc-policy-form label{display:flex;flex-direction:column;gap:4px;font-size:13px}
@media (max-width:900px){#content .qc-hotel-grid{grid-template-columns:1fr}}
#content .qc-editing[hidden]{display:none!important}
#content .qc-use-rules{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;margin:8px 0 0;font-size:13px}
#content .qc-rule-detail{font-size:12px;margin:6px 0 0;line-height:1.6}
#content .qc-sub{margin:12px 0;padding:10px 14px;border:1px solid rgba(23,91,96,.12);border-radius:14px;background:rgba(255,255,255,.6)}
#content .qc-sub>summary{cursor:pointer;font-weight:700;display:flex;align-items:center;gap:8px}
#content .qc-sub[open]>summary{margin-bottom:10px}
#content .qc-sub code{background:#eef5f3;padding:1px 5px;border-radius:5px;font-size:11px;margin-right:2px}
#content table.qc-rules{min-width:1100px}
#content table.qc-rules td{padding:6px 4px;vertical-align:top}
#content table.qc-rules input,#content table.qc-rules select{margin:0;min-width:0;width:100%;font-size:12px;padding:6px 8px}
#content table.qc-rules input[type=checkbox]{width:auto}
#content table.qc-rules td:nth-child(6) input{margin-bottom:4px}
#content table.qc-rules button{padding:4px 10px}
#content .qc-tpls{display:grid;gap:10px}
#content .qc-tpl{padding:10px;border:1px solid rgba(23,91,96,.12);border-radius:12px;background:#fbfdfc}
#content .qc-tpl-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
#content .qc-tpl-head input[name=name]{flex:1 1 220px;margin:0}
#content .qc-tpl-head label{display:inline-flex;align-items:center;gap:4px;font-size:13px}
#content .qc-tpl textarea{width:100%;font-family:inherit;line-height:1.6;margin:0}
#content .qc-sheet-upload{display:flex!important;gap:8px;flex-wrap:wrap;align-items:center}
#content .qc-sheet-upload>*{margin:0;flex:0 1 auto}
#content .qc-sheet-upload input[data-sheet-title]{flex:1 1 240px}
#content .qc-sheet-list{display:grid;gap:6px;margin:10px 0}
#content .qc-sheet{display:flex;gap:10px;align-items:center;padding:8px 12px;border:1px solid rgba(23,91,96,.12);border-radius:10px;background:#fff}
#content .qc-sheet>div{flex:1}
#content .qc-sheet small{display:block;color:#6b8088;font-size:12px}
#content .qc-sheet label{display:inline-flex;gap:4px;align-items:center;font-size:12px}
#content .qc-sheet button{padding:4px 10px;font-size:12px}
#content .qc-sheet-rows td button{padding:4px 10px;font-size:12px;white-space:nowrap}
dialog .qc-text-tools{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:8px}
dialog .qc-text-tools label{display:flex;flex-direction:column;gap:4px;font-size:13px}
dialog .qc-text{width:100%;box-sizing:border-box;font-family:inherit;line-height:1.7;font-size:14px}
#content .qc-rules-wrap,#content .qc-sub .table-wrap:has(table.qc-rules){overflow-x:auto}
#content .qc-sheet-upload>input[type=file]{flex:1 1 220px!important;width:auto!important}
#content .qc-sheet-upload>input[data-sheet-title]{flex:2 1 260px!important;width:auto!important}
#content .qc-sheet-upload>select{flex:0 0 110px!important;width:110px!important}
#content .qc-sheet-upload>button{flex:0 0 auto!important;width:auto!important}
#content .qc-travel{margin-top:4px}
#content .table-wrap:has(>table.qc-rules){overflow-x:auto!important}
#content table.qc-rules{width:auto!important;min-width:1340px!important;table-layout:auto!important}
#content table.qc-rules td,#content table.qc-rules th{white-space:nowrap}
#content table.qc-rules input[name=name]{min-width:120px}
#content table.qc-rules input[name=hotel],#content table.qc-rules input[name=room]{min-width:100px}
#content table.qc-rules input[type=date]{min-width:140px;display:block}
#content table.qc-rules input[type=number]{min-width:80px}
#content table.qc-rules select{min-width:96px}
#content table.qc-rules select[name=rounding]{min-width:140px}

/* ===== 财务往来与经营统计（finance-ledger.js）、团期列表改版 ===== */
.fl-tabs>button{flex:0 1 auto!important}
.fl-card{overflow:hidden}
.fl-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:6px}
.fl-head h2{margin:0 0 4px}
.fl-head .muted{margin:0;max-width:880px;line-height:1.65}
.fl-head .button,.fl-head a.button{white-space:nowrap}
.fl-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:10px 0}
.fl-toolbar input[type=search]{flex:1 1 220px;max-width:340px;margin:0}
.fl-toolbar select,.fl-toolbar input[type=date]{width:auto;margin:0}
.fl-toolbar .fp-check{margin:0;font-size:13px}
.fl-grow{flex:1 1 auto}
.fl-batchbar{position:sticky;top:0;z-index:2;background:rgba(247,251,250,.96);border:1px solid var(--ui-line,#dbe7e4);border-radius:12px;padding:8px 12px}
.fl-seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:3px;border-radius:12px;background:var(--ui-accent-faint,#eef6f4);border:1px solid var(--ui-line,#dbe7e4)}
#app .fl-seg>button,dialog .fl-seg>button{background:transparent!important;color:var(--ui-accent-ink,#0b4f52)!important;border:0!important;box-shadow:none!important;padding:6px 12px!important;border-radius:9px!important;font-size:13px;min-height:0!important;width:auto!important}
#app .fl-seg>button.is-on,dialog .fl-seg>button.is-on{background:#fff!important;color:var(--ui-accent-dark,#075b5e)!important;font-weight:700;box-shadow:0 1px 4px rgba(10,60,62,.12)!important}
#app .fl-seg>button[data-empty]{opacity:.55}
.fl-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--ui-line,#dbe7e4);border-radius:12px;background:#fff}
.fl-table{width:100%;border-collapse:collapse;font-size:13px;min-width:720px}
.fl-table th{position:sticky;top:0;background:var(--ui-accent-faint,#f1f7f6);color:var(--ui-muted,#5c7173);font-weight:600;text-align:left;padding:9px 10px;border-bottom:1px solid var(--ui-line,#dbe7e4);white-space:nowrap}
.fl-table td{padding:9px 10px;border-bottom:1px solid #edf3f2;vertical-align:top;line-height:1.5}
.fl-table tbody tr:last-child td{border-bottom:0}
.fl-table tbody tr:hover td{background:rgba(238,246,244,.55)}
.fl-table .num,.fl-table th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.fl-table td .actions{flex-wrap:nowrap;gap:6px;margin:0;justify-content:flex-start}
.fl-table td .actions button{padding:5px 10px!important;font-size:12.5px;min-height:0!important;white-space:nowrap}
.fl-table input[type=checkbox],.fl-table input[type=radio]{width:auto;margin:0}
.fl-table tr.is-mine td:first-child{box-shadow:inset 3px 0 0 var(--ui-accent,#087d80)}
.fl-table tr.is-late td{background:rgba(253,240,238,.55)}
.fl-table tr.is-muted td{opacity:.55}
.fl-table .source{font-size:12px;margin:2px 0 0}
.fl-late{color:#b42318!important}
#app .fl-link,dialog .fl-link{background:none!important;outline:0;border:0!important;box-shadow:none!important;padding:0!important;color:var(--ui-accent-dark,#075b5e)!important;font-weight:600;text-align:left;cursor:pointer;min-height:0!important;width:auto!important;text-decoration:underline;text-decoration-color:rgba(8,125,128,.3);text-underline-offset:3px}
.fl-link:hover{text-decoration-color:currentColor}
.fl-tag{display:inline-block;font-size:11.5px;padding:1px 8px;border-radius:999px;background:var(--ui-accent-faint,#eef6f4);color:var(--ui-accent-ink,#0b4f52);border:1px solid var(--ui-accent-line,#cfe3e0);white-space:nowrap}
.fl-tag-bill{background:#eef4ff;border-color:#d4e1fb;color:#2b4c8c}
.fl-tag-tourCost{background:#fff6e8;border-color:#f3dfb8;color:#87561b}
.fl-steps{display:inline-flex;flex-wrap:wrap;gap:4px}
.fl-steps i{font-style:normal;font-size:11.5px;padding:1px 7px;border-radius:999px;border:1px solid var(--ui-line,#dbe7e4);white-space:nowrap}
.fl-steps i.ok{background:#e9f6ef;border-color:#c9e8d6;color:#1f6b45}
.fl-steps i.no{background:#fdecea;border-color:#f6cdc8;color:#a12a1e}
.fl-steps i.wait{color:var(--ui-muted,#6d7d7c)}
.fl-pill{display:inline-block;font-size:11.5px;padding:1px 8px;margin:1px 2px 1px 0;border-radius:999px;border:1px solid var(--ui-line,#dbe7e4);white-space:nowrap}
.fl-pill.ok{background:#e9f6ef;border-color:#c9e8d6;color:#1f6b45}
.fl-pill.late{background:#fdecea;border-color:#f6cdc8;color:#a12a1e}
.fl-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.fl-two>section{min-width:0}
.fl-two .fl-table{min-width:520px}
.fl-ledger tr.fl-group td{font-weight:500}
.fl-ledger tr.fl-detail>td{background:#fafcfc;padding:10px 12px 14px}
.fl-ledger tr.fl-detail .fl-scroll{box-shadow:0 1px 6px rgba(10,60,62,.06)}
.fl-aging{display:grid;gap:8px}
.fl-aging>div{display:grid;grid-template-columns:86px 1fr 120px;align-items:center;gap:10px;font-size:13px}
.fl-aging i{display:block;height:10px;border-radius:6px;background:linear-gradient(90deg,var(--ui-accent,#087d80) var(--w),#eef3f2 var(--w))}
.fl-aging i.late{background:linear-gradient(90deg,#d9534f var(--w),#f6eeed var(--w))}
.fl-aging strong{text-align:right;font-variant-numeric:tabular-nums}
.fl-trend{display:flex;align-items:flex-end;gap:6px;padding:8px 2px 0;overflow-x:auto}
.fl-trend-col{flex:1 0 34px;display:flex;flex-direction:column;align-items:center;gap:4px}
.fl-bars{height:140px;display:flex;align-items:flex-end;gap:3px;width:100%;justify-content:center}
.fl-bars i{display:block;width:12px;height:var(--h);min-height:2px;border-radius:4px 4px 0 0}
.fl-bars i.rev,.fl-legend i.rev{background:var(--ui-accent,#087d80)}
.fl-bars i.mar,.fl-legend i.mar{background:#e0a43a}
.fl-bars i.neg{background:#d9534f}
.fl-trend-col span{font-size:11px;color:var(--ui-muted,#6d7d7c)}
.fl-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin:0 4px 0 10px;vertical-align:-1px}
.fl-ranks{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:14px 0}
.fl-rank{background:#fff;border:1px solid var(--ui-line,#dbe7e4);border-radius:16px;padding:14px 16px}
.fl-rank h3{margin:0 0 10px;font-size:15px}
.fl-rank ol{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.fl-rank li{display:grid;grid-template-columns:22px minmax(0,1fr) 70px auto;align-items:center;gap:8px;font-size:13px}
.fl-rank-no{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#eef3f2;font-size:11.5px;font-weight:700;color:var(--ui-muted,#6d7d7c)}
.fl-rank-no.top{background:var(--ui-accent,#087d80);color:#fff}
.fl-rank-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fl-rank li i{display:block;height:7px;border-radius:5px;background:linear-gradient(90deg,var(--ui-accent,#087d80) var(--w),#eef3f2 var(--w))}
.fl-rank li i.neg{background:linear-gradient(90deg,#d9534f var(--w),#f6eeed var(--w))}
.fl-rank li strong{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.fl-stats th.fl-sort{cursor:pointer;user-select:none}
.fl-stats th.fl-sort:hover{color:var(--ui-accent-dark,#075b5e)}
.fl-share{display:block;height:3px;margin-top:5px;border-radius:2px;background:linear-gradient(90deg,var(--ui-accent,#087d80) var(--w),transparent var(--w));opacity:.55}
.fl-done{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fl-done li{border-bottom:1px dashed #e3ecea;padding-bottom:8px}
.fl-done li p{margin:4px 0 0;line-height:1.6}
.fl-count{display:inline-block;min-width:18px;margin-left:6px;padding:0 6px;border-radius:999px;background:#d9534f;color:#fff;font-size:11px;line-height:18px;font-weight:700}
.fl-count:empty{display:none}
.fl-review-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;padding:8px 12px;border-radius:10px;background:var(--ui-accent-faint,#eef6f4);font-size:13px}
#fl-drill-dialog{width:min(1100px,calc(100vw - 32px))}
#fl-drill-dialog .fl-dialog-body{max-height:72vh;overflow:auto}
.gt-seatbar{display:flex;height:8px;width:150px;max-width:100%;border-radius:5px;background:#eaf1f0;overflow:hidden;margin:4px 0 3px}
.gt-seatbar i{display:block;height:100%;width:var(--w,0%)}
.gt-seatbar i.conf{background:var(--ui-accent,#087d80)}
.gt-seatbar i.held{background:#e0a43a}
.gt-status-seg{margin-top:12px}
.gt-table td:first-child{min-width:150px}
.gt-todo{color:#a15c07!important}
@media (max-width:900px){.fl-two{grid-template-columns:1fr}.fl-head{flex-direction:column}.fl-aging>div{grid-template-columns:70px 1fr 90px}}
@media (max-width:600px){.fl-seg{display:flex;width:100%}#app .fl-seg>button,dialog .fl-seg>button{flex:1 1 auto}.fl-rank li{grid-template-columns:22px minmax(0,1fr) auto}.fl-rank li i{display:none}}
.fl-table :is(td,th):first-child:has(>input:only-child){width:34px;padding-right:0}
.fl-two .fl-table{min-width:600px}
.fl-two .fl-table td:nth-child(2){white-space:nowrap}
#fl-drill-dialog .fl-dialog-body{padding:4px 18px 18px}
#app table.fl-table,dialog table.fl-table{width:100%!important;min-width:760px!important;table-layout:auto!important;display:table!important}
#app .fl-two table.fl-table{min-width:600px!important}
#app table.fl-table :is(td,th):first-child:has(>input:only-child),dialog table.fl-table :is(td,th):first-child:has(>input:only-child){width:34px!important;min-width:34px!important;max-width:40px}
#app table.fl-table td,#app table.fl-table th{display:table-cell!important}
#app table.fl-table tr{display:table-row!important}
@media (max-width:760px){#app .fl-toolbar input[type=search]{max-width:none}}
#app table.fl-table :is(input[type=checkbox],input[type=radio]),dialog table.fl-table :is(input[type=checkbox],input[type=radio]){margin:0!important;width:16px!important;height:16px!important;min-width:0!important;position:static!important;transform:none!important}
