@font-face{font-family:Inter;src:url('/ui-assets/inter-cyrillic.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;src:url('/ui-assets/inter-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
/* design tokens (see docs/design-system.md) */
--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--sp-16:64px;
--rad-sm:8px;--rad-md:12px;--rad-lg:16px;--rad-pill:99px;
--fs-12:12px;--fs-14:14px;--fs-16:16px;--fs-18:18px;--fs-20:20px;--fs-24:24px;--fs-28:28px;--fs-32:32px;
--lh-tight:1.25;--lh-snug:1.35;--lh-base:1.5;
--sh-1:0 1px 2px rgba(31,45,75,.06),0 2px 8px rgba(58,76,122,.06);
--sh-2:0 12px 32px rgba(57,77,104,.14);
--side-w:264px;--head-h:60px;--content-max:1200px;
--ctl-h:44px;--ctl-h-sm:40px;--ctl-h-lg:56px;
--card-pad:var(--sp-6);--grid-gap:var(--sp-6);--page-pad:var(--sp-8);
--focus:2px solid #32389f;
}
@media (max-width:720px){:root{--card-pad:var(--sp-4);--grid-gap:var(--sp-4);--page-pad:var(--sp-4);--ctl-h:44px;--ctl-h-sm:44px}}
:root{color-scheme:light;--page:#F7F8FC;--surface:#FFF;--border:#DDE3EE;--main:#1F2937;--secondary:#667085;--muted:#9CA3AF;--brand:#6366F1;--brand-hover:#4F46E5;--brand-soft:#EEF0FF;--green:#059669;--green-soft:#EAFBF2;--cyan:#21D4E5;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--page);color:var(--main)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:#4F46E5;text-underline-offset:3px}a:hover{color:#3730A3}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:focus-visible{outline:3px solid #A5B4FC;outline-offset:2px}
.ui-icon{display:inline-block;width:18px;height:18px;flex:none;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-shell{min-height:100vh}.topbar{height:64px;position:fixed;inset:0 0 auto;background:#FFF;border-bottom:1px solid var(--border);z-index:40;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0 28px}.topbar-brand{width:230px;flex:none;display:flex;align-items:center;gap:16px}.brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--main);font-size:16px;font-weight:800;letter-spacing:-.03em;white-space:nowrap}.brand:hover{color:var(--main)}.brand img{width:32px;height:32px;object-fit:contain}.brand small{font-size:10px;letter-spacing:.02em;color:var(--brand);background:#EEF0FF;border-radius:5px;padding:4px 6px}.project-switch{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--border);background:var(--page);border-radius:11px;color:var(--main);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}.project-switch:hover{background:#EEF0FF;border-color:#C5CAFF}
.topbar-search{display:flex;align-items:center;gap:10px;max-width:560px;flex:1;padding:0 11px;height:42px;border:1px solid var(--border);border-radius:11px;background:var(--page);color:#8893A7}.topbar-search:focus-within{background:#FFF;border-color:var(--brand)}.topbar-search input{border:0!important;background:transparent!important;outline:0!important;flex:1;min-width:0;font-size:13px;color:var(--main);padding:0!important}.topbar-search input::placeholder{color:#9AA5B8}.topbar-search kbd{background:white;border:1px solid var(--border);border-radius:4px;padding:2px 5px;font-size:10px;color:#667085}.topbar-meta{display:flex;align-items:center;gap:10px;flex:none}.status-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:#EAFBF2;border:1px solid #B5EDD2;padding:7px 10px;font-size:11px;font-weight:650;color:#047857;white-space:nowrap}.online-dot{width:7px;height:7px;border-radius:50%;background:#10B981;display:inline-block;flex:none}.topbar-icon{height:38px;min-width:38px;border:1px solid var(--border);border-radius:10px;display:grid;place-items:center;color:#667085;text-decoration:none;background:white}.topbar-icon:hover{color:var(--brand);background:var(--brand-soft)}.avatar{width:36px;height:36px;border-radius:11px;background:var(--brand);color:white;display:grid;place-items:center;font-weight:700;font-size:12px}
.view-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--border);border-radius:11px;background:#F2F4F9;white-space:nowrap}.view-switch button{min-height:32px;padding:6px 9px;border:0;border-radius:8px;background:transparent;color:#596579;font-size:11px;font-weight:700;box-shadow:none}.view-switch button:hover{color:#3730A3}.view-switch button[aria-pressed="true"]{background:#FFF;color:#4338CA;box-shadow:0 1px 4px rgba(30,41,59,.12)}.view-switch button:focus-visible{outline:3px solid #A5B4FC;outline-offset:1px}
.sidebar{position:fixed;top:64px;bottom:0;left:0;width:256px;background:#FFF;border-right:1px solid var(--border);padding:20px 12px 0;display:flex;flex-direction:column;z-index:30;overflow-y:auto}.nav-label{padding:3px 12px 10px;color:#8993A4;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.09em}.sidebar nav{display:grid;gap:2px}.sidebar nav a{display:flex;align-items:center;gap:11px;min-height:38px;padding:8px 12px;border-radius:11px;color:#667085;text-decoration:none;font-size:13px;font-weight:550;line-height:1.3}.sidebar nav a:hover{background:#F5F6FF;color:#4F46E5}.sidebar nav a[aria-current="page"]{background:var(--brand);color:white;font-weight:650;box-shadow:0 3px 8px rgba(99,102,241,.15)}.sidebar nav a[aria-current="page"]:hover{background:var(--brand-hover);color:white}.sidebar nav a .ui-icon{width:17px;height:17px}.nav-count{margin-left:auto;background:#EEF0FF;color:var(--brand);font-size:10px;border-radius:7px;padding:2px 5px}.sidebar-foot{margin-top:auto;margin-left:-12px;margin-right:-12px;border-top:1px solid var(--border);padding:15px 16px;font-size:11px;color:var(--secondary)}.sidebar-foot strong{display:block;color:var(--main);font-size:11px;margin-bottom:8px}.sidebar-foot .foot-bar{height:5px;border-radius:9px;background:#E8ECF5;overflow:hidden}.sidebar-foot .foot-bar i{display:block;width:52%;height:100%;background:var(--brand);border-radius:9px}.sidebar-foot small{display:block;margin-top:7px;font-size:10px;line-height:1.4}
.app-column{margin-left:256px;padding-top:64px;min-width:0}main{padding:32px;min-width:0;max-width:1600px;margin:0 auto}h1{font-size:30px;line-height:1.2;letter-spacing:-.035em;margin:0 0 8px;color:var(--main);font-weight:750}h2{font-size:20px;line-height:1.3;letter-spacing:-.025em;margin:26px 0 13px;font-weight:700}h3{font-size:16px;line-height:1.35;margin:0 0 7px}p{line-height:1.55}.muted{color:var(--secondary);font-size:13px}.eyebrow{font-size:11px;color:var(--brand);font-weight:750;text-transform:uppercase;letter-spacing:.07em;margin:0 0 7px}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 23px}.page-heading>div:first-child{min-width:0}.page-heading .muted{margin:0}.page-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.breadcrumb{display:flex;align-items:center;gap:9px;color:#858FA2;font-size:11px;margin-bottom:15px}.breadcrumb a{color:#667085;text-decoration:none}.breadcrumb a:hover{color:var(--brand)}.breadcrumb b{font-weight:600;color:var(--main)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-top:20px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.split-2{display:grid;grid-template-columns:minmax(250px,1fr) minmax(0,2fr);gap:20px}.split-side{display:grid;grid-template-columns:minmax(0,1fr) 274px;gap:20px}.card,.panel,.surface{background:var(--surface);border:1px solid var(--border);border-radius:13px;box-shadow:0 2px 6px rgba(25,39,70,.035)}.card{display:block;padding:20px;min-width:0;color:inherit;text-decoration:none;transition:border-color .16s,box-shadow .16s}.card:hover{color:inherit;border-color:#BCC2FF;box-shadow:0 5px 15px rgba(99,102,241,.07)}.card[aria-current="page"]{border-color:var(--brand);box-shadow:0 0 0 1px rgba(99,102,241,.28)}.card strong{line-height:1.4}.category-link{display:block;color:inherit;text-decoration:none}.category-link:hover{color:var(--brand)}.number{font-size:30px;line-height:1.1;letter-spacing:-.04em;font-weight:750;color:var(--main);margin-top:12px}.panel{padding:20px;margin-top:20px;min-width:0;overflow-x:auto}.panel h2:first-child{margin-top:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.panel-head h2,.panel-head h3{margin:0}.kpi-card{padding:17px 20px}.kpi-card .label{font-size:11px;text-transform:uppercase;letter-spacing:.065em;color:var(--secondary);font-weight:700}.kpi-card .number{margin:9px 0 2px}.kpi-card .meta{font-size:11px;color:var(--secondary)}.status-tag,.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:3px 7px;font-size:10px;font-weight:700;line-height:1.3;white-space:normal}.badge{background:#F2F4F9;color:#667085;border:1px solid var(--border)}.badge.brand{background:var(--brand-soft);color:#4F46E5;border:0;font-size:10px}.badge.green{background:#EAFBF2;color:#047857;border:1px solid #B5EDD2}.badge.amber{background:#FFF7E6;color:#B86507;border:1px solid #F8DDAA}.badge.red{background:#FEEBEC;color:#B42318;border:1px solid #F7C7CC}.badge.cyan{background:#D9F9FC;color:#00798A;border:0}
.download-link,.action-button,button[type="submit"],button.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:9px 15px;border:1px solid var(--brand);border-radius:10px;background:var(--brand);color:#FFF!important;text-decoration:none;font-size:12px;font-weight:700;line-height:1.2;box-shadow:0 2px 5px rgba(99,102,241,.14);white-space:normal}.download-link:hover,.action-button:hover,button[type="submit"]:hover,button.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover);color:#FFF!important}.download-link:visited,.action-button:visited{color:#FFF!important}.button-secondary,button.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:9px 14px;border:1px solid var(--border);border-radius:10px;background:white;color:#344054;text-decoration:none;font-size:12px;font-weight:650;line-height:1.2;box-shadow:0 2px 4px rgba(25,39,70,.03)}.button-secondary:hover,button.secondary:hover{color:var(--brand);border-color:#C6CAFF;background:#FAFAFF}.button-secondary[aria-disabled="true"],.action-button[aria-disabled="true"]{cursor:not-allowed;opacity:.58;pointer-events:none}.text-link{font-size:12px;font-weight:700;text-decoration:none}.download-link{margin-top:14px}.back{display:inline-block;font-size:12px;font-weight:650;text-decoration:none;margin-bottom:18px}
progress{width:100%;height:9px;accent-color:var(--brand);border:0;border-radius:999px;overflow:hidden}progress::-webkit-progress-bar{background:#E8ECF5;border-radius:999px}progress::-webkit-progress-value{background:var(--brand);border-radius:999px}progress::-moz-progress-bar{background:var(--brand);border-radius:999px}.progress-green{accent-color:#10B981}.progress-green::-webkit-progress-value{background:#10B981}.progress-green::-moz-progress-bar{background:#10B981}
table{border-collapse:collapse;width:100%;background:white;font-size:12px}th,td{text-align:left;border-bottom:1px solid #E6EAF2;padding:12px 11px;vertical-align:top;overflow-wrap:anywhere}th{background:#F7F8FC;color:#667085;font-size:10px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}tbody tr:hover{background:#FBFCFF}tbody tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:white}.table-wrap table{min-width:680px}.panel .table-wrap{box-shadow:none}.table-toolbar{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}.table-toolbar input[type="search"]{min-width:250px}.page-meta{font-size:11px;color:var(--secondary)}.pill-tabs{display:flex;gap:5px;align-items:center;flex-wrap:wrap;padding:5px;border-radius:11px;background:#EDF1FC;margin:19px 0}.pill-tabs a{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:9px;color:#505A6E;text-decoration:none;font-size:12px;font-weight:650}.pill-tabs a:hover{color:var(--brand)}.pill-tabs a[aria-current="page"]{background:white;color:var(--brand);box-shadow:0 1px 4px rgba(0,0,0,.05)}.filter-bar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:13px 16px;background:#FFF;border:1px solid var(--border);border-radius:12px;margin:15px 0}.filter-bar label{font-size:11px;color:var(--secondary)}.filter-bar input,.filter-bar select{max-width:100%}
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea{padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:#FFF;color:var(--main);font-size:12px}input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:2px solid #DBDDFF;outline-offset:0}input[type="checkbox"],input[type="radio"]{accent-color:var(--brand)}form.panel{display:block}form.panel button{margin-left:10px}.field{display:grid;gap:7px}.field label{font-size:11px;font-weight:700;color:#667085;text-transform:uppercase;letter-spacing:.05em}.field small{font-size:10px;color:var(--secondary)}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.form-actions button{margin:0!important}
.step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.step-card{display:block;text-decoration:none;color:var(--main);padding:17px 16px;border:1px solid var(--border);border-radius:11px;background:#F8F9FC}.step-card:hover{color:var(--main);border-color:#BFC4FF}.step-card.current{border:2px solid var(--brand);background:white}.step-card.complete{background:#F7F8FC}.step-card h3{font-size:13px;margin:12px 0 5px}.step-card p{font-size:11px;color:var(--secondary);margin:0}.step-card .step-top{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:10px;color:var(--secondary);font-weight:750;text-transform:uppercase}.step-card.current .step-top{color:var(--brand)}.step-card progress{margin-top:14px;height:5px}.dashboard-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:18px 0}.dashboard-links a{display:flex;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid var(--border);border-radius:11px;background:white;text-decoration:none;font-size:12px;font-weight:650;color:#344054}.dashboard-links a:hover{border-color:#BFC4FF;color:var(--brand)}
.notice{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:11px;background:#F1F4FF;color:#344054;font-size:12px;line-height:1.55}.notice.warn{background:#FFF7E6}.notice.success{background:#EAFBF2}.notice .ui-icon{color:var(--brand)}.notice.warn .ui-icon{color:#C77A0B}.notice.success .ui-icon{color:#059669}.empty-state{padding:30px;text-align:center;color:var(--secondary)}.empty-state h3{color:var(--main)}.panel li{margin:7px 0;line-height:1.5}summary{cursor:pointer;font-weight:700}details[open] summary{margin-bottom:15px}
.guide-card{padding:16px 18px;margin:0 0 20px;background:#F2F4FF;border:1px solid #DCE1FF;border-radius:13px;color:var(--main)}.guide-card h2{margin:0 0 12px;font-size:16px}.guide-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.guide-step{min-width:0;padding:0 14px;border-left:3px solid #C5CAFF}.guide-step:first-child{border-left-color:var(--brand)}.guide-step strong{display:block;font-size:12px;line-height:1.4;color:#3730A3}.guide-step p{margin:4px 0 0;font-size:12px;line-height:1.5;color:#475467}.guide-step a{font-weight:700}html:not([data-ui-mode="detailed"]) .advanced-only,html:not([data-ui-mode="detailed"]) .specialist-only{display:none!important}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 14px;border:1px solid var(--border);border-radius:10px;background:#FFF;color:#344054;text-decoration:none;font-size:12px;font-weight:700}.btn:hover{border-color:#BFC4FF;color:var(--brand)}.btn.primary{background:var(--brand);color:#FFF;border-color:var(--brand)}.btn.primary:hover{background:var(--brand-hover);color:#FFF}.projects-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.project-card h2{margin:0 0 7px}.project-card{margin-top:10px}.project-new-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:20px;margin-top:24px}.project-new-form{margin:0}.project-new-form label:not(.project-confirm){display:block;color:#667085;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.05em;margin:17px 0 7px}.project-new-form input:not([type="checkbox"]),.project-new-form textarea,.project-new-form select{width:100%}.project-form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-confirm{display:flex;align-items:center;gap:8px;font-size:12px;margin-top:17px}.project-form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.project-integrations h2{margin-top:0}.project-integrations .panel{margin-top:10px;padding:15px}.project-integrations .panel p{margin-bottom:0}.onboarding-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:13px;background:#FFF;border:1px solid var(--border);border-radius:12px;margin-top:22px}.onboarding-steps span{padding:13px 11px;background:#F3F5FA;border:1px solid var(--border);border-radius:9px;font-size:11px;font-weight:650}.onboarding-steps span[aria-current="step"]{border-color:var(--brand);background:var(--brand-soft);color:#4F46E5}
.yandex-integrations .yandex-integration-card{padding:24px;overflow:visible}.yandex-integration-card h2{margin:0 0 8px}.yandex-integration-card .integration-description{margin:0 0 20px;line-height:1.55}.yandex-integration-card .integration-status{margin:0 0 14px;font-size:15px}.yandex-integration-card .integration-status strong{display:inline-flex;align-items:center;gap:8px}.yandex-integration-card .integration-status strong::before{content:"";width:8px;height:8px;border-radius:50%;background:#AAB3C5;flex:none}.yandex-integration-card .integration-status.connected strong::before{background:#10B981}.yandex-integration-card .integration-resource-form{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:18px 0 0}.yandex-integration-card .integration-resource-field{display:grid;gap:7px;flex:1 1 220px}.yandex-integration-card .integration-resource-field label{font-size:12px;font-weight:650;color:var(--secondary)}.yandex-integration-card .integration-resource-field select{min-height:42px;max-width:100%}.yandex-integration-card .integration-resource-form .btn{min-height:42px}.yandex-integration-card .integration-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:20px}.yandex-integration-card .integration-actions form{margin:0}.yandex-integration-card .integration-actions .btn{min-height:42px;padding:10px 16px}.yandex-integration-card .integration-actions form:not(:first-child) .btn{box-shadow:none}
.yandex-integration-card .integration-actions button.btn:not(.primary){background:#fff;border-color:var(--border);color:#445066!important;box-shadow:none}.yandex-integration-card .integration-actions button.btn:not(.primary):hover{background:#f7f8ff;border-color:#bfc4ff;color:#4f46e5!important}
.yandex-integration-card .integration-status.error strong::before{background:#EF4444}.yandex-integration-card .integration-error{padding:11px 13px;border:1px solid #f4d1d1;border-radius:10px;background:#fff7f7;color:#923b3b;font-size:12px;line-height:1.5}
.integration-browser-fallback{margin-top:24px;padding-top:22px;border-top:1px solid var(--border)}.integration-browser-fallback h3{margin:0 0 8px;font-size:17px}.integration-browser-fallback>p{margin:0 0 16px;line-height:1.5}.integration-browser-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px}.integration-browser-fields label{display:grid;gap:7px;font-size:12px;font-weight:650;color:var(--secondary)}.integration-browser-fields input{min-width:0;min-height:42px;width:100%}.integration-browser-fallback .btn{min-height:42px;padding:10px 16px}.integration-browser-status{margin:14px 0 0;font-weight:650}.integration-browser-result{margin-top:18px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:#f9faff}.integration-browser-result p{margin:4px 0;line-height:1.5}
@media(max-width:520px){.yandex-integrations .yandex-integration-card{padding:18px}.yandex-integration-card .integration-actions,.yandex-integration-card .integration-resource-form{flex-direction:column;align-items:stretch}.yandex-integration-card .integration-resource-field{flex:auto}.yandex-integration-card .integration-resource-form .btn,.yandex-integration-card .integration-actions form,.yandex-integration-card .integration-actions .btn{width:100%}}
@media(max-width:520px){.integration-browser-fields{grid-template-columns:1fr}.integration-browser-fallback .btn{width:100%}}
.cluster-url-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.cluster-url{padding:14px;border-radius:11px;background:#F0F3FF;min-width:0}.cluster-url .path{font-weight:700;font-size:12px;overflow-wrap:anywhere}.cluster-url .small{font-size:10px;color:var(--secondary);margin-top:5px}.cluster-url progress{height:6px;margin-top:10px}.signal-card{padding:18px;margin-top:13px;background:#FFF;border:1px solid var(--border);border-radius:13px}.signal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.signal-card h3{margin:6px 0}.signal-card p{font-size:12px;margin:7px 0}.signal-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#EEF2FF;border-radius:9px;padding:12px;gap:8px;margin:13px 0}.signal-metrics span{font-size:10px;color:var(--secondary)}.signal-metrics strong{display:block;color:var(--main);font-size:16px;margin-top:4px}
button.secondary{color:#344054!important}
button.secondary:hover{color:#4F46E5!important}
.guide-caution{margin:14px 0 0;font-size:12px;color:#5B6475;line-height:1.5}
.guide-step .button-secondary{margin-top:9px}
.review-action{border-left:4px solid var(--brand);padding:22px 26px}
.review-action h3{font-size:18px;line-height:1.35;margin:4px 0 14px}
.review-action p{margin:9px 0;font-size:13px}
.review-action ol{margin:7px 0 12px;padding-left:22px}
.review-action li,.review-raw li{font-size:13px;line-height:1.6;margin:7px 0}
.review-raw summary{cursor:pointer;font-size:14px;font-weight:700;color:var(--brand)}
.review-raw[open] summary{margin-bottom:14px}
.review-approval{padding:24px 26px}
.review-approval h2{margin:4px 0 10px}
.review-approval label{display:block;margin:20px 0 8px;font-size:12px;font-weight:700;color:var(--main)}
.review-approval textarea{display:block;width:100%;min-height:150px;resize:vertical;font-size:13px;line-height:1.55}
.review-approval-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}
.review-approval-actions .page-meta{margin:0;max-width:570px;line-height:1.5}
.review-approval-status{margin:12px 0 0;font-size:12px;font-weight:650;color:var(--brand)}
html:not([data-ui-mode="detailed"]) .project-new-grid{grid-template-columns:minmax(0,1fr);max-width:760px}
.project-new-form details{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}
@media(max-width:1150px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-search{max-width:380px}}
@media(max-width:900px){.sidebar{width:210px}.app-column{margin-left:210px}.topbar-brand{width:182px}.topbar-search{display:none}main{padding:24px}.cluster-url-grid{grid-template-columns:1fr}.split-side{grid-template-columns:1fr}}
@media(max-width:1150px){.topbar-meta .status-pill{display:none}}
@media(max-width:680px){.topbar{padding:0 12px;gap:8px}.topbar-brand{width:auto;min-width:0;gap:8px}.brand span{display:none}.brand small{display:none}.project-switch{font-size:11px;padding:7px;max-width:calc(100vw - 230px);overflow:hidden;text-overflow:ellipsis}.topbar-meta .status-pill,.topbar-icon,.avatar{display:none}.view-switch button{padding:6px 7px;font-size:10px}.sidebar{position:relative;top:64px;bottom:auto;width:100%;height:auto;overflow:visible;padding:7px 10px;z-index:20}.sidebar nav{display:flex;overflow-x:auto;gap:4px}.sidebar nav a{min-height:32px;white-space:nowrap;font-size:11px;padding:7px 9px}.sidebar nav a .ui-icon,.nav-label,.sidebar-foot{display:none}.app-column{margin-left:0;padding-top:64px}main{padding:18px 14px 48px}h1{font-size:23px}.page-heading{display:block}.page-actions{justify-content:flex-start;margin-top:15px}.grid-4,.grid-3,.grid-2,.step-grid,.split-2,.field-row,.project-new-grid,.project-form-pair,.onboarding-steps,.guide-steps{grid-template-columns:1fr}.guide-step{padding:0 10px}.panel{padding:16px}.signal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.table-toolbar input[type="search"]{min-width:0;width:100%}}
/* Client progress is the primary screen; keep evidence tables in Specialist mode. */
.client-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px}
.client-hero-actions form{margin:0}
.client-hero-actions .button-secondary{display:inline-flex;align-items:center;min-height:38px}
.client-stage-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:0;counter-reset:stage}
.client-stage{position:relative;display:grid;grid-template-columns:32px 1fr;gap:18px;min-height:78px;padding:0 0 20px}
.client-stage:not(:last-child)::before{content:"";position:absolute;left:15px;top:31px;bottom:0;width:2px;background:#e3e6f1}
.client-stage-mark{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#edf0f8;color:#68738e;font-size:13px;font-weight:800;counter-increment:stage}
.client-stage-mark::after{content:counter(stage)}
.client-stage.ready .client-stage-mark{background:#dcf7e9;color:#128452}
.client-stage.partial .client-stage-mark,.client-stage.running .client-stage-mark{background:#e7e7ff;color:#5658db}
.client-stage strong{display:block;padding-top:4px;color:#202b3e}
.client-stage p{margin:6px 0 0;color:#64718b;line-height:1.5}
.client-summary p{line-height:1.6}
.client-result-card{margin-bottom:16px}
.client-result-card h2{overflow-wrap:anywhere}
@media(max-width:680px){.client-stage{grid-template-columns:28px 1fr;gap:12px}.client-stage-mark{width:28px;height:28px}.client-stage:not(:last-child)::before{left:13px;top:28px}}

/* ===== Приложение /app: классы с префиксом app- ===== */
.app-page{--ink:#0d1420;--muted:#566273;--line:rgba(37,57,81,.13);--blue:#32389f;--blue-hover:#252b8c;--blue-soft:#e8eafb;--bg:#edf3f8;--card:#ffffff;--card-line:#cbd5f5;--mini:#fbfdff;--mini-line:#e5eaf1;--hover-bg:#f0f4fc;--ok:#1f6b4a;--ok-soft:#e1f3ea;--warn-text:#8a1f1f;--r-btn:var(--rad-md);--r-card:var(--rad-lg);--r-panel:var(--rad-lg);--r-pill:var(--rad-pill);--shadow-btn:var(--sh-1);--shadow-btn-hover:var(--sh-2);--shadow-card:var(--sh-1);--shadow-head:var(--sh-1);--shadow-panel:var(--sh-2);margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:var(--fs-16);line-height:var(--lh-base);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.app-page *{box-sizing:border-box}
.app-page a{color:var(--blue)}
.app-page button{font:inherit;color:inherit}
.app-page :focus-visible{outline:var(--focus);outline-offset:2px;border-radius:var(--rad-sm)}
.app-page h1,.app-page h2,.app-page h3,.app-page h4{font-family:inherit}
.app-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--ctl-h);background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:var(--r-btn);padding:0 var(--sp-6);font-size:var(--fs-16);font-weight:600;line-height:1.2;cursor:pointer;box-shadow:var(--sh-1);transition:background .18s,box-shadow .18s,border-color .18s}
.app-btn:hover{background:var(--blue-hover);border-color:var(--blue-hover);box-shadow:var(--sh-2)}
.app-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--ctl-h);background:#fff;color:var(--ink);border:1px solid var(--card-line);border-radius:var(--r-btn);padding:0 var(--sp-6);font-size:var(--fs-16);font-weight:600;line-height:1.2;cursor:pointer;transition:background .18s,border-color .18s}
.app-btn-ghost:hover{background:var(--hover-bg);border-color:var(--blue)}
.app-bar{height:12px;border-radius:99px;background:#dde5f3;overflow:hidden}
.app-bar>i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#32389f,#5864d7);transition:width .3s linear}
.app-bar-meta{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:16px;color:var(--muted);flex-wrap:wrap}
.app-bar-meta b{color:var(--ink);font-weight:600}
.app-steps{list-style:none;margin:var(--sp-6) 0 var(--sp-1);padding:0;display:grid;gap:var(--sp-3)}
.app-steps li{display:flex;align-items:center;gap:var(--sp-3);background:var(--mini);border:1px solid var(--mini-line);border-radius:var(--rad-md);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-16);color:var(--muted);transition:background .25s,border-color .25s,color .25s}
.app-steps small{font-size:inherit;color:var(--muted);font-weight:400}
.app-steps .app-dot{flex:0 0 auto;width:28px;height:28px;border-radius:50%;border:2px solid #c3cde0;display:grid;place-items:center;font-size:14px;font-weight:700;color:transparent;background:#fff}
.app-steps li.is-now{background:#fff;border-color:var(--card-line);color:var(--ink);box-shadow:var(--shadow-card);font-weight:600}
.app-steps li.is-now .app-dot{border-color:var(--blue);border-top-color:transparent;animation:app-spin .9s linear infinite}
.app-steps li.is-done{color:var(--ink)}
.app-steps li.is-done .app-dot{background:var(--ok);border-color:var(--ok);color:#fff}
@keyframes app-spin{to{transform:rotate(360deg)}}
.app-note{margin:22px 0 0;font-size:14px;color:var(--muted)}
.app-eta{background:var(--blue-soft);border-radius:var(--rad-md);padding:var(--sp-4) var(--sp-6);margin:0 0 var(--sp-4)}
.app-eta-l{display:block;font-size:14px;color:var(--muted)}
.app-eta b{display:block;font-size:var(--fs-28);letter-spacing:-.04em;color:var(--blue);font-weight:720;margin-top:2px}
.app-send{margin:0;font-size:16px;color:var(--ink);overflow-wrap:anywhere}
.app-demo{margin:20px 0 0;font-size:14px}
.app-demo a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.app-steps li.is-now small{color:var(--blue);font-weight:600}
.app-ava{width:32px;height:32px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-weight:700;font-size:14px;text-transform:uppercase}
.app-fork{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1100px;margin-top:28px}
.app-fcard{display:flex;flex-direction:column;background:rgba(255,255,255,.83);border:1px solid rgba(255,255,255,.85);border-radius:var(--r-panel);box-shadow:var(--shadow-panel);padding:32px;text-decoration:none;color:var(--ink);transition:transform .18s,box-shadow .18s}
.app-fcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-btn-hover)}
.app-fcard:focus-visible{outline:var(--focus);outline-offset:2px}
.app-fnum{font-size:clamp(52px,6vw,72px);line-height:1;letter-spacing:-.06em;font-weight:740;color:var(--blue)}
.app-fcard h3{margin:14px 0 8px;font-size:clamp(22px,2.4vw,28px);letter-spacing:-.04em;line-height:1.15;font-weight:700}
.app-fdesc{margin:0 0 16px;color:var(--muted);font-size:16px}
.app-fprev{list-style:none;margin:0 0 24px;padding:14px 0 0;border-top:1px solid var(--card-line);display:grid;gap:6px;font-size:14px;color:var(--muted)}
.app-fprev li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-fprev li::before{content:"· "}
.app-fgo{margin-top:auto;display:inline-flex;align-self:flex-start;align-items:center;justify-content:center;min-height:var(--ctl-h);background:var(--blue);color:#fff;border-radius:var(--r-btn);padding:0 var(--sp-6);font-weight:600;font-size:var(--fs-16)}
@media (max-width:720px){.app-fork{grid-template-columns:1fr}.app-fgo{width:100%;justify-content:center}}
.app-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;background:var(--blue-soft);color:var(--blue);font-weight:700;font-size:var(--fs-14);font-variant-numeric:tabular-nums;border-radius:var(--r-pill);padding:0 var(--sp-3)}
.app-list-sub{margin:0 0 16px;color:var(--muted);font-size:16px}
.app-tools{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin:0 0 var(--sp-4)}
.app-search{position:relative;flex:1 1 280px;min-width:0}
.app-search input{width:100%;height:var(--ctl-h);border:1px solid var(--card-line);border-radius:var(--rad-md);background:#fff;padding:0 var(--sp-4) 0 44px;font:inherit;font-size:var(--fs-16);color:var(--ink)}
.app-search input::placeholder{color:#6b7787}
.app-search input:focus{outline:var(--focus);outline-offset:2px}
.app-search svg{position:absolute;left:var(--sp-4);top:50%;width:18px;height:18px;transform:translateY(-50%);stroke:#566273;fill:none;stroke-width:2;stroke-linecap:round}
.app-shown{font-size:14px;color:var(--muted);white-space:nowrap}
.app-shown b{color:var(--ink);font-weight:600}
.app-rows{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--mini-line);border-radius:var(--r-card);box-shadow:var(--sh-1);overflow:hidden}
.app-rows li+li{border-top:1px solid var(--mini-line)}
.app-row{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr) 32px;grid-template-areas:"title ess go" "small ess go";column-gap:var(--sp-6);row-gap:0;align-items:center;width:100%;min-height:64px;padding:var(--sp-3) var(--card-pad);background:transparent;border:0;text-align:left;cursor:pointer;transition:background .15s}
.app-row:hover{background:var(--hover-bg)}
.app-row:hover .app-go{background:var(--blue);}
.app-row:hover .app-go::after{border-color:#fff}
.app-row:focus-visible{outline:var(--focus);outline-offset:-2px;border-radius:0}
.app-r-title{grid-area:title;font-size:16px;line-height:1.35;font-weight:600;letter-spacing:-.015em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.app-r-line2{display:contents}
.app-r-small{grid-area:small;font-size:14px;line-height:1.35;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.app-r-ess{grid-area:ess;font-size:14px;line-height:1.4;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.app-go{grid-area:go;position:relative;width:32px;height:32px;border-radius:var(--rad-sm);background:var(--blue-soft);transition:background .15s}
.app-go::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-right:2px solid var(--blue);border-top:2px solid var(--blue);transform:translate(-65%,-50%) rotate(45deg)}
.app-empty{padding:28px 20px;text-align:center;color:var(--muted);font-size:16px}
.app-more-wrap{display:flex;justify-content:center;margin-top:14px}
.app-more-wrap[hidden]{display:none}
/* ЭКРАН 4: рекомендация */
.app-detail{max-width:900px;margin:0 auto;padding-top:28px}
.app-back{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--ctl-h);background:#fff;color:var(--ink);border:1px solid var(--card-line);border-radius:var(--r-btn);padding:0 var(--sp-6);font-size:var(--fs-16);font-weight:600;cursor:pointer;transition:background .18s,border-color .18s}
.app-back:hover{background:var(--hover-bg);border-color:var(--blue);color:var(--blue)}
.app-d-kind{margin:26px 0 0;font-size:14px;font-weight:600;color:var(--muted)}
.app-d-title{font-size:clamp(28px,3.6vw,42px);line-height:1.08;letter-spacing:-.045em;font-weight:730;margin:6px 0 10px;overflow-wrap:anywhere}
.app-d-title:focus{outline:none}
.app-d-url{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:16px;color:var(--muted);overflow-wrap:anywhere}
.app-d-url a{color:var(--blue);font-weight:600;text-decoration:none;border-bottom:1px solid #c9cff5}
.app-d-date::before{content:"· "}
.app-main-box{margin:var(--sp-6) 0 0;background:var(--blue);color:#fff;border-radius:var(--r-card);padding:var(--card-pad);box-shadow:var(--sh-1)}
.app-main-box small{display:block;font-size:14px;font-weight:600;color:#d6dafc;margin-bottom:8px}
.app-main-box p{margin:0;font-size:var(--fs-20);line-height:1.35;letter-spacing:-.02em;font-weight:600}
.app-lede{margin:var(--sp-4) 0 0;font-size:16px;color:var(--muted);max-width:760px}
.app-blk{margin-top:var(--sp-6);background:#fff;border:1px solid var(--mini-line);border-radius:var(--r-card);box-shadow:var(--sh-1);padding:var(--card-pad)}
.app-blk h3{margin:0 0 var(--sp-2);font-size:var(--fs-20);line-height:var(--lh-tight);letter-spacing:-.035em;font-weight:700;display:flex;gap:14px;align-items:flex-start}
.app-blk h3 .app-n{flex:0 0 auto;display:inline-grid;place-items:center;width:32px;height:32px;margin-top:-4px;border-radius:var(--rad-sm);background:var(--blue-soft);color:var(--blue);font-weight:700;font-size:16px;letter-spacing:0}
.app-blk .app-intro{margin:0 0 var(--sp-4);color:var(--muted);font-size:16px}
.app-blk h4{margin:20px 0 8px;font-size:16px;font-weight:700;letter-spacing:-.01em}
.app-cmp2{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);gap:8px;align-items:stretch;margin:0 0 16px}
.app-cmp2>div{border-radius:var(--rad-md);padding:var(--sp-3) var(--sp-4);font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.app-cmp2 small{display:block;font-size:14px;font-weight:700;margin-bottom:6px;color:var(--muted);letter-spacing:.01em}
.app-cmp2 .app-old{background:#f4f6fa;border:1px solid var(--mini-line)}
.app-cmp2 .app-new{background:#f1f3fd;border:1px solid #aeb9ee}
.app-cmp2 .app-new small{color:var(--blue)}
.app-cmp2 .app-arr{display:grid;place-items:center;font-size:20px;color:var(--blue);padding:0;font-weight:700}
.app-cmp2 .app-keep{grid-column:1/-1;background:#f1f3fd;border:1px solid #aeb9ee}
.app-copy{display:inline-flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);min-height:var(--ctl-h-sm);padding:0 var(--sp-4);border-radius:var(--r-btn);background:#fff;border:1px solid var(--card-line);color:var(--blue);font-size:14px;font-weight:600;cursor:pointer;transition:background .18s,border-color .18s}
.app-copy:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.app-copy.done{background:var(--ok-soft);border-color:#b9dfcb;color:var(--ok)}
.app-hint2{margin:0 0 12px;font-size:14px;color:var(--muted)}
.app-hint2:last-child{margin-bottom:0}
.app-ticks{margin:0 0 4px;padding:0;list-style:none;display:grid;gap:10px;font-size:16px}
.app-ticks li{position:relative;padding-left:28px}
.app-ticks li::before{content:"";position:absolute;left:3px;top:.62em;width:8px;height:8px;border-radius:50%;background:#5864d7}
.app-ticks.app-ok li::before{content:"✓";background:none;width:auto;height:auto;top:0;left:2px;color:var(--ok);font-weight:700;font-size:16px;border-radius:0}
.app-ticks.app-no li::before{content:"–";background:none;width:auto;height:auto;top:0;left:3px;color:var(--muted);font-weight:700;font-size:18px;border-radius:0}
.app-steps3{margin:0 0 14px;padding:0;list-style:none;display:grid;gap:10px;counter-reset:s;font-size:16px}
.app-steps3 li{counter-increment:s;position:relative;padding-left:40px}
.app-steps3 li::before{content:counter(s);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-weight:700;font-size:14px;display:grid;place-items:center}
.app-qchips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0;padding:0;list-style:none}
.app-qchips li{background:var(--mini);border:1px solid var(--mini-line);border-radius:var(--r-pill);padding:5px 13px;font-size:14px}
.app-qlab{margin:16px 0 4px;font-size:14px;color:var(--muted);font-weight:600}
details.app-why{margin-top:16px;border-top:1px solid var(--mini-line);padding-top:12px}
details.app-why summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--blue);list-style:none;display:inline-flex;align-items:center;gap:8px;min-height:32px}
details.app-why summary::-webkit-details-marker{display:none}
details.app-why summary::before{content:"+";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--blue-soft);font-weight:700;line-height:1}
details.app-why[open] summary::before{content:"–"}
details.app-why ul{margin:10px 0 0;padding-left:22px;display:grid;gap:6px;font-size:14px;color:var(--muted)}
.app-kw{margin:0;padding:0;list-style:none}
.app-kw li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:12px 0;border-top:1px solid var(--mini-line)}
.app-kw li:first-child{border-top:0;padding-top:2px}
.app-kw b{font-size:16px;font-weight:600;overflow-wrap:anywhere}
.app-kw .app-f{font-size:14px;color:var(--ink);font-weight:600;white-space:nowrap;text-align:right}
.app-kw .app-f small{display:block;font-size:12px;color:var(--muted);font-weight:500}
.app-kw p{grid-column:1/-1;margin:0;font-size:14px;color:var(--muted)}
.app-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 4px}
.app-fact{background:var(--mini);border:1px solid var(--mini-line);border-radius:var(--rad-md);padding:var(--sp-4)}
.app-fact b{display:block;font-size:20px;letter-spacing:-.03em;line-height:1.2;margin-bottom:4px}
.app-fact span{font-size:14px;color:var(--muted);line-height:1.45;display:block}
.app-d-solo::before{content:none}
.app-facts-top{margin-top:var(--sp-6)}
.app-wire{margin:0;padding:0;list-style:none;display:grid;gap:var(--sp-2);counter-reset:w}
.app-wire-row{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--sp-3);align-items:start;padding:var(--sp-3) var(--sp-4);background:var(--mini);border:1px dashed #aeb9ee;border-radius:var(--rad-md)}
.app-wire-n{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--rad-sm);background:var(--blue-soft);color:var(--blue);font-weight:700;font-size:var(--fs-14)}
.app-wire-t{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}
.app-wire-t b{font-size:var(--fs-16)}
.app-wire-t span{font-size:var(--fs-14);color:var(--muted)}
.app-mock{background:#f1f3fd;border:1px solid #aeb9ee;border-radius:var(--rad-lg);padding:var(--sp-4);display:grid;gap:var(--sp-3)}
.app-mock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}
.app-mock-f{display:grid;gap:var(--sp-1);min-width:0}
.app-mock-l{font-size:var(--fs-14);font-weight:600;overflow-wrap:anywhere}
.app-mock-i{display:flex;align-items:center;min-height:var(--ctl-h-sm);padding:0 var(--sp-3);background:#fff;border:1px solid var(--mini-line);border-radius:var(--rad-md);font-size:var(--fs-14);color:var(--muted);overflow-wrap:anywhere}
.app-mock-res{background:#fff;border:1px solid var(--card-line);border-radius:var(--rad-md);padding:var(--sp-3) var(--sp-4)}
.app-mock-res small{display:block;font-size:var(--fs-14);color:var(--muted);font-weight:600}
.app-mock-res b{font-size:var(--fs-24);letter-spacing:-.03em}
.app-mock-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--ctl-h);padding:0 var(--sp-6);border-radius:var(--rad-md);background:var(--blue);color:#fff;font-weight:600;justify-self:start;text-align:center}
details.app-faq p{margin:var(--sp-2) 0 0;font-size:var(--fs-16);color:var(--ink)}
.app-checks{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.app-checks label{display:flex;gap:var(--sp-3);align-items:flex-start;font-size:var(--fs-16);cursor:pointer;background:var(--mini);border:1px solid var(--mini-line);border-radius:var(--rad-md);padding:var(--sp-3) var(--sp-4)}
.app-checks input{flex:0 0 auto;width:22px;height:22px;margin:1px 0 0;accent-color:var(--blue)}
.app-d-foot{margin-top:var(--sp-6);display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center;padding-bottom:8px}
.app-btn.app-small{min-height:var(--ctl-h-sm);padding:0 var(--sp-4);font-size:var(--fs-14)}

@media (max-width:720px){
  .app-res-head{padding-top:32px}
  .app-row{grid-template-columns:minmax(0,1fr) 32px;grid-template-areas:"title go" "line2 go";padding:var(--sp-3) var(--card-pad);column-gap:var(--sp-3);min-height:64px}
  .app-r-line2{display:block;grid-area:line2;font-size:14px;line-height:1.35;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
  .app-r-small,.app-r-ess{grid-area:auto;display:inline;font-size:14px;line-height:inherit}
  .app-pg .app-r-small{display:none}
  .app-tp .app-r-small{margin-right:6px;color:var(--ink);font-weight:500}
  .app-tp .app-r-small::after{content:" ·"}
  .app-shown{width:100%}
  .app-d-date::before{content:none}
  .app-d-date{flex-basis:100%}
  .app-detail{padding-top:0}
  .app-cmp2{grid-template-columns:minmax(0,1fr)}
  .app-cmp2 .app-arr{height:22px;transform:rotate(90deg)}
  .app-facts{grid-template-columns:1fr}
  .app-mock-grid{grid-template-columns:1fr}
  .app-mock-btn{justify-self:stretch}
  .app-kw li{grid-template-columns:1fr}
  .app-kw .app-f{text-align:left;white-space:normal}
  .app-d-foot .app-btn,.app-d-foot .app-back{width:100%;justify-content:center}
  .app-copy{width:100%;justify-content:center}
}
.app-topbar{position:sticky;top:0;z-index:30;height:var(--head-h);display:flex;align-items:center;gap:var(--sp-4);background:#fff;border-bottom:1px solid var(--mini-line);padding:0 var(--page-pad)}
.app-tb-logo{display:flex;color:var(--ink);padding-right:4px}
.app-tb-logo .app-logo-svg{height:22px}
.app-tb-sp{flex:1}
.app-burger{display:none;width:var(--ctl-h);height:var(--ctl-h);border:1px solid var(--mini-line);background:#fff;border-radius:var(--rad-md);cursor:pointer;padding:0;place-items:center}
.app-burger svg,.app-tb-proj svg{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.app-dd{position:relative}
.app-dd-r .app-dd-menu{right:0;left:auto}
.app-tb-proj,.app-tb-user{display:inline-flex;align-items:center;gap:var(--sp-2);height:var(--ctl-h-sm);border:1px solid var(--mini-line);background:var(--mini);border-radius:var(--rad-md);padding:0 var(--sp-3);font-size:var(--fs-14);font-weight:600;cursor:pointer;color:var(--ink)}
.app-tb-proj:hover,.app-tb-user:hover{background:var(--hover-bg)}
.app-tb-proj svg{width:18px;height:18px;stroke:var(--blue)}
.app-tb-proj span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-tb-user{padding:0 var(--sp-3) 0 var(--sp-1);border-color:transparent;background:transparent;font-weight:500}
.app-tb-mail{color:var(--muted);font-size:var(--fs-14)}
.app-chev{width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-2px);margin-left:2px}
.app-dd-menu{display:none;position:absolute;top:calc(100% + var(--sp-2));left:0;min-width:240px;background:#fff;border:1px solid var(--mini-line);border-radius:var(--rad-md);box-shadow:var(--sh-2);padding:var(--sp-2);z-index:40}
.app-dd.open .app-dd-menu{display:block}
.app-dd-menu button{display:flex;width:100%;justify-content:space-between;gap:var(--sp-3);align-items:center;border:0;background:transparent;text-align:left;min-height:var(--ctl-h-sm);padding:0 var(--sp-3);border-radius:var(--rad-sm);font-size:var(--fs-14);cursor:pointer;color:var(--ink)}
.app-dd-menu button:hover{background:var(--hover-bg)}
.app-dd-menu button span{font-size:12px;color:var(--ok);font-weight:600}
.app-dd-menu hr{border:0;border-top:1px solid var(--mini-line);margin:var(--sp-2) 0}
.app-body{display:flex;align-items:flex-start;min-height:calc(100vh - var(--head-h))}
.app-side{position:sticky;top:var(--head-h);flex:0 0 var(--side-w);width:var(--side-w);height:calc(100vh - var(--head-h));background:#fff;border-right:1px solid var(--mini-line);display:flex;flex-direction:column;padding:var(--sp-4) var(--sp-3);z-index:20;overflow-y:auto}
.app-side-nav{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-1)}
.app-side-nav hr{border:0;border-top:1px solid var(--mini-line);margin:var(--sp-2) 0}
.app-si{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-width:0;min-height:var(--ctl-h);padding:0 var(--sp-3);border-radius:var(--rad-md);color:var(--ink);text-decoration:none;font-size:var(--fs-14);font-weight:600;line-height:var(--lh-tight)}
.app-si svg{flex:0 0 auto;width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.app-si span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-si-n{flex:none;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;padding:0 var(--sp-2);font-size:var(--fs-12);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;background:var(--blue-soft);color:var(--blue);border-radius:var(--rad-pill)}
.app-si:hover{background:var(--hover-bg)}
.app-si.is-active{background:var(--blue);color:#fff;box-shadow:var(--sh-1)}
.app-si.is-active svg{opacity:1}
.app-si.is-active .app-si-n{background:rgba(255,255,255,.22);color:#fff}
.app-si.is-off{color:#8b96a6;cursor:not-allowed}
.app-si.is-off:hover{background:transparent}
.app-si.is-off .app-si-n{display:none}
.app-side-status{margin-top:auto;background:var(--mini);border:1px solid var(--mini-line);border-radius:var(--rad-md);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-14);color:var(--muted);line-height:var(--lh-snug)}
.app-side-status b{display:block;color:var(--ink);font-size:14px;margin-bottom:2px}
.app-side-status .app-pbar{height:5px;border-radius:9px;background:#dde5f3;margin-top:10px;overflow:hidden}
.app-side-status .app-pbar i{display:block;height:100%;width:38%;background:linear-gradient(90deg,#32389f,#5864d7);border-radius:9px}
.app-scrim{display:none}
.app-work{flex:1;min-width:0;max-width:none;margin:0;padding:var(--page-pad) var(--page-pad) var(--sp-16)}
.app-work-in{width:100%;max-width:var(--content-max);margin:0 auto;min-width:0}
.app-work .app-screen.is-on{animation:none}
.app-pg-head{margin:0 0 var(--sp-6)}
.app-pg-head h1{font-size:var(--fs-28);line-height:var(--lh-tight);letter-spacing:-.03em;font-weight:700;margin:0 0 var(--sp-2)}
.app-pg-head h1 .app-count{margin-left:8px;vertical-align:middle}
.app-pg-head h1 .app-site{color:var(--blue)}
.app-pg-head p{margin:0;color:var(--muted);font-size:var(--fs-16)}
.app-card{background:#fff;border:1px solid var(--mini-line);border-radius:var(--r-card);box-shadow:var(--sh-1);padding:var(--card-pad)}
.app-wait-card{max-width:760px}
.app-wait-card .app-steps{margin-top:22px}
.app-crumbs{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-14);color:var(--muted);margin:0 0 var(--sp-4);flex-wrap:wrap}
.app-crumbs a{color:var(--muted);text-decoration:none;font-weight:500}
.app-crumbs a:hover{color:var(--blue);text-decoration:underline}
.app-crumbs i{font-style:normal;opacity:.6}
.app-crumbs span{color:var(--ink);font-weight:600;overflow-wrap:anywhere}
/* обзор */
.app-fork{max-width:none;margin-top:0;gap:var(--grid-gap)}
.app-fcard{padding:var(--card-pad);border-radius:var(--r-card);box-shadow:var(--sh-1);border-color:var(--mini-line);background:#fff}
.app-fcard:hover{transform:none;border-color:var(--blue);box-shadow:var(--shadow-card)}
.app-fnum{font-size:var(--fs-32)}
.app-fcard h3{font-size:var(--fs-20);margin:var(--sp-2) 0 var(--sp-1)}
.app-fdesc{font-size:var(--fs-14);margin-bottom:var(--sp-3)}
.app-fprev{margin-bottom:var(--sp-4)}
.app-fgo{min-height:var(--ctl-h-sm);padding:0 var(--sp-4);font-size:var(--fs-14)}
.app-status-line{display:block;margin:var(--sp-6) 0 0;font-size:var(--fs-14);color:var(--muted)}
.app-sdot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--ok);margin-right:10px;vertical-align:middle}
/* таблица */
.app-table-card{padding:var(--card-pad) 0}
.app-table-card .app-tools{padding:0 var(--card-pad)}
.app-thead{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr) 32px;column-gap:var(--sp-6);padding:var(--sp-3) var(--card-pad);margin-top:var(--sp-1);background:var(--mini);border-top:1px solid var(--mini-line);border-bottom:1px solid var(--mini-line);font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.app-table-card .app-rows{border:0;border-radius:0;box-shadow:none}
.app-table-card .app-rows li:first-child{border-top:0}
.app-table-card .app-more-wrap{margin-top:var(--sp-4)}
/* рекомендации */
.app-detail{max-width:880px;margin:0;padding-top:0}
.app-d-title{font-size:clamp(22px,2.4vw,28px);letter-spacing:-.03em;line-height:1.2;font-weight:700;margin:4px 0 8px}
.app-d-kind{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
@media (min-width:721px) and (max-width:900px){:root{--side-w:232px;--page-pad:var(--sp-6)}}
@media (max-width:900px){.app-tb-mail{display:none}}
@media (max-width:720px){
  .app-topbar{padding:0 var(--sp-3);gap:var(--sp-2)}
  .app-burger{display:grid}
  .app-tb-logo .app-logo-svg{height:16px}
  .app-tb-proj{padding:0 10px;gap:6px;font-size:14px}
  .app-tb-proj span{max-width:78px}
  .app-tb-user{padding:0 4px 0 0}
  .app-tb-user .app-chev{display:none}
  .app-body{display:block}
  .app-side{position:fixed;top:0;left:0;bottom:0;height:100%;width:min(300px,86vw);flex:none;transform:translateX(-102%);transition:transform .22s ease;z-index:60;padding-top:var(--sp-6);box-shadow:var(--sh-2)}
  .app-side.open{transform:none}
  .app-scrim.open{display:block;position:fixed;inset:0;background:rgba(13,20,32,.45);z-index:50}
  .app-work{padding:var(--page-pad) var(--page-pad) var(--sp-12)}
  .app-fork{grid-template-columns:1fr}
  .app-fgo{width:100%;justify-content:center}
  .app-thead{display:none}
  .app-dd-r .app-dd-menu{right:0}
}

/* v7: ARMELIS — логотип + справа «Продвижение / сайтов» в две строки (Montserrat 600), высота блока ≈ высота логотипа */
.app-logo,.app-tb-logo{--lh:28px;display:flex;align-items:center;gap:calc(var(--lh)*.37)}
.app-tb-logo{--lh:22px}
.app-logo .app-logo-svg,.app-tb-logo .app-logo-svg{height:var(--lh)}
.app-logo-text{font:600 max(8px,calc(var(--lh)*.45))/1.1 Montserrat,Inter,sans-serif;letter-spacing:.03em;color:currentColor;white-space:nowrap}
.app-side-proj{display:none}
.app-logo,.app-tb-logo,.app-logo:hover,.app-tb-logo:hover,.app-logo:focus,.app-tb-logo:focus,.app-logo-text{text-decoration:none!important;border-bottom:0}
.app-logo:focus-visible,.app-tb-logo:focus-visible{outline:var(--focus);outline-offset:2px}
@media (max-width:720px){
  .app-logo{--lh:15px}
  .app-tb-logo{--lh:15px}
  .app-head-pill{flex-wrap:wrap}
  .app-head-auth{margin-left:auto}
  .app-tb-logo{margin-right:auto}
  #app-dd-proj{display:none}
  .app-side-proj{display:grid;gap:4px;margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid var(--mini-line)}
  .app-side-proj small{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:0 12px 4px}
  .app-side-proj button{display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;text-align:left;min-height:var(--ctl-h);padding:0 var(--sp-3);border-radius:var(--rad-md);font-size:var(--fs-14);font-weight:600;cursor:pointer;color:var(--ink)}
  .app-side-proj button.is-cur{background:var(--hover-bg)}
  .app-side-proj button span{font-size:12px;color:var(--ok)}
}

.app-page .app-detail,.app-page .app-work{min-width:0}
.app-logo-svg{height:var(--lh,22px);width:auto;display:block;flex:0 0 auto}
.app-skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:100}
.app-skip:focus{left:8px;top:8px}
.app-row.is-off{cursor:default}
.app-row.is-off:hover{background:transparent}
.app-row.is-off .app-go{display:none}
a.app-row{text-decoration:none;color:inherit}
.app-pill{display:inline-flex;align-items:center;height:24px;font-size:var(--fs-12);font-weight:600;color:var(--muted);background:var(--mini);border:1px solid var(--mini-line);border-radius:var(--r-pill);padding:0 var(--sp-3);white-space:nowrap}
.app-notice{margin:0 0 var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--rad-md);background:#fff7e6;border:1px solid #f1d9a6;color:#5b4410;font-size:14px}
.app-stub{margin-top:20px}
.app-stub h3{margin:0 0 6px;font-size:20px;letter-spacing:-.03em}
.app-stub p{margin:0;color:var(--muted)}
.app-user-note{padding:8px 12px 4px;font-size:12px;color:var(--muted)}
div.app-dd-menu .app-dd-link,a.app-dd-link{display:flex;width:100%;justify-content:space-between;gap:var(--sp-3);align-items:center;min-height:var(--ctl-h-sm);padding:0 var(--sp-3);border-radius:var(--rad-sm);font-size:var(--fs-14);color:var(--ink);text-decoration:none}
a.app-dd-link:hover{background:var(--hover-bg)}
.app-dd-menu form{margin:0}
.app-pager{display:flex;justify-content:center;gap:10px;margin-top:14px;flex-wrap:wrap}
.app-search-btn{display:none}
.app-btn,.app-btn-ghost{text-decoration:none}
.app-page a.app-btn{color:#fff}
.app-page a.app-btn-ghost{color:var(--ink)}
.app-page a.app-back{color:var(--ink);text-decoration:none}
.app-page a.app-fgo{color:#fff}
.app-page a.app-si{color:var(--ink)}
.app-page a.app-si.is-active{color:#fff}
.app-page a.app-si.is-off{color:#8b96a6}
.app-page a.app-fcard{color:var(--ink)}
.app-page .app-crumbs a{color:var(--muted)}
.app-page .app-d-url a{color:var(--blue)}
.app-page a.app-tb-logo{color:var(--ink)}
.app-dd-link{display:flex;width:100%;justify-content:space-between;gap:var(--sp-3);align-items:center;min-height:var(--ctl-h-sm);padding:0 var(--sp-3);border-radius:var(--rad-sm);font-size:var(--fs-14);color:var(--ink);text-decoration:none}
.app-dd-link span{font-size:12px;color:var(--ok);font-weight:600}
.app-dd-link.is-cur{background:var(--hover-bg)}
.app-dd-menu form button{width:100%}
.app-side-proj .app-side-cur{display:flex;justify-content:space-between;align-items:center;min-height:var(--ctl-h);padding:0 var(--sp-3);border-radius:var(--rad-md);font-size:var(--fs-14);font-weight:600;background:var(--hover-bg)}
.app-side-proj .app-side-cur span{font-size:12px;color:var(--ok)}
.app-side-proj form{margin:0}
.app-sect-gap{margin:var(--sp-8) 0 0;font-size:var(--fs-14);color:var(--muted);font-weight:600}
.app-sub{font-size:14px;color:var(--muted)}
.app-page h1.app-d-title{margin:4px 0 8px}
.app-page .app-search input[type=search]{width:100%;height:var(--ctl-h);border:1px solid var(--card-line);border-radius:var(--rad-md);background:#fff;padding:0 var(--sp-4) 0 44px;font:inherit;font-size:var(--fs-16);color:var(--ink);-webkit-appearance:none;appearance:none;box-shadow:none}
.app-page .app-search input[type=search]::placeholder{color:#6b7787;opacity:1}
.app-page .app-search input[type=search]:focus{outline:var(--focus);outline-offset:2px}
.app-page a.app-btn,.app-page a.app-btn-ghost,.app-page a.app-back,.app-page a.app-fcard,.app-page a.app-row,.app-page a.app-si,.app-page a.app-tb-logo,.app-page a.app-dd-link{text-decoration:none}

/* ===== public pages: landing, sign-up, sign-in ===== */
.pub-page{--ink:#0d1420;--muted:#566273;--blue:#32389f;--blue-hover:#252b8c;--blue-soft:#e8eafb;--bg:#edf3f8;--card-line:#cbd5f5;--ok:#1f6b4a;--warn-text:#8a1f1f;--r-btn:var(--rad-md);--r-card:var(--rad-lg);--r-panel:var(--rad-lg);--r-pill:var(--rad-pill);--shadow-btn:var(--sh-1);--shadow-btn-hover:var(--sh-2);--shadow-head:var(--sh-1);--shadow-panel:var(--sh-2);margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.pub-page *{box-sizing:border-box}
.pub-page a{color:var(--blue)}
.pub-page button{font:inherit;color:inherit}
.pub-page :focus-visible{outline:var(--focus);outline-offset:2px;border-radius:var(--rad-sm)}
.pub-page .pub-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 var(--sp-6) var(--sp-16)}
.pub-page{min-height:100vh}
html:has(body.pub-page),html:has(body.app-page){background:#edf3f8}
.pub-page main{max-width:none;margin:0;padding:0}
.pub-page .pub-head{margin-top:var(--sp-4)}
.pub-page .pub-pill{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);background:#fff;border:1px solid #e5eaf1;border-radius:var(--rad-lg);box-shadow:var(--sh-1);padding:var(--sp-3) var(--sp-6);min-height:64px}
.pub-page a.pub-logo{--lh:28px;display:flex;align-items:center;gap:calc(var(--lh)*.37);color:var(--ink);text-decoration:none}
.pub-page .pub-logo-svg{height:var(--lh,28px);width:auto;display:block;flex:0 0 auto}
.pub-page .pub-logo-text{font:600 max(8px,calc(var(--lh)*.45))/1.1 Montserrat,Inter,sans-serif;letter-spacing:.03em;color:currentColor;white-space:nowrap}
.pub-page .pub-auth{display:flex;align-items:center;gap:var(--sp-2)}
.pub-page .pub-auth form{margin:0}
.pub-page .pub-btn,.pub-page .pub-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--ctl-h);border-radius:var(--r-btn);font-size:var(--fs-16);font-weight:600;line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .18s,box-shadow .18s,border-color .18s}
.pub-page .pub-btn{background:var(--blue);color:#fff;border:1px solid var(--blue);padding:0 var(--sp-6);box-shadow:var(--sh-1)}
.pub-page a.pub-btn{color:#fff}
.pub-page .pub-btn:hover{background:var(--blue-hover);border-color:var(--blue-hover);box-shadow:var(--sh-2)}
.pub-page .pub-btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--card-line);padding:0 var(--sp-6)}
.pub-page a.pub-btn-ghost{color:var(--ink)}
.pub-page .pub-btn-ghost:hover{background:#f0f4fc;border-color:var(--blue)}
.pub-page .pub-sm{min-height:var(--ctl-h-sm);padding:0 var(--sp-4);font-size:var(--fs-14)}
.pub-page .pub-hero{padding:var(--sp-16) 0 var(--sp-8);max-width:820px}
.pub-page .pub-eyebrow{display:inline-flex;align-items:center;gap:var(--sp-2);background:#fff;border:1px solid #e5eaf1;border-radius:var(--r-pill);height:32px;padding:0 var(--sp-4);font-size:var(--fs-14);font-weight:600;color:var(--muted)}
.pub-page .pub-eyebrow i{width:7px;height:7px;border-radius:50%;background:#5864d7;box-shadow:0 0 0 4px rgba(88,100,215,.16)}
.pub-page .pub-hero h1{font-size:clamp(32px,5.2vw,56px);line-height:1.08;letter-spacing:-.045em;font-weight:730;margin:var(--sp-6) 0 var(--sp-4)}
.pub-page .pub-hero h1 em{font-style:normal;color:var(--blue)}
.pub-page .pub-lead{font-size:var(--fs-18);line-height:var(--lh-base);color:var(--muted);max-width:620px;margin:0 0 var(--sp-8);letter-spacing:-.01em}
.pub-page .pub-field-card{background:#fff;border:1px solid #e5eaf1;border-radius:var(--rad-lg);box-shadow:var(--sh-1);padding:var(--sp-3);max-width:760px}
.pub-page .pub-field-row{display:flex;gap:var(--sp-3);align-items:stretch}
.pub-page .pub-field-row label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pub-page .pub-input{flex:1;min-width:0;height:var(--ctl-h-lg);border:1px solid var(--card-line)!important;border-radius:var(--rad-md)!important;background:#fff;padding:0 var(--sp-4)!important;font:inherit;font-size:var(--fs-16)!important;color:var(--ink)}
.pub-page .pub-input::placeholder{color:#6b7787;opacity:1}
.pub-page .pub-input:focus{outline:var(--focus);outline-offset:2px}
.pub-page .pub-field-row .pub-btn{height:var(--ctl-h-lg);padding:0 var(--sp-8)}
.pub-page .pub-hint{margin:var(--sp-3) var(--sp-2) var(--sp-1);font-size:var(--fs-14);color:var(--muted)}
.pub-page .pub-err{display:none;margin:12px 6px 0;color:var(--warn-text);font-size:14px;font-weight:500}
.pub-page .pub-err.is-on{display:block}
.pub-page .pub-deep{max-width:760px;margin:var(--sp-6) 0 0;padding:var(--sp-4) var(--sp-6);background:var(--blue-soft);border-radius:var(--r-card);font-size:16px;line-height:1.5}
.pub-page .pub-deep b{color:var(--blue)}
.pub-page .pub-get{list-style:none;margin:var(--sp-6) 0 0;padding:0;display:flex;gap:var(--sp-3);flex-wrap:wrap;max-width:900px}
.pub-page .pub-get li{background:#fff;border:1px solid #e5eaf1;border-radius:var(--rad-md);padding:var(--sp-3) var(--sp-4) var(--sp-3) 40px;font-size:var(--fs-14);position:relative}
.pub-page .pub-get li::before{content:"\2713";position:absolute;left:14px;top:12px;color:var(--ok);font-weight:700}
.pub-page .pub-narrow{max-width:720px;margin:var(--sp-12) auto 0}
.pub-page .pub-panel{background:#fff;border:1px solid #e5eaf1;border-radius:var(--rad-lg);box-shadow:var(--sh-1);padding:var(--sp-8)}
.pub-page .pub-panel h2{font-size:var(--fs-28);line-height:var(--lh-tight);letter-spacing:-.03em;font-weight:720;margin:0 0 var(--sp-2)}
.pub-page .pub-sub{color:var(--muted);margin:0 0 var(--sp-6);font-size:var(--fs-16)}
.pub-page .pub-site{color:var(--blue);font-weight:600;overflow-wrap:anywhere}
.pub-page .pub-aform{display:grid;gap:var(--sp-4)}
.pub-page .pub-fld label{display:block;font-size:var(--fs-14);font-weight:600;margin:0 0 var(--sp-2)}
.pub-page .pub-fld small{font-weight:400;color:var(--muted);font-size:var(--fs-14);margin-left:var(--sp-2)}
.pub-page .pub-aform .pub-input{width:100%;flex:none}
.pub-page .pub-pw{position:relative}
.pub-page .pub-pw .pub-input{padding-right:104px!important}
.pub-page .pub-pw-t{position:absolute;right:var(--sp-2);top:50%;transform:translateY(-50%);border:0;background:var(--blue-soft);color:var(--blue)!important;font-size:var(--fs-14);font-weight:600;border-radius:var(--rad-sm);height:var(--ctl-h-sm);padding:0 var(--sp-3);cursor:pointer}
.pub-page .pub-chk{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.45;color:var(--muted);cursor:pointer}
.pub-page .pub-chk input{flex:0 0 auto;width:20px;height:20px;margin:2px 0 0;accent-color:var(--blue)}
.pub-page .pub-chk a,.pub-page .pub-alt a,.pub-page .pub-forgot a{font-weight:600}
.pub-page .pub-aform .pub-err{margin:0}
.pub-page .pub-wide{width:100%;height:var(--ctl-h-lg);text-align:center}
.pub-page .pub-alt{margin:var(--sp-6) 0 0;font-size:var(--fs-14);color:var(--muted);text-align:center}
.pub-page .pub-forgot{margin:-6px 0 0;font-size:14px}
.pub-page .pub-ok{margin:0;padding:var(--sp-4);background:#e1f3ea;color:var(--ok);border-radius:var(--r-card);font-weight:600}
@media (max-width:720px){
.pub-page .pub-wrap{padding:0 var(--sp-4) var(--sp-12)}
@media (max-width:420px){.pub-page .pub-logo-text{display:none}.pub-page a.pub-logo{--lh:16px}}
.pub-page .pub-pill{padding:var(--sp-2) var(--sp-3);border-radius:var(--rad-md);gap:var(--sp-2)}
.pub-page a.pub-logo{--lh:11px;min-width:0}
.pub-page .pub-auth{gap:6px}
.pub-page .pub-sm{min-height:var(--ctl-h-sm);padding:0 var(--sp-3);font-size:var(--fs-14)}
.pub-page .pub-hero{padding:var(--sp-8) 0 var(--sp-6)}
.pub-page .pub-lead{font-size:var(--fs-16);margin-bottom:var(--sp-6)}
.pub-page .pub-field-row{flex-direction:column}
.pub-page .pub-field-row .pub-btn{width:100%}
.pub-page .pub-input{flex:none;width:100%}
.pub-page .pub-narrow{margin-top:var(--sp-6)}
.pub-page .pub-panel{padding:var(--sp-6) var(--sp-4)}
.pub-page .pub-wide{height:auto;min-height:var(--ctl-h-lg);padding:var(--sp-3) var(--sp-4);white-space:normal}
}
/* settings: Yandex connections */
.app-set-h{font-size:var(--fs-20);letter-spacing:-.03em;margin:var(--sp-8) 0 var(--sp-2);font-weight:700}
.app-set-sub{margin:0 0 var(--sp-4);color:var(--muted);font-size:16px;max-width:760px}
.app-conn-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--grid-gap);align-items:stretch}
.app-conn{background:var(--card);border:1px solid var(--mini-line);border-radius:var(--r-card);box-shadow:var(--sh-1);padding:var(--card-pad)}
.app-conn-grid .app-conn{max-width:none}
.app-conn-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.app-conn-h h3{margin:0;font-size:var(--fs-20);letter-spacing:-.03em;font-weight:700}
.app-conn-st{display:inline-flex;align-items:center;height:24px;font-size:var(--fs-12);font-weight:600;color:var(--muted);background:var(--mini);border:1px solid var(--mini-line);border-radius:var(--r-pill);padding:0 var(--sp-3);white-space:nowrap}
.app-conn.is-on .app-conn-st{color:var(--ok);background:var(--ok-soft);border-color:transparent}
.app-conn.is-warn .app-conn-st{color:#8a5a00;background:#fff3cd;border-color:transparent}
.app-conn-about{margin:8px 0 16px;color:var(--muted);font-size:14px}
.app-conn-note{margin:0 0 12px;color:var(--muted);font-size:14px}
.app-conn-sel{margin:0 0 6px;font-size:16px;font-weight:600;overflow-wrap:anywhere}
.app-conn-warn{margin:0 0 12px;color:var(--warn-text);font-size:14px}
.app-conn-msg{margin:0 0 var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--rad-md);font-size:var(--fs-14)}
.app-conn-msg.is-ok{background:var(--ok-soft);color:var(--ok)}
.app-conn-msg.is-err{background:#fbe9e9;color:var(--warn-text)}
.app-conn-acts{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-4)}
.app-conn-form{margin:0;display:inline-block}
.app-conn a.app-btn-ghost{text-decoration:none}
.app-opts{list-style:none;margin:0 0 var(--sp-4);padding:0;border:1px solid var(--mini-line);border-radius:var(--rad-md);overflow:hidden;max-height:340px;overflow-y:auto;background:var(--mini)}
.app-opts li+li{border-top:1px solid var(--mini-line)}
.app-opts li[hidden]{display:none}
.app-opt{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) var(--sp-4);cursor:pointer}
.app-opt:hover{background:var(--hover-bg)}
.app-opt input{margin-top:4px;width:18px;height:18px;accent-color:var(--blue);flex:none}
.app-opt-t{display:flex;flex-direction:column;min-width:0}
.app-opt-t b{font-weight:600;overflow-wrap:anywhere}
.app-opt-t small{color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.app-opt-t em{font-style:normal;font-size:12px;color:var(--warn-text);margin-top:2px}
.app-opt.is-off{cursor:not-allowed;opacity:.6}
.app-opts-find{width:100%;height:var(--ctl-h);border:1px solid var(--card-line);border-radius:var(--rad-md);padding:0 var(--sp-4);font:inherit;font-size:var(--fs-16);margin:0 0 var(--sp-3);background:#fff}
@media (max-width:900px){.app-conn-grid{grid-template-columns:1fr}}
.app-page .app-conn button.app-btn-ghost{color:var(--ink)!important}
.app-page .app-conn button.app-btn{background:var(--blue);border-color:var(--blue)}
.app-page .app-conn button.app-btn:hover{background:var(--blue-hover);border-color:var(--blue-hover)}

/* user menu fix: the global submit-button colour must not whiten the logout item */
.app-dd-menu button[type="submit"]{color:var(--ink)!important;background:transparent;border:0;box-shadow:none;min-height:var(--ctl-h-sm);font-size:var(--fs-14);font-weight:500;line-height:1.4;white-space:normal}
.app-dd-menu button[type="submit"]:hover{background:var(--hover-bg);color:var(--ink)!important}
/* account page */
.app-ava.has-img{background:none;overflow:hidden}
.app-ava img{width:100%;height:100%;object-fit:cover;display:block}
.app-ava-lg{width:96px;height:96px;font-size:32px;flex:none}
.app-acc-photo{display:flex;gap:var(--sp-6);align-items:center;flex-wrap:wrap}
.app-acc-photo .app-conn-about{margin-top:0}
.app-acc-up{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap;margin:0 0 var(--sp-3)}
.app-acc-up input[type=file]{font:inherit;font-size:14px;max-width:100%}
.app-acc-form{display:grid;gap:var(--sp-4);max-width:420px}
.app-fld{display:grid;gap:var(--sp-2);font-size:var(--fs-14);font-weight:600}
.app-fld input{height:var(--ctl-h);border:1px solid var(--card-line);border-radius:var(--rad-md);padding:0 var(--sp-4);font:inherit;font-size:var(--fs-16);font-weight:400;background:#fff;color:var(--ink)}
.app-fld input:focus{outline:var(--focus);outline-offset:2px}
.app-acc-form button.app-btn,.app-acc-up button.app-btn{justify-self:start}

/* add project: plus button in the top bar and in the mobile menu */
.app-tb-add{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--ctl-h-sm);height:var(--ctl-h-sm);border:1px solid var(--mini-line);background:var(--mini);border-radius:var(--rad-md);color:var(--ink);cursor:pointer}
.app-tb-add:hover{background:var(--hover-bg)}
.app-tb-add svg{width:20px;height:20px;stroke:var(--blue);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.app-tb-add:focus-visible{outline:var(--focus);outline-offset:2px}
.app-side-add{display:flex;align-items:center;gap:var(--sp-3);min-height:var(--ctl-h);padding:0 var(--sp-3);border-radius:var(--rad-md);font-size:var(--fs-14);font-weight:600;color:var(--blue);text-decoration:none}
.app-side-add svg{width:20px;height:20px;stroke:var(--blue);fill:none;stroke-width:2;stroke-linecap:round}
.app-side-add:hover{background:var(--hover-bg)}
.app-dd-menu button span{color:var(--muted)}
@media (max-width:720px){.app-tb-add{display:none}}
