.company-editor-page { min-height:calc(100vh - 82px); padding:34px clamp(24px,3vw,48px) 72px; background:#fff; }
.service-editor-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr); margin-top:30px; align-items:start; gap:24px; }
.service-editor-form,.service-preview { border:1px solid var(--cab-line-strong); border-radius:12px; background:#fff; }
.service-editor-form > header,.service-preview > header { padding:22px 26px; border-bottom:1px solid var(--cab-line); }
.service-editor-form h2,.service-preview h2 { margin:0; color:var(--cab-ink); font-size:26px; line-height:1.2; }
.service-editor-form header p { margin:8px 0 0; color:var(--cab-copy); font-size:15px; }
.service-editor-fields { display:grid; padding:26px; gap:22px; }
.service-editor-fields > label,.price-fields label { display:grid; gap:8px; color:var(--cab-ink); font-size:15px; font-weight:650; }
.service-editor-fields input,.service-editor-fields select,.service-editor-fields textarea { width:100%; min-height:50px; padding:12px 14px; border:1px solid var(--cab-line-strong); border-radius:8px; background:#fff; color:var(--cab-ink); font:400 16px/1.4 'Finlandica Text',sans-serif; }
.service-editor-fields textarea { min-height:116px; resize:vertical; }
.service-editor-fields input:focus,.service-editor-fields select:focus,.service-editor-fields textarea:focus { border-color:var(--cab-brand); outline:3px solid var(--cab-focus); }
.service-editor-fields small { min-height:17px; color:var(--cab-muted); font-size:13px; font-weight:500; }
.service-editor-fields small[data-error]:not(:empty) { color:var(--cab-danger); }
.service-editor-fields .has-error { border-color:var(--cab-danger); }
.price-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.price-fields[hidden] { display:none; }
.price-fields label[hidden] { display:none; }
.service-editor-form footer { display:flex; min-height:86px; padding:18px 26px; align-items:center; justify-content:flex-end; gap:20px; border-top:1px solid var(--cab-line); }
.service-editor-form footer > a { color:var(--cab-copy); font-size:15px; font-weight:650; }
.service-editor-form footer p { margin:0 auto 0 0; color:var(--cab-success); font-size:15px; font-weight:650; }
.service-editor-form footer .cab-primary-action { min-height:48px; margin:0; border:0; cursor:pointer; }
.service-preview { position:sticky; top:104px; }
.service-preview > header { padding:18px 20px; }
.service-preview h2 { font-size:18px; }
.service-mini-page { margin:20px; padding:18px 18px 14px; overflow:hidden; border:1px solid var(--cab-line); background:#fff; }
.service-mini-heading { display:grid; gap:3px; }
.service-mini-heading span { color:var(--cab-brand); font-size:8px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.service-mini-heading strong { color:var(--cab-ink); font-size:17px; line-height:1.1; }
.service-mini-table-wrap { margin-top:14px; overflow:hidden; border-top:1px solid var(--cab-line-strong); }
.service-mini-table { width:100%; border-collapse:collapse; table-layout:fixed; text-align:left; }
.service-mini-name-col { width:32%; }
.service-mini-description-col { width:42%; }
.service-mini-price-col { width:16%; }
.service-mini-unit-col { width:10%; }
.service-mini-table th { padding:6px 7px; border-bottom:1px solid var(--cab-line-strong); color:var(--cab-muted); font-size:7px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.service-mini-table th:last-child { text-align:right; }
.service-mini-table th:nth-child(3) { text-align:right; }
.service-mini-table td { padding:8px 7px; border-bottom:1px solid var(--cab-line); vertical-align:middle; overflow-wrap:anywhere; }
.service-mini-table td strong { display:block; color:var(--cab-ink); font-size:10px; line-height:1.25; }
.service-mini-table td span { display:block; margin-top:3px; color:var(--cab-muted); font-size:8px; line-height:1.3; }
.service-mini-table td p { margin:0; color:var(--cab-copy); font-size:9px; line-height:1.4; }
.service-mini-table td:nth-child(3) { padding-right:0; padding-left:2px; text-align:right; }
.service-mini-table td:last-child { padding-right:0; padding-left:2px; text-align:right; }
.service-mini-table td b { color:var(--cab-ink); font-size:7px; line-height:1.25; white-space:nowrap; }
.company-editor-page .company-completion { max-width:none; }
@media (max-width:1180px) { .company-editor-page { padding:26px 24px 54px; } .service-editor-layout { grid-template-columns:1fr; } .service-preview { position:static; } }
@media (max-width:640px) { .service-editor-form > header,.service-preview > header,.service-editor-fields { padding:20px; } .price-fields { grid-template-columns:1fr; } .service-editor-form footer { padding:18px 20px; align-items:stretch; flex-direction:column; } .service-editor-form footer p { margin:0; } .service-mini-page { margin:16px; padding:14px 12px 10px; } }
