:root{--ink:#132a27;--muted:#6b7c79;--green:#0b705f;--green2:#0f8b76;--mint:#e9f5f1;--line:#dce6e3;--surface:#fff;--bg:#f4f7f6;--danger:#b93c45;--warning:#a96a13;--shadow:0 16px 40px rgba(18,52,46,.07)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:#092f2a;color:#dcebe8;padding:26px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;gap:12px;align-items:center;padding:0 10px 28px;font-weight:800;letter-spacing:.08em}.brand small{display:block;color:#8db7af;font-size:10px;letter-spacing:.02em;margin-top:4px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#d7f1e8;color:#0a5b4d;font-size:22px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav a{padding:11px 13px;border-radius:9px;color:#b9d0cb;display:flex;gap:11px}.sidebar nav a:hover,.sidebar nav a.active{background:#12483f;color:#fff}.nav-label{font-size:10px;color:#6fa397;letter-spacing:.12em;padding:20px 13px 7px}.sidebar-footer{margin-top:auto;border-top:1px solid #24534b;padding:18px 10px 0;font-size:12px;color:#8fb9b0}.status-dot{display:inline-block;width:7px;height:7px;background:#51d6a8;border-radius:50%;margin-right:7px}main{min-width:0}.topbar{min-height:76px;background:rgba(255,255,255,.88);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px 38px;position:sticky;top:0;backdrop-filter:blur(12px);z-index:5}.topbar strong,.topbar small{display:block}.topbar small{color:var(--muted);margin-top:3px}.company-switch{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.company-pill,.period{background:var(--mint);color:var(--green);border-radius:999px;padding:8px 12px;font-size:11px;font-weight:700}.company-pill.selected{background:var(--green);color:#fff}.content{padding:38px;max-width:1500px;margin:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.page-head h1{font-family:Georgia,serif;font-size:34px;margin:2px 0 7px}.page-head p,.company-card p{margin:0;color:var(--muted)}.eyebrow{font-size:10px!important;letter-spacing:.16em;color:var(--green)!important;font-weight:800}.button{border:1px solid var(--line);background:#fff;padding:10px 15px;border-radius:9px;font-weight:700;cursor:pointer}.button.primary{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 8px 20px rgba(11,112,95,.18)}.button:hover{transform:translateY(-1px)}.button.small{padding:6px 10px;font-size:12px}.button:disabled{opacity:.5;cursor:not-allowed}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.metric,.panel{background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.metric{padding:22px}.metric span,.metric small{display:block;color:var(--muted)}.metric strong{display:block;font-family:Georgia,serif;font-size:25px;margin:12px 0}.metric small{font-size:11px}.metric.accent{background:#0c564b;color:#fff}.metric.accent span,.metric.accent small{color:#b9ddd6}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:1fr 1fr}.panel{padding:24px;margin-bottom:18px}.panel h2{margin:3px 0 18px;font-family:Georgia,serif}.panel-head{display:flex;justify-content:space-between;align-items:flex-start}.equation{display:flex;align-items:center;justify-content:space-between;background:var(--bg);padding:20px;border-radius:12px}.equation div span,.equation div strong{display:block}.equation div strong{margin-top:6px}.equation b{color:var(--green);font-size:22px}.summary-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}.summary-row.total{border:0;padding-top:16px;color:var(--green)}.workflow .steps{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.steps span{background:var(--mint);color:var(--green);padding:10px 13px;border-radius:8px;font-weight:700;font-size:13px}.steps i{color:#8ba39e}.workflow small{color:var(--muted)}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef2f1;color:#51615e;font-size:11px;font-weight:800}.badge.success,.alert.success{background:#e4f7ef;color:#087052}.badge.warning,.alert.warning{background:#fff2da;color:var(--warning)}.badge.error{background:#fde9eb;color:var(--danger)}.table-panel{padding:0;overflow:hidden}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 17px;border-bottom:1px solid var(--line);font-size:13px}th{background:#f8faf9;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}tbody tr:hover{background:#fbfdfc}tfoot th,tfoot td{background:#f5f8f7;font-weight:800}.numeric{text-align:right}.code{font-family:"Cascadia Code",Consolas,monospace;color:var(--green);font-weight:700}.empty{text-align:center;padding:45px;color:var(--muted)}.loading{padding:50px;text-align:center;color:var(--muted)}.alert{padding:13px 16px;border-radius:9px;margin-bottom:16px}.alert.error{background:#fde9eb;color:var(--danger)}.form-panel{padding:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:26px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid label{font-size:12px;color:var(--muted);font-weight:700}.form-grid .wide{grid-column:1/-1}.checkbox{display:flex;align-items:center;gap:9px}.checkbox input{width:auto;margin:0}input,select{display:block;width:100%;margin-top:7px;border:1px solid #ccd9d5;border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink);font:inherit}input:focus,select:focus{outline:2px solid #a8dbce;border-color:var(--green)}.line-editor{border:1px solid var(--line);border-radius:11px;overflow:hidden}.line-editor td{padding:8px}.line-editor input,.line-editor select{margin:0}.icon-button{border:0;background:#f7eeee;color:var(--danger);border-radius:7px;width:30px;height:30px;cursor:pointer}.balance-check{display:flex;justify-content:space-between;margin:18px 0;padding:13px;border-radius:9px;font-size:13px}.balance-check.ok{background:#e4f7ef;color:#087052}.balance-check.not-ok{background:#fff5e4;color:#936017}.form-actions{display:flex;justify-content:flex-end;gap:10px}.ledger-card{display:flex;align-items:center;justify-content:space-between}.ledger-card h2{margin:5px 0 0}.ledger-values{display:flex;gap:35px}.ledger-values span,.ledger-values strong{display:block;text-align:right}.ledger-values span{color:var(--muted);font-size:11px}.ledger-values strong{color:var(--ink);font-size:15px;margin-top:5px}.statement>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.statement h2{font-size:20px;margin-top:22px}.statement .subtotal{font-weight:800;border-top:1px solid var(--ink)}.statement .grand-total{margin-top:12px;padding:15px;background:var(--mint);color:var(--green);border:0;border-radius:9px;font-size:16px}.statements .panel{height:max-content}.company-card{display:flex;flex-direction:column;gap:18px}.company-card dl{display:grid;grid-template-columns:100px 1fr;margin:0;gap:8px}.company-card dt{color:var(--muted);font-size:12px}.company-card dd{margin:0;font-weight:700}.company-card .button{align-self:flex-start}@media(max-width:1000px){.cards{grid-template-columns:1fr 1fr}.shell{grid-template-columns:78px 1fr}.sidebar{padding:22px 10px}.brand>span:last-child,.sidebar nav span,.sidebar-footer,.nav-label{display:none}.brand{padding:0 9px 25px}.sidebar nav a{justify-content:center}.content{padding:25px}.grid.two{grid-template-columns:1fr}.form-grid.three{grid-template-columns:1fr 1fr}}@media(max-width:650px){.cards{grid-template-columns:1fr}.topbar{padding:12px 18px}.content{padding:20px 14px}.period{display:none}.page-head{align-items:flex-start;flex-direction:column}.form-grid,.form-grid.three{grid-template-columns:1fr}.ledger-card,.ledger-values{align-items:flex-start;flex-direction:column}.ledger-values{gap:9px;margin-top:15px}.table-panel,.line-editor{overflow-x:auto}table{min-width:720px}}
/* Profitability traceability and drill-downs */
.metric-button{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;appearance:none;transition:transform .18s ease,box-shadow .18s ease}
.metric-button:hover{transform:translateY(-2px);box-shadow:0 18px 35px rgba(18,55,79,.13)}
.metric-button:focus-visible{outline:3px solid rgba(36,151,180,.42);outline-offset:3px}
.metric-button.is-open{box-shadow:0 0 0 3px rgba(22,146,154,.18),0 18px 35px rgba(18,55,79,.12)}
.metric-link{display:block;margin-top:8px;color:#087f75;font-size:.72rem;font-weight:800;letter-spacing:.02em}
.profitability-metrics .metric-button.accent,.profitability-metrics .metric-button.accent strong,.profitability-metrics .metric-button.accent span,.profitability-metrics .metric-button.accent small,.profitability-metrics .metric-button.danger-card,.profitability-metrics .metric-button.danger-card strong,.profitability-metrics .metric-button.danger-card span,.profitability-metrics .metric-button.danger-card small{color:#fff!important}
.profitability-metrics .metric-button.accent .metric-link,.profitability-metrics .metric-button.danger-card .metric-link{color:#dffcf5!important}
.metric-breakdown{margin-top:18px;padding:24px;border-top:4px solid #139b91}
.metric-breakdown-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.metric-breakdown-head h2{margin:4px 0 5px}
.icon-close{width:38px;height:38px;border:0;border-radius:12px;background:#edf7f5;color:#0d655e;font-size:1.25rem;cursor:pointer}
.icon-close:hover{background:#dff2ee}
.formula-strip{display:grid;grid-template-columns:minmax(140px,1fr) auto minmax(140px,1fr) auto minmax(160px,1.1fr);align-items:center;gap:14px;padding:18px;border:1px solid #d6e6e3;border-radius:16px;background:linear-gradient(110deg,#f1f7ff,#eefaf6)}
.formula-strip>span{font-size:1.3rem;font-weight:800;color:#087f75}
.formula-strip small{display:block;margin-bottom:5px;color:#627b82}
.formula-strip strong{font-size:1.18rem;font-variant-numeric:tabular-nums}
.formula-result{padding:12px 14px;border-radius:12px;background:#fff;box-shadow:0 6px 16px rgba(18,55,79,.07)}
.breakdown-table-wrap{margin-top:20px;overflow-x:auto;border:1px solid #d9e7e5;border-radius:14px}
.breakdown-table{width:100%;border-collapse:collapse;min-width:760px}
.breakdown-table th,.breakdown-table td{padding:12px 14px;border-bottom:1px solid #dce9e7;vertical-align:top}
.breakdown-table th{background:#f6f9f9;color:#567078;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.breakdown-table tbody tr:last-child td{border-bottom:0}
.breakdown-table td small{display:block;margin-top:3px;color:#6d858b}
.number{text-align:right;font-variant-numeric:tabular-nums}
.method-note{margin:16px 0 0;padding:12px 14px;border-radius:12px;background:#f4f7fc;color:#516d79;font-size:.82rem}
.rank-sources{margin-top:7px;color:#58747c;font-size:.77rem}
.rank-breakdown{margin-top:10px}
.rank-breakdown summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:#087f75;font-size:.78rem;font-weight:800}
.rank-breakdown summary:hover{text-decoration:underline}
.rank-breakdown[open] summary{margin-bottom:8px}
.rank-breakdown .breakdown-table-wrap{margin-top:7px;background:#fff}
@media(max-width:760px){.formula-strip{grid-template-columns:1fr;gap:8px}.formula-strip>span{transform:rotate(90deg);justify-self:start;margin-left:12px}.metric-breakdown{padding:18px}.metric-breakdown-head{align-items:center}}

/* Explicit accounting workflow transitions */
.table-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
details>summary.button{display:inline-flex;list-style:none;user-select:none}
details>summary.button::-webkit-details-marker{display:none}
.compact-form{min-width:290px;margin-top:8px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow)}
.compact-form label{display:block;margin-bottom:10px;color:var(--muted);font-size:12px;font-weight:700}
.compact-form input{margin-top:5px}
.compact-form .button{margin-top:2px}
.detail-summary{display:grid;gap:22px;margin-bottom:22px}
.detail-summary h2{margin:.2rem 0}
.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0}
.detail-grid div{padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fbfc}
.detail-grid dt{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.detail-grid dd{margin:6px 0 0;font-weight:700;overflow-wrap:anywhere}
[data-journal-detail] td:first-child .code,[data-journal-detail] td:first-child strong{display:block}
[data-journal-detail] td:first-child strong{margin-top:4px}
@media(max-width:900px){.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.detail-grid{grid-template-columns:1fr}}
/* Financial reports keep controls on screen while producing clean A4/PDF output. */
.report-controls{display:flex;align-items:end;gap:1rem;margin-bottom:1rem}.report-controls label{min-width:12rem}.report-document-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;border-bottom:2px solid #173f70;margin-bottom:1.25rem;padding-bottom:1rem}.report-document-head div{display:flex;flex-direction:column;gap:.25rem;min-width:0}.report-document-head h1{margin:0}.report-document-head div:last-child{text-align:right}.report-print-action{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;max-width:24rem}.report-print-action small{color:var(--muted);font-size:.72rem;line-height:1.35;text-align:right}
@media print{
  @page{size:A4;margin:14mm}
  html,body{width:100%!important;min-width:0!important;margin:0!important;background:#fff!important;color:#111!important;font:10pt Arial,sans-serif}
  nav,aside,.sidebar,.topbar,.report-screen-only,.content::before{display:none!important}
  .shell,.shell.menu-open{display:block!important;width:100%!important;min-width:0!important;min-height:0!important}
  main,.content,.page-content{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important}
  .financial-statement-pack,.printable-report{width:100%!important;min-width:0!important;max-width:none!important}
  .printable-report{display:block!important;box-shadow:none!important;border:0!important;border-radius:0!important;background:#fff!important;padding:0!important;overflow:visible!important}
  .report-document-head{display:grid!important;grid-template-columns:minmax(0,1fr) 64mm!important;gap:8mm!important;margin-bottom:7mm!important;padding-bottom:4mm!important;border-color:#173f70!important;break-after:avoid;page-break-after:avoid}.report-document-head h1{font-size:20pt!important;line-height:1.1!important;color:#111!important}.report-document-head div:last-child{text-align:right!important}.report-document-head span,.report-document-head strong{overflow-wrap:anywhere}
  .statement-section,.cash-flow-section{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important;break-inside:auto!important}.statement-section h2{margin:6mm 0 2mm!important;font-size:13pt!important;color:#111!important;break-after:avoid;page-break-after:avoid}.statement-section>div,.cash-reconciliation>div{display:grid!important;grid-template-columns:minmax(0,1fr) 38mm!important;gap:8mm!important;padding:2.2mm 0!important;border-bottom:1px solid #c9c9c9!important;break-inside:avoid;page-break-inside:avoid}.statement-section>div>strong,.cash-reconciliation>div>strong{text-align:right!important;white-space:nowrap!important;font-variant-numeric:tabular-nums}.statement-section>.subtotal{border-top:1px solid #555!important;border-bottom:0!important}.statement .grand-total{margin-top:3mm!important;padding:3mm!important;border:0!important;border-radius:0!important;background:#f0f0f0!important;color:#111!important}.grid.two.statements{display:block!important}.grid.two.statements .statement-section+.statement-section{margin-top:7mm!important}.cash-flow-statement{display:block!important}.cash-flow-section+.cash-flow-section{margin-top:5mm!important}.cash-reconciliation{margin-top:6mm!important;border-top:2px solid #173f70!important}
  table{width:100%;border-collapse:collapse}thead{display:table-header-group}tfoot{display:table-footer-group}tr{break-inside:avoid}th,td{color:#111!important;border-color:#bbb!important}
  .badge{border:1px solid #777!important;background:#fff!important;color:#111!important}
  .report-balance-status{margin:0 0 5mm auto!important;padding:0!important;border:0!important;font-size:8pt!important;letter-spacing:.04em!important;text-transform:uppercase!important}.financial-statement-pack{display:block!important}.report-cover{height:269mm!important;min-height:0!important;display:flex!important;break-after:page;page-break-after:always}.report-page-break{break-before:page;page-break-before:always}.report-note{color:#333!important}.report-status{color:#333!important}.report-basis{font-size:10.5pt!important}.report-basis h1{font-size:20pt!important;margin-bottom:8mm!important}
}

/* Primary financial statements share one screen and A4/PDF presentation system. */
.report-status{margin-top:.35rem;color:#586f82;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.report-balance-status{margin:0 0 1rem auto;width:max-content}
.report-note{margin:1.25rem 0 0;color:#667d8d;font-size:.78rem;line-height:1.5;border-top:1px solid var(--line);padding-top:.85rem}
.cash-flow-statement{display:grid;gap:14px}.cash-flow-section{border:1px solid var(--line);border-radius:14px;padding:18px}.cash-flow-section:nth-of-type(1){border-left:5px solid #12836f}.cash-flow-section:nth-of-type(2){border-left:5px solid #3c82d4}.cash-flow-section:nth-of-type(3){border-left:5px solid #7d67cf}.cash-reconciliation{margin-top:.5rem;border-top:2px solid #173f70}.report-empty-line{color:var(--muted);font-style:italic}
.financial-statement-pack{display:grid;gap:24px}.report-cover{min-height:720px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.report-cover img{width:150px;height:auto;margin-bottom:2rem}.report-cover h1{font:700 2.3rem Georgia,serif;margin:.5rem 0}.report-cover dl{display:grid;grid-template-columns:auto auto;gap:.55rem 1.5rem;text-align:left;margin:2rem auto}.report-cover dt{color:var(--muted)}.report-cover dd{margin:0;font-weight:700}.report-basis{line-height:1.65}.report-basis h1{font-family:Georgia,serif}
.table-select{min-width:170px;margin:0;padding:7px 9px;font-size:.78rem}
