From 7281580ee196780a42cc2b22d9616222532247e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD=20=D0=A0=D0=BE=D0=BC=D0=B0?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Sun, 31 May 2026 19:19:19 +0000 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20=C2=AB?= =?UTF-8?q?/=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- brize.css | 514 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 514 insertions(+) create mode 100644 brize.css diff --git a/brize.css b/brize.css new file mode 100644 index 0000000..f8238dc --- /dev/null +++ b/brize.css @@ -0,0 +1,514 @@ +/* ============================================================ + Тема Redmine — ТСН Бризе + Стиль: современный минимализм, природная палитра + Версия: 1.0 | 2026 + ============================================================ */ + +/* --- Переменные палитры ------------------------------------ */ +:root { + --brize-dark: #1d3a1d; /* шапка, заголовки */ + --brize-mid: #2d5a2d; /* акцент, кнопки */ + --brize-accent: #4a8a44; /* ссылки, иконки */ + --brize-light: #eef1eb; /* фон сайдбара, тулбара */ + --brize-bg: #f5f7f4; /* фон страницы */ + --brize-border: #d0d8cc; /* бордеры */ + --brize-text: #1a2e1a; /* основной текст */ + --brize-muted: #6a9260; /* вспомогательный текст */ + --brize-header-fg: #a8c8a0; /* текст в шапке */ + --brize-header-link:#7aaa72; /* ссылки в шапке */ + --brize-urgent: #c05028; /* аварийное */ +} + +/* --- Шрифты ------------------------------------------------ */ +@import url('https://fonts.googleapis.com/css2?family=Geologica:wght@300;400;500&family=Unbounded:wght@400;500&display=swap'); + +body { + font-family: 'Geologica', -apple-system, sans-serif; + font-size: 13px; + color: var(--brize-text); + background: var(--brize-bg); +} + +/* --- Шапка (header) --------------------------------------- */ +#header { + background: var(--brize-dark) !important; + border-bottom: none !important; + box-shadow: none !important; + padding: 0 24px; + height: 52px; + display: flex; + align-items: center; +} + +#header h1, +#header h1 a { + font-family: 'Unbounded', sans-serif !important; + font-size: 13px !important; + font-weight: 400 !important; + color: var(--brize-header-fg) !important; + letter-spacing: .04em; + text-decoration: none; +} + +#header h1 a:hover { + color: #c8e8c0 !important; +} + +/* Навигация в шапке */ +#navigation { + background: transparent !important; + border: none !important; +} + +#navigation ul li a, +#navigation ul li a:visited { + color: var(--brize-header-link) !important; + font-family: 'Geologica', sans-serif; + font-size: 12px; + padding: 6px 10px; + border-radius: 5px; + transition: background .15s, color .15s; +} + +#navigation ul li a:hover, +#navigation ul li.selected a { + background: rgba(120, 180, 110, .15) !important; + color: #c8e8c0 !important; +} + +/* Пользовательское меню */ +#loggedas, +#account { + color: var(--brize-header-link) !important; + font-size: 12px; +} + +#account a, +#loggedas a { + color: var(--brize-header-link) !important; +} + +/* Поиск в шапке */ +#header #quick-search input { + background: rgba(255,255,255,.08) !important; + border: 0.5px solid rgba(255,255,255,.15) !important; + color: #c8e8c0 !important; + border-radius: 6px; + font-size: 12px; +} + +#header #quick-search input::placeholder { + color: rgba(168, 200, 160, .5); +} + +/* --- Основной layout -------------------------------------- */ +#main { + background: var(--brize-bg); +} + +#sidebar { + background: var(--brize-light); + border-right: 0.5px solid var(--brize-border); +} + +#content { + background: var(--brize-bg); +} + +/* --- Сайдбар ---------------------------------------------- */ +#sidebar h3, +#sidebar h4 { + font-family: 'Geologica', sans-serif; + font-size: 10px; + font-weight: 500; + color: var(--brize-muted); + text-transform: uppercase; + letter-spacing: .08em; + border-bottom: none; + padding-bottom: 4px; + margin-bottom: 4px; +} + +#sidebar ul li a { + color: var(--brize-accent) !important; + font-size: 12px; + padding: 4px 8px; + border-radius: 5px; + display: block; +} + +#sidebar ul li a:hover { + background: rgba(60, 110, 55, .08); + color: var(--brize-mid) !important; +} + +/* --- Тулбар над контентом --------------------------------- */ +#main-menu, +div.contextual { + background: var(--brize-light); + border-bottom: 0.5px solid var(--brize-border); +} + +/* --- Заголовки страниц ------------------------------------ */ +h1, h2 { + font-family: 'Unbounded', sans-serif !important; + font-weight: 400 !important; + color: var(--brize-dark) !important; + letter-spacing: -.01em; +} + +h1 { font-size: 18px !important; margin-bottom: 16px; } +h2 { font-size: 14px !important; margin-bottom: 10px; } +h3 { font-size: 13px; font-weight: 500; color: var(--brize-dark); } + +/* --- Ссылки ----------------------------------------------- */ +a, a:visited { + color: var(--brize-accent) !important; + text-decoration: none; +} + +a:hover { + color: var(--brize-mid) !important; + text-decoration: underline; +} + +/* --- Кнопки ----------------------------------------------- */ +.button, +input[type=submit], +input[type=button], +a.button { + background: var(--brize-mid) !important; + color: #c8e8c0 !important; + border: none !important; + border-radius: 6px !important; + font-family: 'Geologica', sans-serif !important; + font-size: 12px !important; + font-weight: 400 !important; + padding: 6px 14px !important; + cursor: pointer; + transition: background .15s; +} + +.button:hover, +input[type=submit]:hover, +a.button:hover { + background: var(--brize-dark) !important; + color: #c8e8c0 !important; +} + +/* Второстепенные кнопки */ +a.icon, .icon-only { + color: var(--brize-accent) !important; +} + +/* --- Таблица задач ---------------------------------------- */ +table.list { + border-collapse: collapse; + width: 100%; + background: #fff; + border: 0.5px solid var(--brize-border); + border-radius: 8px; + overflow: hidden; +} + +table.list thead th { + background: var(--brize-light) !important; + color: var(--brize-muted) !important; + font-size: 10px; + font-weight: 500; + text-transform: uppercase; + letter-spacing: .05em; + border-bottom: 0.5px solid var(--brize-border) !important; + padding: 8px 12px; +} + +table.list thead th a { + color: var(--brize-muted) !important; +} + +table.list tbody tr td { + padding: 8px 12px; + border-top: 0.5px solid #e8ede4; + font-size: 12px; + color: var(--brize-text); +} + +table.list tbody tr:hover td { + background: #f8faf6; +} + +table.list tbody tr.odd td { + background: transparent; +} + +table.list tbody tr.even td { + background: #fafcf8; +} + +table.list tbody tr.even:hover td, +table.list tbody tr.odd:hover td { + background: #f2f6ef; +} + +/* --- Статусы задач (badges) ------------------------------- */ +.issue-status-label, +span.status { + display: inline-block; + font-size: 10px; + font-weight: 500; + padding: 2px 8px; + border-radius: 10px; +} + +/* Настрой под свои реальные имена статусов */ +.status-new, [class*="New"] { background: #e8ede4; color: #3d5e38; } +.status-in-progress, [class*="In Progress"] { background: #ddeef8; color: #1a5080; } +.status-resolved, [class*="Resolved"] { background: #d8ecd0; color: #2a5824; } +.status-closed, [class*="Closed"] { background: #f0ede8; color: #5a5450; } +.status-urgent { background: #fde8e0; color: #8a3020; } + +/* --- Приоритеты ------------------------------------------- */ +.priority-urgent, .priority-immediate { + color: var(--brize-urgent) !important; + font-weight: 500; +} + +/* --- Блок деталей задачи ---------------------------------- */ +#issue-detail, +.issue.details { + background: #fff; + border: 0.5px solid var(--brize-border); + border-radius: 8px; + padding: 20px 24px; +} + +.issue.details h3 { + border-bottom: 0.5px solid var(--brize-border); + padding-bottom: 8px; + margin-bottom: 12px; +} + +/* Атрибуты задачи */ +table.attributes th { + color: var(--brize-muted); + font-size: 11px; + font-weight: 500; + text-align: right; + padding-right: 12px; + white-space: nowrap; +} + +table.attributes td { + font-size: 12px; + color: var(--brize-text); +} + +/* --- Журнал (комментарии) --------------------------------- */ +div.journal { + background: #fff; + border: 0.5px solid var(--brize-border); + border-radius: 8px; + margin-bottom: 10px; + overflow: hidden; +} + +div.journal h4 { + background: var(--brize-light); + padding: 8px 14px; + font-size: 11px; + font-weight: 500; + color: var(--brize-muted); + border-bottom: 0.5px solid var(--brize-border); + margin: 0; +} + +div.journal .wiki { + padding: 12px 14px; + font-size: 13px; + line-height: 1.6; +} + +/* --- Wiki ------------------------------------------------- */ +#wiki { + background: #fff; + border: 0.5px solid var(--brize-border); + border-radius: 8px; + padding: 24px; + line-height: 1.7; +} + +#wiki h1, #wiki h2, #wiki h3 { + border-bottom: 0.5px solid var(--brize-border); + padding-bottom: 6px; +} + +#wiki table { + border-collapse: collapse; + width: 100%; +} + +#wiki table th { + background: var(--brize-light); + padding: 6px 10px; + font-size: 12px; + text-align: left; + border: 0.5px solid var(--brize-border); +} + +#wiki table td { + padding: 6px 10px; + font-size: 12px; + border: 0.5px solid var(--brize-border); +} + +/* --- Формы ------------------------------------------------- */ +input[type=text], +input[type=email], +input[type=password], +textarea, +select { + font-family: 'Geologica', sans-serif !important; + font-size: 13px !important; + border: 0.5px solid var(--brize-border) !important; + border-radius: 6px !important; + padding: 6px 10px !important; + background: #fff !important; + color: var(--brize-text) !important; + transition: border-color .15s; +} + +input[type=text]:focus, +textarea:focus, +select:focus { + border-color: var(--brize-accent) !important; + outline: none !important; + box-shadow: 0 0 0 3px rgba(74, 138, 68, .12) !important; +} + +/* --- Флеш-уведомления ------------------------------------- */ +div#flash_notice, p.notice { + background: #d8ecd0; + color: #1d3a1d; + border: 0.5px solid #b0d0a8; + border-radius: 6px; + padding: 10px 14px; + font-size: 12px; +} + +div#flash_error, p.error { + background: #fde8e0; + color: #6a2010; + border: 0.5px solid #f0b8a0; + border-radius: 6px; + padding: 10px 14px; + font-size: 12px; +} + +div#flash_warning { + background: #fdf3d8; + color: #5a3c08; + border: 0.5px solid #f0d898; + border-radius: 6px; + padding: 10px 14px; + font-size: 12px; +} + +/* --- Пагинация -------------------------------------------- */ +p.pagination { + font-size: 12px; + color: var(--brize-muted); +} + +p.pagination a { + color: var(--brize-accent) !important; + border: 0.5px solid var(--brize-border); + padding: 3px 8px; + border-radius: 4px; +} + +p.pagination a:hover { + background: var(--brize-light); +} + +p.pagination span.current { + background: var(--brize-mid); + color: #c8e8c0; + padding: 3px 8px; + border-radius: 4px; +} + +/* --- Стартовая страница / Welcome block ------------------- */ +#welcome { + background: var(--brize-dark); + border-radius: 8px; + padding: 20px 24px; + margin-bottom: 20px; + color: var(--brize-header-fg); +} + +#welcome h2 { + font-family: 'Unbounded', sans-serif !important; + font-size: 15px !important; + color: #c8e8c0 !important; + margin-bottom: 6px; +} + +#welcome p { + color: var(--brize-header-link); + font-size: 12px; +} + +/* --- Хлебные крошки --------------------------------------- */ +p#breadcrumb, +div.breadcrumb { + font-size: 11px; + color: var(--brize-muted); + padding: 8px 0; +} + +div.breadcrumb a { + color: var(--brize-accent) !important; +} + +/* --- Табы (вкладки) --------------------------------------- */ +div.tabs ul li a { + color: var(--brize-accent) !important; + border-bottom: 2px solid transparent; + font-size: 12px; + padding: 6px 12px; + transition: border-color .15s; +} + +div.tabs ul li a:hover, +div.tabs ul li.selected a { + border-bottom-color: var(--brize-mid); + color: var(--brize-mid) !important; + background: transparent !important; +} + +/* --- Gantt / Календарь ------------------------------------ */ +.gantt_hdr { + background: var(--brize-light) !important; + color: var(--brize-muted) !important; + font-size: 11px; +} + +/* --- Скроллбар (webkit) ----------------------------------- */ +::-webkit-scrollbar { width: 6px; height: 6px; } +::-webkit-scrollbar-track { background: var(--brize-bg); } +::-webkit-scrollbar-thumb { background: #b8c8b0; border-radius: 3px; } +::-webkit-scrollbar-thumb:hover { background: var(--brize-accent); } + +/* --- Футер ------------------------------------------------ */ +#footer { + background: var(--brize-dark); + color: #5a7a54; + font-size: 11px; + text-align: center; + padding: 12px; + border-top: none; +} + +#footer a { + color: #6a9a64 !important; +}