Easy-Financial-Report / css /components.css
baba521's picture
test
037085a
/* 组件样式 */
/* 消息提示样式 */
#ant-message-container {
position: fixed;
top: 20px;
left: 50%;
transform: translateX(-50%);
z-index: 9999;
width: fit-content;
max-width: 80%;
}
.ant-message {
background: #fff2f0;
border: 1px solid #ffccc7;
border-radius: 4px;
padding: 10px 16px;
margin-bottom: 10px;
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
display: flex;
align-items: center;
animation: antMessageFadeIn 0.3s ease-in-out;
font-size: 14px;
line-height: 1.5;
}
.ant-message-success {
background: #f6ffed;
border-color: #b7eb8f;
}
.ant-message-warning {
background: #fffbe6;
border-color: #ffe58f;
}
.ant-message-info {
background: #e6f7ff;
border-color: #91d5ff;
}
.ant-message-error {
background: #fff2f0;
border-color: #ffccc7;
}
.ant-message-icon {
margin-right: 8px;
font-weight: bold;
font-size: 16px;
}
.ant-message-success .ant-message-icon {
color: #52c41a;
}
.ant-message-warning .ant-message-icon {
color: #faad14;
}
.ant-message-info .ant-message-icon {
color: #1890ff;
}
.ant-message-error .ant-message-icon {
color: #ff4d4f;
}
@keyframes antMessageFadeIn {
from { opacity: 0; transform: translateY(-100%); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes antMessageFadeOut {
from { opacity: 1; transform: translateY(0); }
to { opacity: 0; transform: translateY(-100%); }
}
/* 按钮样式 */
.btn-primary {
background-color: #2563eb;
color: white;
font-weight: 600;
padding: 0.5rem 1rem;
border-radius: 0.5rem;
border: none;
cursor: pointer;
transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-primary:hover {
background-color: #1d4ed8;
}
.btn-secondary {
background-color: #e5e7eb;
color: #374151;
font-weight: 500;
padding: 0.5rem 1rem;
border-radius: 0.5rem;
border: 1px solid #d1d5db;
cursor: pointer;
transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-secondary:hover {
background-color: #f3f4f6;
}
/* 输入框样式 */
.input-field {
flex: 1;
background-color: transparent;
padding: 0.5rem 0.5rem;
outline: none;
}
.input-container {
display: flex;
align-items: center;
border: 1px solid #d1d5db;
border-radius: 0.25rem;
/* padding: 0.25rem 0.5rem; */
background-color: #f3f4f6;
margin-top: 10px;
}
.input-container:focus-within {
border-color: #3b82f6;
}
.company-list-container {
padding: 0 !important;
margin: 0 !important;
border: 0 !important;
border-radius: unset !important;
border-color: unset !important;
}
.company-item {
padding: 8px 10px !important;
margin-top: 6px !important;
font-size: 16px !important;
background-color: unset !important;
cursor: pointer;
}
.company-item:hover {
background-color: #466bb5 !important;
}
/* .selected-company 样式已移至app.py中的custom_css */
/* 卡片样式 */
.card {
background-color: white;
border: 1px solid #d1d5db;
border-radius: 0.5rem;
/* padding: 1rem; */
}
.card-title {
font-weight: 500;
color: #111827;
/* margin: 0 0 0.75rem 0; */
padding: 5px 7px;
}
/* 表格样式 */
.data-table {
width: 100%;
font-size: 0.875rem;
}
.data-table th {
text-align: left;
padding: 0.5rem 0;
color: #6b7280;
border-bottom: 1px solid #e5e7eb;
}
.data-table td {
padding: 0.5rem 0;
border-bottom: 1px solid #e5e7eb;
}
.data-table tr:last-child td {
border-bottom: none;
}
.text-right {
text-align: right;
}
.text-green {
color: #16a34a;
}
.text-red {
color: #dc2626;
}
/* 进度条样式 */
.progress-container {
width: 100%;
background-color: #e5e7eb;
border-radius: 0.5rem;
height: 0.5rem;
margin-top: 0.25rem;
}
.progress-bar {
height: 100%;
border-radius: 0.5rem;
}
.progress-bar.blue {
background-color: #3b82f6;
}
.progress-bar.green {
background-color: #22c55e;
}
.progress-bar.purple {
background-color: #a855f7;
}
.progress-bar.red {
background-color: #ef4444;
}
/* PDF预览样式 */
.pdf-preview {
border: 1px solid #d1d5db;
border-radius: 0.5rem;
overflow: hidden;
}
.pdf-header {
display: flex;
align-items: center;
gap: 0.25rem;
padding: 0.5rem;
border-bottom: 1px solid #d1d5db;
font-size: 0.875rem;
}
.pdf-pages {
display: flex;
padding: 0.5rem;
}
.pdf-page {
height: 6rem;
border: 1px solid #d1d5db;
border-radius: 0.25rem;
cursor: pointer;
margin-right: 0.5rem;
}
.pdf-page:hover {
border-color: #93c5fd;
}
.pdf-page.active {
border-color: #93c5fd;
border-width: 2px;
}
.pdf-viewer {
height: 100%;
border: 1px solid #e5e7eb;
background-color: #f3f4f6;
display: flex;
align-items: center;
justify-content: center;
}
.pdf-footer {
padding: 0.5rem;
background-color: #f3f4f6;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 0.875rem;
color: #6b7280;
margin-top: 0 !important;
}
/* 图标按钮 */
.icon-button {
cursor: pointer;
padding: 0.25rem;
border-radius: 0.25rem;
}
.icon-button:hover {
background-color: #f3f4f6;
color: #2563eb;
}
.custom-add-input {
position: relative;
padding-left: 32px !important;
}
.custom-add-input textarea::before {
content: "+";
position: absolute;
left: 8px;
top: 50%;
transform: translateY(-50%);
color: #007bff;
font-weight: bold;
font-size: 16px;
}
.report-list-box {
height: 300px;
display: unset !important;
overflow-y: auto !important;
}
.report-item-content {
display: flex;
align-items: center;
justify-content: space-between;
}
.report-item {
height: fit-content;
padding: 4px 6px;
}
.report-item-content span:hover {
color: #e1853e !important;
}
.metric-card-item-current-ratio {
height: 109px !important;
padding-top: 15px !important;
}
.metric-card-item-current-ratio .slider_input_container {
padding-top: 15px !important;
}
.chat-content-box {
height: 500px !important;
overflow-y: auto !important;
}
/* .chat-content-box .message-wrap {
height: 400px !important;
} */
.company-input-box {
width: 100% !important;
}
.company-input-box label {
width: 100% !important;
min-width: 100% !important;
}
.company-input-box div {
width: 100% !important;
}
.company-input-box textarea {
width: 100% !important;
}
.left-card-title {
background: #fff !important;
}
.home-company-list {
width: 100%;
padding: 10px;
background: #f9fafb !important;
}
.home-company-item-box {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0;
gap: 10px;
}
/* 单个元素时居中对齐 */
.home-company-item-box.single-item {
justify-content: center;
}
.home-company-item {
border: 2px solid rgb(217 217 217);
padding: 8px 12px;
border-radius: 8px;
font-size: 16px;
flex: 1;
min-width: 0;
color: rgb(142 143 143);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-align: center;
cursor: pointer;
transition: all 0.2s ease;
}
.home-company-item:hover {
background-color: #e5e7eb;
border-color: rgb(156 163 175);
color: rgb(55 65 81);
transform: translateY(-1px);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.news-list-box .news-item {
padding: 5px;
}
.news-list-box .news-item-content span:hover {
color: rgb(225, 133, 62) !important
}
.invest-suggest-md-box, .analysis-report-md-box {
padding: 10px 20px !important;
/* border-left: 1px solid #d0d5dc !important; */
}
.metric-card-col-left {
max-width: 250px !important;
height: 300px !important;
}
.metric-card-col-middle {
max-width: 450px !important;
height: 300px !important;
}
.metric-card-col-right {
max-width: 600px !important;
height: 300px !important;
}
[class*="generating"] {
display: none !important;
}