Загрузить файлы в «/»

This commit is contained in:
2026-05-31 19:19:19 +00:00
parent d40544bfb1
commit 7281580ee1

514
brize.css Normal file
View File

@@ -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;
}