.cm-tool-shell { margin: 8px auto 22px; }
.cm-tool-shell__inner {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    box-shadow: 0 4px 14px rgba(15,23,42,0.05);
    padding: 22px 28px 26px;
}
body.dark-mode .cm-tool-shell__inner {
    background: linear-gradient(180deg, #1c2230 0%, #161c28 100%);
    border-color: #2d3548;
}
.cm-tool-shell__toolbar { padding: 4px 4px 14px; margin-bottom: 14px; border-bottom: 1px solid #e2e8f0; }
body.dark-mode .cm-tool-shell__toolbar { border-bottom-color: #2d3548; }
.cm-tool-shell__body { padding: 6px 0 0; }
.cm-tool-shell__body.calendar-month-page { padding: 6px 0 0; }
.lunar-tool-actions { margin-top: 18px; padding-top: 18px; border-top: 1px solid #e2e8f0; }
body.dark-mode .lunar-tool-actions { border-top-color: #2d3548; }
.lunar-tool-actions__buttons { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.lunar-tool-actions__buttons .btn-action {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 11px 18px; border-radius: 10px;
    font-size: 0.92rem; font-weight: 600; text-decoration: none; cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    border: 1px solid transparent;
}
.lunar-tool-actions__buttons .btn-action:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(15,23,42,0.10); }
.lunar-tool-actions__label { display: inline-flex; flex-direction: column; align-items: flex-start; line-height: 1.15; }
.lunar-tool-actions__label strong { font-size: 0.92rem; }
.lunar-tool-actions__label small { font-size: 0.72rem; opacity: 0.78; font-weight: 500; }
.lunar-tool-actions__buttons .btn-action.btn-print { background:#fff !important; color:#0f172a !important; border-color:#cbd5e1 !important; }
.lunar-tool-actions__buttons .btn-action.btn-custom-pdf { background:#fff !important; color:#b91c1c !important; border-color:#fecaca !important; }
.lunar-tool-actions__buttons .btn-action.btn-share { background:#0284c7 !important; color:#fff !important; border-color:#0369a1 !important; }
.lunar-tool-actions__buttons .btn-action.btn-print .icon i { color:#0f172a !important; }
.lunar-tool-actions__buttons .btn-action.btn-custom-pdf .icon i { color:#b91c1c !important; }
.lunar-tool-actions__buttons .btn-action.btn-share .icon i { color:#fff !important; }
.lunar-tool-actions__buttons .btn-action .lunar-tool-actions__label,
.lunar-tool-actions__buttons .btn-action .lunar-tool-actions__label strong,
.lunar-tool-actions__buttons .btn-action .lunar-tool-actions__label small { color: inherit !important; }
body.lunar-page-month .cdp-tool-body { min-width: 0; }
.calendar-month-maion-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.75fr) minmax(300px, 1fr);
    column-gap: 22px; row-gap: 18px;
    align-items: start; width: 100%;
}
@media (max-width: 1300px) { .calendar-month-maion-layout { grid-template-columns: 1fr; } }
.calendar-month-maion-layout .calendar-month-single-shell { min-width: 0; width: 100%; }
.calendar-month-maion-layout .calendar-month-single-card { margin: 0; padding: 14px; overflow: visible; cursor: default; box-shadow: none; }
.calendar-month-maion-layout .month-title { display: flex; align-items: baseline; gap: 8px; margin: 0 0 12px; }
.calendar-month-maion-layout .month-title__name { font-size: 1.25rem; font-weight: 800; color: var(--text-color, #0f172a); }
.calendar-month-maion-layout .month-title__year { font-size: 1.25rem; font-weight: 800; color: #0071e3; }
.calendar-month-maion-layout .calendar-month-summary-col { min-width: 0; align-self: stretch; display: flex; flex-direction: column; }
.calendar-month-maion-layout .calendar-month-grid { width: 100%; column-gap: 9px; row-gap: 9px; margin-bottom: 4px; }
.calendar-month-maion-layout .calendar-month-day {
    min-height: 0; aspect-ratio: 1; border-radius: 6px; background: #f8fafc;
    border: 1px solid rgba(0,0,0,0.08);
    display: grid; grid-template-rows: auto minmax(0, 1fr) auto; grid-template-columns: 100%;
    padding: 5px 6px; line-height: 1;
    box-sizing: border-box; min-width: 0; overflow: hidden; position: relative;
}
.calendar-month-maion-layout .calendar-month-day > time {
    position: static !important; top: auto !important; left: auto !important;
    grid-row: 1; justify-self: start; align-self: start;
    transform: none !important; width: auto !important; display: inline-block; text-align: left;
    font-size: 0.86rem; font-weight: 800; line-height: 1;
    font-variant-numeric: tabular-nums; color: var(--text-color, #0f172a);
}
.calendar-month-maion-layout .calendar-month-day.empty { background: transparent; border: 0; }
.calendar-month-maion-layout .calendar-month-day.today { border: 2px solid #0071e3; }
.calendar-month-maion-layout .calendar-month-day .lunar-day-deeplink { position: absolute; inset: 0; z-index: 2; }
.calendar-month-maion-layout .moon-phase-badges {
    grid-row: 2; align-self: center; justify-self: center;
    display: inline-flex; align-items: center; justify-content: center;
}
.calendar-month-maion-layout .moon-phase-badge { font-size: 18px; line-height: 1; }
.calendar-month-maion-layout .moon-phase-name { display: none !important; }
.calendar-month-maion-layout .calendar-month-weekday { font-size: 0.82rem; padding-bottom: 12px; position: relative; text-align: center; font-weight: 700; color: #475569; }
.calendar-month-maion-layout .calendar-month-weekday::after, .calendar-month-maion-layout .calendar-month-week-header::after {
    content: ""; position: absolute; left: -6px; right: -6px; bottom: 3px; height: 2px; background: #5ba3f5; border-radius: 2px; opacity: 0.7;
}
.calendar-month-maion-layout .calendar-month-week-header { position: relative; font-size: 0.78rem; font-weight: 700; color: #475569; padding-bottom: 10px; text-align: center; }
.calendar-month-maion-layout .calendar-month-week-cell { font-size: 0.95rem; font-weight: 800; border-radius: 6px; color: #1d4ed8; background: rgba(0,113,227,0.14); border: 1px solid rgba(0,113,227,0.30); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.calendar-month-maion-layout .calendar-month-day.week-row-lit,
.calendar-month-maion-layout .calendar-month-week-cell.week-row-lit { filter: brightness(1.16); transition: filter 0.12s ease; }
.calendar-month-maion-layout .cmsumm-card { background: linear-gradient(135deg, rgba(255,255,255,0.85), rgba(241,246,255,0.92)); border: 1px solid rgba(0,113,227,0.15); border-radius: 16px; padding: 16px 14px; display: flex; flex-direction: column; height: 100%; box-sizing: border-box; }
.calendar-month-maion-layout .cmsumm-card__title { font-weight: 800; font-size: 0.95rem; color: var(--text-color, #0f172a); margin-bottom: 10px; }
.calendar-month-maion-layout .cmsumm-row { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 7px 10px; margin-bottom: 4px; border: 1px solid rgba(0,113,227,0.11); border-radius: 10px; background: rgba(255,255,255,0.5); }
.calendar-month-maion-layout .cmsumm-row__icon { font-size: 1.05rem; line-height: 1; text-align: center; }
.calendar-month-maion-layout .cmsumm-row__icon--dist { color: #0071e3; font-size: 0.78rem; }
.calendar-month-maion-layout .cmsumm-group { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.07em; color: #64748b; font-weight: 700; margin: 10px 2px 4px; }
.calendar-month-maion-layout .cmsumm-group:first-of-type { margin-top: 2px; }
body.dark-mode .calendar-month-maion-layout .cmsumm-group { color: #94a3b8; }
.calendar-month-maion-layout .lunar-month-legend { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(0,0,0,0.08); }
@media (max-width: 560px) { .calendar-month-maion-layout .lunar-month-legend { grid-template-columns: 1fr; } }
.calendar-month-maion-layout .lmleg-title { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: #64748b; font-weight: 700; margin-bottom: 6px; }
.calendar-month-maion-layout .lmleg-item { display: flex; align-items: baseline; gap: 7px; font-size: 0.86rem; color: #334155; padding: 2px 0; }
.calendar-month-maion-layout .lmleg-ico { font-size: 0.95rem; flex-shrink: 0; }
.calendar-month-maion-layout .lmleg-txt strong { color: #0071e3; font-weight: 800; margin-right: 2px; }
.calendar-month-maion-layout .lmleg-hint { color: #94a3b8; font-size: 0.78rem; }
body.dark-mode .calendar-month-maion-layout .lunar-month-legend { border-top-color: rgba(255,255,255,0.1); }
body.dark-mode .calendar-month-maion-layout .lmleg-title { color: #94a3b8; }
body.dark-mode .calendar-month-maion-layout .lmleg-item { color: #cbd5e1; }
body.dark-mode .calendar-month-maion-layout .lmleg-txt strong { color: #7aa7e0; }
.calendar-month-maion-layout .cmsumm-row__label { font-size: 0.82rem; color: #475569; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendar-month-maion-layout .cmsumm-row__value { font-size: 0.9rem; font-weight: 700; color: var(--text-color, #0f172a); text-align: right; white-space: nowrap; }
.calendar-month-maion-layout .cmsumm-row__hint { font-size: 0.72rem; color: #94a3b8; font-weight: 500; }
body.dark-mode .calendar-month-maion-layout .month-title__name { color: #f1f5f9; }
body.dark-mode .calendar-month-maion-layout .calendar-month-day { background: #2c2c2e; border-color: #3f3f46; }
body.dark-mode .calendar-month-maion-layout .calendar-month-day > time { color: #f5f5f7; }
body.dark-mode .calendar-month-maion-layout .calendar-month-day.weekend { background: #3a414d; border-color: #5f6a7d; }
body.dark-mode .calendar-month-maion-layout .calendar-month-week-cell { color: #bcd8ff; background: rgba(0,113,227,0.22); border-color: rgba(0,113,227,0.40); }
body.dark-mode .calendar-month-maion-layout .cmsumm-card { background: linear-gradient(135deg, #1b2336, #161d2e); border-color: #334155; }
body.dark-mode .calendar-month-maion-layout .cmsumm-card__title { color: #f1f5f9; }
body.dark-mode .calendar-month-maion-layout .cmsumm-row { background: rgba(30,41,59,0.6); border-color: #334155; }
body.dark-mode .calendar-month-maion-layout .cmsumm-row__label { color: #94a3b8; }
body.dark-mode .calendar-month-maion-layout .cmsumm-row__value { color: #f1f5f9; }
body.lunar-page-month .cm-tool-actions--year,
body.lunar-page-month.dark-mode .cm-tool-actions--year {
    background: transparent !important;
    border: 0;
    border-radius: 0;
    padding: 0;
    margin-top: 16px;
    margin-bottom: 8px;
}
.calendar-month-summary-col .qm-fp{display:none!important}
.calendar-month-maion-layout .cmsumm-hoje{display:block;padding:8px 10px;margin:0 0 4px;border-radius:10px;border:1px solid rgba(0,113,227,0.18);background:rgba(0,113,227,0.06);color:#0a3d8f;font-weight:700;font-size:.86rem;text-decoration:none}
.calendar-month-maion-layout .cmsumm-hoje span{text-decoration:underline;text-underline-offset:3px}
.calendar-month-maion-layout .cmsumm-hoje:hover{background:rgba(0,113,227,0.12)}
.calendar-month-maion-layout .cmsumm-hoje:focus-visible{outline:3px solid #d4a017;outline-offset:2px}
body.dark-mode .calendar-month-maion-layout .cmsumm-hoje{background:rgba(125,211,252,0.08);border-color:#334155;color:#7dd3fc}
