:root { --ink:#192126; --muted:#6b7377; --line:#dce2e3; --paper:#f7f8f6; --white:#ffffff; --orange:#ee6b2d; --orange-dark:#c95018; --teal:#12877d; --blue:#3d6eaa; --green:#24965c; --nav:#18272b; --nav-muted:#9eafb1; }
* { box-sizing:border-box; } body { margin:0; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:var(--paper); font-size:14px; letter-spacing:0; } button,input,select,textarea { font:inherit; } button { cursor:pointer; } a { color:inherit; text-decoration:none; } .brand { display:inline-flex; align-items:center; gap:10px; font-size:20px; font-weight:800; } .brand svg { width:25px; height:25px; color:var(--orange); stroke-width:2.6; } .brand-light { color:white; } .brand-light svg { color:#ff9a62; }
.auth-body { background:#162326; min-height:100vh; } .auth-layout { min-height:100vh; display:grid; grid-template-columns:minmax(420px,1.15fr) minmax(400px,.85fr); } .auth-visual { position:relative; min-height:620px; overflow:hidden; background:#1d2a2d; color:#fff; } .auth-visual:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(14,25,27,.92),rgba(18,35,37,.6),rgba(18,35,37,.24)); } .auth-visual>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; } .auth-visual-copy { position:relative; z-index:1; max-width:560px; padding:58px clamp(38px,7vw,100px); display:flex; flex-direction:column; min-height:100vh; justify-content:center; } .auth-visual-copy .brand { position:absolute; top:48px; } .eyebrow { color:#fd9a63; font-weight:800; font-size:11px; letter-spacing:0; margin:0 0 14px; } .eyebrow.ink { color:var(--orange-dark); } .auth-visual h1 { font-size:clamp(42px,5.2vw,68px); line-height:1.04; margin:0 0 20px; letter-spacing:0; } .auth-visual-copy>p:last-child { max-width:410px; color:#e0e9e8; line-height:1.65; font-size:16px; } .visual-note { position:absolute; z-index:2; bottom:42px; left:clamp(38px,7vw,100px); display:flex; gap:9px; align-items:center; font-weight:650; font-size:13px; color:#e3efeb; } .visual-note svg { width:18px; color:#74d4c4; } .auth-panel { background:#fff; display:grid; place-items:center; padding:42px; } .auth-panel-inner { width:min(410px,100%); } .mobile-brand { display:none; } .auth-panel h2 { font-size:29px; margin:0 0 8px; } .muted { color:var(--muted); line-height:1.55; margin:0 0 28px; } .auth-switch { border-bottom:1px solid var(--line); display:flex; margin-bottom:24px; } .switch-button { border:0; background:none; color:var(--muted); padding:0 4px 11px; margin-right:22px; font-weight:700; border-bottom:2px solid transparent; } .switch-button.active { color:var(--ink); border-color:var(--orange); } .auth-form { display:none; gap:15px; } .auth-form.active { display:grid; } label { color:#3b4549; font-size:12px; font-weight:700; display:grid; gap:7px; } input,select,textarea { border:1px solid #ccd4d5; background:#fff; color:var(--ink); border-radius:5px; min-height:42px; padding:10px 12px; outline:none; transition:border-color .16s,box-shadow .16s; } textarea { resize:vertical; min-height:72px; } input:focus,select:focus,textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(18,135,125,.12); } .button { border:0; border-radius:5px; min-height:42px; padding:0 14px; display:inline-flex; gap:9px; align-items:center; justify-content:center; font-weight:800; } .button svg { width:17px; } .button.primary { color:#fff; background:var(--orange); } .button.primary:hover { background:var(--orange-dark); } .button:disabled { opacity:.45; cursor:not-allowed; } .wide { width:100%; margin-top:6px; } .flash { border-radius:5px; padding:11px 13px; margin:18px 0; line-height:1.4; font-weight:600; } .flash.success { background:#e4f5ed; color:#16623e; border-left:3px solid var(--green); } .flash.error { background:#fff0ed; color:#a33d22; border-left:3px solid var(--orange); }
.app-shell { min-height:100vh; display:grid; grid-template-columns:250px minmax(0,1fr); } .sidebar { background:var(--nav); color:white; min-height:100vh; display:flex; flex-direction:column; padding:28px 15px 18px; position:sticky; top:0; height:100vh; } .sidebar .brand { padding:0 12px 30px; } .workspace { border-top:1px solid rgba(255,255,255,.11); border-bottom:1px solid rgba(255,255,255,.11); padding:17px 10px; display:flex; align-items:center; gap:10px; } .workspace-mark,.profile { width:31px; height:31px; display:grid; place-items:center; background:#ed7540; color:#fff; border-radius:50%; font-weight:800; font-size:12px; flex:0 0 auto; } .workspace strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:153px; font-size:13px; } .workspace small { color:var(--nav-muted); font-size:11px; margin-top:2px; display:block; } nav { padding-top:20px; display:grid; gap:3px; } .nav-link { min-height:43px; color:#d1dcdd; display:flex; gap:12px; align-items:center; padding:0 11px; font-weight:650; border-radius:5px; } .nav-link svg { width:18px; color:var(--nav-muted); } .nav-link span { margin-left:auto; color:var(--nav-muted); font-size:12px; } .nav-link:hover,.nav-link.selected { background:#263a3f; color:#fff; } .nav-link.selected svg { color:#ff9a62; } .signout { margin-top:auto; border-top:1px solid rgba(255,255,255,.11); padding:17px 7px 0; } .signout button { border:0; padding:8px 5px; background:none; color:var(--nav-muted); display:flex; gap:11px; align-items:center; font-weight:700; } .signout button:hover { color:#fff; } .signout svg { width:17px; } .content { padding:0 clamp(24px,4vw,64px) 48px; max-width:1640px; width:100%; margin:auto; } .topbar { min-height:118px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:20px; } .topbar h1 { margin:0; font-size:27px; line-height:1.2; } .topbar .eyebrow { margin-bottom:6px; } .topbar-actions { display:flex; align-items:center; gap:18px; } .today { color:var(--muted); font-weight:650; font-size:13px; } .profile { background:#27746e; text-transform:uppercase; width:35px; height:35px; } .menu-button { display:none; }
.metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; padding:28px 0; } .metric { background:var(--white); min-height:124px; border:1px solid var(--line); border-radius:6px; padding:19px; display:flex; gap:14px; align-items:flex-start; } .metric-icon { width:39px; height:39px; display:grid; place-items:center; border-radius:5px; flex:0 0 auto; } .metric-icon svg { width:20px; } .metric-icon.orange { background:#fce7dc; color:var(--orange-dark); }.metric-icon.teal { background:#dcefea; color:var(--teal); }.metric-icon.blue { background:#e2ebf7; color:var(--blue); }.metric-icon.green { background:#dff2e7; color:var(--green); } .metric span,.metric small { display:block; color:var(--muted); font-size:12px; }.metric strong { display:block; font-size:25px; margin:5px 0 2px; white-space:nowrap; }.split-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,.85fr); gap:20px; }.section-block,.table-section { background:white; border:1px solid var(--line); border-radius:6px; }.section-heading { min-height:83px; padding:19px 22px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); gap:15px; }.section-heading h2 { margin:0 0 4px; font-size:16px; }.section-heading p { margin:0; color:var(--muted); font-size:12px; }.text-link { color:var(--teal); font-weight:800; font-size:12px; display:flex; align-items:center; gap:5px; white-space:nowrap; }.text-link svg { width:14px; }.order-list { padding:4px 20px 10px; }.order-row { min-height:66px; border-bottom:1px solid #eef1f1; display:flex; align-items:center; gap:12px; }.order-row:last-child { border:0; }.order-car { width:33px; height:33px; background:#e9f1f1; color:#276d6b; display:grid; place-items:center; border-radius:5px; }.order-car svg { width:18px; }.order-main { min-width:0; flex:1; }.order-main strong,.order-main span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.order-main strong { font-size:13px; }.order-main span { color:var(--muted); font-size:12px; margin-top:3px; }.status { padding:5px 8px; font-size:11px; font-weight:800; white-space:nowrap; border-radius:4px; }.status.reception { background:#e5edf7; color:#3b679e; }.status.inspection { background:#f9efd8; color:#8c6310; }.status.work { background:#fde6da; color:#bd5725; }.status.ready { background:#daf0e5; color:#207547; }.status.closed { background:#eaedee; color:#657175; }.row-arrow { color:#9ba6a8; width:17px; }.quick-actions { padding:12px 18px; }.quick-actions a { display:grid; grid-template-columns:30px 1fr 16px; align-items:center; min-height:57px; gap:9px; border-bottom:1px solid #eef1f1; font-weight:750; }.quick-actions a:last-child { border:0; }.quick-actions a>svg:first-child { color:var(--orange); width:18px; }.quick-actions a>svg:last-child { color:#9ba6a8; width:15px; }.empty-state { min-height:205px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:28px; color:var(--muted); }.empty-state>svg { width:34px; height:34px; margin-bottom:10px; color:var(--teal); }.empty-state p { margin:0 0 15px; }.empty-state.large { min-height:310px; background:#fff; border:1px dashed #cbd5d6; border-radius:6px; margin-top:20px; }.empty-state.large h2 { color:var(--ink); font-size:17px; margin:0 0 6px; }
.page-toolbar { padding:24px 0 18px; display:flex; justify-content:space-between; align-items:center; gap:18px; }.page-toolbar p { margin:0; color:var(--muted); }.entry-form { background:#fff; border:1px solid var(--line); border-left:4px solid var(--teal); border-radius:6px; padding:21px; margin-bottom:18px; }.entry-form.hidden { display:none; }.form-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:17px; }.form-heading h2 { margin:0; font-size:17px; }.icon-button { border:0; background:transparent; color:#657175; padding:6px; min-width:30px; min-height:30px; display:inline-grid; place-items:center; border-radius:4px; }.icon-button:hover { background:#edf0ef; color:var(--ink); }.icon-button svg { width:18px; }.form-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }.span-two { grid-column:span 2; }.table-section { overflow:hidden; }.table-search { display:flex; align-items:center; gap:9px; padding:14px 18px; border-bottom:1px solid var(--line); }.table-search svg { width:17px; color:#7e898b; }.table-search input { border:0; padding:4px 0; min-height:28px; width:100%; box-shadow:none!important; }.data-table-wrap { overflow:auto; } table { border-collapse:collapse; width:100%; min-width:650px; } th { text-align:left; color:#687477; background:#f7f9f9; font-weight:800; font-size:11px; padding:12px 18px; } td { padding:14px 18px; border-top:1px solid #e9eded; color:#536064; } td strong,td small { display:block; } td strong { color:var(--ink); } td small { margin-top:4px; color:var(--muted); font-size:11px; }.notice { background:#e4f1f0; color:#286460; border-left:3px solid var(--teal); padding:12px 14px; display:flex; gap:9px; align-items:center; border-radius:4px; }.notice svg { width:17px; flex:0 0 auto; }.vehicle-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(245px,1fr)); gap:16px; }.vehicle-card { min-height:202px; padding:19px; background:white; border:1px solid var(--line); border-radius:6px; position:relative; overflow:hidden; }.vehicle-card:after { content:""; position:absolute; width:105px; height:105px; border-radius:50%; background:#f2f5f4; right:-39px; bottom:-42px; }.vehicle-icon { color:var(--teal); margin-bottom:17px; }.vehicle-icon svg { width:32px; height:32px; stroke-width:1.6; }.vehicle-card-top { position:absolute; right:13px; top:13px; display:flex; align-items:center; gap:3px; color:#6b7779; font-size:11px; font-weight:750; }.vehicle-card h2 { font-size:18px; margin:0 0 6px; }.vehicle-card p { margin:0; color:var(--muted); }.vehicle-meta { display:flex; gap:15px; color:#657175; font-size:12px; margin-top:26px; position:relative; z-index:1; }.orders-board { display:grid; grid-template-columns:repeat(auto-fill,minmax(285px,1fr)); gap:16px; }.order-card { background:#fff; border:1px solid var(--line); border-top:3px solid #d0d8d8; border-radius:6px; padding:17px; min-height:215px; display:flex; flex-direction:column; }.order-card:has(.status.work) { border-top-color:var(--orange); }.order-card:has(.status.ready) { border-top-color:var(--green); }.order-card-head { display:flex; justify-content:space-between; align-items:center; gap:10px; }.order-number { color:var(--muted); font-size:12px; font-weight:800; }.order-card h2 { font-size:16px; margin:17px 0 10px; line-height:1.35; }.order-vehicle { display:flex; gap:6px; align-items:center; color:#566367; margin:0; font-size:12px; }.order-vehicle svg { width:16px; color:var(--teal); }.order-description { color:var(--muted); line-height:1.45; font-size:12px; margin:12px 0; }.order-card-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:15px; border-top:1px solid #edf0f0; }.order-card-footer strong { font-size:15px; }.order-card-footer select { min-height:34px; font-size:12px; padding:5px 8px; }
@media (max-width:1050px) { .metrics { grid-template-columns:repeat(2,1fr); }.split-grid { grid-template-columns:1fr; }.form-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:760px) { .auth-layout { display:block; }.auth-visual { min-height:260px; }.auth-visual-copy { min-height:260px; padding:32px 28px; justify-content:flex-end; }.auth-visual-copy .brand { display:none; }.auth-visual h1 { font-size:34px; }.auth-visual-copy>p:last-child { display:none; }.visual-note { left:28px; bottom:25px; }.auth-panel { min-height:calc(100vh - 260px); padding:36px 25px; }.mobile-brand { display:inline-flex; margin-bottom:34px; }.app-shell { display:block; }.sidebar { position:fixed; z-index:10; left:0; top:0; width:250px; transform:translateX(-100%); transition:transform .2s; box-shadow:8px 0 25px rgba(0,0,0,.18); }.sidebar.mobile-open { transform:translateX(0); }.content { padding:0 18px 36px; }.topbar { min-height:88px; }.topbar h1 { font-size:21px; }.menu-button { display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--line); border-radius:5px; background:#fff; }.menu-button svg { width:19px; }.topbar { justify-content:flex-start; }.topbar-actions { margin-left:auto; }.today { display:none; }.metrics { grid-template-columns:1fr 1fr; gap:10px; }.metric { padding:14px; min-height:106px; gap:9px; }.metric-icon { width:33px; height:33px; }.metric strong { font-size:19px; }.metric small { display:none; }.page-toolbar { align-items:flex-start; }.page-toolbar .button { white-space:nowrap; }.form-grid { grid-template-columns:1fr; }.span-two { grid-column:auto; }.vehicle-grid,.orders-board { grid-template-columns:1fr; }.section-heading { padding:17px; }.order-list { padding:4px 14px 10px; }.order-row { gap:9px; }.row-arrow { display:none; }.order-main span { max-width:130px; }.flash { margin:14px 0; } }
@media (max-width:410px) { .metrics { grid-template-columns:1fr; }.metric { min-height:86px; }.topbar h1 { font-size:18px; }.page-toolbar { flex-direction:column; }.page-toolbar .button { width:100%; }.auth-visual h1 { font-size:30px; } }
.auth-form small { color:var(--muted); font-size:11px; font-weight:500; margin-top:-3px; }.consent-field { display:flex; align-items:flex-start; gap:9px; color:#536064; font-size:11px; font-weight:600; line-height:1.45; }.consent-field input { width:16px; min-height:16px; margin:1px 0 0; padding:0; flex:0 0 auto; accent-color:var(--teal); }.consent-field span { display:block; }.consent-field a { color:var(--teal); text-decoration:underline; text-underline-offset:2px; }.legal-page .admin-auth-box { max-width:720px; }.legal-page .admin-auth-box p:not(.eyebrow) { color:var(--muted); line-height:1.6; }.legal-page .button { margin-top:8px; }.platform-requisites { display:grid; gap:4px; padding:13px 15px; border:1px solid #cfe0dd; border-left:3px solid var(--teal); border-radius:5px; background:#f1f8f6; color:#405255; font-size:12px; line-height:1.4; }.platform-requisites strong { color:var(--ink); font-size:11px; text-transform:uppercase; letter-spacing:.03em; }.public-requisites { margin-top:22px; text-align:left; }.admin-entry:hover { color:var(--teal); }.admin-entry svg { width:15px; }.workspace-logo { width:31px; height:31px; object-fit:cover; border-radius:50%; background:white; flex:0 0 auto; }.subscription-alert { margin:18px 0 0; background:#fff1e9; border:1px solid #f0c4ad; border-left:4px solid var(--orange); padding:13px 15px; display:flex; gap:11px; align-items:center; border-radius:5px; color:#93411d; }.subscription-alert svg { width:20px; flex:0 0 auto; }.subscription-alert strong,.subscription-alert span { display:block; }.subscription-alert span { margin-top:3px; font-size:12px; }.order-tools { display:flex; gap:7px; align-items:center; }.order-tools .icon-button { border:1px solid #e3e9e8; padding:4px; min-height:28px; min-width:28px; }.order-tools .icon-button svg { width:14px; }
.install-body { min-height:100vh; padding:36px 20px; background:#edf2f1; }.installer { width:min(940px,100%); min-height:calc(100vh - 72px); margin:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.86fr); overflow:hidden; border:1px solid var(--line); border-radius:7px; background:#fff; box-shadow:0 18px 48px rgba(22,40,43,.1); }.installer-intro { display:flex; flex-direction:column; justify-content:center; padding:58px; color:#fff; background:#1d3033; }.installer-intro .brand { margin-bottom:68px; color:#fff; }.installer-intro .eyebrow { color:#ffad7d; }.installer-intro h1 { max-width:420px; margin:0 0 17px; font-size:35px; line-height:1.12; }.installer-intro>p:last-child { max-width:440px; margin:0; color:#c9d8d7; font-size:14px; line-height:1.65; }.installer-card { align-self:center; padding:44px; }.installer-card h2 { margin:0 0 19px; font-size:23px; }.installer-card>p { color:var(--muted); line-height:1.55; }.installer-icon { width:40px; height:40px; margin-bottom:14px; color:var(--green); }.install-requirements { display:grid; gap:8px; margin-bottom:20px; }.install-requirements>div { display:grid; grid-template-columns:20px minmax(0,1fr) auto; align-items:center; gap:8px; min-height:41px; padding:0 11px; border:1px solid var(--line); border-radius:5px; color:#4b585b; font-size:12px; font-weight:700; }.install-requirements svg { width:17px; }.install-requirements .passed { background:#f1f8f4; color:#23774d; border-color:#cce5d6; }.install-requirements .failed { background:#fff3ef; color:#a44a2c; border-color:#f1cbbb; }.install-requirements strong { font-size:10px; }.installer-form { gap:14px; }.installer-form .wide { margin-top:4px; }
.workspace-switcher { margin:12px 0 0; border:1px solid rgba(255,255,255,.11); border-radius:5px; overflow:hidden; }.workspace-switcher summary { min-height:38px; display:flex; align-items:center; gap:8px; padding:0 10px; cursor:pointer; color:#dce6e6; font-size:12px; font-weight:800; list-style:none; }.workspace-switcher summary::-webkit-details-marker { display:none; }.workspace-switcher summary>svg { width:16px; color:#9eb6b8; }.workspace-switcher summary>b { min-width:18px; height:18px; margin-left:auto; display:grid; place-items:center; border-radius:50%; background:#395359; color:#fff; font-size:10px; }.workspace-switcher summary>svg:last-child { width:15px; transition:transform .15s; }.workspace-switcher[open] summary>svg:last-child { transform:rotate(180deg); }.workspace-switcher-list { display:grid; gap:3px; padding:5px; border-top:1px solid rgba(255,255,255,.1); background:#1a2b2f; }.workspace-switcher-list form { min-width:0; }.workspace-switcher-list form button,.workspace-switcher-list .add-branch { width:100%; min-height:36px; display:grid; grid-template-columns:minmax(0,1fr); gap:2px; padding:6px 8px; border:0; border-radius:4px; background:transparent; color:#cad8d8; text-align:left; }.workspace-switcher-list form button:hover,.workspace-switcher-list form button.current { background:#31484d; color:#fff; }.workspace-switcher-list form button span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; font-weight:800; }.workspace-switcher-list form button small { color:#94abad; font-size:9px; }.workspace-switcher-list .add-branch { display:flex; align-items:center; gap:7px; margin-top:3px; border-top:1px solid rgba(255,255,255,.1); border-radius:0; color:#8fd8ce; font-size:11px; font-weight:800; }.workspace-switcher-list .add-branch svg { width:15px; }.branch-form .form-heading>div { min-width:0; }.branch-form .form-heading p { margin:4px 0 0; color:var(--muted); font-size:12px; font-weight:500; line-height:1.4; }
@media (max-width:780px) { .install-body { padding:0; }.installer { min-height:100vh; grid-template-columns:1fr; border:0; border-radius:0; }.installer-intro { padding:34px 25px; }.installer-intro .brand { margin-bottom:35px; }.installer-intro h1 { font-size:29px; }.installer-card { padding:30px 25px 42px; }.install-requirements>div { grid-template-columns:19px minmax(0,1fr); padding:9px 10px; }.install-requirements strong { grid-column:2; } }
@media (max-width:760px) { .workspace-switcher { margin-top:10px; }.branch-form .form-heading { align-items:flex-start; }.branch-form .form-actions .button { width:100%; } }
.sidebar { overflow-y:auto; overscroll-behavior:contain; }.workspace-switcher { flex:0 0 auto; }.workspace-switcher-list { max-height:min(36vh,270px); overflow-y:auto; overscroll-behavior:contain; }.workspace-switcher-list form button { min-height:44px; }.workspace-switcher-list form button span { overflow:visible; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; line-height:1.25; }.workspace-switcher-list form button small { white-space:normal; line-height:1.2; }
.finance-toolbar,.finance-toolbar>*,.finance-grid,.finance-grid>*,.finance-stats article>div,.payroll-panel,.finance-expenses { min-width:0; }.finance-toolbar form { flex-wrap:wrap; }.finance-toolbar input,.expense-form input { width:100%; max-width:100%; box-sizing:border-box; }.expense-form .form-grid { grid-template-columns:minmax(0,1fr); }.expense-form .form-grid>* { min-width:0; }.finance-stats strong { max-width:100%; overflow-wrap:anywhere; white-space:normal; font-variant-numeric:tabular-nums; }.payroll-panel .section-heading,.finance-expenses .section-heading { min-width:0; }.payroll-panel .section-heading>div,.finance-expenses .section-heading>div { min-width:0; }.finance-expenses .data-table-wrap,.payroll-panel .data-table-wrap { max-width:100%; }
@media (min-width:1500px) { .expense-form .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.admin-body { background:#eef2f1; }.admin-auth { max-width:480px; min-height:100vh; margin:auto; padding:58px 22px; }.admin-auth>.brand { margin-bottom:45px; }.admin-auth-box { background:#fff; border:1px solid var(--line); border-radius:6px; padding:30px; }.admin-auth-box h1 { margin:0 0 8px; font-size:27px; }.admin-auth-box>p { margin:0 0 24px; color:var(--muted); line-height:1.55; }.platform-shell { min-height:100vh; }.platform-header { height:72px; padding:0 clamp(22px,5vw,78px); display:flex; align-items:center; justify-content:space-between; background:#fff; border-bottom:1px solid var(--line); }.platform-owner { display:flex; align-items:center; gap:11px; font-weight:700; color:#526064; }.platform-content { max-width:1240px; margin:auto; padding:44px clamp(22px,5vw,78px) 65px; }.platform-title { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:27px; }.platform-title h1 { font-size:32px; margin:0 0 7px; }.platform-title p:not(.eyebrow) { color:var(--muted); margin:0; }.platform-count { border-left:3px solid var(--orange); padding-left:13px; min-width:115px; }.platform-count strong,.platform-count span { display:block; }.platform-count strong { font-size:27px; }.platform-count span { color:var(--muted); font-size:11px; }.admin-workshops { display:grid; gap:15px; }.tenant-card { background:#fff; border:1px solid var(--line); border-radius:6px; padding:21px; }.tenant-identity { display:flex; align-items:center; gap:13px; }.tenant-identity>div:nth-child(2) { min-width:0; flex:1; }.tenant-identity h2 { margin:0 0 5px; font-size:17px; }.tenant-identity p { margin:0; color:var(--muted); font-size:12px; }.tenant-identity>.status { margin-left:auto; }.tenant-logo,.tenant-identity img { width:42px; height:42px; flex:0 0 auto; display:grid; place-items:center; border-radius:6px; object-fit:cover; color:#fff; background:var(--teal); font-weight:800; }.tenant-details { display:flex; flex-wrap:wrap; gap:9px 22px; margin:18px 0; padding:12px 0; border-top:1px solid #edf0ef; border-bottom:1px solid #edf0ef; color:#5f6a6d; font-size:12px; }.tenant-details span { display:flex; gap:6px; align-items:center; }.tenant-details svg { width:14px; color:var(--teal); }.subscription-form { display:grid; grid-template-columns:150px minmax(150px,1fr) 160px auto; gap:11px; align-items:end; }.subscription-form .button { min-height:42px; white-space:nowrap; }.print-body { background:#eef1f0; padding:34px; }.print-document { max-width:850px; min-height:1000px; background:#fff; margin:auto; padding:50px 58px; box-shadow:0 10px 28px rgba(25,33,38,.12); }.print-actions { display:flex; justify-content:flex-end; gap:8px; margin-bottom:34px; }.print-actions .button:not(.primary) { background:#eef1f0; }.print-header { display:flex; justify-content:space-between; gap:30px; padding-bottom:25px; border-bottom:2px solid var(--ink); }.print-brand { display:flex; gap:14px; align-items:center; }.print-brand img,.print-mark { width:60px; height:60px; border-radius:6px; object-fit:contain; background:#f2f4f3; }.print-mark { display:grid; place-items:center; background:var(--nav); color:#fff; font-weight:800; }.print-brand h1 { margin:0 0 4px; font-size:23px; }.print-brand p,.print-contacts span { margin:0; color:var(--muted); font-size:12px; display:block; line-height:1.5; }.print-contacts { text-align:right; }.print-title { display:flex; justify-content:space-between; align-items:end; padding:31px 0 22px; }.print-title p { color:var(--orange-dark); font-size:11px; font-weight:800; margin:0 0 4px; }.print-title h2 { margin:0; font-size:27px; }.print-title span,.print-title strong { display:block; text-align:right; }.print-title span { color:var(--muted); font-size:11px; }.print-title strong { margin-top:4px; }.print-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.print-grid>div { background:#f6f8f7; padding:17px; border-radius:5px; }.print-grid h3,.print-work h3 { margin:0 0 10px; font-size:12px; color:var(--muted); text-transform:uppercase; }.print-grid p { color:#536064; margin:6px 0 0; line-height:1.55; font-size:13px; }.print-work { margin-top:26px; border-top:1px solid var(--line); }.print-work h3 { margin-top:21px; }.print-work-row { display:flex; justify-content:space-between; gap:15px; border-bottom:1px solid var(--line); padding:13px 0; }.print-work>p { color:var(--muted); line-height:1.55; font-size:13px; }.print-total { display:flex; justify-content:space-between; font-size:18px; padding:18px 0; border-bottom:2px solid var(--ink); }.print-footer { display:flex; justify-content:space-between; gap:20px; margin-top:65px; color:#6c7678; font-size:12px; }
@media (max-width:760px) { .subscription-form { grid-template-columns:1fr; }.tenant-identity { align-items:flex-start; }.tenant-identity>.status { margin-left:0; }.platform-title { align-items:flex-start; flex-direction:column; }.platform-content { padding-top:30px; }.print-body { padding:0; }.print-document { padding:24px; box-shadow:none; }.print-header,.print-grid,.print-footer { grid-template-columns:1fr; display:grid; }.print-contacts { text-align:left; }.print-title { align-items:flex-start; flex-direction:column; gap:14px; }.print-title span,.print-title strong { text-align:left; } }
@media print { .print-body { background:#fff; padding:0; }.print-document { box-shadow:none; margin:0; padding:0; max-width:none; }.print-actions { display:none; } }
.print-footer { display:block; margin-top:45px; color:#596568; font-size:11px; line-height:1.5; }.print-footer::before { content:"Заказчик подтверждает, что принял транспортное средство после выполнения работ, ознакомлен с результатом работ, указанным в настоящем заказе-наряде, и не имеет к Исполнителю претензий по объему, качеству и срокам выполненных работ на момент приемки."; display:block; margin:0 0 28px; padding:12px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.print-footer>div { display:flex; justify-content:space-between; gap:20px; color:#6c7678; font-size:12px; }
.user-avatar,.profile-avatar-preview { width:34px; height:34px; flex:0 0 auto; border-radius:50%; object-fit:cover; overflow:hidden; }.user-avatar { display:grid; place-items:center; background:#e2f0ee; color:var(--teal); font-size:12px; font-weight:800; }.user-avatar-fallback { border:1px solid #c6dcda; }.profile-page { width:100%; max-width:760px; }.profile-card { display:grid; grid-template-columns:64px minmax(0,1fr); align-items:center; gap:15px; padding:22px; border:1px solid var(--line); border-radius:6px; background:#fff; }.profile-card>div:last-child { min-width:0; }.profile-avatar-preview { width:64px; height:64px; display:grid; place-items:center; background:#e2f0ee; color:var(--teal); font-size:24px; font-weight:800; }.profile-avatar-preview img,.profile img { width:100%; height:100%; object-fit:cover; }.profile-card h2 { overflow-wrap:anywhere; margin:3px 0 5px; font-size:21px; line-height:1.2; }.profile-card p:not(.eyebrow) { margin:0; color:var(--muted); font-size:13px; }.profile-form { margin-top:16px; }.profile-form input[type="file"] { max-width:100%; overflow:hidden; }
.landing-page-settings .form-grid { margin-bottom:12px; }.landing-page-settings textarea { min-height:78px; }.landing-image-reset { display:flex; align-items:center; gap:8px; min-height:42px; color:#536164; }.landing-image-reset input { width:16px; min-height:16px; padding:0; accent-color:var(--teal); }.landing-image-preview { display:flex; align-items:center; gap:10px; margin:2px 0 16px; color:var(--muted); font-size:11px; font-weight:700; }.landing-image-preview img { width:96px; height:58px; border-radius:5px; object-fit:cover; background:#eef2f1; border:1px solid var(--line); }
@media (max-width:760px) { input,select,textarea { font-size:16px; } .print-footer>div { display:grid; grid-template-columns:1fr; gap:12px; }.profile-card { grid-template-columns:52px minmax(0,1fr); gap:12px; padding:17px; }.profile-avatar-preview { width:52px; height:52px; font-size:20px; }.profile-card h2 { font-size:18px; }.profile-form input[type="file"] { font-size:12px; } }
.manual-connect { background:#fff; border:1px solid var(--line); border-radius:6px; margin-bottom:20px; }.manual-connect summary { cursor:pointer; min-height:55px; padding:0 18px; display:flex; gap:10px; align-items:center; font-weight:800; list-style:none; }.manual-connect summary::-webkit-details-marker { display:none; }.manual-connect summary>svg:first-child { color:var(--orange); width:19px; }.manual-connect summary>svg:last-child { color:#829093; width:18px; margin-left:auto; transition:transform .15s; }.manual-connect[open] summary { border-bottom:1px solid var(--line); }.manual-connect[open] summary>svg:last-child { transform:rotate(180deg); }.manual-connect-form { padding:20px; }.admin-section-title { display:flex; align-items:center; gap:9px; font-size:16px; margin:0 0 12px; }.admin-section-title svg { width:19px; color:var(--teal); }.admin-section-title span { display:grid; place-items:center; min-width:21px; height:21px; border-radius:50%; font-size:11px; color:#fff; background:var(--orange); }.stock-summary { display:flex; gap:14px; margin-bottom:18px; }.stock-summary article { min-width:190px; display:flex; align-items:center; gap:11px; background:#e1f2ef; color:#17675f; padding:13px 16px; border-radius:5px; }.stock-summary article.warning { background:#fff0e9; color:#ae4d21; }.stock-summary article svg { width:23px; }.stock-summary span,.stock-summary strong { display:block; }.stock-summary span { font-size:11px; font-weight:700; }.stock-summary strong { font-size:21px; margin-top:2px; }.low-stock td { background:#fffaf4; }.movement-form { display:grid; grid-template-columns:104px minmax(74px,1fr) 31px; gap:5px; align-items:center; }.movement-form select,.movement-form input { min-height:33px; padding:5px 7px; font-size:12px; }.movement-form .icon-button { border:1px solid #cbd5d4; min-width:31px; min-height:33px; padding:4px; color:var(--teal); }.movement-form .icon-button svg { width:16px; }
@media (max-width:760px) { .stock-summary { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.stock-summary article { min-width:0; padding:12px; }.manual-connect-form { padding:16px; }.admin-section-title { margin-top:22px; } }
.password-field { position:relative; display:block; }.password-field input { width:100%; padding-right:42px; }.password-toggle { position:absolute; right:4px; top:4px; width:34px; height:34px; border:0; color:#677477; background:transparent; border-radius:4px; display:grid; place-items:center; }.password-toggle:hover { background:#edf1f1; color:var(--ink); }.password-toggle svg { width:18px; }.remember-field { display:flex; align-items:center; gap:9px; font-weight:600; color:#596568; }.remember-field input { width:16px; min-height:16px; accent-color:var(--teal); }.reset-link { color:var(--teal); font-size:12px; font-weight:750; margin-top:-4px; }.billing-link { display:flex; gap:7px; align-items:center; color:#536164; font-size:12px; font-weight:750; }.billing-link svg { width:17px; color:var(--orange); }.billing-link:hover { color:var(--teal); }.tenant-actions { display:flex; gap:9px; align-items:end; }.tenant-actions .subscription-form { flex:1; }.delete-tenant-form { padding-bottom:2px; }.reject { color:#b24427!important; }.confirm { color:#218451!important; }.payment-requests { background:#fff; border:1px solid var(--line); padding:19px; border-radius:6px; margin-bottom:20px; }.payment-request-grid { display:grid; gap:9px; }.payment-request-grid article { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:12px; background:#f5f8f7; border-radius:5px; }.payment-request-grid strong,.payment-request-grid span,.payment-request-grid small { display:block; }.payment-request-grid span { margin-top:3px; font-weight:700; color:var(--teal); font-size:12px; }.payment-request-grid small { margin-top:4px; color:var(--muted); font-size:11px; }.payment-request-grid form { display:flex; gap:4px; }.payment-request-grid .icon-button { border:1px solid var(--line); }.no-requests { color:var(--muted); margin:0; font-size:13px; }.team-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; }.team-list article { display:flex; align-items:center; gap:11px; background:#fff; border:1px solid var(--line); border-radius:6px; padding:15px; }.team-list article>div { min-width:0; flex:1; }.team-list strong,.team-list span { display:block; }.team-list article>div span { color:var(--muted); font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:3px; }.team-avatar { width:36px; height:36px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:#e2f0ee; color:var(--teal); font-weight:800; }.backup-panel { margin-top:22px; background:#263a3f; color:#fff; border-radius:6px; padding:22px; display:flex; justify-content:space-between; gap:20px; align-items:center; }.backup-panel>div { display:flex; gap:13px; align-items:flex-start; }.backup-panel>div>svg { width:24px; color:#7fd5c7; flex:0 0 auto; }.backup-panel h2 { margin:0 0 5px; font-size:16px; }.backup-panel p { max-width:600px; margin:0; color:#cfdddd; font-size:12px; line-height:1.5; }.backup-panel .button { background:#fff; color:#1f3538; white-space:nowrap; }.billing-overview { background:#1f373b; color:#fff; padding:27px; border-radius:6px; display:flex; justify-content:space-between; align-items:center; margin:23px 0 18px; }.billing-overview h2 { margin:0 0 6px; font-size:24px; }.billing-overview p { margin:0; color:#c9d8d8; }.billing-overview>svg { width:45px; height:45px; color:#ff9a62; }.billing-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr); gap:18px; }.billing-grid .entry-form { margin:0; }.billing-help { background:#e1f2ef; color:#25635e; border-radius:6px; padding:23px; }.billing-help svg { width:27px; }.billing-help h2 { color:var(--ink); font-size:16px; margin:14px 0 6px; }.billing-help p { margin:0; line-height:1.55; font-size:12px; }.payment-note { color:var(--muted); margin:12px 0 0; font-size:12px; }.renewal-history { background:#fff; border:1px solid var(--line); border-radius:6px; margin-top:18px; overflow:hidden; }.renewal-history h2 { font-size:16px; margin:0; padding:18px; border-bottom:1px solid var(--line); }.renewal-history>p { padding:0 18px 18px; color:var(--muted); }
@media (max-width:760px) { .billing-link span { display:none; }.tenant-actions { align-items:stretch; }.tenant-actions .subscription-form { flex:auto; }.backup-panel { align-items:flex-start; flex-direction:column; }.billing-grid { grid-template-columns:1fr; }.payment-request-grid article { align-items:flex-start; flex-direction:column; }.payment-request-grid form { align-self:flex-end; } }

/* Keep the profile form independent from the page-wide four-column form grid. */
.profile-page { display:grid; gap:16px; }
.profile-form { display:grid; gap:18px; margin:0; }
.profile-form .form-heading { min-height:24px; margin:0; }
.profile-form .form-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); align-items:start; gap:16px; margin:0; }
.profile-form .form-grid > label { min-width:0; align-content:start; }
.profile-form .form-grid input { width:100%; }
.profile-form .form-grid input[type="file"] { min-height:42px; padding:8px; line-height:1.2; }
.profile-form .button { justify-self:start; }
@media (max-width:760px) { .profile-page { gap:12px; }.profile-form { gap:16px; }.profile-form .form-grid { grid-template-columns:minmax(0,1fr); gap:14px; }.profile-form .button { width:100%; }.profile-form .form-grid input[type="file"] { font-size:12px; } }
.employee-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(225px,1fr)); gap:14px; }.employee-grid article { display:flex; gap:11px; align-items:center; border:1px solid var(--line); border-radius:6px; padding:15px; background:#fff; }.employee-avatar { width:39px; height:39px; display:grid; place-items:center; border-radius:5px; background:#fbe6da; color:var(--orange-dark); font-weight:800; flex:0 0 auto; }.employee-grid article>div { min-width:0; }.employee-grid strong,.employee-grid span,.employee-grid small { display:block; }.employee-grid span { color:var(--teal); margin-top:3px; font-weight:700; font-size:12px; }.employee-grid small { color:var(--muted); margin-top:4px; font-size:11px; }.order-executor { display:flex; gap:6px; align-items:center; color:var(--teal); font-size:12px; margin:10px 0 0; }.order-executor svg { width:15px; }
.notification-menu { position:relative; }.notification-menu summary { width:35px; height:35px; display:grid; place-items:center; cursor:pointer; list-style:none; position:relative; }.notification-menu summary::-webkit-details-marker { display:none; }.notification-menu summary svg { width:19px; }.notification-menu summary b { position:absolute; top:1px; right:1px; min-width:16px; height:16px; border-radius:50%; display:grid; place-items:center; font-size:9px; color:#fff; background:var(--orange); }.notification-popover { position:absolute; z-index:20; top:42px; right:0; width:min(365px,85vw); max-height:440px; overflow:auto; background:#fff; border:1px solid var(--line); border-radius:6px; box-shadow:0 12px 30px rgba(20,34,36,.18); padding:10px; }.notification-popover-title { display:flex; justify-content:space-between; align-items:center; padding:7px 8px 11px; }.notification-popover-title button { border:0; color:var(--teal); background:none; font-size:11px; font-weight:800; }.notification-item { display:block; padding:10px; border-radius:5px; }.notification-item:hover { background:#f2f6f5; }.notification-item.new { background:#e9f5f2; }.notification-item strong,.notification-item span,.notification-item small { display:block; }.notification-item strong { font-size:12px; }.notification-item span { color:#536164; margin-top:3px; line-height:1.35; font-size:12px; }.notification-item small { color:#879295; margin-top:5px; font-size:10px; }.tariff-settings { margin-top:-5px; }.settings-note { margin:0 0 14px; color:var(--muted); font-size:12px; }.tariff-form { display:grid; grid-template-columns:1fr 145px 1fr 1.5fr auto auto; gap:10px; align-items:end; padding:12px 0; border-top:1px solid var(--line); }.tariff-active { display:flex; gap:7px; align-items:center; min-height:42px; font-weight:600; }.tariff-active input { min-height:16px; width:16px; accent-color:var(--teal); }.new-tariff .button { min-height:42px; white-space:nowrap; }.billing-instructions { background:#f0f7f6; border-left:3px solid var(--teal); padding:11px 13px; margin:-3px 0 16px; }.billing-instructions strong,.billing-instructions span { display:block; }.billing-instructions strong { font-size:12px; }.billing-instructions span { color:#486568; margin-top:4px; white-space:pre-line; line-height:1.45; font-size:12px; }
@media (max-width:900px) { .tariff-form { grid-template-columns:1fr 1fr; }.tariff-instructions { grid-column:span 2; }.tariff-active { grid-column:auto; } }
@media (max-width:560px) { .tariff-form { grid-template-columns:1fr; }.tariff-instructions { grid-column:auto; }.notification-popover { position:fixed; top:57px; right:12px; } }
.detail-panel { margin:0 0 20px; padding:22px; background:#fff; border:1px solid var(--line); border-radius:6px; }.detail-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; padding-bottom:18px; border-bottom:1px solid var(--line); }.detail-heading h2 { margin:10px 0 5px; font-size:21px; }.detail-heading p { color:var(--muted); margin:0; }.detail-heading>.icon-button { border:1px solid var(--line); flex:0 0 auto; }.detail-form { padding-top:18px; margin-bottom:0; }.form-actions { grid-column:1/-1; display:flex; justify-content:flex-end; padding-top:4px; }.order-form-actions { margin-top:2px; padding-top:16px; border-top:1px solid var(--line); }.detail-subsection { margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }.detail-subsection h3,.order-lines h3 { margin:0 0 12px; font-size:14px; }.mini-links { display:grid; border-top:1px solid #edf0f0; }.row-link { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:12px; padding:11px 4px; border-bottom:1px solid #edf0f0; color:#334044; }.row-link:hover { color:var(--teal); background:#f4f8f7; }.row-link span { min-width:0; display:flex; align-items:center; gap:7px; }.row-link span svg,.row-link>svg { width:16px; flex:0 0 auto; }.row-link small { color:var(--muted); font-size:11px; }.client-link { padding:3px 0; border:0; background:transparent; }.client-link span { display:grid; gap:3px; }.client-link small { white-space:normal; }.order-detail { border-top:3px solid var(--orange); }.order-lines { display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }.order-lines-list,.line-form { min-width:0; border:1px solid var(--line); border-radius:5px; }.order-lines-list { padding:15px; background:#f5f8f7; }.order-lines-list>div { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-top:1px solid #dfe8e6; font-size:13px; }.order-lines-list>div span { color:#4f5c60; }.order-lines-list p { color:var(--muted); font-size:12px; margin:0; }.line-form { display:grid; gap:10px; align-content:start; padding:15px; background:#fff; }.line-form .button { justify-self:start; }.print-lines-heading { margin-top:24px!important; }
.tariff-settings { margin:20px 0; padding:0 19px 16px; background:#fff; border:1px solid var(--line); border-radius:6px; }.tariff-settings .section-heading { min-height:0; padding:18px 0 14px; }.tariff-form { grid-template-columns:minmax(110px,.8fr) minmax(120px,.6fr) minmax(150px,1fr) minmax(180px,1.4fr) auto 38px; }.tariff-form .icon-button { min-height:42px; border:1px solid var(--line); color:var(--teal); }.account-settings { margin-top:20px; }
@media (max-width:900px) { .tariff-form { grid-template-columns:1fr 1fr; }.tariff-form .tariff-instructions { grid-column:span 2; } }
@media (max-width:560px) { .tariff-settings { padding:0 14px 14px; }.tariff-form,.tariff-form .tariff-instructions { grid-template-columns:1fr; grid-column:auto; }.tariff-form .button,.tariff-form .icon-button { width:100%; } }
.payment-details,.broadcast-admin { margin:20px 0; padding:0 19px 19px; background:#fff; border:1px solid var(--line); border-radius:6px; }.payment-details .section-heading,.broadcast-admin .section-heading { min-height:0; padding:18px 0 14px; }.payment-details form { display:grid; gap:12px; }.payment-details .button { justify-self:start; }.broadcast-form { display:grid; grid-template-columns:minmax(170px,.7fr) minmax(240px,1.35fr) minmax(180px,.85fr) auto; gap:12px; align-items:end; }.broadcast-message { grid-column:auto; }.broadcast-form .button { min-height:42px; white-space:nowrap; }.broadcast-history { margin-top:21px; padding-top:17px; border-top:1px solid var(--line); }.broadcast-history h3 { margin:0 0 12px; font-size:14px; }.broadcast-history article { display:grid; grid-template-columns:86px minmax(0,1fr); gap:12px; padding:11px 0; border-top:1px solid #edf0f0; }.broadcast-history article>div:first-child:empty { display:none; }.broadcast-history img,.broadcast-history video { width:86px; height:58px; object-fit:cover; border-radius:4px; background:#eef2f1; }.broadcast-history strong,.broadcast-history small { display:block; }.broadcast-history p { margin:4px 0; color:#536164; line-height:1.4; font-size:12px; }.broadcast-history small { color:var(--muted); font-size:11px; }.broadcast-popover { width:min(390px,92vw); }.broadcast-item { cursor:default; }.broadcast-item img,.broadcast-item video { display:block; width:96px; height:64px; margin-top:9px; border-radius:4px; object-fit:cover; background:#eef2f1; }.workspace-notification-menu summary { border:1px solid var(--line); border-radius:5px; background:#fff; }.workspace-notification-menu summary:hover { background:#f4f8f7; }
.broadcast-modal-backdrop { position:fixed; z-index:100; inset:0; display:grid; place-items:center; padding:20px; background:rgba(18,35,37,.46); }
.broadcast-modal { position:relative; width:min(520px,100%); max-height:min(720px,calc(100vh - 40px)); overflow:auto; padding:30px; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:0 24px 70px rgba(11,25,27,.28); }
.broadcast-modal h2 { margin:0 0 12px; font-size:24px; line-height:1.2; }
.broadcast-modal p:not(.eyebrow) { margin:0 0 16px; color:#536164; line-height:1.55; white-space:pre-line; }
.broadcast-modal img,.broadcast-modal video { display:block; width:100%; max-height:270px; margin:0 0 15px; border-radius:6px; object-fit:cover; background:#eef2f1; }
.broadcast-modal>small { display:block; margin-bottom:18px; color:var(--muted); font-size:11px; }
.broadcast-modal-close { position:absolute; top:12px; right:12px; border:1px solid var(--line); }
@media (max-width:980px) { .broadcast-form { grid-template-columns:1fr 1fr; }.broadcast-message { grid-column:span 2; } }
@media (max-width:560px) { .payment-details,.broadcast-admin { padding:0 14px 14px; }.broadcast-form { grid-template-columns:1fr; }.broadcast-message { grid-column:auto; }.broadcast-form .button,.payment-details .button { width:100%; }.broadcast-history article { grid-template-columns:70px minmax(0,1fr); }.broadcast-history img,.broadcast-history video { width:70px; height:52px; }.broadcast-modal-backdrop { padding:12px; }.broadcast-modal { padding:24px 18px 18px; }.broadcast-modal h2 { padding-right:28px; font-size:20px; }.broadcast-modal img,.broadcast-modal video { max-height:210px; } }
@media (max-width:760px) { .detail-panel { padding:17px; }.detail-heading { gap:12px; }.detail-heading h2 { font-size:19px; }.order-lines { grid-template-columns:1fr; }.row-link { grid-template-columns:minmax(0,1fr) auto; }.row-link>svg { display:none; }.row-link small { text-align:right; }.line-form .button { width:100%; }.client-link { grid-template-columns:minmax(0,1fr) auto; } }
.platform-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 20px; }.platform-stats article { display:flex; align-items:center; gap:11px; min-height:74px; padding:14px 16px; background:#fff; border:1px solid var(--line); border-radius:6px; }.platform-stats article svg { width:22px; color:var(--teal); }.platform-stats article:nth-child(2) svg { color:var(--orange); }.platform-stats strong,.platform-stats span { display:block; }.platform-stats strong { font-size:22px; line-height:1; }.platform-stats span { margin-top:5px; color:var(--muted); font-size:11px; font-weight:700; }.tariff-form { grid-template-columns:minmax(130px,1fr) 130px minmax(180px,1.25fr) auto 38px; }.tariff-form .tariff-instructions { display:none; }.tariff-form label:nth-of-type(3) { min-width:0; }.tariff-settings .section-heading p:after { content:' Реквизиты задаются отдельно выше.'; }.payment-details,.broadcast-admin,.tariff-settings { box-shadow:0 1px 1px rgba(25,33,38,.02); }
@media (min-width:981px) { .platform-content { display:grid; grid-template-columns:minmax(350px,.82fr) minmax(500px,1.18fr); column-gap:22px; align-items:start; }.platform-title { grid-column:1/-1; grid-row:1; }.platform-content>.flash { grid-column:1/-1; grid-row:2; }.platform-stats { grid-column:1/-1; grid-row:3; }.manual-connect { grid-column:1; grid-row:4; }.account-settings { grid-column:1; grid-row:5; }.payment-details { grid-column:1; grid-row:6; }.broadcast-admin { grid-column:1; grid-row:7; }.tariff-settings { grid-column:1; grid-row:8; }.payment-requests { grid-column:2; grid-row:4; margin-top:0; }.admin-workshops { grid-column:2; grid-row:5; margin-top:20px; }.platform-content .broadcast-form { grid-template-columns:1fr 1fr; }.platform-content .broadcast-message { grid-column:span 2; }.platform-content .tariff-form { grid-template-columns:1fr 120px; }.platform-content .tariff-form label:nth-of-type(3) { grid-column:span 2; }.platform-content .tariff-form .tariff-active { grid-column:1; }.platform-content .tariff-form .icon-button,.platform-content .tariff-form .button { grid-column:2; width:100%; } }
@media (max-width:980px) { .tariff-form { grid-template-columns:1fr 125px; }.tariff-form label:nth-of-type(3) { grid-column:span 2; }.tariff-form .tariff-active { grid-column:1; }.tariff-form .icon-button,.tariff-form .button { grid-column:2; width:100%; } }
@media (max-width:560px) { .platform-stats { gap:8px; }.platform-stats article { min-height:68px; padding:11px; gap:8px; }.platform-stats article svg { width:18px; }.platform-stats strong { font-size:18px; }.platform-stats span { font-size:10px; }.tariff-form,.tariff-form label:nth-of-type(3) { grid-template-columns:1fr; grid-column:auto; }.tariff-form .tariff-active,.tariff-form .icon-button,.tariff-form .button { grid-column:auto; } }
.tariff-form>*,.subscription-form>* { min-width:0; }.tariff-form input,.tariff-form textarea,.subscription-form input,.subscription-form select { width:100%; min-width:0; max-width:100%; }.subscription-form { grid-template-columns:repeat(4,minmax(0,1fr)) auto; }.subscription-form .button { min-width:0; }.tariff-form { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr) auto 38px; }
@media (min-width:981px) { .platform-content .tariff-form { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
@media (max-width:980px) { .tariff-form { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
.broadcast-form>* { min-width:0; }.broadcast-form input[type="file"] { width:100%; min-width:0; max-width:100%; }.broadcast-form .button { min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; }.broadcast-form { grid-template-columns:minmax(0,.7fr) minmax(0,1.35fr) minmax(0,.85fr) minmax(0,auto); }
@media (min-width:981px) { .platform-content .broadcast-form { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
@media (max-width:980px) { .broadcast-form { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }.broadcast-message { grid-column:span 2; } }
@media (max-width:560px) { .broadcast-form { grid-template-columns:1fr; }.broadcast-message { grid-column:auto; } }
.admin-board { display:grid; gap:20px; align-items:start; }.admin-settings-stack,.admin-operations-stack { display:grid; gap:20px; align-content:start; }.admin-settings-stack>.manual-connect,.admin-settings-stack>.payment-details,.admin-settings-stack>.broadcast-admin,.admin-settings-stack>.tariff-settings,.admin-operations-stack>.payment-requests,.admin-operations-stack>.admin-workshops { margin:0; }
@media (min-width:981px) { .platform-content { display:block; }.admin-board { grid-template-columns:minmax(350px,.82fr) minmax(500px,1.18fr); column-gap:22px; }.admin-settings-stack,.admin-operations-stack { min-width:0; }.platform-content .broadcast-form { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }.platform-content .tariff-form { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
.toolbar-actions { display:flex; flex-wrap:wrap; gap:9px; justify-content:flex-end; }.import-form small { display:block; margin-top:7px; color:var(--muted); font-size:11px; line-height:1.4; }.employee-grid article>div { flex:1; }.employee-grid .icon-button { flex:0 0 auto; border:1px solid var(--line); color:var(--teal); }
.finance-toolbar { display:flex; justify-content:space-between; align-items:end; gap:18px; margin:0 0 18px; }.finance-toolbar p { max-width:620px; margin:0; color:var(--muted); font-size:13px; line-height:1.5; }.finance-toolbar form { display:flex; align-items:end; gap:9px; }.finance-toolbar label { min-width:150px; font-size:12px; font-weight:700; color:var(--ink); }.finance-toolbar input { margin-top:5px; }.finance-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin-bottom:20px; }.finance-stats article { display:flex; align-items:center; gap:12px; min-width:0; padding:16px; background:#fff; border:1px solid var(--line); border-radius:6px; }.finance-stats article>svg { width:24px; flex:0 0 auto; color:var(--teal); }.finance-stats article:nth-child(2)>svg { color:#bd5d2f; }.finance-stats article:nth-child(3)>svg { color:#826b24; }.finance-stats article.profit>svg { color:#2b8a5c; }.finance-stats span,.finance-stats strong,.finance-stats small { display:block; }.finance-stats span,.finance-stats small { color:var(--muted); font-size:11px; font-weight:700; }.finance-stats strong { margin:4px 0; font-size:20px; line-height:1.15; white-space:nowrap; }.finance-grid { display:grid; grid-template-columns:minmax(270px,.8fr) minmax(0,1.2fr); gap:18px; align-items:start; }.expense-form { margin:0; }.payroll-panel,.finance-expenses { background:#fff; border:1px solid var(--line); border-radius:6px; padding:0 18px 18px; }.payroll-panel .section-heading,.finance-expenses .section-heading { min-height:0; padding:17px 0 13px; }.payroll-panel small { display:block; margin-top:3px; color:var(--muted); font-size:11px; }.finance-expenses { margin-top:18px; }.finance-expenses table td:last-child { width:42px; }.finance-expenses .icon-button { border:1px solid var(--line); }
@media (max-width:980px) { .finance-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }.finance-grid { grid-template-columns:1fr; }.finance-toolbar { align-items:stretch; flex-direction:column; }.finance-toolbar form { justify-content:flex-start; } }
@media (max-width:560px) { .toolbar-actions { width:100%; }.toolbar-actions .button { flex:1; }.finance-stats { grid-template-columns:1fr 1fr; gap:9px; }.finance-stats article { padding:12px; gap:8px; }.finance-stats article>svg { width:19px; }.finance-stats strong { font-size:16px; white-space:normal; }.finance-toolbar form { width:100%; align-items:stretch; flex-direction:column; }.finance-toolbar label { width:100%; }.finance-toolbar .button { width:100%; }.payroll-panel,.finance-expenses { padding:0 14px 14px; } }
.support-admin { background:#fff; border:1px solid var(--line); border-radius:6px; padding:0 19px 19px; }.support-admin .admin-section-title { padding-top:18px; }.support-admin-layout { display:grid; grid-template-columns:minmax(190px,.65fr) minmax(0,1.35fr); gap:14px; }.support-conversation-list { display:grid; align-content:start; gap:6px; max-height:390px; overflow:auto; }.support-conversation { position:relative; display:block; padding:10px; border-radius:5px; color:#334044; background:#f3f7f6; }.support-conversation:hover,.support-conversation.selected { background:#e1f1ee; color:var(--ink); }.support-conversation strong,.support-conversation span,.support-conversation small { display:block; }.support-conversation strong { font-size:12px; }.support-conversation span { margin-top:3px; color:#586669; font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.support-conversation small { margin-top:4px; color:var(--muted); font-size:10px; }.support-conversation b { position:absolute; right:8px; top:8px; min-width:18px; height:18px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--orange); font-size:10px; }.support-thread { min-width:0; border:1px solid var(--line); border-radius:5px; overflow:hidden; }.support-thread-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 12px; background:#f5f8f7; border-bottom:1px solid var(--line); }.support-thread-heading strong,.support-thread-heading small { display:block; }.support-thread-heading small { margin-top:3px; color:var(--muted); font-size:10px; }.support-thread-heading .icon-button { border:1px solid var(--line); color:var(--teal); }.support-messages { display:grid; gap:9px; max-height:265px; overflow:auto; padding:13px; background:#fbfcfc; }.support-message { width:min(84%,520px); padding:10px 12px; border-radius:5px; background:#e6f2f0; color:#264346; }.support-message.admin { justify-self:end; background:#fbe8dc; color:#5c3525; }.support-message span,.support-message small { display:block; }.support-message span { line-height:1.42; font-size:12px; }.support-message small { margin-top:6px; color:#6d7a7c; font-size:10px; }.support-message.admin small { color:#8a6a5a; }.support-composer { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; align-items:end; padding:11px; border-top:1px solid var(--line); background:#fff; }.support-composer textarea { width:100%; min-height:64px; resize:vertical; }.support-page { max-width:940px; background:#fff; border:1px solid var(--line); border-radius:6px; overflow:hidden; }.support-page-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; padding:22px; border-bottom:1px solid var(--line); }.support-page-heading h2 { margin:4px 0 6px; font-size:21px; }.support-page-heading p { margin:0; color:var(--muted); font-size:13px; }.workspace-support-messages { min-height:300px; max-height:480px; }.workspace-support-composer { grid-template-columns:1fr; padding:18px 22px; }.workspace-support-composer .button { justify-self:start; }.support-empty { display:grid; place-items:center; align-content:center; gap:8px; min-height:250px; color:var(--muted); text-align:center; }.support-empty svg { width:31px; color:var(--teal); }.support-empty p { margin:0; font-size:13px; }
@media (max-width:760px) { .support-admin { padding:0 14px 14px; }.support-admin-layout { grid-template-columns:1fr; }.support-conversation-list { max-height:210px; }.support-page-heading { padding:18px; }.support-page-heading .status { flex:0 0 auto; }.workspace-support-composer { padding:14px; }.support-composer { grid-template-columns:1fr; }.support-composer .button { width:100%; }.support-message { width:92%; } }
.platform-shell { display:grid; grid-template-columns:228px minmax(0,1fr); grid-template-rows:72px minmax(0,1fr); }.platform-header { grid-column:1/-1; padding:0 28px; }.platform-sidebar { grid-column:1; grid-row:2; min-height:calc(100vh - 72px); padding:24px 13px; background:var(--nav); color:#d5dfdf; }.platform-sidebar-label { margin:0 10px 9px; color:#8fa3a5; font-size:10px; font-weight:800; letter-spacing:0; }.platform-sidebar-label:not(:first-child) { margin-top:25px; }.platform-nav { display:grid; gap:3px; padding:0; }.platform-nav a { min-height:40px; display:flex; align-items:center; gap:10px; padding:0 10px; border-radius:5px; color:#d5dfdf; font-size:13px; font-weight:700; }.platform-nav a:hover,.platform-nav a.selected { color:#fff; background:#294047; }.platform-nav a.selected svg { color:#ff9a62; }.platform-nav svg { width:17px; color:#98abad; }.platform-nav b { min-width:18px; height:18px; margin-left:auto; display:grid; place-items:center; border-radius:50%; background:var(--orange); color:#fff; font-size:10px; }.platform-content { grid-column:2; grid-row:2; max-width:none; width:100%; margin:0; padding:32px min(4vw,54px) 58px; min-width:0; }.platform-content .platform-title { margin-bottom:22px; }.platform-content .platform-title h1 { font-size:27px; }.platform-content>[data-admin-view] { margin-top:0!important; }.platform-content>[data-admin-view][hidden] { display:none!important; }.platform-content .manual-connect,.platform-content .payment-details,.platform-content .broadcast-admin,.platform-content .tariff-settings,.platform-content .support-admin,.platform-content .payment-requests,.platform-content .admin-workshops { max-width:1180px; }.platform-content .platform-stats { max-width:900px; }.connected-workshops .no-requests { padding:20px; }.platform-content .support-admin { padding-bottom:18px; }.platform-content .support-admin-layout { grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr); }.platform-content .support-messages { max-height:420px; }.platform-content .broadcast-form { grid-template-columns:minmax(180px,.8fr) minmax(280px,1.5fr) minmax(190px,.9fr) auto; }.platform-content .tariff-form { grid-template-columns:minmax(130px,.8fr) minmax(130px,.7fr) minmax(190px,1.2fr) auto 38px; }.platform-content .tariff-form .tariff-instructions { display:none; }
@media (max-width:1100px) { .platform-content .broadcast-form { grid-template-columns:1fr 1fr; }.platform-content .broadcast-message { grid-column:span 2; }.platform-content .tariff-form { grid-template-columns:1fr 140px; }.platform-content .tariff-form label:nth-of-type(3) { grid-column:span 2; }.platform-content .tariff-form .tariff-active { grid-column:1; }.platform-content .tariff-form .icon-button,.platform-content .tariff-form .button { grid-column:2; width:100%; } }
@media (max-width:900px) { .platform-shell { display:block; }.platform-header { padding:0 18px; }.platform-sidebar { min-height:0; padding:13px 14px; }.platform-sidebar-label { display:none; }.platform-nav { display:flex; gap:5px; overflow-x:auto; padding:0 0 2px; }.platform-nav a { flex:0 0 auto; min-height:38px; }.platform-content { padding:24px 18px 42px; }.platform-content .support-admin-layout { grid-template-columns:1fr; }.platform-content .support-conversation-list { max-height:180px; }.platform-content .platform-title { align-items:flex-start; }.platform-content .platform-count { display:none; } }
@media (max-width:1320px) { .content .finance-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }.content .finance-grid { grid-template-columns:1fr; }.content .finance-toolbar { align-items:flex-start; flex-direction:column; }.content .support-page { max-width:none; }.content .workspace-support-messages { max-height:360px; } }
.referral-panel { display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; align-items:center; gap:18px; padding:18px 20px; margin:0 0 22px; border:1px solid #b8d8d2; border-left:4px solid var(--teal); border-radius:6px; background:#fff; }.referral-panel-copy .eyebrow { margin-bottom:5px; }.referral-panel h2 { margin:0 0 5px; font-size:17px; }.referral-panel p:not(.eyebrow) { max-width:470px; margin:0; color:var(--muted); font-size:12px; line-height:1.45; }.referral-code { display:grid; grid-template-columns:auto 32px; align-items:center; column-gap:7px; min-width:154px; padding:9px 10px; border:1px solid var(--line); border-radius:5px; background:#f5f8f7; }.referral-code span { grid-column:1/-1; color:var(--muted); font-size:10px; font-weight:700; }.referral-code strong { color:var(--teal); font-size:15px; letter-spacing:0; }.referral-code .icon-button { border:1px solid var(--line); color:var(--teal); }.referral-stats { display:grid; gap:4px; color:var(--muted); font-size:11px; white-space:nowrap; }.referral-stats strong { color:var(--ink); font-size:15px; }.referral-panel .button { white-space:nowrap; }
@media (max-width:1100px) { .referral-panel { grid-template-columns:minmax(0,1fr) auto auto; }.referral-panel .button { grid-column:1/-1; justify-self:start; } }
@media (max-width:640px) { .referral-panel { grid-template-columns:1fr; gap:12px; padding:16px; }.referral-code { width:100%; }.referral-panel .button { width:100%; justify-self:stretch; } }
.support-messages { display:flex; flex-direction:column; gap:6px; padding:12px; background:#eef3f2; }.support-message { align-self:flex-start; width:fit-content; max-width:min(68%,560px); padding:7px 9px 5px; border-radius:6px 6px 6px 2px; background:#fff; box-shadow:0 1px 1px rgba(25,33,38,.08); }.support-message.admin { align-self:flex-end; justify-self:auto; border-radius:6px 6px 2px 6px; background:#dcf4dd; color:#24432d; }.support-message span { font-size:12px; line-height:1.35; }.support-message small { margin-top:3px; text-align:right; font-size:9px; line-height:1.2; }.support-message.admin small { color:#6f8372; }.support-thread .support-messages { max-height:330px; }.workspace-support-messages { min-height:260px; max-height:420px; }.support-composer { padding:9px 11px; gap:7px; }.support-composer textarea { min-height:52px; }.workspace-support-composer { padding:13px 16px; }.support-empty { min-height:220px; }
@media (max-width:560px) { .support-message { max-width:84%; }.workspace-support-messages { min-height:230px; }.support-composer textarea { min-height:48px; } }
.support-message span { white-space:pre-wrap; overflow-wrap:anywhere; }
.support-start-form { display:grid; grid-template-columns:minmax(220px,.6fr) minmax(280px,1.4fr) auto; gap:10px; align-items:end; margin:0 0 15px; padding:12px; border:1px solid #d9e7e4; border-radius:5px; background:#f5f9f8; }.support-start-form label { display:grid; gap:5px; min-width:0; color:#536467; font-size:11px; font-weight:800; }.support-start-form select,.support-start-form textarea { width:100%; min-width:0; background:#fff; }.support-start-form textarea { min-height:42px; resize:vertical; }.support-start-form .button { min-height:40px; white-space:nowrap; }
@media (max-width:760px) { .support-start-form { grid-template-columns:1fr; }.support-start-form .button { width:100%; } }
.order-line-manager { margin:20px 0; padding:0 18px 18px; border:1px solid var(--line); border-radius:6px; background:#fff; }.order-line-manager .section-heading { min-height:0; padding:17px 0 13px; }.order-line-manager .section-heading h2 { margin:0 0 4px; font-size:16px; }.order-line-manager .section-heading p { margin:0; color:var(--muted); font-size:11px; }.order-line-manager-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.order-line-manager-grid>div { min-width:0; }.order-line-manager-grid h3 { margin:0 0 9px; font-size:13px; }.order-line-editor { display:grid; grid-template-columns:minmax(0,1fr) 34px; gap:6px; align-items:center; padding:7px 0; border-top:1px solid #edf0f0; }.order-line-editor>form:first-child { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) 72px 92px 34px; gap:6px; align-items:center; }.order-line-editor input { min-width:0; min-height:34px; padding:6px 8px; font-size:11px; }.order-line-editor .icon-button { min-width:34px; min-height:34px; padding:5px; border:1px solid var(--line); color:var(--teal); }.order-line-editor .reject { color:#b34a34; }.order-lines-empty { margin:0; padding:11px 0; color:var(--muted); font-size:12px; }
@media (max-width:900px) { .order-line-manager-grid { grid-template-columns:1fr; }.order-line-editor>form:first-child { grid-template-columns:minmax(0,1fr) 72px 92px 34px; } }
@media (max-width:560px) { .order-line-manager { padding:0 14px 14px; }.order-line-editor { grid-template-columns:1fr; }.order-line-editor>form:first-child { grid-template-columns:minmax(0,1fr) 64px 82px 34px; }.order-line-editor>form:last-child { justify-self:end; } }
.platform-analytics { margin:0 0 20px; }.platform-analytics .section-heading { min-height:0; padding:0 0 13px; }.platform-analytics .section-heading h2 { margin:0 0 4px; font-size:19px; }.platform-analytics .section-heading p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }.platform-analytics-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.platform-analytics-grid>article,.performance-panel { min-width:0; padding:16px; border:1px solid var(--line); border-radius:6px; background:#fff; }.analytics-card-heading { display:flex; align-items:center; gap:8px; color:#344346; font-size:13px; }.analytics-card-heading svg { width:18px; color:var(--teal); }.platform-analytics-grid>article:nth-child(2) .analytics-card-heading svg { color:#3d6eaa; }.platform-analytics-grid>article:nth-child(3) .analytics-card-heading svg { color:var(--orange); }.analytics-list { display:grid; gap:0; margin:12px 0 0; }.analytics-list>div { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid #edf0f0; }.analytics-list dt { min-width:0; color:#667477; font-size:11px; font-weight:650; }.analytics-list dd { margin:0; color:var(--ink); font-size:14px; font-weight:850; }.performance-panel { margin-top:12px; padding:0; overflow:hidden; }.performance-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:16px; border-bottom:1px solid var(--line); }.performance-heading h3 { margin:0 0 4px; font-size:15px; }.performance-heading p { max-width:680px; margin:0; color:var(--muted); font-size:11px; line-height:1.45; }.performance-heading>span { flex:0 0 auto; padding:5px 8px; border-radius:4px; color:#456064; background:#edf5f3; font-size:10px; font-weight:800; white-space:nowrap; }.performance-table-wrap { width:100%; overflow:auto; }.performance-table { width:100%; min-width:950px; border-collapse:collapse; }.performance-table th,.performance-table td { padding:11px 13px; border-bottom:1px solid #edf0f0; vertical-align:middle; text-align:left; white-space:nowrap; }.performance-table th { color:#778588; background:#f8faf9; font-size:10px; font-weight:850; }.performance-table td { color:#3f4d50; font-size:11px; }.performance-table tr:last-child td { border-bottom:0; }.performance-table td:first-child { min-width:170px; white-space:normal; }.performance-table strong,.performance-table small { display:block; }.performance-table strong { color:var(--ink); font-size:11px; }.performance-table small { margin-top:3px; color:var(--muted); font-size:10px; }.activity-status { display:inline-flex; align-items:center; min-height:22px; padding:3px 6px; border-radius:4px; font-size:10px; font-weight:800; }.activity-status.week { color:#1c7049; background:#e3f4e9; }.activity-status.month { color:#8a6415; background:#fff3dc; }.activity-status.idle { color:#8a4340; background:#fdeae8; }
@media (max-width:900px) { .platform-analytics-grid { grid-template-columns:1fr; }.performance-heading { align-items:stretch; flex-direction:column; }.performance-heading>span { align-self:flex-start; } }
@media (max-width:560px) { .platform-analytics-grid { gap:9px; }.platform-analytics-grid>article { padding:14px; }.performance-heading { padding:14px; }.performance-table th,.performance-table td { padding:10px 11px; } }
.calendar-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:24px 0 17px; }.calendar-month-controls,.calendar-legend { display:flex; align-items:center; gap:9px; }.calendar-month-controls h2 { min-width:190px; margin:0; font-size:20px; text-align:center; }.calendar-month-controls .icon-button { border:1px solid var(--line); background:#fff; color:var(--teal); }.calendar-legend { gap:12px; }.calendar-key { display:inline-flex; align-items:center; gap:6px; color:#5d696c; font-size:11px; font-weight:800; white-space:nowrap; }.calendar-key:before { content:""; width:8px; height:8px; border-radius:50%; background:#7999c2; }.calendar-key.work:before { background:#e27637; }.calendar-key.ready:before { background:#319261; }.calendar-board { overflow:hidden; border:1px solid var(--line); border-radius:6px; background:#fff; }.calendar-weekdays,.calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }.calendar-weekdays { border-bottom:1px solid var(--line); background:#f7f9f9; }.calendar-weekdays span { padding:11px 10px; color:#748184; font-size:11px; font-weight:800; text-align:right; }.calendar-day { position:relative; min-width:0; min-height:152px; padding:8px; border-right:1px solid #e7eceb; border-bottom:1px solid #e7eceb; background:#fff; }.calendar-day:nth-child(7n) { border-right:0; }.calendar-day:nth-last-child(-n+7) { border-bottom:0; }.calendar-day.outside { background:#fafbfb; }.calendar-day.outside time { color:#aeb8b9; }.calendar-day.today { box-shadow:inset 0 0 0 2px var(--teal); z-index:1; }.calendar-day-heading { display:flex; align-items:center; justify-content:space-between; min-height:25px; }.calendar-day time { color:#354246; font-size:12px; font-weight:800; }.calendar-add { min-width:25px; min-height:25px; padding:4px; color:#728184; opacity:0; }.calendar-day:hover .calendar-add,.calendar-add:focus-visible { opacity:1; }.calendar-add:hover { color:#fff; background:var(--teal); }.calendar-add svg { width:15px; }.calendar-events { display:grid; gap:4px; margin-top:5px; }.calendar-event { display:grid; grid-template-columns:32px minmax(0,1fr); column-gap:4px; padding:5px 6px; border-left:3px solid #7999c2; border-radius:3px; background:#eaf0f8; color:#365d88; overflow:hidden; }.calendar-event.inspection { border-color:#c39226; background:#fbf1d9; color:#805d14; }.calendar-event.work { border-color:#df6f31; background:#feeadf; color:#a44720; }.calendar-event.ready,.calendar-event.closed { border-color:#319261; background:#e3f3ea; color:#247449; }.calendar-event span { grid-row:span 2; padding-top:1px; font-size:10px; font-weight:800; }.calendar-event strong,.calendar-event small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.calendar-event strong { font-size:10px; }.calendar-event small { margin-top:2px; font-size:9px; opacity:.84; }.calendar-order-form { margin-top:18px; }.calendar-order-form .form-heading p { margin:4px 0 0; color:var(--muted); font-size:12px; }
@media (max-width:900px) { .calendar-toolbar { align-items:flex-start; flex-direction:column; }.calendar-day { min-height:130px; }.calendar-legend { flex-wrap:wrap; } }
@media (max-width:640px) { .calendar-board { overflow-x:auto; }.calendar-weekdays,.calendar-grid { min-width:630px; }.calendar-day { min-height:118px; }.calendar-add { opacity:1; }.calendar-month-controls h2 { min-width:160px; font-size:17px; }.calendar-month-controls .text-link { display:none; } }
.calendar-page-content { height:100vh; overflow:hidden; padding-bottom:12px; }.calendar-page-content .topbar { min-height:88px; }.calendar-page-content .calendar-toolbar { min-height:62px; padding:12px 0 9px; }.calendar-page-content .calendar-board { height:calc(100dvh - 162px); display:grid; grid-template-rows:34px minmax(0,1fr); }.calendar-page-content .calendar-weekdays { min-height:0; }.calendar-page-content .calendar-weekdays span { padding:8px 10px; }.calendar-page-content .calendar-grid { min-height:0; grid-template-rows:repeat(var(--calendar-weeks),minmax(0,1fr)); }.calendar-page-content .calendar-day { min-height:0; overflow:hidden; }.calendar-page-content .calendar-events { max-height:calc(100% - 30px); overflow:auto; scrollbar-width:thin; }.calendar-page-content .calendar-order-form { position:fixed; z-index:20; left:50%; top:50%; width:min(900px,calc(100vw - 36px)); max-height:calc(100dvh - 36px); margin:0; overflow:auto; transform:translate(-50%,-50%); box-shadow:0 20px 60px rgba(19,34,38,.24); }.calendar-page-content .calendar-order-form:not(.hidden)::before { content:""; position:fixed; z-index:-1; inset:-100vmax; background:rgba(16,30,33,.34); }
@media (max-width:900px) { .calendar-page-content { height:auto; overflow:visible; }.calendar-page-content .calendar-board { height:auto; display:block; }.calendar-page-content .calendar-grid { grid-template-rows:none; }.calendar-page-content .calendar-day { min-height:130px; overflow:visible; }.calendar-page-content .calendar-events { max-height:none; overflow:visible; }.calendar-page-content .calendar-order-form { position:static; width:auto; max-height:none; transform:none; box-shadow:none; }.calendar-page-content .calendar-order-form:not(.hidden)::before { display:none; } }
.calendar-day[data-calendar-date] { cursor:pointer; }.calendar-day[data-calendar-date]:hover { background:#f7fbfa; }.calendar-add { display:inline-grid; place-items:center; }.calendar-day:not([data-calendar-date]) .calendar-add { visibility:hidden; }
.calendar-intake-section { margin:0 0 18px; padding:0 0 16px; border-bottom:1px solid #e5ebea; }.calendar-intake-section h3 { display:flex; align-items:center; gap:8px; margin:0 0 12px; color:#324044; font-size:14px; }.calendar-intake-section h3 svg { width:17px; color:var(--teal); }.calendar-intake-section .form-grid { margin-bottom:0; }.calendar-intake-section:last-of-type { margin-bottom:18px; }
@media (max-width:1100px) { .platform-content .admin-workshops { max-width:none; }.tenant-card { min-width:0; }.tenant-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; }.tenant-actions .subscription-form { min-width:0; width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }.tenant-actions .subscription-form label { min-width:0; }.tenant-actions .subscription-form input,.tenant-actions .subscription-form select { width:100%; min-width:0; max-width:100%; }.tenant-actions .subscription-form .button { grid-column:1/-1; width:100%; }.delete-tenant-form { align-self:end; }.delete-tenant-form .icon-button { border:1px solid var(--line); } }
@media (max-width:900px) { .platform-header { min-height:64px; height:auto; padding:10px 16px; gap:12px; }.platform-header .brand { min-width:0; font-size:17px; }.platform-header .brand span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.platform-owner { margin-left:auto; gap:7px; }.platform-owner>span { display:none; }.platform-sidebar { padding:12px 14px 14px; }.platform-sidebar-label { display:block; margin:0 0 8px; }.platform-sidebar-label:not(:first-child) { margin-top:15px; }.platform-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; overflow:visible; }.platform-nav a { min-width:0; min-height:42px; padding:0 9px; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.platform-nav b { margin-left:auto; flex:0 0 auto; }.platform-content { padding:22px 16px 36px; }.platform-title { margin-bottom:18px; }.platform-title h1 { font-size:24px; }.platform-content .platform-stats { max-width:none; } }
@media (max-width:640px) { .platform-header { padding:9px 13px; }.platform-header .brand { font-size:16px; }.platform-header .brand svg { width:21px; }.platform-sidebar { padding:10px 12px 12px; }.platform-nav { grid-template-columns:1fr; }.platform-nav a { min-height:44px; font-size:13px; }.platform-sidebar-label:not(:first-child) { margin-top:13px; }.platform-content { padding:18px 12px 30px; }.platform-title h1 { font-size:21px; }.platform-title p:not(.eyebrow) { font-size:12px; line-height:1.45; }.platform-stats { grid-template-columns:1fr; }.tenant-card { padding:15px; }.tenant-identity { gap:10px; flex-wrap:wrap; }.tenant-identity>.status { margin-left:auto; }.tenant-details { display:grid; gap:9px; margin:14px 0; }.tenant-details span { min-width:0; overflow-wrap:anywhere; }.tenant-actions { grid-template-columns:1fr; gap:10px; }.tenant-actions .subscription-form { grid-template-columns:1fr; gap:12px; }.tenant-actions .subscription-form .button { grid-column:auto; }.delete-tenant-form { justify-self:end; }.tenant-actions input,.tenant-actions select,.tenant-actions .button { width:100%; }.delete-tenant-form .icon-button { width:42px; } }
.platform-menu-toggle { display:none; }
@media (max-width:900px) { .platform-menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:36px; padding:0 10px; border:1px solid var(--line); border-radius:5px; background:#fff; color:#364449; font-size:12px; font-weight:800; }.platform-menu-toggle svg { width:16px; color:var(--teal); }.platform-shell { position:relative; }.platform-sidebar { position:fixed; top:64px; right:0; left:0; z-index:40; max-height:calc(100dvh - 64px); overflow-y:auto; background:var(--nav); box-shadow:0 12px 26px rgba(16,31,34,.2); opacity:0; pointer-events:none; transform:translateY(-16px); transition:opacity .18s ease,transform .18s ease; }.platform-shell.mobile-menu-open .platform-sidebar { opacity:1; pointer-events:auto; transform:translateY(0); }.platform-shell.mobile-menu-open .platform-menu-toggle { color:var(--teal); border-color:#9dcfc9; background:#f0f8f6; } }

/* Keep every platform settings form inside the mobile viewport. */
.platform-content>[data-admin-view="settings"],
.platform-content>[data-admin-view="settings"]>*,
.platform-content>[data-admin-view="settings"] form,
.platform-content>[data-admin-view="settings"] .form-grid,
.platform-content>[data-admin-view="settings"] .form-grid>*,
.platform-content>[data-admin-view="settings"] .section-heading,
.platform-content>[data-admin-view="settings"] .section-heading>div,
.platform-content>[data-admin-view="settings"] .password-field,
.platform-content>[data-admin-view="settings"] label {
    min-width:0;
    max-width:100%;
}
.platform-content>[data-admin-view="settings"] input:not([type="checkbox"]),
.platform-content>[data-admin-view="settings"] select,
.platform-content>[data-admin-view="settings"] textarea {
    width:100%;
    min-width:0;
    max-width:100%;
}
.platform-content>[data-admin-view="settings"] h2,
.platform-content>[data-admin-view="settings"] p,
.platform-content>[data-admin-view="settings"] small,
.platform-content>[data-admin-view="settings"] label,
.platform-content>[data-admin-view="settings"] summary span,
.platform-content>[data-admin-view="settings"] .landing-image-preview span {
    overflow-wrap:anywhere;
}
@media (max-width:640px) {
    .platform-shell,
    .platform-content {
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }
    .platform-content>[data-admin-view="settings"] .form-grid {
        grid-template-columns:minmax(0,1fr);
    }
    .platform-content>[data-admin-view="settings"] .span-two {
        grid-column:auto;
    }
    .platform-content>[data-admin-view="settings"] .button {
        width:100%;
        min-width:0;
        max-width:100%;
        height:auto;
        min-height:42px;
        padding:9px 12px;
        white-space:normal;
        overflow-wrap:anywhere;
    }
    .platform-content>[data-admin-view="settings"] input[type="file"] {
        font-size:12px;
        overflow:hidden;
    }
    .platform-content>[data-admin-view="settings"] .landing-image-preview {
        min-width:0;
        max-width:100%;
        flex-wrap:wrap;
    }
}

.notification-popover-title .push-enable-button { display:inline-flex; align-items:center; gap:5px; min-height:28px; margin-left:auto; padding:4px 7px; border:1px solid #bdd8d3; border-radius:4px; background:#edf7f5; color:#176d64; font-size:10px; font-weight:800; white-space:nowrap; }.notification-popover-title .push-enable-button svg { width:13px; height:13px; }.notification-popover-title .push-enable-button[data-push-status="enabled"] { border-color:#b9dfc8; background:#e8f6ed; color:#247348; }.notification-popover-title .push-enable-button[data-push-status="error"] { border-color:#edc4b3; background:#fff1eb; color:#a44824; }.notification-popover-title .push-enable-button:disabled { opacity:.7; cursor:default; }.notification-popover-title form { margin-left:0; }
.alerts-enable-button { display:inline-flex; align-items:center; gap:6px; min-height:34px; max-width:210px; padding:6px 9px; border:1px solid #bdd8d3; border-radius:5px; background:#edf7f5; color:#176d64; font-size:10px; font-weight:800; white-space:nowrap; }.alerts-enable-button svg { width:15px; height:15px; }.alerts-enable-button[data-push-status="enabled"] { border-color:#b9dfc8; background:#e8f6ed; color:#247348; }.alerts-enable-button[data-push-status="error"] { border-color:#edc4b3; background:#fff1eb; color:#a44824; }.alerts-enable-button:disabled { opacity:.72; cursor:default; }
@media (max-width:420px) { .notification-popover-title { align-items:flex-start; flex-wrap:wrap; gap:7px; }.notification-popover-title .push-enable-button { margin-left:0; }.notification-popover-title form { margin-left:auto; } }

/* The billing form sits inside a narrower split layout and needs its own grid. */
.billing-grid,.billing-grid>* { min-width:0; }
.billing-grid .entry-form .form-grid { grid-template-columns:minmax(0,1fr); }
.billing-grid .entry-form .form-grid>* { min-width:0; }
.billing-grid .entry-form .form-grid .span-two { grid-column:auto; }
.billing-grid .entry-form select,.billing-grid .entry-form textarea { width:100%; min-width:0; max-width:100%; }
.billing-payment-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.billing-payment-total { min-width:120px; display:grid; gap:2px; text-align:right; }
.billing-payment-total span { color:var(--muted); font-size:10px; font-weight:750; }
.billing-payment-total strong { color:var(--ink); font-size:20px; line-height:1.15; white-space:nowrap; font-variant-numeric:tabular-nums; }
@media (max-width:460px) {
    .billing-payment-actions { align-items:stretch; flex-direction:column-reverse; }
    .billing-payment-actions .button { width:100%; }
    .billing-payment-total { width:100%; text-align:left; }
}

/* Keep service navigation in one stable position on every page. */
.sidebar { scrollbar-gutter:stable; }
.sidebar>.workspace-switcher { position:relative; overflow:visible; }
.sidebar>.workspace-switcher .workspace-switcher-list { position:absolute; z-index:30; top:calc(100% + 5px); right:0; left:0; max-height:min(46vh,320px); border:1px solid rgba(255,255,255,.13); border-radius:5px; box-shadow:0 14px 28px rgba(4,14,16,.34); }
.sidebar>nav { flex:0 0 auto; grid-auto-rows:43px; min-width:0; }
.sidebar>nav .nav-link { width:100%; min-width:0; height:43px; min-height:43px; max-height:43px; overflow:hidden; white-space:nowrap; }
.sidebar>nav .nav-link>svg { flex:0 0 18px; }
.sidebar>nav .nav-link>span { flex:0 0 auto; }

/* Keep dynamically added calendar fields inside the intake form on narrow screens. */
.calendar-order-form .form-grid>* { min-width:0; }
.calendar-order-form input,
.calendar-order-form select,
.calendar-order-form textarea { width:100%; min-width:0; max-width:100%; }

.support-presence { display:inline-flex; align-items:center; gap:5px; font-weight:800; }
.support-presence:before { content:""; width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:#9aa6a8; }
.support-presence.online { color:#238456; }
.support-presence.online:before { background:#2eaa6c; box-shadow:0 0 0 3px rgba(46,170,108,.13); }
.support-presence.offline { color:#7a8587; }
.support-read-state { margin-left:2px; color:#7b898b; font-size:11px; font-weight:900; letter-spacing:0; }
.support-message[data-read="1"] .support-read-state { color:#188b83; }
.support-list-presence { display:inline-block; width:7px; height:7px; margin-left:7px; border-radius:50%; vertical-align:1px; background:#a2adaf; }
.support-list-presence.online { background:#2eaa6c; box-shadow:0 0 0 3px rgba(46,170,108,.13); }
/* Public platform requisites */
.admin-entry { color:var(--muted); display:flex; justify-content:center; gap:7px; align-items:center; margin-top:20px; font-size:12px; font-weight:700; }
.admin-entry:hover { color:var(--teal); }
.platform-requisites { display:grid; gap:4px; padding:13px 15px; border:1px solid #cfe0dd; border-left:3px solid var(--teal); border-radius:5px; background:#f1f8f6; color:#405255; font-size:12px; line-height:1.4; }
.platform-requisites strong { color:var(--ink); font-size:11px; text-transform:uppercase; letter-spacing:.03em; }
.public-requisites { margin-top:22px; text-align:left; }
