:root{--ink:#1f2433;--muted:#657084;--line:#dfe4ec;--surface:#fff;--canvas:#f5f6f9;--purple:#604f86;--blue:#0591d6;--green:#78ad3d;--orange:#f36724;--shadow:0 18px 55px #262b3f14}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--ink);background:radial-gradient(circle at 92% 8%, #604f8617, transparent 30rem), var(--canvas);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}.app-shell{width:min(1180px,100% - 40px);margin:0 auto;padding:24px 0 56px}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:14px 4px 22px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-link{color:inherit;text-decoration:none}.brand-logo{object-fit:contain;width:58px;height:58px}.brand h1,.intro h2,.flow-card h2,.module-card h3{letter-spacing:-.025em;margin:0}.brand h1{margin-top:3px;font-size:1.4rem}.eyebrow{color:var(--purple);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.tenant-chip{min-width:120px;color:inherit;background:#ffffffbf;border:1px solid #604f8640;border-radius:12px;gap:2px;padding:10px 14px;text-decoration:none;display:grid}.header-controls{align-items:stretch;gap:10px;display:flex}.header-nav{align-items:center;gap:4px;display:flex}.header-nav a,.back-link{color:var(--purple);font-size:.82rem;font-weight:700;text-decoration:none}.header-nav a{border-radius:8px;padding:10px}.header-nav a:hover{background:#604f8614}.header-action,.primary-button,.text-button{cursor:pointer;border:0}.header-action{color:var(--purple);border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:0 14px;font-size:.82rem;font-weight:700}.header-action:disabled,.primary-button:disabled,.text-button:disabled{cursor:wait;opacity:.6}.tenant-chip span,.foundation-status span,.foundation-status small{color:var(--muted);font-size:.76rem}.intro{grid-template-columns:minmax(0,1fr) 250px;align-items:end;gap:40px;padding:64px 0 42px;display:grid}.intro h2{max-width:730px;margin-top:10px;font-size:clamp(2rem,5vw,3.65rem);line-height:1.02}.intro p:not(.eyebrow){max-width:700px;color:var(--muted);margin:18px 0 0;font-size:1.05rem;line-height:1.65}.foundation-status{border-left:4px solid var(--purple);background:var(--surface);box-shadow:var(--shadow);border-radius:4px 14px 14px 4px;gap:5px;padding:18px;display:grid}.foundation-status strong{color:var(--purple);font-size:1.25rem}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.module-card,.flow-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}.module-card{min-height:230px;color:inherit;border-radius:18px;padding:24px;text-decoration:none;position:relative;overflow:hidden}.module-card:before{content:"";background:var(--accent);height:5px;position:absolute;inset:0 0 auto}.module-card.blue{--accent:var(--blue)}.module-card.green{--accent:var(--green)}.module-card.orange{--accent:var(--orange)}.module-code{color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 28%, white);letter-spacing:.1em;border-radius:8px;padding:6px 9px;font-size:.72rem;font-weight:800;display:inline-flex}.module-card h3{margin-top:25px;font-size:1.45rem}.module-card p{color:var(--muted);margin:10px 0 24px;line-height:1.55}.module-state{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:700;position:absolute;bottom:22px}.flow-card{border-radius:18px;margin-top:20px;padding:28px}.flow-card h2{margin-top:7px;font-size:1.7rem}.flow{border:1px solid var(--line);background:var(--line);border-radius:12px;grid-template-columns:repeat(6,minmax(90px,1fr));gap:1px;margin:28px 0 0;padding:0;list-style:none;display:grid;overflow:hidden}.flow li{background:#fafbfc;align-content:center;gap:4px;min-height:98px;padding:14px;display:grid}.flow li span,.flow li small{color:var(--muted);font-size:.7rem}.flow li.optional{background:#fff9f3}.auth-shell{place-items:center;min-height:100vh;padding:32px 18px;display:grid}.auth-panel{border:1px solid var(--line);width:min(100%,560px);box-shadow:var(--shadow);background:#fffffff0;border-radius:22px;padding:clamp(28px,6vw,48px)}.auth-brand{align-items:center;gap:18px;display:flex}.auth-brand img{object-fit:contain;flex:none}.auth-brand h1{letter-spacing:-.035em;margin:5px 0 0;font-size:clamp(1.55rem,4vw,2.15rem)}.auth-intro{color:var(--muted);margin:26px 0;line-height:1.6}.auth-form{gap:10px;display:grid}.auth-form label,.auth-form legend{font-size:.84rem;font-weight:700}.auth-form>input{width:100%;min-height:48px;color:var(--ink);background:#fff;border:1px solid #cbd2de;border-radius:10px;outline:none;padding:10px 13px}.auth-form>input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #604f861f}.field-hint,.auth-security-note{color:var(--muted);font-size:.78rem;line-height:1.5}.field-hint{margin:0 0 8px}.auth-security-note{border-top:1px solid var(--line);text-align:center;margin:25px 0 0;padding-top:18px}.auth-message,.auth-error{border-radius:9px;margin-bottom:8px;padding:11px 13px;font-size:.82rem;line-height:1.45}.auth-message{color:#335813;background:#eef7e5}.auth-error{color:#8b2929;background:#fff0f0}.primary-button{color:#fff;background:var(--purple);border-radius:10px;min-height:48px;padding:10px 18px;font-weight:700}.text-button{color:var(--purple);background:0 0;padding:8px;font-size:.82rem;font-weight:700}.company-form fieldset{border:0;margin:0;padding:0}.company-form legend{margin-bottom:10px}.company-options{gap:9px;display:grid}.company-option{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:14px;display:flex}.company-option:has(input:checked){border-color:var(--purple);background:#604f860f}.company-option span{gap:3px;display:grid}.company-option small{color:var(--muted)}.page-heading{padding:52px 0 30px}.page-heading h2{letter-spacing:-.035em;margin:8px 0 10px;font-size:clamp(2rem,5vw,3.2rem)}.page-heading>p:not(.eyebrow){max-width:720px;color:var(--muted);margin:0;line-height:1.6}.compact-heading{padding-bottom:24px}.compact-heading .back-link{margin-bottom:28px;display:inline-block}.master-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.master-card{min-height:190px;color:inherit;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;padding:24px;text-decoration:none}.master-card h3{margin:0;font-size:1.3rem}.master-card p{min-height:52px;color:var(--muted);line-height:1.55}.master-card span{color:var(--purple);text-transform:uppercase;font-size:.8rem;font-weight:800}.create-panel,.data-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:16px}.create-panel{margin-bottom:20px;overflow:hidden}.create-panel summary{cursor:pointer;color:var(--purple);padding:18px 22px;font-weight:800}.master-form{border-top:1px solid var(--line);gap:24px;padding:6px 22px 24px;display:grid}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:20px;display:grid}.master-form label{color:var(--muted);gap:7px;font-size:.76rem;font-weight:700;display:grid}.master-form input{min-width:0;min-height:42px;color:var(--ink);border:1px solid #cbd2de;border-radius:8px;outline:none;padding:9px 11px}.master-form select{min-width:0;min-height:42px;color:var(--ink);background:#fff;border:1px solid #cbd2de;border-radius:8px;padding:9px 11px}.form-note{color:var(--muted);margin:18px 0 -7px;font-size:.8rem;line-height:1.5}.product-form-stack{gap:12px;margin-bottom:20px;display:grid}.product-form-stack .create-panel{margin-bottom:0}.two-data-panels{gap:20px;display:grid}.financial-year-panel{margin-bottom:20px}.master-form input:focus{border-color:var(--purple);box-shadow:0 0 0 3px #604f861a}.products-heading,.data-panel-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.products-heading h3,.data-panel-heading h3{margin:0}.products-heading p{color:var(--muted);margin:5px 0 0;font-size:.8rem}.secondary-button,.remove-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;font-weight:700}.secondary-button{color:var(--purple);padding:9px 13px}.product-rows{gap:9px;display:grid}.product-row{background:#f8f9fb;border-radius:10px;grid-template-columns:28px 1fr 1.6fr 1fr auto;align-items:end;gap:10px;padding:12px;display:grid}.product-row>span{color:var(--muted);align-self:center;font-size:.78rem;font-weight:800}.remove-button{color:#8b2929;min-height:42px;padding:8px 10px}.form-submit{justify-self:start;min-width:170px}.data-panel{overflow:hidden}.data-panel-heading{border-bottom:1px solid var(--line);padding:20px 22px}.data-panel-heading span{color:var(--muted);font-size:.78rem}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:13px 16px}th{color:var(--muted);text-transform:uppercase;background:#fafbfc;font-size:.72rem}td{font-size:.86rem}.status-pill{border-radius:999px;padding:4px 7px;font-size:.7rem;font-weight:800;display:inline-flex}.status-pill.active{color:#335813;background:#eef7e5}.status-pill.inactive{color:#6c7480;background:#edf0f4}.status-pill.draft{color:#745019;background:#fff4da}.status-action{gap:4px;display:grid}.status-action small{color:#8b2929;white-space:normal;max-width:180px}.status-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;padding:6px 9px;font-size:.72rem;font-weight:700}.status-button.deactivate{color:#8b2929}.status-button.reactivate,.status-button.approve{color:#335813}.status-button:disabled{cursor:wait;opacity:.6}.empty-state{color:var(--muted);text-align:center;margin:0;padding:40px 22px}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.summary-panel{min-width:0}.compact-list{max-height:310px;margin:0;padding:0;list-style:none;overflow-y:auto}.compact-list li{border-bottom:1px solid var(--line);gap:3px;padding:11px 16px;display:grid}.compact-list strong{color:var(--purple);font-size:.78rem}.compact-list span{color:var(--muted);font-size:.78rem}.organisation-create{margin-top:0}.section-fieldset{border:0;margin:0;padding:0}.section-fieldset legend{font-weight:800}.section-fieldset>p{color:var(--muted);margin:5px 0 12px;font-size:.78rem}.checkbox-grid{flex-wrap:wrap;gap:8px;display:flex}.checkbox-grid label{border:1px solid var(--line);cursor:pointer;background:#fafbfc;border-radius:8px;align-items:center;gap:8px;padding:9px 11px;display:flex}.checkbox-grid input{min-height:auto}.workflow-step-list{gap:8px;display:grid}.workflow-step-row{background:#f8f9fb;border-radius:9px;grid-template-columns:28px 65px minmax(130px,1fr) minmax(150px,auto) 145px;align-items:center;gap:10px;padding:10px 12px;display:grid}.workflow-step-row>span:first-child{color:var(--muted);font-size:.75rem}.workflow-step-row>strong{color:var(--purple)}.workflow-step-row>small{color:var(--muted)}.workflow-step-row .inline-check{grid-template-columns:auto 1fr;align-items:center;display:flex}.workflow-step-row .inline-check input{min-height:auto}.percentage-total{border-radius:8px;justify-self:start;padding:9px 12px;font-size:.8rem}.percentage-total.valid{color:#335813;background:#eef7e5}.percentage-total.invalid{color:#8b2929;background:#fff0f0}.bom-component-row{background:#f8f9fb;border-radius:10px;grid-template-columns:28px minmax(220px,2fr) minmax(105px,.7fr) minmax(90px,.55fr) minmax(125px,.8fr) auto;align-items:end;gap:10px;padding:12px;display:grid}.bom-component-row>span{color:var(--muted);align-self:center;font-size:.78rem;font-weight:800}td small{color:var(--muted)}.status-pill.submitted{color:#1b5e79;background:#e7f6fc}.status-pill.approved,.status-pill.posted{color:#335813;background:#eef7e5}.status-pill.rejected,.status-pill.cancelled,.status-pill.reversed{color:#8b2929;background:#fff0f0}.stor-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.stor-kpis article{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;gap:6px;padding:19px;display:grid}.stor-kpis span,.stor-kpis small{color:var(--muted);font-size:.75rem}.stor-kpis strong{font-size:1.3rem}.stor-header-fields .wide-field{grid-column:span 2}.stor-line-row{background:#f8f9fb;border-radius:10px;grid-template-columns:28px minmax(260px,2fr) minmax(120px,.8fr) minmax(150px,1fr) auto;align-items:end;gap:10px;padding:12px;display:grid}.stor-line-row.without-cost{grid-template-columns:28px minmax(280px,2fr) minmax(140px,.8fr) auto}.stor-line-row>span{color:var(--muted);align-self:center;font-size:.78rem;font-weight:800}.stor-line-row select{background:#fff;border:1px solid #cbd2de;border-radius:8px;min-height:42px;padding:9px 11px}.adjustment-line-row{background:#f8f9fb;border-radius:10px;grid-template-columns:28px minmax(260px,2fr) minmax(150px,.8fr) minmax(110px,.6fr) minmax(130px,.7fr) auto;align-items:end;gap:10px;padding:12px;display:grid}.adjustment-line-row>span{color:var(--muted);align-self:center;font-size:.78rem;font-weight:800}.adjustment-line-row select{background:#fff;border:1px solid #cbd2de;border-radius:8px;min-height:42px;padding:9px 11px}.wrapping-cell{white-space:normal;max-width:280px}.ledger-panel{margin-bottom:20px}.reconciliation-banner{border:1px solid;border-radius:12px;margin-bottom:20px;padding:16px 20px}.reconciliation-banner div{justify-content:space-between;gap:20px;display:flex}.reconciliation-banner span{font-size:.8rem}.reconciliation-banner.balanced{color:#335813;background:#eef7e5;border-color:#cde5b4}.reconciliation-banner.variance{color:#8b2929;background:#fff0f0;border-color:#f0caca}.positive-number{color:#335813}.negative-number{color:#8b2929}.transaction-actions,.document-links{gap:6px;display:flex}.document-links{margin-top:5px}.document-links a,.print-toolbar a{color:var(--purple);font-weight:700;text-decoration:none}.print-document{width:min(1000px,100% - 40px);box-shadow:var(--shadow);background:#fff;margin:28px auto;padding:40px}.print-toolbar{justify-content:space-between;margin-bottom:24px;display:flex}.document-header{border-bottom:3px solid var(--blue);grid-template-columns:74px 1fr auto;align-items:center;gap:18px;padding-bottom:20px;display:grid}.document-company h1,.document-title h2{margin:0}.document-company p{color:var(--muted);margin:4px 0 0;font-size:.78rem}.document-title{text-align:right}.document-title strong{color:var(--blue);margin-top:8px;font-size:.75rem;display:inline-block}.document-meta,.document-signatures{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.document-meta div,.document-signatures div{gap:5px;display:grid}.document-meta span,.document-signatures span{color:var(--muted);text-transform:uppercase;font-size:.68rem;font-weight:700}.document-meta strong,.document-signatures strong{font-size:.84rem}.document-table tfoot td{text-align:right;font-weight:800}.document-remarks,.document-footer{color:var(--muted);font-size:.78rem}.document-signatures{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:50px;padding-top:18px}.document-footer{text-align:center;margin-top:30px}@media print{body{background:#fff}.print-document{width:100%;box-shadow:none;margin:0;padding:20px}.print-toolbar{display:none}}.table-link{color:var(--purple);text-decoration:none}.table-link:hover{text-decoration:underline}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px;display:grid}.detail-grid article{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:5px;padding:15px;display:grid}.detail-grid span{color:var(--muted);text-transform:uppercase;font-size:.72rem}.detail-grid strong{overflow-wrap:anywhere;font-size:.86rem}.standalone-check{grid-template-columns:auto 1fr;align-self:end;align-items:center;min-height:42px;display:flex!important}.standalone-check input{min-height:auto}@media (max-width:820px){.intro,.module-grid,.master-grid,.summary-grid,.form-grid,.stor-kpis{grid-template-columns:1fr}.product-row,.stor-line-row,.stor-line-row.without-cost,.adjustment-line-row{grid-template-columns:24px 1fr}.stor-line-row>:not(:first-child),.adjustment-line-row>:not(:first-child){grid-column:2}.stor-header-fields .wide-field{grid-column:auto}.workflow-step-row,.bom-component-row{grid-template-columns:24px 1fr}.product-row label,.product-row .remove-button,.workflow-step-row>:not(:first-child),.bom-component-row>:not(:first-child){grid-column:2}.intro{padding-top:42px}.flow{grid-template-columns:repeat(3,1fr)}}@media (max-width:520px){.app-shell{width:min(100% - 24px,1180px)}.app-header{align-items:flex-start}.header-controls{display:grid}.header-nav{grid-column:1/-1}.tenant-chip{min-width:auto}.brand-logo{width:46px;height:46px}.flow{grid-template-columns:repeat(2,1fr)}}
