/* Scoped owner experience. Existing accounting and module layouts stay intact. */
html:has(.onboarding-dialog[open],.company-dialog[open]){overflow:hidden}
.page[data-page="platform"]{--company-muted:#58665f;--company-border:#dfe5e1}
.company-toolbar h2{font-size:20px;letter-spacing:-.02em;margin:0 0 7px}
.company-toolbar p{color:var(--company-muted);font-size:14px}
.company-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:25px 0}
.company-stat{padding:20px 24px;background:white;border:1px solid var(--company-border);border-radius:16px;display:grid;gap:10px}
.company-stat span{font-size:13px;color:var(--company-muted)}
.company-stat strong{font-size:30px;letter-spacing:-.04em;font-weight:650}
.company-directory-panel{background:white;border:1px solid var(--company-border);border-radius:18px;overflow:hidden;box-shadow:0 5px 18px rgba(20,45,35,.025)}
.company-filters{display:grid;grid-template-columns:minmax(240px,1.7fr) repeat(3,minmax(130px,1fr));gap:12px;padding:22px 24px 12px}
.company-filters label{display:grid;gap:8px;margin:0;font-size:12px;font-weight:600;color:var(--company-muted);min-width:0}
.company-filters input,.company-filters select{margin:0;min-height:44px;font-size:13px;min-width:0;width:100%;border:1px solid var(--company-border);border-radius:9px;padding:10px 12px;background:#fff}
.company-directory-caption{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px 12px;color:var(--company-muted);font-size:12px}
.company-text-button{background:none;border:0;color:var(--green);font-size:13px;font-weight:600;padding:10px;cursor:pointer;border-radius:8px}
.company-text-button:hover{background:#edf5f0}
.company-directory{display:grid}
.company-row{display:grid;grid-template-columns:minmax(210px,1.4fr) minmax(160px,1.2fr) minmax(145px,.8fr) auto;align-items:center;gap:20px;border-top:1px solid #edf0ee;padding:20px 24px}
.company-row:hover{background:#fafcfb}
.company-identity{display:flex;align-items:center;gap:12px;min-width:0}
.company-avatar{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:12px;background:#eaf2ee;color:#286446;font-size:13px;font-weight:700}
.company-identity>div{min-width:0}
.company-identity h3{font-size:15px;line-height:1.4;letter-spacing:-.015em;margin:0;font-weight:650;overflow-wrap:anywhere}
.company-identity p{font-size:12px;color:var(--company-muted);margin:5px 0 0;overflow-wrap:anywhere}
.company-module-tags{display:flex;gap:5px;flex-wrap:wrap;min-width:0}
.company-module-tag{font-size:11px;line-height:1.4;padding:4px 8px;border-radius:6px;background:#f2f5f3;color:#4f5e56;overflow-wrap:anywhere}
.company-row-status{display:grid;justify-items:start;gap:7px}
.company-row-status small{font-size:11px;color:var(--company-muted)}
.company-status{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:7px;font-size:11px;font-weight:600;line-height:1.4;width:fit-content;flex-shrink:0}
.company-status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.company-status.positive{color:#176241;background:#e9f5ee}
.company-status.warning{color:#805315;background:#fff5df}
.company-status.neutral{color:#5b6260;background:#eff1f0}
.company-open{border:1px solid #dce5df;border-radius:9px;background:white;color:#225b40;font-size:12px;font-weight:650;cursor:pointer;min-height:40px;padding:8px 14px}
.company-open:hover{border-color:#93b6a2;background:#edf5f0}
.company-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;border-top:1px solid var(--company-border);font-size:12px;color:var(--company-muted)}
.company-pagination>div{display:flex;gap:8px}
.company-empty{text-align:center;padding:52px 22px 48px;max-width:500px;justify-self:center}
.company-empty-icon{display:grid;place-items:center;background:#eef5f1;color:#276b49;width:52px;height:52px;margin:0 auto 18px;border-radius:15px;font-size:26px}
.company-empty h3{font-size:18px;letter-spacing:-.02em;margin:0 0 10px}
.company-empty p{font-size:14px;line-height:1.6;color:var(--company-muted);margin-bottom:20px}
.company-audit-details{margin:22px 0 0;border:1px solid var(--company-border);background:white;border-radius:13px}
.company-audit-details>summary{padding:17px 20px;font-size:13px;font-weight:600;cursor:pointer}
.company-audit-details #platform-audit{padding:0 20px 18px}
.company-platform-note{font-size:12px;line-height:1.6;color:#58665f;margin:16px 0}
.company-directory-panel #platform-error{padding:0 24px;margin:0}
.company-directory-panel #platform-error:empty{display:none}
.company-dialog,.onboarding-dialog{--muted:#58665f;width:min(740px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #e1e7e3;box-shadow:0 24px 90px rgba(12,30,21,.2)}
.onboarding-dialog form{padding:28px 32px 0}
.onboarding-dialog .dialog-head h2,.company-dialog h2{font-size:24px;letter-spacing:-.03em;font-weight:650;line-height:1.25;overflow-wrap:anywhere}
.onboarding-dialog .dialog-head{gap:16px}
.onboarding-dialog .dialog-head .icon{flex-shrink:0}
.onboarding-dialog .eyebrow,.company-dialog .eyebrow{font-size:10px;color:#537462;letter-spacing:.12em;margin-bottom:7px}
.onboarding-steps{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;margin:25px 0 28px;gap:5px}
.onboarding-steps li{position:relative;min-width:0}
.onboarding-steps li:not(:last-child):after{position:absolute;content:"";top:16px;left:calc(50% + 21px);right:calc(-50% + 21px);height:1px;background:#dfe7e2}
.onboarding-steps button{display:grid;justify-items:center;gap:8px;width:100%;border:0;background:transparent;padding:0 0 4px;cursor:pointer;color:#637069;position:relative;z-index:1;opacity:1}
.onboarding-steps button span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:white;border:1px solid #d7e0da;font-size:12px;font-weight:650}
.onboarding-steps button b{font-size:10px;font-weight:550;max-width:100%;overflow-wrap:anywhere}
.onboarding-steps .current button{color:#176b4a}
.onboarding-steps .current span{background:#176b4a;border-color:#176b4a;color:white;box-shadow:0 0 0 4px #eaf3ee}
.onboarding-steps .complete span{background:#eaf3ee;color:#176b4a;border-color:#b9d2c2}
.onboarding-steps button:disabled{cursor:default;color:#69746f}
.onboarding-panel{min-height:290px;padding-bottom:16px}
.onboarding-panel h3{margin:0 0 10px;font-size:22px;font-weight:600;letter-spacing:-.03em;line-height:1.35;outline:none}
.onboarding-description{margin:0 0 25px;color:#58665f;font-size:14px;line-height:1.6;max-width:570px}
.onboarding-dialog label{font-size:13px;font-weight:600;color:#293e32}
.onboarding-dialog input,.onboarding-dialog select{min-height:46px;font-size:14px;width:100%;border:1px solid #d9e2dc;background:white;border-radius:10px;margin-top:8px}
.onboarding-dialog input:focus,.onboarding-dialog select:focus{border-color:#579a76;box-shadow:0 0 0 3px #eaf4ed;outline:none}
.onboarding-hint{font-size:12px;color:#58665f;line-height:1.5;margin:8px 0 20px}
.onboarding-password{display:flex;align-items:center;gap:8px;position:relative;margin-top:8px;flex-wrap:wrap}
.onboarding-password input{margin-top:0;padding-right:90px}
.onboarding-password button{position:absolute;top:5px;right:5px;min-height:36px;border:0;background:#f0f5f2;color:#285c40;font-size:12px;font-weight:600;padding:7px 11px;border-radius:7px;cursor:pointer}
.onboarding-password .field-error{width:100%}
.field-error{display:block;color:#a13636;font-size:12px;line-height:1.5;font-weight:400;margin-top:7px}
.field-error:empty{display:none}
.onboarding-dialog [aria-invalid="true"]{border-color:#b94c4c}
.onboarding-module-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.onboarding-module-list .module-setting{padding:15px;margin:0!important;cursor:pointer;align-items:flex-start;min-width:0;background:white}
.onboarding-module-list .module-setting:has(input:checked){border-color:#5b9b77;background:#f1f8f3;box-shadow:0 0 0 1px #5b9b77}
.onboarding-module-list input{min-height:20px;max-height:20px;margin:1px 0 0;accent-color:#176b4a}
.onboarding-module-list b{font-size:13px;line-height:1.4}
.onboarding-module-list small{font-size:11px;color:#58665f;line-height:1.5}
.company-callout{display:grid;gap:7px;border:1px solid #e0ebe3;border-radius:12px;background:#f5f9f6;padding:16px 18px;margin:25px 0 10px;font-size:13px;color:#3a5545;line-height:1.6}
.company-callout span{font-size:12px;color:#58665f}
.onboarding-sources label{display:grid;grid-template-columns:minmax(0,1fr) 200px;align-items:center;gap:15px;padding:12px 0;border-bottom:1px solid #edf0ee;margin:0}
.onboarding-sources select{margin:0}
.onboarding-dialog .platform-fieldset{border:0;padding:0;margin:24px 0 15px}
.onboarding-dialog .platform-fieldset legend{font-size:15px;font-weight:600;padding:0}
.onboarding-dialog .muted{font-size:12px;line-height:1.6}
.onboarding-dialog .onboarding-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;margin:12px 0 0;position:sticky;bottom:0;background:white;border-top:1px solid #e4eae6;z-index:3}
.onboarding-footer>span{font-size:12px;color:#58665f;white-space:nowrap}
.onboarding-dialog .onboarding-footer>span{display:block}
.onboarding-footer>div{display:flex;gap:8px;align-items:center}
.onboarding-footer button.primary{width:auto;margin:0;min-height:44px;box-shadow:none}
.onboarding-footer button.secondary{min-height:44px}
.company-dialog-frame{padding:28px 32px}
.company-dialog .dialog-head{gap:16px;align-items:flex-start}
.company-dialog .dialog-head .icon{flex-shrink:0}
.company-success-symbol{display:grid;place-items:center;background:#e8f4ed;color:#176b4a;width:48px;height:48px;border-radius:15px;font-size:24px}
.company-dialog #company-success-title{margin:22px 0 7px;outline:none}
.company-success-name{font-size:15px;color:#58665f;margin:0 0 25px;overflow-wrap:anywhere}
.company-info{display:grid;margin:22px 0;background:#f8faf8;border:1px solid #e4eae6;border-radius:12px;padding:4px 16px}
.company-definition{display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;padding:13px 0;border-bottom:1px solid #e7ece9;font-size:13px;line-height:1.5}
.company-definition:last-child{border-bottom:0}
.company-definition dt{color:#58665f}
.company-definition dd{margin:0;font-weight:550;overflow-wrap:anywhere}
.company-detail-section{margin:24px 0}
.company-detail-section h3{font-size:15px;margin:0 0 14px}
.company-detail-modules{padding:0;margin:0;list-style:none}
.company-detail-modules li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #edf0ee;font-size:13px;line-height:1.5}
.company-detail-modules li>div{display:grid;gap:5px}
.company-detail-modules small{color:#58665f;font-size:12px}
.company-next-steps{padding-left:19px;font-size:13px;color:#43554a;line-height:1.7}
.company-next-steps li{margin:7px 0}
.company-detail-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.company-detail-actions button{font-size:12px;min-height:42px}
.company-overview-status{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px;font-size:12px}
.company-instructions{border:1px solid #dfe6e1;border-radius:12px;padding:15px 17px;font-size:13px}
.company-instructions summary{cursor:pointer;font-weight:600}
.company-instructions label{font-size:12px;margin-top:17px;color:#58665f}
.company-instructions textarea{width:100%;resize:vertical;min-height:150px;font-size:13px;line-height:1.6;margin-bottom:12px}
.company-instructions p{font-size:12px;color:#176b4a;line-height:1.5}
.company-instructions p:empty{display:none}
.company-dialog-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:18px;margin-top:20px;border-top:1px solid #e4eae6}
.company-dialog-actions button{min-height:44px;font-size:13px;width:auto;margin:0}
.company-dialog-actions .primary{width:auto;margin:0;box-shadow:none}
.company-discard-dialog{max-width:470px}
.company-discard-dialog p{font-size:14px;line-height:1.6;color:#58665f}
.company-discard-dialog .company-dialog-actions{flex-direction:column-reverse}
.company-discard-dialog button{width:100%}
.company-directory-panel button:disabled,.onboarding-dialog button:disabled{opacity:.55;cursor:default}
.onboarding-steps button:disabled{opacity:1}
.company-directory-panel input:focus-visible,.company-directory-panel select:focus-visible,.company-directory-panel button:focus-visible,.company-dialog button:focus-visible,.company-dialog summary:focus-visible,.onboarding-dialog button:focus-visible{outline:3px solid #78aa8c;outline-offset:3px}
.iiko-platform-details{margin:18px 0;color:#58665f;font-size:12px;line-height:1.6}
.iiko-platform-details summary{cursor:pointer;font-weight:600}
#iiko-settings-dialog{--muted:#58665f}
@media(max-width:1150px){
 .company-filters{grid-template-columns:minmax(200px,1.5fr) minmax(140px,1fr)}
 .company-row{grid-template-columns:minmax(180px,1.4fr) minmax(140px,1fr) auto;gap:15px}
 .company-row-status{grid-column:2;grid-row:1;align-self:start;justify-self:end}
 .company-module-tags{grid-column:1/3;grid-row:2}
 .company-row .company-open{grid-column:3;grid-row:1/3}
}
@media(max-width:650px){
 .company-toolbar{flex-direction:column}
 .company-toolbar .toolbar-actions{width:100%;justify-content:flex-start}
 .company-toolbar .primary{flex:1}
 .company-stats{gap:8px;margin:18px 0}
 .company-stat{padding:15px 12px;border-radius:12px;gap:8px}
 .company-stat span{font-size:11px;line-height:1.4;min-height:30px}
 .company-stat strong{font-size:24px}
 .company-filters{grid-template-columns:1fr 1fr;gap:12px;padding:18px 16px 10px}
 .company-search-label{grid-column:1/-1}
 .company-filters label:last-child{grid-column:1/-1}
 .company-directory-caption{padding:0 16px 12px;align-items:flex-start}
 .company-row{padding:18px 16px;grid-template-columns:minmax(0,1fr) auto;gap:12px}
 .company-identity{grid-column:1/-1}
 .company-module-tags{grid-column:1/-1;grid-row:2}
 .company-row-status{grid-column:1;grid-row:3;justify-self:start}
 .company-row .company-open{grid-column:2;grid-row:3;min-height:42px}
 .company-avatar{width:38px;flex-basis:38px;height:38px}
 .company-pagination{padding:15px 16px;flex-wrap:wrap}
 .company-pagination button{padding:9px 12px}
 .company-dialog,.onboarding-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:16px}
 .company-dialog-frame,.onboarding-dialog form{padding:21px 18px}
 .onboarding-dialog form{padding-bottom:0}
 .onboarding-dialog .dialog-head h2,.company-dialog h2{font-size:22px}
 .onboarding-steps{margin:23px 0 25px}
 .onboarding-steps button b{display:none}
 .onboarding-panel{min-height:270px}
 .onboarding-panel h3{font-size:21px}
 .onboarding-description{font-size:13px;margin-bottom:20px}
 .onboarding-module-list{grid-template-columns:1fr}
 .onboarding-sources label{grid-template-columns:1fr;gap:8px}
 .onboarding-dialog .onboarding-footer{align-items:stretch;flex-direction:column;padding:13px 0 16px;gap:10px}
 .onboarding-footer>span{text-align:center;font-size:11px}
 .onboarding-footer>div{justify-content:flex-end;gap:6px}
 .onboarding-footer .company-text-button{padding:9px 7px;margin-right:auto}
 .onboarding-footer button{font-size:12px;padding:10px 13px}
 .company-definition{grid-template-columns:1fr;gap:5px;padding:12px 0}
 .company-detail-modules li{align-items:flex-start;flex-direction:column;gap:8px}
 .company-dialog-actions{flex-direction:column-reverse}
 .company-dialog-actions button{width:100%}
 .company-dialog-actions .primary{width:100%}
}
