init
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
#!/usr/bin/env node
|
||||
/**
|
||||
* Сборка лендинга Цифровой Кооператив
|
||||
* Объединяет партиалы. CSS и JS подключаются из src/
|
||||
*
|
||||
* Запуск: node build.mjs
|
||||
*/
|
||||
|
||||
import { readFileSync, writeFileSync } from 'fs';
|
||||
import { join, dirname } from 'path';
|
||||
import { fileURLToPath } from 'url';
|
||||
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
const ROOT = join(__dirname);
|
||||
const SRC = join(ROOT, 'src');
|
||||
|
||||
const PARTIALS_ORDER = [
|
||||
'nav',
|
||||
'hero',
|
||||
'ready',
|
||||
'registries',
|
||||
'docsplit',
|
||||
'base',
|
||||
'store',
|
||||
'reporting',
|
||||
'chatcoop',
|
||||
'pricing',
|
||||
'connect',
|
||||
'cta',
|
||||
'footer',
|
||||
];
|
||||
|
||||
function build() {
|
||||
// 1. Собираем HTML из партиалов
|
||||
const bodyParts = [];
|
||||
for (const name of PARTIALS_ORDER) {
|
||||
const path = join(SRC, 'partials', `${name}.html`);
|
||||
try {
|
||||
bodyParts.push(readFileSync(path, 'utf-8'));
|
||||
} catch (e) {
|
||||
console.warn(`Пропуск ${name}.html:`, e.message);
|
||||
}
|
||||
}
|
||||
const bodyContent = bodyParts.join('\n\n');
|
||||
|
||||
// 2. Шаблон index.html
|
||||
const indexHtml = `<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Цифровой Кооператив — система управления кооперативом</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500&family=JetBrains+Mono:wght@300;400&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="src/css/main.css">
|
||||
<script>!function(){var t=localStorage.getItem("coop-theme");if(t&&t!=="system")document.documentElement.setAttribute("data-theme",t)}();</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
${bodyContent}
|
||||
|
||||
<script src="src/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
`;
|
||||
|
||||
// 3. Записываем index.html
|
||||
writeFileSync(join(ROOT, 'index.html'), indexHtml, 'utf-8');
|
||||
console.log('✓ index.html');
|
||||
|
||||
console.log('\nСборка завершена.');
|
||||
}
|
||||
|
||||
build();
|
||||
+834
@@ -0,0 +1,834 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Цифровой Кооператив — система управления кооперативом</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500&family=JetBrains+Mono:wght@300;400&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="src/css/main.css">
|
||||
<script>!function(){var t=localStorage.getItem("coop-theme");if(t&&t!=="system")document.documentElement.setAttribute("data-theme",t)}();</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<nav id="nav">
|
||||
<div class="nav-logo">
|
||||
<img src="src/assets/logo.svg" alt="Цифровой Кооператив" class="nav-logo-img">
|
||||
<span class="n-brand">Цифровой Кооператив</span>
|
||||
</div>
|
||||
<div class="nav-links">
|
||||
<!-- <a href="#ready">Возможности</a>
|
||||
<a href="#base">Приложения</a>
|
||||
<a href="#reporting">Отчётность</a>
|
||||
<a href="#chatcoop">ChatCoop</a>
|
||||
<a href="#pricing">Стоимость</a>
|
||||
<a href="#connect">Подключение</a>
|
||||
<a href="https://docs.coopenomics.world" target="_blank">Документация</a> -->
|
||||
</div>
|
||||
<div class="nav-right">
|
||||
<button type="button" id="theme-toggle" class="nav-theme-btn" aria-label="Переключить тему" title="Тема: системная">
|
||||
<span class="theme-icon theme-icon-system" aria-hidden="true"></span>
|
||||
</button>
|
||||
<a href="#connect" class="nav-cta">Подключиться →</a>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
|
||||
<section id="hero">
|
||||
<div class="hero-glow"></div>
|
||||
<div class="W">
|
||||
<div class="hero-pill r">
|
||||
Система управления ресурсами кооператива
|
||||
</div>
|
||||
|
||||
<h1 class="t1 hero-h1 r d2">
|
||||
Управление <br>кооперативом —<br> <em>онлайн</em>
|
||||
</h1>
|
||||
<p class="hero-p r d3">
|
||||
Регистрация пайщиков, реестры, Решения совета и общие собрания — всё онлайн. Цифровой Кооператив формирует полный пакет юридически значимых документов автоматически, при нажатии кнопок.
|
||||
</p>
|
||||
<div class="hero-btns r d4">
|
||||
<a href="#connect" class="btn btn-g">Подключить кооператив</a>
|
||||
<a href="#ready" class="btn btn-o">Возможности →</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="ready">
|
||||
<div class="W">
|
||||
<div class="r">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Уже в работе</span>
|
||||
<h2 class="t2">Основные возможности,<br>доступные <em>сейчас</em></h2>
|
||||
</div>
|
||||
|
||||
<div class="ready-grid">
|
||||
|
||||
<div class="rc r d1">
|
||||
<div class="rc-n">01</div>
|
||||
<div class="rc-title">
|
||||
<h3>Удалённая регистрация пайщиков</h3>
|
||||
</div>
|
||||
<div class="rc-body">
|
||||
<p>Вступить в кооператив так же просто, как зарегистрироваться на сайте. При регистрации система создаёт электронную подпись пайщика на его устройстве — ключ хранится у него, не у вас. Принимаются физлица, ИП и организации. Действующих пайщиков, вступавших офлайн, можно пригласить в систему отдельно.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rc r d2">
|
||||
<div class="rc-n">02</div>
|
||||
<div class="rc-title">
|
||||
<h3>Решения совета кооператива</h3>
|
||||
</div>
|
||||
<div class="rc-body">
|
||||
<p>Повестка формируется автоматически по событиям системы — новая заявка на вступление, взнос, запрос приложения. Члены совета голосуют онлайн. Протокол генерируется, подписывается председателем электронной подписью и сохраняется в реестре. При необходимости решение исполняется системой.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rc r d3">
|
||||
<div class="rc-n">03</div>
|
||||
<div class="rc-title">
|
||||
<h3>Общие собрания пайщиков</h3>
|
||||
</div>
|
||||
<div class="rc-body">
|
||||
<p>Очередные и внеочередные собрания — в дистанционном формате. Система рассылает уведомления, собирает голоса по каждому вопросу повестки. Председатель и секретарь подписывают протокол электронной подписью. Все решения хранятся в реестре документов.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="registries">
|
||||
<div class="W">
|
||||
<div class="reg-wrap">
|
||||
|
||||
<div class="r">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Реестры и кошельки</span>
|
||||
<h2 class="t2" style="margin-bottom:20px">Все данные —<br>в <em>реестрах</em></h2>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8">Каждое событие кооператива фиксируется в соответствующем реестре. Пайщики, платежи, документы и фонды находятся в одной системе с разграничением прав доступа.</p>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8;margin-top:12px">Документы хранятся в реестре в формате PDF, подписываются и могут быть предъявлены при аудите, в суде или налоговой. Блокчейн используется только для фиксации криптографического доказательства неизменности документа.</p>
|
||||
</div>
|
||||
|
||||
<div class="reg-items r d2">
|
||||
<div class="ri">
|
||||
<div class="ri-icon">👥</div>
|
||||
<div>
|
||||
<div class="ri-name">Реестр пайщиков</div>
|
||||
<div class="ri-desc">Все участники с историей действий, статусами и документами. Поиск по ФИО, ИНН, ОГРН и наименованию организации.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ri">
|
||||
<div class="ri-icon">💳</div>
|
||||
<div>
|
||||
<div class="ri-name">Реестр платежей</div>
|
||||
<div class="ri-desc">История всех взносов и возвратов. Поддерживается ручное подтверждение операций или автоматическая обработка через платёжные шлюзы.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ri">
|
||||
<div class="ri-icon">📄</div>
|
||||
<div>
|
||||
<div class="ri-name">Реестр документов</div>
|
||||
<div class="ri-desc">Все созданные документы кооператива. Полнотекстовый поиск, проверка цифровой подписи и скачивание PDF. Каждый пайщик видит только свои документы.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ri">
|
||||
<div class="ri-icon">💼</div>
|
||||
<div>
|
||||
<div class="ri-name">Реестр кошельков</div>
|
||||
<div class="ri-desc">Учёт движения средств кооператива и пайщиков. Балансы изменяются только через действия смарт-контрактов.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ri ri-key">
|
||||
<div class="ri-icon">⛓</div>
|
||||
<div>
|
||||
<div class="ri-name">Распределённый реестр</div>
|
||||
<div class="ri-desc">Блокчейн фиксирует криптографический хэш документов и юридически значимых действий. Это позволяет подтвердить подлинность документа без раскрытия персональных данных.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="arch-box arch-box-full r d2">
|
||||
<div class="arch-box-inner">
|
||||
<div class="flow-vertical">
|
||||
<span class="fs-node plain">Рабочий стол</span>
|
||||
<span class="fs-arr-v">↓</span>
|
||||
<span class="fs-node plain">Документ (PDF)</span>
|
||||
<span class="fs-arr-v">↓</span>
|
||||
<span class="fs-node plain">Электронная Подпись</span>
|
||||
<span class="fs-arr-v">↓</span>
|
||||
<span class="fs-node key">Действие смарт-контракта</span>
|
||||
<span class="fs-arr-v">↓</span>
|
||||
<span class="fs-node plain">Хэш документа</span>
|
||||
<span class="fs-arr-v">↓</span>
|
||||
<span class="fs-node chain">Блокчейн</span>
|
||||
</div>
|
||||
<div class="arch-box-text">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Архитектурное ядро</span>
|
||||
<h2 class="t3" style="margin-bottom:18px">Стандарты кооперации —<br><em>в смарт-контрактах</em></h2>
|
||||
<p>
|
||||
Все ключевые действия в системе выполняются по алгоритмам смарт-контрактов. Пользователь нажимает кнопку в интерфейсе, а система создаёт PDF-документ для электронной подписью. После этого система вычисляет криптографический хэш документа и передаёт его в действие смарт-контракта.
|
||||
</p>
|
||||
<p style="margin-top:10px">
|
||||
Смарт-контракт фиксирует хэш документа в блокчейне как часть транзакции бизнес-процесса. Транзакция выполняется только при соблюдении заданных условий, поэтому запись в блокчейне подтверждает, что конкретный документ участвовал в этом действии. Сам PDF хранится в реестре документов кооператива, а блокчейн содержит лишь криптографический отпечаток и факт исполнения операции.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="docsplit">
|
||||
<div class="W">
|
||||
<div class="split-wrap">
|
||||
|
||||
<div class="r">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Как формируется документ</span>
|
||||
<h2 class="t2" style="margin-bottom:18px">Кнопка —<br><em>первичный документ</em></h2>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8">
|
||||
Каждое действие в кооперативе — вступление, взнос, заказ, голосование — это шаг в юридически значимом процессе. Алгоритм каждого процесса закреплён в смарт-контракте в блокчейне: он определяет, кто действует, в каком порядке и какой документ при этом создаётся.
|
||||
</p>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8;margin-top:12px">
|
||||
Документы не генерируются разом — они появляются по одному, в момент, когда конкретный участник нажимает свою кнопку. Пайщик подаёт заявление — создаётся заявление. Члены совета голосуют и принимают решение — создаётся протокол. Так шаг за шагом процесс наполняется документами. Каждый подписывает своей электронной подписью, ключ хранится на его устройстве.
|
||||
</p>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8;margin-top:12px">
|
||||
Когда процесс завершён, все документы по нему хранятся в реестре как единый комплект — пакет. Криптографический отпечаток каждого документа зафиксирован в блокчейне: подлинность можно подтвердить в любой момент без нотариуса.
|
||||
</p>
|
||||
|
||||
<div class="steps">
|
||||
<div class="step">
|
||||
<div class="step-spine"><div class="sn">01</div><div class="sl"></div></div>
|
||||
<div class="sb">
|
||||
<h4>Пайщик совершает действие</h4>
|
||||
<p>Нажимает кнопку — система создаёт документ по шаблону смарт-контракта и предлагает подписать его электронной подписью.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step">
|
||||
<div class="step-spine"><div class="sn">02</div><div class="sl"></div></div>
|
||||
<div class="sb">
|
||||
<h4>Совет рассматривает и отвечает</h4>
|
||||
<p>Члены совета видят событие в повестке, голосуют и принимают решение. В этот момент создаётся и подписывается следующий документ — протокол.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step">
|
||||
<div class="step-spine"><div class="sn">03</div><div class="sl"></div></div>
|
||||
<div class="sb">
|
||||
<h4>Каждый шаг — отдельный документ</h4>
|
||||
<p>Алгоритм процесса задан смарт-контрактом. Документы появляются по одному, в нужный момент, у нужного участника.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step">
|
||||
<div class="step-spine"><div class="sn">04</div><div class="sl"></div></div>
|
||||
<div class="sb">
|
||||
<h4>Документ делится на две части</h4>
|
||||
<p>Приватные данные — только на сервере кооператива. В блокчейн уходит только анонимный хэш для верификации.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step done">
|
||||
<div class="step-spine"><div class="sn">✓</div></div>
|
||||
<div class="sb">
|
||||
<h4>Процесс завершён — пакет в реестре</h4>
|
||||
<p>Все документы и цифровые подписи участников процесса собраны в реестре. Кошельки обновлены. Правила стандартов кооперации выполнены.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="r d2">
|
||||
|
||||
<!-- ── Визуальная схема разделения документа ── -->
|
||||
<div class="doc-split-schema">
|
||||
<div class="doc-split-top">
|
||||
<div class="doc-split-file">
|
||||
<span>📄</span>
|
||||
<span>document.pdf</span>
|
||||
<span class="doc-split-signed">✓ ЭП пайщика</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="doc-split-divider">
|
||||
<div class="doc-split-line"></div>
|
||||
<div class="doc-split-label">состоит из двух частей</div>
|
||||
<div class="doc-split-line"></div>
|
||||
</div>
|
||||
|
||||
<div class="db-halves">
|
||||
<div class="db-half">
|
||||
<div class="db-hh">🔒 Реестр документов</div>
|
||||
<div class="db-hh-note">Приватно · ваш сервер</div>
|
||||
<div class="db-row"><span class="dk">ФИО</span><span class="dv dim">Иванов Иван И.</span></div>
|
||||
<div class="db-row"><span class="dk">Email</span><span class="dv dim">ivan@example.com</span></div>
|
||||
<div class="db-row"><span class="dk">Телефон</span><span class="dv dim">+7 910 ███-██</span></div>
|
||||
<div class="db-row"><span class="dk">Документ</span><span class="dv dim">document.pdf</span></div>
|
||||
</div>
|
||||
<div class="db-half">
|
||||
<div class="db-hh pub">⛓ Распределённый реестр</div>
|
||||
<div class="db-hh-note">Публично · блокчейн</div>
|
||||
<div class="db-row"><span class="dk">Аккаунт</span><span class="dv hash">ivanov12345</span></div>
|
||||
<div class="db-row"><span class="dk">Сумма</span><span class="dv">5 000 ₽</span></div>
|
||||
<div class="db-row"><span class="dk">SHA-256</span><span class="dv hash">a1b2c3…</span></div>
|
||||
<div class="db-row"><span class="dk">Подпись</span><span class="dv ok">✓ верифицирована</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="db-note doc-split-desc">
|
||||
Публичные данные хранятся в блокчейне анонимизированно, приватные — в базе данных кооператива. Всем доступна информация о факте действия, но только кооперативу — кем конкретно это действие произведено.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ── Что такое пакет документов ── -->
|
||||
<div class="doc-packet-box">
|
||||
<span class="cap" style="display:block;margin-bottom:10px;font-size:9px">Пакет документов</span>
|
||||
<p style="font-size:13px;color:var(--text-soft);line-height:1.8;margin-bottom:14px">
|
||||
Пакет — это не моментальная выгрузка, а итог процесса. Возьмём вступление нового пайщика: сначала пайщик подаёт заявление и подписывает его — появляется первый документ. Затем совет рассматривает заявку, голосует и принимает решение — появляется второй. Когда все шаги пройдены, процесс закрыт, а его документы хранятся в реестре как единый пакет. Взнос, заказ, возврат — у каждого сценария свой алгоритм и свой пакет.
|
||||
</p>
|
||||
<div class="doc-packet-event">Пример: <strong>Вступление пайщика</strong></div>
|
||||
<div class="doc-packet-arr">↓</div>
|
||||
<div class="doc-packet-list">
|
||||
<div class="doc-packet-item"><span>📄</span> Заявление о вступлении <span style="font-size:10px;color:var(--text-soft);">— подписывает пайщик</span></div>
|
||||
<div class="doc-packet-item"><span>📄</span> Протокол решения совета <span style="font-size:10px;color:var(--text-soft);">— подписывает председатель</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="base">
|
||||
<div class="W">
|
||||
<div class="r">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Базовая поставка</span>
|
||||
<h2 class="t2" style="margin-bottom:14px">Включено в каждый<br><em>кооператив</em></h2>
|
||||
<p style="max-width:600px;font-size:15px;color:var(--text-soft);line-height:1.8">Четыре приложения в комплекте — достаточно для ведения полноценной кооперативной деятельности. Дополнительные подключаются из каталога.</p>
|
||||
</div>
|
||||
|
||||
<div class="base-grid">
|
||||
<div class="ba r d1">
|
||||
<div class="ba-num">БАЗОВОЕ / 01</div>
|
||||
<h4>Регистрация пайщиков</h4>
|
||||
<p>Удалённое вступление онлайн, выдача электронной подписи, ведение электронного реестра пайщиков. Физлица, ИП, организации. Импорт офлайн-пайщиков в систему.</p>
|
||||
</div>
|
||||
<div class="ba r d2">
|
||||
<div class="ba-num">БАЗОВОЕ / 02</div>
|
||||
<h4>Решения совета</h4>
|
||||
<p>Автоматическое объявление собрания совета по стандартным вопросам. Ручное объявление собрания по произвольным вопросам. Голосование онлайн. Протокол формируется автоматически — без бумаги.</p>
|
||||
</div>
|
||||
<div class="ba r d2">
|
||||
<div class="ba-num">БАЗОВОЕ / 03</div>
|
||||
<h4>Общие собрания</h4>
|
||||
<p>Очередные и внеочередные общие собрания пайщиков. Рассылка уведомлений, сбор подписей и голосов, формирование протокола за подписью председателя и секретаря собрания. Собрания переобъявляются до принятия решения по кворуму. </p>
|
||||
</div>
|
||||
<div class="ba r d3">
|
||||
<div class="ba-num">БАЗОВОЕ / 04</div>
|
||||
<h4>Цифровой кошелёк</h4>
|
||||
<p>Лицевой счёт пайщика и кооператива. Учёт взносов, возвратов и балансов по всем программам. Приём платежей через ЮКасса или банковским переводом по QR-коду.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="store">
|
||||
<div class="W">
|
||||
<div class="r">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Каталог приложений</span>
|
||||
<h2 class="t2" style="margin-bottom:14px">Расширяйте свой<br><em>кооператив</em></h2>
|
||||
<p style="max-width:580px;font-size:15px;color:var(--text-soft);line-height:1.8">При установке приложений из каталога кооператив получает новые рабочие столы — смарт-контракты с логикой и шаблонами документов, реализующие новые сценарии кооперации. С помощью приложений кооператив формирует набор рабочих столов, которые доступны пайщикам для выполнения кооперативных действий.</p>
|
||||
</div>
|
||||
|
||||
<div class="store-list">
|
||||
|
||||
<div class="sa feat r d1">
|
||||
<div>
|
||||
<div class="sa-label">Кооперативные инвестиции</div>
|
||||
<h4>Благорост</h4>
|
||||
</div>
|
||||
<div>
|
||||
<p>Приложение для учёта взносов временем или деньгами в создание результатов интеллектуальной деятельности. Предоставляет трекер взносов и ведет возвратов по проектам, компонентам и задачам. Участники получают долю в объекте авторских прав и получают возвраты пропорционально взносу.</p>
|
||||
<a class="sa-link" href="https://благорост.цифровой-кооператив.рф" target="_blank">благорост.цифровой-кооператив.рф →</a>
|
||||
</div>
|
||||
<div class="sa-st"><span class="b b-live">● Доступно</span></div>
|
||||
</div>
|
||||
|
||||
<div class="sa r d1">
|
||||
<div>
|
||||
<div class="sa-label">Поставка-преобретение</div>
|
||||
<h4>Стол заказов</h4>
|
||||
</div>
|
||||
<div>
|
||||
<p>Кооперативная модель поставки-преобретения имущества. Поставщики размещают предложения, пайщики совершают заказы. Безопасная сделка через смарт-контракт: блокировка средств, приём и выдача по актам, споры и гарантийный возврат.</p>
|
||||
</div>
|
||||
<div class="sa-st"><span class="b b-dev">В разработке</span></div>
|
||||
</div>
|
||||
|
||||
<div class="sa r d2">
|
||||
<div>
|
||||
<div class="sa-label">Кооперативное жильё</div>
|
||||
<h4>Очередь на недвижимость</h4>
|
||||
</div>
|
||||
<div>
|
||||
<p>Приобретение недвижимости по кооперативной очереди с ежемесячным платежом без ссудного процента. Советская практика жилищных кооперативов в современной реализации под демократическим контролем пайщиков.</p>
|
||||
</div>
|
||||
<div class="sa-st"><span class="b b-dev">В разработке</span></div>
|
||||
</div>
|
||||
|
||||
<div class="sa r d2">
|
||||
<div>
|
||||
<div class="sa-label">Кооперативная аренда</div>
|
||||
<h4>Пользование имущества</h4>
|
||||
</div>
|
||||
<div>
|
||||
<p>Временное использование кооперативного имущества — от инструментов и оборудования до недвижимости. Доступное время использования распределяется по заявкам пайщиков.</p>
|
||||
</div>
|
||||
<div class="sa-st"><span class="b b-dev">В разработке</span></div>
|
||||
</div>
|
||||
|
||||
<div class="sa r d2">
|
||||
<div>
|
||||
<div class="sa-label">Расширение каталога</div>
|
||||
<h4>Новые приложения</h4>
|
||||
</div>
|
||||
<div>
|
||||
<p>В каталог добавляются новые приложения. Кооперативы устанавливают их из каталога по мере появления и получать обновления автоматически.</p>
|
||||
</div>
|
||||
<div class="sa-st"><span class="b b-open">Открытый код</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="reporting">
|
||||
<div class="W">
|
||||
<div class="rep-wrap">
|
||||
|
||||
<div class="r">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Учёт и отчётность</span>
|
||||
<h2 class="t2" style="margin-bottom:20px">Первичные документы —<br>основа для <em>отчётности</em></h2>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8">Все документы, формируемые системой, являются первичными учётными документами. На их основе строится отчётность для ФНС и ФСС.</p>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8;margin-top:12px">Система автоматически формирует отчетные документы в форматах контролирующих органов. Кооперативы получают готовые отчеты для импорта в 1С и/или отправки их в электронном виде.</p>
|
||||
</div>
|
||||
|
||||
<div class="rep-cards r d2">
|
||||
<div class="rep-card">
|
||||
<span class="cap cap-gold" style="display:block;margin-bottom:8px;font-size:9px">В разработке</span>
|
||||
<h4>Отчёты для ФНС и ФСС</h4>
|
||||
<p>Регуляторная отчётность формируется автоматически на основе реестра операций. Готова к сдаче без ручной сборки.</p>
|
||||
<ul class="rep-list">
|
||||
<li>Автоматическая сборка из реестра операций</li>
|
||||
<li>Выгрузка в форматах контролирующих органов</li>
|
||||
<li>История операций по всем счетам</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="rep-card">
|
||||
<span class="cap cap-gold" style="display:block;margin-bottom:8px;font-size:9px">В разработке</span>
|
||||
<h4>Интеграция с 1С</h4>
|
||||
<p>API для синхронизации документов с 1С. Первичные документы платформы поступают в 1С без перепечатки.</p>
|
||||
<ul class="rep-list">
|
||||
<li>Синхронизация первичных документов</li>
|
||||
<li>План счетов кооператива</li>
|
||||
<li>История операций по счетам</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="chatcoop">
|
||||
<div class="W">
|
||||
<div class="chatcoop-grid">
|
||||
|
||||
<div class="r">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Кооперативный мессенджер</span>
|
||||
<h2 class="t2" style="margin-bottom:20px">Op!Coop —<br>связь <em>внутри<br>и между</em></h2>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8">
|
||||
Op!Coop — кооперативный мессенджер для пайщиков и советов кооперативов. Каждый подключённый кооператив получает собственное закрытое пространство: чаты совета и пайщиков с возможностью проводить собрания.
|
||||
</p>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8;margin-top:12px">
|
||||
Все кооперативы объединены в общей коммуникационной сети — для обмена опытом, совместных инициатив и решения вопросов роста кооперативной экономики.
|
||||
</p>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8;margin-top:12px">
|
||||
Op!Coop устанавливается из каталога приложений — как любое другое приложение платформы.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="r d2">
|
||||
|
||||
<!-- Сетевая схема -->
|
||||
<div class="chatcoop-network">
|
||||
|
||||
<!-- Общая сеть -->
|
||||
<div class="chatcoop-network-top">
|
||||
<div class="chatcoop-network-badge">
|
||||
<span>🌐</span>
|
||||
<span>Сеть кооперативной связи</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Три кооператива -->
|
||||
<div class="chatcoop-coops">
|
||||
<div class="chatcoop-coop">
|
||||
<div class="chatcoop-coop-h">Кооператив А</div>
|
||||
<div class="chatcoop-coop-body">
|
||||
<div>👥 Совет</div>
|
||||
<div>💬 Пайщики</div>
|
||||
<div>📋 Собрания</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="chatcoop-coop chatcoop-coop-highlight">
|
||||
<div class="chatcoop-coop-h">Ваш кооператив</div>
|
||||
<div class="chatcoop-coop-body">
|
||||
<div>👥 Совет</div>
|
||||
<div>💬 Пайщики</div>
|
||||
<div>📋 Собрания</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="chatcoop-coop">
|
||||
<div class="chatcoop-coop-h">Кооператив Б</div>
|
||||
<div class="chatcoop-coop-body">
|
||||
<div>👥 Совет</div>
|
||||
<div>💬 Пайщики</div>
|
||||
<div>📋 Собрания</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="chatcoop-network-footer">
|
||||
Закрытые пространства кооперативов · Открытые каналы связи между кооперативами
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Возможности -->
|
||||
<div class="reg-items chatcoop-features" style="gap:10px;">
|
||||
<div class="ri">
|
||||
<div class="ri-icon">👥</div>
|
||||
<div>
|
||||
<div class="ri-name">Чат совета</div>
|
||||
<div class="ri-desc">Закрытое пространство для совета кооператива.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ri">
|
||||
<div class="ri-icon">💬</div>
|
||||
<div>
|
||||
<div class="ri-name">Чат пайщиков</div>
|
||||
<div class="ri-desc">Закрытое пространство для пайщиков кооператива.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ri">
|
||||
<div class="ri-icon">📋</div>
|
||||
<div>
|
||||
<div class="ri-name">Собрания в чате</div>
|
||||
<div class="ri-desc">Звонки с автотранскрипцией и разбивкой по спикерам.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ri">
|
||||
<div class="ri-icon">🌐</div>
|
||||
<div>
|
||||
<div class="ri-name">Сеть кооперативной связи</div>
|
||||
<div class="ri-desc">Общие каналы связи между кооперативами.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="pricing">
|
||||
<div class="W">
|
||||
<div class="r" style="margin-bottom:48px">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Стоимость и подключение</span>
|
||||
<h2 class="t2" style="margin-bottom:14px">Платите за то,<br><em>чем пользуетесь</em></h2>
|
||||
<p style="max-width:560px;font-size:15px;color:var(--text-soft);line-height:1.8">Базовый пакет включает квоту на новых пайщиков и пакеты документов в месяц. При превышении — расход по факту. Дополнительные приложения из магазина тарифицируются отдельно.</p>
|
||||
</div>
|
||||
|
||||
<div class="price-wrap">
|
||||
<div class="r">
|
||||
<div class="price-head head-highlight">
|
||||
<span class="cap" >Тариф "Базовый"</span>
|
||||
</div>
|
||||
<div class="price-rules">
|
||||
<div class="pr">
|
||||
<span class="pr-l">Вступление в ПК «ВОСХОД»</span>
|
||||
<span class="pr-v">4 000 ₽</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Вступительный взнос в союз</span>
|
||||
<span class="pr-v">1 500 ₽</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Членский взнос в союз</span>
|
||||
<span class="pr-v">1 000 ₽/мес</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Минимальный ежемесячный взнос</span>
|
||||
<span class="pr-v">3 500 ₽</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Новых пайщиков в месяц включено</span>
|
||||
<span class="pr-v">50 чел.</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Пакетов документов в месяц включено</span>
|
||||
<span class="pr-v">50 пакетов</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Сверх квоты — новый пайщик</span>
|
||||
<span class="pr-v">20 ₽</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Сверх квоты — один пакет документов</span>
|
||||
<span class="pr-v">10 ₽</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Хостинг на серверах ПК «ВОСХОД»</span>
|
||||
<span class="pr-v">включён</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Приложения из каталога</span>
|
||||
<span class="pr-v">по тарифу приложения</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pr-note">Оплата за нового пайщика — единовременная, не ежемесячная. Стоимость пакетов документов — по факту, но не менее 4 500 ₽/мес. Членство в союзах может влиять на условия. Точная стоимость каждого пакета документов определяется блокчейн-протоколом на основе количества обработанной, переданной и хранимой информации в пакете (может отличаться как в большую так и меньшую сторону).</div>
|
||||
</div>
|
||||
|
||||
<div class="r d2">
|
||||
<div class="calc-box">
|
||||
<div class="calc-head head-highlight">
|
||||
<span class="cap">Калькулятор стоимости</span>
|
||||
</div>
|
||||
<div class="calc-body">
|
||||
<div class="calc-row">
|
||||
<span class="calc-lbl">Новых пайщиков в этом месяце</span>
|
||||
<input class="calc-inp" type="number" id="cm" value="50" min="0">
|
||||
</div>
|
||||
<div class="calc-row">
|
||||
<span class="calc-lbl">Пакетов документов в месяц</span>
|
||||
<input class="calc-inp" type="number" id="cd" value="50" min="0">
|
||||
</div>
|
||||
<div class="calc-row">
|
||||
<span class="calc-lbl">Членский взнос в союз</span>
|
||||
<span class="calc-app-price">1 000 ₽/мес</span>
|
||||
</div>
|
||||
<hr class="calc-div">
|
||||
<div class="calc-app-lbl">Приложения из каталога</div>
|
||||
<div class="calc-app">
|
||||
<label>
|
||||
<input type="checkbox" id="a1" checked disabled>
|
||||
Регистрация пайщиков <span style="color:var(--t2);font-size:12px">(базовое)</span>
|
||||
</label>
|
||||
<span class="calc-app-price">включено</span>
|
||||
</div>
|
||||
<div class="calc-app">
|
||||
<label>
|
||||
<input type="checkbox" id="a2" checked disabled>
|
||||
Решения совета <span style="color:var(--t2);font-size:12px">(базовое)</span>
|
||||
</label>
|
||||
<span class="calc-app-price">включено</span>
|
||||
</div>
|
||||
<div class="calc-app">
|
||||
<label>
|
||||
<input type="checkbox" id="a3" checked disabled>
|
||||
Общие собрания <span style="color:var(--t2);font-size:12px">(базовое)</span>
|
||||
</label>
|
||||
<span class="calc-app-price">включено</span>
|
||||
</div>
|
||||
<div class="calc-app">
|
||||
<label>
|
||||
<input type="checkbox" id="a4" checked disabled>
|
||||
Цифровой кошелёк <span style="color:var(--t2);font-size:12px">(базовое)</span>
|
||||
</label>
|
||||
<span class="calc-app-price">включено</span>
|
||||
</div>
|
||||
<div class="calc-result">
|
||||
<div>
|
||||
<div class="cr-lbl">Итого в месяц</div>
|
||||
<div class="cr-bd" id="calc-bd">базовый пакет 3 500 ₽</div>
|
||||
</div>
|
||||
<div class="cr-total" id="calc-total">3 500 ₽</div>
|
||||
</div>
|
||||
<div class="calc-once calc-once-highlight" id="calc-once">При подключении: +5 500 ₽</div>
|
||||
<div class="calc-note">Стоимость за новых пайщиков сверх квоты — разовая, не ежемесячная. Новые приложения из каталога тарифицируются по тарифу приложения.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section id="connect">
|
||||
<div class="W">
|
||||
|
||||
<div class="r" style="margin-bottom:40px;">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Поставка и подключение</span>
|
||||
<h2 class="t2" style="margin-bottom:20px">Открытый код —<br>облачная поставка —<br><em>24 часа</em></h2>
|
||||
<p style="max-width:580px;font-size:15px;color:var(--text-soft);line-height:1.8">
|
||||
Платформа распространяется с открытым исходным кодом. Подключение — полностью онлайн: никаких визитов в офис, никаких технических специалистов на вашей стороне. После оплаты система разворачивается автоматически и через 24 часа готова к работе на вашем домене.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- TIMELINE -->
|
||||
<div class="r d2">
|
||||
<span class="cap" style="display:block;margin-bottom:24px">Шаги подключения</span>
|
||||
<div class="timeline">
|
||||
|
||||
<div class="tl">
|
||||
<div class="tl-left">
|
||||
<div class="tl-dot active"></div>
|
||||
<div class="tl-line"></div>
|
||||
</div>
|
||||
<div class="tl-body">
|
||||
<div class="tl-step">01</div>
|
||||
<h4>Вступление в ПК «ВОСХОД»</h4>
|
||||
<p>Ваш кооператив вступает в ПК «ВОСХОД» — оператора платформы — как юридическое лицо. Заявление заполняется онлайн, соглашение о подключении подписывается электронной подписью. Там же указывается домен, на котором будет развёрнута система. </p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tl">
|
||||
<div class="tl-left">
|
||||
<div class="tl-dot"></div>
|
||||
<div class="tl-line"></div>
|
||||
</div>
|
||||
<div class="tl-body">
|
||||
<div class="tl-step">02</div>
|
||||
<h4>Делегирование домена</h4>
|
||||
<p>После подтверждения заявки система выдаёт адрес для делегирования. Вы указываете его у своего регистратора домена — по пошаговой инструкции, без технических знаний. Занимает несколько минут.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tl">
|
||||
<div class="tl-left">
|
||||
<div class="tl-dot"></div>
|
||||
<div class="tl-line"></div>
|
||||
</div>
|
||||
<div class="tl-body">
|
||||
<div class="tl-step">03 · <span style="color:var(--gold)">≤ 24 часа</span></div>
|
||||
<h4>Автоматическая поставка</h4>
|
||||
<p>Платформа разворачивается на наших серверах автоматически — без вашего участия. В результате вы получаете полностью рабочую систему: блокчейн-ноду, веб-интерфейс и мобильное приложение для пайщиков, доступные на вашем домене.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tl">
|
||||
<div class="tl-left">
|
||||
<div class="tl-dot"></div>
|
||||
<div class="tl-line"></div>
|
||||
</div>
|
||||
<div class="tl-body">
|
||||
<div class="tl-step">04</div>
|
||||
<h4>Инициализация совета</h4>
|
||||
<p>Председатель совета проходит первоначальную настройку через интерфейс системы: приглашает членов совета и настраивает внешний вид цифрового кооператива для пайщиков. Всё пошагово, без технических знаний.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tl">
|
||||
<div class="tl-left">
|
||||
<div class="tl-dot"></div>
|
||||
<div class="tl-line"></div>
|
||||
</div>
|
||||
<div class="tl-body">
|
||||
<div class="tl-step gold">05 · 30 дней</div>
|
||||
<h4>Период адаптации</h4>
|
||||
<p>После запуска у кооператива есть 30 дней, чтобы адаптировать базовый документооборот к работе в системе. Для этого будут предоставлены шаблоны решений совета, которые будет предложено принять. Все действующие пайщики приглашаются к получению электронных подписей через импорт.</p>
|
||||
<p>В кооперативном мессенджере Op!Coop вам будет назначен представитель союза — он поможет адаптировать имеющийся базовый документооборот и определить порядок членства в союзе. По истечении периода адаптации кооператив полностью переходит на цифровой документооборот.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tl">
|
||||
<div class="tl-left">
|
||||
<div class="tl-dot special"></div>
|
||||
</div>
|
||||
<div class="tl-body">
|
||||
<div class="tl-step">06</div>
|
||||
<h4>Ежемесячный членский взнос</h4>
|
||||
<p>Начиная со второго месяца — оплата по факту использования, но не менее 4 500 ₽ в месяц. В базовый пакет входит до 50 новых пайщиков и до 50 пакетов документов ежемесячно. Дополнительные приложения из каталога тарифицируются отдельно.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="cta">
|
||||
<div class="cta-glow"></div>
|
||||
<div class="W">
|
||||
<div class="cta-inner">
|
||||
|
||||
<div class="cta-card gold r">
|
||||
<span class="cap cap-gold" style="font-size:9px">Для кооперативов</span>
|
||||
<h3 class="t3">Подключите<br>свой кооператив</h3>
|
||||
<p>Система разворачивается за 24 часа. Все подключённые кооперативы получают обновления ПО автоматически по мере выхода релизов.</p>
|
||||
<a href="https://лк.цифровой-кооператив.рф" target="_blank" class="btn btn-g">Подключиться →</a>
|
||||
<a href="https://docs.coopenomics.world" target="_blank" class="btn btn-o">Документация</a>
|
||||
</div>
|
||||
|
||||
<div class="cta-card r d2">
|
||||
<span class="cap" style="font-size:9px">Посмотреть изнутри</span>
|
||||
<h3 class="t3">Демо-доступ</h3>
|
||||
<p>Перейдите по ссылке на публичную тестовую сеть и воспользуйтесь почтой-ключом для просмотра демо.</p>
|
||||
<div class="demo-cred-block">
|
||||
<div class="demo-cred-row">
|
||||
<label class="demo-cred-lbl">Почта</label>
|
||||
<input type="text" class="demo-cred-inp" value="chairman@example.com" readonly>
|
||||
<button type="button" class="demo-copy-btn" data-copy="chairman@example.com" title="Копировать">Копировать</button>
|
||||
</div>
|
||||
<div class="demo-cred-row">
|
||||
<label class="demo-cred-lbl">Ключ</label>
|
||||
<input type="text" class="demo-cred-inp" value="5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" readonly>
|
||||
<button type="button" class="demo-copy-btn" data-copy="5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" title="Копировать">Копировать</button>
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://testnet.coopenomics.world" target="_blank" class="btn btn-g">Открыть демо →</a>
|
||||
</div>
|
||||
|
||||
<div class="cta-card r d3 cta-card-wide">
|
||||
<span class="cap" style="font-size:9px">Для пайщиков</span>
|
||||
<h3 class="t3">Участвуйте<br>в создании платформы</h3>
|
||||
<p>Система находится в активной разработке. Вы можете принять участие, инвестиров время или деньги через Благорост. Все участники получают долю в объекте авторских прав пропорционально вкладу и получают возвраты от членских взносов кооперативов-пользователей.</p>
|
||||
<a href="https://благорост.цифровой-кооператив.рф" target="_blank" class="btn btn-g">Узнать о Благоросте →</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<footer>
|
||||
<div class="W">
|
||||
<div class="foot-row">
|
||||
<div>
|
||||
<div class="foot-brand">ЦИФРОВОЙ КООПЕРАТИВ <span>/ ПК «ВОСХОД»</span></div>
|
||||
<div class="foot-copy">© 2024–2026 Потребительский кооператив «ВОСХОД» · ФЗ № 3085-1</div>
|
||||
</div>
|
||||
<div class="foot-links">
|
||||
<a href="https://coopenomics.world" target="_blank">Кооперативная Экономика</a>
|
||||
<a href="https://blagorost.xn--e1agalmj7b.xn--e1afmapc.xn--p1ai" target="_blank">Благорост</a>
|
||||
<a href="https://blog.coopenomics.world" target="_blank">Блог</a>
|
||||
<a href="https://docs.coopenomics.world" target="_blank">Документация</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<script src="src/js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "mono-landing",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build": "node build.mjs",
|
||||
"dev": "node build.mjs && open index.html && nodemon --watch src --watch build.mjs --ext html,css,js,mjs --exec \"node build.mjs\""
|
||||
},
|
||||
"devDependencies": {
|
||||
"nodemon": "^3.1.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 459 429" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(1,0,0,1,-198,-2378)">
|
||||
<g transform="matrix(2.315165,0,0,2.315165,60.899369,2209.790596)">
|
||||
<path d="M156.273,195.249L158.319,186.583C174.711,189.312 206.566,179.568 210.925,155.89C215.284,132.212 195.991,113.775 176.269,110.554C173.481,109.872 166.579,110.992 165.204,116.971L151.09,178.329C132.897,173.7 127.762,158.801 127.962,147.971C128.242,132.796 138.378,118.975 155.586,116.691C158.599,116.129 159.317,110.247 154.866,110.509C132.196,111.157 115.097,130.066 114.675,147.971C114.252,165.875 130.971,181.912 149.207,185.014L146.849,195.249C145.24,202.623 149.298,207.359 152.875,209.64C164.592,217.113 186.724,215.51 205.429,205.444C224.133,195.378 238.505,173.438 238.344,147.971C238.17,120.631 213.918,81.221 163.714,81.221C121.686,81.222 81.206,114.364 81.206,163.73C81.206,205.117 110.631,236.69 144.752,244.05C169.306,249.346 196.22,247.756 222.5,233.757C230.55,229.468 221.736,218.991 217.162,222.651C192.231,238.109 171.365,240.076 147.056,234.29C118.026,227.379 97.829,199.385 98.996,163.73C100.329,122.954 128.772,79.869 180.781,91.443C211.067,99.501 224.079,117.905 223.75,147.971C223.484,172.216 214.192,187.259 197.862,197.877C181.532,208.496 152.663,210.539 156.273,195.249ZM178.531,118.282C193.703,124.439 199.275,136.627 199.388,147.971C199.602,169.266 179.194,183.156 159.86,180.055L174.037,120.009C174.544,117.718 176.53,117.47 178.531,118.282Z" style="fill:#0d9488;"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
@@ -0,0 +1,501 @@
|
||||
/* ─── tokens ─── */
|
||||
:root {
|
||||
--logo-fill: var(--gold);
|
||||
--bg: #0e0d0a;
|
||||
--bg1: #121210;
|
||||
--bg2: #181714;
|
||||
--bg3: #1e1d19;
|
||||
--line: rgba(255,252,240,.1);
|
||||
--l2: rgba(255,252,240,.18);
|
||||
--gold: #0d9488;
|
||||
--g2: #14b8a6;
|
||||
--gb: rgba(13,148,136,.14);
|
||||
--gc: rgba(13,148,136,.28);
|
||||
--text: rgba(242,238,224,1);
|
||||
--text-soft: rgba(242,238,224,1);
|
||||
--t2: rgba(242,238,224,.42);
|
||||
--fg: #F2EEDE;
|
||||
--nav-bg: rgba(14,13,10,.9);
|
||||
--nav-bg-scrolled: rgba(14,13,10,.97);
|
||||
--serif:'Cormorant Garamond',Georgia,serif;
|
||||
--sans: 'DM Sans',system-ui,sans-serif;
|
||||
--mono: 'JetBrains Mono',monospace;
|
||||
--W: 1080px;
|
||||
--r: 4px;
|
||||
}
|
||||
|
||||
/* светлая тема */
|
||||
@media (prefers-color-scheme: light) {
|
||||
html:not([data-theme]) {
|
||||
--logo-fill: var(--fg);
|
||||
--bg: #f8f6f1;
|
||||
--bg1: #f2efe8;
|
||||
--bg2: #ebe7de;
|
||||
--bg3: #e4dfd5;
|
||||
--line: rgba(14,13,10,.14);
|
||||
--l2: rgba(14,13,10,.22);
|
||||
--gb: rgba(13,148,136,.14);
|
||||
--gc: rgba(13,148,136,.3);
|
||||
--text: rgba(14,13,10,.72);
|
||||
--text-soft: rgba(14,13,10,.82);
|
||||
--t2: rgba(14,13,10,.52);
|
||||
--fg: #0e0d0a;
|
||||
--nav-bg: rgba(248,246,241,.92);
|
||||
--nav-bg-scrolled: rgba(248,246,241,.97);
|
||||
}
|
||||
}
|
||||
|
||||
html[data-theme="light"] {
|
||||
--logo-fill: var(--fg);
|
||||
--bg: #f8f6f1;
|
||||
--bg1: #f2efe8;
|
||||
--bg2: #ebe7de;
|
||||
--bg3: #e4dfd5;
|
||||
--line: rgba(14,13,10,.14);
|
||||
--l2: rgba(14,13,10,.22);
|
||||
--gb: rgba(13,148,136,.14);
|
||||
--gc: rgba(13,148,136,.3);
|
||||
--text: rgba(14,13,10,1);
|
||||
--text-soft: rgba(14,13,10,1);
|
||||
--t2: rgba(14,13,10,.52);
|
||||
--fg: #0e0d0a;
|
||||
--nav-bg: rgba(248,246,241,.92);
|
||||
--nav-bg-scrolled: rgba(248,246,241,.97);
|
||||
}
|
||||
|
||||
html[data-theme="dark"] {
|
||||
--logo-fill: var(--gold);
|
||||
--bg: #0e0d0a;
|
||||
--bg1: #121210;
|
||||
--bg2: #181714;
|
||||
--bg3: #1e1d19;
|
||||
--line: rgba(255,252,240,.1);
|
||||
--l2: rgba(255,252,240,.18);
|
||||
--gb: rgba(13,148,136,.14);
|
||||
--gc: rgba(13,148,136,.28);
|
||||
--text: rgba(242,238,224,.68);
|
||||
--text-soft: rgba(242,238,224,.78);
|
||||
--t2: rgba(242,238,224,.42);
|
||||
--fg: #F2EEDE;
|
||||
--nav-bg: rgba(14,13,10,.9);
|
||||
--nav-bg-scrolled: rgba(14,13,10,.97);
|
||||
}
|
||||
|
||||
/* ─── reset ─── */
|
||||
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
|
||||
html{scroll-behavior:smooth}
|
||||
body{background:var(--bg);color:var(--fg);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
|
||||
a{color:inherit;text-decoration:none}
|
||||
|
||||
/* ─── layout ─── */
|
||||
.W{max-width:var(--W);margin:0 auto;padding:0 36px}
|
||||
|
||||
/* ─── type ─── */
|
||||
.t1{font-family:var(--serif);font-size:clamp(44px,6.2vw,84px);font-weight:700;line-height:1.06;letter-spacing:-.02em}
|
||||
.t2{font-family:var(--serif);font-size:clamp(30px,3.8vw,52px);font-weight:700;line-height:1.1;letter-spacing:-.015em}
|
||||
.t3{font-family:var(--serif);font-size:clamp(20px,2.2vw,28px);font-weight:700;line-height:1.2}
|
||||
em{font-style:italic;color:var(--gold)}
|
||||
strong{font-weight:500;color:var(--fg)}
|
||||
p{color:var(--text);font-size:14.5px;line-height:1.82}
|
||||
p+p{margin-top:12px}
|
||||
|
||||
.cap{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--t2)}
|
||||
.cap-gold{color:var(--gold)}
|
||||
|
||||
/* ─── badges ─── */
|
||||
.b{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:20px;font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
|
||||
.b-live{background:var(--gb);color:var(--gold);border:1px solid var(--gc)}
|
||||
.b-dev{background:rgba(255,252,240,.04);color:var(--t2);border:1px solid var(--line)}
|
||||
.b-open{color:var(--t2);border:1px solid var(--line)}
|
||||
|
||||
/* ─── buttons ─── */
|
||||
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-size:13px;font-weight:500;padding:11px 24px;border-radius:var(--r);transition:all .18s;cursor:pointer;border:none;white-space:nowrap;line-height:1}
|
||||
.btn-g{background:var(--gold);color:#0e0d0a}
|
||||
.btn-g:hover{background:var(--g2)}
|
||||
.btn-o{background:transparent;color:var(--text);border:1px solid var(--l2)}
|
||||
.btn-o:hover{color:var(--fg);border-color:rgba(255,252,240,.35)}
|
||||
|
||||
/* ─── nav ─── */
|
||||
nav{position:fixed;inset:0 0 auto;z-index:200;height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:var(--nav-bg);backdrop-filter:blur(22px);border-bottom:1px solid var(--line);transition:background .3s,border-color .3s}
|
||||
nav.scrolled{background:var(--nav-bg-scrolled)}
|
||||
.nav-logo{display:flex;align-items:center;gap:12px;flex-shrink:0}
|
||||
.nav-logo-img{height:28px;width:auto;display:block}
|
||||
.n-brand{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-soft)}
|
||||
.nav-links{display:flex;gap:22px;position:absolute;left:50%;transform:translateX(-50%)}
|
||||
.nav-links a{font-size:12.5px;color:var(--text-soft);transition:color .18s}
|
||||
.nav-links a:hover{color:var(--fg)}
|
||||
.nav-right{display:flex;align-items:center;gap:0;flex-shrink:0}
|
||||
.nav-theme-btn{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--r);background:transparent;color:var(--text);cursor:pointer;transition:color .18s,background .18s;margin-right:8px}
|
||||
.nav-theme-btn:hover{color:var(--fg);background:var(--l2)}
|
||||
.theme-icon{width:18px;height:18px;min-width:18px;min-height:18px;flex-shrink:0;display:block;opacity:.85}
|
||||
.theme-icon::before{content:'';display:block;width:100%;height:100%;background:currentColor;mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center}
|
||||
.theme-icon-system{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}
|
||||
.theme-icon-light{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Cpath d='M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Cpath d='M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42'/%3E%3C/svg%3E")}
|
||||
.theme-icon-dark{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z'/%3E%3C/svg%3E")}
|
||||
.nav-cta{flex-shrink:0;display:inline-flex;align-items:center;padding:7px 17px;border-radius:var(--r);background:var(--gold);color:#0e0d0a;font-family:var(--sans);font-size:12px;font-weight:500;transition:background .18s}
|
||||
.nav-cta:hover{background:var(--g2)}
|
||||
|
||||
/* ─── reveal ─── */
|
||||
.r{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
|
||||
.r.v{opacity:1;transform:none}
|
||||
.d1{transition-delay:.07s}.d2{transition-delay:.15s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}
|
||||
|
||||
/* ════════════════════════════ HERO ═══════════════════════════ */
|
||||
#hero{min-height:100svh;display:flex;align-items:flex-end;padding:120px 0 84px;position:relative;overflow:hidden}
|
||||
.hero-glow{position:absolute;top:-25%;right:-8%;width:55vw;height:55vw;border-radius:50%;background:radial-gradient(circle,rgba(13,148,136,.055) 0%,transparent 65%);pointer-events:none}
|
||||
.hero-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:20px;background:var(--gb);border:1px solid var(--gc);font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
|
||||
.h-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);animation:blink 2.8s infinite}
|
||||
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
|
||||
.hero-h1{margin-bottom:22px}
|
||||
.hero-desc{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--t2);display:block;margin-bottom:18px}
|
||||
.hero-p{font-size:clamp(15px,1.6vw,18px);color:var(--text-soft);line-height:1.65;max-width:560px;margin-bottom:34px}
|
||||
.hero-btns{display:flex;gap:10px;flex-wrap:wrap}
|
||||
|
||||
/* ════════════════════════════ READY ═══════════════════════════ */
|
||||
#ready{padding:88px 0;background:var(--bg1);border-top:1px solid var(--line)}
|
||||
.ready-grid{margin-top:48px;display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
|
||||
.rc{display:grid;grid-template-columns:52px 260px 1fr;gap:32px;align-items:start;padding:28px 32px;background:var(--bg1);border-bottom:1px solid var(--line);position:relative;transition:background .2s}
|
||||
.rc:last-child{border-bottom:none}
|
||||
.rc:hover{background:var(--bg3)}
|
||||
.rc::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold)}
|
||||
.rc-n{font-family:var(--mono);font-size:28px;color:var(--gold);opacity:.65;line-height:1;padding-top:2px}
|
||||
.rc-title{padding-top:3px}
|
||||
.rc-title h3{font-family:var(--serif);font-size:20px;color:var(--fg);line-height:1.25;margin-bottom:0}
|
||||
.rc-body p{font-size:14px;padding-top:2px}
|
||||
|
||||
/* ════════════════════════════ REGISTRIES ═══════════════════════ */
|
||||
#registries{padding:88px 0;border-top:1px solid var(--line)}
|
||||
.reg-wrap{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}
|
||||
.reg-items{display:flex;flex-direction:column;padding:0 20px}
|
||||
.ri{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
|
||||
.ri:first-child{border-top:1px solid var(--line)}
|
||||
.ri.ri-key{position:relative;background:var(--gb);padding:18px 20px;margin:0 -20px}
|
||||
.ri.ri-key::before{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--gold)}
|
||||
.ri.ri-key .ri-name{color:var(--gold)}
|
||||
.ri-icon{font-size:18px;flex-shrink:0;margin-top:2px}
|
||||
.ri-name{font-family:var(--sans);font-size:13.5px;font-weight:500;color:var(--fg);margin-bottom:4px}
|
||||
.ri-desc{font-size:13px;color:var(--text)}
|
||||
.arch-box{margin-top:24px;padding:20px;background:var(--bg3);border:1px solid var(--l2);border-radius:var(--r)}
|
||||
.arch-box-full{grid-column:1/-1;margin-top:48px}
|
||||
.arch-box-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
|
||||
.arch-box p{font-size:13px;line-height:1.75}
|
||||
.arch-box p+p{margin-top:10px}
|
||||
.flow-strip{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:16px;padding:14px;background:var(--bg);border-radius:3px;border:1px solid var(--line)}
|
||||
.flow-vertical{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px;background:var(--bg);border-radius:3px;border:1px solid var(--line)}
|
||||
.fs-node{padding:6px 11px;border-radius:3px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;text-align:center;width:180px}
|
||||
.fs-node.plain{background:var(--bg2);color:var(--text);border:1px solid var(--l2)}
|
||||
.fs-node.key{background:var(--gb);color:var(--gold);border:1px solid var(--gc)}
|
||||
.fs-node.chain{background:var(--bg2);color:var(--text);border:1px solid var(--l2)}
|
||||
.fs-arr{font-family:var(--mono);font-size:12px;color:var(--gold);opacity:.65}
|
||||
.fs-arr-v{font-family:var(--mono);font-size:10px;color:var(--gold);opacity:.65}
|
||||
|
||||
/* ════════════════════════════ DOC SPLIT ═════════════════════════ */
|
||||
#docsplit{padding:88px 0;background:var(--bg1);border-top:1px solid var(--line)}
|
||||
.split-wrap{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
|
||||
.steps{display:flex;flex-direction:column;margin-top:28px}
|
||||
.step{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
|
||||
.step:first-child{padding-top:0}
|
||||
.step-spine{display:flex;flex-direction:column;align-items:center;width:30px;flex-shrink:0}
|
||||
.sn{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9.5px;color:var(--t2);border:1px solid var(--l2);background:var(--bg2)}
|
||||
.step.done .sn{background:var(--gb);color:var(--gold);border-color:var(--gc)}
|
||||
.sl{width:1px;flex:1;min-height:14px;background:var(--line);margin:3px 0}
|
||||
.step:last-child .sl{display:none}
|
||||
.sb{padding-top:3px}
|
||||
.sb h4{font-family:var(--serif);font-size:17px;color:var(--fg);margin-bottom:4px}
|
||||
.sb p{font-size:13px}
|
||||
.doc-box{border:1px solid var(--l2);border-radius:var(--r);overflow:hidden}
|
||||
.db-title{padding:12px 18px;background:var(--bg3);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--t2)}
|
||||
.db-halves{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
|
||||
.db-half{padding:16px 18px;display:flex;flex-direction:column}
|
||||
.db-half:first-child{border-right:1px solid var(--line)}
|
||||
.db-hh{font-family:var(--mono);font-size:8px;letter-spacing:.16em;text-transform:uppercase;padding-bottom:4px;margin-bottom:0;border-bottom:none;color:var(--t2)}
|
||||
.db-hh.pub{color:var(--gold)}
|
||||
.db-hh-note{font-size:9.5px;color:var(--t2);margin-bottom:11px;padding-bottom:9px;border-bottom:1px solid var(--line)}
|
||||
.db-row{display:flex;justify-content:space-between;align-items:center;padding:5.5px 0;border-bottom:1px solid var(--line);min-height:24px;line-height:1.4}
|
||||
.db-row:last-child{border-bottom:none}
|
||||
.dk{font-family:var(--mono);font-size:8.5px;color:var(--t2);line-height:1.4}
|
||||
.dv{font-size:11px;color:var(--fg);line-height:1.4;font-family:var(--sans)}
|
||||
.dv.dim{color:var(--t2);letter-spacing:.03em}
|
||||
.dv.hash{font-family:var(--mono);font-size:11px;color:var(--gold);line-height:1.4}
|
||||
.dv.ok{color:#72B86A;font-size:11px;line-height:1.4}
|
||||
.db-note{padding:11px 18px;background:var(--bg3);border-top:1px solid var(--line);font-size:12px;color:var(--t2);line-height:1.65}
|
||||
.doc-split-desc{background:var(--gb);border-top:3px solid var(--gold);color:var(--text)}
|
||||
|
||||
/* doc-split-schema — визуальная схема разделения документа */
|
||||
.doc-split-schema{background:var(--surface,var(--bg2));border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:16px}
|
||||
.doc-split-top{text-align:center;margin-bottom:16px}
|
||||
.doc-split-file{display:inline-flex;align-items:center;gap:8px;background:var(--surface-2,var(--bg3));border:1px solid var(--line);border-radius:9px;padding:8px 18px;font-size:12px;font-family:var(--mono,monospace);color:var(--text)}
|
||||
.doc-split-signed{margin-left:6px;color:var(--gold);font-size:11px}
|
||||
.doc-split-divider{display:flex;align-items:center;gap:0;margin-bottom:14px}
|
||||
.doc-split-line{flex:1;height:1px;background:var(--line)}
|
||||
.doc-split-label{padding:0 10px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);white-space:nowrap}
|
||||
.doc-split-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}
|
||||
.doc-split-col{border:1px solid var(--line);border-radius:10px;overflow:hidden}
|
||||
.doc-split-col-h{background:var(--surface-2,var(--bg3));padding:9px 13px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);border-bottom:1px solid var(--line)}
|
||||
.doc-split-col-body{padding:12px 13px;font-size:11.5px;color:var(--text-soft);line-height:2.1}
|
||||
.doc-split-mono{font-family:var(--mono,monospace);font-size:10.5px}
|
||||
.doc-split-ok{color:var(--gold)}
|
||||
.doc-split-col-note{margin-top:10px;padding-top:8px;border-top:1px solid var(--line);font-size:9.5px;color:var(--text-soft)}
|
||||
.doc-split-footer{margin-top:12px;text-align:center;font-size:10.5px;color:var(--text-soft);line-height:1.6}
|
||||
|
||||
/* doc-packet-box — пакет документов */
|
||||
.doc-packet-box{background:var(--surface,var(--bg2));border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px}
|
||||
.doc-packet-cap{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);margin-bottom:14px}
|
||||
.doc-packet-event{background:var(--gb);border:1px solid var(--gc);border-radius:8px;padding:9px 14px;font-size:12.5px;color:var(--gold);text-align:center;margin-bottom:10px}
|
||||
.doc-packet-event strong{color:var(--gold)}
|
||||
.doc-packet-arr{text-align:center;font-size:18px;color:var(--text-soft);margin-bottom:10px;line-height:1}
|
||||
.doc-packet-list{display:flex;flex-direction:column;gap:6px}
|
||||
.doc-packet-item{display:flex;align-items:center;gap:10px;background:var(--surface-2,var(--bg3));border:1px solid var(--line);border-radius:8px;padding:8px 13px;font-size:12px;color:var(--text)}
|
||||
.doc-packet-note{margin-top:12px;font-size:11px;color:var(--text-soft);line-height:1.7}
|
||||
|
||||
.info-box{margin-top:12px;padding:16px 18px;border:1px solid var(--l2);border-radius:var(--r);background:var(--bg2)}
|
||||
.info-box .cap{display:block;margin-bottom:8px;font-size:9px}
|
||||
.info-box p{font-size:13px;color:var(--text)}
|
||||
|
||||
/* doc-box и info-box — контраст в светлой теме */
|
||||
@media (prefers-color-scheme: light){
|
||||
html:not([data-theme]) .doc-box,
|
||||
html:not([data-theme]) .doc-split-schema{border-color:rgba(14,13,10,.28);background:var(--bg2)}
|
||||
html:not([data-theme]) .doc-box .db-title,
|
||||
html:not([data-theme]) .doc-box .db-note,
|
||||
html:not([data-theme]) .doc-split-schema .db-note{background:var(--bg3);border-color:rgba(14,13,10,.22);color:rgba(14,13,10,.72)}
|
||||
html:not([data-theme]) .doc-box .db-half,
|
||||
html:not([data-theme]) .doc-split-schema .db-half{border-color:rgba(14,13,10,.22)}
|
||||
html:not([data-theme]) .doc-box .db-hh,
|
||||
html:not([data-theme]) .doc-split-schema .db-hh{border-color:rgba(14,13,10,.22);color:rgba(14,13,10,.65)}
|
||||
html:not([data-theme]) .doc-box .db-row,
|
||||
html:not([data-theme]) .doc-split-schema .db-row{border-color:rgba(14,13,10,.18)}
|
||||
html:not([data-theme]) .doc-box .dk,
|
||||
html:not([data-theme]) .doc-split-schema .dk{color:rgba(14,13,10,.65)}
|
||||
html:not([data-theme]) .doc-box .dv,
|
||||
html:not([data-theme]) .doc-split-schema .dv{color:rgba(14,13,10,.9)}
|
||||
html:not([data-theme]) .doc-box .dv.dim,
|
||||
html:not([data-theme]) .doc-split-schema .dv.dim{color:rgba(14,13,10,.7)}
|
||||
html:not([data-theme]) .doc-split-schema .db-hh-note{color:rgba(14,13,10,.65);border-color:rgba(14,13,10,.22)}
|
||||
html:not([data-theme]) .doc-split-schema .doc-split-desc{background:var(--gb);border-top-color:var(--gold);color:rgba(14,13,10,.82)}
|
||||
html:not([data-theme]) .info-box{border-color:rgba(14,13,10,.28);background:var(--bg3)}
|
||||
html:not([data-theme]) .info-box .cap{color:rgba(14,13,10,.65)}
|
||||
html:not([data-theme]) .info-box p{color:rgba(14,13,10,.8)}
|
||||
}
|
||||
html[data-theme="light"] .doc-box,
|
||||
html[data-theme="light"] .doc-split-schema{border-color:rgba(14,13,10,.28);background:var(--bg2)}
|
||||
html[data-theme="light"] .doc-box .db-title,
|
||||
html[data-theme="light"] .doc-box .db-note,
|
||||
html[data-theme="light"] .doc-split-schema .db-note{background:var(--bg3);border-color:rgba(14,13,10,.22);color:rgba(14,13,10,.72)}
|
||||
html[data-theme="light"] .doc-box .db-half,
|
||||
html[data-theme="light"] .doc-split-schema .db-half{border-color:rgba(14,13,10,.22)}
|
||||
html[data-theme="light"] .doc-box .db-hh,
|
||||
html[data-theme="light"] .doc-split-schema .db-hh{border-color:rgba(14,13,10,.22);color:rgba(14,13,10,.65)}
|
||||
html[data-theme="light"] .doc-box .db-row,
|
||||
html[data-theme="light"] .doc-split-schema .db-row{border-color:rgba(14,13,10,.18)}
|
||||
html[data-theme="light"] .doc-box .dk,
|
||||
html[data-theme="light"] .doc-split-schema .dk{color:rgba(14,13,10,.65)}
|
||||
html[data-theme="light"] .doc-box .dv,
|
||||
html[data-theme="light"] .doc-split-schema .dv{color:rgba(14,13,10,.9)}
|
||||
html[data-theme="light"] .doc-box .dv.dim,
|
||||
html[data-theme="light"] .doc-split-schema .dv.dim{color:rgba(14,13,10,.7)}
|
||||
html[data-theme="light"] .doc-split-schema .db-hh-note{color:rgba(14,13,10,.65);border-color:rgba(14,13,10,.22)}
|
||||
html[data-theme="light"] .doc-split-schema .doc-split-desc{background:var(--gb);border-top-color:var(--gold);color:rgba(14,13,10,.82)}
|
||||
html[data-theme="light"] .info-box{border-color:rgba(14,13,10,.28);background:var(--bg3)}
|
||||
html[data-theme="light"] .info-box .cap{color:rgba(14,13,10,.65)}
|
||||
html[data-theme="light"] .info-box p{color:rgba(14,13,10,.8)}
|
||||
|
||||
/* price-rules и calc-box — контраст в светлой теме */
|
||||
@media (prefers-color-scheme: light){
|
||||
html:not([data-theme]) #pricing .pr-l,
|
||||
html:not([data-theme]) #pricing .calc-lbl,
|
||||
html:not([data-theme]) #pricing .calc-app label,
|
||||
html:not([data-theme]) #pricing .cr-lbl{color:rgba(14,13,10,.82)}
|
||||
html:not([data-theme]) #pricing .pr-note,
|
||||
html:not([data-theme]) #pricing .calc-head .cap,
|
||||
html:not([data-theme]) #pricing .price-head .cap,
|
||||
html:not([data-theme]) #pricing .calc-app-lbl,
|
||||
html:not([data-theme]) #pricing .calc-app-price,
|
||||
html:not([data-theme]) #pricing .cr-bd,
|
||||
html:not([data-theme]) #pricing .calc-note,
|
||||
html:not([data-theme]) #pricing .calc-once{color:rgba(14,13,10,.68)}
|
||||
}
|
||||
html[data-theme="light"] #pricing .pr-l,
|
||||
html[data-theme="light"] #pricing .calc-lbl,
|
||||
html[data-theme="light"] #pricing .calc-app label,
|
||||
html[data-theme="light"] #pricing .cr-lbl{color:rgba(14,13,10,.82)}
|
||||
html[data-theme="light"] #pricing .pr-note,
|
||||
html[data-theme="light"] #pricing .calc-head .cap,
|
||||
html[data-theme="light"] #pricing .price-head .cap,
|
||||
html[data-theme="light"] #pricing .calc-app-lbl,
|
||||
html[data-theme="light"] #pricing .calc-app-price,
|
||||
html[data-theme="light"] #pricing .cr-bd,
|
||||
html[data-theme="light"] #pricing .calc-note,
|
||||
html[data-theme="light"] #pricing .calc-once{color:rgba(14,13,10,.68)}
|
||||
|
||||
/* ════════════════════════════ BASE APPS ════════════════════════ */
|
||||
#base{padding:88px 0;border-top:1px solid var(--line)}
|
||||
.base-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:48px}
|
||||
.ba{padding:30px 28px;background:var(--bg);transition:background .2s;position:relative}
|
||||
.ba:hover{background:var(--bg2)}
|
||||
.ba::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold)}
|
||||
.ba-num{font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--gold);margin-bottom:14px}
|
||||
.ba h4{font-family:var(--serif);font-size:21px;color:var(--fg);margin-bottom:10px}
|
||||
.ba p{font-size:13.5px}
|
||||
|
||||
/* ════════════════════════════ APP STORE ═════════════════════════ */
|
||||
#store{padding:88px 0;background:var(--bg1);border-top:1px solid var(--line)}
|
||||
.store-list{margin-top:48px;display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
|
||||
.sa{display:grid;grid-template-columns:200px 1fr 120px;gap:28px;align-items:start;padding:28px 30px;background:var(--bg1);border-bottom:1px solid var(--line);transition:background .18s}
|
||||
.sa:last-child{border-bottom:none}
|
||||
.sa:hover{background:var(--bg3)}
|
||||
.sa.feat{background:var(--bg2);border-left:2px solid var(--gold)}
|
||||
.sa-label{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--t2);margin-bottom:7px}
|
||||
.sa.feat .sa-label{color:var(--gold)}
|
||||
.sa h4{font-family:var(--serif);font-size:20px;color:var(--fg);line-height:1.2}
|
||||
.sa-link{display:inline-block;margin-top:10px;font-size:12.5px;color:var(--gold);opacity:.9;border-bottom:1px solid rgba(13,148,136,.35)}
|
||||
.sa-link:hover{opacity:1}
|
||||
.sa-st{padding-top:4px;text-align:right}
|
||||
|
||||
/* ════════════════════════════ REPORTING ═════════════════════════ */
|
||||
#reporting{padding:88px 0;border-top:1px solid var(--line)}
|
||||
.rep-wrap{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}
|
||||
.rep-cards{display:flex;flex-direction:column;gap:10px}
|
||||
.rep-card{padding:22px;background:var(--bg2);border:1px solid var(--l2);border-radius:var(--r)}
|
||||
.rep-card .cap{display:block;margin-bottom:8px;font-size:9px}
|
||||
.rep-card h4{font-family:var(--serif);font-size:19px;color:var(--fg);margin-bottom:8px}
|
||||
.rep-card p{font-size:13px}
|
||||
.rep-list{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:4px}
|
||||
.rep-list li{font-size:12.5px;color:var(--text);display:flex;gap:8px}
|
||||
.rep-list li::before{content:'—';color:var(--gold);opacity:.75;flex-shrink:0;font-size:10px;margin-top:3px}
|
||||
|
||||
/* ════════════════════════════ CHATCOOP ═════════════════════════ */
|
||||
#chatcoop{padding:88px 0;background:var(--bg1);border-top:1px solid var(--line)}
|
||||
.chatcoop-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
|
||||
.chatcoop-network{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:24px;margin-bottom:16px}
|
||||
.chatcoop-network-top{text-align:center;margin-bottom:20px}
|
||||
.chatcoop-network-badge{display:inline-flex;align-items:center;gap:8px;background:var(--bg3);border:1px solid var(--line);border-radius:50px;padding:7px 18px;font-size:11px;color:var(--text-soft);letter-spacing:.04em}
|
||||
.chatcoop-coops{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:16px}
|
||||
.chatcoop-coop{border:1px solid var(--line);border-radius:10px;overflow:hidden}
|
||||
.chatcoop-coop-highlight{border:1.5px solid var(--gold)}
|
||||
.chatcoop-coop-h{background:var(--bg3);padding:7px 10px;font-size:10px;color:var(--text-soft);border-bottom:1px solid var(--line)}
|
||||
.chatcoop-coop-highlight .chatcoop-coop-h{color:var(--gold)}
|
||||
.chatcoop-coop-body{padding:10px;font-size:10.5px;color:var(--text-soft);line-height:2}
|
||||
.chatcoop-network-footer{text-align:center;font-size:10px;color:var(--text-soft);letter-spacing:.05em}
|
||||
.chatcoop-features{padding:0;border:none}
|
||||
.chatcoop-features .ri{border-top:none;padding:12px 0}
|
||||
.chatcoop-features .ri:first-child{border-top:1px solid var(--line);padding-top:12px}
|
||||
|
||||
/* ════════════════════════════ PRICING ══════════════════════════ */
|
||||
#pricing{padding:88px 0;background:var(--bg1);border-top:1px solid var(--line)}
|
||||
.price-wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
|
||||
.price-head{padding:14px 22px;border:1px solid var(--line);border-bottom:none;border-radius:var(--r) var(--r) 0 0}
|
||||
.price-head.head-highlight{background:var(--gb);border-top:3px solid var(--gold);padding-top:11px}
|
||||
.calc-head.head-highlight{background:var(--gb);border-top:3px solid var(--gold);padding-top:11px}
|
||||
.price-rules{border:1px solid var(--line);border-radius:0 0 var(--r) var(--r);overflow:hidden}
|
||||
.pr{display:flex;justify-content:space-between;align-items:baseline;padding:13px 18px;background:var(--bg2);border-bottom:1px solid var(--line)}
|
||||
.pr:last-child{border-bottom:none}
|
||||
.pr-l{font-size:13.5px;color:var(--text)}
|
||||
.pr-v{font-family:var(--mono);font-size:11px;color:var(--fg)}
|
||||
.pr-note{padding:12px 18px;background:var(--bg3);font-size:12px;color:var(--t2);line-height:1.65}
|
||||
.calc-box{background:var(--bg2);border:1px solid var(--l2);border-radius:var(--r);overflow:hidden}
|
||||
.calc-head{padding:14px 22px;background:var(--bg3);border-bottom:1px solid var(--line)}
|
||||
.calc-body{padding:22px}
|
||||
.calc-row{display:flex;align-items:center;gap:16px;margin-bottom:16px}
|
||||
.calc-lbl{flex:1;font-size:13.5px;color:var(--text)}
|
||||
.calc-inp{width:88px;background:var(--bg);border:1px solid var(--l2);border-radius:3px;padding:8px 11px;font-family:var(--mono);font-size:12px;color:var(--fg);text-align:right;outline:none;transition:border-color .18s}
|
||||
.calc-inp:focus{border-color:rgba(13,148,136,.5)}
|
||||
.calc-div{border:none;border-top:1px solid var(--line);margin:18px 0}
|
||||
.calc-app-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--t2);margin-bottom:12px}
|
||||
.calc-app{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
|
||||
.calc-app:last-of-type{border-bottom:none}
|
||||
.calc-app label{display:flex;align-items:center;gap:10px;flex:1;cursor:pointer;font-size:13px;color:var(--text)}
|
||||
.calc-app input[type=checkbox]{width:15px;height:15px;accent-color:var(--gold);cursor:pointer;flex-shrink:0}
|
||||
.calc-app-price{font-family:var(--mono);font-size:10px;color:var(--t2)}
|
||||
.calc-result{margin-top:18px;padding:16px;background:var(--bg3);border-radius:3px;display:flex;justify-content:space-between;align-items:center}
|
||||
.cr-lbl{font-size:13px;color:var(--text)}
|
||||
.cr-bd{font-size:11px;color:var(--t2);margin-top:3px;line-height:1.6}
|
||||
.cr-total{font-family:var(--serif);font-size:34px;color:var(--gold);line-height:1;text-align:right}
|
||||
.calc-once{margin-top:8px;font-size:11.5px;color:var(--t2);line-height:1.5}
|
||||
.calc-once-highlight{color:var(--gold);font-weight:500}
|
||||
.calc-note{margin-top:10px;font-size:11.5px;color:var(--t2);line-height:1.65}
|
||||
|
||||
/* ════════════════════════════ CONNECT ═══════════════════════════ */
|
||||
#connect{padding:88px 0;border-top:1px solid var(--line)}
|
||||
.conn-top{display:grid;grid-template-columns:5fr 7fr;gap:72px;align-items:start;margin-bottom:56px}
|
||||
.price-card{background:var(--bg2);border:1px solid var(--l2);border-radius:var(--r);overflow:hidden}
|
||||
.price-card-head{padding:13px 20px;background:var(--bg3);border-bottom:1px solid var(--line)}
|
||||
.price-card-body{padding:22px 20px}
|
||||
.pc-num{font-family:var(--serif);font-size:44px;color:var(--gold);line-height:1;margin-bottom:3px}
|
||||
.pc-sub{font-size:12px;color:var(--t2);margin-bottom:20px}
|
||||
.pc-rows{display:flex;flex-direction:column;gap:0;margin-bottom:20px}
|
||||
.pc-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
|
||||
.pc-row:last-child{border-bottom:none}
|
||||
.pc-l{font-size:13px;color:var(--text)}
|
||||
.pc-v{font-family:var(--mono);font-size:11px;color:var(--fg)}
|
||||
.demo-box{margin-top:12px;padding:15px 18px;background:var(--bg3);border:1px solid var(--line);border-radius:var(--r)}
|
||||
.demo-code{font-family:var(--mono);font-size:9.5px;color:var(--gold);background:var(--bg);padding:9px 13px;border-radius:3px;line-height:1.9;margin-top:8px}
|
||||
.demo-code span{color:var(--t2)}
|
||||
.demo-cred-block{margin:16px 0 20px}
|
||||
.demo-cred-cap{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--t2);margin-bottom:8px}
|
||||
.demo-cred-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
|
||||
.demo-cred-row:last-child{margin-bottom:0}
|
||||
.demo-cred-lbl{flex-shrink:0;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--t2);width:48px}
|
||||
.demo-cred-inp{flex:1;min-width:0;font-family:var(--mono);font-size:11px;color:var(--gold);background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:8px 12px;outline:none;transition:border-color .18s}
|
||||
.demo-cred-inp:focus{border-color:var(--gc)}
|
||||
.demo-copy-btn{flex-shrink:0;font-size:11px;padding:8px 14px;background:var(--bg2);border:1px solid var(--l2);border-radius:3px;color:var(--text);cursor:pointer;transition:background .18s,border-color .18s,color .18s}
|
||||
.demo-copy-btn:hover{background:var(--bg3);border-color:var(--line);color:var(--fg)}
|
||||
.demo-copy-btn.copied{background:var(--gb);border-color:var(--gc);color:var(--gold)}
|
||||
.timeline{display:flex;flex-direction:column}
|
||||
.tl{display:grid;grid-template-columns:26px 1fr;gap:20px;align-items:start}
|
||||
.tl-left{display:flex;flex-direction:column;align-items:center;padding-top:16px}
|
||||
.tl-dot{width:11px;height:11px;border-radius:50%;border:1px solid var(--l2);background:var(--bg2);flex-shrink:0}
|
||||
.tl-dot.active{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 3px rgba(13,148,136,.18)}
|
||||
.tl-dot.special{background:transparent;border:2px solid var(--gold);box-shadow:0 0 0 3px rgba(13,148,136,.12)}
|
||||
.tl-line{width:1px;flex:1;min-height:22px;background:var(--line);margin:3px 0}
|
||||
.tl:last-child .tl-line{display:none}
|
||||
.tl-body{padding:12px 0 24px}
|
||||
.tl-step{font-family:var(--mono);font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--t2);margin-bottom:6px}
|
||||
.tl-step.gold{color:var(--gold)}
|
||||
.tl-body h4{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--fg);margin-bottom:5px;line-height:1.4}
|
||||
.tl-body p{font-size:13.5px}
|
||||
|
||||
/* ════════════════════════════ CTA ══════════════════════════════ */
|
||||
#cta{padding:100px 0;position:relative;overflow:hidden;background:var(--bg1);border-top:1px solid var(--line)}
|
||||
.cta-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60vw;height:55vh;background:radial-gradient(ellipse,rgba(13,148,136,.065) 0%,transparent 70%);pointer-events:none}
|
||||
.cta-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
|
||||
.cta-card{padding:32px;background:var(--bg2);border:1px solid var(--l2);border-radius:var(--r)}
|
||||
.cta-card-wide{grid-column:1/-1}
|
||||
.cta-card.gold{border-color:rgba(13,148,136,.35)}
|
||||
.cta-card .cap{display:block;margin-bottom:14px;font-size:9px}
|
||||
.cta-card .t3{margin-bottom:14px}
|
||||
.cta-card p{font-size:14px;color:var(--text-soft);line-height:1.75;margin-bottom:22px}
|
||||
.cta-card .btn+.btn{margin-left:8px}
|
||||
.cta-note{margin-top:14px;padding:13px 16px;background:var(--bg3);border-radius:3px;font-size:12.5px;color:var(--t2);line-height:1.65}
|
||||
|
||||
/* ════════════════════════════ FOOTER ════════════════════════════ */
|
||||
footer{padding:30px 0;border-top:1px solid var(--line)}
|
||||
.foot-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}
|
||||
.foot-brand{font-family:var(--mono);font-size:10.5px;letter-spacing:.09em}
|
||||
.foot-brand span{color:var(--t2)}
|
||||
.foot-copy{font-family:var(--mono);font-size:9px;color:var(--t2);opacity:.6;margin-top:4px}
|
||||
.foot-links{display:flex;gap:20px;flex-wrap:wrap}
|
||||
.foot-links a{font-size:12px;color:var(--t2);transition:color .18s}
|
||||
.foot-links a:hover{color:var(--fg)}
|
||||
|
||||
/* ─── responsive ─── */
|
||||
@media(max-width:900px){
|
||||
.nav-links{display:none}
|
||||
nav,#hero .W,footer .W{padding-left:20px;padding-right:20px}
|
||||
.W{padding-left:20px;padding-right:20px}
|
||||
.rc{grid-template-columns:40px 1fr;grid-template-rows:auto auto}
|
||||
.rc-body{grid-column:2}
|
||||
.reg-wrap,.split-wrap,.rep-wrap,.price-wrap,.chatcoop-grid,.cta-inner,.arch-box-inner{grid-template-columns:1fr;gap:36px}
|
||||
.chatcoop-coops{grid-template-columns:1fr}
|
||||
.db-halves{grid-template-columns:1fr}
|
||||
.db-half:first-child{border-right:none;border-bottom:1px solid var(--line)}
|
||||
.sa{grid-template-columns:1fr;gap:10px}
|
||||
.sa-st{text-align:left}
|
||||
.base-grid{grid-template-columns:1fr 1fr}
|
||||
section{padding:60px 0!important}
|
||||
#hero{padding:100px 0 60px!important}
|
||||
}
|
||||
@media(max-width:560px){
|
||||
.base-grid{grid-template-columns:1fr}
|
||||
nav{padding:0 20px}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
(function(){
|
||||
// theme: по умолчанию системная, переключение только light <-> dark
|
||||
var STORAGE_KEY = 'coop-theme';
|
||||
function getSystemTheme(){ return window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark'; }
|
||||
function getEffectiveTheme(){ return localStorage.getItem(STORAGE_KEY) || getSystemTheme(); }
|
||||
function applyTheme(t){
|
||||
var theme = t !== undefined ? t : (localStorage.getItem(STORAGE_KEY) || null);
|
||||
document.documentElement.removeAttribute('data-theme');
|
||||
if (theme) document.documentElement.setAttribute('data-theme', theme);
|
||||
var effective = theme || getSystemTheme();
|
||||
var icon = document.querySelector('#theme-toggle .theme-icon');
|
||||
if (icon) {
|
||||
icon.className = 'theme-icon theme-icon-' + effective;
|
||||
icon.closest('button').setAttribute('title', effective === 'light' ? 'Тема: светлая' : 'Тема: тёмная');
|
||||
}
|
||||
}
|
||||
function cycleTheme(){
|
||||
var current = getEffectiveTheme();
|
||||
var next = current === 'light' ? 'dark' : 'light';
|
||||
localStorage.setItem(STORAGE_KEY, next);
|
||||
applyTheme(next);
|
||||
}
|
||||
var toggle = document.getElementById('theme-toggle');
|
||||
if (toggle) toggle.addEventListener('click', cycleTheme);
|
||||
applyTheme();
|
||||
window.matchMedia('(prefers-color-scheme: light)').addEventListener('change', function(){ if (!localStorage.getItem(STORAGE_KEY)) applyTheme(); });
|
||||
|
||||
// reveal
|
||||
function rv(){
|
||||
document.querySelectorAll('.r:not(.v)').forEach(function(el){
|
||||
if(el.getBoundingClientRect().top < window.innerHeight - 44) el.classList.add('v');
|
||||
});
|
||||
}
|
||||
window.addEventListener('scroll', rv, {passive:true});
|
||||
rv();
|
||||
|
||||
// nav
|
||||
var nav = document.getElementById('nav');
|
||||
if (nav) {
|
||||
window.addEventListener('scroll', function(){
|
||||
nav.classList.toggle('scrolled', window.scrollY > 20);
|
||||
}, {passive:true});
|
||||
}
|
||||
|
||||
// smooth scroll
|
||||
document.querySelectorAll('a[href^="#"]').forEach(function(a){
|
||||
a.addEventListener('click', function(e){
|
||||
var t = document.querySelector(a.getAttribute('href'));
|
||||
if(t){ e.preventDefault(); t.scrollIntoView({behavior:'smooth'}); }
|
||||
});
|
||||
});
|
||||
|
||||
// calculator
|
||||
var BASE=3500, UNION_MONTHLY=1000, IQ_M=50, IQ_D=50, PR_M=20, PR_D=10;
|
||||
function calc(){
|
||||
var cm = document.getElementById('cm');
|
||||
var cd = document.getElementById('cd');
|
||||
if (!cm || !cd) return;
|
||||
var m = Math.max(0, parseInt(cm.value)||0);
|
||||
var d = Math.max(0, parseInt(cd.value)||0);
|
||||
var union = UNION_MONTHLY;
|
||||
var eM = Math.max(0, m - IQ_M) * PR_M;
|
||||
var eD = Math.max(0, d - IQ_D) * PR_D;
|
||||
var total = Math.max(BASE, BASE + eM + eD) + union;
|
||||
var bd = ['базовый пакет ' + BASE.toLocaleString('ru') + ' ₽'];
|
||||
if(union > 0) bd.push('+ ' + union.toLocaleString('ru') + ' ₽ членство в союзе');
|
||||
if(eM > 0) bd.push('+' + eM + ' ₽ новые пайщики');
|
||||
if(eD > 0) bd.push('+' + eD + ' ₽ пакеты документов');
|
||||
var totalEl = document.getElementById('calc-total');
|
||||
var bdEl = document.getElementById('calc-bd');
|
||||
if (totalEl) totalEl.textContent = total.toLocaleString('ru') + ' ₽';
|
||||
if (bdEl) bdEl.innerHTML = bd.join('<br>');
|
||||
}
|
||||
var cmEl = document.getElementById('cm');
|
||||
var cdEl = document.getElementById('cd');
|
||||
if (cmEl) cmEl.addEventListener('input', calc);
|
||||
if (cdEl) cdEl.addEventListener('input', calc);
|
||||
calc();
|
||||
|
||||
// demo copy buttons
|
||||
document.querySelectorAll('.demo-copy-btn').forEach(function(btn){
|
||||
btn.addEventListener('click', function(){
|
||||
var val = btn.getAttribute('data-copy') || btn.previousElementSibling?.value || '';
|
||||
if (!val) return;
|
||||
navigator.clipboard.writeText(val).then(function(){
|
||||
var t = btn.textContent;
|
||||
btn.textContent = 'Скопировано';
|
||||
btn.classList.add('copied');
|
||||
setTimeout(function(){ btn.textContent = t; btn.classList.remove('copied'); }, 1500);
|
||||
});
|
||||
});
|
||||
});
|
||||
})();
|
||||
@@ -0,0 +1,32 @@
|
||||
<section id="base">
|
||||
<div class="W">
|
||||
<div class="r">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Базовая поставка</span>
|
||||
<h2 class="t2" style="margin-bottom:14px">Включено в каждый<br><em>кооператив</em></h2>
|
||||
<p style="max-width:600px;font-size:15px;color:var(--text-soft);line-height:1.8">Четыре приложения в комплекте — достаточно для ведения полноценной кооперативной деятельности. Дополнительные подключаются из каталога.</p>
|
||||
</div>
|
||||
|
||||
<div class="base-grid">
|
||||
<div class="ba r d1">
|
||||
<div class="ba-num">БАЗОВОЕ / 01</div>
|
||||
<h4>Регистрация пайщиков</h4>
|
||||
<p>Удалённое вступление онлайн, выдача электронной подписи, ведение электронного реестра пайщиков. Физлица, ИП, организации. Импорт офлайн-пайщиков в систему.</p>
|
||||
</div>
|
||||
<div class="ba r d2">
|
||||
<div class="ba-num">БАЗОВОЕ / 02</div>
|
||||
<h4>Решения совета</h4>
|
||||
<p>Автоматическое объявление собрания совета по стандартным вопросам. Ручное объявление собрания по произвольным вопросам. Голосование онлайн. Протокол формируется автоматически — без бумаги.</p>
|
||||
</div>
|
||||
<div class="ba r d2">
|
||||
<div class="ba-num">БАЗОВОЕ / 03</div>
|
||||
<h4>Общие собрания</h4>
|
||||
<p>Очередные и внеочередные общие собрания пайщиков. Рассылка уведомлений, сбор подписей и голосов, формирование протокола за подписью председателя и секретаря собрания. Собрания переобъявляются до принятия решения по кворуму. </p>
|
||||
</div>
|
||||
<div class="ba r d3">
|
||||
<div class="ba-num">БАЗОВОЕ / 04</div>
|
||||
<h4>Цифровой кошелёк</h4>
|
||||
<p>Лицевой счёт пайщика и кооператива. Учёт взносов, возвратов и балансов по всем программам. Приём платежей через ЮКасса или банковским переводом по QR-коду.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,100 @@
|
||||
<section id="chatcoop">
|
||||
<div class="W">
|
||||
<div class="chatcoop-grid">
|
||||
|
||||
<div class="r">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Кооперативный мессенджер</span>
|
||||
<h2 class="t2" style="margin-bottom:20px">Op!Coop —<br>связь <em>внутри<br>и между</em></h2>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8">
|
||||
Op!Coop — кооперативный мессенджер для пайщиков и советов кооперативов. Каждый подключённый кооператив получает собственное закрытое пространство: чаты совета и пайщиков с возможностью проводить собрания.
|
||||
</p>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8;margin-top:12px">
|
||||
Все кооперативы объединены в общей коммуникационной сети — для обмена опытом, совместных инициатив и решения вопросов роста кооперативной экономики.
|
||||
</p>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8;margin-top:12px">
|
||||
Op!Coop устанавливается из каталога приложений — как любое другое приложение платформы.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="r d2">
|
||||
|
||||
<!-- Сетевая схема -->
|
||||
<div class="chatcoop-network">
|
||||
|
||||
<!-- Общая сеть -->
|
||||
<div class="chatcoop-network-top">
|
||||
<div class="chatcoop-network-badge">
|
||||
<span>🌐</span>
|
||||
<span>Сеть кооперативной связи</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Три кооператива -->
|
||||
<div class="chatcoop-coops">
|
||||
<div class="chatcoop-coop">
|
||||
<div class="chatcoop-coop-h">Кооператив А</div>
|
||||
<div class="chatcoop-coop-body">
|
||||
<div>👥 Совет</div>
|
||||
<div>💬 Пайщики</div>
|
||||
<div>📋 Собрания</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="chatcoop-coop chatcoop-coop-highlight">
|
||||
<div class="chatcoop-coop-h">Ваш кооператив</div>
|
||||
<div class="chatcoop-coop-body">
|
||||
<div>👥 Совет</div>
|
||||
<div>💬 Пайщики</div>
|
||||
<div>📋 Собрания</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="chatcoop-coop">
|
||||
<div class="chatcoop-coop-h">Кооператив Б</div>
|
||||
<div class="chatcoop-coop-body">
|
||||
<div>👥 Совет</div>
|
||||
<div>💬 Пайщики</div>
|
||||
<div>📋 Собрания</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="chatcoop-network-footer">
|
||||
Закрытые пространства кооперативов · Открытые каналы связи между кооперативами
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Возможности -->
|
||||
<div class="reg-items chatcoop-features" style="gap:10px;">
|
||||
<div class="ri">
|
||||
<div class="ri-icon">👥</div>
|
||||
<div>
|
||||
<div class="ri-name">Чат совета</div>
|
||||
<div class="ri-desc">Закрытое пространство для совета кооператива.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ri">
|
||||
<div class="ri-icon">💬</div>
|
||||
<div>
|
||||
<div class="ri-name">Чат пайщиков</div>
|
||||
<div class="ri-desc">Закрытое пространство для пайщиков кооператива.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ri">
|
||||
<div class="ri-icon">📋</div>
|
||||
<div>
|
||||
<div class="ri-name">Собрания в чате</div>
|
||||
<div class="ri-desc">Звонки с автотранскрипцией и разбивкой по спикерам.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ri">
|
||||
<div class="ri-icon">🌐</div>
|
||||
<div>
|
||||
<div class="ri-name">Сеть кооперативной связи</div>
|
||||
<div class="ri-desc">Общие каналы связи между кооперативами.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,94 @@
|
||||
<section id="connect">
|
||||
<div class="W">
|
||||
|
||||
<div class="r" style="margin-bottom:40px;">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Поставка и подключение</span>
|
||||
<h2 class="t2" style="margin-bottom:20px">Открытый код —<br>облачная поставка —<br><em>24 часа</em></h2>
|
||||
<p style="max-width:580px;font-size:15px;color:var(--text-soft);line-height:1.8">
|
||||
Платформа распространяется с открытым исходным кодом. Подключение — полностью онлайн: никаких визитов в офис, никаких технических специалистов на вашей стороне. После оплаты система разворачивается автоматически и через 24 часа готова к работе на вашем домене.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- TIMELINE -->
|
||||
<div class="r d2">
|
||||
<span class="cap" style="display:block;margin-bottom:24px">Шаги подключения</span>
|
||||
<div class="timeline">
|
||||
|
||||
<div class="tl">
|
||||
<div class="tl-left">
|
||||
<div class="tl-dot active"></div>
|
||||
<div class="tl-line"></div>
|
||||
</div>
|
||||
<div class="tl-body">
|
||||
<div class="tl-step">01</div>
|
||||
<h4>Вступление в ПК «ВОСХОД»</h4>
|
||||
<p>Ваш кооператив вступает в ПК «ВОСХОД» — оператора платформы — как юридическое лицо. Заявление заполняется онлайн, соглашение о подключении подписывается электронной подписью. Там же указывается домен, на котором будет развёрнута система. </p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tl">
|
||||
<div class="tl-left">
|
||||
<div class="tl-dot"></div>
|
||||
<div class="tl-line"></div>
|
||||
</div>
|
||||
<div class="tl-body">
|
||||
<div class="tl-step">02</div>
|
||||
<h4>Делегирование домена</h4>
|
||||
<p>После подтверждения заявки система выдаёт адрес для делегирования. Вы указываете его у своего регистратора домена — по пошаговой инструкции, без технических знаний. Занимает несколько минут.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tl">
|
||||
<div class="tl-left">
|
||||
<div class="tl-dot"></div>
|
||||
<div class="tl-line"></div>
|
||||
</div>
|
||||
<div class="tl-body">
|
||||
<div class="tl-step">03 · <span style="color:var(--gold)">≤ 24 часа</span></div>
|
||||
<h4>Автоматическая поставка</h4>
|
||||
<p>Платформа разворачивается на наших серверах автоматически — без вашего участия. В результате вы получаете полностью рабочую систему: блокчейн-ноду, веб-интерфейс и мобильное приложение для пайщиков, доступные на вашем домене.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tl">
|
||||
<div class="tl-left">
|
||||
<div class="tl-dot"></div>
|
||||
<div class="tl-line"></div>
|
||||
</div>
|
||||
<div class="tl-body">
|
||||
<div class="tl-step">04</div>
|
||||
<h4>Инициализация совета</h4>
|
||||
<p>Председатель совета проходит первоначальную настройку через интерфейс системы: приглашает членов совета и настраивает внешний вид цифрового кооператива для пайщиков. Всё пошагово, без технических знаний.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tl">
|
||||
<div class="tl-left">
|
||||
<div class="tl-dot"></div>
|
||||
<div class="tl-line"></div>
|
||||
</div>
|
||||
<div class="tl-body">
|
||||
<div class="tl-step gold">05 · 30 дней</div>
|
||||
<h4>Период адаптации</h4>
|
||||
<p>После запуска у кооператива есть 30 дней, чтобы адаптировать базовый документооборот к работе в системе. Для этого будут предоставлены шаблоны решений совета, которые будет предложено принять. Все действующие пайщики приглашаются к получению электронных подписей через импорт.</p>
|
||||
<p>В кооперативном мессенджере Op!Coop вам будет назначен представитель союза — он поможет адаптировать имеющийся базовый документооборот и определить порядок членства в союзе. По истечении периода адаптации кооператив полностью переходит на цифровой документооборот.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tl">
|
||||
<div class="tl-left">
|
||||
<div class="tl-dot special"></div>
|
||||
</div>
|
||||
<div class="tl-body">
|
||||
<div class="tl-step">06</div>
|
||||
<h4>Ежемесячный членский взнос</h4>
|
||||
<p>Начиная со второго месяца — оплата по факту использования, но не менее 4 500 ₽ в месяц. В базовый пакет входит до 50 новых пайщиков и до 50 пакетов документов ежемесячно. Дополнительные приложения из каталога тарифицируются отдельно.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,42 @@
|
||||
<section id="cta">
|
||||
<div class="cta-glow"></div>
|
||||
<div class="W">
|
||||
<div class="cta-inner">
|
||||
|
||||
<div class="cta-card gold r">
|
||||
<span class="cap cap-gold" style="font-size:9px">Для кооперативов</span>
|
||||
<h3 class="t3">Подключите<br>свой кооператив</h3>
|
||||
<p>Система разворачивается за 24 часа. Все подключённые кооперативы получают обновления ПО автоматически по мере выхода релизов.</p>
|
||||
<a href="https://лк.цифровой-кооператив.рф" target="_blank" class="btn btn-g">Подключиться →</a>
|
||||
<a href="https://docs.coopenomics.world" target="_blank" class="btn btn-o">Документация</a>
|
||||
</div>
|
||||
|
||||
<div class="cta-card r d2">
|
||||
<span class="cap" style="font-size:9px">Посмотреть изнутри</span>
|
||||
<h3 class="t3">Демо-доступ</h3>
|
||||
<p>Перейдите по ссылке на публичную тестовую сеть и воспользуйтесь почтой-ключом для просмотра демо.</p>
|
||||
<div class="demo-cred-block">
|
||||
<div class="demo-cred-row">
|
||||
<label class="demo-cred-lbl">Почта</label>
|
||||
<input type="text" class="demo-cred-inp" value="chairman@example.com" readonly>
|
||||
<button type="button" class="demo-copy-btn" data-copy="chairman@example.com" title="Копировать">Копировать</button>
|
||||
</div>
|
||||
<div class="demo-cred-row">
|
||||
<label class="demo-cred-lbl">Ключ</label>
|
||||
<input type="text" class="demo-cred-inp" value="5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" readonly>
|
||||
<button type="button" class="demo-copy-btn" data-copy="5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3" title="Копировать">Копировать</button>
|
||||
</div>
|
||||
</div>
|
||||
<a href="https://testnet.coopenomics.world" target="_blank" class="btn btn-g">Открыть демо →</a>
|
||||
</div>
|
||||
|
||||
<div class="cta-card r d3 cta-card-wide">
|
||||
<span class="cap" style="font-size:9px">Для пайщиков</span>
|
||||
<h3 class="t3">Участвуйте<br>в создании платформы</h3>
|
||||
<p>Система находится в активной разработке. Вы можете принять участие, инвестиров время или деньги через Благорост. Все участники получают долю в объекте авторских прав пропорционально вкладу и получают возвраты от членских взносов кооперативов-пользователей.</p>
|
||||
<a href="https://благорост.цифровой-кооператив.рф" target="_blank" class="btn btn-g">Узнать о Благоросте →</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,117 @@
|
||||
<section id="docsplit">
|
||||
<div class="W">
|
||||
<div class="split-wrap">
|
||||
|
||||
<div class="r">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Как формируется документ</span>
|
||||
<h2 class="t2" style="margin-bottom:18px">Кнопка —<br><em>первичный документ</em></h2>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8">
|
||||
Каждое действие в кооперативе — вступление, взнос, заказ, голосование — это шаг в юридически значимом процессе. Алгоритм каждого процесса закреплён в смарт-контракте в блокчейне: он определяет, кто действует, в каком порядке и какой документ при этом создаётся.
|
||||
</p>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8;margin-top:12px">
|
||||
Документы не генерируются разом — они появляются по одному, в момент, когда конкретный участник нажимает свою кнопку. Пайщик подаёт заявление — создаётся заявление. Члены совета голосуют и принимают решение — создаётся протокол. Так шаг за шагом процесс наполняется документами. Каждый подписывает своей электронной подписью, ключ хранится на его устройстве.
|
||||
</p>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8;margin-top:12px">
|
||||
Когда процесс завершён, все документы по нему хранятся в реестре как единый комплект — пакет. Криптографический отпечаток каждого документа зафиксирован в блокчейне: подлинность можно подтвердить в любой момент без нотариуса.
|
||||
</p>
|
||||
|
||||
<div class="steps">
|
||||
<div class="step">
|
||||
<div class="step-spine"><div class="sn">01</div><div class="sl"></div></div>
|
||||
<div class="sb">
|
||||
<h4>Пайщик совершает действие</h4>
|
||||
<p>Нажимает кнопку — система создаёт документ по шаблону смарт-контракта и предлагает подписать его электронной подписью.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step">
|
||||
<div class="step-spine"><div class="sn">02</div><div class="sl"></div></div>
|
||||
<div class="sb">
|
||||
<h4>Совет рассматривает и отвечает</h4>
|
||||
<p>Члены совета видят событие в повестке, голосуют и принимают решение. В этот момент создаётся и подписывается следующий документ — протокол.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step">
|
||||
<div class="step-spine"><div class="sn">03</div><div class="sl"></div></div>
|
||||
<div class="sb">
|
||||
<h4>Каждый шаг — отдельный документ</h4>
|
||||
<p>Алгоритм процесса задан смарт-контрактом. Документы появляются по одному, в нужный момент, у нужного участника.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step">
|
||||
<div class="step-spine"><div class="sn">04</div><div class="sl"></div></div>
|
||||
<div class="sb">
|
||||
<h4>Документ делится на две части</h4>
|
||||
<p>Приватные данные — только на сервере кооператива. В блокчейн уходит только анонимный хэш для верификации.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step done">
|
||||
<div class="step-spine"><div class="sn">✓</div></div>
|
||||
<div class="sb">
|
||||
<h4>Процесс завершён — пакет в реестре</h4>
|
||||
<p>Все документы и цифровые подписи участников процесса собраны в реестре. Кошельки обновлены. Правила стандартов кооперации выполнены.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="r d2">
|
||||
|
||||
<!-- ── Визуальная схема разделения документа ── -->
|
||||
<div class="doc-split-schema">
|
||||
<div class="doc-split-top">
|
||||
<div class="doc-split-file">
|
||||
<span>📄</span>
|
||||
<span>document.pdf</span>
|
||||
<span class="doc-split-signed">✓ ЭП пайщика</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="doc-split-divider">
|
||||
<div class="doc-split-line"></div>
|
||||
<div class="doc-split-label">состоит из двух частей</div>
|
||||
<div class="doc-split-line"></div>
|
||||
</div>
|
||||
|
||||
<div class="db-halves">
|
||||
<div class="db-half">
|
||||
<div class="db-hh">🔒 Реестр документов</div>
|
||||
<div class="db-hh-note">Приватно · ваш сервер</div>
|
||||
<div class="db-row"><span class="dk">ФИО</span><span class="dv dim">Иванов Иван И.</span></div>
|
||||
<div class="db-row"><span class="dk">Email</span><span class="dv dim">ivan@example.com</span></div>
|
||||
<div class="db-row"><span class="dk">Телефон</span><span class="dv dim">+7 910 ███-██</span></div>
|
||||
<div class="db-row"><span class="dk">Документ</span><span class="dv dim">document.pdf</span></div>
|
||||
</div>
|
||||
<div class="db-half">
|
||||
<div class="db-hh pub">⛓ Распределённый реестр</div>
|
||||
<div class="db-hh-note">Публично · блокчейн</div>
|
||||
<div class="db-row"><span class="dk">Аккаунт</span><span class="dv hash">ivanov12345</span></div>
|
||||
<div class="db-row"><span class="dk">Сумма</span><span class="dv">5 000 ₽</span></div>
|
||||
<div class="db-row"><span class="dk">SHA-256</span><span class="dv hash">a1b2c3…</span></div>
|
||||
<div class="db-row"><span class="dk">Подпись</span><span class="dv ok">✓ верифицирована</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="db-note doc-split-desc">
|
||||
Публичные данные хранятся в блокчейне анонимизированно, приватные — в базе данных кооператива. Всем доступна информация о факте действия, но только кооперативу — кем конкретно это действие произведено.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ── Что такое пакет документов ── -->
|
||||
<div class="doc-packet-box">
|
||||
<span class="cap" style="display:block;margin-bottom:10px;font-size:9px">Пакет документов</span>
|
||||
<p style="font-size:13px;color:var(--text-soft);line-height:1.8;margin-bottom:14px">
|
||||
Пакет — это не моментальная выгрузка, а итог процесса. Возьмём вступление нового пайщика: сначала пайщик подаёт заявление и подписывает его — появляется первый документ. Затем совет рассматривает заявку, голосует и принимает решение — появляется второй. Когда все шаги пройдены, процесс закрыт, а его документы хранятся в реестре как единый пакет. Взнос, заказ, возврат — у каждого сценария свой алгоритм и свой пакет.
|
||||
</p>
|
||||
<div class="doc-packet-event">Пример: <strong>Вступление пайщика</strong></div>
|
||||
<div class="doc-packet-arr">↓</div>
|
||||
<div class="doc-packet-list">
|
||||
<div class="doc-packet-item"><span>📄</span> Заявление о вступлении <span style="font-size:10px;color:var(--text-soft);">— подписывает пайщик</span></div>
|
||||
<div class="doc-packet-item"><span>📄</span> Протокол решения совета <span style="font-size:10px;color:var(--text-soft);">— подписывает председатель</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,16 @@
|
||||
<footer>
|
||||
<div class="W">
|
||||
<div class="foot-row">
|
||||
<div>
|
||||
<div class="foot-brand">ЦИФРОВОЙ КООПЕРАТИВ <span>/ ПК «ВОСХОД»</span></div>
|
||||
<div class="foot-copy">© 2024–2026 Потребительский кооператив «ВОСХОД» · ФЗ № 3085-1</div>
|
||||
</div>
|
||||
<div class="foot-links">
|
||||
<a href="https://coopenomics.world" target="_blank">Кооперативная Экономика</a>
|
||||
<a href="https://blagorost.xn--e1agalmj7b.xn--e1afmapc.xn--p1ai" target="_blank">Благорост</a>
|
||||
<a href="https://blog.coopenomics.world" target="_blank">Блог</a>
|
||||
<a href="https://docs.coopenomics.world" target="_blank">Документация</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
@@ -0,0 +1,19 @@
|
||||
<section id="hero">
|
||||
<div class="hero-glow"></div>
|
||||
<div class="W">
|
||||
<div class="hero-pill r">
|
||||
Система управления ресурсами кооператива
|
||||
</div>
|
||||
|
||||
<h1 class="t1 hero-h1 r d2">
|
||||
Управление <br>кооперативом —<br> <em>онлайн</em>
|
||||
</h1>
|
||||
<p class="hero-p r d3">
|
||||
Регистрация пайщиков, реестры, Решения совета и общие собрания — всё онлайн. Цифровой Кооператив формирует полный пакет юридически значимых документов автоматически, при нажатии кнопок.
|
||||
</p>
|
||||
<div class="hero-btns r d4">
|
||||
<a href="#connect" class="btn btn-g">Подключить кооператив</a>
|
||||
<a href="#ready" class="btn btn-o">Возможности →</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,21 @@
|
||||
<nav id="nav">
|
||||
<div class="nav-logo">
|
||||
<img src="src/assets/logo.svg" alt="Цифровой Кооператив" class="nav-logo-img">
|
||||
<span class="n-brand">Цифровой Кооператив</span>
|
||||
</div>
|
||||
<div class="nav-links">
|
||||
<!-- <a href="#ready">Возможности</a>
|
||||
<a href="#base">Приложения</a>
|
||||
<a href="#reporting">Отчётность</a>
|
||||
<a href="#chatcoop">ChatCoop</a>
|
||||
<a href="#pricing">Стоимость</a>
|
||||
<a href="#connect">Подключение</a>
|
||||
<a href="https://docs.coopenomics.world" target="_blank">Документация</a> -->
|
||||
</div>
|
||||
<div class="nav-right">
|
||||
<button type="button" id="theme-toggle" class="nav-theme-btn" aria-label="Переключить тему" title="Тема: системная">
|
||||
<span class="theme-icon theme-icon-system" aria-hidden="true"></span>
|
||||
</button>
|
||||
<a href="#connect" class="nav-cta">Подключиться →</a>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -0,0 +1,121 @@
|
||||
<section id="pricing">
|
||||
<div class="W">
|
||||
<div class="r" style="margin-bottom:48px">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Стоимость и подключение</span>
|
||||
<h2 class="t2" style="margin-bottom:14px">Платите за то,<br><em>чем пользуетесь</em></h2>
|
||||
<p style="max-width:560px;font-size:15px;color:var(--text-soft);line-height:1.8">Базовый пакет включает квоту на новых пайщиков и пакеты документов в месяц. При превышении — расход по факту. Дополнительные приложения из магазина тарифицируются отдельно.</p>
|
||||
</div>
|
||||
|
||||
<div class="price-wrap">
|
||||
<div class="r">
|
||||
<div class="price-head head-highlight">
|
||||
<span class="cap" >Тариф "Базовый"</span>
|
||||
</div>
|
||||
<div class="price-rules">
|
||||
<div class="pr">
|
||||
<span class="pr-l">Вступление в ПК «ВОСХОД»</span>
|
||||
<span class="pr-v">4 000 ₽</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Вступительный взнос в союз</span>
|
||||
<span class="pr-v">1 500 ₽</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Членский взнос в союз</span>
|
||||
<span class="pr-v">1 000 ₽/мес</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Минимальный ежемесячный взнос</span>
|
||||
<span class="pr-v">3 500 ₽</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Новых пайщиков в месяц включено</span>
|
||||
<span class="pr-v">50 чел.</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Пакетов документов в месяц включено</span>
|
||||
<span class="pr-v">50 пакетов</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Сверх квоты — новый пайщик</span>
|
||||
<span class="pr-v">20 ₽</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Сверх квоты — один пакет документов</span>
|
||||
<span class="pr-v">10 ₽</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Хостинг на серверах ПК «ВОСХОД»</span>
|
||||
<span class="pr-v">включён</span>
|
||||
</div>
|
||||
<div class="pr">
|
||||
<span class="pr-l">Приложения из каталога</span>
|
||||
<span class="pr-v">по тарифу приложения</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pr-note">Оплата за нового пайщика — единовременная, не ежемесячная. Стоимость пакетов документов — по факту, но не менее 4 500 ₽/мес. Членство в союзах может влиять на условия. Точная стоимость каждого пакета документов определяется блокчейн-протоколом на основе количества обработанной, переданной и хранимой информации в пакете (может отличаться как в большую так и меньшую сторону).</div>
|
||||
</div>
|
||||
|
||||
<div class="r d2">
|
||||
<div class="calc-box">
|
||||
<div class="calc-head head-highlight">
|
||||
<span class="cap">Калькулятор стоимости</span>
|
||||
</div>
|
||||
<div class="calc-body">
|
||||
<div class="calc-row">
|
||||
<span class="calc-lbl">Новых пайщиков в этом месяце</span>
|
||||
<input class="calc-inp" type="number" id="cm" value="50" min="0">
|
||||
</div>
|
||||
<div class="calc-row">
|
||||
<span class="calc-lbl">Пакетов документов в месяц</span>
|
||||
<input class="calc-inp" type="number" id="cd" value="50" min="0">
|
||||
</div>
|
||||
<div class="calc-row">
|
||||
<span class="calc-lbl">Членский взнос в союз</span>
|
||||
<span class="calc-app-price">1 000 ₽/мес</span>
|
||||
</div>
|
||||
<hr class="calc-div">
|
||||
<div class="calc-app-lbl">Приложения из каталога</div>
|
||||
<div class="calc-app">
|
||||
<label>
|
||||
<input type="checkbox" id="a1" checked disabled>
|
||||
Регистрация пайщиков <span style="color:var(--t2);font-size:12px">(базовое)</span>
|
||||
</label>
|
||||
<span class="calc-app-price">включено</span>
|
||||
</div>
|
||||
<div class="calc-app">
|
||||
<label>
|
||||
<input type="checkbox" id="a2" checked disabled>
|
||||
Решения совета <span style="color:var(--t2);font-size:12px">(базовое)</span>
|
||||
</label>
|
||||
<span class="calc-app-price">включено</span>
|
||||
</div>
|
||||
<div class="calc-app">
|
||||
<label>
|
||||
<input type="checkbox" id="a3" checked disabled>
|
||||
Общие собрания <span style="color:var(--t2);font-size:12px">(базовое)</span>
|
||||
</label>
|
||||
<span class="calc-app-price">включено</span>
|
||||
</div>
|
||||
<div class="calc-app">
|
||||
<label>
|
||||
<input type="checkbox" id="a4" checked disabled>
|
||||
Цифровой кошелёк <span style="color:var(--t2);font-size:12px">(базовое)</span>
|
||||
</label>
|
||||
<span class="calc-app-price">включено</span>
|
||||
</div>
|
||||
<div class="calc-result">
|
||||
<div>
|
||||
<div class="cr-lbl">Итого в месяц</div>
|
||||
<div class="cr-bd" id="calc-bd">базовый пакет 3 500 ₽</div>
|
||||
</div>
|
||||
<div class="cr-total" id="calc-total">3 500 ₽</div>
|
||||
</div>
|
||||
<div class="calc-once calc-once-highlight" id="calc-once">При подключении: +5 500 ₽</div>
|
||||
<div class="calc-note">Стоимость за новых пайщиков сверх квоты — разовая, не ежемесячная. Новые приложения из каталога тарифицируются по тарифу приложения.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,42 @@
|
||||
<section id="ready">
|
||||
<div class="W">
|
||||
<div class="r">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Уже в работе</span>
|
||||
<h2 class="t2">Основные возможности,<br>доступные <em>сейчас</em></h2>
|
||||
</div>
|
||||
|
||||
<div class="ready-grid">
|
||||
|
||||
<div class="rc r d1">
|
||||
<div class="rc-n">01</div>
|
||||
<div class="rc-title">
|
||||
<h3>Удалённая регистрация пайщиков</h3>
|
||||
</div>
|
||||
<div class="rc-body">
|
||||
<p>Вступить в кооператив так же просто, как зарегистрироваться на сайте. При регистрации система создаёт электронную подпись пайщика на его устройстве — ключ хранится у него, не у вас. Принимаются физлица, ИП и организации. Действующих пайщиков, вступавших офлайн, можно пригласить в систему отдельно.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rc r d2">
|
||||
<div class="rc-n">02</div>
|
||||
<div class="rc-title">
|
||||
<h3>Решения совета кооператива</h3>
|
||||
</div>
|
||||
<div class="rc-body">
|
||||
<p>Повестка формируется автоматически по событиям системы — новая заявка на вступление, взнос, запрос приложения. Члены совета голосуют онлайн. Протокол генерируется, подписывается председателем электронной подписью и сохраняется в реестре. При необходимости решение исполняется системой.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="rc r d3">
|
||||
<div class="rc-n">03</div>
|
||||
<div class="rc-title">
|
||||
<h3>Общие собрания пайщиков</h3>
|
||||
</div>
|
||||
<div class="rc-body">
|
||||
<p>Очередные и внеочередные собрания — в дистанционном формате. Система рассылает уведомления, собирает голоса по каждому вопросу повестки. Председатель и секретарь подписывают протокол электронной подписью. Все решения хранятся в реестре документов.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,86 @@
|
||||
<section id="registries">
|
||||
<div class="W">
|
||||
<div class="reg-wrap">
|
||||
|
||||
<div class="r">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Реестры и кошельки</span>
|
||||
<h2 class="t2" style="margin-bottom:20px">Все данные —<br>в <em>реестрах</em></h2>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8">Каждое событие кооператива фиксируется в соответствующем реестре. Пайщики, платежи, документы и фонды находятся в одной системе с разграничением прав доступа.</p>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8;margin-top:12px">Документы хранятся в реестре в формате PDF, подписываются и могут быть предъявлены при аудите, в суде или налоговой. Блокчейн используется только для фиксации криптографического доказательства неизменности документа.</p>
|
||||
</div>
|
||||
|
||||
<div class="reg-items r d2">
|
||||
<div class="ri">
|
||||
<div class="ri-icon">👥</div>
|
||||
<div>
|
||||
<div class="ri-name">Реестр пайщиков</div>
|
||||
<div class="ri-desc">Все участники с историей действий, статусами и документами. Поиск по ФИО, ИНН, ОГРН и наименованию организации.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ri">
|
||||
<div class="ri-icon">💳</div>
|
||||
<div>
|
||||
<div class="ri-name">Реестр платежей</div>
|
||||
<div class="ri-desc">История всех взносов и возвратов. Поддерживается ручное подтверждение операций или автоматическая обработка через платёжные шлюзы.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ri">
|
||||
<div class="ri-icon">📄</div>
|
||||
<div>
|
||||
<div class="ri-name">Реестр документов</div>
|
||||
<div class="ri-desc">Все созданные документы кооператива. Полнотекстовый поиск, проверка цифровой подписи и скачивание PDF. Каждый пайщик видит только свои документы.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ri">
|
||||
<div class="ri-icon">💼</div>
|
||||
<div>
|
||||
<div class="ri-name">Реестр кошельков</div>
|
||||
<div class="ri-desc">Учёт движения средств кооператива и пайщиков. Балансы изменяются только через действия смарт-контрактов.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ri ri-key">
|
||||
<div class="ri-icon">⛓</div>
|
||||
<div>
|
||||
<div class="ri-name">Распределённый реестр</div>
|
||||
<div class="ri-desc">Блокчейн фиксирует криптографический хэш документов и юридически значимых действий. Это позволяет подтвердить подлинность документа без раскрытия персональных данных.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="arch-box arch-box-full r d2">
|
||||
<div class="arch-box-inner">
|
||||
<div class="flow-vertical">
|
||||
<span class="fs-node plain">Рабочий стол</span>
|
||||
<span class="fs-arr-v">↓</span>
|
||||
<span class="fs-node plain">Документ (PDF)</span>
|
||||
<span class="fs-arr-v">↓</span>
|
||||
<span class="fs-node plain">Электронная Подпись</span>
|
||||
<span class="fs-arr-v">↓</span>
|
||||
<span class="fs-node key">Действие смарт-контракта</span>
|
||||
<span class="fs-arr-v">↓</span>
|
||||
<span class="fs-node plain">Хэш документа</span>
|
||||
<span class="fs-arr-v">↓</span>
|
||||
<span class="fs-node chain">Блокчейн</span>
|
||||
</div>
|
||||
<div class="arch-box-text">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Архитектурное ядро</span>
|
||||
<h2 class="t3" style="margin-bottom:18px">Стандарты кооперации —<br><em>в смарт-контрактах</em></h2>
|
||||
<p>
|
||||
Все ключевые действия в системе выполняются по алгоритмам смарт-контрактов. Пользователь нажимает кнопку в интерфейсе, а система создаёт PDF-документ для электронной подписью. После этого система вычисляет криптографический хэш документа и передаёт его в действие смарт-контракта.
|
||||
</p>
|
||||
<p style="margin-top:10px">
|
||||
Смарт-контракт фиксирует хэш документа в блокчейне как часть транзакции бизнес-процесса. Транзакция выполняется только при соблюдении заданных условий, поэтому запись в блокчейне подтверждает, что конкретный документ участвовал в этом действии. Сам PDF хранится в реестре документов кооператива, а блокчейн содержит лишь криптографический отпечаток и факт исполнения операции.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,37 @@
|
||||
<section id="reporting">
|
||||
<div class="W">
|
||||
<div class="rep-wrap">
|
||||
|
||||
<div class="r">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Учёт и отчётность</span>
|
||||
<h2 class="t2" style="margin-bottom:20px">Первичные документы —<br>основа для <em>отчётности</em></h2>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8">Все документы, формируемые системой, являются первичными учётными документами. На их основе строится отчётность для ФНС и ФСС.</p>
|
||||
<p style="font-size:15px;color:var(--text-soft);line-height:1.8;margin-top:12px">Система автоматически формирует отчетные документы в форматах контролирующих органов. Кооперативы получают готовые отчеты для импорта в 1С и/или отправки их в электронном виде.</p>
|
||||
</div>
|
||||
|
||||
<div class="rep-cards r d2">
|
||||
<div class="rep-card">
|
||||
<span class="cap cap-gold" style="display:block;margin-bottom:8px;font-size:9px">В разработке</span>
|
||||
<h4>Отчёты для ФНС и ФСС</h4>
|
||||
<p>Регуляторная отчётность формируется автоматически на основе реестра операций. Готова к сдаче без ручной сборки.</p>
|
||||
<ul class="rep-list">
|
||||
<li>Автоматическая сборка из реестра операций</li>
|
||||
<li>Выгрузка в форматах контролирующих органов</li>
|
||||
<li>История операций по всем счетам</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="rep-card">
|
||||
<span class="cap cap-gold" style="display:block;margin-bottom:8px;font-size:9px">В разработке</span>
|
||||
<h4>Интеграция с 1С</h4>
|
||||
<p>API для синхронизации документов с 1С. Первичные документы платформы поступают в 1С без перепечатки.</p>
|
||||
<ul class="rep-list">
|
||||
<li>Синхронизация первичных документов</li>
|
||||
<li>План счетов кооператива</li>
|
||||
<li>История операций по счетам</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,68 @@
|
||||
<section id="store">
|
||||
<div class="W">
|
||||
<div class="r">
|
||||
<span class="cap" style="display:block;margin-bottom:14px">Каталог приложений</span>
|
||||
<h2 class="t2" style="margin-bottom:14px">Расширяйте свой<br><em>кооператив</em></h2>
|
||||
<p style="max-width:580px;font-size:15px;color:var(--text-soft);line-height:1.8">При установке приложений из каталога кооператив получает новые рабочие столы — смарт-контракты с логикой и шаблонами документов, реализующие новые сценарии кооперации. С помощью приложений кооператив формирует набор рабочих столов, которые доступны пайщикам для выполнения кооперативных действий.</p>
|
||||
</div>
|
||||
|
||||
<div class="store-list">
|
||||
|
||||
<div class="sa feat r d1">
|
||||
<div>
|
||||
<div class="sa-label">Кооперативные инвестиции</div>
|
||||
<h4>Благорост</h4>
|
||||
</div>
|
||||
<div>
|
||||
<p>Приложение для учёта взносов временем или деньгами в создание результатов интеллектуальной деятельности. Предоставляет трекер взносов и ведет возвратов по проектам, компонентам и задачам. Участники получают долю в объекте авторских прав и получают возвраты пропорционально взносу.</p>
|
||||
<a class="sa-link" href="https://благорост.цифровой-кооператив.рф" target="_blank">благорост.цифровой-кооператив.рф →</a>
|
||||
</div>
|
||||
<div class="sa-st"><span class="b b-live">● Доступно</span></div>
|
||||
</div>
|
||||
|
||||
<div class="sa r d1">
|
||||
<div>
|
||||
<div class="sa-label">Поставка-преобретение</div>
|
||||
<h4>Стол заказов</h4>
|
||||
</div>
|
||||
<div>
|
||||
<p>Кооперативная модель поставки-преобретения имущества. Поставщики размещают предложения, пайщики совершают заказы. Безопасная сделка через смарт-контракт: блокировка средств, приём и выдача по актам, споры и гарантийный возврат.</p>
|
||||
</div>
|
||||
<div class="sa-st"><span class="b b-dev">В разработке</span></div>
|
||||
</div>
|
||||
|
||||
<div class="sa r d2">
|
||||
<div>
|
||||
<div class="sa-label">Кооперативное жильё</div>
|
||||
<h4>Очередь на недвижимость</h4>
|
||||
</div>
|
||||
<div>
|
||||
<p>Приобретение недвижимости по кооперативной очереди с ежемесячным платежом без ссудного процента. Советская практика жилищных кооперативов в современной реализации под демократическим контролем пайщиков.</p>
|
||||
</div>
|
||||
<div class="sa-st"><span class="b b-dev">В разработке</span></div>
|
||||
</div>
|
||||
|
||||
<div class="sa r d2">
|
||||
<div>
|
||||
<div class="sa-label">Кооперативная аренда</div>
|
||||
<h4>Пользование имущества</h4>
|
||||
</div>
|
||||
<div>
|
||||
<p>Временное использование кооперативного имущества — от инструментов и оборудования до недвижимости. Доступное время использования распределяется по заявкам пайщиков.</p>
|
||||
</div>
|
||||
<div class="sa-st"><span class="b b-dev">В разработке</span></div>
|
||||
</div>
|
||||
|
||||
<div class="sa r d2">
|
||||
<div>
|
||||
<div class="sa-label">Расширение каталога</div>
|
||||
<h4>Новые приложения</h4>
|
||||
</div>
|
||||
<div>
|
||||
<p>В каталог добавляются новые приложения. Кооперативы устанавливают их из каталога по мере появления и получать обновления автоматически.</p>
|
||||
</div>
|
||||
<div class="sa-st"><span class="b b-open">Открытый код</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
Reference in New Issue
Block a user