zan-buzushylyk/index.html

399 lines
61 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Нарушения законодательства РК — справочник</title>
<style>
:root {
--ink: #0F1218;
--cyan: #00E5FF;
--cyan-50: #E8FCFF;
--white: #fff;
--gray-500: #5B6573;
--gray-100: #F2F4F7;
--red: #E53935;
--red-light: #FFEBEE;
--orange: #F57C00;
--orange-light: #FFF3E0;
--green: #2E7D32;
--green-light: #E8F5E9;
--purple: #7B1FA2;
--purple-light: #F3E5F5;
--teal: #00897B;
--teal-light: #E0F2F1;
--lime: #558B2F;
--lime-light: #F1F8E9;
--pink: #C2185B;
--pink-light: #FCE4EC;
--indigo: #283593;
--indigo-light: #E8EAF6;
--amber: #FF8F00;
--amber-light: #FFF8E1;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font: 17px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif;
color: var(--ink);
background: var(--white);
}
.container { max-width: 1140px; margin: 0 auto; padding: 0 24px; }
.hero {
background: var(--ink);
color: var(--white);
padding: 100px 0 80px;
}
.hero h1 {
font-size: 48px; font-weight: 800; line-height: 1.1;
margin-bottom: 16px;
}
.hero p {
font-size: 20px; color: #9aa3b2;
max-width: 600px; margin-bottom: 40px;
}
.search-box {
display: flex; gap: 12px; max-width: 700px;
background: rgba(255,255,255,0.08);
border: 2px solid rgba(255,255,255,0.15);
border-radius: 12px; padding: 8px;
}
.search-box input {
flex: 1; background: none; border: none;
color: var(--white); font-size: 17px; padding: 12px 16px;
outline: none;
}
.search-box input::placeholder { color: rgba(255,255,255,0.4); }
.search-box button {
background: var(--cyan); color: var(--ink);
border: none; padding: 12px 28px; border-radius: 8px;
font-size: 16px; font-weight: 700; cursor: pointer;
}
.search-box button:hover { background: #1be5ff; }
.results-section { padding: 64px 0 80px; }
.stats-bar {
display: flex; align-items: center; justify-content: space-between;
margin-bottom: 32px; flex-wrap: wrap; gap: 16px;
}
.stats-bar .count { font-size: 15px; color: var(--gray-500); }
.filters {
display: flex; gap: 8px; flex-wrap: wrap;
}
.filter-btn {
padding: 6px 16px; border-radius: 20px; border: 1.5px solid var(--gray-100);
background: var(--white); font-size: 14px; cursor: pointer;
transition: all 0.15s; color: var(--gray-500);
}
.filter-btn:hover { border-color: var(--cyan); color: var(--ink); }
.filter-btn.active {
background: var(--ink); color: var(--white); border-color: var(--ink);
}
.filter-btn.code-koap.active { background: #1565C0; border-color: #1565C0; }
.filter-btn.code-uk.active { background: var(--red); border-color: var(--red); }
.filter-btn.code-tk.active { background: var(--orange); border-color: var(--orange); }
.filter-btn.code-nk.active { background: var(--green); border-color: var(--green); }
.filter-btn.code-gk.active { background: var(--purple); border-color: var(--purple); }
.filter-btn.code-zk.active { background: var(--teal); border-color: var(--teal); }
.filter-btn.code-ek.active { background: var(--lime); border-color: var(--lime); }
.filter-btn.code-sk.active { background: var(--pink); border-color: var(--pink); }
.filter-btn.code-zakon.active { background: var(--indigo); border-color: var(--indigo); }
.filter-btn.code-pravila.active { background: var(--amber); border-color: var(--amber); }
.results-grid {
display: grid; gap: 16px;
}
.violation-card {
border: 1px solid var(--gray-100); border-radius: 12px;
padding: 28px 32px; display: grid;
grid-template-columns: 1fr auto;
gap: 16px 24px; align-items: start;
transition: box-shadow 0.15s, transform 0.15s;
}
.violation-card:hover {
box-shadow: 0 4px 24px rgba(0,0,0,0.06);
transform: translateY(-1px);
}
.violation-card .info { min-width: 0; }
.violation-card .info h3 {
font-size: 18px; font-weight: 700; margin-bottom: 6px;
}
.violation-card .info .desc {
font-size: 15px; color: var(--gray-500); line-height: 1.55;
}
.violation-card .article {
display: flex; align-items: center; gap: 8px;
padding: 10px 18px; border-radius: 8px;
font-weight: 700; font-size: 14px; white-space: nowrap;
text-align: center; flex-shrink: 0;
}
.article.koap { background: #E3F2FD; color: #1565C0; }
.article.uk { background: var(--red-light); color: var(--red); }
.article.tk { background: var(--orange-light); color: var(--orange); }
.article.nk { background: var(--green-light); color: var(--green); }
.article.gk { background: var(--purple-light); color: var(--purple); }
.article.zk { background: var(--teal-light); color: var(--teal); }
.article.ek { background: var(--lime-light); color: var(--lime); }
.article.sk { background: var(--pink-light); color: var(--pink); }
.article.zakon { background: var(--indigo-light); color: var(--indigo); }
.article.pravila { background: var(--amber-light); color: var(--amber); }
.article .code-label { font-size: 11px; font-weight: 600; }
.violation-card .penalty {
grid-column: 1 / -1; font-size: 14px; color: var(--gray-500);
padding-top: 12px; border-top: 1px solid var(--gray-100);
display: flex; gap: 6px; align-items: baseline;
}
.penalty-label {
font-weight: 600; color: var(--ink); white-space: nowrap;
}
.empty-state {
text-align: center; padding: 80px 20px; color: var(--gray-500);
}
.empty-state .emoji { font-size: 48px; margin-bottom: 16px; }
.empty-state h3 { font-size: 20px; color: var(--ink); margin-bottom: 8px; }
footer {
text-align: center; padding: 40px 24px;
color: var(--gray-500); font-size: 14px;
border-top: 1px solid var(--gray-100);
}
footer a { color: var(--cyan); text-decoration: none; }
@media (max-width: 640px) {
.hero { padding: 64px 0 48px; }
.hero h1 { font-size: 30px; }
.hero p { font-size: 17px; }
.search-box { flex-direction: column; gap: 8px; }
.search-box button { width: 100%; }
.violation-card { grid-template-columns: 1fr; padding: 20px; }
.violation-card .article { justify-self: start; }
}
</style>
</head>
<body>
<section class="hero">
<div class="container">
<h1>&#x1F4DC; Нарушения законодательства РК</h1>
<p>Опишите ситуацию или введите ключевые слова — найдём соответствующие статьи кодексов, законов и правил РК.</p>
<div class="search-box">
<input type="text" id="search" placeholder="Например: драка, шум ночью, кража, без прав за рулём..." autofocus>
<button onclick="search()">Найти</button>
</div>
</div>
</section>
<section class="results-section">
<div class="container">
<div class="stats-bar">
<span class="count" id="stats">Всего: 80 нарушений</span>
<div class="filters" id="filters">
<button class="filter-btn active" data-code="all" onclick="setFilter('all',this)">Все</button>
<button class="filter-btn code-koap" data-code="koap" onclick="setFilter('koap',this)">КоАП</button>
<button class="filter-btn code-uk" data-code="uk" onclick="setFilter('uk',this)">УК</button>
<button class="filter-btn code-tk" data-code="tk" onclick="setFilter('tk',this)">ТК</button>
<button class="filter-btn code-nk" data-code="nk" onclick="setFilter('nk',this)">НК</button>
<button class="filter-btn code-gk" data-code="gk" onclick="setFilter('gk',this)">ГК</button>
<button class="filter-btn code-zk" data-code="zk" onclick="setFilter('zk',this)">ЗК</button>
<button class="filter-btn code-ek" data-code="ek" onclick="setFilter('ek',this)">ЭкоК</button>
<button class="filter-btn code-sk" data-code="sk" onclick="setFilter('sk',this)">СК</button>
<button class="filter-btn code-zakon" data-code="zakon" onclick="setFilter('zakon',this)">Законы</button>
<button class="filter-btn code-pravila" data-code="pravila" onclick="setFilter('pravila',this)">Правила</button>
</div>
</div>
<div class="results-grid" id="results"></div>
<div class="empty-state" id="empty" style="display:none">
<div class="emoji">&#x1F50D;</div>
<h3>Ничего не найдено</h3>
<p>Попробуйте другие ключевые слова или измените фильтр.</p>
</div>
</div>
</section>
<footer>
<div class="container">
Справочник носит ознакомительный характер. Точные формулировки — см. официальные тексты кодексов на <a href="https://adilet.zan.kz" target="_blank">adilet.zan.kz</a>
</div>
</footer>
<script>
const VIOLATIONS = [
{ id:1, keywords:["мелкое хулиганство","хулиган","ругался матом","нецензурная брань","приставал","оскорблял прохожих","нарушал общественный порядок","сквернословие"], desc:"Мелкое хулиганство — нецензурная брань в общественных местах, оскорбительное приставание к гражданам, нарушение общественного порядка", code:"koap", article:"ст. 434", penalty:"Штраф 20 МРП, либо административный арест до 15 суток" },
{ id:2, keywords:["тишина","шум","ночью","ночной шум","громкая музыка","ремонт ночью","крики","нарушение тишины","соседи шумят","шумят соседи"], desc:"Нарушение тишины и покоя граждан в ночное время (с 23:00 до 06:00), в выходные и праздничные дни", code:"koap", article:"ст. 437", penalty:"Штраф 10 МРП, при повторном — 20 МРП" },
{ id:3, keywords:["распитие","алкоголь","пьёт","пьют","пьяный","пьяные","общественное место","пиво на улице","водка","нетрезвый вид","пьянство","выпивка"], desc:"Распитие алкогольных напитков в общественных местах или появление в общественных местах в пьяном виде, оскорбляющем человеческое достоинство", code:"koap", article:"ст. 440", penalty:"Штраф 5 МРП, при повторном — 10 МРП, либо административный арест до 5 суток" },
{ id:4, keywords:["курение","курил","курит","сигарета","кальян","вейп","неположенное место","табак"], desc:"Курение табачных изделий, кальяна, вейпов в неположенных местах (подъезды, остановки, детские площадки, транспорт, учреждения)", code:"koap", article:"ст. 441", penalty:"Штраф 3 МРП" },
{ id:5, keywords:["скорость","превышение","гонка","быстрая езда","лихач","превысил скорость"], desc:"Превышение установленной скорости движения транспортного средства", code:"koap", article:"ст. 592", penalty:"Штраф от 10 до 40 МРП, в зависимости от величины превышения" },
{ id:6, keywords:["красный свет","проезд на красный","светофор","проехал на запрещающий","на красный"], desc:"Проезд на запрещающий сигнал светофора или жест регулировщика", code:"koap", article:"ст. 599", penalty:"Штраф 10 МРП" },
{ id:7, keywords:["без прав","нет прав","права","лишён прав","не имел права управления","водитель без прав","управление без прав"], desc:"Управление транспортным средством лицом, не имеющим права управления, или лишённым такого права", code:"koap", article:"ст. 612", penalty:"Штраф 30 МРП, при повторном — 70 МРП, либо административный арест до 15 суток" },
{ id:8, keywords:["пьяный за рулём","нетрезвый водитель","алкоголь за рулём","выпил и сел за руль","управление в нетрезвом","алкогольное опьянение за рулём","пьяная езда"], desc:"Управление транспортным средством в состоянии алкогольного, наркотического или токсикоманического опьянения", code:"koap", article:"ст. 608", penalty:"Лишение прав на 3 года, административный арест до 15 суток. При повторном — уголовная ответственность по ст. 346 УК" },
{ id:9, keywords:["неповиновение","полиция","полицейский","не подчинился","сопротивление полиции","не выполнил требование","законное требование"], desc:"Неповиновение законному требованию сотрудника правоохранительного органа", code:"koap", article:"ст. 667", penalty:"Штраф 10 МРП, либо административный арест до 10 суток" },
{ id:10, keywords:["мелкое хищение","украл","воровство","магазин","супермаркет","шоплифтинг","кража в магазине","стянул","мелкая кража","хищение"], desc:"Мелкое хищение чужого имущества на сумму до 10 МРП", code:"koap", article:"ст. 187", penalty:"Штраф до 25 МРП, либо административный арест до 15 суток. Свыше 10 МРП — уголовная ответственность по ст. 188 УК" },
{ id:11, keywords:["без билета","заяц","безбилетный проезд","не оплатил проезд","проезд без билета","автобус без билета","контролёр"], desc:"Безбилетный проезд в общественном транспорте", code:"koap", article:"ст. 622", penalty:"Штраф 0,5 МРП" },
{ id:12, keywords:["благоустройство","мусор","грязь","урна","выбросил мусор","мусорил","загрязнение","загрязнил","не убрал"], desc:"Нарушение правил благоустройства, загрязнение общественных мест, выброс мусора вне установленных мест", code:"koap", article:"ст. 505", penalty:"Штраф 10 МРП" },
{ id:13, keywords:["пожарная безопасность","пожар","не потушил костёр","костёр","развёл огонь","поджёг траву","сжигание мусора"], desc:"Нарушение правил пожарной безопасности, разведение костров в неположенных местах", code:"koap", article:"ст. 410", penalty:"Штраф 5-10 МРП" },
{ id:14, keywords:["санитарные нормы","антисанитария","грязь в заведении","кафе грязное","ресторан нарушение","санпин","санитария","пищевое отравление"], desc:"Нарушение санитарно-эпидемиологических норм и правил гигиены", code:"koap", article:"ст. 425", penalty:"Штраф до 200 МРП для юрлиц, до 30 МРП для физлиц" },
{ id:15, keywords:["незаконная торговля","торговля без регистрации","стихийная торговля","без лицензии","без патента","уличная торговля","базар без разрешения"], desc:"Незаконная предпринимательская деятельность, торговля без регистрации и разрешительных документов", code:"koap", article:"ст. 463", penalty:"Штраф 15-50 МРП" },
{ id:16, keywords:["обман потребителя","обвес","обсчёт","недолив","недовес","обманули в магазине","завысили цену","чек не тот","обсчитали"], desc:"Обман потребителей — обвес, обсчёт, введение в заблуждение о потребительских свойствах товара", code:"koap", article:"ст. 190", penalty:"Штраф 10-50 МРП" },
{ id:17, keywords:["оскорбление","оскорбил","унижение чести","ущемил достоинство","обозвал","обзывался","хамство","личное оскорбление"], desc:"Оскорбление — унижение чести и достоинства другого лица, выраженное в неприличной форме", code:"koap", article:"ст. 131", penalty:"Штраф 20 МРП" },
{ id:18, keywords:["клевета","клевещет","распускает слухи","ложные сведения","порочащие сведения","очернил","ложь","напраслина","поклёп"], desc:"Клевета — распространение заведомо ложных сведений, порочащих честь и достоинство другого лица", code:"uk", article:"ст. 130", penalty:"Штраф до 500 МРП, исправительные работы, либо ограничение свободы до 1 года" },
{ id:19, keywords:["побои","избил","ударил","драка","избиение","пощёчина","телесные повреждения","синяки","рукоприкладство","нападение"], desc:"Побои — нанесение побоев, не повлёкших причинения лёгкого вреда здоровью, или совершение иных насильственных действий, причинивших физическую боль", code:"koap", article:"ст. 73-1", penalty:"Штраф 10 МРП, либо административный арест до 10 суток" },
{ id:20, keywords:["жилище","квартирный вопрос","соседи","затопил","затопили","шум в квартире","проживание без регистрации","незаконная перепланировка","жилищные споры"], desc:"Нарушение правил пользования жилыми помещениями, самовольная перепланировка, нарушение прав соседей", code:"koap", article:"ст. 506", penalty:"Штраф 10-50 МРП" },
{ id:21, keywords:["кража","украл","вор","воровство","похитил","обокрал","грабёж","разбой","хищение","тайное хищение","карманник"], desc:"Кража — тайное хищение чужого имущества", code:"uk", article:"ст. 188", penalty:"Штраф до 2000 МРП, исправительные работы, ограничение свободы, либо лишение свободы до 12 лет (в зависимости от размера и обстоятельств)" },
{ id:22, keywords:["грабёж","грабитель","ограбление","отобрал","отнял","вырвал сумку","сорвал цепочку","открытое хищение","уличное ограбление"], desc:"Грабёж — открытое хищение чужого имущества", code:"uk", article:"ст. 191", penalty:"Штраф до 3000 МРП, исправительные работы, ограничение свободы, либо лишение свободы до 12 лет" },
{ id:23, keywords:["разбой","нападение","напал","ограбление с насилием","разбойное нападение","угрожал ножом","вооружённое нападение"], desc:"Разбой — нападение с целью хищения чужого имущества, сопряжённое с насилием либо угрозой применения насилия", code:"uk", article:"ст. 192", penalty:"Лишение свободы от 3 до 15 лет с конфискацией имущества" },
{ id:24, keywords:["мошенничество","мошенник","обманул","обман","афера","аферист","лохотрон","развод","финансовая пирамида","выманил деньги","кинул"], desc:"Мошенничество — хищение чужого имущества или приобретение права на чужое имущество путём обмана или злоупотребления доверием", code:"uk", article:"ст. 190", penalty:"Штраф до 4000 МРП, исправительные работы, ограничение свободы, либо лишение свободы до 10 лет" },
{ id:25, keywords:["уголовное хулиганство","хулиган","особо дерзкое","групповое хулиганство","хулиганство с оружием","злостное хулиганство"], desc:"Хулиганство — особо дерзкое нарушение общественного порядка, сопровождающееся применением насилия, угрозой его применения, уничтожением или повреждением имущества", code:"uk", article:"ст. 293", penalty:"Штраф до 2000 МРП, исправительные работы, ограничение свободы, либо лишение свободы до 7 лет" },
{ id:26, keywords:["убийство","убил","умертвил","лишил жизни","смерть","убийца","смертельный исход"], desc:"Убийство — противоправное умышленное причинение смерти другому человеку", code:"uk", article:"ст. 99", penalty:"Лишение свободы от 6 до 20 лет, либо пожизненное лишение свободы" },
{ id:27, keywords:["вред здоровью","тяжкий вред","избил до больницы","покалечил","сломал руку","сломал ногу","перелом","инвалидность","тяжкие телесные"], desc:"Умышленное причинение тяжкого вреда здоровью — опасного для жизни, или повлёкшего потерю зрения, речи, слуха, органа, или заболевание наркоманией/токсикоманией", code:"uk", article:"ст. 106", penalty:"Ограничение свободы, либо лишение свободы от 3 до 12 лет" },
{ id:28, keywords:["изнасилование","насилие","сексуальное насилие","надругательство","насильственные действия сексуального характера"], desc:"Изнасилование — половое сношение с применением насилия, угрозы или с использованием беспомощного состояния потерпевшего", code:"uk", article:"ст. 120", penalty:"Лишение свободы от 5 до 20 лет, либо пожизненно" },
{ id:29, keywords:["вымогательство","вымогает","шантаж","рэкет","требует деньги","угрожает","крыша","дань"], desc:"Вымогательство — требование передачи чужого имущества или права на имущество под угрозой применения насилия, уничтожения имущества или распространения позорящих сведений", code:"uk", article:"ст. 194", penalty:"Ограничение свободы, либо лишение свободы до 15 лет с конфискацией" },
{ id:30, keywords:["присвоение","растрата","присвоил","растратил","казнокрадство","растрата бюджета","хищение на работе","бухгалтер украл","менеджер присвоил"], desc:"Присвоение или растрата — хищение чужого имущества, вверенного виновному", code:"uk", article:"ст. 189", penalty:"Штраф до 3000 МРП, исправительные работы, ограничение свободы, либо лишение свободы до 12 лет" },
{ id:31, keywords:["взятка","взяткодатель","дал взятку","подкуп","коррупция","дал на лапу","откат","благодарность должностному лицу"], desc:"Дача взятки — незаконная передача должностному лицу денег, ценных бумаг, имущества, оказание услуг за действия/бездействие в пользу взяткодателя", code:"uk", article:"ст. 367", penalty:"Штраф до 60-кратной суммы взятки, исправительные работы, либо лишение свободы до 15 лет с конфискацией" },
{ id:32, keywords:["взятка","получение взятки","взяточник","чиновник взял","коррупционер","получил взятку","мздоимство","продажный чиновник"], desc:"Получение взятки — незаконное получение должностным лицом денег, ценных бумаг, имущества, услуг за действия/бездействие в пользу взяткодателя", code:"uk", article:"ст. 366", penalty:"Штраф до 80-кратной суммы взятки, либо лишение свободы до 15 лет с конфискацией и пожизненным лишением права занимать должности" },
{ id:33, keywords:["должностные полномочия","превышение полномочий","злоупотребил","чиновник нарушил","власть","административный ресурс","превысил полномочия"], desc:"Злоупотребление должностными полномочиями — использование должностным лицом своих полномочий вопреки интересам службы", code:"uk", article:"ст. 361", penalty:"Штраф до 5000 МРП, исправительные работы, ограничение свободы, либо лишение свободы до 8 лет" },
{ id:34, keywords:["угон","угнал","автоугон","машину угнали","угнали авто","угнал машину","неправомерное завладение авто"], desc:"Неправомерное завладение автомобилем или иным транспортным средством без цели хищения (угон)", code:"uk", article:"ст. 200", penalty:"Штраф до 500 МРП, исправительные работы, ограничение свободы, либо лишение свободы до 12 лет" },
{ id:35, keywords:["наркотики","наркота","хранение","марихуана","трава","героин","мефедрон","синтетика","закладка","наркоман","запрещённые вещества","психотропы"], desc:"Незаконное приобретение, хранение, перевозка, изготовление, переработка наркотических средств без цели сбыта", code:"uk", article:"ст. 296", penalty:"Штраф до 5000 МРП, исправительные работы, ограничение свободы, либо лишение свободы до 15 лет" },
{ id:36, keywords:["наркотики","сбыт","продажа наркотиков","закладчик","дилер","распространение","торговля наркотиками","наркоторговля","наркоторговец"], desc:"Незаконный сбыт, пересылка наркотических средств и психотропных веществ", code:"uk", article:"ст. 297", penalty:"Лишение свободы от 5 до 20 лет, либо пожизненно с конфискацией" },
{ id:37, keywords:["трудовой договор","без договора","не оформлен","нелегальный работник","теневая занятость","трудоустройство без договора","без трудовой","работает без оформления"], desc:"Допуск работника к работе без заключения трудового договора", code:"tk", article:"ст. 90 КоАП", penalty:"Штраф 30-100 МРП" },
{ id:38, keywords:["зарплата","не платит зарплату","задержка зарплаты","не выплатил","долг по зарплате","недоплатил","чёрная зарплата","зарплата в конверте"], desc:"Невыплата заработной платы в полном объёме и в установленные сроки", code:"tk", article:"ст. 113 ТК РК", penalty:"Штраф до 200 МРП для работодателя, пеня за каждый день просрочки" },
{ id:39, keywords:["увольнение","незаконно уволили","сократили","уволен без причины","восстановление на работе","трудовой спор","нарушение при увольнении"], desc:"Незаконное увольнение работника или нарушение процедуры расторжения трудового договора", code:"tk", article:"ст. 52, 56 ТК РК", penalty:"Восстановление на работе, компенсация за вынужденный прогул, возмещение морального вреда" },
{ id:40, keywords:["отпуск","не дали отпуск","без отпуска","отказ в отпуске","не оплачен отпуск","отпускные","отгул","работа без отпуска"], desc:"Непредоставление ежегодного оплачиваемого трудового отпуска в течение двух лет подряд", code:"tk", article:"ст. 87, 92 ТК РК", penalty:"Штраф до 100 МРП для работодателя" },
{ id:41, keywords:["сверхурочные","переработка","работа сверх нормы","ненормированный график","без доплаты за сверхурочные","переработки без оплаты"], desc:"Привлечение к сверхурочной работе без согласия работника либо без соответствующей оплаты", code:"tk", article:"ст. 77, 78 ТК РК", penalty:"Штраф до 100 МРП, предписание устранить нарушение с доплатой" },
{ id:42, keywords:["налоги","не платит налоги","уклонение от налогов","сокрытие доходов","налоговая","не сдал декларацию","налоговая проверка","недоимка"], desc:"Уклонение от уплаты налогов и других обязательных платежей в бюджет", code:"nk", article:"ст. 275 КоАП", penalty:"Штраф от 20% до 50% от неуплаченной суммы налога" },
{ id:43, keywords:["налоговая декларация","не подал декларацию","просрочил декларацию","всеобщее декларирование","декларация о доходах","фно 270","не сдал отчёт"], desc:"Непредставление налоговой отчётности в установленный срок", code:"nk", article:"ст. 272 КоАП", penalty:"Штраф 30-70 МРП, при повторном — до 110 МРП" },
{ id:44, keywords:["чек","не выбил чек","касса","контрольно-кассовая машина","ккм","без чека","онлайн-ккм","не применил ккм"], desc:"Неприменение контрольно-кассовой машины (ККМ) при осуществлении денежных расчётов", code:"nk", article:"ст. 284 КоАП", penalty:"Штраф 25-50 МРП, при повторном — до 100 МРП" },
{ id:45, keywords:["семья","домашнее насилие","бытовое насилие","избил жену","избил мужа","семейный скандал","агрессор","побои в семье","бьёт жену","домашний тиран"], desc:"Противоправные действия в сфере семейно-бытовых отношений — насилие, жестокое обращение в семье", code:"koap", article:"ст. 73, 73-1, 73-2", penalty:"Штраф, административный арест до 30 суток, защитное предписание. При систематичности — уголовная ответственность" },
{ id:46, keywords:["ребёнок","несовершеннолетний","детский труд","незаконная работа ребёнка","эксплуатация детей","детский сад без лицензии","оставил ребёнка без присмотра"], desc:"Нарушение прав и законных интересов несовершеннолетних, вовлечение в совершение административных правонарушений", code:"koap", article:"ст. 127, 442", penalty:"Штраф до 200 МРП, лишение родительских прав" },
{ id:47, keywords:["тоналды көлік","авто без номеров","скрытые номера","тонировка","затемнённые стёкла","тонировка не по госту"], desc:"Управление транспортным средством со стёклами, не соответствующими нормам светопропускания (незаконная тонировка)", code:"koap", article:"ст. 590 ч.5", penalty:"Штраф 10 МРП, предписание устранить в течение суток" },
{ id:48, keywords:["ремни безопасности","не пристёгнут","езда без ремня","не пристегнулся","пассажир без ремня","без ремня"], desc:"Управление транспортным средством либо перевозка пассажиров без использования ремней безопасности", code:"koap", article:"ст. 593 ч.1", penalty:"Штраф 3 МРП" },
{ id:49, keywords:["телефон за рулём","мобильный","разговор по телефону","смс за рулём","телефон без гарнитуры","писал за рулём"], desc:"Использование телефона во время управления транспортным средством без устройства hands-free", code:"koap", article:"ст. 591", penalty:"Штраф 5 МРП" },
{ id:50, keywords:["лес","незаконная вырубка","вырубил дерево","ёлка","сосна","браконьерство","незаконная охота","рыболовство без лицензии","незаконная рыбалка"], desc:"Незаконная порубка деревьев и кустарников, незаконная охота, рыболовство без разрешения", code:"koap", article:"ст. 381, 382, 383", penalty:"Штраф до 500 МРП с конфискацией орудий, возмещение ущерба" },
{ id:51, keywords:["договор","не исполнил договор","нарушение договора","не выполнил обязательства","нарушил контракт","срыв сроков","неустойка","договорные обязательства"], desc:"Неисполнение или ненадлежащее исполнение договорных обязательств", code:"gk", article:"ст. 293 ГК РК", penalty:"Возмещение убытков, уплата неустойки, расторжение договора в судебном порядке" },
{ id:52, keywords:["самовольная постройка","самострой","незаконная постройка","построил без разрешения","незаконное строительство","пристройка без документов"], desc:"Самовольная постройка — строительство без разрешительных документов на земельном участке, не отведённом для этих целей", code:"gk", article:"ст. 244 ГК РК", penalty:"Снос за свой счёт, либо признание права собственности через суд" },
{ id:53, keywords:["авторские права","плагиат","украл контент","скопировал","пиратство","нарушил авторство","использовал без разрешения","контрафакт","незаконное копирование"], desc:"Нарушение авторских и смежных прав — незаконное использование, копирование произведений без разрешения автора", code:"gk", article:"ст. 964-970 ГК РК", penalty:"Возмещение убытков, выплата компенсации до 50 000 МРП, конфискация контрафакта" },
{ id:54, keywords:["сделка недействительна","оспорить сделку","ничтожная сделка","недействительный договор","кабальная сделка","обманули при сделке","фиктивная сделка"], desc:"Признание сделки недействительной — мнимая, притворная сделка, или совершённая под влиянием обмана, насилия, угрозы", code:"gk", article:"ст. 157-160 ГК РК", penalty:"Двусторонняя реституция, возмещение убытков, взыскание полученного в доход государства" },
{ id:55, keywords:["наследство","наследственные права","лишили наследства","оспаривание завещания","наследник","недостойный наследник","пропустил срок наследства"], desc:"Нарушение наследственных прав — воспрепятствование вступлению в наследство, сокрытие наследственного имущества, признание наследника недостойным", code:"gk", article:"ст. 1038-1083 ГК РК", penalty:"Восстановление срока для принятия наследства через суд, перераспределение долей, отстранение недостойного наследника" },
{ id:56, keywords:["земля","захват земли","самозахват","занял участок","чужой участок","захватил землю","незаконный захват","прирезал землю"], desc:"Самовольный захват земельного участка — занятие земли без правоустанавливающих документов", code:"zk", article:"ст. 43-1, 164 ЗК РК", penalty:"Возврат участка собственнику, снос построек за свой счёт, возмещение ущерба" },
{ id:57, keywords:["земля","нецелевое использование","участок не по назначению","не по целевому назначению","нарушение целевого назначения","незаконно использую землю"], desc:"Нецелевое использование земельного участка — использование не по назначению, указанному в акте на землю", code:"zk", article:"ст. 65 ЗК РК", penalty:"Предупреждение, штраф, принудительное изъятие земельного участка" },
{ id:58, keywords:["земля","не осваивает участок","забросил землю","не построил","пустует земля","не используется участок","срок освоения","изъятие участка"], desc:"Нарушение сроков освоения земельного участка — неиспользование участка по назначению в течение установленного срока", code:"zk", article:"ст. 68 ЗК РК", penalty:"Принудительное изъятие земельного участка в судебном порядке" },
{ id:59, keywords:["порча земли","загрязнение почвы","уничтожил плодородный слой","земля испорчена","химикаты на почву","нефть разлил","снятие плодородного слоя"], desc:"Порча земель — уничтожение плодородного слоя почвы, загрязнение земель химическими веществами, отходами", code:"zk", article:"ст. 140 ЗК РК", penalty:"Возмещение ущерба, рекультивация за свой счёт, штраф до 500 МРП" },
{ id:60, keywords:["экология","загрязнение воздуха","выбросы","завод дымит","выхлопы","дым","смог","вредные выбросы","загрязнение атмосферы"], desc:"Загрязнение атмосферного воздуха — превышение нормативов выбросов загрязняющих веществ в атмосферу", code:"ek", article:"ст. 328 ЭкоК РК", penalty:"Штраф до 500 МРП, приостановление деятельности предприятия, возмещение экологического ущерба" },
{ id:61, keywords:["отходы","мусор","свалка","незаконная свалка","выбросил отходы","промышленные отходы","утилизация","неправильная утилизация","опасные отходы"], desc:"Нарушение правил обращения с отходами — несанкционированное размещение, хранение, захоронение отходов", code:"ek", article:"ст. 331 ЭкоК РК", penalty:"Штраф до 1000 МРП для юрлиц, ликвидация свалки за счёт нарушителя" },
{ id:62, keywords:["красная книга","редкие виды","уничтожил редкое животное","исчезающий вид","редкие растения","барс","сайгак","уничтожение флоры фауны"], desc:"Уничтожение редких и находящихся под угрозой исчезновения видов растений и животных, занесённых в Красную книгу РК", code:"ek", article:"ст. 339 ЭкоК РК", penalty:"Штраф до 2500 МРП, возмещение ущерба, уголовная ответственность при значительном ущербе" },
{ id:63, keywords:["эмиссии","превысил нормативы","выбросы сверх нормы","сбросы в воду","превышение эмиссий","нормативы ПДВ","квота выбросов","разрешение на эмиссии"], desc:"Превышение нормативов эмиссий в окружающую среду (в том числе сбросы в водные объекты) без соответствующего экологического разрешения", code:"ek", article:"ст. 327 ЭкоК РК", penalty:"Штраф до 200% от ставки платы за эмиссии, приостановление или запрет деятельности" },
{ id:64, keywords:["родители","не воспитывает","оставил ребёнка","родительские обязанности","не исполняет обязанности","бросил детей","не заботится о ребёнке","не содержит ребёнка"], desc:"Неисполнение родительских обязанностей — уклонение от воспитания, содержания и образования несовершеннолетних детей", code:"sk", article:"ст. 67-70 СК РК", penalty:"Предупреждение, административный штраф, ограничение либо лишение родительских прав" },
{ id:65, keywords:["алименты","не платит алименты","должник по алиментам","задолженность по алиментам","скрывается от алиментов","алиментщик","уклонение от алиментов"], desc:"Уклонение от уплаты алиментов на содержание несовершеннолетних детей или нетрудоспособных родителей", code:"sk", article:"ст. 139, 140 СК РК", penalty:"Административный арест до 10 суток, ограничение выезда за границу, лишение водительских прав, уголовная ответственность при злостном уклонении" },
{ id:66, keywords:["ребёнок","не дают видеться","препятствует общению","скрывает ребёнка","отобрал ребёнка","нарушение прав на общение","развод","раздельное проживание"], desc:"Нарушение права ребёнка на общение с отдельно проживающим родителем, воспрепятствование встречам", code:"sk", article:"ст. 67 СК РК", penalty:"Определение порядка общения через суд, административная ответственность, передача ребёнка добросовестному родителю" },
{ id:67, keywords:["защита потребителей","некачественный товар","брак","просрочка","испорченный продукт","вернуть товар","возврат","обмен товара","не работал чек","гарантия"], desc:"Продажа некачественного товара, отказ в возврате или обмене, нарушение сроков гарантийного ремонта", code:"zakon", article:"Закон «О защите прав потребителей»", penalty:"Возврат денег, замена товара, неустойка 1% в день, возмещение морального вреда через суд" },
{ id:68, keywords:["миграция","нелегал","нелегальная миграция","просрочил регистрацию","без регистрации","незаконный въезд","миграционная карта","разрешение на проживание","нарушил миграционный режим"], desc:"Нарушение миграционного законодательства — проживание без регистрации, просрочка разрешённого срока пребывания, незаконная трудовая деятельность иностранцев", code:"zakon", article:"Закон «О миграции населения»", penalty:"Штраф 25-50 МРП, выдворение за пределы РК, запрет на въезд до 5 лет" },
{ id:69, keywords:["персональные данные","утечка данных","слив","незаконный сбор","конфиденциальность","база данных","обработка данных без согласия","продал данные клиентов","нарушение приватности"], desc:"Незаконный сбор, обработка, хранение, распространение персональных данных без согласия субъекта", code:"zakon", article:"Закон «О персональных данных и их защите»", penalty:"Штраф до 500 МРП, возмещение ущерба, уголовная ответственность при крупном ущербе" },
{ id:70, keywords:["реклама","ненадлежащая реклама","обман в рекламе","ложная реклама","недостоверная реклама","вводит в заблуждение","реклама без разрешения","спам"], desc:"Ненадлежащая реклама — недостоверная, недобросовестная, скрытая реклама, нарушающая требования законодательства", code:"zakon", article:"Закон «О рекламе»", penalty:"Штраф до 300 МРП, приостановление рекламы, демонтаж рекламной конструкции, публичное опровержение" },
{ id:71, keywords:["госзакупки","тендер","государственные закупки","нарушил тендер","сговор на тендере","конкурс","незаконный конкурс","аффилированная компания"], desc:"Нарушение правил государственных закупок — необоснованный допуск/отклонение, аффилированность, сговор участников", code:"zakon", article:"Закон «О государственных закупках»", penalty:"Признание итогов закупок недействительными, штраф до 500 МРП, включение в реестр недобросовестных участников" },
{ id:72, keywords:["коррупция","противодействие коррупции","конфликт интересов","антикоррупционное законодательство","антикоррупционные ограничения","подарок должностному лицу"], desc:"Нарушение антикоррупционного законодательства — непринятие мер по урегулированию конфликта интересов, нарушение антикоррупционных ограничений", code:"zakon", article:"Закон «О противодействии коррупции»", penalty:"Административное увольнение, штраф, уголовная ответственность при отягчающих обстоятельствах" },
{ id:73, keywords:["информатизация","взлом","незаконный доступ","хакер","взломал систему","неправомерный доступ","доступ к данным","взлом базы","кибератака"], desc:"Неправомерный доступ к информации, охраняемой законом, в том числе к государственным информационным системам", code:"zakon", article:"Закон «Об информатизации»", penalty:"Штраф до 2000 МРП, лишение свободы до 5 лет (ст. 205 УК)" },
{ id:74, keywords:["язык","нарушение языкового законодательства","языковой режим","не соблюдает язык","казахский язык","русский язык","язык делопроизводства","вывески без перевода"], desc:"Нарушение языкового законодательства — несоблюдение требований о применении государственного языка, отсутствие перевода вывесок, документации", code:"zakon", article:"Закон «О языках в РК»", penalty:"Административный штраф до 50 МРП, предписание устранить нарушение" },
{ id:75, keywords:["пешеход","пешеход на красный","перебежал дорогу","переход в неположенном месте","переход на красный","пешеход нарушил ПДД","перебежал","вне пешеходного перехода"], desc:"Нарушение ПДД пешеходом — переход дороги вне пешеходного перехода или на запрещающий сигнал светофора", code:"pravila", article:"Правила ДД, п. 12-13", penalty:"Штраф 2 МРП" },
{ id:76, keywords:["перевозка пассажиров","такси без лицензии","нелегальный таксист","частный извоз","автобус","маршрут","нарушение правил перевозки","багаж"], desc:"Нарушение правил перевозки пассажиров и багажа — перевозка без лицензии, превышение количества пассажиров, отсутствие согласованного маршрута", code:"pravila", article:"Правила перевозок пассажиров", penalty:"Штраф до 100 МРП, изъятие транспортного средства, приостановление деятельности" },
{ id:77, keywords:["строительство","нарушение СНиП","строительные нормы","некачественное строительство","строительный брак","нарушил нормы строительства","обрушение","трещины в стенах"], desc:"Нарушение строительных норм и правил (СНиП) — отклонение от проектной документации, нарушение требований к безопасности зданий", code:"pravila", article:"СНиП РК, Правила организации застройки", penalty:"Приостановление строительства, штраф, снос объекта, аннулирование лицензии подрядчика" },
{ id:78, keywords:["лес","пожар в лесу","костёр в лесу","поджёг","лесной пожар","не потушил","противопожарные правила в лесу","развёл огонь в лесу"], desc:"Нарушение правил пожарной безопасности в лесах — разведение костров в пожароопасный период, оставление непотушенного огня", code:"pravila", article:"Правила пожарной безопасности в лесах РК", penalty:"Штраф до 500 МРП, возмещение ущерба лесному фонду, уголовная ответственность при крупном ущербе" },
{ id:79, keywords:["собака","домашние животные","выгул без поводка","собака без намордника","укусила собака","агрессивная собака","правила содержания животных","владелец собаки","питомец","безнадзорные животные"], desc:"Нарушение правил содержания и выгула домашних животных — выгул без поводка и намордника, отсутствие регистрации, оставление без присмотра", code:"pravila", article:"Правила содержания животных в РК", penalty:"Штраф 5-20 МРП, возмещение вреда пострадавшим, изъятие животного" },
{ id:80, keywords:["строительство","незаконная перепланировка","перепланировка без разрешения","снёс стену","перестройка","изменил планировку","перестройка квартиры","перенёс стену"], desc:"Незаконная перепланировка жилых и нежилых помещений без согласования с уполномоченными органами", code:"pravila", article:"Правила переустройства помещений", penalty:"Штраф до 100 МРП, предписание вернуть помещение в первоначальное состояние за свой счёт" }
];
let currentQuery = "";
let currentCode = "all";
function codeLabel(c) {
const map = { koap:"КоАП", uk:"УК", tk:"ТК", nk:"НК", gk:"ГК", zk:"ЗК", ek:"ЭкоК", sk:"СК", zakon:"Закон", pravila:"Правила" };
return map[c] || c.toUpperCase();
}
function highlight(text, query) {
if (!query) return text;
const words = query.toLowerCase().split(/\s+/).filter(w => w.length > 1);
let result = text;
words.forEach(w => {
const re = new RegExp(`(${w.replace(/[.*+?^${}()|[\]\\]/g,'\\$&')})`, 'gi');
result = result.replace(re, '<mark>$1</mark>');
});
return result;
}
function matchesQuery(v, query) {
if (!query.trim()) return true;
const q = query.toLowerCase();
const words = q.split(/\s+/).filter(w => w.length > 0);
return words.some(w =>
v.keywords.some(k => k.includes(w)) ||
v.desc.toLowerCase().includes(w) ||
v.article.toLowerCase().includes(w)
);
}
function render(results, query) {
const grid = document.getElementById("results");
const empty = document.getElementById("empty");
const stats = document.getElementById("stats");
stats.textContent = results.length === VIOLATIONS.length
? `Всего: ${VIOLATIONS.length} нарушений`
: `Найдено: ${results.length} из ${VIOLATIONS.length}`;
if (results.length === 0) {
grid.innerHTML = "";
empty.style.display = "";
return;
}
empty.style.display = "none";
grid.innerHTML = results.map(v => `
<div class="violation-card">
<div class="info">
<h3>${highlight(v.desc, query)}</h3>
</div>
<div class="article ${v.code}">
<span class="code-label">${codeLabel(v.code)}</span> ${v.article}
</div>
<div class="penalty">
<span class="penalty-label">Наказание:</span>
<span>${v.penalty}</span>
</div>
</div>
`).join("");
}
function filterAndSearch() {
let results = VIOLATIONS;
if (currentCode !== "all") {
results = results.filter(v => v.code === currentCode);
}
if (currentQuery.trim()) {
results = results.filter(v => matchesQuery(v, currentQuery));
}
render(results, currentQuery);
}
function search() {
currentQuery = document.getElementById("search").value;
filterAndSearch();
}
function setFilter(code, btn) {
currentCode = code;
document.querySelectorAll(".filter-btn").forEach(b => b.classList.remove("active"));
btn.classList.add("active");
filterAndSearch();
}
document.getElementById("search").addEventListener("input", search);
document.getElementById("search").addEventListener("keydown", function(e) {
if (e.key === "Enter") search();
});
filterAndSearch();
</script>
</body>
</html>