:root{background:#f5f5f2;color:#1f2933;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{background:#1f6f5b;border:0;border-radius:6px;color:white;cursor:pointer;padding:10px 14px}button.secondary{background:#425466}button.danger{background:#9f2f2f}button:disabled{cursor:wait;opacity:.72}input,select,textarea{border:1px solid #c8d0d8;border-radius:6px;padding:10px;width:100%}input[type=checkbox],input[type=radio]{justify-self:start;width:auto}label{display:grid;grid-gap:6px;gap:6px;font-weight:600}h1,h2,p{margin-top:0}.authShell{display:grid;min-height:100vh;padding:24px;place-items:center}.appShell{margin:0 auto;max-width:1280px;padding:32px 20px}.topbar{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.panel{background:white;border:1px solid #d9ded9;border-radius:8px;box-shadow:0 8px 24px rgb(31 41 51/8%);display:grid;grid-gap:16px;gap:16px;padding:24px;width:min(100%,440px)}.appShell .panel{width:100%}.appShell>.panel+.panel{margin-top:16px}.panel>*{min-width:0}td.wrapCell{min-width:220px;overflow-wrap:break-word;white-space:normal}td.wrapCell.narrowWrap{min-width:120px}.manualTranslationForm{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.widePanel{max-width:none}.switcher{align-items:flex-end;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) auto;max-width:560px}.moduleLinks{display:flex;flex-wrap:wrap;gap:10px}.buttonLink,.moduleLinks a,.secondaryLink{border-radius:6px;display:inline-flex;font-weight:700;padding:10px 12px;text-decoration:none}.buttonLink,.moduleLinks a{background:#1f6f5b;color:white}.secondaryLink{background:#e7ece8;color:#1f2933}.fieldGrid,.filters{display:grid;grid-gap:12px;gap:12px}.filters{align-items:flex-end;grid-template-columns:minmax(220px,1fr) 180px 160px auto}.filters input,.filters select,.filters>label{min-width:0}.numberingFilters,.productFilters{grid-template-columns:minmax(220px,1fr) 150px 150px auto}.reportFilters{grid-template-columns:180px 180px auto}.ledgerFilters{grid-template-columns:minmax(260px,1fr) 180px 180px auto}.documentFilters{grid-template-columns:minmax(150px,1.3fr) minmax(110px,.8fr) minmax(120px,.9fr) minmax(130px,1fr) minmax(120px,1fr) auto}.documentFilters .dateRange{align-items:flex-end;display:grid;grid-gap:12px;gap:12px;grid-column:1/-1;grid-template-columns:160px 160px minmax(0,1fr)}.documentFilters>button{grid-column:-2/-1;justify-self:end}.auditFilters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.auditLowImportance{min-width:220px}.auditFilterActions{align-items:center;display:flex;gap:8px}.datePresets{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:4px}.chip{background:#eef3f0;border:1px solid #d9ded9;border-radius:999px;color:#1f3a32;font-size:13px;font-weight:600;padding:6px 12px;text-decoration:none}.chip:hover{background:#dfe9e3}.chipActive{background:#1f6f5b;border-color:#1f6f5b;color:white}.paymentFilters{grid-template-columns:minmax(220px,1fr) 170px minmax(180px,1fr) auto}.payrollCreateForm{grid-template-columns:160px 180px auto;justify-content:start}.fieldGrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.fieldGrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.formGrid,.subSection{display:grid;grid-gap:18px;gap:18px}.inlineFields{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) 180px}.checkboxGrid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.checkboxLine{align-items:center;display:flex;gap:8px}.tableLike{display:grid;grid-gap:8px;gap:8px}.tableRow{align-items:center;border-bottom:1px solid #e5e9e5;display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));padding:10px 0}.actionsRow,.formHeader,.sectionHeader,.sectionTitle,.statusBar{align-items:center;display:flex;gap:16px;justify-content:space-between}.statusBar{background:#fff;border:1px solid #d9ded9;border-radius:8px;margin-bottom:16px;padding:16px}.compactActions{gap:8px;justify-content:flex-end;white-space:nowrap}.repeatBlock{border:1px solid #d9ded9;border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:14px}.mediaList{display:grid;grid-gap:10px;gap:10px}.mediaRow{align-items:center;grid-template-columns:minmax(0,1fr) auto}.editorToolbar{align-items:center;background:#eef3ef;border:1px solid #c8d0d8;border-bottom:0;border-radius:6px 6px 0 0;display:flex;flex-wrap:wrap;gap:8px;padding:8px}.editorToolbar button{min-width:38px;padding:8px 10px}.editorToolbar select{max-width:260px}.richEditor{border:1px solid #c8d0d8;border-radius:0 0 6px 6px;min-height:220px;padding:14px}.richEditor .ProseMirror{min-height:190px;outline:0}.richEditor iframe,.richEditor img{display:block;height:auto;max-width:100%}.documentLine{background:#fbfcfb}.totalsBox{border-top:1px solid #d9ded9;display:grid;grid-gap:8px;gap:8px;justify-self:end;min-width:min(100%,320px);padding-top:14px}.totalsBox div{display:flex;gap:16px;justify-content:space-between}.compactTotals{min-width:min(100%,280px)}.formButtonCell{align-self:end}.spanAll{grid-column:1/-1}.inlineForm{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:120px auto}.sectionHeader{flex-wrap:wrap}.sectionHeader .inlineForm{grid-template-columns:minmax(160px,220px) auto}.warningBox{background:#fff8e5;border:1px solid #ead38a;border-radius:8px;color:#5c4813;display:grid;grid-gap:8px;gap:8px;padding:12px}.warningBox ul{margin:0;padding-left:20px}.checkboxLabel{align-content:flex-end;align-items:center;display:flex;flex-direction:row;gap:8px;padding-bottom:10px}.checkboxLabel input{width:auto}.plainButton{background:transparent;color:#425466;justify-self:start;padding:0}.tableWrap{overflow-x:auto}.payrollShell,.wideShell{max-width:1280px}.payrollLineForm{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,minmax(96px,1fr));min-width:320px}.payrollLineForm input{min-width:0;padding:8px}.payrollTable .totalRow td{background:#f3f7f4;font-weight:700}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid #e1e5e0;padding:12px 8px;text-align:left;white-space:nowrap}th{color:#5e6b75;font-size:13px;text-transform:uppercase}td a{color:#1f6f5b;font-weight:700}.emptyCell{color:#5e6b75;text-align:center}.auditExplanation{line-height:1.5;max-width:920px}.auditTable{min-width:1040px}.auditTable td{vertical-align:top}.auditRowAi td{background:#f2f7ff}.auditActor{display:grid;grid-gap:3px;gap:3px;justify-items:start}.auditActorBadge{background:#dce9ff;border:1px solid #abc7f5;border-radius:999px;color:#234a7c;display:inline-block;font-size:12px;font-weight:700;padding:2px 7px}.auditActionCode{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;margin-top:3px;overflow-wrap:anywhere}.auditDetailsCell{min-width:110px;white-space:normal}.auditDetails summary{color:#1f6f5b;cursor:pointer;font-weight:700}.auditDetailsBody{display:grid;grid-gap:10px;gap:10px;margin-top:10px;min-width:min(480px,70vw)}.auditDetailsBody p{margin:0;overflow-wrap:anywhere}.auditJson{background:#f5f7f6;border:1px solid #d9ded9;border-radius:6px;font-size:12px;line-height:1.45;margin:5px 0 0;max-height:280px;max-width:620px;overflow:auto;padding:10px;white-space:pre-wrap}.auditPagination{align-items:center;display:flex;justify-content:space-between}.eyebrow,.muted{color:#5e6b75;margin:0}.eyebrow,.small{font-size:13px}.eyebrow{text-transform:uppercase}.error{background:#fee7e7;border:1px solid #f1a7a7;border-radius:6px;color:#8a1f1f;margin:0;padding:10px}.success{background:#e6f4ea;border:1px solid #9fd3ae;border-radius:6px;color:#1f6f5b;margin:0 0 16px;padding:10px}.fieldError{color:#8a1f1f;font-size:13px;font-weight:500}@media (max-width:640px){.fieldGrid.three,.fieldGrid.two,.filters,.formHeader,.sectionTitle,.statusBar,.switcher,.topbar{align-items:stretch;display:grid;grid-template-columns:1fr}td,th{white-space:normal}.auditDetailsBody,.auditTable{min-width:0}.auditJson{max-width:100%}}.tableGroupTitle{margin:18px 0 6px;font-size:1.05rem;color:var(--muted,#666)}.dangerText{color:#b42318}.inlineRowForm{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:4px 0}.inlineRowForm input[name=name]{flex:1 1;min-width:200px}td .inlineRowForm{flex-wrap:nowrap}.stockAdjustForm{align-items:center;display:grid;grid-gap:6px;gap:6px;grid-template-columns:56px 96px auto}.stockAdjustForm>select{grid-column:1/-1}.inlineRowForm>select:not([style]){width:auto}.inlineCheck{display:flex;gap:6px;align-items:center;white-space:nowrap}.shellLayout{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.shellContent{min-width:0;padding:0 8px}.sideNav{background:#14312a;color:#e8f2ee;display:flex;flex-direction:column;gap:10px;padding:16px 12px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.sideTop{align-items:center;display:flex;gap:8px;justify-content:space-between}.sideMenu{display:flex;flex:1 1;flex-direction:column;gap:10px}.sideMenuToggle{display:none}.srOnly{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.sideBrand{display:flex;gap:10px;align-items:center;color:inherit;text-decoration:none;padding:6px 8px}.sideBrand strong{display:block;font-size:15px;line-height:1.2}.sideBrand small{color:#9fc3b8;font-size:11px}.sideBrandMark{color:#6fd0b0;font-size:20px}.sideSwitcher{display:flex;gap:6px;padding:0 8px}.sideSwitcher select{flex:1 1;background:#1d4237;border:1px solid #2c5a4b;border-radius:6px;color:#e8f2ee;padding:6px 8px;font-size:13px}.sideSwitcher button{padding:6px 10px;background:#2c5a4b}.sideGroups{flex:1 1;display:flex;flex-direction:column;gap:4px}.sideGroup{margin-top:10px}.sideGroupTitle{margin:0 0 2px;padding:0 10px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7fa99b}.sideLink{display:block;color:#d5e6df;text-decoration:none;font-size:13.5px;padding:6px 10px;border-radius:6px}.sideLink:hover{background:#1d4237;color:#fff}.sideLinkHome{font-weight:700;color:#fff}.sideFooter{border-top:1px solid #2c5a4b;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-left:8px}.sideFooter .small,.sideProfileLink{color:#9fc3b8;font-size:12px;overflow:hidden;text-overflow:ellipsis}.sideProfileLink{text-decoration:none;white-space:nowrap}.sideProfileLink:hover{color:#fff;text-decoration:underline}.passwordReveal{background:#fff8e1;border:1px solid #f0d58a;border-radius:8px;margin-bottom:12px;padding:10px 12px}.passwordReveal p{margin:0 0 6px}.passwordReveal code{font-size:18px;letter-spacing:.04em;-webkit-user-select:all;-moz-user-select:all;user-select:all}.roleHelp{display:grid;grid-gap:4px;gap:4px;margin:0;padding-left:18px}.sideLogout{background:transparent;border:1px solid #2c5a4b;color:#d5e6df;padding:5px 10px;font-size:12.5px}.sideLogout:hover{background:#9f2f2f;border-color:#9f2f2f}.topbarActions{display:flex;gap:10px;align-items:center}.kpiGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:14px;gap:14px;margin:4px 0 18px}.kpiCard{background:#fff;border:1px solid #e3e8e5;border-radius:10px;padding:14px 16px;text-decoration:none;color:inherit;box-shadow:0 1px 2px rgba(20,49,42,.06)}.kpiCard:hover{border-color:#1f6f5b}.kpiCard.kpiAlert{border-left:4px solid #b3372c}.kpiLabel{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#5d6b66}.kpiValue{margin:6px 0 2px;font-size:26px;font-weight:700;color:#14312a}.kpiHint{margin:0;font-size:12.5px;color:#7a8681}.dashColumns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));grid-gap:14px;gap:14px}.dashColumns>.panel{align-content:start;min-width:0}.panelHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.panelHead h2{margin:0;font-size:16px}.cleanTable{width:100%;border-collapse:collapse;font-size:13.5px}.cleanTable td{padding:8px 6px;border-bottom:1px solid #eef1ef}.cleanTable .cleanTableName{white-space:normal}.cleanTable .numberCell{text-align:right}.cleanTable tr:last-child td{border-bottom:0}.statusChip{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11.5px;background:#eef1ef;color:#40514b;white-space:nowrap}.statusChip.status-approved,.statusChip.status-paid,.statusChip.status-posted{background:#dff0e7;color:#1f6f5b}.statusChip.status-awaiting_payment,.statusChip.status-draft{background:#fdf3d7;color:#8a6d1a}.statusChip.status-awaiting_approval,.statusChip.status-needs_review{background:#fde4d7;color:#a04b1a}.statusChip.status-cancelled,.statusChip.status-rejected{background:#f6dddb;color:#9f2f2f}@media (max-width:1200px){.documentFilters,.ledgerFilters,.paymentFilters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media (max-width:900px){.documentFilters .dateRange,.shellLayout{grid-template-columns:1fr}.shellLayout{align-content:start}.sideNav{height:auto;max-height:100vh;padding:8px 10px;position:-webkit-sticky;position:sticky;z-index:50}.sideMenuToggle{background:#2c5a4b;display:block;font-size:20px;line-height:1;padding:8px 12px}.sideMenu{display:none}.sideNavOpen .sideMenu{display:flex;padding-bottom:8px}.shellContent{padding:0}.appShell{padding:20px 12px}}@media (max-width:640px){.appShell .panel{padding:16px 14px}.topbar h1{font-size:26px}.formHeader,.topbar{justify-items:start}.topbarActions{flex-wrap:wrap}h1{overflow-wrap:anywhere}.formHeader>*{min-width:0}.inlineCheck{white-space:normal}td .inlineRowForm{flex-wrap:wrap}.formGrid>*,.inlineRowForm>*{max-width:100%;min-width:0}.tableWrap table.stackTable,.tableWrap table.stackTable tbody,.tableWrap table.stackTable tfoot{display:block}.tableWrap table.stackTable thead{display:none}.tableWrap table.stackTable tr{border-bottom:1px solid #d9ded9;display:block;padding:8px 0}.tableWrap table.stackTable td{border:0;display:flow-root;min-width:0;overflow-wrap:anywhere;padding:4px 0;text-align:left;white-space:normal}.tableWrap table.stackTable td[data-label]{padding-left:122px}.tableWrap table.stackTable td[data-label]:before{color:#5e6b75;content:attr(data-label);float:left;font-size:11.5px;font-weight:600;line-height:1.3;margin-left:-122px;padding-top:3px;text-transform:uppercase;width:112px}.journalLinesTable thead,.tableWrap table.stackTable td:empty{display:none}.journalLinesTable,.journalLinesTable tbody{display:block}.journalLinesTable tr{border-bottom:1px solid #e1e5e0;display:grid;grid-gap:6px;gap:6px;grid-template-columns:1fr 1fr;padding:8px 0}.journalLinesTable td{border:0;padding:0}.journalLinesTable td:first-child{grid-column:1/-1}.journalLinesTable select{width:100%}.tableWrap table.stackTable td .inlineRowForm{flex-wrap:wrap}.tableWrap table.stackTable td .stockAdjustForm{grid-template-columns:64px minmax(0,1fr) auto}.cleanTable,.cleanTable tbody{display:block}.cleanTable tr{border-bottom:1px solid #eef1ef;display:flex;flex-wrap:wrap;gap:2px 10px;padding:8px 0}.cleanTable td{border:0;padding:0}.cleanTable .cleanTableName{flex-basis:100%;order:3}}.brandingRow{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:8px}.brandingBox{display:flex;flex-direction:column;gap:8px}.brandingPreview{width:240px;height:90px;border:1px solid #e3e8e5;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#14312a;padding:8px}.brandingPreview.brandingLight{background:#fff}.brandingPreview img{max-width:100%;max-height:100%;object-fit:contain}.navProgress{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;transform:scaleX(0);transform-origin:0 50%;opacity:0;pointer-events:none;background:linear-gradient(90deg,#2563eb,#60a5fa);box-shadow:0 0 8px rgba(37,99,235,.5)}.navProgress.active{opacity:1;animation:navProgressGrow 8s cubic-bezier(.1,.7,.3,1) forwards}@keyframes navProgressGrow{0%{transform:scaleX(.04)}25%{transform:scaleX(.45)}55%{transform:scaleX(.72)}80%{transform:scaleX(.88)}to{transform:scaleX(.97)}}.routeLoading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:55vh;color:#64748b;font-size:15px}.routeSpinner{width:22px;height:22px;border:3px solid rgba(37,99,235,.2);border-top-color:#2563eb;border-radius:50%;animation:spin .7s linear infinite}.btnSpinner{display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:spin .6s linear infinite}button[data-pending]{cursor:progress;opacity:.8}@keyframes spin{to{transform:rotate(1turn)}}.successNote{background:#e7f6ec;color:#1c7a3f}.errorNote,.successNote{border-radius:8px;padding:10px 12px;font-size:14px;margin-bottom:12px}.errorNote{background:#fdecea;color:#a33}.passwordInputRow,.passwordRevealRow{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.passwordInputRow input{flex:1 1 200px;min-width:0}