/* Shared desktop spacing. Overview keeps its separately reviewed layout. */
.gj-startup-warning { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:7px 10px; margin:0 0 8px; border:1px solid #edcfaa; border-radius:7px; background:#fff6e9; color:#99602b; font-size:11px; line-height:1.6; }
.gj-startup-warning .gj-button { flex-shrink:0; min-height:26px; padding:3px 8px; font-size:11px; }
#gaojiu-refined form[aria-busy=true] { cursor:progress; }
#gaojiu-refined .gj-record-sheet .gj-number-cell[data-record-metric] { cursor:default; }
#gaojiu-refined .gj-record-sheet .gj-number-cell[data-record-metric]:hover { background:#ffecd1; color:#843e12; box-shadow:inset 0 0 0 1px #edbf8b; }
#gaojiu-refined .gj-main:not([data-page=overview]) { --control-height:32px; }
#gaojiu-refined .gj-main:not([data-page=overview]) :is(input:not([type=checkbox]):not([type=file]),select) {
  box-sizing:border-box; min-height:var(--control-height); height:var(--control-height);
  padding:4px 8px; line-height:normal; font-size:12px;
}
#gaojiu-refined .gj-main:not([data-page=overview]) select { padding-right:24px; }
#gaojiu-refined .gj-main:not([data-page=overview]) .gj-button {
  box-sizing:border-box; min-height:32px; padding:5px 11px; line-height:20px; font-size:12px;
}
#gaojiu-refined .gj-main:not([data-page=overview]) .gj-panel-heading { align-items:center; margin-bottom:8px; }
#gaojiu-refined .gj-main:not([data-page=overview]) .gj-filters { align-items:center; gap:8px; margin-bottom:10px; }
#gaojiu-refined .gj-main:not([data-page=overview]) .gj-filters label { flex-direction:row; align-items:center; gap:6px; margin:0; }
#gaojiu-refined .gj-main:not([data-page=overview]) .gj-filters input[type=date] { width:136px; }
#gaojiu-refined .gj-main:not([data-page=overview]) .gj-text-label { min-width:0; }
#gaojiu-refined .gj-main:not([data-page=overview]) .gj-actions { gap:6px; }

/* Entry: remove inherited form margins; keep numbers and selectors readable. */
#gaojiu-refined [data-page=editor] .gj-entry-sheet { padding:8px 12px 6px; }
#gaojiu-refined [data-page=editor] .gj-entry-top { padding:0 0 5px; }
#gaojiu-refined [data-page=editor] .gj-abnormal-entry { padding:3px 0; gap:8px; }
#gaojiu-refined [data-page=editor] .gj-abnormal-entry .gj-check { margin:0; min-height:20px; }
#gaojiu-refined [data-page=editor] .gj-entry-basics { padding:5px 0 6px; gap:5px 10px; }
#gaojiu-refined [data-page=editor] .gj-entry-basics .gj-text-label { gap:2px; }
#gaojiu-refined [data-page=editor] .gj-entry-metrics { gap:4px; }
#gaojiu-refined [data-page=editor] .gj-entry-metrics :is(.gj-numeric-field,.gj-gender-field) { padding:4px 6px; min-height:59px; }
#gaojiu-refined [data-page=editor] .gj-entry-metrics :is(input,select) { height:28px; min-height:28px; margin:0; padding:3px 5px; font-size:12px; line-height:normal; }
#gaojiu-refined [data-page=editor] .gj-entry-metrics select { width:82px; padding-right:20px; flex-shrink:0; }
#gaojiu-refined [data-page=editor] .gj-entry-metrics .gj-gender-controls { margin-top:2px; gap:8px; }
#gaojiu-refined [data-page=editor] .gj-entry-metrics .gj-gender-controls label { grid-template-columns:14px minmax(30px,1fr) 82px; gap:3px; }
#gaojiu-refined [data-page=editor] .gj-entry-supplement { grid-template-columns:minmax(280px,1fr) minmax(0,2fr); gap:12px; margin-top:5px; padding-top:5px; }
#gaojiu-refined [data-page=editor] .gj-entry-supplement .gj-entry-prices.gj-single-price { display:grid; grid-template-columns:120px minmax(0,1fr); gap:10px; align-items:end; }
#gaojiu-refined [data-page=editor] .gj-entry-supplement .gj-entry-prices>span { margin:0; line-height:1.5; }
#gaojiu-refined [data-page=editor] .gj-entry-note { gap:2px; }
#gaojiu-refined [data-page=editor] .gj-entry-note textarea { height:32px; min-height:32px; padding:5px 8px; line-height:20px; }
#gaojiu-refined [data-page=editor] .gj-entry-options { margin:4px 0; gap:10px; }
#gaojiu-refined [data-page=editor] .gj-entry-bottom { padding:5px 0 0; }
#gaojiu-refined [data-page=editor] .gj-entry-bottom>div:first-child { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
#gaojiu-refined [data-page=editor] .gj-entry-status { margin:0; font-size:11px; }
#gaojiu-refined [data-page=editor] .gj-entry-bottom #dirty-state { margin:0; }
#gaojiu-refined [data-page=editor] .gj-entry-attachments { margin:8px 0 0; padding:8px 12px; }

/* Review and settlement share the same compact form rhythm. */
#gaojiu-refined [data-page=review] { gap:10px; }
#gaojiu-refined .gj-main[data-page=review]:not([data-page=editor]):not([data-page=records])>.gj-panel { padding:10px 12px; }
#gaojiu-refined .gj-main[data-page=review]:not([data-page=records])>.gj-filters { margin:0; padding:8px 10px; }
#gaojiu-refined [data-page=review] .gj-review-main { min-width:0; margin:0; }
#gaojiu-refined [data-page=review] #review-form { display:grid; gap:8px; }
#gaojiu-refined [data-page=review] #review-form>.gj-text-label { margin:0; gap:4px; }
#gaojiu-refined [data-page=review] .gj-review-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 10px; margin:0; }
#gaojiu-refined [data-page=review] .gj-review-label { margin:0; min-height:20px; gap:7px; }
#gaojiu-refined [data-page=review] .gj-review-label small { margin-left:auto; font-size:11px; color:var(--gj-secondary); font-weight:400; }
#gaojiu-refined [data-page=review] #review-form textarea { min-height:80px; height:88px; padding:7px 8px; font-size:12px; line-height:1.6; resize:vertical; }
#gaojiu-refined [data-page=review] #review-form .gj-review-journal textarea { min-height:92px; height:92px; }
#gaojiu-refined [data-page=review] .gj-form-footer { position:sticky; bottom:0; z-index:2; margin:0; padding:8px 0 0; align-items:center; background:var(--gj-nav,#fff); }
#gaojiu-refined [data-page=review] .gj-form-footer .gj-button { flex-shrink:0; }
#gaojiu-refined [data-page=review] .gj-attachment-panel { min-width:0; margin:0; align-self:stretch; }
#gaojiu-refined [data-page=review] .gj-attachment-panel h3 { margin:0; font-size:14px; line-height:20px; }
#gaojiu-refined [data-page=review] .gj-upload-zone { margin:10px 0; padding:16px 10px; gap:6px; }
#gaojiu-refined [data-page=review] .gj-upload-zone input[type=file] { max-width:100%; padding:4px; font-size:12px; height:auto; }
#gaojiu-refined [data-page=review] #file-list-review { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:300px; overflow:auto; }
#gaojiu-refined [data-page=review] #file-list-review .gj-file-card { min-width:0; overflow-wrap:anywhere; }
@media(max-width:700px){
  #gaojiu-refined [data-page=review] .gj-review-fields { grid-template-columns:minmax(0,1fr); }
  #gaojiu-refined [data-page=review] .gj-review-label { flex-wrap:wrap; }
  #gaojiu-refined [data-page=review] .gj-review-label small { margin-left:0; }
}
#gaojiu-refined #settlement-form>.gj-panel { padding:12px 14px; margin-bottom:10px; }
#gaojiu-refined #settlement-form .gj-meta-grid { gap:7px 10px; }
#gaojiu-refined #settlement-form .gj-meta-grid .gj-text-label { margin:0; gap:3px; }
#gaojiu-refined #settlement-form .gj-bill-field { padding:6px 8px; gap:3px; }
#gaojiu-refined #settlement-form .gj-bill-field input { height:32px!important; font-size:15px!important; line-height:normal; padding:4px 6px; }
#gaojiu-refined #settlement-form .gj-bill-field>span { display:flex; align-items:center; justify-content:space-between; gap:4px; flex-wrap:wrap; }
#gaojiu-refined #settlement-form .gj-bill-field small { float:none; }
#gaojiu-refined #settlement-form .gj-filters { gap:8px; }
#gaojiu-refined #settlement-form .gj-session-links .gj-check { margin:0; padding:7px 8px; }

/* Management: fixed workspace grid, scroll only genuinely long lists. */
#gaojiu-refined [data-page=settings] .gj-room-account>div:first-child { min-width:0; overflow-wrap:anywhere; }
#gaojiu-refined [data-page=settings] .gj-room-account-actions { flex-wrap:wrap; justify-content:flex-end; }
#gaojiu-refined [data-page=settings] .gj-settings-list>div { gap:8px; align-items:center; }
#gaojiu-refined [data-page=settings] .gj-settings-list>div>span { min-width:0; overflow-wrap:anywhere; }
#gaojiu-refined [data-page=settings] .gj-panel-heading { margin-bottom:5px; }
#gaojiu-refined [data-page=settings] .gj-table-scroll { overflow:auto; }
#gaojiu-refined [data-page=settings] .gj-settings-list { overflow:auto; }
#gaojiu-refined [data-page=storage] .gj-panel { padding:12px 14px; }
#gaojiu-refined [data-page=storage] .gj-storage-counts { margin:8px 0; }
#gaojiu-refined [data-page=storage] .gj-storage-details .gj-text-label { align-items:center; margin:4px 8px 4px 0; }
#gaojiu-refined [data-page=storage] .gj-storage-details code { padding:4px 6px; }
#gaojiu-refined [data-page=storage] .gj-storage-grid { align-items:start; }
@media(min-width:1100px){
  #gaojiu-refined [data-page=settings] .gj-table-scroll,
  #gaojiu-refined [data-page=settings] .gj-settings-list { max-height:clamp(140px,calc(100vh - 480px),340px); }
  #gaojiu-refined [data-page=settings] #audit-list { max-height:clamp(90px,calc(100vh - 560px),220px); }
}
@media(max-width:1100px){
  #gaojiu-refined [data-page=editor] .gj-entry-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:750px){
  #gaojiu-refined [data-page=editor] .gj-entry-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #gaojiu-refined [data-page=editor] .gj-entry-supplement { grid-template-columns:1fr; }
  #gaojiu-refined .gj-main:not([data-page=overview]) .gj-filters { align-items:center; }
  #gaojiu-refined .gj-main:not([data-page=overview]) .gj-filters label { flex-wrap:wrap; }
}
@media(max-width:420px){
  #gaojiu-refined [data-page=editor] .gj-entry-metrics { grid-template-columns:1fr; }
  #gaojiu-refined [data-page=editor] .gj-entry-metrics .gj-gender-field { grid-column:1; }
  #gaojiu-refined [data-page=editor] .gj-entry-metrics .gj-gender-controls { grid-template-columns:1fr; }
}
/* Prevent table actions from being pushed beyond the settings card. */
#gaojiu-refined [data-page=settings] .gj-table-scroll table { width:100%; min-width:0; table-layout:fixed; }
#gaojiu-refined [data-page=settings] .gj-table-scroll :is(th,td) { white-space:normal; overflow-wrap:anywhere; padding:4px; }
#gaojiu-refined [data-page=settings] .gj-table-scroll :is(th,td):nth-child(1) { width:32%; }
#gaojiu-refined [data-page=settings] .gj-table-scroll :is(th,td):nth-child(2) { width:12%; }
#gaojiu-refined [data-page=settings] .gj-table-scroll :is(th,td):nth-child(3) { width:23%; }
#gaojiu-refined [data-page=settings] .gj-table-scroll :is(th,td):nth-child(4) { width:33%; }
#gaojiu-refined [data-page=settings] .gj-link { min-height:24px; padding:2px 4px; font-size:11px; line-height:20px; white-space:nowrap; }
@media(min-width:1100px){
  #gaojiu-refined .gj-main[data-page=settings] { grid-template-rows:auto auto auto auto; align-content:start; }
  #gaojiu-refined [data-page=settings] .gj-table-scroll,
  #gaojiu-refined [data-page=settings] .gj-settings-list { max-height:clamp(140px,calc(100vh - 550px),280px); }
  #gaojiu-refined [data-page=settings] #audit-list { max-height:clamp(90px,calc(100vh - 620px),160px); }
}
#gaojiu-refined .gj-main[data-page=review] { gap:10px; }
#gaojiu-refined .gj-main[data-page=review]>.gj-filters { margin:0; }
#gaojiu-refined .gj-main[data-page=review] .gj-review-fields .gj-text-label { gap:4px; }
#gaojiu-refined [data-page=storage] .gj-storage-grid { grid-template-rows:auto 1fr; }
@media(min-width:851px){
  #gaojiu-refined #settlement-form .gj-bill-grid:has(>.gj-bill-field:nth-child(4):last-child) { grid-template-columns:repeat(4,minmax(0,1fr)); }
  #gaojiu-refined #settlement-form .gj-bill-grid:has(>.gj-bill-field:nth-child(3):last-child) { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
#gaojiu-refined .gj-main[data-page=records] .gj-record-filter { align-items:center; }
#gaojiu-refined .gj-main[data-page=records] .gj-record-filter :is(.gj-filters,form) { margin:0; align-items:center; }
#gaojiu-refined .gj-main[data-page=imports]>.gj-panel { padding:12px 14px; margin-bottom:10px; }
#gaojiu-refined .gj-main[data-page=imports] .gj-import-map { margin:10px 0; padding:10px; }
#gaojiu-refined .gj-main[data-page=imports] .gj-import-counts { margin:10px 0; }
#gaojiu-refined .gj-main[data-page=imports] .gj-import-submit { padding:8px 12px; gap:10px; }
#gaojiu-refined .gj-main[data-page=imports] input[type=file] { padding:5px; height:auto; max-width:100%; }
/* Export dialog: keep its field checklist and final actions visible. */
.gj-dialog:has(.gj-export-columns) { padding:20px; max-height:calc(100dvh - 32px); overflow:auto; }
.gj-dialog:has(.gj-export-columns) h2 { margin:0 0 10px; font-size:19px; }
.gj-dialog:has(.gj-export-columns) .gj-quiet { margin:8px 0; font-size:12px; line-height:1.6; }
.gj-dialog:has(.gj-export-columns) .gj-text-label { gap:4px; margin:8px 0; }
.gj-dialog:has(.gj-export-columns) :is(select,input:not([type=checkbox])) { box-sizing:border-box; height:32px; padding:4px 8px; line-height:normal; font-size:12px; }
.gj-dialog:has(.gj-export-columns) .gj-export-columns { gap:4px 10px; padding:10px; }
.gj-dialog:has(.gj-export-columns) .gj-export-columns .gj-check { margin:0; min-height:24px; font-size:12px; }
.gj-dialog:has(.gj-export-columns) .gj-button { min-height:32px; padding:5px 12px; font-size:12px; line-height:20px; }

/* Let the chart use the remaining desktop height instead of capping it at 340px. */
@media(min-width:1051px){
  #gaojiu-refined .gj-overview-compact { display:flex; flex-direction:column; height:calc(100dvh - 92px); min-height:620px; }
  #gaojiu-refined .gj-overview-compact>.gj-heading,
  #gaojiu-refined .gj-overview-compact>.gj-overview-summary { flex-shrink:0; }
  #gaojiu-refined .gj-overview-compact .gj-trend { flex:1; min-height:0; margin:0; grid-template-rows:34px 34px minmax(240px,1fr) auto; }
  #gaojiu-refined .gj-overview-compact .gj-trend>.gj-chart { height:100%; min-height:240px; }
}
@media(min-width:1051px) and (max-width:1240px){
  #gaojiu-refined .gj-overview-compact { min-height:660px; }
  #gaojiu-refined .gj-overview-compact .gj-trend { grid-template-rows:34px 34px 34px minmax(240px,1fr) auto; }
}
@media(max-width:1050px){
  #gaojiu-refined .gj-overview-compact .gj-trend>.gj-chart { height:clamp(280px,48dvh,540px); }
}
#gaojiu-refined .gj-overview-compact .gj-trend {
  border-color:#e9d6bf; border-radius:12px;
  background:linear-gradient(125deg,#fffaf2 0%,#fff 38%,#fffdf9 100%);
  box-shadow:0 5px 22px #9c60100a,inset 0 1px #fff;
}
#gaojiu-refined .gj-overview-compact .gj-trend>.gj-panel-heading h3 { display:flex; align-items:center; gap:8px; }
#gaojiu-refined .gj-overview-compact .gj-trend>.gj-panel-heading h3::before { content:''; width:4px; height:15px; border-radius:2px; background:linear-gradient(#ffb65d,#cd7132); box-shadow:0 0 9px #efaa4640; }
#gaojiu-refined .gj-overview-compact .gj-trend>.gj-chart {
  border-radius:8px; background:radial-gradient(ellipse at 90% 0%,#f7bf6e0d,transparent 70%),linear-gradient(180deg,#fffdf9,#fff);
}
#gaojiu-refined .gj-overview-compact .gj-chart svg { width:100%; height:100%; display:block; }
#gaojiu-refined .gj-overview-compact .gj-chart [data-chart-index] { cursor:pointer; }
#gaojiu-refined .gj-overview-compact .gj-chart [data-chart-index]:focus { outline:none; }
#gaojiu-refined .gj-overview-compact .gj-chart [data-chart-index]:focus-visible circle { stroke-width:3; stroke:#b85c24; }
#gaojiu-refined .gj-overview-compact .gj-metric-tabs button[aria-pressed=true] { background:linear-gradient(135deg,#fff0d8,#ffe3c1); color:#9c4d16; border-color:#eccda5; box-shadow:inset 0 1px #fff8; }
#gaojiu-refined .gj-overview-compact .gj-chart-tooltip { background:linear-gradient(135deg,#343b47,#242a34); border:1px solid #e6ad6644; border-radius:10px; box-shadow:0 10px 28px #27314230; max-width:calc(100% - 8px); }
#gaojiu-refined .gj-overview-compact .gj-chart-tooltip b { color:#ffbf79; font-variant-numeric:tabular-nums; }
#gaojiu-refined .gj-overview-compact .gj-chart-caption { padding-top:5px; border-top:1px solid #eee5d9; font-size:10px; color:#95816d; }
@media(min-width:1051px){
  #gaojiu-refined .gj-overview-compact .gj-chart-caption { box-sizing:border-box; height:24px; min-height:24px; line-height:17px; }
}

/* Import-row correction: fit the fields on desktop; keep actions outside scrolling. */
.gj-dialog:has(.gj-import-edit-content){box-sizing:border-box;width:min(1180px,calc(100vw - 32px))!important;max-width:min(1180px,calc(100vw - 32px))!important;max-height:calc(100dvh - 32px);padding:16px;overflow:hidden}
.gj-dialog:has(.gj-import-edit-content)>form{display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 68px)}
.gj-dialog:has(.gj-import-edit-content) h2{flex:none;margin:0 0 10px;font-size:19px;line-height:26px}
.gj-import-edit-content{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 2px}
.gj-import-edit-content .gj-quiet{font-size:12px;line-height:18px;margin:0 0 6px}
.gj-import-edit-content details{font-size:12px;margin:0 0 10px}
.gj-import-edit-content summary{cursor:pointer;line-height:22px}
.gj-import-edit-content .gj-import-raw{max-height:140px;padding:8px 10px}
.gj-dialog .gj-import-edit-content .gj-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px;margin:0 0 12px}
.gj-dialog .gj-import-edit-content .gj-field-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px 10px;padding:0;margin:0}
.gj-dialog .gj-import-edit-content .gj-text-label{min-width:0;margin:0;gap:4px;font-size:12px;line-height:17px}
.gj-dialog .gj-import-edit-content input{box-sizing:border-box;width:100%;height:32px;min-height:32px;margin:0;padding:5px 8px;font-size:13px;line-height:20px}
.gj-dialog:has(.gj-import-edit-content)>form>.gj-actions{flex:none;display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid #ebe2d7}
.gj-dialog:has(.gj-import-edit-content)>form>.gj-actions .gj-button{min-height:34px;padding:6px 18px;font-size:13px;line-height:22px}
.gj-dialog:has(.gj-import-edit-content) .gj-dialog-error{flex:none;max-height:42px;overflow:auto;line-height:18px;margin:6px 0 0}
.gj-dialog:has(.gj-import-edit-content) .gj-dialog-error:empty{display:none}
@media(max-width:1099px){.gj-dialog .gj-import-edit-content .gj-field-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:679px){.gj-dialog:has(.gj-import-edit-content){width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;padding:12px}.gj-dialog .gj-import-edit-content .gj-field-grid,.gj-dialog .gj-import-edit-content .gj-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
