dsh-desktop-kit 0.0.0-stage → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +152 -2
- package/client.js +4101 -0
- package/cordis.patch.yml +5 -0
- package/docs/ARCHITECTURE.md +114 -0
- package/docs/COMPATIBILITY.md +61 -0
- package/docs/INSTALL.md +84 -0
- package/docs/PRIVACY.md +50 -0
- package/docs/ROADMAP.md +57 -0
- package/docs/TOKENS.md +118 -0
- package/docs/TROUBLESHOOTING.md +68 -0
- package/docs/images/hero.png +0 -0
- package/index.js +84 -0
- package/package.json +70 -4
- package/plugins/dsh-gkb-ru-ui/cordis.patch.yml +6 -0
- package/plugins/dsh-gkb-ru-ui/lib/client.js +1331 -0
- package/plugins/dsh-gkb-ru-ui/lib/index.js +186 -0
- package/plugins/dsh-gkb-ru-ui/lib/skills.js +570 -0
- package/plugins/dsh-gkb-ru-ui/package.json +28 -0
- package/plugins/dsh-gkb-ru-ui/screenshots/01-home-tiles-1440-light.png +0 -0
- package/plugins/dsh-gkb-ru-ui/screenshots/02-skills-1440-light.png +0 -0
- package/plugins/dsh-gkb-ru-ui/screenshots/03-skills-editor-1440-light.png +0 -0
- package/plugins/dsh-gkb-ru-ui/screenshots/04-skills-1440-dark.png +0 -0
- package/plugins/dsh-gkb-ru-ui/screenshots/05-skills-390-light.png +0 -0
- package/plugins/dsh-gkb-ru-ui/screenshots/06-home-tiles-1440-dark.png +0 -0
- package/plugins/dsh-peak-guard/README.md +70 -0
- package/plugins/dsh-peak-guard/client.js +741 -0
- package/plugins/dsh-peak-guard/cordis.patch.yml +5 -0
- package/plugins/dsh-peak-guard/icon.svg +12 -0
- package/plugins/dsh-peak-guard/index.js +2 -0
- package/plugins/dsh-peak-guard/locale/en.json +6 -0
- package/plugins/dsh-peak-guard/locale/ru.json +6 -0
- package/plugins/dsh-peak-guard/locale/zh.json +6 -0
- package/plugins/dsh-peak-guard/package.json +33 -0
- package/plugins/dsh-peak-guard/screenshots/01-real-time-peak-start.png +0 -0
- package/plugins/dsh-peak-guard/screenshots/02-real-time-peak-end.png +0 -0
- package/plugins/dsh-peak-guard/screenshots/03-peak-card-1440-light.png +0 -0
- package/plugins/dsh-peak-guard/screenshots/04-peak-card-1440-dark.png +0 -0
- package/plugins/dsh-peak-guard/screenshots/05-peak-card-390-light.png +0 -0
- package/plugins/dsh-peak-guard/screenshots/05-peak-card-768-light.png +0 -0
- package/plugins/dsh-peak-guard/screenshots/06-peak-card-390-light.png +0 -0
- package/plugins/dsh-peak-guard/screenshots/07-live-preview-check.png +0 -0
- package/plugins/dsh-peak-guard/screenshots/07-pre-peak-1440-light.png +0 -0
- package/plugins/dsh-peak-guard/screenshots/08-peak-start-1440-light.png +0 -0
- package/plugins/dsh-peak-guard/screenshots/09-peak-end-1440-light.png +0 -0
- package/plugins/dsh-peak-guard/screenshots/10-pre-peak-card-1440-light.png +0 -0
- package/plugins/dsh-peak-guard/screenshots/11-pre-peak-card-1440-dark.png +0 -0
- package/plugins/dsh-peak-guard/screenshots/12-pre-peak-card-390-light.png +0 -0
- package/plugins/dsh-peak-guard/screenshots/qa-report.json +74 -0
- package/plugins/dsh-profile-transfer/README.md +62 -0
- package/plugins/dsh-profile-transfer/bootstrap/01-INSTALL.cmd +7 -0
- package/plugins/dsh-profile-transfer/bootstrap/README-ARCHIVE.md +54 -0
- package/plugins/dsh-profile-transfer/bootstrap/README-/320/243/320/241/320/242/320/220/320/235/320/236/320/222/320/232/320/220.md +42 -0
- package/plugins/dsh-profile-transfer/bootstrap/install-on-clean-machine.ps1 +119 -0
- package/plugins/dsh-profile-transfer/bootstrap//320/243/320/241/320/242/320/220/320/235/320/236/320/222/320/230/320/242/320/254.cmd +5 -0
- package/plugins/dsh-profile-transfer/client.js +806 -0
- package/plugins/dsh-profile-transfer/cordis.patch.yml +3 -0
- package/plugins/dsh-profile-transfer/icon.svg +13 -0
- package/plugins/dsh-profile-transfer/index.js +375 -0
- package/plugins/dsh-profile-transfer/locale/en.json +6 -0
- package/plugins/dsh-profile-transfer/locale/ru.json +6 -0
- package/plugins/dsh-profile-transfer/locale/zh.json +6 -0
- package/plugins/dsh-profile-transfer/package.json +36 -0
- package/plugins/dsh-profile-transfer/screenshots/01-settings-transfer-1440-light.png +0 -0
- package/plugins/dsh-profile-transfer/screenshots/02-settings-transfer-preview-1440-light.png +0 -0
- package/plugins/dsh-profile-transfer/screenshots/03-settings-transfer-1440-dark.png +0 -0
- package/plugins/dsh-profile-transfer/screenshots/04-settings-transfer-390-light.png +0 -0
- package/plugins/dsh-profile-transfer/screenshots/05-settings-transfer-768-light.png +0 -0
- package/plugins/dsh-profile-transfer/screenshots/06-settings-transfer-390-dark.png +0 -0
- package/plugins/dsh-profile-transfer/screenshots/07-settings-transfer-export-result.png +0 -0
- package/plugins/dsh-profile-transfer/screenshots/08-settings-transfer-workspaces-1440-light.png +0 -0
- package/plugins/dsh-profile-transfer/screenshots/09-settings-transfer-workspaces-1440-dark.png +0 -0
- package/plugins/dsh-profile-transfer/screenshots/10-settings-transfer-workspaces-390-light.png +0 -0
- package/plugins/dsh-profile-transfer/transfer.js +1004 -0
- package/plugins/dsh-project-memory/README.md +71 -0
- package/plugins/dsh-project-memory/cordis.patch.yml +4 -0
- package/plugins/dsh-project-memory/icon.svg +12 -0
- package/plugins/dsh-project-memory/index.js +1240 -0
- package/plugins/dsh-project-memory/locale/en.json +6 -0
- package/plugins/dsh-project-memory/locale/ru.json +6 -0
- package/plugins/dsh-project-memory/locale/zh.json +6 -0
- package/plugins/dsh-project-memory/package.json +26 -0
- package/plugins/dsh-session-move/README.md +67 -0
- package/plugins/dsh-session-move/client.js +719 -0
- package/plugins/dsh-session-move/cordis.patch.yml +5 -0
- package/plugins/dsh-session-move/icon.svg +14 -0
- package/plugins/dsh-session-move/index.js +497 -0
- package/plugins/dsh-session-move/locale/en.json +6 -0
- package/plugins/dsh-session-move/locale/ru.json +6 -0
- package/plugins/dsh-session-move/locale/zh.json +6 -0
- package/plugins/dsh-session-move/package.json +31 -0
- package/plugins/dsh-session-move/screenshots/01-row-menu-1440-light.png +0 -0
- package/plugins/dsh-session-move/screenshots/02-dialog-1440-light.png +0 -0
- package/plugins/dsh-session-move/screenshots/03-dialog-390-light.png +0 -0
- package/plugins/dsh-session-move/screenshots/04-dialog-1440-dark.png +0 -0
- package/plugins/dsh-session-move/screenshots/05-drag-highlight-1440-light.png +0 -0
- package/plugins/dsh-session-move/screenshots/06-drop-ungrouped-highlight.png +0 -0
- package/plugins/dsh-session-move/screenshots/07-after-drop-ungrouped.png +0 -0
- package/plugins/dsh-session-move/screenshots/08-move-dialog.png +0 -0
- package/plugins/dsh-session-move/screenshots/09-moved-to-second-workspace.png +0 -0
- package/plugins/dsh-session-move/screenshots/qa-report.json +62 -0
- package/plugins/dsh-skill-autopilot/cordis.patch.yml +3 -0
- package/plugins/dsh-skill-autopilot/index.js +444 -0
- package/plugins/dsh-skill-autopilot/package.json +19 -0
- package/plugins/dsh-token-lab/cordis.patch.yml +3 -0
- package/plugins/dsh-token-lab/lib/client.js +504 -0
- package/plugins/dsh-token-lab/lib/index.js +275 -0
- package/plugins/dsh-token-lab/package.json +26 -0
- package/plugins/dsh-token-lab/screenshots/01-token-lab-1440-light.png +0 -0
- package/plugins/dsh-token-lab/screenshots/02-token-lab-1440-dark.png +0 -0
- package/skills/code-review-checklist/SKILL.md +55 -0
- package/skills/content-writing/README.md +87 -0
- package/skills/content-writing/SKILL.md +85 -0
- package/skills/content-writing/assets/checklists/fact-check.md +53 -0
- package/skills/content-writing/assets/checklists/publish.md +65 -0
- package/skills/content-writing/assets/checklists/social.md +40 -0
- package/skills/content-writing/assets/templates/article.md +47 -0
- package/skills/content-writing/assets/templates/brief.md +44 -0
- package/skills/content-writing/assets/templates/doctor-card.md +41 -0
- package/skills/content-writing/assets/templates/image-prompts.md +128 -0
- package/skills/content-writing/assets/templates/post-telegram.md +36 -0
- package/skills/content-writing/assets/templates/post-vk.md +42 -0
- package/skills/content-writing/assets/templates/press-release.md +56 -0
- package/skills/content-writing/assets/templates/science-pop-note.md +55 -0
- package/skills/content-writing/assets/templates/service-card.md +46 -0
- package/skills/content-writing/references/anti-ai-style.md +248 -0
- package/skills/content-writing/references/editing.md +185 -0
- package/skills/content-writing/references/fact-checking.md +205 -0
- package/skills/content-writing/references/government-medical.md +246 -0
- package/skills/content-writing/references/images.md +212 -0
- package/skills/content-writing/references/journalism.md +252 -0
- package/skills/content-writing/references/process.md +123 -0
- package/skills/content-writing/references/quick-recipes.md +99 -0
- package/skills/content-writing/references/rules.md +85 -0
- package/skills/content-writing/references/science-popular.md +218 -0
- package/skills/content-writing/references/seo-content.md +172 -0
- package/skills/content-writing/references/social-media.md +253 -0
- package/skills/content-writing/references/sources.md +49 -0
- package/skills/content-writing/references/templates.md +291 -0
- package/skills/context-economy/SKILL.md +60 -0
- package/skills/context-economy/references/long-session.md +35 -0
- package/skills/context-economy/references/token-math.md +42 -0
- package/skills/context-economy/references/tool-recipes.md +34 -0
- package/skills/database-safety/SKILL.md +47 -0
- package/skills/debugging-playbook/SKILL.md +42 -0
- package/skills/design-critique/SKILL.md +65 -0
- package/skills/design-critique/references/a11y.md +25 -0
- package/skills/design-critique/references/diagnoses.md +33 -0
- package/skills/design-critique/references/quick-tests.md +30 -0
- package/skills/design-critique/references/report-template.md +63 -0
- package/skills/design-critique/references/rubric-fast.md +73 -0
- package/skills/dev-workflow/SKILL.md +48 -0
- package/skills/dev-workflow/references/definition-of-done.md +44 -0
- package/skills/dev-workflow/references/memory-and-boundaries.md +31 -0
- package/skills/dev-workflow/references/stages.md +67 -0
- package/skills/git-and-ci/SKILL.md +60 -0
- package/skills/pg-upgrade-verify/SKILL.md +67 -0
- package/skills/project-deep-dive/SKILL.md +45 -0
- package/skills/project-deep-dive/references/recon-commands.md +90 -0
- package/skills/project-deep-dive/references/section-templates.md +104 -0
- package/skills/project-deep-dive/references/tool-and-process.md +86 -0
- package/skills/project-memory-maintenance/SKILL.md +55 -0
- package/skills/project-memory-maintenance/references/api-and-checklist.md +99 -0
- package/skills/project-memory-maintenance/references/journal-template.md +50 -0
- package/skills/project-memory-maintenance/references/section-rules.md +59 -0
- package/skills/release-and-deploy/SKILL.md +53 -0
- package/skills/requirements-and-planning/SKILL.md +49 -0
- package/skills/requirements-and-planning/references/antipatterns-and-checklist.md +20 -0
- package/skills/requirements-and-planning/references/process-steps.md +52 -0
- package/skills/requirements-and-planning/references/templates-and-estimates.md +29 -0
- package/skills/security-review/SKILL.md +40 -0
- package/skills/seo/README.md +60 -0
- package/skills/seo/SKILL.md +77 -0
- package/skills/seo/assets/README.md +66 -0
- package/skills/seo/assets/scripts/LICENSE-playwright-core.txt +202 -0
- package/skills/seo/assets/scripts/README.md +179 -0
- package/skills/seo/assets/scripts/lib/args.mjs +105 -0
- package/skills/seo/assets/scripts/lib/browser.mjs +620 -0
- package/skills/seo/assets/scripts/lib/zip.mjs +191 -0
- package/skills/seo/assets/scripts/seo-audit.mjs +1675 -0
- package/skills/seo/assets/snippets/jsonld-breadcrumb.json +30 -0
- package/skills/seo/assets/snippets/jsonld-faq.json +39 -0
- package/skills/seo/assets/snippets/jsonld-medical-clinic.json +49 -0
- package/skills/seo/assets/snippets/jsonld-medical-webpage.json +33 -0
- package/skills/seo/assets/snippets/jsonld-organization.json +74 -0
- package/skills/seo/assets/snippets/jsonld-physician.json +46 -0
- package/skills/seo/assets/snippets/meta.blade.php +61 -0
- package/skills/seo/assets/snippets/robots.txt +61 -0
- package/skills/seo/assets/snippets/sitemap-urlset-example.xml +72 -0
- package/skills/seo/assets/snippets/sitemap.xml +36 -0
- package/skills/seo/references/antipatterns.md +66 -0
- package/skills/seo/references/audit-checklist.md +319 -0
- package/skills/seo/references/content-seo.md +204 -0
- package/skills/seo/references/eeat-medical.md +219 -0
- package/skills/seo/references/measurement.md +250 -0
- package/skills/seo/references/on-page.md +214 -0
- package/skills/seo/references/page-templates.md +56 -0
- package/skills/seo/references/stack-recipes.md +695 -0
- package/skills/seo/references/structured-data.md +487 -0
- package/skills/seo/references/technical-seo.md +296 -0
- package/skills/service-desk-conventions/SKILL.md +52 -0
- package/skills/service-desk-db-safety/SKILL.md +63 -0
- package/skills/service-desk-release/SKILL.md +61 -0
- package/skills/service-desk-testing/SKILL.md +61 -0
- package/skills/service-desk-ui/SKILL.md +52 -0
- package/skills/skills-router/SKILL.md +53 -0
- package/skills/skills-router/references/applying-skills.md +25 -0
- package/skills/skills-router/references/routing-matrix.md +52 -0
- package/skills/testing-strategy/SKILL.md +52 -0
- package/skills/ui-design-system/SKILL.md +50 -0
- package/skills/ui-design-system/references/accessibility-and-responsive.md +50 -0
- package/skills/ui-design-system/references/tokens-and-components.md +67 -0
- package/skills/ui-design-system/references/visual-qa.md +44 -0
- package/skills/web-research/SKILL.md +47 -0
- package/skills/web-research/references/answer-and-citations.md +60 -0
- package/skills/web-research/references/query-recipes.md +44 -0
- package/skills/wow-design/SKILL.md +89 -0
- package/skills/wow-design/assets/kit/README.md +195 -0
- package/skills/wow-design/assets/kit/assets/css/base.css +158 -0
- package/skills/wow-design/assets/kit/assets/css/components.css +1001 -0
- package/skills/wow-design/assets/kit/assets/css/fonts.css +73 -0
- package/skills/wow-design/assets/kit/assets/css/pages.css +737 -0
- package/skills/wow-design/assets/kit/assets/css/tokens.css +218 -0
- package/skills/wow-design/assets/kit/assets/fonts/LICENSE-golos-text.txt +93 -0
- package/skills/wow-design/assets/kit/assets/fonts/LICENSE-lora.txt +93 -0
- package/skills/wow-design/assets/kit/assets/fonts/LICENSE-unbounded.txt +93 -0
- package/skills/wow-design/assets/kit/assets/fonts/golos-text-cyrillic-400-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/golos-text-cyrillic-500-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/golos-text-cyrillic-600-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/golos-text-cyrillic-700-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/golos-text-latin-400-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/golos-text-latin-500-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/golos-text-latin-600-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/golos-text-latin-700-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/lora-cyrillic-400-italic.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/lora-cyrillic-400-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/lora-cyrillic-500-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/lora-cyrillic-600-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/lora-latin-400-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/lora-latin-500-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/lora-latin-600-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/unbounded-cyrillic-400-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/unbounded-cyrillic-500-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/unbounded-cyrillic-600-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/unbounded-latin-400-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/unbounded-latin-500-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/fonts/unbounded-latin-600-normal.woff2 +0 -0
- package/skills/wow-design/assets/kit/assets/js/kit.js +550 -0
- package/skills/wow-design/assets/kit/pages/dashboard.html +539 -0
- package/skills/wow-design/assets/kit/pages/hospital.html +430 -0
- package/skills/wow-design/assets/kit/showcase.html +1164 -0
- package/skills/wow-design/assets/scripts/LICENSE-axe-core.txt +362 -0
- package/skills/wow-design/assets/scripts/LICENSE-playwright-core.txt +202 -0
- package/skills/wow-design/assets/scripts/README.md +312 -0
- package/skills/wow-design/assets/scripts/audit.mjs +1200 -0
- package/skills/wow-design/assets/scripts/capture.mjs +337 -0
- package/skills/wow-design/assets/scripts/package.json +30 -0
- package/skills/wow-design/references/anti-patterns.md +252 -0
- package/skills/wow-design/references/critique-rubric.md +262 -0
- package/skills/wow-design/references/design-brief-template.md +48 -0
- package/skills/wow-design/references/inspiration.md +203 -0
- package/skills/wow-design/references/presets.md +99 -0
- package/skills/wow-design/references/principles.md +371 -0
- package/skills/wow-design/references/quick-presets.md +50 -0
- package/skills/wow-design/references/report-template.md +21 -0
- package/skills/wow-design/references/stack-recipes.md +96 -0
- package/skills/wow-design/references/visual-qa.md +82 -0
- package/skills/wow-design/references/wow-levers.md +43 -0
- package/tools/skill-cost.mjs +76 -0
|
@@ -0,0 +1,737 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
AURORA · PAGES · v1.0 · 2026-11-04
|
|
3
|
+
Стили эталонных страниц: showcase, hospital, dashboard, auth.
|
|
4
|
+
Только токены. Каждая часть изолирована префиксами классов.
|
|
5
|
+
========================================================================== */
|
|
6
|
+
|
|
7
|
+
/* ==========================================================================
|
|
8
|
+
ОБЩИЙ КАРКАС ДЕМО-СТРАНИЦ
|
|
9
|
+
========================================================================== */
|
|
10
|
+
html{scroll-padding-top:calc(var(--header-h) + 24px)}
|
|
11
|
+
body.page-shell{overflow-x:clip}
|
|
12
|
+
|
|
13
|
+
/* Переключатель темы: в светлой теме показываем «луну», в тёмной — «солнце» */
|
|
14
|
+
.theme-toggle .icon-sun{display:none}
|
|
15
|
+
.theme-toggle .icon-moon{display:block}
|
|
16
|
+
[data-theme="dark"] .theme-toggle .icon-sun{display:block}
|
|
17
|
+
[data-theme="dark"] .theme-toggle .icon-moon{display:none}
|
|
18
|
+
|
|
19
|
+
/* Шапка-сайт */
|
|
20
|
+
.site-header{
|
|
21
|
+
position:sticky;top:0;z-index:var(--z-header);
|
|
22
|
+
background:var(--bg);
|
|
23
|
+
border-bottom:1px solid transparent;
|
|
24
|
+
transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
|
|
25
|
+
}
|
|
26
|
+
.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:var(--shadow-xs)}
|
|
27
|
+
.site-header__inner{display:flex;align-items:center;gap:clamp(16px,2.4vw,32px);min-height:var(--header-h)}
|
|
28
|
+
.site-header__brand{display:inline-flex;align-items:center;gap:var(--sp-3);text-decoration:none;color:var(--ink);flex:none}
|
|
29
|
+
.site-header__mark{
|
|
30
|
+
display:grid;place-items:center;width:38px;height:38px;flex:none;
|
|
31
|
+
border:1px solid var(--line-strong);border-radius:var(--radius-sm);
|
|
32
|
+
font-family:var(--font-display);font-size:var(--text-md);font-weight:600;
|
|
33
|
+
letter-spacing:-.03em;line-height:1;
|
|
34
|
+
}
|
|
35
|
+
.site-header__word{display:flex;flex-direction:column;gap:1px;line-height:1.15}
|
|
36
|
+
.site-header__word b{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;letter-spacing:-.02em}
|
|
37
|
+
.site-header__word span{font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
|
|
38
|
+
.site-header__nav{display:flex;align-items:center;gap:var(--sp-1);margin-left:var(--sp-6)}
|
|
39
|
+
.site-header__link{
|
|
40
|
+
padding:8px var(--sp-3);border-radius:var(--radius-sm);
|
|
41
|
+
color:var(--muted);font-size:var(--text-sm);font-weight:500;text-decoration:none;
|
|
42
|
+
transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease);
|
|
43
|
+
}
|
|
44
|
+
.site-header__link:hover{color:var(--ink);background:var(--bg-alt)}
|
|
45
|
+
.site-header__link[aria-current]{color:var(--ink);font-weight:600}
|
|
46
|
+
.site-header__actions{display:flex;align-items:center;gap:var(--sp-2)}
|
|
47
|
+
.site-header__cta{display:inline-flex}
|
|
48
|
+
.preset-switch{margin-left:auto}
|
|
49
|
+
|
|
50
|
+
/* Футер демо-страниц */
|
|
51
|
+
.demo-footer{border-top:1px solid var(--line);padding-block:var(--sp-8);background:var(--bg-alt)}
|
|
52
|
+
.demo-footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-4)}
|
|
53
|
+
.demo-footer__brand{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--text-sm);color:var(--ink-2)}
|
|
54
|
+
.demo-footer__brand b{font-family:var(--font-display);font-weight:500}
|
|
55
|
+
.demo-footer__meta{font-size:var(--text-xs);color:var(--muted);display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4)}
|
|
56
|
+
.demo-footer a{color:var(--muted);text-decoration:none}
|
|
57
|
+
.demo-footer a:hover{color:var(--accent)}
|
|
58
|
+
|
|
59
|
+
/* Метка-заголовок секции витрины */
|
|
60
|
+
.spec-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-3) var(--sp-5);margin-bottom:var(--sp-6)}
|
|
61
|
+
.spec-head h2{font-size:var(--display-s)}
|
|
62
|
+
.spec-head p{font-size:var(--text-sm);color:var(--muted);max-width:52ch}
|
|
63
|
+
.spec-head .spec-num{
|
|
64
|
+
font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-ink);
|
|
65
|
+
letter-spacing:.06em;border:1px solid color-mix(in oklab,var(--accent) 28%,var(--line));
|
|
66
|
+
padding:3px 8px;border-radius:var(--radius-pill);background:var(--accent-soft);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* ==========================================================================
|
|
70
|
+
SHOWCASE — витрина дизайн-системы
|
|
71
|
+
========================================================================== */
|
|
72
|
+
.show-header__nav{overflow-x:auto;scrollbar-width:none}
|
|
73
|
+
.show-header__nav::-webkit-scrollbar{display:none}
|
|
74
|
+
|
|
75
|
+
/* Управление пресетом: горизонтальная лента кнопок */
|
|
76
|
+
.preset-switch{display:inline-flex;gap:2px;padding:3px;background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius-control);max-width:100%;overflow-x:auto;scrollbar-width:none}
|
|
77
|
+
.preset-switch::-webkit-scrollbar{display:none}
|
|
78
|
+
.preset-switch__btn{
|
|
79
|
+
min-height:32px;padding:0 11px;border-radius:max(2px,calc(var(--radius-control) - 3px));
|
|
80
|
+
color:var(--muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.01em;
|
|
81
|
+
white-space:nowrap;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
|
|
82
|
+
}
|
|
83
|
+
.preset-switch__btn:hover{color:var(--ink)}
|
|
84
|
+
.preset-switch__btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}
|
|
85
|
+
.preset-switch__btn[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs)}
|
|
86
|
+
|
|
87
|
+
/* --- Hero витрины --- */
|
|
88
|
+
.show-hero{
|
|
89
|
+
position:relative;
|
|
90
|
+
padding-block:clamp(48px,6vw,88px) clamp(56px,7vw,104px);
|
|
91
|
+
}
|
|
92
|
+
.show-hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:center}
|
|
93
|
+
.show-hero__title{font-size:clamp(4rem,9.5vw,7.5rem);line-height:.9;letter-spacing:-.045em;margin-top:var(--sp-5)}
|
|
94
|
+
.show-hero__title em{font-style:italic;font-weight:400;color:var(--accent)}
|
|
95
|
+
.show-hero__lead{margin-top:var(--sp-6);max-width:46ch;font-size:clamp(1.0625rem,1.35vw,1.25rem)}
|
|
96
|
+
.show-hero__meta{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-7)}
|
|
97
|
+
.show-hero__meta .badge{height:28px;padding:0 11px;font-size:var(--text-xs);font-weight:500}
|
|
98
|
+
|
|
99
|
+
/* Типографский образец — «документ» на витрине */
|
|
100
|
+
.specimen{
|
|
101
|
+
position:relative;
|
|
102
|
+
display:flex;flex-direction:column;gap:0;
|
|
103
|
+
padding:clamp(20px,2.4vw,32px);
|
|
104
|
+
background:var(--surface);border:1px solid var(--line-strong);
|
|
105
|
+
border-radius:var(--radius-card);box-shadow:var(--shadow-sm);
|
|
106
|
+
}
|
|
107
|
+
.specimen::before,.specimen::after{content:"";position:absolute;width:16px;height:16px;border-color:var(--line-strong);border-style:solid;pointer-events:none}
|
|
108
|
+
.specimen::before{top:-5px;left:-5px;border-width:1px 0 0 1px}
|
|
109
|
+
.specimen::after{bottom:-5px;right:-5px;border-width:0 1px 1px 0}
|
|
110
|
+
.specimen__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);padding-bottom:var(--sp-4);border-bottom:1px solid var(--line)}
|
|
111
|
+
.specimen__eyebrow{font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
|
|
112
|
+
.specimen__code{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted)}
|
|
113
|
+
.specimen__type{
|
|
114
|
+
display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);
|
|
115
|
+
padding-block:var(--sp-5) var(--sp-4);
|
|
116
|
+
}
|
|
117
|
+
.specimen__glyph{
|
|
118
|
+
font-family:var(--font-display);font-weight:var(--display-weight);
|
|
119
|
+
font-size:clamp(5rem,9vw,8.25rem);line-height:.78;letter-spacing:-.055em;
|
|
120
|
+
color:var(--ink);
|
|
121
|
+
}
|
|
122
|
+
.specimen__glyph-cyr{
|
|
123
|
+
font-size:.38em;letter-spacing:-.03em;color:var(--accent-ink);
|
|
124
|
+
margin-left:.12em;vertical-align:.06em;
|
|
125
|
+
}
|
|
126
|
+
.specimen__glyph .alt{color:var(--accent)}
|
|
127
|
+
.specimen__side{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right;flex:none;padding-bottom:6px}
|
|
128
|
+
.specimen__side b{font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
|
|
129
|
+
.specimen__side span{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted);line-height:1.6}
|
|
130
|
+
.specimen__rows{display:flex;flex-direction:column;border-top:1px solid var(--line)}
|
|
131
|
+
.specimen__row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:9px 0;border-bottom:1px solid var(--line);font-size:var(--text-xs)}
|
|
132
|
+
.specimen__row:last-of-type{border-bottom:0}
|
|
133
|
+
.specimen__row dt{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.02em}
|
|
134
|
+
.specimen__row dd{margin:0;color:var(--ink-2);font-weight:500;text-align:right}
|
|
135
|
+
.specimen__chips{display:flex;gap:6px;margin-top:auto;padding-top:var(--sp-4)}
|
|
136
|
+
.specimen__chip{width:100%;height:9px;border-radius:2px;background:var(--chip-color,var(--line))}
|
|
137
|
+
.specimen__caption{margin-top:var(--sp-3);font-size:var(--text-2xs);color:var(--muted);display:flex;justify-content:space-between;gap:var(--sp-3)}
|
|
138
|
+
|
|
139
|
+
/* Принципы */
|
|
140
|
+
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
|
|
141
|
+
.principle{padding:var(--sp-6) var(--sp-6) var(--sp-7) 0;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:var(--sp-3)}
|
|
142
|
+
.principle:last-child{border-right:0;padding-right:0}
|
|
143
|
+
.principle:not(:first-child){padding-left:var(--sp-6)}
|
|
144
|
+
.principle__num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-ink);letter-spacing:.06em}
|
|
145
|
+
.principle__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;letter-spacing:-.02em}
|
|
146
|
+
.principle__text{font-size:var(--text-sm);color:var(--muted);line-height:1.6;max-width:34ch}
|
|
147
|
+
|
|
148
|
+
/* --- Палитра --- */
|
|
149
|
+
.palette-group{margin-top:var(--sp-8)}
|
|
150
|
+
.palette-group:first-of-type{margin-top:0}
|
|
151
|
+
.palette-group__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-4)}
|
|
152
|
+
.palette-group__title{font-size:var(--text-lg);font-weight:600}
|
|
153
|
+
.palette-group__note{font-size:var(--text-xs);color:var(--muted)}
|
|
154
|
+
.palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--sp-3)}
|
|
155
|
+
.swatch{
|
|
156
|
+
display:flex;flex-direction:column;text-align:left;
|
|
157
|
+
border:1px solid var(--line);border-radius:var(--radius-sm);
|
|
158
|
+
background:var(--surface);overflow:hidden;
|
|
159
|
+
transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
|
|
160
|
+
}
|
|
161
|
+
.swatch:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
|
|
162
|
+
.swatch:focus-visible{outline:none;box-shadow:var(--focus-ring)}
|
|
163
|
+
.swatch__color{height:74px;background:var(--swatch,var(--bg));border-bottom:1px solid var(--line);position:relative}
|
|
164
|
+
.swatch__color::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgb(255 255 255 / .06),transparent 55%)}
|
|
165
|
+
.swatch--border .swatch__color{outline:1px solid var(--line) inset;outline-offset:-1px}
|
|
166
|
+
.swatch__meta{padding:10px 11px 11px;display:flex;flex-direction:column;gap:2px}
|
|
167
|
+
.swatch__name{font-size:var(--text-xs);font-weight:600;color:var(--ink);line-height:1.3}
|
|
168
|
+
.swatch__hex{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted);letter-spacing:.02em}
|
|
169
|
+
.swatch__var{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
170
|
+
|
|
171
|
+
/* --- Типографика --- */
|
|
172
|
+
.type-specimen{border-top:1px solid var(--line)}
|
|
173
|
+
.type-row{
|
|
174
|
+
display:grid;grid-template-columns:180px minmax(0,1fr) 150px;gap:var(--sp-5);
|
|
175
|
+
align-items:baseline;padding:var(--sp-5) 0;border-bottom:1px solid var(--line);
|
|
176
|
+
}
|
|
177
|
+
.type-row__meta{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted);letter-spacing:.02em;line-height:1.7}
|
|
178
|
+
.type-row__meta b{display:block;color:var(--ink-2);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:0}
|
|
179
|
+
.type-row__sample{min-width:0;color:var(--ink)}
|
|
180
|
+
.type-row__specs{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted);text-align:right;line-height:1.7}
|
|
181
|
+
.type-row__sample--display{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);line-height:1.02}
|
|
182
|
+
.measure-demo{margin-top:var(--sp-6);display:grid;grid-template-columns:minmax(0,66ch) auto;gap:var(--sp-4);align-items:start}
|
|
183
|
+
.measure-demo p{font-size:var(--text-md);line-height:var(--lh-relaxed);color:var(--ink-2)}
|
|
184
|
+
.measure-demo__label{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--accent-ink);border-top:1px solid var(--accent);padding-top:4px;white-space:nowrap}
|
|
185
|
+
|
|
186
|
+
/* --- Шкалы --- */
|
|
187
|
+
.scale-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-7) clamp(24px,4vw,56px)}
|
|
188
|
+
.scale-block{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}
|
|
189
|
+
.scale-block__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}
|
|
190
|
+
.scale-block__title{font-size:var(--text-sm);font-weight:600}
|
|
191
|
+
.scale-block__note{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted)}
|
|
192
|
+
.spacing-rail{display:flex;align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap}
|
|
193
|
+
.spacing-bar{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
|
|
194
|
+
.spacing-bar i{display:block;height:10px;background:var(--accent);border-radius:1px;opacity:.85}
|
|
195
|
+
.spacing-bar span{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted);white-space:nowrap}
|
|
196
|
+
.radii-row{display:flex;flex-wrap:wrap;gap:var(--sp-4)}
|
|
197
|
+
.radius-tile{display:flex;flex-direction:column;gap:6px;align-items:center}
|
|
198
|
+
.radius-tile i{display:block;width:56px;height:56px;background:var(--surface);border:1px solid var(--line-strong);box-shadow:var(--shadow-xs)}
|
|
199
|
+
.radius-tile span{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted)}
|
|
200
|
+
.radius-tile--sm i{border-radius:var(--radius-sm)}
|
|
201
|
+
.radius-tile--control i{border-radius:var(--radius-control)}
|
|
202
|
+
.radius-tile--card i{border-radius:var(--radius-card)}
|
|
203
|
+
.radius-tile--lg i{border-radius:var(--radius-lg)}
|
|
204
|
+
.radius-tile--pill i{border-radius:var(--radius-pill)}
|
|
205
|
+
.shadow-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-4)}
|
|
206
|
+
.shadow-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);min-height:96px}
|
|
207
|
+
.shadow-tile b{font-size:var(--text-xs);font-weight:600}
|
|
208
|
+
.shadow-tile span{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted);margin-top:auto}
|
|
209
|
+
.shadow-tile--xs{box-shadow:var(--shadow-xs)}
|
|
210
|
+
.shadow-tile--sm{box-shadow:var(--shadow-sm)}
|
|
211
|
+
.shadow-tile--md{box-shadow:var(--shadow-md)}
|
|
212
|
+
.shadow-tile--lg{box-shadow:var(--shadow-lg)}
|
|
213
|
+
|
|
214
|
+
/* --- Секции компонентов --- */
|
|
215
|
+
.comp-section{padding-block:clamp(48px,6vw,80px);border-top:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 16px)}
|
|
216
|
+
.comp-section:first-of-type{border-top:0}
|
|
217
|
+
.comp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5)}
|
|
218
|
+
.comp-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
|
|
219
|
+
.comp-stack{display:flex;flex-direction:column;gap:var(--sp-4)}
|
|
220
|
+
.hr-soft{height:1px;background:var(--line);margin-block:var(--sp-4)}
|
|
221
|
+
.demo-caption{font-size:var(--text-xs);color:var(--muted);margin-top:var(--sp-3);line-height:1.55}
|
|
222
|
+
.demo-caption b{color:var(--ink-2);font-weight:600}
|
|
223
|
+
.state-matrix{display:flex;flex-wrap:wrap;gap:var(--sp-6)}
|
|
224
|
+
.state-cell{display:flex;flex-direction:column;gap:8px;align-items:flex-start;min-width:132px}
|
|
225
|
+
.state-cell>span{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted)}
|
|
226
|
+
.btn.is-focus{box-shadow:var(--focus-ring)}
|
|
227
|
+
|
|
228
|
+
/* Спецификация кнопок в реальном контексте */
|
|
229
|
+
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3)}
|
|
230
|
+
|
|
231
|
+
/* Хлебные крошки/пагинация в витрине */
|
|
232
|
+
.nav-demo{display:flex;flex-direction:column;gap:var(--sp-5)}
|
|
233
|
+
|
|
234
|
+
/* KPI + spray-график в витрине */
|
|
235
|
+
.kpi-demo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}
|
|
236
|
+
.spark-wide{width:100%;height:52px;overflow:visible}
|
|
237
|
+
|
|
238
|
+
/* Раскладка таблицы в витрине */
|
|
239
|
+
.table-showcase .table{min-width:660px}
|
|
240
|
+
|
|
241
|
+
/* Паттерны: hero-полоса и редакционный список */
|
|
242
|
+
.pattern-hero{border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;background:var(--surface)}
|
|
243
|
+
.pattern-hero__inner{padding:clamp(24px,3.4vw,48px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--sp-6);align-items:center}
|
|
244
|
+
.pattern-hero__title{font-family:var(--font-display);font-weight:var(--display-weight);font-size:var(--display-m);line-height:1.02;letter-spacing:var(--display-tracking);margin-top:var(--sp-4)}
|
|
245
|
+
.pattern-hero__side{border-left:1px solid var(--line);padding-left:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-3)}
|
|
246
|
+
.editorial-list{border-top:1px solid var(--line)}
|
|
247
|
+
.editorial-list__row{
|
|
248
|
+
display:grid;grid-template-columns:64px minmax(0,1fr) 220px;gap:var(--sp-4);
|
|
249
|
+
align-items:center;padding:var(--sp-4) 0;border-bottom:1px solid var(--line);
|
|
250
|
+
text-decoration:none;color:inherit;
|
|
251
|
+
transition:background-color var(--dur) var(--ease),padding-left var(--dur) var(--ease);
|
|
252
|
+
}
|
|
253
|
+
.editorial-list__row:hover{background:var(--surface-2)}
|
|
254
|
+
.editorial-list__num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted);letter-spacing:.04em}
|
|
255
|
+
.editorial-list__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;letter-spacing:-.02em;line-height:1.1}
|
|
256
|
+
.editorial-list__note{font-size:var(--text-xs);color:var(--muted);text-align:right}
|
|
257
|
+
|
|
258
|
+
/* Футер витрины */
|
|
259
|
+
.show-footer{border-top:1px solid var(--line);background:var(--bg-alt);padding-block:clamp(32px,4vw,56px)}
|
|
260
|
+
.show-footer__grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:var(--sp-6)}
|
|
261
|
+
.show-footer__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;letter-spacing:-.02em}
|
|
262
|
+
.show-footer__text{font-size:var(--text-sm);color:var(--muted);margin-top:var(--sp-2);max-width:40ch;line-height:1.6}
|
|
263
|
+
.show-footer__col{display:flex;flex-direction:column;gap:8px}
|
|
264
|
+
.show-footer__col b{font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
|
|
265
|
+
.show-footer__col a{font-size:var(--text-sm);color:var(--ink-2);text-decoration:none}
|
|
266
|
+
.show-footer__col a:hover{color:var(--accent)}
|
|
267
|
+
.show-footer__bottom{margin-top:var(--sp-7);padding-top:var(--sp-4);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-3);font-size:var(--text-xs);color:var(--muted)}
|
|
268
|
+
|
|
269
|
+
/* --- Адаптив витрины --- */
|
|
270
|
+
@media (max-width:1024px){
|
|
271
|
+
.site-header__nav{display:none}
|
|
272
|
+
.site-header__inner{flex-wrap:wrap;padding-block:var(--sp-2);row-gap:6px}
|
|
273
|
+
.preset-switch{order:3;flex-basis:100%;margin-left:0;max-width:100%}
|
|
274
|
+
.site-header__actions{order:2;margin-left:auto}
|
|
275
|
+
.show-hero__grid{grid-template-columns:1fr;gap:var(--sp-9)}
|
|
276
|
+
.specimen{max-width:520px}
|
|
277
|
+
.palette{grid-template-columns:repeat(4,minmax(0,1fr))}
|
|
278
|
+
.type-row{grid-template-columns:140px minmax(0,1fr)}
|
|
279
|
+
.type-row__specs{display:none}
|
|
280
|
+
.scale-grid{grid-template-columns:1fr}
|
|
281
|
+
.principles{grid-template-columns:1fr;border-top:0}
|
|
282
|
+
.principle{padding:var(--sp-5) 0;border-right:0;border-top:1px solid var(--line)}
|
|
283
|
+
.principle:not(:first-child){padding-left:0}
|
|
284
|
+
.comp-grid,.comp-grid--3,.kpi-demo,.shadow-row{grid-template-columns:repeat(2,minmax(0,1fr))}
|
|
285
|
+
.show-header__nav{display:none}
|
|
286
|
+
.measure-demo{grid-template-columns:1fr}
|
|
287
|
+
.measure-demo__label{justify-self:start}
|
|
288
|
+
.pattern-hero__inner{grid-template-columns:1fr}
|
|
289
|
+
.pattern-hero__side{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:var(--sp-5)}
|
|
290
|
+
}
|
|
291
|
+
@media (max-width:720px){
|
|
292
|
+
.site-header__inner{flex-wrap:wrap;gap:var(--sp-2);padding-block:var(--sp-3)}
|
|
293
|
+
.site-header__nav{display:none}
|
|
294
|
+
.site-header__actions{margin-left:auto}
|
|
295
|
+
.site-header__cta .btn__label{display:none}
|
|
296
|
+
.show-hero__grid{gap:var(--sp-7)}
|
|
297
|
+
.show-hero__title{font-size:clamp(3.25rem,17vw,4.75rem)}
|
|
298
|
+
.specimen__glyph{font-size:clamp(4.5rem,22vw,6.5rem)}
|
|
299
|
+
.palette{grid-template-columns:repeat(2,minmax(0,1fr))}
|
|
300
|
+
.comp-grid,.comp-grid--3,.kpi-demo,.shadow-row{grid-template-columns:1fr}
|
|
301
|
+
.type-row{grid-template-columns:1fr;gap:var(--sp-2);padding-block:var(--sp-4)}
|
|
302
|
+
.type-row__meta{display:flex;gap:var(--sp-2);align-items:baseline}
|
|
303
|
+
.editorial-list__row{grid-template-columns:44px minmax(0,1fr);gap:var(--sp-3)}
|
|
304
|
+
.editorial-list__note{display:none}
|
|
305
|
+
.show-footer__grid{grid-template-columns:1fr}
|
|
306
|
+
.spec-head h2{font-size:var(--display-s)}
|
|
307
|
+
.spacing-rail{gap:var(--sp-2)}
|
|
308
|
+
.palette-group{margin-top:var(--sp-7)}
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/* ==========================================================================
|
|
312
|
+
HOSPITAL — премиальный лендинг клиники (aurora)
|
|
313
|
+
========================================================================== */
|
|
314
|
+
.hosp-utility{background:var(--ink);color:var(--bg);font-size:var(--text-xs)}
|
|
315
|
+
[data-theme="dark"] .hosp-utility{background:var(--surface);color:var(--ink-2);border-bottom:1px solid var(--line)}
|
|
316
|
+
.hosp-utility__inner{display:flex;align-items:center;gap:var(--sp-5);min-height:36px;flex-wrap:wrap}
|
|
317
|
+
.hosp-utility__item{display:inline-flex;align-items:center;gap:6px;color:color-mix(in oklab,currentColor 78%,transparent);text-decoration:none}
|
|
318
|
+
.hosp-utility__item .icon{opacity:.7}
|
|
319
|
+
.hosp-utility__item:hover{color:inherit}
|
|
320
|
+
.hosp-utility__dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.4}
|
|
321
|
+
.hosp-utility__right{margin-left:auto;display:flex;align-items:center;gap:var(--sp-4)}
|
|
322
|
+
.hosp-utility__link{color:inherit;text-decoration:none;font-weight:500}
|
|
323
|
+
.hosp-utility__link:hover{text-decoration:underline;text-underline-offset:.2em}
|
|
324
|
+
.hosp-utility__link--accent{color:inherit;font-weight:600}
|
|
325
|
+
|
|
326
|
+
.hosp-header{position:sticky;top:0;z-index:var(--z-header);background:var(--bg);border-bottom:1px solid transparent;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
|
|
327
|
+
.hosp-header.is-scrolled{border-bottom-color:var(--line);box-shadow:var(--shadow-xs)}
|
|
328
|
+
.hosp-header__inner{display:flex;align-items:center;gap:var(--sp-5);min-height:var(--header-h)}
|
|
329
|
+
.hosp-logo{display:flex;align-items:center;gap:var(--sp-3);text-decoration:none;color:var(--ink);flex:none}
|
|
330
|
+
.hosp-logo__mark{
|
|
331
|
+
display:grid;place-items:center;width:44px;height:44px;flex:none;
|
|
332
|
+
border:1px solid var(--line-strong);border-radius:var(--radius-sm);
|
|
333
|
+
font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;
|
|
334
|
+
letter-spacing:-.03em;line-height:1;position:relative;
|
|
335
|
+
}
|
|
336
|
+
.hosp-logo__mark::after{content:"";position:absolute;inset:4px;border:1px solid var(--line);border-radius:calc(var(--radius-sm) - 2px);pointer-events:none}
|
|
337
|
+
.hosp-logo__text{display:flex;flex-direction:column;gap:1px;line-height:1.2}
|
|
338
|
+
.hosp-logo__name{font-size:var(--text-sm);font-weight:600;letter-spacing:-.01em}
|
|
339
|
+
.hosp-logo__name-short{display:none;font-size:var(--text-sm);font-weight:600;letter-spacing:-.01em}
|
|
340
|
+
.hosp-logo__sub{font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
|
|
341
|
+
.hosp-nav{display:flex;align-items:center;gap:2px;margin-left:var(--sp-6)}
|
|
342
|
+
.hosp-nav__link{
|
|
343
|
+
padding:9px var(--sp-3);border-radius:var(--radius-sm);
|
|
344
|
+
color:var(--ink-2);font-size:var(--text-sm);font-weight:500;text-decoration:none;
|
|
345
|
+
transition:color var(--dur) var(--ease),background-color var(--dur) var(--ease);
|
|
346
|
+
}
|
|
347
|
+
.hosp-nav__link:hover{color:var(--ink);background:var(--bg-alt)}
|
|
348
|
+
.hosp-nav__link[aria-current]{color:var(--ink);font-weight:600}
|
|
349
|
+
.hosp-header__actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-3)}
|
|
350
|
+
.hosp-burger{display:none}
|
|
351
|
+
.hosp-phone{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:var(--text-sm);font-weight:600;text-decoration:none;white-space:nowrap}
|
|
352
|
+
.hosp-phone .icon{color:var(--accent-ink)}
|
|
353
|
+
|
|
354
|
+
/* Hero */
|
|
355
|
+
.hosp-hero{position:relative;border-bottom:1px solid var(--line);overflow-x:clip}
|
|
356
|
+
.hosp-hero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,72px);align-items:start;padding-block:clamp(36px,4.6vw,64px) clamp(40px,5vw,64px)}
|
|
357
|
+
.hosp-hero__title{font-size:clamp(2.75rem,5.6vw,4.75rem);line-height:.99;letter-spacing:-.035em;margin-top:var(--sp-5);max-width:15ch}
|
|
358
|
+
.hosp-hero__title em{font-style:italic;font-weight:400;color:var(--accent-ink)}
|
|
359
|
+
.hosp-hero__lead{margin-top:var(--sp-6);max-width:46ch;font-size:clamp(1.0625rem,1.35vw,1.1875rem);line-height:1.6;color:var(--ink-2)}
|
|
360
|
+
.hosp-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin-top:var(--sp-6)}
|
|
361
|
+
.hosp-hero__note{margin-top:var(--sp-4);font-size:var(--text-xs);color:var(--muted);display:flex;align-items:center;gap:6px}
|
|
362
|
+
.hosp-hero__aside{display:flex;flex-direction:column;gap:var(--sp-5);padding-top:var(--sp-3)}
|
|
363
|
+
.hosp-plate{
|
|
364
|
+
position:relative;border:1px solid var(--line-strong);border-radius:var(--radius-card);
|
|
365
|
+
background:var(--surface);box-shadow:var(--shadow-sm);padding:clamp(20px,2.4vw,28px);
|
|
366
|
+
}
|
|
367
|
+
.hosp-plate::before,.hosp-plate::after{content:"";position:absolute;width:16px;height:16px;border-color:var(--line-strong);border-style:solid;pointer-events:none}
|
|
368
|
+
.hosp-plate::before{top:-5px;left:-5px;border-width:1px 0 0 1px}
|
|
369
|
+
.hosp-plate::after{bottom:-5px;right:-5px;border-width:0 1px 1px 0}
|
|
370
|
+
.hosp-plate__top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--line)}
|
|
371
|
+
.hosp-plate__top .caps-label{font-size:var(--text-2xs)}
|
|
372
|
+
.hosp-plate__code{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted)}
|
|
373
|
+
.hosp-plate__body{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);padding-block:var(--sp-4)}
|
|
374
|
+
.hosp-plate__num{font-family:var(--font-display);font-weight:500;font-size:clamp(4.5rem,7vw,6.5rem);line-height:.8;letter-spacing:-.06em}
|
|
375
|
+
.hosp-plate__stamp{
|
|
376
|
+
display:grid;place-items:center;gap:1px;flex:none;
|
|
377
|
+
width:104px;height:104px;border:1px solid var(--line-strong);border-radius:50%;
|
|
378
|
+
text-align:center;transform:rotate(-7deg);color:var(--muted);
|
|
379
|
+
font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;line-height:1.35;
|
|
380
|
+
}
|
|
381
|
+
.hosp-plate__stamp strong{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em;color:var(--ink);text-transform:none;line-height:1}
|
|
382
|
+
.hosp-plate__rows{display:flex;flex-direction:column;border-top:1px solid var(--line)}
|
|
383
|
+
.hosp-plate__row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);padding:8px 0;border-bottom:1px solid var(--line);font-size:var(--text-xs)}
|
|
384
|
+
.hosp-plate__row:last-child{border-bottom:0}
|
|
385
|
+
.hosp-plate__row dt{color:var(--muted)}
|
|
386
|
+
.hosp-plate__row dd{margin:0;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
|
|
387
|
+
.hosp-plate__caption{margin-top:var(--sp-3);font-size:var(--text-2xs);color:var(--muted);display:flex;justify-content:space-between;gap:var(--sp-3)}
|
|
388
|
+
|
|
389
|
+
.hosp-hero__proof{
|
|
390
|
+
display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-5);
|
|
391
|
+
border-top:1px solid var(--line);padding-block:var(--sp-6) clamp(28px,3.4vw,44px);
|
|
392
|
+
}
|
|
393
|
+
.hosp-proof{display:flex;flex-direction:column;gap:2px;padding-left:var(--sp-4);border-left:1px solid var(--line)}
|
|
394
|
+
.hosp-proof:first-child{padding-left:0;border-left:0}
|
|
395
|
+
.hosp-proof__value{font-family:var(--font-display);font-size:clamp(1.5rem,2.2vw,2rem);font-weight:500;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}
|
|
396
|
+
.hosp-proof__label{font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
|
|
397
|
+
|
|
398
|
+
/* Секции */
|
|
399
|
+
.hosp-sec{padding-block:clamp(56px,7vw,104px)}
|
|
400
|
+
.hosp-sec--alt{background:var(--bg-alt);border-block:1px solid var(--line)}
|
|
401
|
+
.hosp-sec-head{display:flex;flex-direction:column;gap:var(--sp-4);margin-bottom:clamp(28px,3.6vw,48px);max-width:var(--measure)}
|
|
402
|
+
.hosp-sec-head__kicker{display:flex;align-items:center;gap:var(--sp-3);font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
|
|
403
|
+
.hosp-sec-head__kicker b{color:var(--accent-ink);font-weight:600}
|
|
404
|
+
.hosp-sec-head h2{font-size:var(--display-m)}
|
|
405
|
+
.hosp-sec-head p{font-size:var(--text-md);line-height:1.62;color:var(--ink-2);max-width:56ch}
|
|
406
|
+
.hosp-sec-head--row{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--gap-inline);align-items:end;max-width:none}
|
|
407
|
+
.hosp-sec-head--row .hosp-sec-head__text{display:flex;flex-direction:column;gap:var(--sp-4)}
|
|
408
|
+
.hosp-sec-head--row .hosp-sec-head__side{align-self:end;justify-self:end}
|
|
409
|
+
|
|
410
|
+
/* Направления */
|
|
411
|
+
.hosp-dir{border-top:1px solid var(--line-strong)}
|
|
412
|
+
.hosp-dir__row{
|
|
413
|
+
display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,320px) 44px;
|
|
414
|
+
gap:var(--sp-4);align-items:center;
|
|
415
|
+
padding:clamp(14px,1.7vw,20px) var(--sp-2) clamp(14px,1.7vw,20px) 0;
|
|
416
|
+
border-bottom:1px solid var(--line);text-decoration:none;color:inherit;
|
|
417
|
+
transition:background-color var(--dur) var(--ease),padding-left var(--dur) var(--ease);
|
|
418
|
+
}
|
|
419
|
+
.hosp-dir__row:hover,.hosp-dir__row:focus-visible{background:var(--surface-2);padding-left:var(--sp-3);outline:none}
|
|
420
|
+
.hosp-dir__num{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted);letter-spacing:.04em}
|
|
421
|
+
.hosp-dir__title{font-family:var(--font-display);font-size:clamp(1.375rem,2.1vw,1.75rem);font-weight:500;letter-spacing:-.02em;line-height:1.15}
|
|
422
|
+
.hosp-dir__desc{font-size:var(--text-sm);color:var(--muted);line-height:1.5;opacity:0;transform:translateX(-6px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
|
|
423
|
+
.hosp-dir__row:hover .hosp-dir__desc,.hosp-dir__row:focus-visible .hosp-dir__desc{opacity:1;transform:none}
|
|
424
|
+
.hosp-dir__arrow{
|
|
425
|
+
display:grid;place-items:center;width:36px;height:36px;border-radius:50%;
|
|
426
|
+
border:1px solid var(--line);color:var(--muted);
|
|
427
|
+
transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
|
|
428
|
+
}
|
|
429
|
+
.hosp-dir__row:hover .hosp-dir__arrow{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);transform:rotate(-45deg)}
|
|
430
|
+
.hosp-dir__foot{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-6);font-size:var(--text-sm);color:var(--muted)}
|
|
431
|
+
|
|
432
|
+
/* Путь пациента */
|
|
433
|
+
.hosp-path__steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
|
|
434
|
+
.hosp-step{position:relative;padding-top:var(--sp-7);display:flex;flex-direction:column;gap:var(--sp-2)}
|
|
435
|
+
.hosp-step::before{content:"";position:absolute;left:0;right:calc(var(--sp-1) * -1);top:5px;height:1px;background:var(--line-strong)}
|
|
436
|
+
.hosp-step::after{content:"";position:absolute;left:0;top:1px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--bg-alt)}
|
|
437
|
+
.hosp-step:last-child::before{right:0;background:linear-gradient(to right,var(--line-strong),transparent)}
|
|
438
|
+
.hosp-step__num{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--accent-ink);letter-spacing:.08em}
|
|
439
|
+
.hosp-step__title{font-size:var(--text-lg);font-weight:600;line-height:1.3}
|
|
440
|
+
.hosp-step__text{font-size:var(--text-sm);color:var(--ink-2);line-height:1.6}
|
|
441
|
+
.hosp-step__time{font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums;margin-top:auto}
|
|
442
|
+
|
|
443
|
+
/* Врачи */
|
|
444
|
+
.hosp-doctors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-5)}
|
|
445
|
+
.hosp-doctor{display:flex;flex-direction:column;gap:var(--sp-4);padding:clamp(20px,2.4vw,28px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}
|
|
446
|
+
.hosp-doctor:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}
|
|
447
|
+
.hosp-doctor__mono{display:grid;place-items:center;width:76px;height:76px;border-radius:var(--radius-sm);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:500;letter-spacing:-.02em;background:var(--accent-soft);color:var(--accent-ink)}
|
|
448
|
+
.hosp-doctor--copper .hosp-doctor__mono{background:var(--copper-soft);color:color-mix(in oklab,var(--copper) 70%,var(--ink))}
|
|
449
|
+
.hosp-doctor--neutral .hosp-doctor__mono{background:var(--bg-alt);color:var(--ink-2)}
|
|
450
|
+
.hosp-doctor__name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;letter-spacing:-.02em;line-height:1.2}
|
|
451
|
+
.hosp-doctor__role{font-size:var(--text-2xs);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-top:3px}
|
|
452
|
+
.hosp-doctor__quote{font-size:var(--text-sm);color:var(--ink-2);line-height:1.62}
|
|
453
|
+
.hosp-doctor__meta{margin-top:auto;padding-top:var(--sp-3);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);font-size:var(--text-xs);color:var(--muted)}
|
|
454
|
+
.hosp-doctor__meta strong{color:var(--ink-2);font-weight:600}
|
|
455
|
+
|
|
456
|
+
/* Доверие */
|
|
457
|
+
.hosp-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3.4vw,48px);border-top:1px solid var(--line-strong);padding-top:var(--sp-6)}
|
|
458
|
+
.hosp-trust__item{display:flex;flex-direction:column;gap:var(--sp-3)}
|
|
459
|
+
.hosp-trust__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-strong);color:var(--accent-ink)}
|
|
460
|
+
.hosp-trust__title{font-size:var(--text-md);font-weight:600;line-height:1.35}
|
|
461
|
+
.hosp-trust__text{font-size:var(--text-sm);color:var(--ink-2);line-height:1.62}
|
|
462
|
+
.hosp-trust__list{display:flex;flex-direction:column;gap:6px;margin-top:var(--sp-2);font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums}
|
|
463
|
+
.hosp-trust__list li{display:flex;align-items:baseline;gap:8px}
|
|
464
|
+
.hosp-trust__list li::before{content:"—";color:var(--faint)}
|
|
465
|
+
|
|
466
|
+
/* Новости */
|
|
467
|
+
.hosp-news{border-top:1px solid var(--line-strong)}
|
|
468
|
+
.hosp-news__row{display:grid;grid-template-columns:120px minmax(0,1fr) 40px;gap:var(--sp-4);align-items:baseline;padding:clamp(16px,2vw,24px) var(--sp-2) clamp(16px,2vw,24px) 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background-color var(--dur) var(--ease)}
|
|
469
|
+
.hosp-news__row:hover{background:var(--surface-2)}
|
|
470
|
+
.hosp-news__date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--muted)}
|
|
471
|
+
.hosp-news__main{display:flex;flex-direction:column;gap:4px}
|
|
472
|
+
.hosp-news__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;letter-spacing:-.02em;line-height:1.3}
|
|
473
|
+
.hosp-news__tag{font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}
|
|
474
|
+
.hosp-news__arrow{color:var(--muted);justify-self:end;transition:transform var(--dur) var(--ease),color var(--dur) var(--ease)}
|
|
475
|
+
.hosp-news__row:hover .hosp-news__arrow{transform:translateX(3px);color:var(--accent-ink)}
|
|
476
|
+
|
|
477
|
+
/* CTA-полоса */
|
|
478
|
+
.hosp-cta{position:relative;background:var(--ink);color:var(--bg);border-radius:var(--radius-lg);padding:clamp(28px,4.5vw,56px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--sp-6);align-items:center;overflow:hidden}
|
|
479
|
+
[data-theme="dark"] .hosp-cta{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
|
|
480
|
+
.hosp-cta::before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,color-mix(in oklab,currentColor 8%,transparent) 1px,transparent 1px);background-size:25% 100%;mask-image:linear-gradient(to right,transparent,#000 60%);pointer-events:none}
|
|
481
|
+
.hosp-cta h2{font-size:var(--display-s);position:relative}
|
|
482
|
+
.hosp-cta p{margin-top:var(--sp-3);font-size:var(--text-md);line-height:1.6;color:color-mix(in oklab,currentColor 74%,transparent);max-width:46ch;position:relative}
|
|
483
|
+
.hosp-cta__actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:flex-end;position:relative}
|
|
484
|
+
.hosp-cta .btn--invert{background:var(--bg);color:var(--ink);border-color:var(--bg)}
|
|
485
|
+
.hosp-cta .btn--invert:hover{background:color-mix(in oklab,var(--bg) 88%,var(--ink));border-color:transparent}
|
|
486
|
+
.hosp-cta .btn--on-dark{color:inherit;--btn-ink:inherit}
|
|
487
|
+
.hosp-cta .btn--ghost{color:inherit;--btn-ink:inherit}
|
|
488
|
+
.hosp-cta .btn--ghost:hover{background:color-mix(in oklab,currentColor 12%,transparent)}
|
|
489
|
+
|
|
490
|
+
/* Футер */
|
|
491
|
+
.hosp-footer{background:var(--ink);color:var(--bg);padding-block:clamp(44px,5.4vw,72px) var(--sp-7)}
|
|
492
|
+
[data-theme="dark"] .hosp-footer{background:var(--surface);color:var(--ink);border-top:1px solid var(--line)}
|
|
493
|
+
.hosp-footer__grid{display:grid;grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,48px)}
|
|
494
|
+
.hosp-footer__brand{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;letter-spacing:-.02em;line-height:1.25}
|
|
495
|
+
.hosp-footer__addr{margin-top:var(--sp-3);font-size:var(--text-sm);line-height:1.7;color:color-mix(in oklab,currentColor 74%,transparent)}
|
|
496
|
+
.hosp-footer__phone{display:inline-flex;align-items:center;gap:8px;margin-top:var(--sp-4);font-size:var(--text-md);font-weight:600;color:inherit;text-decoration:none}
|
|
497
|
+
.hosp-footer__phone:hover{text-decoration:underline;text-underline-offset:.2em}
|
|
498
|
+
.hosp-footer__col{display:flex;flex-direction:column;gap:8px}
|
|
499
|
+
.hosp-footer__col b{font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in oklab,currentColor 55%,transparent);margin-bottom:4px}
|
|
500
|
+
.hosp-footer__col a{font-size:var(--text-sm);color:color-mix(in oklab,currentColor 78%,transparent);text-decoration:none}
|
|
501
|
+
.hosp-footer__col a:hover{color:inherit;text-decoration:underline;text-underline-offset:.2em}
|
|
502
|
+
.hosp-footer__bottom{margin-top:clamp(32px,4vw,56px);padding-top:var(--sp-5);border-top:1px solid color-mix(in oklab,currentColor 16%,transparent);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-3);font-size:var(--text-xs);color:color-mix(in oklab,currentColor 62%,transparent)}
|
|
503
|
+
.hosp-footer__legal{display:flex;flex-direction:column;gap:4px}
|
|
504
|
+
|
|
505
|
+
/* Адаптив клиники */
|
|
506
|
+
@media (max-width:1024px){
|
|
507
|
+
.hosp-nav{
|
|
508
|
+
display:none;
|
|
509
|
+
position:fixed;inset:0 0 0 auto;z-index:var(--z-overlay);
|
|
510
|
+
width:min(86vw,360px);margin:0;padding:calc(var(--header-h) + 20px) var(--sp-6) var(--sp-6);
|
|
511
|
+
background:var(--bg);border-left:1px solid var(--line);box-shadow:var(--shadow-lg);
|
|
512
|
+
flex-direction:column;align-items:stretch;gap:2px;overflow-y:auto;
|
|
513
|
+
}
|
|
514
|
+
.hosp-nav.is-open{display:flex;animation:hosp-nav-in var(--dur-slow) var(--ease-out)}
|
|
515
|
+
@keyframes hosp-nav-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
|
|
516
|
+
.hosp-nav__link{padding:14px var(--sp-3);border-bottom:1px solid var(--line);border-radius:0;font-size:var(--text-md)}
|
|
517
|
+
.hosp-burger{display:inline-flex}
|
|
518
|
+
.hosp-header__inner{min-height:64px}
|
|
519
|
+
.hosp-hero__grid{grid-template-columns:1fr;gap:var(--sp-8)}
|
|
520
|
+
.hosp-hero__aside{max-width:460px}
|
|
521
|
+
.hosp-hero__proof{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--sp-5)}
|
|
522
|
+
.hosp-proof:nth-child(3){padding-left:0;border-left:0}
|
|
523
|
+
.hosp-doctors,.hosp-trust{grid-template-columns:repeat(2,minmax(0,1fr))}
|
|
524
|
+
.hosp-doctors .hosp-doctor:first-child{grid-column:1/-1}
|
|
525
|
+
.hosp-path__steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--sp-6)}
|
|
526
|
+
.hosp-nav__link[aria-current]{background:var(--bg-alt)}
|
|
527
|
+
.hosp-sec-head--row{grid-template-columns:1fr}
|
|
528
|
+
.hosp-sec-head--row .hosp-sec-head__side{justify-self:start}
|
|
529
|
+
.hosp-cta{grid-template-columns:1fr}
|
|
530
|
+
.hosp-cta__actions{justify-content:flex-start}
|
|
531
|
+
.hosp-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
|
|
532
|
+
}
|
|
533
|
+
@media (max-width:720px){
|
|
534
|
+
.hosp-utility__inner{gap:var(--sp-3);padding-block:9px;flex-wrap:nowrap}
|
|
535
|
+
.hosp-utility__item,.hosp-utility__dot{display:none}
|
|
536
|
+
.hosp-utility__right{margin-left:0;width:100%;justify-content:space-between;gap:var(--sp-3)}
|
|
537
|
+
.hosp-utility__right .hosp-utility__link:first-child{display:inline}
|
|
538
|
+
.hosp-utility__link{font-size:var(--text-xs);font-weight:600}
|
|
539
|
+
.hosp-utility__link--accent{text-decoration:underline;text-underline-offset:.22em}
|
|
540
|
+
.hosp-logo__mark{width:38px;height:38px;font-size:var(--text-lg)}
|
|
541
|
+
.hosp-logo__name{display:none}
|
|
542
|
+
.hosp-logo__name-short{display:block;font-size:var(--text-md)}
|
|
543
|
+
.hosp-phone{display:none}
|
|
544
|
+
.hosp-header .btn--primary{display:none}
|
|
545
|
+
.hosp-hero__title{font-size:clamp(2.5rem,11.5vw,3.5rem);max-width:18ch}
|
|
546
|
+
.hosp-hero__actions{flex-direction:column;align-items:stretch;gap:var(--sp-2)}
|
|
547
|
+
.hosp-hero__actions .btn{width:100%}
|
|
548
|
+
.hosp-hero__proof{grid-template-columns:1fr 1fr}
|
|
549
|
+
.hosp-hero__proof .hosp-proof{padding-left:0;border-left:0;padding-top:var(--sp-3);border-top:1px solid var(--line)}
|
|
550
|
+
.hosp-hero__proof .hosp-proof:nth-child(-n+2){border-top:0;padding-top:0}
|
|
551
|
+
.hosp-doctors,.hosp-trust{grid-template-columns:1fr}
|
|
552
|
+
.hosp-doctors .hosp-doctor:first-child{grid-column:auto}
|
|
553
|
+
.hosp-path__steps{grid-template-columns:1fr}
|
|
554
|
+
.hosp-step{padding-top:var(--sp-5);padding-left:var(--sp-5)}
|
|
555
|
+
.hosp-step::before{left:3px;right:auto;top:0;bottom:0;width:1px;height:auto}
|
|
556
|
+
.hosp-step::after{top:8px;left:0}
|
|
557
|
+
.hosp-step:last-child::before{background:linear-gradient(to bottom,var(--line-strong),transparent)}
|
|
558
|
+
.hosp-dir__row{grid-template-columns:34px minmax(0,1fr) 36px;gap:var(--sp-3)}
|
|
559
|
+
.hosp-dir__desc{display:none}
|
|
560
|
+
.hosp-dir__title{font-size:var(--text-xl)}
|
|
561
|
+
.hosp-news__row{grid-template-columns:1fr 28px;row-gap:4px}
|
|
562
|
+
.hosp-news__date{grid-column:1/-1;order:-1}
|
|
563
|
+
.hosp-cta{padding:var(--sp-6);border-radius:var(--radius-card)}
|
|
564
|
+
.hosp-cta__actions .btn{width:100%}
|
|
565
|
+
.hosp-footer__grid{grid-template-columns:1fr}
|
|
566
|
+
.hosp-footer__bottom{flex-direction:column}
|
|
567
|
+
.hosp-sec{padding-block:clamp(48px,11vw,72px)}
|
|
568
|
+
.hosp-plate__num{font-size:4rem}
|
|
569
|
+
.hosp-plate__stamp{width:88px;height:88px}
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
/* ==========================================================================
|
|
573
|
+
DASHBOARD — Service Desk (graphite)
|
|
574
|
+
========================================================================== */
|
|
575
|
+
.app--dash .app__content{gap:clamp(16px,1.9vw,24px)}
|
|
576
|
+
.app--dash .topbar__search{max-width:380px}
|
|
577
|
+
.dash-main{display:flex;flex-direction:column;gap:clamp(16px,1.9vw,24px);min-width:0}
|
|
578
|
+
|
|
579
|
+
.dash-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--sp-4)}
|
|
580
|
+
.dash-head__text h1{font-family:var(--font-display);font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.05;letter-spacing:var(--display-tracking)}
|
|
581
|
+
.dash-head__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin-top:var(--sp-2);font-size:var(--text-xs);color:var(--muted)}
|
|
582
|
+
.dash-head__meta .status{font-size:var(--text-xs)}
|
|
583
|
+
.dash-head__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}
|
|
584
|
+
.dash-range{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);font-size:var(--text-xs);font-weight:600;color:var(--ink-2)}
|
|
585
|
+
.dash-range .icon{color:var(--muted)}
|
|
586
|
+
|
|
587
|
+
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.3vw,16px)}
|
|
588
|
+
.dash-grid-main{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(0,1fr);gap:clamp(12px,1.5vw,20px);align-items:stretch}
|
|
589
|
+
.dash-grid-bottom{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(12px,1.5vw,20px)}
|
|
590
|
+
|
|
591
|
+
.dash-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);min-width:0;display:flex;flex-direction:column}
|
|
592
|
+
.dash-card__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--line)}
|
|
593
|
+
.dash-card__title{font-size:var(--text-sm);font-weight:600;color:var(--ink);line-height:1.3}
|
|
594
|
+
.dash-card__sub{font-size:var(--text-xs);color:var(--muted);margin-top:2px;line-height:1.4}
|
|
595
|
+
.dash-card__head-actions{display:flex;align-items:center;gap:var(--sp-2)}
|
|
596
|
+
.dash-card__body{padding:var(--sp-5);flex:1;min-width:0}
|
|
597
|
+
.dash-card__body--flush{padding:0}
|
|
598
|
+
.dash-card__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--line);font-size:var(--text-xs);color:var(--muted)}
|
|
599
|
+
|
|
600
|
+
.chart-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-4)}
|
|
601
|
+
.chart-meta__value{font-size:clamp(1.6rem,2.2vw,2rem);font-weight:600;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
|
|
602
|
+
.chart-meta__delta{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-xs);font-weight:600;color:var(--success)}
|
|
603
|
+
.chart-meta__note{font-size:var(--text-xs);color:var(--muted)}
|
|
604
|
+
.chart{display:block;width:100%;height:auto;overflow:visible}
|
|
605
|
+
.chart__grid line{stroke:var(--line);stroke-width:1;stroke-dasharray:3 5}
|
|
606
|
+
.chart__target{stroke:var(--line-strong);stroke-width:1;stroke-dasharray:5 5}
|
|
607
|
+
.chart__axis{fill:var(--muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.02em}
|
|
608
|
+
.chart__target-label{fill:var(--muted);font-family:var(--font-mono);font-size:10px}
|
|
609
|
+
.chart__area{fill:color-mix(in oklab,var(--accent) 12%,transparent)}
|
|
610
|
+
.chart__line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
|
|
611
|
+
.chart__dot{fill:var(--accent);stroke:var(--surface);stroke-width:2}
|
|
612
|
+
.chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4);margin-top:var(--sp-2);font-size:var(--text-xs);color:var(--muted)}
|
|
613
|
+
.chart-legend span{display:inline-flex;align-items:center;gap:6px}
|
|
614
|
+
.legend-key{width:14px;height:2px;border-radius:2px;background:var(--accent)}
|
|
615
|
+
.legend-key--target{background:repeating-linear-gradient(90deg,var(--line-strong) 0 3px,transparent 3px 6px)}
|
|
616
|
+
|
|
617
|
+
.donut-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-5)}
|
|
618
|
+
.donut{width:clamp(128px,12vw,156px);height:auto;flex:none}
|
|
619
|
+
.donut__track{fill:none;stroke:var(--bg-alt);stroke-width:11}
|
|
620
|
+
.donut__arc{fill:none;stroke:var(--accent);stroke-width:11;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%}
|
|
621
|
+
.donut__value{fill:var(--ink);font-family:var(--font-body);font-size:24px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
|
|
622
|
+
.donut__label{fill:var(--muted);font-family:var(--font-mono);font-size:9px;letter-spacing:.1em}
|
|
623
|
+
.donut-legend{display:flex;flex-direction:column;gap:var(--sp-3);flex:1;min-width:150px}
|
|
624
|
+
.donut-legend li{display:flex;align-items:center;gap:8px;font-size:var(--text-xs);color:var(--ink-2)}
|
|
625
|
+
.donut-legend__key{width:8px;height:8px;border-radius:2px;flex:none;background:var(--accent)}
|
|
626
|
+
.donut-legend__key--muted{background:var(--bg-alt);border:1px solid var(--line)}
|
|
627
|
+
.donut-legend__num{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}
|
|
628
|
+
|
|
629
|
+
.table-card .table{min-width:1000px}
|
|
630
|
+
.table-card .table th:first-child,.table-card .table td:first-child{padding-left:var(--sp-5)}
|
|
631
|
+
.table-card .table th:last-child,.table-card .table td:last-child{padding-right:var(--sp-5)}
|
|
632
|
+
.sla{display:flex;flex-direction:column;gap:4px;min-width:92px}
|
|
633
|
+
.sla__time{font-size:var(--text-xs);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
|
|
634
|
+
.sla__time--ok{color:var(--success)}
|
|
635
|
+
.sla__time--warn{color:var(--warning)}
|
|
636
|
+
.sla__time--late{color:var(--danger)}
|
|
637
|
+
.sla__time--muted{color:var(--muted)}
|
|
638
|
+
.sla__track{height:3px;border-radius:99px;background:var(--bg-alt);overflow:hidden}
|
|
639
|
+
.sla__fill{height:100%;width:var(--sla,40%);border-radius:inherit;background:var(--success)}
|
|
640
|
+
.sla__fill--warn{background:var(--warning)}
|
|
641
|
+
.sla__fill--late{background:var(--danger)}
|
|
642
|
+
.sla__fill--muted{background:var(--faint)}
|
|
643
|
+
.table-card__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--line)}
|
|
644
|
+
.table-card__toolbar .input-group{flex:1;min-width:180px;max-width:320px}
|
|
645
|
+
.table-card__toolbar .input{height:38px}
|
|
646
|
+
.table-search-reset{display:flex;align-items:center;gap:var(--sp-2);margin-left:auto;font-size:var(--text-xs);color:var(--muted)}
|
|
647
|
+
.table-card__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--line);font-size:var(--text-xs);color:var(--muted)}
|
|
648
|
+
|
|
649
|
+
.activity-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}
|
|
650
|
+
.activity-item:last-child{border-bottom:0;padding-bottom:0}
|
|
651
|
+
.activity-item:first-child{padding-top:0}
|
|
652
|
+
.activity-item__body{min-width:0}
|
|
653
|
+
.activity-item__text{font-size:var(--text-sm);color:var(--ink-2);line-height:1.5}
|
|
654
|
+
.activity-item__text b{color:var(--ink);font-weight:600}
|
|
655
|
+
.activity-item__time{font-size:var(--text-2xs);color:var(--muted);margin-top:2px;font-variant-numeric:tabular-nums}
|
|
656
|
+
|
|
657
|
+
.team-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--sp-3);align-items:center}
|
|
658
|
+
.team-row__name{font-size:var(--text-sm);color:var(--ink-2);line-height:1.3}
|
|
659
|
+
.team-row__role{font-size:var(--text-2xs);color:var(--muted)}
|
|
660
|
+
.team-row__value{font-size:var(--text-xs);font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}
|
|
661
|
+
.team-row__track{grid-column:1/-1}
|
|
662
|
+
.team-row .progress{height:6px}
|
|
663
|
+
.dash-footnote{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3);font-size:var(--text-2xs);color:var(--muted);padding-top:var(--sp-1)}
|
|
664
|
+
.dash-footnote .status{font-size:var(--text-2xs)}
|
|
665
|
+
|
|
666
|
+
/* Адаптив дашборда */
|
|
667
|
+
@media (max-width:1280px){
|
|
668
|
+
.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
|
|
669
|
+
}
|
|
670
|
+
@media (max-width:1100px){
|
|
671
|
+
.dash-grid-main,.dash-grid-bottom{grid-template-columns:1fr}
|
|
672
|
+
}
|
|
673
|
+
@media (max-width:767px){
|
|
674
|
+
.app--dash .app__content{padding:var(--sp-4) var(--sp-4) var(--sp-6);gap:var(--sp-4)}
|
|
675
|
+
.dash-head{align-items:flex-start}
|
|
676
|
+
.dash-head__actions{width:100%}
|
|
677
|
+
.dash-head__actions .btn{flex:1}
|
|
678
|
+
.dash-head__actions .dash-range{display:none}
|
|
679
|
+
.kpi-grid{gap:var(--sp-3)}
|
|
680
|
+
.kpi{padding:var(--sp-4)}
|
|
681
|
+
.kpi__value{font-size:1.65rem}
|
|
682
|
+
.kpi__spark{width:72px;height:28px}
|
|
683
|
+
.kpi__foot{flex-wrap:wrap;row-gap:var(--sp-2)}
|
|
684
|
+
.kpi__delta-note{display:none}
|
|
685
|
+
.dash-card__head,.dash-card__body{padding:var(--sp-4)}
|
|
686
|
+
.chart-meta__value{font-size:1.5rem}
|
|
687
|
+
.table-card__toolbar{padding:var(--sp-3) var(--sp-4)}
|
|
688
|
+
.table-card__toolbar .input-group{max-width:none}
|
|
689
|
+
.table-search-reset{display:none}
|
|
690
|
+
.table-card__foot{padding:var(--sp-3) var(--sp-4)}
|
|
691
|
+
.donut-wrap{justify-content:center}
|
|
692
|
+
.donut-legend{min-width:0;flex-basis:100%}
|
|
693
|
+
.dash-head__meta{font-size:var(--text-2xs)}
|
|
694
|
+
}
|
|
695
|
+
@media (max-width:420px){
|
|
696
|
+
.kpi-grid{grid-template-columns:1fr}
|
|
697
|
+
.kpi__spark{width:96px}
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
/* ---- Финальные правки: доступность, тап-цели, контраст ---- */
|
|
701
|
+
.sidebar__user .icon-btn{width:36px;height:36px}
|
|
702
|
+
.hosp-logo{min-height:44px}
|
|
703
|
+
.hosp-utility__inner{min-height:44px}
|
|
704
|
+
.hosp-utility__link{display:inline-flex;align-items:center;min-height:36px}
|
|
705
|
+
.hosp-utility__item .icon{flex:none}
|
|
706
|
+
.hosp-sec-head__side .link{display:inline-flex;align-items:center;min-height:40px}
|
|
707
|
+
.hosp-doctor__meta .link{display:inline-flex;align-items:center;min-height:32px}
|
|
708
|
+
.hosp-footer__phone{min-height:40px;padding-block:4px}
|
|
709
|
+
.hosp-dir__row{min-height:56px}
|
|
710
|
+
.kpi__delta{white-space:nowrap}
|
|
711
|
+
.kpi__value{white-space:nowrap}
|
|
712
|
+
.kpi__unit{white-space:nowrap}
|
|
713
|
+
.dash-card__head .icon-btn{width:36px;height:36px}
|
|
714
|
+
@media (max-width:767px){
|
|
715
|
+
.row-actions .icon-btn{width:40px;height:40px}
|
|
716
|
+
.pager__btn{min-width:40px;height:40px}
|
|
717
|
+
.table-card__toolbar .chip{min-height:38px}
|
|
718
|
+
.hosp-utility__link{min-height:40px}
|
|
719
|
+
.kpi__value{font-size:1.75rem}
|
|
720
|
+
}
|
|
721
|
+
.spark-chart{display:flex;gap:10px;align-items:stretch;margin-top:var(--sp-2)}
|
|
722
|
+
.spark-chart__axis{display:flex;flex-direction:column;justify-content:space-between;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--muted);text-align:right;padding-block:2px}
|
|
723
|
+
.spark-chart__axis span{line-height:1}
|
|
724
|
+
.spark-wide{flex:1;width:100%;height:120px;overflow:visible}
|
|
725
|
+
.spark-chart .chart__grid line{stroke:var(--line);stroke-dasharray:3 5}
|
|
726
|
+
/* mobile header fix (hospital) */
|
|
727
|
+
@media (max-width:720px){
|
|
728
|
+
.hosp-header__inner{gap:var(--sp-2)}
|
|
729
|
+
.hosp-logo{min-width:0;flex:1 1 auto;gap:var(--sp-2)}
|
|
730
|
+
.hosp-logo__text{min-width:0}
|
|
731
|
+
.hosp-logo__sub{max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
|
732
|
+
.hosp-header__actions{gap:var(--sp-2);flex:none}
|
|
733
|
+
}
|
|
734
|
+
/* mobile table scroll hint (dashboard) */
|
|
735
|
+
@media (max-width:767px){
|
|
736
|
+
.table-card .table-wrap{box-shadow:inset -26px 0 18px -20px var(--line-strong)}
|
|
737
|
+
}
|