.company-services-page { min-height:calc(100vh - 82px); padding:34px clamp(24px,3vw,48px) 72px; background:#fff; }
.services-catalog { width:100%; margin-top:30px; border:1px solid var(--cab-line-strong); border-radius:12px; background:#fff; }
.services-catalog-head { display:flex; min-height:92px; padding:20px 28px; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--cab-line); }
.services-catalog-head h2 { margin:0; color:var(--cab-ink); font-size:27px; line-height:1.2; }
.services-catalog-head p { margin:6px 0 0; color:var(--cab-muted); font-size:15px; }
.services-catalog-head .cab-primary-action,.services-empty .cab-primary-action { display:inline-flex; min-height:48px; margin:0; padding:0 22px; align-items:center; justify-content:center; border-radius:8px; flex:0 0 auto; text-decoration:none; }
.services-tools { display:grid; grid-template-columns:minmax(0,1fr) 240px; padding:18px 28px; align-items:end; gap:16px; border-bottom:1px solid var(--cab-line); background:var(--cab-surface); }
.services-search,.services-filter { display:grid; gap:7px; color:var(--cab-copy); font-size:13px; font-weight:650; }
.services-search input,.services-filter select { height:44px; border:1px solid var(--cab-line-strong); border-radius:8px; background:#fff; color:var(--cab-ink); font:400 15px/1.3 'Finlandica Text',sans-serif; }
.services-search input { width:100%; padding:0 14px; }
.services-filter select { width:100%; padding:0 34px 0 12px; }
.services-search input:focus,.services-filter select:focus { border-color:var(--cab-brand); outline:3px solid var(--cab-focus); }
.services-table-wrap { overflow:visible; }
.services-admin-table { width:100%; border-collapse:collapse; table-layout:fixed; text-align:left; }
.services-admin-table th { padding:12px 18px; border-bottom:1px solid var(--cab-line-strong); color:var(--cab-muted); font-size:13px; font-weight:700; letter-spacing:.03em; }
.services-admin-table th:nth-child(1) { width:36%; }
.services-admin-table th:nth-child(2) { width:15%; }
.services-admin-table th:nth-child(3) { width:10%; }
.services-admin-table th:nth-child(4) { width:9%; }
.services-admin-table th:nth-child(5) { width:12%; }
.services-admin-table th:nth-child(6) { width:18%; }
.services-admin-table td { padding:18px; border-bottom:1px solid var(--cab-line); vertical-align:middle; }
.services-admin-table tr:last-child td { border-bottom:0; }
.services-admin-table tr.is-hidden .service-name,.services-admin-table tr.is-hidden .service-copy { color:var(--cab-muted); }
.service-name { display:block; color:var(--cab-ink); font-size:18px; font-weight:650; line-height:1.25; }
.service-copy { display:block; max-width:560px; margin-top:7px; color:var(--cab-copy); font-size:15px; line-height:1.45; }
.service-extra { display:block; margin-top:8px; color:var(--cab-muted); font-size:13px; font-weight:650; }
.service-price { color:var(--cab-ink); font-size:17px; font-weight:650; white-space:nowrap; }
.service-unit { color:var(--cab-copy); font-size:15px; font-weight:500; white-space:nowrap; }
.service-visibility { display:inline-flex; min-height:30px; padding:0 10px; align-items:center; border:1px solid var(--cab-line-strong); border-radius:999px; color:var(--cab-copy); font-size:13px; font-weight:700; }
.service-visibility.is-visible { border-color:#8dd8c1; color:#087856; }
.service-order,.service-actions { display:flex; align-items:center; gap:7px; }
.service-icon { position:relative; display:inline-flex; width:38px; height:38px; padding:0; align-items:center; justify-content:center; border:1px solid var(--cab-line); border-radius:8px; background:#fff; color:var(--cab-copy); text-decoration:none; cursor:pointer; }
.service-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.service-icon:hover { border-color:var(--cab-line-strong); background:var(--cab-surface-strong); color:var(--cab-ink); }
.service-icon.is-danger:hover { border-color:var(--cab-danger); background:#fff3f3; color:var(--cab-danger); }
.service-icon:disabled { background:var(--cab-surface); color:var(--cab-disabled); cursor:not-allowed; opacity:.58; }
.service-icon[data-tooltip]::after { position:absolute; z-index:5; bottom:calc(100% + 8px); left:50%; padding:7px 9px; border-radius:6px; background:var(--cab-ink); color:#fff; font-size:13px; font-weight:600; line-height:1; white-space:nowrap; content:attr(data-tooltip); opacity:0; pointer-events:none; transform:translate(-50%,4px); transition:opacity 160ms ease,transform 160ms ease; }
.service-icon[data-tooltip]:hover::after,.service-icon[data-tooltip]:focus-visible::after { opacity:1; transform:translate(-50%,0); }
.service-icon:focus-visible,.services-import:focus-visible,.services-delete-dialog button:focus-visible { outline:2px solid var(--cab-brand); outline-offset:2px; }
.services-empty { padding:48px 28px; text-align:center; }
.services-empty h3 { margin:0; color:var(--cab-ink); font-size:25px; }
.services-empty p { margin:12px 0 24px; color:var(--cab-copy); font-size:16px; }
.services-status { min-height:22px; margin:0; padding:0 28px; color:var(--cab-success); font-size:15px; font-weight:650; }
.services-catalog-footer { display:flex; min-height:74px; padding:16px 28px; align-items:center; gap:14px; border-top:1px solid var(--cab-line); }
.services-import { min-height:40px; padding:0 14px; border:1px solid var(--cab-line-strong); border-radius:8px; background:#fff; color:var(--cab-ink); font:650 15px/1 'Finlandica Text',sans-serif; cursor:pointer; }
.services-catalog-footer span { color:var(--cab-muted); font-size:13px; }
/* Модальные окна – стили в cabinet-modals.css */
.services-delete-dialog .dialog-close { position:absolute; top:24px; right:24px; display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--color-border); border-radius:50%; background:var(--color-bg-soft); color:var(--color-muted); font-size:18px; cursor:pointer; transition:border-color var(--transition-fast) ease,color var(--transition-fast) ease,background var(--transition-fast) ease; }
.services-delete-dialog .dialog-close:hover { background:var(--color-bg-soft-hover); border-color:var(--color-muted); color:var(--color-title); }


.company-services-page .company-completion { max-width:none; }
@media (max-width:1180px) { .company-services-page { padding:26px 24px 54px; } .services-admin-table,.services-admin-table tbody { display:block; } .services-admin-table thead { display:none; } .services-admin-table tr { display:grid; padding:22px; border-bottom:1px solid var(--cab-line); gap:14px; } .services-admin-table td { display:block; padding:0; border:0; } .service-price::before,.service-unit::before,.service-order-cell::before,.service-actions-cell::before { display:block; margin-bottom:7px; color:var(--cab-muted); font-size:13px; font-weight:650; } .service-price::before { content:'Цена'; } .service-unit::before { content:'Оплата'; } .service-order-cell::before { content:'Порядок'; } .service-actions-cell::before { content:'Действия'; } }
@media (max-width:640px) { .services-catalog-head { padding:20px; align-items:stretch; flex-direction:column; } .services-catalog-head .cab-primary-action { width:100%; } .services-tools { grid-template-columns:1fr; padding:18px 20px; } .services-admin-table tr { padding:20px; } .services-catalog-footer { align-items:flex-start; flex-direction:column; } }
