* {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    html, body {
        height: 100%;
    }

    body {
        font-family: 'Fixedsys', 'Courier New', monospace;
        background: #1e1e1e;
        color: #d4d4d4;
        overflow: hidden;
    }

    /* ===== JANELA / SHELL ===== */
    .cal-window {
        width: 100vw;
        height: 100vh;
        background: #1e1e1e;
        border-top: 2px solid #3c3c3c;
        border-left: 2px solid #3c3c3c;
        border-right: 2px solid #0a0a0a;
        border-bottom: 2px solid #0a0a0a;
        display: flex;
        flex-direction: column;
    }

    /* ===== TITLE BAR (98 clássica, versão escura) ===== */
    .title-bar {
        background: linear-gradient(90deg, #1a1a2e 0%, #16213e 100%);
        height: 22px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 4px;
        border-bottom: 1px solid #0f3460;
        flex-shrink: 0;
    }

    .title-content {
        display: flex;
        align-items: center;
        gap: 5px;
    }

    .title-icon {
        width: 14px;
        height: 14px;
        flex-shrink: 0;
        object-fit: contain;
        background: transparent !important;
        border: 0 !important;
    }

    .title-text {
        font-size: 11px;
        font-weight: bold;
        color: #e8e8e8;
        letter-spacing: 0.5px;
    }

    .window-controls {
        display: flex;
        gap: 2px;
    }

    .control-btn {
        width: 18px;
        height: 16px;
        background: #2d2d2d;
        border-top: 1px solid #4a4a4a;
        border-left: 1px solid #4a4a4a;
        border-right: 1px solid #0a0a0a;
        border-bottom: 1px solid #0a0a0a;
        font-size: 9px;
        color: #d4d4d4;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }

    .control-btn:active {
        border-top: 1px solid #0a0a0a;
        border-left: 1px solid #0a0a0a;
        border-right: 1px solid #4a4a4a;
        border-bottom: 1px solid #4a4a4a;
    }

    /* ===== HEADER: RELOGIO + DATA ===== */
    .clock-header {
        padding: 18px 20px 14px;
        border-bottom: 2px solid #0a0a0a;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        flex-shrink: 0;
        position: relative;
    }

    .clock-time {
        font-size: 40px;
        font-weight: bold;
        color: #ffffff;
        line-height: 1;
        letter-spacing: 1px;
        font-variant-numeric: tabular-nums;
    }

    .clock-date {
        margin-top: 8px;
        font-size: 13px;
        color: #a0a0a0;
        text-transform: capitalize;
    }

    .chevron-btn {
        width: 26px;
        height: 26px;
        background: #2d2d2d;
        border-top: 1px solid #4a4a4a;
        border-left: 1px solid #4a4a4a;
        border-right: 1px solid #0a0a0a;
        border-bottom: 1px solid #0a0a0a;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #d4d4d4;
        font-size: 12px;
        cursor: pointer;
        flex-shrink: 0;
    }

    .chevron-btn:active {
        border-top: 1px solid #0a0a0a;
        border-left: 1px solid #0a0a0a;
        border-right: 1px solid #4a4a4a;
        border-bottom: 1px solid #4a4a4a;
    }

    /* ===== NAVEGACAO DE MES ===== */
    .month-nav {
        padding: 14px 20px 8px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-shrink: 0;
    }

    .month-label {
        font-size: 14px;
        font-weight: bold;
        color: #ffffff;
    }

    .month-arrows {
        display: flex;
        gap: 6px;
    }

    .nav-btn {
        width: 22px;
        height: 20px;
        background: #2d2d2d;
        border-top: 1px solid #4a4a4a;
        border-left: 1px solid #4a4a4a;
        border-right: 1px solid #0a0a0a;
        border-bottom: 1px solid #0a0a0a;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #d4d4d4;
        font-size: 10px;
        cursor: pointer;
    }

    .nav-btn:active {
        border-top: 1px solid #0a0a0a;
        border-left: 1px solid #0a0a0a;
        border-right: 1px solid #4a4a4a;
        border-bottom: 1px solid #4a4a4a;
    }

    /* ===== GRADE DO CALENDARIO ===== */
    .calendar-grid-wrap {
        flex: 1;
        padding: 6px 20px 10px;
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    .weekday-row {
        display: grid;
        grid-template-columns: repeat(7, 1fr);
        text-align: center;
        font-size: 11px;
        font-weight: bold;
        color: #808080;
        padding-bottom: 8px;
    }

    .day-grid {
        display: grid;
        grid-template-columns: repeat(7, 1fr);
        grid-auto-rows: 1fr;
        gap: 2px;
        flex: 1;
    }

    .day-cell {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        padding-top: 6px;
        font-size: 13px;
        color: #d4d4d4;
        position: relative;
    }

    .day-cell.muted {
        color: #4a4a4a;
    }

    .day-cell .num {
        width: 30px;
        height: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* dia atual: quadrado preenchido, estilo 98 (sem radius) */
    .day-cell.today .num {
        background: #2f6fed;
        color: #ffffff;
        font-weight: bold;
        border-top: 1px solid #6a9bff;
        border-left: 1px solid #6a9bff;
        border-right: 1px solid #1a3a8a;
        border-bottom: 1px solid #1a3a8a;
    }

    /* dia selecionado (nao e o atual): apenas contorno */
    .day-cell.selected .num {
        border: 1px solid #2f6fed;
        color: #9fc0ff;
    }

    /* em feriados, a seleção fica contida no número */
    .day-cell.selected.holiday .num {
        box-sizing: border-box;
        border: 2px solid #2f6fed;
        box-shadow: none;
    }

    /* feriado: item abaixo do número do dia */
    .day-cell.holiday .num {
        color: #e85c5c;
    }

    .holiday-bar {
        width: calc(100% - 8px);
        margin: 3px 4px 0;
        height: 14px;
        background: #e85c5c;
        border-radius: 2px;
        box-sizing: border-box;
        color: #ffffff;
        font-size: 9px;
        font-weight: bold;
        line-height: 14px;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        flex-shrink: 0;
    }

    /* ===== RODAPE: TIMER DE FOCO ===== */
    .focus-bar {
        height: 42px;
        border-top: 2px solid #0a0a0a;
        background: #202020;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 14px;
        flex-shrink: 0;
    }

    .duration-control {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .duration-btn {
        width: 22px;
        height: 22px;
        background: #2d2d2d;
        border-top: 1px solid #4a4a4a;
        border-left: 1px solid #4a4a4a;
        border-right: 1px solid #0a0a0a;
        border-bottom: 1px solid #0a0a0a;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 13px;
        color: #d4d4d4;
        cursor: pointer;
    }

    .duration-btn:active {
        border-top: 1px solid #0a0a0a;
        border-left: 1px solid #0a0a0a;
        border-right: 1px solid #4a4a4a;
        border-bottom: 1px solid #4a4a4a;
    }

    .duration-label {
        font-size: 12px;
        color: #d4d4d4;
        min-width: 78px;
    }

    .start-btn {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 5px 14px;
        background: #2d2d2d;
        border-top: 1px solid #4a4a4a;
        border-left: 1px solid #4a4a4a;
        border-right: 1px solid #0a0a0a;
        border-bottom: 1px solid #0a0a0a;
        font-size: 12px;
        font-weight: bold;
        color: #d4d4d4;
        cursor: pointer;
    }

    .start-btn:active {
        border-top: 1px solid #0a0a0a;
        border-left: 1px solid #0a0a0a;
        border-right: 1px solid #4a4a4a;
        border-bottom: 1px solid #4a4a4a;
    }

    .start-btn .play-icon {
        color: #6ad46a;
        font-size: 10px;
    }

    .start-btn.running {
        background: #3a1f1f;
    }

    .start-btn.running .play-icon {
        color: #e85c5c;
    }

    /* ===== DESTAQUE DE FOCO NO HEADER ===== */
    .focus-display {
        display: none;
        text-align: center;
        margin-right: 16px;
        width: fit-content;
        padding: 10px 28px 8px;
        background: #262626;
        border-top: 1px solid #3c3c3c;
        border-left: 1px solid #3c3c3c;
        border-right: 1px solid #0a0a0a;
        border-bottom: 1px solid #0a0a0a;
    }

    .clock-header.focus-active .focus-display {
        display: block;
    }

    .clock-header.focus-active .clock-time {
        font-size: 22px;
        color: #a0a0a0;
    }

    .clock-header.focus-active .clock-date {
        font-size: 11px;
    }

    .focus-display .focus-time {
        font-size: 34px;
        font-weight: bold;
        color: #6ad46a;
        line-height: 1;
        font-variant-numeric: tabular-nums;
    }

    .focus-display .focus-label {
        margin-top: 5px;
        font-size: 10px;
        color: #808080;
        text-transform: uppercase;
        letter-spacing: 1px;
        text-align: center;
    }

    .day-cell {
        cursor: pointer;
    }

    .day-cell.muted {
        cursor: default;
    }

    .month-label {
        cursor: pointer;
        user-select: none;
    }

    .month-label:hover {
        color: #9fc0ff;
    }

    /* ===== GRADE DE MESES / ANOS (picker) ===== */
    .picker-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-auto-rows: 1fr;
        gap: 6px;
        flex: 1;
    }

    .picker-cell {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        color: #d4d4d4;
        cursor: pointer;
    }

    .picker-cell .num {
        padding: 8px 14px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .picker-cell.muted {
        color: #4a4a4a;
        cursor: default;
    }

    .picker-cell.current .num {
        background: #2f6fed;
        color: #ffffff;
        font-weight: bold;
        border-top: 1px solid #6a9bff;
        border-left: 1px solid #6a9bff;
        border-right: 1px solid #1a3a8a;
        border-bottom: 1px solid #1a3a8a;
    }

    .picker-cell:not(.muted):hover .num {
        border: 1px solid #2f6fed;
    }

    /* ===== BARRA DE MENUS (98) ===== */
    .menu-bar {
        display: flex;
        align-items: center;
        height: 22px;
        background: #202020;
        border-bottom: 1px solid #0a0a0a;
        flex-shrink: 0;
        position: relative;
        z-index: 100;
        user-select: none;
    }

    .menu-item {
        position: relative;
        padding: 3px 10px;
        font-size: 11px;
        color: #d4d4d4;
        cursor: pointer;
    }

    .menu-item:hover,
    .menu-item.open {
        background: #2f6fed;
        color: #ffffff;
    }

    .dropdown-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        min-width: 200px;
        background: #2d2d2d;
        border: 1px solid #0a0a0a;
        box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.5);
        z-index: 1000;
        padding: 3px 0;
    }

    .menu-item.open .dropdown-menu {
        display: block;
    }

    .menu-option {
        padding: 5px 12px 5px 8px;
        font-size: 11px;
        color: #d4d4d4;
        cursor: pointer;
        white-space: nowrap;
    }

    .menu-option:hover {
        background: #2f6fed;
        color: #ffffff;
    }

    .menu-option.disabled {
        display: none;
    }

    .menu-check {
        display: inline-block;
        width: 16px;
        color: #6ad46a;
        font-size: 11px;
    }

    .menu-separator {
        height: 1px;
        background: #444;
        margin: 3px 6px;
    }

    /* ===== DIÁLOGO (genérico, usado por "Sobre" e futuros diálogos) ===== */
    .dialog-overlay {
        display: flex;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        align-items: center;
        justify-content: center;
        z-index: 9999;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.15s ease;
    }

    .dialog-overlay.open {
        opacity: 1;
        pointer-events: auto;
    }

    .dialog-box {
        background: #202020;
        border-top: 1px solid #4a4a4a;
        border-left: 1px solid #4a4a4a;
        border-right: 1px solid #0a0a0a;
        border-bottom: 1px solid #0a0a0a;
        min-width: 300px;
        max-width: 380px;
        box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.6);
    }

    .dialog-title {
        background: linear-gradient(90deg, #1a1a2e 0%, #16213e 100%);
        color: #eeeeee;
        font-weight: bold;
        font-size: 12px;
        padding: 5px 8px;
    }

    .dialog-body {
        padding: 16px;
        color: #d4d4d4;
        font-size: 12px;
    }

    .dialog-message {
        line-height: 1.5;
        margin-bottom: 14px;
    }

    .dialog-footer {
        display: flex;
        justify-content: flex-end;
        gap: 8px;
    }

    .dialog-btn {
        min-width: 70px;
        padding: 4px 10px;
        font-family: inherit;
        font-size: 12px;
        background: #2d2d2d;
        border-top: 1px solid #4a4a4a;
        border-left: 1px solid #4a4a4a;
        border-right: 1px solid #0a0a0a;
        border-bottom: 1px solid #0a0a0a;
        color: #d4d4d4;
        cursor: pointer;
    }

    .dialog-btn:active {
        border-top: 1px solid #0a0a0a;
        border-left: 1px solid #0a0a0a;
        border-right: 1px solid #4a4a4a;
        border-bottom: 1px solid #4a4a4a;
    }

    /* botão em destaque (ação padrão/primária), estilo do botão default do Windows */
    .dialog-btn.primary {
        font-weight: bold;
        outline: 1px solid #6ad46a;
        outline-offset: -3px;
    }

    /* item de menu temporariamente bloqueado por contexto (ex.: janela
       estreita demais pro relógio analógico) — visível mas não clicável,
       diferente do ".disabled" (que fica oculto por não estar pronto) */
    .menu-option.width-locked {
        color: #5a5a5a;
        cursor: default;
    }

    .menu-option.width-locked:hover {
        background: transparent;
        color: #5a5a5a;
    }

    .menu-option.width-locked .menu-check {
        color: #5a5a5a;
    }

    /* feriados ocultos via menu Exibir */
    .cal-window.hide-holidays .holiday-bar {
        display: none;
    }

    .cal-window.hide-holidays .day-cell.holiday .num {
        color: inherit;
    }

    /* nota abaixo dos itens fixos do dia; a cor vem de note.color via inline style */
    .note-bar {
        width: calc(100% - 8px);
        margin: 3px 4px 0;
        padding: 2px 6px;
        border-radius: 3px;
        font-size: 10px;
        color: #ffffff;
        text-align: left;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        box-sizing: border-box;
        flex-shrink: 0;
    }

    .cal-window.hide-notes .note-bar {
        display: none;
    }

    /* ===== LAYOUT PRINCIPAL: coluna do calendário + painel lateral ===== */
    .body-row {
        flex: 1;
        display: flex;
        min-height: 0;
        overflow: hidden;
    }

    .main-column {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        min-height: 0;
    }

    /* ===== PAINEL LATERAL: NOTAS (aberto via duplo clique num dia, se a
       tela for larga o suficiente; ver notes.js) ===== */
    .notes-panel {
        width: 0;
        flex-shrink: 0;
        overflow: hidden;
        border-left: 2px solid #0a0a0a;
        background: #181818;
        transition: width 0.25s ease;
        display: flex;
        flex-direction: column;
    }

    .notes-panel.open {
        width: 260px;
    }

    .notes-panel-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 14px;
        border-bottom: 1px solid #0a0a0a;
        font-size: 11px;
        color: #808080;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        flex-shrink: 0;
    }

    .notes-panel-close {
        width: 18px;
        height: 18px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        color: #808080;
        font-size: 11px;
    }

    .notes-panel-close:hover {
        color: #d4d4d4;
    }

    .notes-panel .quick-notes-label {
        margin: 14px 14px 8px;
    }

    .notes-panel .quick-notes-input {
        margin: 0 14px 14px;
        flex: 1;
    }

    .notes-panel .quick-notes-color-picker {
        margin: 0 14px 10px;
    }

    /* quando as notas entram no MESMO painel do relógio analógico (ver
       notes.js), o relógio encolhe um pouco mas continua com os ponteiros
       legíveis, e o painel passa a empilhar (relógio em cima, notas embaixo) */
    .analog-panel.with-notes {
        align-items: stretch;
        justify-content: flex-start;
        padding-top: 16px;
    }

    .analog-panel.with-notes .analog-panel-inner {
        flex-shrink: 0;
    }

    .analog-panel.with-notes .analog-face {
        transform: scale(0.7);
        margin: -26px 0;
    }

    .analog-notes-section {
        display: none;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        border-top: 1px solid #0a0a0a;
        margin-top: 10px;
    }

    .analog-panel.with-notes .analog-notes-section {
        display: flex;
    }

    .analog-notes-section .quick-notes-label {
        margin: 12px 14px 8px;
    }

    .analog-notes-section .quick-notes-input {
        margin: 0 14px 14px;
        flex: 1;
    }

    .analog-notes-section .quick-notes-color-picker {
        margin: 0 14px 10px;
    }

    /* ===== PAINEL LATERAL: RELÓGIO ANALÓGICO ===== */
    .analog-panel {
        width: 0;
        flex-shrink: 0;
        overflow: hidden;
        border-left: 2px solid #0a0a0a;
        background: #181818;
        transition: width 0.25s ease;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .analog-panel.open {
        width: 220px;
    }

    .analog-panel-inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 14px;
    }

    .analog-face {
        position: relative;
        width: 170px;
        height: 170px;
        border-radius: 50%;
        background: radial-gradient(circle at 35% 30%, #2a2a2a, #141414 75%);
        border: 4px solid #3a3a3a;
        box-shadow: inset 0 0 12px rgba(0, 0, 0, 0.6);
        flex-shrink: 0;
    }

    .analog-tick {
        position: absolute;
        left: 50%;
        top: 4px;
        width: 1px;
        height: 6px;
        background: #6a6a6a;
        transform-origin: 50% 81px;
    }

    .analog-tick.major {
        width: 2px;
        height: 10px;
        background: #d4d4d4;
    }

    .analog-hand {
        position: absolute;
        left: 50%;
        top: 50%;
        background: #d4d4d4;
        transform-origin: 50% 100%;
        border-radius: 2px;
    }

    .analog-hand-hour {
        width: 4px;
        height: 44px;
        margin-left: -2px;
        margin-top: -44px;
        background: #eaeaea;
    }

    .analog-hand-minute {
        width: 3px;
        height: 64px;
        margin-left: -1.5px;
        margin-top: -64px;
        background: #eaeaea;
    }

    .analog-hand-second {
        width: 1px;
        height: 74px;
        margin-left: -0.5px;
        margin-top: -74px;
        background: #2f6fed;
    }

    .analog-center {
        position: absolute;
        left: 50%;
        top: 50%;
        width: 8px;
        height: 8px;
        margin-left: -4px;
        margin-top: -4px;
        border-radius: 50%;
        background: #2f6fed;
        border: 1px solid #0a0a0a;
    }

    .analog-caption {
        font-size: 12px;
        color: #a0a0a0;
        letter-spacing: 0.5px;
    }

    /* ===== MODO COLAPSADO (apenas relógio + foco) ===== */
    .cal-window.collapsed .menu-bar,
    .cal-window.collapsed .month-nav,
    .cal-window.collapsed .calendar-grid-wrap {
        display: none;
    }

    .cal-window.collapsed .clock-header {
        border-bottom: none;
    }

    .chevron-btn {
        transition: transform 0.15s ease;
    }

    .cal-window.collapsed .chevron-btn {
        transform: rotate(180deg);
    }

    /* ===== NOTAS RÁPIDAS (aparece no lugar da grade, só no modo colapsado) ===== */
    .quick-notes {
        display: none;
        flex: 1;
        min-height: 0;
        flex-direction: column;
        padding: 18px 24px;
        max-width: 560px; /* evita esticar a linha de texto em telas largas */
    }

    .cal-window.collapsed .quick-notes {
        display: flex;
    }

    .quick-notes.excel-mode-active {
        width: 100%;
        max-width: none;
        box-sizing: border-box;
    }

    .quick-notes-label {
        font-size: 11px;
        color: #808080;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 10px;
        flex-shrink: 0;
    }

    .quick-notes-input {
        flex: 1;
        resize: none;
        border: none;
        outline: none;
        background: transparent;
        color: #d4d4d4;
        font-family: inherit;
        font-size: 14px;
        line-height: 1.6;
    }

    .quick-notes-input::placeholder {
        color: #5a5a5a;
    }

    /* feriado como item fixo (só visual, não entra no JSON da nota) */
    .notes-holiday-banner {
        display: none;
        font-size: 12px;
        font-weight: 500;
        color: #ff6b6b;
        margin: -4px 0 10px;
        flex-shrink: 0;
    }

    .notes-holiday-banner.visible {
        display: block;
    }

    /* seletor de cor da nota */
    .quick-notes-color-picker {
        display: flex;
        align-items: center;
        gap: 8px;
        margin: 0 0 10px;
        flex-shrink: 0;
    }

    .quick-notes-color-label {
        color: #808080;
        font-size: 11px;
        white-space: nowrap;
    }

    .quick-notes-colors {
        display: flex;
        gap: 8px;
        flex-shrink: 0;
    }

    .note-color-swatch {
        width: 16px;
        height: 16px;
        border-radius: 50%;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 9px;
        color: #ffffff;
        flex-shrink: 0;
    }

    .note-color-swatch[data-color="yellow"] { background: #e8b339; }
    .note-color-swatch[data-color="blue"] { background: #4c93e8; }
    .note-color-swatch[data-color="green"] { background: #3fae5a; }
    .note-color-swatch[data-color="red"] { background: #e85c5c; }
    .note-color-swatch[data-color="purple"] { background: #9d6fe0; }
    .note-color-swatch[data-color="orange"] { background: #e8983f; }

    .note-color-swatch.selected {
        box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.6);
    }

    /* ===== ABAS ESTILO PLANILHA (só aparece no tema Excel — ver bloco do tema) ===== */
    .excel-tabbar {
        display: none;
        align-items: center;
        gap: 2px;
        flex-shrink: 0;
        margin-top: 10px;
        padding-top: 6px;
        border-top: 1px solid #3f3f41;
        font-size: 12px;
        user-select: none;
    }

    .excel-tabbar-nav {
        display: flex;
        gap: 2px;
        margin-right: 8px;
        color: #6a6a6a;
    }

    .excel-tabbar-arrow {
        cursor: default;
        padding: 2px 4px;
    }

    .excel-tab {
        padding: 5px 14px;
        color: #a0a0a0;
        background: #201f1e;
        border: 1px solid #3f3f41;
        border-bottom: none;
        border-radius: 3px 3px 0 0;
        cursor: pointer;
    }

    .excel-tab:hover {
        color: #e2e2e2;
    }

    .excel-tab.active {
        color: #1a1a1a;
        background: #ffffff;
        font-weight: bold;
        border-color: #217346;
        border-top: 2px solid #217346;
    }

    .excel-tab-add {
        margin-left: 6px;
        width: 20px;
        height: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #6a6a6a;
        cursor: default;
    }

    .excel-mode-pane {
        display: none;
        flex: 1;
        min-height: 0;
        overflow: auto;
        padding: 12px 0 4px;
        position: relative;
    }

    .excel-mode-pane.visible {
        display: flex;
        flex-direction: column;
    }

    .excel-formula-row {
        display: grid;
        grid-template-columns: 78px 28px minmax(160px, 1fr) minmax(180px, 1.2fr);
        align-items: center;
        margin-bottom: 10px;
        border: 1px solid #3f3f41;
        background: #252526;
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
    }

    .excel-name-box,
    .excel-formula-input {
        width: 100%;
        height: 28px;
        box-sizing: border-box;
        border: 0;
        background: #1e1e1e;
        color: #e2e2e2;
        font: inherit;
        padding: 3px 7px;
    }

    .excel-name-box {
        border-right: 1px solid #3f3f41;
        text-align: center;
    }

    .excel-name-box.invalid {
        outline: 2px solid #e85c5c;
        outline-offset: -2px;
    }

    .excel-formula-fx {
        height: 28px;
        padding: 0;
        border: 0;
        background: transparent;
        color: #6fcf97;
        font-family: Georgia, serif;
        font-style: italic;
        font-weight: bold;
        text-align: center;
        cursor: pointer;
    }

    .excel-formula-fx:hover,
    .excel-formula-fx[aria-expanded="true"] {
        background: #185536;
        color: #ffffff;
    }

    .excel-formula-input {
        border-right: 1px solid #3f3f41;
        border-left: 1px solid #3f3f41;
    }

    .excel-formula-output {
        min-width: 0;
        padding: 0 8px;
        color: #d6d6d6;
        font-size: 11px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .excel-formula-help {
        display: none;
        position: absolute;
        top: 43px;
        left: 78px;
        z-index: 20;
        width: min(390px, calc(100% - 90px));
        padding: 9px;
        box-sizing: border-box;
        background: #252526;
        border: 1px solid #217346;
        box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.55);
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
    }

    .excel-formula-help.open {
        display: block;
    }

    .excel-formula-help-title {
        margin-bottom: 6px;
        color: #e2e2e2;
        font-size: 12px;
        font-weight: bold;
    }

    .excel-formula-example {
        display: grid;
        grid-template-columns: 150px 1fr;
        width: 100%;
        padding: 6px;
        border: 0;
        background: transparent;
        color: #d6d6d6;
        text-align: left;
        cursor: pointer;
        font: inherit;
    }

    .excel-formula-example:hover {
        background: #217346;
        color: #ffffff;
    }

    .excel-formula-example code {
        color: #6fcf97;
        font-size: 10px;
        white-space: nowrap;
    }

    .excel-formula-example:hover code {
        color: #ffffff;
    }

    .excel-formula-help-note {
        margin-top: 5px;
        padding-top: 6px;
        border-top: 1px solid #3f3f41;
        color: #808080;
        font-size: 10px;
    }

    .excel-unlock-hint {
        position: absolute;
        top: 17px;
        right: 55px;
        z-index: 30;
        width: 205px;
        padding: 9px 11px;
        box-sizing: border-box;
        background: #217346;
        border: 1px solid #185536;
        box-shadow: 2px 3px 7px rgba(0, 0, 0, 0.28);
        color: #ffffff;
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
        font-size: 11px;
        line-height: 1.25;
        pointer-events: none;
        animation: excel-hint-in 0.2s ease-out;
    }

    .excel-unlock-hint::after {
        content: "";
        position: absolute;
        top: 9px;
        right: -8px;
        border-width: 7px 0 7px 8px;
        border-style: solid;
        border-color: transparent transparent transparent #217346;
    }

    .excel-unlock-hint strong,
    .excel-unlock-hint span {
        display: block;
    }

    .excel-unlock-hint span {
        margin-top: 2px;
        color: #e0f0e5;
    }

    @keyframes excel-hint-in {
        from { opacity: 0; transform: translateX(5px); }
        to { opacity: 1; transform: translateX(0); }
    }

    .excel-tools {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
    }

    .excel-tool-card {
        min-width: 0;
        padding: 10px;
        background: #252526;
        border: 1px solid #3f3f41;
    }

    .excel-tool-card:first-child {
        grid-column: 1 / -1;
    }

    .excel-tool-card-wide {
        grid-column: 1 / -1;
    }

    .excel-tool-title {
        margin-bottom: 9px;
        color: #e2e2e2;
        font-size: 13px;
        font-weight: bold;
    }

    .excel-fx {
        margin-right: 5px;
        color: #6fcf97;
        font-family: Georgia, serif;
        font-style: italic;
        font-weight: bold;
    }

    .excel-date-fields,
    .excel-calculator-fields {
        display: flex;
        align-items: flex-end;
        gap: 6px;
    }

    .excel-date-fields label {
        flex: 1;
        min-width: 0;
        color: #a0a0a0;
        font-size: 11px;
    }

    .excel-field-label,
    .excel-converter-fields label {
        color: #a0a0a0;
        font-size: 11px;
    }

    .excel-input {
        width: 100%;
        height: 28px;
        margin-top: 3px;
        padding: 3px 6px;
        box-sizing: border-box;
        background: #1e1e1e;
        border: 1px solid #55555a;
        color: #e2e2e2;
        font: inherit;
    }

    .excel-input:focus {
        outline: 2px solid #217346;
        outline-offset: -1px;
    }

    .excel-operator {
        width: 42px;
        flex-shrink: 0;
        text-align: center;
    }

    .excel-action-btn {
        min-height: 28px;
        margin-top: 8px;
        padding: 4px 12px;
        background: #217346;
        border: 1px solid #185536;
        color: #ffffff;
        cursor: pointer;
        font: inherit;
    }

    .excel-action-btn:active {
        background: #185536;
    }

    .excel-equals-btn {
        width: 34px;
        flex-shrink: 0;
        margin-top: 3px;
    }

    .excel-option-row {
        display: flex;
        align-items: center;
        gap: 6px;
        margin-top: 8px;
        color: #a0a0a0;
        font-size: 11px;
        cursor: pointer;
    }

    .excel-option-row input {
        accent-color: #217346;
    }

    .excel-converter-fields {
        display: grid;
        grid-template-columns: minmax(80px, 0.7fr) minmax(100px, 1fr) auto minmax(100px, 1fr) auto;
        align-items: end;
        gap: 6px;
    }

    .excel-converter-arrow {
        padding-bottom: 6px;
        color: #6fcf97;
        font-size: 16px;
    }

    .excel-convert-btn {
        margin-top: 0;
    }

    .excel-result {
        display: block;
        margin-top: 8px;
        padding: 7px 8px;
        background: #1e1e1e;
        border-left: 3px solid #217346;
        color: #d6d6d6;
        font-size: 12px;
        line-height: 1.35;
    }

    .excel-holiday-result {
        margin-top: 0;
    }

    .excel-tool-note {
        margin-top: 6px;
        color: #808080;
        font-size: 10px;
    }

    .excel-status-bar {
        display: flex;
        gap: 16px;
        margin-top: 10px;
        padding: 5px 8px;
        border-top: 1px solid #3f3f41;
        background: #217346;
        color: #ffffff;
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
        font-size: 10px;
        white-space: nowrap;
    }

    .excel-status-ready {
        margin-left: auto;
    }

    /* liga a barra de abas só quando o tema Planilha está ativo */
    .theme-excel .excel-tabbar {
        display: flex;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-tabbar {
        border-top-color: #d0d0d0;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-tab {
        background: #f3f2f1;
        border-color: #c8c8c8;
        color: #595959;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-tab.active {
        background: #ffffff;
        color: #1a1a1a;
        border-color: #217346;
        border-top-color: #217346;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-tool-card {
        background: #ffffff;
        border-color: #d0d0d0;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-formula-row {
        background: #f3f2f1;
        border-color: #c8c8c8;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-name-box,
    .cal-window.theme-excel:not(.dark-mode) .excel-formula-input {
        background: #ffffff;
        border-color: #c8c8c8;
        color: #1a1a1a;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-formula-output {
        color: #404040;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-formula-help {
        background: #ffffff;
        border-color: #217346;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-formula-help-title {
        color: #262626;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-formula-example {
        color: #404040;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-formula-example code {
        color: #185536;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-formula-example:hover,
    .cal-window.theme-excel:not(.dark-mode) .excel-formula-example:hover code {
        color: #ffffff;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-tool-title {
        color: #262626;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-date-fields label {
        color: #595959;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-field-label,
    .cal-window.theme-excel:not(.dark-mode) .excel-converter-fields label,
    .cal-window.theme-excel:not(.dark-mode) .excel-option-row {
        color: #595959;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-input {
        background: #ffffff;
        border-color: #a6a6a6;
        color: #1a1a1a;
    }

    .cal-window.theme-excel:not(.dark-mode) .excel-result {
        background: #f3f2f1;
        color: #262626;
    }

    @media (max-width: 560px) {
        .excel-tools {
            grid-template-columns: 1fr;
        }

        .excel-formula-row {
            grid-template-columns: 72px 26px minmax(120px, 1fr);
        }

        .excel-formula-output {
            grid-column: 1 / -1;
            padding: 6px 8px;
            border-top: 1px solid #3f3f41;
        }

        .excel-formula-help {
            left: 0;
            width: 100%;
        }

        .excel-unlock-hint {
            right: 49px;
            width: 185px;
        }

        .excel-tool-card:first-child {
            grid-column: auto;
        }

        .excel-tool-card-wide {
            grid-column: auto;
        }

        .excel-date-fields {
            align-items: stretch;
            flex-direction: column;
        }

        .excel-converter-fields {
            grid-template-columns: 1fr 1fr;
        }

        .excel-converter-arrow {
            display: none;
        }

        .excel-convert-btn {
            align-self: end;
        }

        .excel-status-bar {
            flex-wrap: wrap;
            gap: 5px 12px;
        }

        .excel-status-ready {
            margin-left: 0;
        }
    }

    /* =======================================================
       TEMA XP (Luna azul, versão escura)
       Aplicado via classe "theme-xp" em .cal-window (definida no JS)
       ======================================================= */
    .cal-window.theme-xp {
        font-family: 'Tahoma', 'Segoe UI', sans-serif;
        background: #14181f;
        border-top: 1px solid #4a86c8;
        border-left: 1px solid #4a86c8;
        border-right: 1px solid #0a0a0a;
        border-bottom: 1px solid #0a0a0a;
        border-radius: 6px;
        overflow: hidden;
    }

    .theme-xp .title-bar {
        background: linear-gradient(to right, #1b3f73, #2c5aa0 45%, #1b3f73);
        border-bottom: 1px solid #0d223f;
        height: 26px;
        padding: 0 4px 0 6px;
    }

    .theme-xp .title-text {
        font-family: 'Tahoma', sans-serif;
        font-size: 12px;
        color: #eaf2ff;
    }

    .theme-xp .title-icon {
        background: #6bb1ff;
        border-radius: 2px;
    }

    .theme-xp .control-btn {
        background: linear-gradient(to bottom, #3a4a5f, #23303f);
        border: 1px solid #0d223f;
        border-radius: 3px;
        color: #eaf2ff;
    }

    .theme-xp .control-btn:active {
        background: linear-gradient(to bottom, #23303f, #3a4a5f);
    }

    .theme-xp .clock-header {
        border-bottom: 1px solid #23303f;
        background: linear-gradient(to bottom, #182230, #14181f);
    }

    .theme-xp .clock-time {
        font-family: 'Tahoma', sans-serif;
        color: #ffffff;
    }

    .theme-xp .clock-date {
        font-family: 'Tahoma', sans-serif;
        color: #8fa8c8;
    }

    .theme-xp .quick-notes-label {
        color: #8fa8c8;
    }

    .theme-xp .quick-notes-input {
        font-family: 'Tahoma', sans-serif;
        color: #eaf2ff;
    }

    .theme-xp .chevron-btn,
    .theme-xp .nav-btn,
    .theme-xp .duration-btn,
    .theme-xp .start-btn {
        background: linear-gradient(to bottom, #3a4a5f, #23303f);
        border: 1px solid #0d223f;
        border-radius: 3px;
        color: #eaf2ff;
    }

    .theme-xp .chevron-btn:active,
    .theme-xp .nav-btn:active,
    .theme-xp .duration-btn:active,
    .theme-xp .start-btn:active {
        background: linear-gradient(to bottom, #23303f, #3a4a5f);
    }

    .theme-xp .month-label {
        font-family: 'Tahoma', sans-serif;
        color: #eaf2ff;
    }

    .theme-xp .month-label:hover {
        color: #8fc4ff;
    }

    .theme-xp .weekday-row {
        color: #6f8bb0;
    }

    .theme-xp .day-cell,
    .theme-xp .picker-cell {
        font-family: 'Tahoma', sans-serif;
        color: #dbe6f5;
    }

    .theme-xp .day-cell.muted,
    .theme-xp .picker-cell.muted {
        color: #3d4a5c;
    }

    .theme-xp .day-cell.today .num,
    .theme-xp .picker-cell.current .num {
        background: linear-gradient(to bottom, #4c93e8, #2c5aa0);
        border: 1px solid #6bb1ff;
        border-radius: 4px;
        color: #ffffff;
    }

    .theme-xp .day-cell.selected .num {
        border: 1px solid #4c93e8;
        border-radius: 4px;
        color: #a8d0ff;
    }

    .theme-xp .day-cell.holiday .num {
        color: #ff8a80;
    }

    .theme-xp .day-cell.holiday::after {
        background: #ff8a80;
    }

    .theme-xp .picker-cell:not(.muted):hover .num {
        border: 1px solid #4c93e8;
        border-radius: 4px;
    }

    .theme-xp .focus-bar {
        background: linear-gradient(to bottom, #182230, #14181f);
        border-top: 1px solid #23303f;
    }

    .theme-xp .duration-label {
        font-family: 'Tahoma', sans-serif;
        color: #dbe6f5;
    }

    .theme-xp .start-btn .play-icon {
        color: #7be07b;
    }

    .theme-xp .start-btn.running {
        background: linear-gradient(to bottom, #d94f4f, #9c1f1f);
        border: 1px solid #6e1414;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
    }

    .theme-xp .start-btn.running .play-icon {
        color: #ffe4e0;
    }

    .theme-xp .start-btn.running span:last-child {
        color: #ffffff;
    }

    .theme-xp .focus-display {
        background: linear-gradient(to bottom, #1f2f47, #142033);
        border: 1px solid #0d223f;
        border-radius: 5px;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    }

    .theme-xp .focus-display .focus-time {
        color: #6bb1ff;
        font-family: 'Tahoma', sans-serif;
        text-shadow: 0 0 10px rgba(107, 177, 255, 0.4);
    }

    .theme-xp .focus-display .focus-label {
        color: #6f8bb0;
    }

    .theme-xp .menu-bar {
        background: linear-gradient(to bottom, #1f2a38, #182230);
        border-bottom: 1px solid #0d223f;
    }

    .theme-xp .menu-item {
        font-family: 'Tahoma', sans-serif;
        color: #dbe6f5;
        border-radius: 3px;
        margin: 2px 1px;
    }

    .theme-xp .menu-item:hover,
    .theme-xp .menu-item.open {
        background: linear-gradient(to bottom, #4c93e8, #2c5aa0);
        color: #ffffff;
    }

    .theme-xp .dropdown-menu {
        background: #1b2432;
        border: 1px solid #0d223f;
        border-radius: 4px;
        box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.6);
    }

    .theme-xp .menu-option {
        font-family: 'Tahoma', sans-serif;
        color: #dbe6f5;
    }

    .theme-xp .menu-option:hover {
        background: linear-gradient(to bottom, #4c93e8, #2c5aa0);
        color: #ffffff;
    }

    .theme-xp .menu-separator {
        background: #33465f;
    }

    .theme-xp .dialog-box {
        background: #14181f;
        border: 1px solid #4a86c8;
        border-radius: 6px;
        overflow: hidden;
    }

    .theme-xp .dialog-title {
        background: linear-gradient(to right, #1b3f73, #2c5aa0 45%, #1b3f73);
        font-family: 'Tahoma', sans-serif;
    }

    .theme-xp .dialog-body {
        font-family: 'Tahoma', sans-serif;
        color: #dbe6f5;
    }

    .theme-xp .dialog-btn {
        font-family: 'Tahoma', sans-serif;
        background: linear-gradient(to bottom, #3a4a5f, #23303f);
        border: 1px solid #0d223f;
        border-radius: 3px;
        color: #eaf2ff;
    }

    /* =======================================================
       TEMA VISTA (glass azulado, versão escura)
       Aplicado via classe "theme-vista" em .cal-window
       ======================================================= */
    .cal-window.theme-vista {
        font-family: 'Segoe UI', sans-serif;
        background: #10161f;
        border: 1px solid rgba(120, 170, 220, 0.4);
        border-radius: 8px;
        box-shadow: 0 3px 14px rgba(0, 40, 100, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05);
        overflow: hidden;
    }

    .theme-vista .title-bar {
        background: linear-gradient(to bottom,
                rgba(70, 120, 190, 0.55) 0%,
                rgba(30, 60, 110, 0.65) 55%,
                rgba(15, 35, 70, 0.75) 100%);
        backdrop-filter: blur(6px);
        border-bottom: 1px solid rgba(120, 170, 220, 0.35);
        height: 26px;
        padding: 0 4px 0 6px;
    }

    .theme-vista .title-text {
        font-family: 'Segoe UI', sans-serif;
        font-size: 12px;
        color: #eaf2ff;
        text-shadow: 0 1px 2px rgba(0, 0, 20, 0.6);
    }

    .theme-vista .title-icon {
        background: linear-gradient(to bottom, #9cc8f5, #5590c8);
        border-radius: 3px;
    }

    .theme-vista .control-btn {
        background: linear-gradient(to bottom, rgba(90, 140, 200, 0.5), rgba(30, 55, 95, 0.6));
        border: 1px solid rgba(120, 170, 220, 0.4);
        border-radius: 4px;
        color: #eaf2ff;
    }

    .theme-vista .control-btn:active {
        background: linear-gradient(to bottom, rgba(30, 55, 95, 0.6), rgba(90, 140, 200, 0.5));
    }

    .theme-vista .menu-bar {
        background: rgba(20, 30, 48, 0.7);
        backdrop-filter: blur(4px);
        border-bottom: 1px solid rgba(120, 170, 220, 0.25);
    }

    .theme-vista .menu-item {
        font-family: 'Segoe UI', sans-serif;
        color: #d8e6f8;
        border-radius: 4px;
        margin: 2px 1px;
    }

    .theme-vista .menu-item:hover,
    .theme-vista .menu-item.open {
        background: linear-gradient(to bottom, rgba(110, 165, 225, 0.55), rgba(50, 95, 160, 0.6));
        color: #ffffff;
    }

    .theme-vista .dropdown-menu {
        background: rgba(18, 28, 46, 0.92);
        backdrop-filter: blur(10px);
        border: 1px solid rgba(120, 170, 220, 0.3);
        border-radius: 6px;
        box-shadow: 0 4px 14px rgba(0, 30, 80, 0.3);
    }

    .theme-vista .menu-option {
        font-family: 'Segoe UI', sans-serif;
        color: #d8e6f8;
    }

    .theme-vista .menu-option:hover {
        background: linear-gradient(to bottom, rgba(110, 165, 225, 0.55), rgba(50, 95, 160, 0.6));
        color: #ffffff;
    }

    .theme-vista .menu-separator {
        background: rgba(120, 170, 220, 0.3);
    }

    .theme-vista .clock-header {
        border-bottom: 1px solid rgba(120, 170, 220, 0.18);
        background: rgba(40, 60, 90, 0.12);
    }

    .theme-vista .clock-time {
        font-family: 'Segoe UI', sans-serif;
        color: #ffffff;
    }

    .theme-vista .clock-date {
        font-family: 'Segoe UI', sans-serif;
        color: #9db8d8;
    }

    .theme-vista .quick-notes-label {
        color: #9db8d8;
    }

    .theme-vista .quick-notes-input {
        font-family: 'Segoe UI', sans-serif;
        color: #eaf2ff;
    }

    .theme-vista .chevron-btn,
    .theme-vista .nav-btn,
    .theme-vista .duration-btn,
    .theme-vista .start-btn {
        background: linear-gradient(to bottom, rgba(90, 140, 200, 0.45), rgba(30, 55, 95, 0.55));
        border: 1px solid rgba(120, 170, 220, 0.4);
        border-radius: 4px;
        color: #eaf2ff;
    }

    .theme-vista .chevron-btn:active,
    .theme-vista .nav-btn:active,
    .theme-vista .duration-btn:active,
    .theme-vista .start-btn:active {
        background: linear-gradient(to bottom, rgba(30, 55, 95, 0.55), rgba(90, 140, 200, 0.45));
    }

    .theme-vista .month-label {
        font-family: 'Segoe UI', sans-serif;
        color: #eaf2ff;
    }

    .theme-vista .month-label:hover {
        color: #a8d0ff;
    }

    .theme-vista .weekday-row {
        color: #7f9dbf;
    }

    .theme-vista .day-cell,
    .theme-vista .picker-cell {
        font-family: 'Segoe UI', sans-serif;
        color: #dce8f7;
    }

    .theme-vista .day-cell.muted,
    .theme-vista .picker-cell.muted {
        color: #3d4e64;
    }

    .theme-vista .day-cell.today .num,
    .theme-vista .picker-cell.current .num {
        background: linear-gradient(to bottom, rgba(120, 175, 235, 0.9), rgba(50, 95, 165, 0.9));
        border: 1px solid rgba(160, 205, 245, 0.8);
        border-radius: 50%;
        box-shadow: 0 0 8px rgba(90, 150, 220, 0.5);
        color: #ffffff;
    }

    .theme-vista .day-cell.selected .num {
        border: 1px solid rgba(120, 175, 235, 0.8);
        border-radius: 50%;
        color: #a8d0ff;
    }

    .theme-vista .day-cell.holiday .num {
        color: #ff9a90;
    }

    .theme-vista .day-cell.holiday::after {
        background: #ff9a90;
    }

    .theme-vista .picker-cell:not(.muted):hover .num {
        border: 1px solid rgba(120, 175, 235, 0.8);
        border-radius: 50%;
    }

    .theme-vista .focus-bar {
        background: rgba(15, 25, 42, 0.6);
        backdrop-filter: blur(4px);
        border-top: 1px solid rgba(120, 170, 220, 0.2);
    }

    .theme-vista .duration-label {
        font-family: 'Segoe UI', sans-serif;
        color: #dce8f7;
    }

    .theme-vista .start-btn .play-icon {
        color: #8ce88c;
    }

    .theme-vista .start-btn.running {
        background: linear-gradient(to bottom, rgba(215, 90, 90, 0.55), rgba(130, 35, 35, 0.6));
        border: 1px solid rgba(230, 140, 130, 0.5);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
    }

    .theme-vista .start-btn.running .play-icon {
        color: #ffe0dc;
    }

    .theme-vista .start-btn.running span:last-child {
        color: #ffffff;
    }

    .theme-vista .focus-display {
        background: rgba(30, 55, 95, 0.35);
        backdrop-filter: blur(6px);
        border: 1px solid rgba(120, 170, 220, 0.4);
        border-radius: 8px;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 0 14px rgba(90, 150, 220, 0.15);
    }

    .theme-vista .focus-display .focus-time {
        color: #8fc4ff;
        font-family: 'Segoe UI', sans-serif;
        text-shadow: 0 0 12px rgba(120, 175, 235, 0.5);
    }

    .theme-vista .focus-display .focus-label {
        color: #7f9dbf;
    }

    .theme-vista .dialog-box {
        background: rgba(16, 24, 40, 0.95);
        backdrop-filter: blur(10px);
        border: 1px solid rgba(120, 170, 220, 0.4);
        border-radius: 8px;
        overflow: hidden;
    }

    .theme-vista .dialog-title {
        background: linear-gradient(to bottom, rgba(70, 120, 190, 0.7), rgba(20, 45, 85, 0.8));
        font-family: 'Segoe UI', sans-serif;
    }

    .theme-vista .dialog-body {
        font-family: 'Segoe UI', sans-serif;
        color: #dce8f7;
    }

    .theme-vista .dialog-btn {
        font-family: 'Segoe UI', sans-serif;
        background: linear-gradient(to bottom, rgba(90, 140, 200, 0.5), rgba(30, 55, 95, 0.6));
        border: 1px solid rgba(120, 170, 220, 0.4);
        border-radius: 4px;
        color: #eaf2ff;
    }

    /* =======================================================
       TEMA AERO (Windows 7, versão escura)
       Aplicado via classe "theme-aero" em .cal-window
       ======================================================= */
    .cal-window.theme-aero {
        font-family: 'Segoe UI', sans-serif;
        background: rgba(18, 26, 40, 0.92);
        backdrop-filter: blur(14px);
        border: 1px solid rgba(140, 190, 235, 0.5);
        border-radius: 10px;
        box-shadow: 0 8px 28px rgba(0, 30, 90, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.08);
        overflow: hidden;
    }

    .theme-aero .title-bar {
        background: linear-gradient(to bottom,
                rgba(150, 200, 250, 0.55) 0%,
                rgba(90, 150, 220, 0.5) 45%,
                rgba(50, 100, 180, 0.55) 100%);
        backdrop-filter: blur(10px);
        border-bottom: 1px solid rgba(140, 190, 235, 0.35);
        height: 28px;
        padding: 0 5px 0 8px;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
    }

    .theme-aero .title-text {
        font-size: 12px;
        color: #ffffff;
        text-shadow: 0 1px 3px rgba(0, 20, 60, 0.7);
    }

    .theme-aero .title-icon {
        background: linear-gradient(to bottom, #cfe8ff, #6bb1ff);
        border-radius: 4px;
        box-shadow: 0 0 6px rgba(120, 190, 255, 0.7);
    }

    .theme-aero .control-btn {
        background: rgba(255, 255, 255, 0.08);
        border: 1px solid rgba(140, 190, 235, 0.4);
        border-radius: 5px;
        color: #eaf2ff;
    }

    .theme-aero .control-btn:active {
        background: rgba(255, 255, 255, 0.18);
    }

    .theme-aero .menu-bar {
        background: rgba(255, 255, 255, 0.04);
        backdrop-filter: blur(8px);
        border-bottom: 1px solid rgba(140, 190, 235, 0.25);
    }

    .theme-aero .menu-item {
        color: #e2edfa;
        border-radius: 5px;
        margin: 3px 2px;
    }

    .theme-aero .menu-item:hover,
    .theme-aero .menu-item.open {
        background: rgba(140, 190, 245, 0.28);
        color: #ffffff;
    }

    .theme-aero .dropdown-menu {
        background: rgba(20, 30, 48, 0.85);
        backdrop-filter: blur(14px);
        border: 1px solid rgba(140, 190, 235, 0.4);
        border-radius: 8px;
        box-shadow: 0 8px 22px rgba(0, 15, 50, 0.5);
    }

    .theme-aero .menu-option {
        color: #e2edfa;
    }

    .theme-aero .menu-option:hover {
        background: rgba(140, 190, 245, 0.28);
        color: #ffffff;
    }

    .theme-aero .menu-separator {
        background: rgba(140, 190, 235, 0.3);
    }

    .theme-aero .clock-header {
        border-bottom: 1px solid rgba(140, 190, 235, 0.2);
    }

    .theme-aero .clock-time {
        color: #ffffff;
        text-shadow: 0 0 12px rgba(120, 190, 255, 0.35);
    }

    .theme-aero .clock-date {
        color: #a8c8ea;
    }

    .theme-aero .quick-notes-label {
        color: #a8c8ea;
    }

    .theme-aero .quick-notes-input {
        color: #ffffff;
    }

    .theme-aero .chevron-btn,
    .theme-aero .nav-btn,
    .theme-aero .duration-btn,
    .theme-aero .start-btn {
        background: rgba(255, 255, 255, 0.08);
        border: 1px solid rgba(140, 190, 235, 0.4);
        border-radius: 5px;
        color: #eaf2ff;
    }

    .theme-aero .chevron-btn:active,
    .theme-aero .nav-btn:active,
    .theme-aero .duration-btn:active,
    .theme-aero .start-btn:active {
        background: rgba(255, 255, 255, 0.2);
    }

    .theme-aero .month-label {
        color: #eaf2ff;
    }

    .theme-aero .month-label:hover {
        color: #bfe0ff;
    }

    .theme-aero .weekday-row {
        color: #7fa0c0;
    }

    .theme-aero .day-cell,
    .theme-aero .picker-cell {
        color: #e2edfa;
    }

    .theme-aero .day-cell.muted,
    .theme-aero .picker-cell.muted {
        color: #445870;
    }

    .theme-aero .day-cell.today .num,
    .theme-aero .picker-cell.current .num {
        background: linear-gradient(to bottom, rgba(160, 210, 255, 0.9), rgba(70, 140, 220, 0.9));
        border: 1px solid rgba(200, 230, 255, 0.9);
        border-radius: 50%;
        box-shadow: 0 0 12px rgba(120, 190, 255, 0.6);
        color: #ffffff;
    }

    .theme-aero .day-cell.selected .num {
        border: 1px solid rgba(160, 210, 255, 0.8);
        border-radius: 50%;
        color: #bfe0ff;
    }

    .theme-aero .day-cell.holiday .num {
        color: #ffab9e;
    }

    .theme-aero .day-cell.holiday::after {
        background: #ffab9e;
    }

    .theme-aero .picker-cell:not(.muted):hover .num {
        border: 1px solid rgba(160, 210, 255, 0.8);
        border-radius: 50%;
    }

    .theme-aero .focus-bar {
        background: rgba(255, 255, 255, 0.03);
        backdrop-filter: blur(8px);
        border-top: 1px solid rgba(140, 190, 235, 0.2);
    }

    .theme-aero .duration-label {
        color: #e2edfa;
    }

    .theme-aero .start-btn .play-icon {
        color: #9df09d;
    }

    .theme-aero .start-btn.running {
        background: rgba(220, 90, 80, 0.35);
        border: 1px solid rgba(255, 150, 140, 0.5);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
    }

    .theme-aero .start-btn.running .play-icon {
        color: #ffe0dc;
    }

    .theme-aero .start-btn.running span:last-child {
        color: #ffffff;
    }

    .theme-aero .focus-display {
        background: rgba(255, 255, 255, 0.06);
        backdrop-filter: blur(10px);
        border: 1px solid rgba(140, 190, 235, 0.45);
        border-radius: 10px;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 0 18px rgba(120, 190, 255, 0.2);
    }

    .theme-aero .focus-display .focus-time {
        color: #9fd0ff;
        text-shadow: 0 0 14px rgba(120, 190, 255, 0.5);
    }

    .theme-aero .focus-display .focus-label {
        color: #7fa0c0;
    }

    .theme-aero .dialog-box {
        background: rgba(20, 30, 48, 0.9);
        backdrop-filter: blur(14px);
        border: 1px solid rgba(140, 190, 235, 0.4);
        border-radius: 10px;
        overflow: hidden;
    }

    .theme-aero .dialog-title {
        background: linear-gradient(to bottom, rgba(150, 200, 250, 0.6), rgba(60, 115, 195, 0.65));
    }

    .theme-aero .dialog-body {
        color: #e2edfa;
    }

    .theme-aero .dialog-btn {
        background: rgba(255, 255, 255, 0.08);
        border: 1px solid rgba(140, 190, 235, 0.4);
        border-radius: 5px;
        color: #eaf2ff;
    }

    /* =======================================================
       TEMA MODERN (Windows 11, versão escura)
       Aplicado via classe "theme-modern" em .cal-window
       Design flat, cantos bem arredondados, mica sutil, sem bevels
       ======================================================= */
    .cal-window.theme-modern {
        font-family: 'Segoe UI', 'Inter', sans-serif;
        background: #1c1c22;
        border: 1px solid #2e2e36;
        border-radius: 14px;
        box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
        overflow: hidden;
    }

    .theme-modern .title-bar {
        background: #202027;
        border-bottom: 1px solid #2e2e36;
        height: 30px;
        padding: 0 8px 0 10px;
    }

    .theme-modern .title-text {
        font-weight: 500;
        font-size: 12px;
        color: #f2f2f5;
    }

    .theme-modern .title-icon {
        background: #6d5ef8;
        border-radius: 5px;
        border: none;
    }

    .theme-modern .control-btn {
        background: transparent;
        border: none;
        border-radius: 6px;
        color: #c8c8d0;
    }

    .theme-modern .control-btn:active,
    .theme-modern .control-btn:hover {
        background: #2c2c34;
    }

    .theme-modern .menu-bar {
        background: #1c1c22;
        border-bottom: 1px solid #2e2e36;
    }

    .theme-modern .menu-item {
        color: #d4d4dc;
        border-radius: 6px;
        margin: 2px 2px;
        font-size: 12px;
    }

    .theme-modern .menu-item:hover,
    .theme-modern .menu-item.open {
        background: #2c2c34;
        color: #ffffff;
    }

    .theme-modern .dropdown-menu {
        background: #24242b;
        border: 1px solid #34343d;
        border-radius: 10px;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
        padding: 6px 0;
    }

    .theme-modern .menu-option {
        color: #d4d4dc;
        border-radius: 6px;
        margin: 1px 5px;
        padding: 6px 10px;
        width: calc(100% - 10px);
    }

    .theme-modern .menu-option:hover {
        background: #34343d;
        color: #ffffff;
    }

    .theme-modern .menu-separator {
        background: #34343d;
    }

    .theme-modern .clock-header {
        border-bottom: 1px solid #2e2e36;
    }

    .theme-modern .clock-time {
        font-weight: 600;
        color: #ffffff;
    }

    .theme-modern .clock-date {
        color: #9a9aa4;
    }

    .theme-modern .quick-notes-label {
        color: #9a9aa4;
    }

    .theme-modern .quick-notes-input {
        color: #f2f2f5;
    }

    .theme-modern .chevron-btn,
    .theme-modern .nav-btn,
    .theme-modern .duration-btn,
    .theme-modern .start-btn {
        background: #2c2c34;
        border: none;
        border-radius: 8px;
        color: #e4e4ea;
    }

    .theme-modern .chevron-btn:hover,
    .theme-modern .nav-btn:hover,
    .theme-modern .duration-btn:hover,
    .theme-modern .start-btn:hover {
        background: #34343d;
    }

    .theme-modern .chevron-btn:active,
    .theme-modern .nav-btn:active,
    .theme-modern .duration-btn:active,
    .theme-modern .start-btn:active {
        background: #3d3d47;
    }

    .theme-modern .month-label {
        font-weight: 600;
        color: #f2f2f5;
    }

    .theme-modern .month-label:hover {
        color: #a89bff;
    }

    .theme-modern .weekday-row {
        color: #6f6f7a;
    }

    .theme-modern .day-cell,
    .theme-modern .picker-cell {
        color: #d4d4dc;
    }

    .theme-modern .day-cell.muted,
    .theme-modern .picker-cell.muted {
        color: #45454e;
    }

    .theme-modern .day-cell.today .num,
    .theme-modern .picker-cell.current .num {
        background: #6d5ef8;
        color: #ffffff;
        font-weight: 600;
        border: none;
        border-radius: 50%;
    }

    .theme-modern .day-cell.selected .num {
        border: 1.5px solid #6d5ef8;
        border-radius: 50%;
        color: #b8adff;
    }

    .theme-modern .day-cell.holiday .num {
        color: #ff8a80;
    }

    .theme-modern .day-cell.holiday::after {
        background: #ff8a80;
    }

    .theme-modern .picker-cell:not(.muted):hover .num {
        background: #2c2c34;
        border-radius: 50%;
    }

    .theme-modern .focus-bar {
        background: #1c1c22;
        border-top: 1px solid #2e2e36;
    }

    .theme-modern .duration-label {
        color: #d4d4dc;
    }

    .theme-modern .start-btn .play-icon {
        color: #7ee08a;
    }

    .theme-modern .start-btn.running {
        background: #3d2323;
    }

    .theme-modern .start-btn.running .play-icon {
        color: #ff8a80;
    }

    .theme-modern .focus-display {
        background: #2c2c34;
        border: 1px solid #34343d;
        border-radius: 10px;
    }

    .theme-modern .focus-display .focus-time {
        color: #7ee08a;
        font-weight: 600;
    }

    .theme-modern .focus-display .focus-label {
        color: #6f6f7a;
    }

    .theme-modern .dialog-box {
        background: #24242b;
        border: 1px solid #34343d;
        border-radius: 12px;
        overflow: hidden;
    }

    .theme-modern .dialog-title {
        background: #2c2c34;
        color: #f2f2f5;
        font-weight: 600;
    }

    .theme-modern .dialog-body {
        color: #d4d4dc;
    }

    /* =======================================================
       TEMA EXCEL / "PLANILHA" (Excel moderno, versão escura)
       Aplicado via classe "theme-excel" em .cal-window
       Grade com linhas de célula, verde Office (#217346), Calibri/Aptos
       ======================================================= */
    .cal-window.theme-excel {
        font-family: 'Calibri', 'Aptos Narrow', 'Segoe UI', sans-serif;
        background: #201f1e;
        border: 1px solid #3f3f41;
        border-radius: 6px;
        overflow: hidden;
    }

    .theme-excel .title-bar {
        background: #217346;
        border-bottom: 1px solid #185536;
        height: 26px;
        padding: 0 5px 0 8px;
    }

    .theme-excel .title-text {
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
        font-size: 12px;
        color: #ffffff;
    }

    .theme-excel .title-icon {
        background: #ffffff;
        border-radius: 2px;
    }

    .theme-excel .control-btn {
        background: transparent;
        border: none;
        border-radius: 3px;
        color: #eafff2;
    }

    .theme-excel .control-btn:hover,
    .theme-excel .control-btn:active {
        background: rgba(255, 255, 255, 0.18);
    }

    .theme-excel .menu-bar {
        background: #2d2d30;
        border-bottom: 1px solid #3f3f41;
    }

    .theme-excel .menu-item {
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
        color: #e2e2e2;
        border-radius: 0;
        margin: 0;
    }

    .theme-excel .menu-item:hover,
    .theme-excel .menu-item.open {
        background: #3f3f41;
        color: #6ee7a8;
    }

    .theme-excel .dropdown-menu {
        background: #2d2d30;
        border: 1px solid #3f3f41;
        border-radius: 2px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
    }

    .theme-excel .menu-option {
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
        color: #e2e2e2;
    }

    .theme-excel .menu-option:hover {
        background: #217346;
        color: #ffffff;
    }

    .theme-excel .menu-separator {
        background: #3f3f41;
    }

    .theme-excel .clock-header {
        border-bottom: 1px solid #3f3f41;
        background: #201f1e;
    }

    .theme-excel .clock-time {
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
        font-weight: bold;
        color: #ffffff;
    }

    .theme-excel .clock-date {
        color: #a0a0a0;
    }

    /* toque de "Name Box" do Excel na etiqueta das notas */
    .theme-excel .quick-notes-label {
        display: inline-block;
        width: fit-content;
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
        color: #6ee7a8;
        background: #2d2d30;
        border: 1px solid #3f3f41;
        border-radius: 2px;
        padding: 2px 8px;
        text-transform: none;
        letter-spacing: normal;
    }

    .theme-excel .quick-notes-input {
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
        color: #e2e2e2;
    }

    .theme-excel .chevron-btn,
    .theme-excel .nav-btn,
    .theme-excel .duration-btn {
        background: #2d2d30;
        border: 1px solid #3f3f41;
        border-radius: 2px;
        color: #e2e2e2;
    }

    .theme-excel .chevron-btn:hover,
    .theme-excel .nav-btn:hover,
    .theme-excel .duration-btn:hover {
        background: #3f3f41;
    }

    .theme-excel .chevron-btn:active,
    .theme-excel .nav-btn:active,
    .theme-excel .duration-btn:active {
        background: #185536;
    }

    .theme-excel .month-label {
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
        font-weight: bold;
        color: #ffffff;
    }

    .theme-excel .month-label:hover {
        color: #6ee7a8;
    }

    /* cabeçalho de dias da semana com cara de cabeçalho de colunas do Excel */
    .theme-excel .weekday-row {
        background: #2d2d30;
        color: #c8c8c8;
        font-weight: bold;
        border-top: 1px solid #3f3f41;
        border-bottom: 1px solid #3f3f41;
        padding: 4px 0;
    }

    /* grade com linhas de célula (efeito planilha) */
    .theme-excel .day-cell,
    .theme-excel .picker-cell {
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
        color: #e2e2e2;
        border-right: 1px solid #35353a;
        border-bottom: 1px solid #35353a;
    }

    .theme-excel .day-cell.muted,
    .theme-excel .picker-cell.muted {
        color: #55555a;
    }

    /* dia atual: célula preenchida de verde, estilo "hoje" do Excel */
    .theme-excel .day-cell.today .num,
    .theme-excel .picker-cell.current .num {
        background: #217346;
        color: #ffffff;
        font-weight: bold;
        border: none;
        border-radius: 2px;
    }

    /* dia selecionado: borda grossa verde, igual à célula ativa do Excel */
    .theme-excel .day-cell.selected .num {
        border: 2px solid #217346;
        border-radius: 0;
        color: #6ee7a8;
    }

    .theme-excel .day-cell.holiday .num {
        color: #ff6b6b;
    }

    .theme-excel .day-cell.holiday::after {
        background: #ff6b6b;
    }

    .theme-excel .picker-cell:not(.muted):hover .num {
        border: 1px solid #217346;
        border-radius: 2px;
    }

    .theme-excel .focus-bar {
        background: #2d2d30;
        border-top: 1px solid #3f3f41;
    }

    .theme-excel .duration-label {
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
        color: #e2e2e2;
    }

    .theme-excel .start-btn {
        background: #217346;
        border: 1px solid #185536;
        border-radius: 2px;
        color: #ffffff;
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
        font-weight: bold;
    }

    .theme-excel .start-btn:active {
        background: #185536;
    }

    .theme-excel .start-btn .play-icon {
        color: #ffffff;
    }

    .theme-excel .start-btn.running {
        background: #a4262c;
        border-color: #7a1c21;
    }

    .theme-excel .start-btn.running .play-icon,
    .theme-excel .start-btn.running span:last-child {
        color: #ffffff;
    }

    .theme-excel .focus-display {
        background: #2d2d30;
        border: 1px solid #3f3f41;
        border-radius: 2px;
    }

    .theme-excel .focus-display .focus-time {
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
        font-weight: bold;
        color: #6ee7a8;
    }

    .theme-excel .focus-display .focus-label {
        color: #a0a0a0;
    }

    .theme-excel .dialog-box {
        background: #2d2d30;
        border: 1px solid #3f3f41;
        border-radius: 4px;
        overflow: hidden;
    }

    .theme-excel .dialog-title {
        background: #217346;
        color: #ffffff;
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
    }

    .theme-excel .dialog-body {
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
        color: #e2e2e2;
    }

    .theme-excel .dialog-btn {
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
        background: #3f3f41;
        border: 1px solid #55555a;
        border-radius: 2px;
        color: #e2e2e2;
    }

    .theme-excel .dialog-btn.primary {
        background: #217346;
        border-color: #185536;
        outline: none;
    }

    /* =======================================================
       RELÓGIO ANALÓGICO — variações por tema
       ======================================================= */
    .theme-xp .analog-panel,
    .theme-xp .notes-panel {
        background: #14181f;
        border-left: 1px solid #0d223f;
    }

    .theme-xp .analog-face {
        background: radial-gradient(circle at 35% 30%, #24344a, #16202e 75%);
        border: 4px solid;
        border-color: #6bb1ff #1b3f73 #1b3f73 #6bb1ff;
    }

    .theme-xp .analog-tick {
        background: #5a7ba0;
    }

    .theme-xp .analog-tick.major {
        background: #cfe2ff;
    }

    .theme-xp .analog-hand-hour,
    .theme-xp .analog-hand-minute {
        background: #eaf2ff;
    }

    .theme-xp .analog-hand-second,
    .theme-xp .analog-center {
        background: #4c93e8;
    }

    .theme-xp .analog-caption {
        color: #8fa8c8;
        font-family: 'Tahoma', sans-serif;
    }

    .theme-vista .analog-panel,
    .theme-vista .notes-panel {
        background: rgba(15, 25, 42, 0.6);
        backdrop-filter: blur(6px);
        border-left: 1px solid rgba(120, 170, 220, 0.25);
    }

    .theme-vista .analog-face {
        background: radial-gradient(circle at 35% 30%, rgba(60, 100, 160, 0.4), rgba(15, 25, 45, 0.6) 75%);
        border: 3px solid rgba(160, 205, 245, 0.6);
        box-shadow: inset 0 0 16px rgba(0, 10, 40, 0.5), 0 0 14px rgba(90, 150, 220, 0.3);
    }

    .theme-vista .analog-tick {
        background: rgba(160, 200, 240, 0.5);
    }

    .theme-vista .analog-tick.major {
        background: #d4e6fb;
    }

    .theme-vista .analog-hand-hour,
    .theme-vista .analog-hand-minute {
        background: #eaf2ff;
    }

    .theme-vista .analog-hand-second,
    .theme-vista .analog-center {
        background: #6bb1ff;
    }

    .theme-vista .analog-caption {
        color: #9db8d8;
        font-family: 'Segoe UI', sans-serif;
    }

    .theme-aero .analog-panel,
    .theme-aero .notes-panel {
        background: rgba(255, 255, 255, 0.03);
        backdrop-filter: blur(10px);
        border-left: 1px solid rgba(140, 190, 235, 0.25);
    }

    .theme-aero .analog-face {
        background: radial-gradient(circle at 35% 30%, rgba(90, 150, 220, 0.35), rgba(15, 25, 45, 0.6) 75%);
        border: 3px solid rgba(200, 230, 255, 0.7);
        box-shadow: inset 0 0 16px rgba(0, 10, 40, 0.5), 0 0 18px rgba(120, 190, 255, 0.4);
    }

    .theme-aero .analog-tick {
        background: rgba(180, 215, 250, 0.55);
    }

    .theme-aero .analog-tick.major {
        background: #e2f0ff;
    }

    .theme-aero .analog-hand-hour,
    .theme-aero .analog-hand-minute {
        background: #ffffff;
    }

    .theme-aero .analog-hand-second,
    .theme-aero .analog-center {
        background: #7fc4ff;
    }

    .theme-aero .analog-caption {
        color: #a8c8ea;
        font-family: 'Segoe UI', sans-serif;
    }

    .theme-modern .analog-panel,
    .theme-modern .notes-panel {
        background: #1c1c22;
        border-left: 1px solid #2e2e36;
    }

    .theme-modern .analog-face {
        background: #24242b;
        border: 3px solid #34343d;
        box-shadow: none;
    }

    .theme-modern .analog-tick {
        background: #4a4a54;
    }

    .theme-modern .analog-tick.major {
        background: #d4d4dc;
    }

    .theme-modern .analog-hand-hour,
    .theme-modern .analog-hand-minute {
        background: #f2f2f5;
    }

    .theme-modern .analog-hand-second,
    .theme-modern .analog-center {
        background: #6d5ef8;
    }

    .theme-modern .analog-caption {
        color: #9a9aa4;
        font-family: 'Segoe UI', sans-serif;
    }

    .theme-modern .dialog-btn {
        background: #6d5ef8;
        border: none;
        border-radius: 7px;
        color: #ffffff;
        font-weight: 500;
    }

    .theme-modern .dialog-btn:active {
        background: #5a4de0;
    }

    .theme-excel .analog-panel,
    .theme-excel .notes-panel {
        background: #201f1e;
        border-left: 1px solid #3f3f41;
    }

    .theme-excel .analog-face {
        background: #2d2d30;
        border: 3px solid #3f3f41;
        box-shadow: none;
    }

    .theme-excel .analog-tick {
        background: #55555a;
    }

    .theme-excel .analog-tick.major {
        background: #c8c8c8;
    }

    .theme-excel .analog-hand-hour,
    .theme-excel .analog-hand-minute {
        background: #e2e2e2;
    }

    .theme-excel .analog-hand-second,
    .theme-excel .analog-center {
        background: #217346;
    }

    .theme-excel .analog-caption {
        color: #a0a0a0;
        font-family: 'Calibri', 'Aptos Narrow', sans-serif;
    }

/* ===========================================================
   MODO CLARO
   Por padrão o app roda com a classe "dark-mode" em .cal-window.
   Os blocos abaixo usam ":not(.dark-mode)" — como isso soma um
   seletor de classe a mais, eles vencem as regras escuras acima
   por especificidade quando a classe "dark-mode" é removida,
   sem precisar tocar em nenhuma regra existente.
   =========================================================== */

/* ---------- Visual 98 (claro, cinza clássico) ---------- */
.cal-window:not(.dark-mode) {
    background: #c0c0c0;
    border-top: 2px solid #dfdfdf;
    border-left: 2px solid #dfdfdf;
    border-right: 2px solid #404040;
    border-bottom: 2px solid #404040;
}

.cal-window:not(.dark-mode) .menu-bar {
    background: #c0c0c0;
    border-bottom: 1px solid #808080;
}

/* barra de título clássica do Windows 98 no tema base claro */
.cal-window:not(.dark-mode):not(.theme-xp):not(.theme-vista):not(.theme-aero):not(.theme-modern):not(.theme-excel) .title-bar {
    background: linear-gradient(90deg, #000080 0%, #a6caf8 100%);
    border-bottom-color: #000080;
}

.cal-window:not(.dark-mode):not(.theme-xp):not(.theme-vista):not(.theme-aero):not(.theme-modern):not(.theme-excel) .title-text {
    color: #ffffff;
}

.cal-window:not(.dark-mode) .menu-item {
    color: #000000;
}

.cal-window:not(.dark-mode) .dropdown-menu {
    background: #c0c0c0;
    border: 1px solid #404040;
}

.cal-window:not(.dark-mode) .menu-option {
    color: #000000;
}

.cal-window:not(.dark-mode) .menu-separator {
    background: #808080;
}

.cal-window:not(.dark-mode) .clock-header {
    border-bottom: 2px solid #808080;
}

.cal-window:not(.dark-mode) .clock-time {
    color: #000000;
}

.cal-window:not(.dark-mode) .clock-date {
    color: #404040;
}

.cal-window:not(.dark-mode) .quick-notes-label {
    color: #404040;
}

.cal-window:not(.dark-mode) .quick-notes-input {
    color: #000000;
}

.cal-window:not(.dark-mode) .quick-notes-input::placeholder {
    color: #a0a0a0;
}

.cal-window:not(.dark-mode) .note-color-swatch.selected {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.4);
}

.cal-window:not(.dark-mode) .chevron-btn,
.cal-window:not(.dark-mode) .nav-btn,
.cal-window:not(.dark-mode) .duration-btn,
.cal-window:not(.dark-mode) .start-btn,
.cal-window:not(.dark-mode) .control-btn {
    background: #c0c0c0;
    color: #000000;
    border-top-color: #dfdfdf;
    border-left-color: #dfdfdf;
    border-right-color: #404040;
    border-bottom-color: #404040;
}

.cal-window:not(.dark-mode) .month-label {
    color: #000000;
}

.cal-window:not(.dark-mode) .weekday-row {
    color: #404040;
}

.cal-window:not(.dark-mode) .day-cell,
.cal-window:not(.dark-mode) .picker-cell {
    color: #000000;
}

.cal-window:not(.dark-mode) .day-cell.muted,
.cal-window:not(.dark-mode) .picker-cell.muted {
    color: #a0a0a0;
}

.cal-window:not(.dark-mode) .day-cell.selected .num {
    color: #0000c0;
}

.cal-window:not(.dark-mode) .day-cell.holiday .num {
    color: #c00000;
}

.cal-window:not(.dark-mode) .focus-bar {
    background: #c0c0c0;
    border-top: 2px solid #808080;
}

.cal-window:not(.dark-mode) .duration-label {
    color: #000000;
}

.cal-window:not(.dark-mode) .start-btn.running {
    background: #e8b0b0;
}

.cal-window:not(.dark-mode) .focus-display {
    background: #dcdcdc;
    border-top-color: #f0f0f0;
    border-left-color: #f0f0f0;
    border-right-color: #808080;
    border-bottom-color: #808080;
}

.cal-window:not(.dark-mode) .focus-display .focus-label {
    color: #404040;
}

.cal-window:not(.dark-mode) .dialog-box {
    background: #c0c0c0;
}

.cal-window:not(.dark-mode) .dialog-body {
    color: #000000;
}

.cal-window:not(.dark-mode) .analog-panel,
.cal-window:not(.dark-mode) .notes-panel {
    background: #c0c0c0;
}

.cal-window:not(.dark-mode) .analog-caption {
    color: #404040;
}

.cal-window.theme-xp:not(.dark-mode) .analog-panel,
.cal-window.theme-xp:not(.dark-mode) .notes-panel {
    background: #ece9d8;
}

.cal-window.theme-vista:not(.dark-mode) .analog-panel,
.cal-window.theme-vista:not(.dark-mode) .notes-panel,
.cal-window.theme-aero:not(.dark-mode) .analog-panel,
.cal-window.theme-aero:not(.dark-mode) .notes-panel {
    background: rgba(255, 255, 255, 0.5);
}

.cal-window.theme-modern:not(.dark-mode) .analog-panel,
.cal-window.theme-modern:not(.dark-mode) .notes-panel {
    background: #ffffff;
    border-left: 1px solid #e2e2e6;
}

.cal-window.theme-modern:not(.dark-mode) .analog-face {
    background: #f5f5f7;
    border-color: #e2e2e6;
}

.cal-window:not(.dark-mode) .dialog-btn {
    background: #c0c0c0;
    color: #000000;
}

.cal-window:not(.dark-mode) .menu-check {
    color: #1a7a1a;
}

.cal-window:not(.dark-mode) .menu-option:hover .menu-check {
    color: #b8f0b8;
}

/* ---------- Visual XP (claro, Luna) ---------- */
.cal-window.theme-xp:not(.dark-mode) {
    background: #ece9d8;
    border-color: #0055ea;
}

.cal-window.theme-xp:not(.dark-mode) .menu-bar {
    background: #ece9d8;
    border-bottom: 1px solid #b8ac8e;
}

.cal-window.theme-xp:not(.dark-mode) .menu-item {
    color: #000000;
}

.cal-window.theme-xp:not(.dark-mode) .dropdown-menu {
    background: #ffffff;
    border: 1px solid #7f9db9;
}

.cal-window.theme-xp:not(.dark-mode) .menu-option {
    color: #000000;
}

.cal-window.theme-xp:not(.dark-mode) .menu-option:hover {
    background: linear-gradient(to bottom, #4c93e8, #2c5aa0);
    color: #ffffff;
}

.cal-window.theme-xp:not(.dark-mode) .clock-header {
    background: transparent;
}

.cal-window.theme-xp:not(.dark-mode) .clock-time {
    color: #000000;
}

.cal-window.theme-xp:not(.dark-mode) .clock-date {
    color: #5a5a5a;
}

.cal-window.theme-xp:not(.dark-mode) .quick-notes-label {
    color: #5a5a5a;
}

.cal-window.theme-xp:not(.dark-mode) .quick-notes-input {
    color: #000000;
}

.cal-window.theme-xp:not(.dark-mode) .chevron-btn,
.cal-window.theme-xp:not(.dark-mode) .nav-btn,
.cal-window.theme-xp:not(.dark-mode) .duration-btn,
.cal-window.theme-xp:not(.dark-mode) .start-btn {
    background: linear-gradient(to bottom, #ffffff, #d6e4f5);
    color: #000000;
}

.cal-window.theme-xp:not(.dark-mode) .month-label {
    color: #000000;
}

.cal-window.theme-xp:not(.dark-mode) .weekday-row {
    color: #6f6f6f;
}

.cal-window.theme-xp:not(.dark-mode) .day-cell,
.cal-window.theme-xp:not(.dark-mode) .picker-cell {
    color: #000000;
}

.cal-window.theme-xp:not(.dark-mode) .day-cell.muted,
.cal-window.theme-xp:not(.dark-mode) .picker-cell.muted {
    color: #b0b0b0;
}

.cal-window.theme-xp:not(.dark-mode) .day-cell.selected .num {
    color: #2c5aa0;
}

.cal-window.theme-xp:not(.dark-mode) .day-cell.holiday .num {
    color: #cc0000;
}

.cal-window.theme-xp:not(.dark-mode) .focus-bar {
    background: #ece9d8;
}

.cal-window.theme-xp:not(.dark-mode) .duration-label {
    color: #000000;
}

.cal-window.theme-xp:not(.dark-mode) .start-btn.running {
    background: linear-gradient(to bottom, #ffd8d8, #ffb0b0);
}

.cal-window.theme-xp:not(.dark-mode) .focus-display {
    background: linear-gradient(to bottom, #ffffff, #d6e4f5);
    border-color: #7f9db9;
}

.cal-window.theme-xp:not(.dark-mode) .focus-display .focus-time {
    text-shadow: none;
}

.cal-window.theme-xp:not(.dark-mode) .focus-display .focus-label {
    color: #6f6f6f;
}

.cal-window.theme-xp:not(.dark-mode) .dialog-box {
    background: #ece9d8;
}

.cal-window.theme-xp:not(.dark-mode) .dialog-body {
    color: #000000;
}

.cal-window.theme-xp:not(.dark-mode) .dialog-btn {
    background: linear-gradient(to bottom, #ffffff, #d6e4f5);
    color: #000000;
}

/* ---------- Visual Vista (claro, glass) ---------- */
.cal-window.theme-vista:not(.dark-mode) {
    background: #eef3fa;
    border-color: rgba(80, 130, 190, 0.5);
}

.cal-window.theme-vista:not(.dark-mode) .menu-bar,
.cal-window.theme-vista:not(.dark-mode) .focus-bar {
    background: rgba(255, 255, 255, 0.55);
}

.cal-window.theme-vista:not(.dark-mode) .menu-item,
.cal-window.theme-vista:not(.dark-mode) .month-label,
.cal-window.theme-vista:not(.dark-mode) .clock-time,
.cal-window.theme-vista:not(.dark-mode) .day-cell,
.cal-window.theme-vista:not(.dark-mode) .picker-cell,
.cal-window.theme-vista:not(.dark-mode) .duration-label,
.cal-window.theme-vista:not(.dark-mode) .dialog-body,
.cal-window.theme-vista:not(.dark-mode) .menu-option {
    color: #16223a;
}

.cal-window.theme-vista:not(.dark-mode) .dropdown-menu {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(80, 130, 190, 0.5);
}

.cal-window.theme-vista:not(.dark-mode) .clock-date,
.cal-window.theme-vista:not(.dark-mode) .weekday-row,
.cal-window.theme-vista:not(.dark-mode) .focus-display .focus-label,
.cal-window.theme-vista:not(.dark-mode) .quick-notes-label {
    color: #46587a;
}

.cal-window.theme-vista:not(.dark-mode) .quick-notes-input {
    color: #16223a;
}

.cal-window.theme-vista:not(.dark-mode) .focus-display {
    background: rgba(255, 255, 255, 0.6);
    border-color: rgba(80, 130, 190, 0.5);
    box-shadow: 0 0 12px rgba(90, 150, 220, 0.15);
}

.cal-window.theme-vista:not(.dark-mode) .focus-display .focus-time {
    text-shadow: none;
}

.cal-window.theme-vista:not(.dark-mode) .day-cell.muted,
.cal-window.theme-vista:not(.dark-mode) .picker-cell.muted {
    color: #7488a8;
}

.cal-window.theme-vista:not(.dark-mode) .weekday-row {
    color: #2c4468;
    font-weight: bold;
}

.cal-window.theme-vista:not(.dark-mode) .control-btn {
    background: rgba(255, 255, 255, 0.55);
    color: #16223a;
    border-color: rgba(80, 130, 190, 0.5);
}

.cal-window.theme-vista:not(.dark-mode) .title-bar {
    background: linear-gradient(to bottom, #8db9e8 0%, #5b8fc5 52%, #3e6fa4 100%);
    border-bottom-color: rgba(36, 83, 137, 0.8);
}

.cal-window.theme-vista:not(.dark-mode) .title-text {
    color: #ffffff;
    text-shadow: 0 1px 1px rgba(18, 48, 82, 0.9);
}

.cal-window.theme-vista:not(.dark-mode) .day-cell.selected .num {
    color: #2c5aa0;
}

.cal-window.theme-vista:not(.dark-mode) .day-cell.holiday .num {
    color: #cc3322;
}

.cal-window.theme-vista:not(.dark-mode) .chevron-btn,
.cal-window.theme-vista:not(.dark-mode) .nav-btn,
.cal-window.theme-vista:not(.dark-mode) .duration-btn,
.cal-window.theme-vista:not(.dark-mode) .start-btn {
    background: rgba(255, 255, 255, 0.65);
    color: #16223a;
}

.cal-window.theme-vista:not(.dark-mode) .start-btn.running {
    background: rgba(255, 160, 150, 0.55);
}

.cal-window.theme-vista:not(.dark-mode) .dialog-box {
    background: rgba(255, 255, 255, 0.95);
}

.cal-window.theme-vista:not(.dark-mode) .dialog-btn {
    background: rgba(255, 255, 255, 0.7);
    color: #16223a;
}

.cal-window.theme-vista:not(.dark-mode) .menu-item:hover,
.cal-window.theme-vista:not(.dark-mode) .menu-item.open,
.cal-window.theme-vista:not(.dark-mode) .menu-option:hover {
    background: linear-gradient(to bottom, rgba(80, 140, 215, 0.85), rgba(35, 80, 150, 0.85));
    color: #ffffff;
}

.cal-window.theme-vista:not(.dark-mode) .chevron-btn:hover,
.cal-window.theme-vista:not(.dark-mode) .nav-btn:hover,
.cal-window.theme-vista:not(.dark-mode) .duration-btn:hover,
.cal-window.theme-vista:not(.dark-mode) .start-btn:hover {
    background: rgba(80, 140, 215, 0.35);
}

/* ---------- Visual Aero (claro, Win7 glass) ---------- */
.cal-window.theme-aero:not(.dark-mode) {
    background: rgba(240, 246, 253, 0.92);
    border-color: rgba(90, 150, 220, 0.5);
}

.cal-window.theme-aero:not(.dark-mode) .menu-bar,
.cal-window.theme-aero:not(.dark-mode) .focus-bar {
    background: rgba(255, 255, 255, 0.5);
}

.cal-window.theme-aero:not(.dark-mode) .menu-item,
.cal-window.theme-aero:not(.dark-mode) .month-label,
.cal-window.theme-aero:not(.dark-mode) .clock-time,
.cal-window.theme-aero:not(.dark-mode) .day-cell,
.cal-window.theme-aero:not(.dark-mode) .picker-cell,
.cal-window.theme-aero:not(.dark-mode) .duration-label,
.cal-window.theme-aero:not(.dark-mode) .dialog-body,
.cal-window.theme-aero:not(.dark-mode) .menu-option {
    color: #14202f;
}

.cal-window.theme-aero:not(.dark-mode) .clock-time {
    text-shadow: none;
}

.cal-window.theme-aero:not(.dark-mode) .dropdown-menu {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(90, 150, 220, 0.5);
}

.cal-window.theme-aero:not(.dark-mode) .clock-date,
.cal-window.theme-aero:not(.dark-mode) .weekday-row,
.cal-window.theme-aero:not(.dark-mode) .focus-display .focus-label,
.cal-window.theme-aero:not(.dark-mode) .quick-notes-label {
    color: #47607f;
}

.cal-window.theme-aero:not(.dark-mode) .quick-notes-input {
    color: #14202f;
}

.cal-window.theme-aero:not(.dark-mode) .focus-display {
    background: rgba(255, 255, 255, 0.65);
    border-color: rgba(90, 150, 220, 0.5);
    box-shadow: 0 0 14px rgba(120, 190, 255, 0.2);
}

.cal-window.theme-aero:not(.dark-mode) .focus-display .focus-time {
    text-shadow: none;
}

.cal-window.theme-aero:not(.dark-mode) .day-cell.muted,
.cal-window.theme-aero:not(.dark-mode) .picker-cell.muted {
    color: #7c93ad;
}

.cal-window.theme-aero:not(.dark-mode) .weekday-row {
    color: #294060;
    font-weight: bold;
}

.cal-window.theme-aero:not(.dark-mode) .control-btn {
    background: rgba(255, 255, 255, 0.55);
    color: #14202f;
    border-color: rgba(90, 150, 220, 0.5);
}

.cal-window.theme-aero:not(.dark-mode) .title-text {
    color: #0e1826;
    text-shadow: none;
}

.cal-window.theme-aero:not(.dark-mode) .day-cell.selected .num {
    color: #2c6bc0;
}

.cal-window.theme-aero:not(.dark-mode) .day-cell.holiday .num {
    color: #d43322;
}

.cal-window.theme-aero:not(.dark-mode) .chevron-btn,
.cal-window.theme-aero:not(.dark-mode) .nav-btn,
.cal-window.theme-aero:not(.dark-mode) .duration-btn,
.cal-window.theme-aero:not(.dark-mode) .start-btn,
.cal-window.theme-aero:not(.dark-mode) .control-btn {
    background: rgba(255, 255, 255, 0.6);
    color: #14202f;
}

.cal-window.theme-aero:not(.dark-mode) .start-btn.running {
    background: rgba(255, 140, 120, 0.4);
}

.cal-window.theme-aero:not(.dark-mode) .dialog-box {
    background: rgba(255, 255, 255, 0.95);
}

.cal-window.theme-aero:not(.dark-mode) .dialog-btn {
    background: rgba(255, 255, 255, 0.7);
    color: #14202f;
}

.cal-window.theme-aero:not(.dark-mode) .menu-item:hover,
.cal-window.theme-aero:not(.dark-mode) .menu-item.open,
.cal-window.theme-aero:not(.dark-mode) .menu-option:hover {
    background: linear-gradient(to bottom, rgba(90, 160, 230, 0.85), rgba(40, 100, 175, 0.85));
    color: #ffffff;
}

.cal-window.theme-aero:not(.dark-mode) .chevron-btn:hover,
.cal-window.theme-aero:not(.dark-mode) .nav-btn:hover,
.cal-window.theme-aero:not(.dark-mode) .duration-btn:hover,
.cal-window.theme-aero:not(.dark-mode) .start-btn:hover,
.cal-window.theme-aero:not(.dark-mode) .control-btn:hover {
    background: rgba(90, 160, 230, 0.35);
}

/* ---------- Visual Moderno (claro, Win11 flat) ---------- */
.cal-window.theme-modern:not(.dark-mode) {
    background: #ffffff;
    border: 1px solid #e2e2e6;
}

.cal-window.theme-modern:not(.dark-mode) .title-bar {
    background: #f5f5f7;
    border-bottom: 1px solid #e2e2e6;
}

.cal-window.theme-modern:not(.dark-mode) .title-text {
    color: #1a1a1e;
}

.cal-window.theme-modern:not(.dark-mode) .control-btn {
    color: #4a4a52;
}

.cal-window.theme-modern:not(.dark-mode) .control-btn:hover,
.cal-window.theme-modern:not(.dark-mode) .control-btn:active {
    background: #ececef;
}

.cal-window.theme-modern:not(.dark-mode) .menu-bar {
    background: #ffffff;
    border-bottom: 1px solid #e2e2e6;
}

.cal-window.theme-modern:not(.dark-mode) .menu-item {
    color: #2b2b31;
}

.cal-window.theme-modern:not(.dark-mode) .menu-item:hover,
.cal-window.theme-modern:not(.dark-mode) .menu-item.open {
    background: #ececef;
    color: #000000;
}

.cal-window.theme-modern:not(.dark-mode) .dropdown-menu {
    background: #ffffff;
    border: 1px solid #e2e2e6;
}

.cal-window.theme-modern:not(.dark-mode) .menu-option {
    color: #2b2b31;
}

.cal-window.theme-modern:not(.dark-mode) .menu-option:hover {
    background: #ececef;
    color: #000000;
}

.cal-window.theme-modern:not(.dark-mode) .menu-separator {
    background: #e2e2e6;
}

.cal-window.theme-modern:not(.dark-mode) .clock-header {
    border-bottom: 1px solid #e2e2e6;
}

.cal-window.theme-modern:not(.dark-mode) .clock-time {
    color: #1a1a1e;
}

.cal-window.theme-modern:not(.dark-mode) .clock-date {
    color: #6f6f78;
}

.cal-window.theme-modern:not(.dark-mode) .quick-notes-label {
    color: #6f6f78;
}

.cal-window.theme-modern:not(.dark-mode) .quick-notes-input {
    color: #1a1a1e;
}

.cal-window.theme-modern:not(.dark-mode) .chevron-btn,
.cal-window.theme-modern:not(.dark-mode) .nav-btn,
.cal-window.theme-modern:not(.dark-mode) .duration-btn,
.cal-window.theme-modern:not(.dark-mode) .start-btn {
    background: #f1f1f3;
    color: #2b2b31;
}

.cal-window.theme-modern:not(.dark-mode) .chevron-btn:hover,
.cal-window.theme-modern:not(.dark-mode) .nav-btn:hover,
.cal-window.theme-modern:not(.dark-mode) .duration-btn:hover,
.cal-window.theme-modern:not(.dark-mode) .start-btn:hover {
    background: #e4e4e8;
}

.cal-window.theme-modern:not(.dark-mode) .month-label {
    color: #1a1a1e;
}

.cal-window.theme-modern:not(.dark-mode) .weekday-row {
    color: #8a8a92;
}

.cal-window.theme-modern:not(.dark-mode) .day-cell,
.cal-window.theme-modern:not(.dark-mode) .picker-cell {
    color: #2b2b31;
}

.cal-window.theme-modern:not(.dark-mode) .day-cell.muted,
.cal-window.theme-modern:not(.dark-mode) .picker-cell.muted {
    color: #c8c8ce;
}

.cal-window.theme-modern:not(.dark-mode) .day-cell.selected .num {
    color: #6d5ef8;
}

.cal-window.theme-modern:not(.dark-mode) .day-cell.holiday .num {
    color: #d32f2f;
}

.cal-window.theme-modern:not(.dark-mode) .picker-cell:not(.muted):hover .num {
    background: #ececef;
}

.cal-window.theme-modern:not(.dark-mode) .focus-bar {
    background: #ffffff;
    border-top: 1px solid #e2e2e6;
}

.cal-window.theme-modern:not(.dark-mode) .duration-label {
    color: #2b2b31;
}

.cal-window.theme-modern:not(.dark-mode) .start-btn.running {
    background: #ffe0dc;
}

.cal-window.theme-modern:not(.dark-mode) .focus-display {
    background: #f1f1f3;
    border-color: #e2e2e6;
}

.cal-window.theme-modern:not(.dark-mode) .focus-display .focus-label {
    color: #8a8a92;
}

.cal-window.theme-modern:not(.dark-mode) .dialog-box {
    background: #ffffff;
    border: 1px solid #e2e2e6;
}

.cal-window.theme-modern:not(.dark-mode) .dialog-title {
    background: #f5f5f7;
    color: #1a1a1e;
}

.cal-window.theme-modern:not(.dark-mode) .dialog-body {
    color: #2b2b31;
}

/* ---------- Planilha / Excel (claro — é o estado "natural" desse tema) ---------- */
.cal-window.theme-excel:not(.dark-mode) {
    background: #ffffff;
    border-color: #d0d0d0;
}

.cal-window.theme-excel:not(.dark-mode) .title-bar {
    background: #217346;
}

.cal-window.theme-excel:not(.dark-mode) .menu-bar {
    background: #f3f2f1;
    border-bottom: 1px solid #d0d0d0;
}

.cal-window.theme-excel:not(.dark-mode) .menu-item {
    color: #262626;
}

.cal-window.theme-excel:not(.dark-mode) .menu-item:hover,
.cal-window.theme-excel:not(.dark-mode) .menu-item.open {
    background: #e0f0e5;
    color: #185536;
}

.cal-window.theme-excel:not(.dark-mode) .dropdown-menu {
    background: #ffffff;
    border: 1px solid #c8c8c8;
}

.cal-window.theme-excel:not(.dark-mode) .menu-option {
    color: #262626;
}

.cal-window.theme-excel:not(.dark-mode) .menu-option:hover {
    background: #217346;
    color: #ffffff;
}

.cal-window.theme-excel:not(.dark-mode) .menu-separator {
    background: #d0d0d0;
}

.cal-window.theme-excel:not(.dark-mode) .clock-header {
    background: #ffffff;
    border-bottom: 1px solid #d0d0d0;
}

.cal-window.theme-excel:not(.dark-mode) .clock-time {
    color: #1a1a1a;
}

.cal-window.theme-excel:not(.dark-mode) .clock-date {
    color: #595959;
}

.cal-window.theme-excel:not(.dark-mode) .quick-notes-label {
    color: #185536;
    background: #f3f2f1;
    border-color: #c8c8c8;
}

.cal-window.theme-excel:not(.dark-mode) .quick-notes-input {
    color: #1a1a1a;
}

.cal-window.theme-excel:not(.dark-mode) .chevron-btn,
.cal-window.theme-excel:not(.dark-mode) .nav-btn,
.cal-window.theme-excel:not(.dark-mode) .duration-btn {
    background: #f3f2f1;
    border: 1px solid #c8c8c8;
    color: #262626;
}

.cal-window.theme-excel:not(.dark-mode) .chevron-btn:hover,
.cal-window.theme-excel:not(.dark-mode) .nav-btn:hover,
.cal-window.theme-excel:not(.dark-mode) .duration-btn:hover {
    background: #e0f0e5;
}

.cal-window.theme-excel:not(.dark-mode) .month-label {
    color: #1a1a1a;
}

.cal-window.theme-excel:not(.dark-mode) .weekday-row {
    background: #f3f2f1;
    color: #404040;
    border-top: 1px solid #d0d0d0;
    border-bottom: 1px solid #d0d0d0;
}

.cal-window.theme-excel:not(.dark-mode) .day-cell,
.cal-window.theme-excel:not(.dark-mode) .picker-cell {
    color: #1a1a1a;
    border-right: 1px solid #e2e2e2;
    border-bottom: 1px solid #e2e2e2;
}

.cal-window.theme-excel:not(.dark-mode) .day-cell.muted,
.cal-window.theme-excel:not(.dark-mode) .picker-cell.muted {
    color: #b0b0b0;
}

.cal-window.theme-excel:not(.dark-mode) .day-cell.selected .num {
    color: #185536;
}

.cal-window.theme-excel:not(.dark-mode) .day-cell.holiday .num {
    color: #c00000;
}

.cal-window.theme-excel:not(.dark-mode) .focus-bar {
    background: #f3f2f1;
    border-top: 1px solid #d0d0d0;
}

.cal-window.theme-excel:not(.dark-mode) .duration-label {
    color: #262626;
}

.cal-window.theme-excel:not(.dark-mode) .focus-display {
    background: #ffffff;
    border: 1px solid #c8c8c8;
}

.cal-window.theme-excel:not(.dark-mode) .focus-display .focus-time {
    color: #217346;
}

.cal-window.theme-excel:not(.dark-mode) .focus-display .focus-label {
    color: #595959;
}

.cal-window.theme-excel:not(.dark-mode) .dialog-box {
    background: #ffffff;
    border: 1px solid #c8c8c8;
}

.cal-window.theme-excel:not(.dark-mode) .dialog-body {
    color: #262626;
}

.cal-window.theme-excel:not(.dark-mode) .dialog-btn {
    background: #f3f2f1;
    border: 1px solid #c8c8c8;
    color: #262626;
}

.cal-window.theme-excel:not(.dark-mode) .dialog-btn.primary {
    background: #217346;
    border-color: #185536;
    color: #ffffff;
}

.cal-window.theme-excel:not(.dark-mode) .analog-panel,
.cal-window.theme-excel:not(.dark-mode) .notes-panel {
    background: #ffffff;
    border-left: 1px solid #d0d0d0;
}

.cal-window.theme-excel:not(.dark-mode) .analog-face {
    background: #f3f2f1;
    border-color: #c8c8c8;
}

.cal-window.theme-excel:not(.dark-mode) .analog-tick {
    background: #b0b0b0;
}

.cal-window.theme-excel:not(.dark-mode) .analog-tick.major {
    background: #595959;
}

.cal-window.theme-excel:not(.dark-mode) .analog-hand-hour,
.cal-window.theme-excel:not(.dark-mode) .analog-hand-minute {
    background: #262626;
}

.cal-window.theme-excel:not(.dark-mode) .analog-caption {
    color: #595959;
}
