/* Q36: native grid pages own their layout. Legacy layout styles are disabled
   on these pages; remaining modules retain their tested business controls. */
.ledger-shell { --green:#176fab; --green-soft:#edf4f9; --ink:#20313e; --text:#263540; --line:#d6dce2; --muted:#596976; font-family:"Microsoft YaHei","PingFang SC",sans-serif; }
body.ledger-shell { background:#fff; font-size:16px; }
.ledger-shell .workspace { padding:0 16px 24px; max-width:none; min-width:0; }
.ledger-shell .app-shell { grid-template-columns:170px minmax(0,1fr); }
.ledger-shell .sidebar { width:170px; background:#304050; padding:14px 10px; border-radius:0; }
.ledger-shell .brand { padding:4px 0 20px; gap:8px; }
.ledger-shell .brand-mark { width:28px;height:28px;font-size:17px;border-radius:3px;background:#277caf; }
.ledger-shell .brand strong { font-size:17px; }
.ledger-shell .brand small { font-size:12px; }
.ledger-shell .sidebar nav { gap:4px; }
.ledger-shell .sidebar nav button { min-height:40px;padding:8px 10px;font-size:16px;border-radius:2px; }
.ledger-shell .sidebar nav button.active { background:#1975b2;box-shadow:none; }
.ledger-shell .sidebar-foot button { font-size:14px;min-height:36px; }
.ledger-shell .topbar { min-height:54px; padding:8px 0; margin:0; border-bottom:1px solid #d6dce2; }
.ledger-shell .topbar h1 {font-size:19px;line-height:1.4;margin:0;}
.ledger-shell .topbar .eyebrow {display:none;}
.ledger-shell #app {padding-top:12px;max-width:none;min-width:0;}
.ledger-shell :is(.panel,.mat-panel,.section-intro,.metric-card,.simple-home,.settings-card,.master-card,.simple-more) { border-radius:2px;box-shadow:none;background-image:none; }
.ledger-shell :is(.panel,.mat-panel) { padding:14px;margin-top:12px; }
.ledger-shell .section-intro {padding:12px 14px;min-height:0;background:#f7f9fb;}
.ledger-shell .section-intro h2 {font-size:19px;}
.ledger-shell .section-intro p {font-size:15px;}
.ledger-shell .metric-card {min-height:80px;padding:12px;}
.ledger-shell .metric-card strong {font-size:24px;}
.ledger-shell :is(.simple-home-actions,.quick-actions) {gap:8px;}
.ledger-shell :is(.simple-home-actions,.quick-actions) button {min-height:76px;padding:10px;border-radius:2px;box-shadow:none;}
.ledger-shell :is(.simple-home-actions,.quick-actions) button>span {display:none;}
/* Q38: hiding an icon must also remove its narrow column. Keep labels above hints. */
@media screen {
  .ledger-shell :is(.simple-home-actions,.quick-actions) {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }
  .ledger-shell :is(.simple-home-actions,.quick-actions) button {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    align-content:start;
    align-items:start;
    justify-items:start;
    gap:6px;
    min-width:0;
    min-height:94px;
    height:auto;
    padding:14px 16px;
    text-align:left;
    white-space:normal;
  }
  .ledger-shell :is(.simple-home-actions,.quick-actions) button > strong {
    display:block;
    grid-column:1;
    grid-row:1;
    min-width:0;
    margin:0;
    font-size:1.25rem;
    line-height:1.4;
    white-space:nowrap;
    word-break:normal;
    overflow-wrap:normal;
  }
  .ledger-shell :is(.simple-home-actions,.quick-actions) button > small {
    display:block;
    grid-column:1;
    grid-row:2;
    min-width:0;
    max-width:100%;
    margin:0;
    font-size:1rem;
    line-height:1.5;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  @media (max-width:1100px) {
    .ledger-shell :is(.simple-home-actions,.quick-actions) {grid-template-columns:repeat(2,minmax(0,1fr));}
  }
  @media (max-width:600px) {
    .ledger-shell :is(.simple-home-actions,.quick-actions) {grid-template-columns:minmax(0,1fr);}
  }
}
.ledger-shell .settings-card {min-height:88px;border-radius:2px;}
.ledger-shell .simple-home h2 {font-size:20px;}
.ledger-shell :is(button,.sheet-button) {border-radius:2px;}
.ledger-shell .material-entry-links {margin:0 0 8px;font-size:14px;gap:10px;}
.ledger-shell .material-entry-links button {padding:6px 10px;min-height:34px;font-size:14px;}
.ledger-shell .material-page {font-size:16px;}
.ledger-shell .material-page .mat-panel {border-radius:2px;padding:12px;}
.ledger-shell .material-page .mat-grid :is(th,td) {padding:4px 7px;}
.ledger-shell .material-page .mat-grid input {min-height:34px;font-size:16px;}
.ledger-shell .material-page :is(h2,h3) {font-size:18px;}
.ledger-shell .material-page .mat-fields {gap:8px;}
.ledger-shell .material-page .mat-fields label {font-size:15px;}
.ledger-shell .material-page .mat-fields input {min-height:36px;font-size:16px;border-radius:2px;}
.ledger-shell :is(.expense-sheet-table,.mat-grid) {border-collapse:collapse;}
.ledger-shell :is(.expense-sheet-table,.mat-grid) th {background:#f1f3f5;color:#263540;}
.ledger-shell :is(.expense-sheet-table,.mat-grid) td {border:1px solid #d6dce2;}
.ledger-shell .sheet-document { min-width:0;background:#fff;margin:0; }
#app.sheet-page form {display:block;margin:0;}
#app.sheet-page :is(h2,h3,p) {margin:0;}
#app.sheet-page :is(button,.sheet-button) {font:inherit;font-size:15px;min-height:34px;line-height:1.35;padding:6px 12px;box-shadow:none;border:1px solid transparent;cursor:pointer;white-space:nowrap;width:auto;}
#app.sheet-page :is(button.secondary,.sheet-button) {background:#f6f8fa;color:#174e76;border-color:#ccd6df;text-decoration:none;}
#app.sheet-page button.danger-link {background:transparent;border:0;color:#ad3434;padding:4px 7px;}
#app.sheet-page button:disabled {opacity:.55;cursor:not-allowed;}
#app.sheet-page [hidden] {display:none!important;}
#app.sheet-page .sheet-toolbar {display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 0;border-bottom:1px solid #d6dce2;}
#app.sheet-page .sheet-toolbar h2 {margin-right:auto;font-size:18px;font-weight:600;}
#app.sheet-page .sheet-fields {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 14px;padding:12px 0;}
#app.sheet-page .sheet-fields label {display:grid;grid-template-columns:78px minmax(0,1fr);gap:5px;align-items:center;margin:0;font-size:15px;font-weight:400;min-width:0;}
#app.sheet-page :is(input,select,textarea) {width:100%;min-width:0;min-height:34px;height:34px;font:inherit;font-size:16px;line-height:1.4;padding:5px 7px;border:1px solid #cdd6dd;border-radius:1px;color:#21313d;background:#fff;box-sizing:border-box;font-weight:400;}
#app.sheet-page :is(input,select,textarea):focus {outline:2px solid #248acb;outline-offset:-2px;box-shadow:none;}
#app.sheet-page input::placeholder {font-size:14px;color:#6b7680;font-weight:400;opacity:1;}
#app.sheet-page input[type=hidden] {display:none;}
#app.sheet-page :is(.sheet-number-cell,.sheet-number-cell input) {text-align:right;font-variant-numeric:tabular-nums;}
.sheet-scroll {max-width:100%;overflow:auto;border:1px solid #cdd6dd;position:relative;overscroll-behavior-x:contain;}
#app.sheet-page .sheet-grid,.sheet-dialog .sheet-grid {display:table;width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;margin:0;min-width:960px;color:#263540;font-size:16px;background:white;}
#app.sheet-page .sheet-grid thead,.sheet-dialog .sheet-grid thead {display:table-header-group;}
#app.sheet-page .sheet-grid tbody,.sheet-dialog .sheet-grid tbody {display:table-row-group;}
#app.sheet-page .sheet-grid tr,.sheet-dialog .sheet-grid tr {display:table-row;background:#fff;border:0;margin:0;padding:0;}
#app.sheet-page .sheet-grid :is(th,td),.sheet-dialog .sheet-grid :is(th,td) {display:table-cell;position:static;border:0;border-right:1px solid #d6dce2;border-bottom:1px solid #d6dce2;padding:5px 8px;height:36px;vertical-align:middle;font-size:16px;line-height:1.4;font-weight:400;overflow-wrap:anywhere;white-space:normal;}
#app.sheet-page .sheet-grid th,.sheet-dialog .sheet-grid th {background:#eff2f5;font-weight:600;color:#273746;position:sticky;top:0;z-index:3;}
#app.sheet-page .sheet-grid td:last-child,.sheet-dialog .sheet-grid td:last-child {border-right:0;}
#app.sheet-page .sheet-grid tbody tr:last-child td,.sheet-dialog .sheet-grid tbody tr:last-child td {border-bottom:0;}
#app.sheet-page .sheet-grid tbody tr:nth-child(even) {background:#fafbfd;}
#app.sheet-page .sheet-grid tbody tr:focus-within {background:#edf6fc;}
#app.sheet-page .sheet-grid :is(th,td) {box-sizing:border-box;}
#app.sheet-page .sheet-grid tbody td {height:36px;padding-top:0;padding-bottom:0;}
#app.sheet-page .sheet-grid :is(input,select,textarea) {min-height:35px;height:35px;border:0;background:transparent;padding:5px 6px;outline-offset:-2px;}
#app.sheet-page .sheet-grid td:has(input,select) {padding:0;}
#app.sheet-page .sheet-grid :is(.editable-choice,.inbound-cost-category-field) {display:block;position:relative;min-width:0;width:100%;}
#app.sheet-page .editable-choice {--choice-control-height:32px;}
#app.sheet-page .editable-choice .editable-choice-native {position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;opacity:0;pointer-events:none;}
#app.sheet-page .editable-choice-arrow {position:absolute;right:0;top:0;height:100%;min-height:0;width:23px;padding:0;background:transparent;color:#546776;border:0;}
#app.sheet-page input.editable-choice-input {padding-right:24px;}
#app.sheet-page .sheet-number {text-align:center;color:#637380;}
#app.sheet-page .sheet-grid .outbound-available,#app.sheet-page .sheet-grid .outbound-line-status {display:block;min-width:0;padding:0;margin:0;}
#app.sheet-page .sheet-grid .outbound-available b {display:block;padding:0;min-height:0;background:none;border:0;border-radius:0;font-size:16px;font-weight:400;text-align:right;color:inherit;white-space:normal;}
#app.sheet-page .sheet-grid .sheet-spec {color:#536675;}
#app.sheet-page .sheet-inbound th:nth-child(1),#app.sheet-page .sheet-sales th:nth-child(1) {width:44px;}
#app.sheet-page :is(.sheet-inbound,.sheet-sales) th:nth-child(2) {width:23%;}
#app.sheet-page :is(.sheet-inbound,.sheet-sales) th:nth-child(3) {width:10%;}
#app.sheet-page :is(.sheet-inbound,.sheet-sales) th:nth-child(4) {width:8%;}
#app.sheet-page .sheet-inbound :is(th:nth-child(5),th:nth-child(6),th:nth-child(7)) {width:11%;}
#app.sheet-page .sheet-price-note {padding:6px 0;color:#596976;font-size:14px;line-height:1.5;}
#app.sheet-page .sheet-sales th:nth-child(6) {width:10%;}
#app.sheet-page :is(.sheet-inbound,.sheet-sales) th:last-child {width:48px;}
#app.sheet-page .sheet-cellbar {display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:14px;}
#app.sheet-page .sheet-cellbar>span {flex:0 0 72px;}
#app.sheet-page .sheet-cellbar>input {flex:1;min-width:60px;}
#app.sheet-page .sheet-footer {display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 0;font-size:15px;}
#app.sheet-page #sheetTotal {font-weight:600;margin-right:auto;}
#app.sheet-page [id$=DraftHint] {color:#576672;font-size:14px;}
#app.sheet-page .sheet-subhead {display:flex;align-items:center;gap:12px;padding:10px 0;font-size:14px;flex-wrap:wrap;}
#app.sheet-page .sheet-subhead span {color:#667580;margin-right:auto;}
#app.sheet-page .sheet-query {display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0;}
#app.sheet-page .sheet-query label {display:flex;align-items:center;gap:8px;font-size:15px;font-weight:400;}
#app.sheet-page .sheet-query input {width:290px;max-width:100%;}
#app.sheet-page .sheet-query>span {font-size:14px;color:#627583;}
#app.sheet-page .sheet-error {color:#a12525;line-height:1.5;padding:6px 0;font-size:16px;}
#app.sheet-page .sheet-open {background:none;border:0;color:#126ca7;text-align:left;padding:0;white-space:normal;overflow-wrap:anywhere;}
#app.sheet-page .sheet-cost-grid th:nth-child(2) {width:24%;}
#app.sheet-page .inbound-cost-category-options {position:fixed;min-width:0;z-index:1500;background:#fff;border:1px solid #b8c8d4;max-height:260px;overflow:auto;border-radius:2px;box-shadow:0 4px 14px #233b4f26;}
.ledger-shell .editable-choice-list {border-radius:2px;font-size:16px;}
.ledger-shell .editable-choice-list button {font-size:16px;min-height:38px;font-weight:400;border-radius:0;}
.ledger-shell .sheet-dialog {width:min(1120px,96vw);max-height:90vh;border-radius:2px;padding:20px;}
.sheet-dialog .sheet-scroll {margin:10px 0;}
.sheet-dialog .sheet-toolbar {display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
@media(max-width:1100px) {
  #app.sheet-page .sheet-fields {grid-template-columns:repeat(3,minmax(0,1fr));}
  #app.sheet-page .sheet-cellbar>button {font-size:14px;}
}
@media(max-width:760px) {
  .ledger-shell .app-shell {display:block;}
  .ledger-shell .workspace {padding:0 8px calc(150px + env(safe-area-inset-bottom));width:100%;}
  .ledger-shell .sidebar {width:100%;height:auto;padding:0;}
  .ledger-shell .sidebar nav button {font-size:15px;min-height:48px;padding:6px 3px;}
  .ledger-shell .topbar {min-height:46px;}
  #app.sheet-page .sheet-fields {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  #app.sheet-page .sheet-fields label {display:block;font-size:14px;}
  #app.sheet-page .sheet-toolbar {gap:5px;}
  #app.sheet-page .sheet-toolbar h2 {flex:1 1 100%;font-size:18px;}
  #app.sheet-page :is(button,.sheet-button),#app.sheet-page .sheet-grid :is(input,select,textarea) {min-height:44px;}
  #app.sheet-page .sheet-grid td {height:44px;}
  #app.sheet-page .sheet-cellbar {flex-wrap:wrap;gap:5px;}
  #app.sheet-page .sheet-cellbar>span {flex-basis:56px;}
  #app.sheet-page .sheet-cellbar>input {flex-basis:calc(100% - 64px);}
  #app.sheet-page .sheet-query label {display:block;width:100%;}
  #app.sheet-page .sheet-query input {width:100%;}
  #app.sheet-page :is(.sheet-inbound,.sheet-sales) :is(th,td):nth-child(2) {position:sticky;left:0;z-index:2;background:#f7fafc;}
  #app.sheet-page :is(.sheet-inbound,.sheet-sales) th:nth-child(2) {z-index:4;background:#eff2f5;}
  .ledger-shell .sheet-dialog {width:100%;max-height:90vh;padding:14px;border-radius:0;}
}
@media print {
 .ledger-shell .sidebar,.ledger-shell .topbar,.sheet-toolbar,.sheet-query,.sheet-cellbar,.sheet-footer button {display:none!important;}
 .ledger-shell .workspace {padding:0;}
 .sheet-scroll {overflow:visible;}
 .sheet-grid {min-width:0!important;table-layout:auto!important;font-size:10pt;}
 .sheet-grid thead {display:table-header-group;}
 .sheet-grid tr {break-inside:avoid;}
}
