/* * AI 觀測台共用視覺系統 * 只在 ewoooc_base.html 的 .momo-observability-mode 啟用,避免污染一般後台頁。 */ .momo-observability-mode { --obs-ink: var(--momo-ink, #302720); --obs-muted: var(--momo-muted, #8b8077); --obs-paper: var(--momo-paper, #fff8ef); --obs-accent: var(--momo-accent, #c96442); --obs-accent-soft: rgba(201, 100, 66, 0.12); --obs-line: rgba(86, 64, 48, 0.14); --obs-card: rgba(255, 252, 246, 0.92); --obs-green: #4f8a5b; --obs-amber: #b8792f; --obs-red: #b94b45; --obs-blue: #4f6f8f; } .momo-observability-mode .momo-content { background: radial-gradient(circle at 8% 4%, rgba(201, 100, 66, 0.12), transparent 24rem), radial-gradient(circle at 100% 20%, rgba(79, 111, 143, 0.11), transparent 26rem), linear-gradient(180deg, rgba(255, 248, 239, 0.65), rgba(255, 253, 248, 0.96)); } .momo-observability-mode .container-fluid > h2:first-child { position: relative; margin-bottom: 1.1rem !important; padding: 1.2rem 1.25rem; border: 1px solid var(--obs-line); border-radius: 24px; background: radial-gradient(circle at 16% 10%, rgba(201, 100, 66, 0.16), transparent 20rem), linear-gradient(135deg, rgba(255, 248, 239, 0.96), rgba(255, 255, 255, 0.76)); box-shadow: 0 18px 42px rgba(70, 46, 28, 0.08); color: var(--obs-ink); font-family: Georgia, 'Times New Roman', 'Noto Sans TC', serif; font-size: clamp(1.65rem, 3vw, 2.65rem); letter-spacing: -0.045em; } .momo-observability-mode .container-fluid > h2:first-child small { display: block; margin-top: 0.3rem; color: var(--obs-muted) !important; font-family: 'Noto Sans TC', sans-serif; font-size: 0.88rem; font-weight: 500; letter-spacing: 0; } .momo-observability-mode .card { border: 1px solid var(--obs-line); border-radius: 22px; background: var(--obs-card); box-shadow: 0 14px 34px rgba(70, 46, 28, 0.07); overflow: hidden; } .momo-observability-mode .card-header { border-bottom: 1px solid var(--obs-line); background: linear-gradient(90deg, rgba(255, 248, 239, 0.92), rgba(255, 255, 255, 0.72)) !important; color: var(--obs-ink); font-weight: 800; } .momo-observability-mode .card-body { color: var(--obs-ink); } .momo-observability-mode .card-footer { border-top: 1px solid var(--obs-line); background: rgba(255, 248, 239, 0.56); } .momo-observability-mode .text-muted { color: var(--obs-muted) !important; } .momo-observability-mode h3, .momo-observability-mode h4, .momo-observability-mode h5 { letter-spacing: -0.035em; } .momo-observability-mode code, .momo-observability-mode .momo-mono, .momo-observability-mode table td, .momo-observability-mode table th { font-variant-numeric: tabular-nums; } .momo-observability-mode .table { --bs-table-bg: transparent; --bs-table-striped-bg: rgba(255, 248, 239, 0.46); color: var(--obs-ink); margin-bottom: 0; } .momo-observability-mode .table thead, .momo-observability-mode .table-light { --bs-table-bg: rgba(255, 248, 239, 0.9); color: var(--obs-muted); font-size: 0.74rem; letter-spacing: 0.08em; text-transform: uppercase; } .momo-observability-mode .table td, .momo-observability-mode .table th { border-color: rgba(86, 64, 48, 0.1); vertical-align: middle; } .momo-observability-mode .btn { border-radius: 999px; font-weight: 760; letter-spacing: -0.01em; } .momo-observability-mode .btn-primary, .momo-observability-mode .btn-warning, .momo-observability-mode .btn-success { border-color: var(--obs-accent) !important; background: var(--obs-accent) !important; color: #fff8ef !important; } .momo-observability-mode .btn-outline-primary, .momo-observability-mode .btn-outline-secondary, .momo-observability-mode .btn-outline-info, .momo-observability-mode .btn-outline-warning, .momo-observability-mode .btn-outline-danger, .momo-observability-mode .btn-outline-success { border-color: rgba(201, 100, 66, 0.34) !important; color: var(--obs-accent) !important; background: rgba(255, 255, 255, 0.5); } .momo-observability-mode .btn:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(201, 100, 66, 0.14); } .momo-observability-mode .badge.bg-secondary, .momo-observability-mode .badge.bg-primary, .momo-observability-mode .badge.bg-info { background: rgba(79, 111, 143, 0.14) !important; color: var(--obs-blue) !important; } .momo-observability-mode .badge.bg-warning { background: rgba(184, 121, 47, 0.14) !important; color: var(--obs-amber) !important; } .momo-observability-mode .badge.bg-danger { background: rgba(185, 75, 69, 0.14) !important; color: var(--obs-red) !important; } .momo-observability-mode .badge.bg-success { background: rgba(79, 138, 91, 0.14) !important; color: var(--obs-green) !important; } .momo-observability-mode .alert { border-radius: 18px; border-color: rgba(184, 121, 47, 0.24); background: rgba(184, 121, 47, 0.08); color: var(--obs-amber); } .momo-observability-mode canvas { max-width: 100%; } .momo-observability-mode .modal-content { border: 1px solid var(--obs-line); border-radius: 24px; background: var(--obs-paper); box-shadow: 0 24px 70px rgba(70, 46, 28, 0.18); } .momo-observability-mode .modal-header, .momo-observability-mode .modal-footer { border-color: var(--obs-line); } @media (max-width: 768px) { .momo-observability-mode .container-fluid { padding-left: 0.7rem; padding-right: 0.7rem; } .momo-observability-mode .table-responsive, .momo-observability-mode .card-body.p-0 { overflow-x: auto; } }