/* ────────────────────────────────────────────────────── */
/* Variáveis CSS / Tema */
/* ────────────────────────────────────────────────────── */

/* ============================================
   ADVOGUE KANBAN - Design System CSS
   ============================================ */

/* === CSS Variables / Theme === */
:root,
[data-theme="light"] {
    --color-bg: #F8F9FB;
    --color-bg-elevated: #FFFFFF;
    --color-bg-hover: #F0F1F4;
    --color-bg-active: #E8E9ED;
    --color-bg-sidebar: #1E1F2B;
    --color-bg-sidebar-hover: #2A2B3D;
    --color-bg-sidebar-active: #3A3B4D;

    --color-text: #1A1A2E;
    --color-text-secondary: #4A4A6A;
    --color-text-muted: #8B8BA7;
    --color-text-sidebar: #C8C8D8;
    --color-text-sidebar-active: #D4A843;

    --color-border: #E2E3E8;
    --color-border-light: #F0F1F4;

    --color-primary: #B8922A;
    --color-primary-hover: #9A7820;
    --color-primary-light: #FEF3E2;
    --color-danger: #EF4444;
    --color-danger-hover: #DC2626;
    --color-success: #22C55E;
    --color-warning: #EAB308;
    --color-orange: #F97316;

    --color-card-yellow: #FEF3C7;
    --color-card-coral: #FEE2E2;
    --color-card-green: #D1FAE5;
    --color-card-teal: #CCFBF1;
    --color-card-blue: #DBEAFE;
    --color-card-purple: #EDE9FE;
    --color-card-orange: #FFEDD5;

    --shadow-sm: 0 1px 2px rgba(0,0,0,0.06);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.08);
    --shadow-lg: 0 8px 24px rgba(0,0,0,0.12);
    --shadow-card: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);

    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;

    --sidebar-width: 240px;
    --sidebar-collapsed: 64px;
    --topbar-height: 52px;

    --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

[data-theme="vieira"] {
    --color-bg: #F5F6FA;
    --color-bg-elevated: #FFFFFF;
    --color-bg-hover: #F0EDE6;
    --color-bg-active: #E8E0D0;
    --color-bg-sidebar: #FFFFFF;
    --color-bg-sidebar-hover: #FDF6EC;
    --color-bg-sidebar-active: #FEF3E2;

    --color-text: #1A1A1A;
    --color-text-secondary: #555555;
    --color-text-muted: #999999;
    --color-text-sidebar: #444444;
    --color-text-sidebar-active: #8B6914;

    --color-border: #E5E3DE;
    --color-border-light: #F0EDE8;

    --color-primary: #B8922A;
    --color-primary-hover: #9A7820;
    --color-primary-light: #FEF3E2;
    --color-danger: #EF4444;
    --color-danger-hover: #DC2626;
    --color-success: #22C55E;
    --color-warning: #EAB308;
    --color-orange: #F97316;

    --color-card-yellow: #FEF9EC;
    --color-card-coral: #FEF0EE;
    --color-card-green: #EDFAF3;
    --color-card-teal: #EDFAFA;
    --color-card-blue: #EEF4FE;
    --color-card-purple: #F4F0FE;
    --color-card-orange: #FFF4ED;

    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.07);
    --shadow-lg: 0 8px 24px rgba(0,0,0,0.10);
    --shadow-card: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.03);
}

/* Tema Claro — sidebar e conteúdo em tons claros (branco) */
[data-theme="claro"] {
    --color-bg: #F8F9FB;
    --color-bg-elevated: #FFFFFF;
    --color-bg-hover: #F0F1F4;
    --color-bg-active: #E8E9ED;
    --color-bg-sidebar: #FFFFFF;
    --color-bg-sidebar-hover: #FDF6EC;
    --color-bg-sidebar-active: #FEF3E2;

    --color-text: #1A1A2E;
    --color-text-secondary: #4A4A6A;
    --color-text-muted: #8B8BA7;
    --color-text-sidebar: #4A4A6A;
    --color-text-sidebar-active: #8B6914;

    --color-border: #E2E3E8;
    --color-border-light: #F0F1F4;

    --color-primary: #B8922A;
    --color-primary-hover: #9A7820;
    --color-primary-light: #FEF3E2;
    --color-danger: #EF4444;
    --color-danger-hover: #DC2626;
    --color-success: #22C55E;
    --color-warning: #EAB308;
    --color-orange: #F97316;

    --color-card-yellow: #FEF3C7;
    --color-card-coral: #FEE2E2;
    --color-card-green: #D1FAE5;
    --color-card-teal: #CCFBF1;
    --color-card-blue: #DBEAFE;
    --color-card-purple: #EDE9FE;
    --color-card-orange: #FFEDD5;

    --shadow-sm: 0 1px 2px rgba(0,0,0,0.06);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.08);
    --shadow-lg: 0 8px 24px rgba(0,0,0,0.12);
    --shadow-card: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
}

/* Tema Escuro — alias para dark */
[data-theme="escuro"] {
    --color-bg: #0F0F1A;
    --color-bg-elevated: #1A1A2E;
    --color-bg-hover: #252540;
    --color-bg-active: #303050;
    --color-bg-sidebar: #0A0A14;
    --color-bg-sidebar-hover: #1E1A10;
    --color-bg-sidebar-active: #2A2210;

    --color-text: #E8E8F0;
    --color-text-secondary: #A8A8C0;
    --color-text-muted: #6B6B88;
    --color-text-sidebar: #9090A8;
    --color-text-sidebar-active: #D4A843;

    --color-border: #2A2A44;
    --color-border-light: #1E1E38;

    --color-primary: #D4A843;
    --color-primary-hover: #B8922A;
    --color-primary-light: #2A2010;

    --color-card-yellow: #332D1A;
    --color-card-coral: #331A1A;
    --color-card-green: #1A3326;
    --color-card-teal: #1A3333;
    --color-card-blue: #1A2433;
    --color-card-purple: #261A33;
    --color-card-orange: #332618;

    --shadow-sm: 0 1px 2px rgba(0,0,0,0.3);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.4);
    --shadow-lg: 0 8px 24px rgba(0,0,0,0.5);
    --shadow-card: 0 1px 3px rgba(0,0,0,0.3);
}

[data-theme="dark"] {
    --color-bg: #0F0F1A;
    --color-bg-elevated: #1A1A2E;
    --color-bg-hover: #252540;
    --color-bg-active: #303050;
    --color-bg-sidebar: #0A0A14;
    --color-bg-sidebar-hover: #1E1A10;
    --color-bg-sidebar-active: #2A2210;

    --color-text: #E8E8F0;
    --color-text-secondary: #A8A8C0;
    --color-text-muted: #6B6B88;
    --color-text-sidebar: #9090A8;
    --color-text-sidebar-active: #D4A843;

    --color-border: #2A2A44;
    --color-border-light: #1E1E38;

    --color-primary: #D4A843;
    --color-primary-hover: #B8922A;
    --color-primary-light: #2A2010;

    --color-card-yellow: #332D1A;
    --color-card-coral: #331A1A;
    --color-card-green: #1A3326;
    --color-card-teal: #1A3333;
    --color-card-blue: #1A2433;
    --color-card-purple: #261A33;
    --color-card-orange: #332618;

    --shadow-sm: 0 1px 2px rgba(0,0,0,0.3);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.4);
    --shadow-lg: 0 8px 24px rgba(0,0,0,0.5);
    --shadow-card: 0 1px 3px rgba(0,0,0,0.3);
}

/* ────────────────────────────────────────────────────── */
/* Reset + Layout base */
/* ────────────────────────────────────────────────────── */

/* === Reset === */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 14px; }
body { font-family: var(--font-family); background: var(--color-bg); color: var(--color-text); line-height: 1.5; -webkit-font-smoothing: antialiased; }
a { color: var(--color-primary); text-decoration: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; font-size: inherit; }
input, select, textarea { font-family: inherit; font-size: inherit; }
[x-cloak] { display: none !important; }

/* === Layout === */
.pw-body-wrapper {
    display: flex;
    min-height: 100vh;
}

.pw-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    transition: margin-left var(--transition);
}

.pw-content {
    flex: 1;
    padding: 20px;
    overflow-y: auto;
}

/* ────────────────────────────────────────────────────── */
/* Sidebar */
/* ────────────────────────────────────────────────────── */

/* === Sidebar === */
.pw-sidebar {
    width: var(--sidebar-width);
    background: var(--color-bg-sidebar);
    color: var(--color-text-sidebar);
    display: flex;
    flex-direction: column;
    transition: width var(--transition);
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 100;
    border-right: 1px solid var(--color-border);
}

.pw-sidebar--collapsed {
    width: var(--sidebar-collapsed);
}

.pw-sidebar--collapsed .pw-sidebar__header {
    justify-content: center;
    padding: 12px 0;
}

.pw-sidebar + .pw-main {
    margin-left: var(--sidebar-width);
}

.pw-sidebar--collapsed + .pw-main {
    margin-left: var(--sidebar-collapsed);
}

.pw-sidebar__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
    min-height: 52px;
}

.pw-sidebar__logo {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pw-sidebar__brand {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    white-space: nowrap;
}
.pw-sidebar__brand-name {
    font-size: 15px;
    font-weight: 700;
    color: var(--color-text-sidebar-active);
    letter-spacing: -.01em;
}
.pw-sidebar__brand-segment {
    font-size: 11px;
    font-weight: 400;
    font-style: italic;
    color: var(--color-text-sidebar);
    opacity: .75;
}

.pw-sidebar__title {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
}

.pw-sidebar__toggle {
    color: var(--color-text-sidebar);
    padding: 4px;
    border-radius: var(--radius-sm);
    transition: all var(--transition);
}
.pw-sidebar__toggle:hover { background: var(--color-bg-sidebar-hover); color: var(--color-text-sidebar-active); }

.pw-sidebar__nav {
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pw-sidebar__link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: var(--radius-md);
    color: var(--color-text-sidebar);
    transition: all var(--transition);
    white-space: nowrap;
    font-weight: 500;
    font-size: 13px;
}
.pw-sidebar__link:hover { background: var(--color-bg-sidebar-hover); color: var(--color-text-sidebar-active); }
.pw-sidebar__link--active { background: var(--color-bg-sidebar-active); color: var(--color-text-sidebar-active); }

.pw-sidebar__section {
    padding: 8px 14px;
    border-top: 1px solid rgba(255,255,255,0.06);
    margin-top: 4px;
}

.pw-sidebar__section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--color-text-muted);
    margin-bottom: 6px;
}

.pw-sidebar__calendar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
    font-size: 13px;
    cursor: pointer;
}
.pw-sidebar__calendar input[type="checkbox"] {
    width: 14px; height: 14px;
    accent-color: var(--color-primary);
}

.pw-sidebar__calendar-dot {
    width: 10px; height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.pw-sidebar__calendar-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pw-sidebar__calendar-icon { flex-shrink: 0; }

/* Calendar row: label + action button */
.pw-sidebar__calendar-row {
    position: relative;
    display: flex;
    align-items: center;
    gap: 2px;
}
.pw-sidebar__calendar-row .pw-sidebar__calendar {
    flex: 1;
    min-width: 0;
}
.pw-sidebar__cal-action-btn {
    display: none;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: none;
    background: var(--color-bg-sidebar-hover);
    color: var(--color-text-sidebar);
    cursor: pointer;
    border-radius: 4px;
    flex-shrink: 0;
    padding: 0;
}
.pw-sidebar__cal-action-btn:hover { background: var(--color-bg-sidebar-active); color: var(--color-text-sidebar-active); }
.pw-sidebar__calendar-row:hover .pw-sidebar__cal-action-btn,
.pw-sidebar__workspace-row:hover .pw-sidebar__cal-action-btn,
.pw-sidebar__board-row:hover .pw-sidebar__cal-action-btn { display: flex; }

/* Color picker menu */
.pw-cal-color-menu {
    position: absolute;
    left: 0;
    top: calc(100% + 4px);
    z-index: 200;
    background: var(--color-bg-card, #1e1e2e);
    border: 1px solid var(--color-border, #2d2d3d);
    border-radius: 8px;
    padding: 10px 12px;
    width: 180px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.35);
}
/* Na sidebar, usa fixed para escapar do overflow:hidden */
.pw-cal-color-menu--sidebar {
    position: fixed;
    z-index: 500;
    background: var(--color-bg-elevated);
    border-color: var(--color-border);
}
.pw-cal-color-menu__title {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-text-muted);
    margin-bottom: 8px;
}
.pw-cal-color-menu__swatches {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 6px;
    margin-bottom: 10px;
}
.pw-cal-color-swatch {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer;
    padding: 0;
    transition: transform 0.1s, border-color 0.1s, outline 0.1s;
    outline: 2px solid transparent;
    outline-offset: 1px;
}
.pw-cal-color-swatch:hover { transform: scale(1.15); }
.pw-cal-color-swatch--active {
    border-color: #fff;
    outline-color: var(--color-primary, #6366f1);
}
.pw-cal-color-menu__custom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    color: var(--color-text-muted);
    cursor: pointer;
    gap: 8px;
}
.pw-cal-color-menu__custom input[type="color"] {
    width: 28px;
    height: 22px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    padding: 0;
    background: none;
}

.pw-cal-color-menu__divider {
    border: none;
    border-top: 1px solid var(--color-border);
    margin: 8px 0;
}
.pw-cal-color-menu__delete {
    display: flex;
    align-items: center;
    gap: 7px;
    width: 100%;
    padding: 6px 4px;
    font-size: 12.5px;
    color: var(--color-error, #ef4444);
    background: none;
    border: none;
    cursor: pointer;
    border-radius: 5px;
    text-align: left;
    transition: background .15s;
}
.pw-cal-color-menu__delete:hover { background: rgba(239,68,68,.1); }
.pw-cal-color-menu__action-item {
    display: flex;
    align-items: center;
    gap: 7px;
    width: 100%;
    padding: 6px 4px;
    font-size: 12.5px;
    color: var(--color-text);
    background: none;
    border: none;
    cursor: pointer;
    border-radius: 5px;
    text-align: left;
    transition: background .15s;
}
.pw-cal-color-menu__action-item:hover { background: var(--color-bg-hover); }

.pw-sidebar__board-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
    font-size: 13px;
    color: var(--color-text-sidebar);
    transition: color var(--transition);
}
.pw-sidebar__board-link:hover { color: var(--color-text-sidebar-active); }

.pw-sidebar__context {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-bottom: 8px;
}
.pw-sidebar__context::-webkit-scrollbar { width: 4px; }
.pw-sidebar__context::-webkit-scrollbar-track { background: transparent; }
.pw-sidebar__context::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.12); border-radius: 2px; }


/* ────────────────────────────────────────────────────── */
/* Finance Sidebar Navigation */
/* ────────────────────────────────────────────────────── */

/* Back row */
.pw-sidebar__finance-back-row {
    padding: 6px 8px 4px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.pw-sidebar__finance-back {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    border-radius: var(--radius-md);
    font-size: 12px;
    font-weight: 500;
    color: var(--color-text-muted);
    transition: all var(--transition);
    white-space: nowrap;
}
.pw-sidebar__finance-back:hover {
    background: var(--color-bg-sidebar-hover);
    color: var(--color-text-sidebar-active);
}
/* collapsed: center the icon */
.pw-sidebar--collapsed .pw-sidebar__finance-back {
    justify-content: center;
    padding: 6px;
}

/* Finance nav scroll container */
.pw-sidebar__finance-nav {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 6px 0 12px;
    display: flex;
    flex-direction: column;
}
.pw-sidebar__finance-nav::-webkit-scrollbar { width: 4px; }
.pw-sidebar__finance-nav::-webkit-scrollbar-track { background: transparent; }
.pw-sidebar__finance-nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.12); border-radius: 2px; }

/* Group container */
.pw-sidebar__fgroup {
    padding: 6px 0 2px;
    border-top: 1px solid rgba(255,255,255,0.06);
}
.pw-sidebar__fgroup:first-child { border-top: none; }

/* Group label */
.pw-sidebar__fgroup-label {
    padding: 4px 14px 2px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: var(--color-text-muted);
    white-space: nowrap;
}

/* Nav link */
.pw-sidebar__flink {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 6px 10px;
    margin: 1px 6px;
    border-radius: var(--radius-md);
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text-sidebar);
    transition: all var(--transition);
    white-space: nowrap;
    text-decoration: none;
}
.pw-sidebar__flink:hover {
    background: var(--color-bg-sidebar-hover);
    color: var(--color-text-sidebar-active);
}
.pw-sidebar__flink--active {
    background: var(--color-bg-sidebar-active);
    color: var(--color-text-sidebar-active);
}
.pw-sidebar__flink--sub {
    font-size: 12.5px;
}

/* Icon */
.pw-sidebar__flink-icon {
    flex-shrink: 0;
    opacity: 0.75;
}
.pw-sidebar__flink:hover .pw-sidebar__flink-icon,
.pw-sidebar__flink--active .pw-sidebar__flink-icon {
    opacity: 1;
}

/* Collapsed: center icons, hide labels */
.pw-sidebar--collapsed .pw-sidebar__flink {
    justify-content: center;
    margin: 1px 4px;
    padding: 7px 6px;
}
.pw-sidebar--collapsed .pw-sidebar__fgroup {
    border-top: 1px solid rgba(255,255,255,0.06);
    padding: 4px 0 2px;
}
/* ────────────────────────────────────────────────────── */
/* Top Bar */
/* ────────────────────────────────────────────────────── */

/* === Top Bar === */
.pw-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--topbar-height);
    padding: 0 20px;
    background: var(--color-bg-elevated);
    border-bottom: 1px solid var(--color-border);
    flex-shrink: 0;
}

.pw-topbar__left { display: flex; align-items: center; gap: 12px; }
.pw-topbar__title { font-size: 16px; font-weight: 600; }
.pw-topbar__center { display: flex; align-items: center; gap: 8px; }
.pw-topbar__right { display: flex; align-items: center; gap: 10px; }

/* ────────────────────────────────────────────────────── */
/* Botões */
/* ────────────────────────────────────────────────────── */

/* === Buttons === */
.pw-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: var(--radius-md);
    font-weight: 500;
    font-size: 13px;
    transition: all var(--transition);
    white-space: nowrap;
    border: 1px solid var(--color-border);
    background: var(--color-bg-elevated);
    color: var(--color-text);
}
.pw-btn:hover { background: var(--color-bg-hover); }

.pw-btn--primary { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }
.pw-btn--primary:hover { background: var(--color-primary-hover); }

.pw-btn--danger { background: var(--color-danger); color: #fff; border-color: var(--color-danger); }
.pw-btn--danger:hover { background: var(--color-danger-hover); }

.pw-btn--ghost { background: transparent; border-color: transparent; }
.pw-btn--ghost:hover { background: var(--color-bg-hover); }

.pw-btn--sm { padding: 5px 10px; font-size: 12px; }
.pw-btn--full { width: 100%; justify-content: center; }
.pw-btn--active { background: var(--color-primary-light); color: var(--color-primary); border-color: var(--color-primary); }

.pw-btn--google {
    background: #fff;
    color: #333;
    border: 1px solid #ddd;
    padding: 10px 20px;
}
.pw-btn--google:hover { background: #f5f5f5; }

.pw-btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px; height: 32px;
    border-radius: var(--radius-md);
    color: var(--color-text-muted);
    transition: all var(--transition);
}
.pw-btn-icon:hover { background: var(--color-bg-hover); color: var(--color-text); }
.pw-btn-icon--sm { width: 24px; height: 24px; }
.pw-btn-icon--xs { width: 20px; height: 20px; }

.pw-btn-group {
    display: flex;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: hidden;
}
.pw-btn-group .pw-btn {
    border-radius: 0;
    border: none;
    border-right: 1px solid var(--color-border);
}
.pw-btn-group .pw-btn:last-child { border-right: none; }

/* ────────────────────────────────────────────────────── */
/* Avatar, Formulários, Switch */
/* ────────────────────────────────────────────────────── */

/* === Avatar === */
.pw-avatar {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--color-primary);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 13px;
    flex-shrink: 0;
}
.pw-avatar--sm { width: 28px; height: 28px; font-size: 11px; }

/* === Forms === */
.pw-form-group { margin-bottom: 14px; }
.pw-form-row { display: flex; gap: 14px; }
.pw-form-row .pw-form-group { flex: 1; }

.pw-label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--color-text-secondary);
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.pw-input {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: var(--color-bg);
    color: var(--color-text);
    transition: all var(--transition);
    outline: none;
    font-size: 13px;
}
.pw-input:focus { border-color: var(--color-primary); box-shadow: 0 0 0 3px var(--color-primary-light); }
.pw-input--sm { padding: 5px 8px; font-size: 12px; }
.pw-input--error { border-color: #ef4444 !important; }
.pw-input--error:focus { box-shadow: 0 0 0 3px rgba(239,68,68,.15) !important; }
.pw-field-error { margin: 3px 0 0; font-size: 11px; color: #ef4444; }
.pw-input--flat { border: none; background: transparent; padding: 2px 4px; }
.pw-input--flat:focus { background: var(--color-bg); border: 1px solid var(--color-primary); }
.pw-textarea { resize: vertical; min-height: 80px; }

.pw-checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 13px;
}
.pw-checkbox-label input[type="checkbox"] {
    width: 16px; height: 16px;
    accent-color: var(--color-primary);
}

.pw-color-picker {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.pw-color-dot {
    width: 28px; height: 28px;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all var(--transition);
}
.pw-color-dot:hover { transform: scale(1.15); }
.pw-color-dot--active { border-color: var(--color-text); box-shadow: var(--shadow-md); }

/* === Switch === */
.pw-switch {
    position: relative;
    display: inline-block;
    width: 36px; height: 20px;
}
.pw-switch input { opacity: 0; width: 0; height: 0; }
.pw-switch__slider {
    position: absolute;
    inset: 0;
    background: var(--color-bg-active);
    border-radius: 10px;
    transition: var(--transition);
    cursor: pointer;
}
.pw-switch__slider::before {
    content: '';
    position: absolute;
    width: 16px; height: 16px;
    left: 2px; bottom: 2px;
    background: white;
    border-radius: 50%;
    transition: var(--transition);
}
.pw-switch input:checked + .pw-switch__slider { background: var(--color-primary); }
.pw-switch input:checked + .pw-switch__slider::before { transform: translateX(16px); }

/* ────────────────────────────────────────────────────── */
/* Modais */
/* ────────────────────────────────────────────────────── */

/* === Modals === */
.pw-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 20px;
}

.pw-modal {
    background: var(--color-bg-elevated);
    border-radius: var(--radius-lg);
    width: 100%;
    max-width: 500px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: var(--shadow-lg);
}
.pw-modal--lg { max-width: 640px; }

.pw-modal__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid var(--color-border);
}
.pw-modal__header h2 { font-size: 16px; font-weight: 600; }

.pw-modal__body { padding: 20px; }

.pw-modal__footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 20px;
    border-top: 1px solid var(--color-border);
    margin-top: 0;
}

/* ────────────────────────────────────────────────────── */
/* Alertas, Painéis, Badges, Dropdown */
/* ────────────────────────────────────────────────────── */

/* === Alerts === */
.pw-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    margin: 10px 20px;
    border-radius: var(--radius-md);
    font-size: 13px;
    font-weight: 500;
}
.pw-alert--success { background: #D1FAE5; color: #065F46; }
.pw-alert--error { background: #FEE2E2; color: #991B1B; }

/* === Panels === */
.pw-panel {
    background: var(--color-bg-elevated);
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border);
    margin-bottom: 16px;
    box-shadow: var(--shadow-sm);
}
.pw-panel--danger { border-color: var(--color-danger); }

.pw-panel__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    border-bottom: 1px solid var(--color-border-light);
}
.pw-panel__header h3 { font-size: 14px; font-weight: 600; }

.pw-panel__body { padding: 14px 18px; }

/* === Badges === */
.pw-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
}
.pw-badge--none { background: var(--color-bg-hover); color: var(--color-text-muted); }
.pw-badge--low { background: #D1FAE5; color: #065F46; }
.pw-badge--medium { background: #FEF3C7; color: #92400E; }
.pw-badge--high { background: #FFEDD5; color: #9A3412; }
.pw-badge--urgent { background: #FEE2E2; color: #991B1B; }
.pw-badge--running { background: var(--color-primary); color: #fff; animation: pulse 2s infinite; }
.pw-badge--count { background: var(--color-bg-hover); color: var(--color-text-muted); min-width: 20px; text-align: center; }

@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.7; } }

/* === Dropdown === */
.pw-dropdown { position: relative; }
.pw-dropdown__menu {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 4px;
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    min-width: 160px;
    z-index: 200;
    padding: 4px;
}
.pw-dropdown__item {
    display: block;
    width: 100%;
    padding: 8px 12px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    color: var(--color-text);
    text-align: left;
    transition: all var(--transition);
}
.pw-dropdown__item:hover { background: var(--color-bg-hover); }
.pw-dropdown__item--danger { color: var(--color-danger); }
.pw-dropdown__divider { border: none; border-top: 1px solid var(--color-border); margin: 4px 0; }

/* ────────────────────────────────────────────────────── */
/* Dashboard */
/* ────────────────────────────────────────────────────── */

/* === Dashboard === */
.pw-dashboard { max-width: 1400px; margin: 0 auto; }

.pw-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.pw-stat-card {
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-shadow: var(--shadow-sm);
}

.pw-stat-card__icon {
    width: 44px; height: 44px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.pw-stat-card__icon--blue { background: #DBEAFE; color: #2563EB; }
.pw-stat-card__icon--green { background: #D1FAE5; color: #059669; }
.pw-stat-card__icon--purple { background: #EDE9FE; color: #7C3AED; }
.pw-stat-card__icon--orange { background: #FFEDD5; color: #EA580C; }

.pw-stat-card__value { display: block; font-size: 20px; font-weight: 700; }
.pw-stat-card__label { display: block; font-size: 12px; color: var(--color-text-muted); }

.pw-dashboard__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 16px;
}

/* === Event Items (Dashboard) === */
.pw-event-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--color-border-light);
}
.pw-event-item:last-child { border-bottom: none; }
.pw-event-item__dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.pw-event-item__content { flex: 1; min-width: 0; }
.pw-event-item__title { display: block; font-weight: 500; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pw-event-item__time { display: block; font-size: 11px; color: var(--color-text-muted); }

/* === Card Items (Dashboard) === */
.pw-card-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--color-border-light);
}
.pw-card-item:last-child { border-bottom: none; }
.pw-card-item__priority { width: 4px; height: 28px; border-radius: 2px; flex-shrink: 0; }
.pw-card-item__content { flex: 1; }
.pw-card-item__title { display: block; font-weight: 500; font-size: 13px; }
.pw-card-item__meta { display: block; font-size: 11px; color: var(--color-text-muted); }

/* === Time Items (Dashboard) === */
.pw-time-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    border-bottom: 1px solid var(--color-border-light);
}
.pw-time-item:last-child { border-bottom: none; }
.pw-time-item__duration { font-weight: 700; font-size: 14px; color: var(--color-primary); min-width: 60px; }
.pw-time-item__desc { flex: 1; font-size: 13px; }


/* ────────────────────────────────────────────────────────
   Finance Module — iframe + sidebar sub-navigation
   ──────────────────────────────────────────────────────── */

/* Finance iframe wrapper */
.pw-finance-frame {
    flex: 1;
    display: flex;
    min-height: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--color-bg-elevated);
}

.pw-finance-frame__iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
    flex: 1;
    min-height: calc(100vh - var(--topbar-height) - 48px);
}

/* Finance sidebar — back button */
.pw-sidebar__finance-header {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px 12px 8px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.pw-sidebar__finance-back {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--color-text-muted);
    transition: color var(--transition);
    cursor: pointer;
}
.pw-sidebar__finance-back:hover { color: var(--color-text-sidebar); }

.pw-sidebar__finance-title {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    padding-left: 2px;
}

/* Finance sidebar links */
.pw-sidebar__finance-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    font-size: 13px;
    color: var(--color-text-sidebar);
    border-radius: var(--radius-md);
    margin: 1px 6px;
    transition: all var(--transition);
    cursor: pointer;
}
.pw-sidebar__finance-link:hover { background: var(--color-bg-sidebar-hover); color: #fff; }
.pw-sidebar__finance-link--active { background: var(--color-bg-sidebar-active); color: var(--color-text-sidebar-active); }
.pw-sidebar__finance-link--dashboard {
    margin: 6px 6px 2px;
    font-weight: 600;
}
.pw-sidebar__finance-link svg { flex-shrink: 0; opacity: 0.8; }
.pw-sidebar__finance-link--active svg { opacity: 1; }
/* ────────────────────────────────────────────────────── */
/* Calendário, Minicalendário, FullCalendar */
/* ────────────────────────────────────────────────────── */

/* === Calendar Page === */
.pw-calendar-page { height: calc(100vh - var(--topbar-height) - 40px); display: flex; flex-direction: column; }

.pw-calendar-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    flex-shrink: 0;
}

.pw-calendar-nav {
    display: flex;
    align-items: center;
    gap: 4px;
}
.pw-calendar-nav__title { font-weight: 600; font-size: 15px; min-width: 200px; text-align: center; }

.pw-calendar-split {
    flex: 1;
    display: flex;
    gap: 0;
    min-height: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--color-bg-elevated);
}

.pw-calendar-split__board {
    width: 260px;
    border-right: 1px solid var(--color-border);
    overflow-y: auto;
    flex-shrink: 0;
    transition: width var(--transition);
}
.pw-calendar-split__board--hidden { width: 0; border-right: none; overflow: hidden; }

.pw-calendar-split__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    background: var(--color-bg-hover);
    border-right: 1px solid var(--color-border);
    color: var(--color-text-muted);
    cursor: pointer;
    transition: all var(--transition);
}
.pw-calendar-split__toggle:hover { background: var(--color-bg-active); color: var(--color-text); }

.pw-calendar-split__calendar { flex: 1; padding: 8px; min-width: 0; }

/* Mini Calendar */
.pw-mini-cal {
    padding: 10px 10px 8px;
    border-bottom: 1px solid var(--color-border-light);
    user-select: none;
}

.pw-mini-cal__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.pw-mini-cal__nav span {
    font-size: 12px;
    font-weight: 600;
    color: var(--color-text);
}

.pw-mini-cal__nav button {
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-sm);
    color: var(--color-text-muted);
    transition: all var(--transition);
    cursor: pointer;
}
.pw-mini-cal__nav button:hover { background: var(--color-bg-hover); color: var(--color-text); }

.pw-mini-cal__grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1px;
}

.pw-mini-cal__dow {
    font-size: 10px;
    font-weight: 600;
    color: var(--color-text-muted);
    text-align: center;
    padding: 2px 0 4px;
    text-transform: uppercase;
}

.pw-mini-cal__day {
    position: relative;
    aspect-ratio: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    border-radius: 50%;
    cursor: pointer;
    color: var(--color-text-secondary);
    transition: background var(--transition), color var(--transition);
}
.pw-mini-cal__day:hover:not(.pw-mini-cal__day--empty) {
    background: var(--color-bg-hover);
    color: var(--color-text);
}
.pw-mini-cal__day--empty { cursor: default; }
.pw-mini-cal__day--today {
    background: var(--color-primary);
    color: #fff;
    font-weight: 700;
}
.pw-mini-cal__day--today:hover { background: var(--color-primary-dark, var(--color-primary)); }
.pw-mini-cal__day--selected:not(.pw-mini-cal__day--today) {
    background: var(--color-primary-muted, rgba(99,102,241,0.2));
    color: var(--color-primary);
    font-weight: 600;
}
.pw-mini-cal__dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--color-primary);
    position: absolute;
    bottom: 3px;
    left: 50%;
    transform: translateX(-50%);
}
.pw-mini-cal__day--today .pw-mini-cal__dot {
    background: rgba(255,255,255,0.8);
}

/* Board Mini Panel */
.pw-board-mini__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    border-bottom: 1px solid var(--color-border-light);
    position: sticky;
    top: 0;
    background: var(--color-bg-elevated);
    z-index: 5;
}
.pw-board-mini__header h3 { font-size: 13px; font-weight: 600; }

.pw-board-mini__section { padding: 8px 10px; }
.pw-board-mini__board-name {
    font-size: 12px;
    font-weight: 600;
    padding: 4px 8px;
    margin-bottom: 4px;
}

.pw-board-mini__list { margin-bottom: 4px; }

.pw-board-mini__card {
    padding: 6px 8px;
    margin: 2px 0;
    background: var(--color-bg);
    border-radius: var(--radius-sm);
    font-size: 12px;
    cursor: grab;
    transition: all var(--transition);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.pw-board-mini__card:hover { background: var(--color-bg-hover); box-shadow: var(--shadow-sm); }

.pw-board-mini__body {
    overflow-y: auto;
    flex: 1;
    padding: 8px 10px;
}
.pw-board-mini__body .pw-sidebar__calendar-row {
    padding: 2px 0;
    border-radius: var(--radius-sm);
}
.pw-board-mini__body .pw-sidebar__calendar-row:hover {
    background: var(--color-bg-hover);
}
.pw-board-mini__body .pw-sidebar__calendar {
    padding: 4px 6px;
    font-size: 13px;
}
.pw-board-mini__body .pw-sidebar__cal-action-btn {
    background: transparent;
    color: var(--color-text-muted);
    margin-right: 2px;
}
.pw-board-mini__body .pw-sidebar__section-label {
    padding: 10px 6px 4px;
    font-size: 11px;
    font-weight: 600;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: .05em;
}

/* FullCalendar Overrides */
.fc { font-family: var(--font-family) !important; }
.fc .fc-toolbar { margin-bottom: 8px !important; }
.fc .fc-toolbar-title { font-size: 16px !important; font-weight: 600 !important; }
.fc .fc-button { border-radius: var(--radius-md) !important; font-size: 12px !important; }
.fc .fc-button-primary {
    background: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}
.fc .fc-daygrid-day { transition: background var(--transition); }
.fc .fc-daygrid-day:hover { background: var(--color-bg-hover); }
.fc .fc-event {
    border-radius: var(--radius-sm) !important;
    border: none !important;
    padding: 2px 5px !important;
    font-size: 12px !important;
    cursor: pointer !important;
}
/* 2-line events: title + time in month view */
.fc .fc-daygrid-event {
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 1px 2px !important;
}
.fc .fc-daygrid-event .fc-event-main {
    overflow: hidden !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 2px 4px !important;
    height: auto !important;
}
.fc .fc-daygrid-event-harness {
    height: auto !important;
    overflow: visible !important;
}
.pw-fc-event-wrapper {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}
.pw-fc-event-title {
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    font-size: 12px;
    color: #fff;
}
.pw-fc-event-time {
    font-size: 10px;
    opacity: 0.9;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    color: rgba(255,255,255,0.85);
}
/* Completed event: faded + strikethrough title */
.fc .pw-fc-event-wrapper--done {
    opacity: 0.45;
}
.fc .pw-fc-event-wrapper--done .pw-fc-event-title {
    text-decoration: line-through;
}

/* Feriados nacionais — fundo colorido + label */
/* Feriado nacional — evento bloco cobrindo o dia */
.pw-fc-holiday-label {
    font-size: 11px;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    width: 100%;
}

/* Fim de semana — fundo diferenciado (dayGrid + timeGrid) */
:root {
    --pw-weekend-bg: rgba(255, 255, 255, 0.03);
    --pw-today-bg: rgba(99, 102, 241, 0.08);
}
.fc .fc-day-sat,
.fc .fc-day-sun {
    background-color: var(--pw-weekend-bg);
}
.fc .fc-timegrid-col.fc-day-sat,
.fc .fc-timegrid-col.fc-day-sun {
    background-color: var(--pw-weekend-bg);
}
.fc .fc-day-today {
    background-color: var(--pw-today-bg) !important;
}
.fc .fc-timegrid-col.fc-day-today {
    background-color: var(--pw-today-bg) !important;
}
.fc .fc-col-header-cell.fc-day-sat .fc-col-header-cell-cushion,
.fc .fc-col-header-cell.fc-day-sun .fc-col-header-cell-cushion {
    color: var(--color-text-muted);
}

.fc .fc-daygrid-day-number { font-size: 13px; color: var(--color-text); padding: 4px 8px; }
.fc .fc-col-header-cell-cushion { font-size: 12px; font-weight: 600; color: var(--color-text-secondary); text-transform: uppercase; }
.fc .fc-scrollgrid { border-color: var(--color-border) !important; }
.fc td, .fc th { border-color: var(--color-border-light) !important; }
.fc .fc-timegrid-slot { height: 40px !important; }

/* ────────────────────────────────────────────────────── */
/* Páginas de quadro e Kanban Board */
/* ────────────────────────────────────────────────────── */

/* === Board Pages === */
.pw-boards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
}

.pw-board-card {
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: all var(--transition);
    box-shadow: var(--shadow-sm);
}
.pw-board-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }

.pw-board-card__header {
    padding: 20px;
    color: #fff;
}
.pw-board-card__header h3 { font-size: 16px; font-weight: 600; }

.pw-board-card__body { padding: 14px; }
.pw-board-card__stats { font-size: 12px; color: var(--color-text-muted); margin-top: 8px; }

.pw-board-card--new {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 160px;
    border: 2px dashed var(--color-border);
    cursor: pointer;
    gap: 8px;
    color: var(--color-text-muted);
    font-size: 14px;
}
.pw-board-card--new:hover { border-color: var(--color-primary); color: var(--color-primary); background: var(--color-primary-light); }

/* === Kanban Board === */
.pw-board-page { height: calc(100vh - var(--topbar-height) - 40px); display: flex; flex-direction: column; }

.pw-board-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    flex-shrink: 0;
}
.pw-board-header__info { display: flex; align-items: center; gap: 10px; }
.pw-board-header__dot { width: 12px; height: 12px; border-radius: 50%; }
.pw-board-header h2 { font-size: 18px; }

.pw-kanban {
    flex: 1;
    display: flex;
    gap: 14px;
    overflow-x: auto;
    padding-bottom: 12px;
    min-height: 0;
}

.pw-kanban__list {
    flex-shrink: 0;
    width: 280px;
    background: var(--color-bg);
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border-light);
    display: flex;
    flex-direction: column;
    max-height: 100%;
}

.pw-kanban__list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    border-bottom: 1px solid var(--color-border-light);
    flex-shrink: 0;
}

.pw-kanban__list-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 13px;
}

.pw-kanban__list-actions { display: flex; gap: 2px; }

.pw-kanban__list-drag-handle {
    cursor: grab;
    color: var(--color-text-muted);
    padding: 2px 4px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.pw-kanban__list-drag-handle:hover { color: var(--color-text); background: var(--color-bg-hover); }
.pw-kanban__list-drag-handle:active { cursor: grabbing; }

.pw-kanban__list--dragging { opacity: 0.4; }
.pw-kanban__list--drag-over { outline: 2px solid var(--color-primary); outline-offset: -2px; }

.pw-kanban__cards {
    flex: 1;
    overflow-y: auto;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 40px;
}

.pw-kanban__card {
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border-light);
    border-radius: var(--radius-md);
    padding: 10px;
    cursor: pointer;
    transition: all var(--transition);
    position: relative;
    box-shadow: var(--shadow-card);
}
.pw-kanban__card:hover { box-shadow: var(--shadow-md); border-color: var(--color-border); }

.pw-kanban__card-priority {
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 3px;
    border-radius: var(--radius-md) 0 0 var(--radius-md);
}

.pw-kanban__card-body { padding-left: 4px; /* overridden below */ }

.pw-kanban__card-header {
    display: flex;
    align-items: flex-start;
    gap: 6px;
}

.pw-kanban__card-check {
    width: 18px; height: 18px;
    border: 2px solid var(--color-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
    transition: all var(--transition);
}
.pw-kanban__card-check:hover { border-color: var(--color-primary); }
.pw-kanban__card-check--done { background: var(--color-success); border-color: var(--color-success); color: #fff; }

.pw-kanban__card-title { font-size: 13px; font-weight: 500; line-height: 1.4; }

.pw-kanban__card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
    font-size: 11px;
    color: var(--color-text-muted);
}

.pw-kanban__card-meta span {
    display: flex;
    align-items: center;
    gap: 3px;
}

.pw-kanban__card-actions {
    position: absolute;
    top: 6px; right: 6px;
    display: none;
}
.pw-kanban__card:hover .pw-kanban__card-actions { display: flex; }

.pw-kanban__cards--drag-over {
    background: rgba(99,102,241,0.08);
    border-radius: var(--radius-md);
    outline: 2px dashed var(--color-primary);
    outline-offset: -2px;
}

/* ---- Card Groups ---- */
.pw-card-group-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-text-muted, #9ca3af);
    padding: 8px 4px 4px;
    margin-top: 4px;
    border-top: 1px solid var(--color-border, #e5e7eb);
}
.pw-card-group-zone { min-height: 4px; }
.pw-card-group-zone--drag-over {
    background: rgba(99,102,241,0.08);
    border-radius: var(--radius-md);
    outline: 2px dashed var(--color-primary);
    outline-offset: -2px;
}

.pw-kanban__drag-handle {
    position: absolute;
    top: 50%;
    left: 4px;
    transform: translateY(-50%);
    width: 16px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: grab;
    color: var(--color-text-muted);
    opacity: 0;
    border-radius: 3px;
    z-index: 2;
    transition: opacity 0.15s;
}
.pw-kanban__drag-handle:active { cursor: grabbing; }
.pw-kanban__card:hover .pw-kanban__drag-handle { opacity: 0.5; }
.pw-kanban__card-body { padding-left: 16px; }

.pw-kanban__add-card {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px;
    border-radius: var(--radius-md);
    color: var(--color-text-muted);
    font-size: 12px;
    transition: all var(--transition);
    width: 100%;
    text-align: left;
}
.pw-kanban__add-card:hover { background: var(--color-bg-hover); color: var(--color-text); }

/* Sortable ghost */
.sortable-ghost { opacity: 0.4; }
.sortable-chosen { box-shadow: var(--shadow-lg); }

/* ────────────────────────────────────────────────────── */
/* Página de Tempo, indicador e timer flutuante */
/* ────────────────────────────────────────────────────── */

/* === Time Tracking Page === */
.pw-time-stats {
    display: flex;
    gap: 24px;
    padding: 16px 20px;
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    margin-bottom: 16px;
}
.pw-time-stats__item { text-align: center; }
.pw-time-stats__label { display: block; font-size: 11px; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.5px; }
.pw-time-stats__value { display: block; font-size: 22px; font-weight: 700; color: var(--color-primary); }

.pw-timer-control {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    margin-bottom: 16px;
}
.pw-timer-control__input { flex: 1; }
.pw-timer-control__display { font-size: 24px; font-weight: 700; font-variant-numeric: tabular-nums; min-width: 100px; text-align: center; }

.pw-period-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 16px;
    border-bottom: 2px solid var(--color-border);
}
.pw-period-tab {
    padding: 8px 20px;
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text-muted);
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: all var(--transition);
}
.pw-period-tab:hover { color: var(--color-text); }
.pw-period-tab--active { color: var(--color-primary); border-bottom-color: var(--color-primary); }

/* Bar Chart */
.pw-bar-chart { display: flex; gap: 8px; align-items: flex-end; height: 160px; }
.pw-bar-chart__item { flex: 1; text-align: center; display: flex; flex-direction: column; align-items: center; height: 100%; }
.pw-bar-chart__bar-container { flex: 1; width: 100%; display: flex; align-items: flex-end; justify-content: center; }
.pw-bar-chart__bar { width: 60%; background: var(--color-primary); border-radius: var(--radius-sm) var(--radius-sm) 0 0; min-height: 4px; transition: height 0.5s ease; }
.pw-bar-chart__label { font-size: 10px; color: var(--color-text-muted); margin-top: 4px; }
.pw-bar-chart__value { font-size: 10px; font-weight: 600; margin-top: 2px; }

/* Context Items */
.pw-context-item { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--color-border-light); }
.pw-context-item:last-child { border-bottom: none; }
.pw-context-item__info { min-width: 160px; }
.pw-context-item__name { display: block; font-weight: 500; font-size: 13px; }
.pw-context-item__bar-wrapper { flex: 1; height: 8px; background: var(--color-bg); border-radius: 4px; overflow: hidden; }
.pw-context-item__bar { height: 100%; background: var(--color-primary); border-radius: 4px; transition: width 0.5s ease; }
.pw-context-item__time { font-weight: 600; font-size: 13px; min-width: 60px; text-align: right; }

/* Table */
.pw-table { width: 100%; border-collapse: collapse; }
.pw-table th { text-align: left; font-size: 11px; font-weight: 600; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.5px; padding: 8px; border-bottom: 1px solid var(--color-border); }
.pw-table td { padding: 8px; font-size: 13px; border-bottom: 1px solid var(--color-border-light); }

/* === Timer Indicator === */
.pw-timer-indicator {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    background: var(--color-primary-light);
    border-radius: 20px;
    cursor: pointer;
    transition: all var(--transition);
}
.pw-timer-indicator:hover { background: var(--color-primary); color: #fff; }
.pw-timer-indicator__dot {
    width: 8px; height: 8px;
    background: var(--color-danger);
    border-radius: 50%;
    animation: pulse 1.5s infinite;
}
.pw-timer-indicator__time { font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }

/* === Floating Timer === */
.pw-floating-timer {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 300px;
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    z-index: 500;
    overflow: hidden;
}
.pw-floating-timer__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    background: var(--color-primary);
    color: #fff;
}
.pw-floating-timer__header .pw-btn-icon { color: #fff; }
.pw-floating-timer__title { font-weight: 600; font-size: 13px; }
.pw-floating-timer__body { padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.pw-floating-timer__display { font-size: 32px; font-weight: 700; text-align: center; font-variant-numeric: tabular-nums; color: var(--color-primary); }
.pw-floating-timer__controls { display: flex; justify-content: center; }
.pw-floating-timer__footer {
    display: flex;
    justify-content: space-between;
    padding: 8px 14px;
    border-top: 1px solid var(--color-border);
    font-size: 12px;
}

/* ────────────────────────────────────────────────────── */
/* Configurações e Checklist */
/* ────────────────────────────────────────────────────── */

/* === Settings === */
.pw-settings-page { max-width: 680px; }

.pw-integration-status {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px;
    border-radius: var(--radius-md);
    background: var(--color-bg);
}
.pw-integration-status--connected { background: #D1FAE5; }
.pw-integration-status__info { display: flex; align-items: center; gap: 10px; }

.pw-calendars-list { margin-top: 16px; }
.pw-calendars-list h4 { font-size: 13px; margin-bottom: 8px; }

.pw-calendar-setting {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
}
.pw-calendar-setting span:nth-child(2) { flex: 1; font-size: 13px; }

.pw-theme-selector { display: flex; gap: 16px; }
.pw-theme-option {
    text-align: center;
    cursor: pointer;
    padding: 8px;
    border: 2px solid transparent;
    border-radius: var(--radius-lg);
    transition: all var(--transition);
}
.pw-theme-option--active { border-color: var(--color-primary); }

.pw-theme-preview {
    width: 120px; height: 80px;
    border-radius: var(--radius-md);
    display: flex;
    overflow: hidden;
    border: 1px solid var(--color-border);
}
.pw-theme-preview--light  { background: #F8F9FB; }
.pw-theme-preview--claro  { background: #F8F9FB; }
.pw-theme-preview--escuro { background: #0F0F1A; }
.pw-theme-preview--dark   { background: #0F0F1A; }
.pw-theme-preview--vieira { background: #F5F6FA; }
.pw-theme-preview__sidebar { width: 30%; }
.pw-theme-preview--light  .pw-theme-preview__sidebar { background: #1E1F2B; }
.pw-theme-preview--claro  .pw-theme-preview__sidebar { background: #FFFFFF; border-right: 2px solid #E2E3E8; }
.pw-theme-preview--escuro .pw-theme-preview__sidebar { background: #0A0A14; }
.pw-theme-preview--dark   .pw-theme-preview__sidebar { background: #0A0A14; }
.pw-theme-preview--vieira .pw-theme-preview__sidebar { background: #FFFFFF; border-right: 2px solid #E5E3DE; }
.pw-theme-preview__main { flex: 1; }

/* === Checklist === */
.pw-checklist__item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 3px 0;
}
.pw-checklist__item input[type="checkbox"] { flex-shrink: 0; }
.pw-checklist__item .pw-input { flex: 1; }

/* ────────────────────────────────────────────────────── */
/* Páginas de autenticação */
/* ────────────────────────────────────────────────────── */

/* === Auth Pages === */
.pw-auth-body { display: flex; min-height: 100vh; background: var(--color-bg); align-items: center; justify-content: center; }
.pw-auth-container { width: 100%; max-width: 400px; padding: 20px; }
.pw-auth-card {
    background: var(--color-bg-elevated);
    padding: 32px;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);
    border: 1px solid var(--color-border);
}
.pw-auth-logo { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; }
.pw-auth-logo h1 { font-size: 24px; font-weight: 700; }
.pw-auth-footer { text-align: center; margin-top: 16px; font-size: 13px; }

/* ────────────────────────────────────────────────────── */
/* Utilitários + Responsivo */
/* ────────────────────────────────────────────────────── */

/* === Utilities === */
.pw-text-muted { color: var(--color-text-muted); }
.pw-text-danger { color: var(--color-danger); }
.pw-text-bold { font-weight: 600; }
.pw-text-center { text-align: center; }
.pw-text-xs { font-size: 11px; }
.pw-text-strikethrough { text-decoration: line-through; opacity: 0.6; }

.pw-spin { animation: spin 1s linear infinite; }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* === Responsive === */
@media (max-width: 768px) {
    .pw-sidebar { width: var(--sidebar-collapsed); }
    .pw-sidebar + .pw-main { margin-left: var(--sidebar-collapsed); }
    .pw-calendar-split__board { display: none; }
    .pw-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .pw-kanban__list { width: 260px; }
    .pw-form-row { flex-direction: column; }
}

/* ────────────────────────────────────────────────────── */
/* Áreas de trabalho e quadros na sidebar */
/* ────────────────────────────────────────────────────── */

/* === Workspace Page === */
.pw-workspace-page { padding: 0; }

.pw-workspace-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}
.pw-workspace-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--color-text);
}

/* Workspace Tabs */
.pw-workspace-tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 24px;
    border-bottom: 2px solid var(--color-border);
    padding-bottom: 0;
    overflow-x: auto;
    scrollbar-width: none;
}
.pw-workspace-tabs::-webkit-scrollbar { display: none; }

.pw-workspace-tab {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text-muted);
    border: none;
    background: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    cursor: pointer;
    white-space: nowrap;
    transition: all var(--transition);
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
    position: relative;
}
.pw-workspace-tab:hover { color: var(--color-text); background: var(--color-bg-hover); }
.pw-workspace-tab--active {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
    font-weight: 600;
}
.pw-workspace-tab__dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}
.pw-workspace-tab__actions {
    display: inline-flex;
    gap: 2px;
    margin-left: 4px;
    opacity: 0;
    transition: opacity var(--transition);
}
.pw-workspace-tab:hover .pw-workspace-tab__actions { opacity: 1; }

/* Workspace Section */
.pw-workspace-section {
    margin-bottom: 36px;
}
.pw-workspace-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}
.pw-workspace-section__name {
    display: flex;
    align-items: center;
    gap: 10px;
}
.pw-workspace-section__name h2 {
    font-size: 17px;
    font-weight: 600;
    color: var(--color-text);
}
.pw-workspace-section__icon {
    width: 32px; height: 32px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.pw-workspace-badge {
    font-size: 10px;
    font-weight: 600;
    color: var(--color-text-muted);
    background: var(--color-bg-hover);
    padding: 2px 6px;
    border-radius: 99px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Boards empty state */
.pw-boards-empty {
    padding: 20px;
    color: var(--color-text-muted);
    font-size: 13px;
}

/* === Sidebar Workspace === */
.pw-sidebar__section--workspaces { /* layout handled by pw-sidebar__context */ }

.pw-sidebar__workspace { margin-bottom: 2px; }

/* Row containers para hover dos action buttons */
.pw-sidebar__workspace-row {
    display: flex;
    align-items: center;
    position: relative;
}
.pw-sidebar__workspace-row .pw-sidebar__workspace-toggle { flex: 1; }
.pw-sidebar__workspace-row:hover .pw-sidebar__cal-action-btn { display: flex; }

.pw-sidebar__board-row {
    display: flex;
    align-items: center;
    position: relative;
}
.pw-sidebar__board-row .pw-sidebar__board-link { flex: 1; }
.pw-sidebar__board-row:hover .pw-sidebar__cal-action-btn { display: flex; }

.pw-sidebar__workspace-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text-sidebar);
    background: none;
    border: none;
    cursor: pointer;
    border-radius: var(--radius-sm);
    transition: background var(--transition);
    text-align: left;
}
.pw-sidebar__workspace-toggle:hover { background: var(--color-bg-sidebar-hover); }

.pw-sidebar__workspace-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.pw-sidebar__workspace-chevron {
    flex-shrink: 0;
    transition: transform var(--transition);
    color: var(--color-text-muted);
}
.pw-sidebar__workspace-chevron--open { transform: rotate(180deg); }

.pw-sidebar__workspace-boards { padding-left: 20px; }

.pw-sidebar__board-link {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 5px 8px;
    font-size: 12px;
    color: var(--color-text-sidebar);
    border-radius: var(--radius-sm);
    text-decoration: none;
    transition: background var(--transition);
}
.pw-sidebar__board-link:hover { background: var(--color-bg-sidebar-hover); color: var(--color-text-sidebar-active); }
.pw-sidebar__board-link--active { background: var(--color-bg-sidebar-active); color: var(--color-text-sidebar-active); }

.pw-sidebar__board-dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}
.pw-sidebar__board-empty {
    display: block;
    padding: 4px 8px;
    font-size: 11px;
    color: var(--color-text-muted);
    font-style: italic;
}

/* Small danger icon button */
.pw-btn-icon--xs {
    width: 20px !important; height: 20px !important;
    padding: 3px !important;
    border-radius: var(--radius-sm) !important;
}
.pw-btn-icon--danger { color: var(--color-danger) !important; }

/* ────────────────────────────────────────────────────── */
/* Modal de card — campos gerais */
/* ────────────────────────────────────────────────────── */

/* ============================================
   TAREFA 2 — NOVOS ESTILOS
   ============================================ */

/* Modal XL */
.pw-modal--xl { width: 780px; max-width: 95vw; }

/* Modal Tabs */
.pw-modal-tabs {
    display: flex;
    gap: 2px;
    padding: 0 24px;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-bg-elevated);
    overflow-x: auto;
}
.pw-modal-tab {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text-muted);
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    white-space: nowrap;
    transition: color var(--transition), border-color var(--transition);
}
.pw-modal-tab:hover { color: var(--color-text); }
.pw-modal-tab--active { color: var(--color-primary); border-bottom-color: var(--color-primary); }

/* Checklist full-width */
.pw-checklist--full { display: flex; flex-direction: column; gap: 6px; }
.pw-checklist__item--full {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}
.pw-checklist__check { flex-shrink: 0; margin-top: 3px; width: 16px; height: 16px; cursor: pointer; }
.pw-checklist__content { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.pw-checklist__item-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.pw-checklist__date-wrap {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--color-text-muted);
    font-size: 12px;
}
.pw-checklist__remove { flex-shrink: 0; align-self: flex-start; }

/* Flow button */
.pw-btn--xs {
    padding: 3px 8px !important;
    font-size: 11px !important;
    height: auto !important;
}
.pw-btn--flow {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 500;
    border-radius: var(--radius-sm);
    border: 1px solid var(--color-border);
    color: var(--color-text-secondary);
    background: var(--color-bg-elevated);
    cursor: pointer;
    transition: all var(--transition);
}
.pw-btn--flow:hover { border-color: var(--color-primary); color: var(--color-primary); }
.pw-btn--flow--active { border-color: var(--color-primary); color: var(--color-primary); background: var(--color-primary-light); }

/* Progress bar */
.pw-checklist__progress { display: flex; align-items: center; gap: 8px; }
.pw-progress-bar {
    flex: 1;
    height: 6px;
    background: var(--color-border);
    border-radius: 3px;
    overflow: hidden;
}
.pw-progress-bar__fill {
    height: 100%;
    background: var(--color-primary);
    border-radius: 3px;
    transition: width 300ms ease;
}

/* Members */
.pw-members-group { margin-bottom: 20px; }
.pw-members-group__header h4 {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text);
    margin-bottom: 12px;
}
.pw-members-list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.pw-member-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}
.pw-member-avatar {
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--color-primary);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.pw-member-avatar--supervisor { background: var(--color-orange); }
.pw-member-name { flex: 1; font-size: 13px; }
.pw-member-add { display: flex; gap: 8px; align-items: center; }

/* Custom Fields */
.pw-custom-fields { display: flex; flex-direction: column; gap: 8px; }
.pw-custom-field {
    display: grid;
    grid-template-columns: 1fr 1fr auto auto;
    gap: 8px;
    align-items: center;
}
.pw-field-preview {
    display: flex;
    gap: 8px;
    padding: 6px 0;
    border-bottom: 1px solid var(--color-border-light);
    font-size: 13px;
}
.pw-field-preview__name { color: var(--color-text-muted); font-weight: 500; flex-shrink: 0; }
.pw-field-preview__value { color: var(--color-text); }

/* Labels */
.pw-labels-section { display: flex; flex-direction: column; gap: 12px; }
.pw-labels-list { display: flex; flex-direction: column; gap: 6px; }
.pw-label-option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    border-radius: var(--radius-md);
    cursor: pointer;
    font-size: 13px;
    transition: background var(--transition);
}
.pw-label-option:hover { background: var(--color-bg-hover); }
.pw-label-option input[type="checkbox"] { width: 15px; height: 15px; cursor: pointer; }
.pw-label-dot { width: 14px; height: 14px; border-radius: 4px; flex-shrink: 0; }
.pw-new-label__form .pw-form-row { align-items: center; }
.pw-color-input {
    width: 40px; height: 32px;
    padding: 2px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    cursor: pointer;
    background: none;
}

/* Card Links */
.pw-links-section { margin-bottom: 8px; }
.pw-links-list { display: flex; flex-direction: column; gap: 6px; }
.pw-link-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    font-size: 13px;
}
.pw-link-item__title { flex: 1; }
.pw-priority-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.pw-link-add { margin-top: 8px; }
.pw-link-search { margin: 8px 0 4px; }
.pw-link-results {
    display: flex;
    flex-direction: column;
    gap: 2px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: hidden;
    max-height: 200px;
    overflow-y: auto;
}
.pw-link-result {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    font-size: 13px;
    text-align: left;
    background: var(--color-bg-elevated);
    border: none;
    cursor: pointer;
    transition: background var(--transition);
}
.pw-link-result:hover { background: var(--color-bg-hover); }

/* Divider */
.pw-divider { height: 1px; background: var(--color-border); margin: 12px 0; }

/* Text utilities */
.pw-text-xs { font-size: 11px; }
.pw-text-sm { font-size: 12px; }

/* Section actions */
.pw-modal__section-actions { display: flex; justify-content: flex-end; padding-top: 8px; border-top: 1px solid var(--color-border-light); }

/* Subcard Modal */
.pw-modal-overlay--subcard { z-index: 1100; }
.pw-subcard-header { flex-direction: column; align-items: flex-start; gap: 4px; position: relative; }
.pw-subcard-header .pw-btn-icon { position: absolute; top: 0; right: 0; }
.pw-subcard-parent {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--color-text-muted);
}
.pw-subcard-parent__label { font-weight: 500; }
.pw-subcard-parent__title {
    font-weight: 600;
    color: var(--color-primary);
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pw-subcard-item-info {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text);
}

/* Loading state */
.pw-loading-state {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 40px;
    color: var(--color-text-muted);
    font-size: 13px;
}
@keyframes spin { to { transform: rotate(360deg); } }
.pw-spin { animation: spin 1s linear infinite; }

/* Settings Labels CRUD */
.pw-labels-mgmt { display: flex; flex-direction: column; gap: 6px; }
.pw-label-item--editable {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: hidden;
}
.pw-label-item__view {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    font-size: 13px;
}
.pw-label-item__actions {
    display: flex;
    gap: 4px;
    margin-left: auto;
    opacity: 0;
    transition: opacity var(--transition);
}
.pw-label-item--editable:hover .pw-label-item__actions { opacity: 1; }
.pw-label-item__edit { padding: 8px; background: var(--color-bg-hover); }
.pw-new-label-form { padding: 12px; background: var(--color-bg-hover); border-radius: var(--radius-md); }
.pw-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Input xs */
.pw-input--xs {
    padding: 2px 6px;
    height: 26px;
    font-size: 11px;
}

.pw-btn-icon--danger:hover { background: var(--color-danger) !important; color: white !important; }

/* ────────────────────────────────────────────────────── */
/* Modal de card — seções judiciais (pedidos, andamentos, audiências, etc.) */
/* ────────────────────────────────────────────────────── */

/* ===== Judicial Card Legal Info ===== */
.pw-kanban__card-title-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0;
}

.pw-kanban__card-title strong {
    font-weight: 700;
    color: var(--color-primary, #6366f1);
    text-decoration: underline;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 2px;
}

.pw-kanban__card-legal {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 2px;
}

.pw-kanban__card-legal-cnj {
    font-family: 'SF Mono', 'Fira Code', monospace;
    font-size: 10px;
    color: var(--color-text-muted);
    background: var(--color-border-light);
    padding: 2px 6px;
    border-radius: 4px;
    display: inline-block;
    letter-spacing: 0.02em;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pw-kanban__card-legal-meta {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}

.pw-kanban__card-legal-tribunal {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--color-primary, #6366f1);
    background: color-mix(in srgb, var(--color-primary, #6366f1) 10%, transparent);
    padding: 1px 5px;
    border-radius: 3px;
    text-transform: uppercase;
}

.pw-kanban__card-legal-location {
    font-size: 10px;
    color: var(--color-text-muted);
    display: flex;
    align-items: center;
    gap: 3px;
}

.pw-kanban__card-legal-location::before {
    content: '·';
    opacity: 0.4;
}

/* Title readonly in modal */
.pw-kanban__card-title-readonly {
    padding: 8px 12px;
    background: var(--color-bg-subtle, rgba(0,0,0,0.03));
    border: 1px solid var(--color-border-light);
    border-radius: var(--radius-md);
    font-size: 14px;
    font-weight: 500;
    color: var(--color-text);
    cursor: default;
}

.pw-kanban__card-title-readonly strong {
    color: var(--color-primary, #6366f1);
    font-weight: 700;
}

/* ===== Tab Pedidos ===== */
.pw-pedidos {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 4px 0;
}

.pw-pedidos__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 40px 20px;
    color: var(--color-text-muted);
    text-align: center;
}

.pw-pedidos__empty svg { opacity: 0.35; }
.pw-pedidos__empty p { font-size: 13px; margin: 0; }

.pw-pedido-item {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    background: var(--color-bg);
    border: 1px solid var(--color-border-light);
    border-radius: var(--radius-lg);
    padding: 14px 16px;
    transition: border-color 0.15s;
}

.pw-pedido-item:hover { border-color: var(--color-primary, #6366f1); }

.pw-pedido-item__number {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--color-primary, #6366f1) 12%, transparent);
    color: var(--color-primary, #6366f1);
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pw-pedido-item__content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pw-pedido-item__descricao {
    margin: 0;
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text);
    line-height: 1.5;
}

.pw-pedido-item__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.pw-pedido-item__valor,
.pw-pedido-item__honorarios {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--color-text-muted);
}

.pw-pedido-item__valor svg { color: #22c55e; }
.pw-pedido-item__honorarios svg { color: var(--color-primary, #6366f1); }

.pw-pedido-item__valor--sem {
    font-size: 11px;
    font-style: italic;
    color: var(--color-text-muted);
    opacity: 0.7;
}

/* ============================================================
   Card Timer Widget (Tempo Tab)
   ============================================================ */
.pw-card-timer-widget {
    background: #f8fafc;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    padding: 16px;
    text-align: center;
    margin-bottom: 16px;
}
.pw-timer-display-large {
    font-size: 36px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--color-text);
    letter-spacing: 2px;
    margin-bottom: 12px;
}
.pw-timer-controls-row {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 10px;
}
.pw-timer-stop-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px;
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid var(--color-border);
    text-align: left;
    margin-top: 8px;
}
.pw-timer-stop-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}
.pw-timer-total {
    font-size: 13px;
    color: var(--color-text-muted);
    margin-top: 8px;
}

/* ============================================================
   Time Sessions List
   ============================================================ */
.pw-time-sessions { margin-bottom: 16px; }
.pw-time-session {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    margin-bottom: 6px;
    background: #ffffff;
}
.pw-time-session__info { flex: 1; }
.pw-time-session__desc {
    display: block;
    font-size: 13px;
    color: var(--color-text);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 320px;
}
.pw-time-session__meta {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-top: 2px;
    font-size: 12px;
    color: var(--color-text-muted);
}

/* ============================================================
   Undo Toast
   ============================================================ */
.pw-undo-toast {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #f8fafc;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    padding: 8px 12px;
    margin-bottom: 8px;
    font-size: 13px;
    color: var(--color-text-muted);
}

/* ============================================================
   Comments Section
   ============================================================ */
.pw-comments-section { margin-top: 16px; }
.pw-comment {
    display: flex;
    gap: 10px;
    margin-bottom: 12px;
    align-items: flex-start;
}
.pw-comment__avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--color-primary, #6366f1);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
}
.pw-comment__body { flex: 1; }
.pw-comment__header {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 4px;
}
.pw-comment__header strong { font-size: 13px; }
.pw-comment__time { font-size: 11px; color: var(--color-text-muted); }
.pw-comment__content {
    font-size: 13px;
    color: var(--color-text);
    line-height: 1.5;
    background: #f8fafc;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid var(--color-border);
}
.pw-comment__footer {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
    flex-wrap: wrap;
}
.pw-comment__actions { display: flex; gap: 8px; margin-left: auto; }

/* ============================================================
   Activity Log
   ============================================================ */
.pw-activity-log { display: flex; flex-direction: column; gap: 8px; }
.pw-activity-item {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
.pw-activity-item__avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #e2e8f0;
    color: var(--color-text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
    flex-shrink: 0;
}
.pw-activity-item__body { flex: 1; }
.pw-activity-item__desc {
    font-size: 13px;
    color: var(--color-text);
    margin: 0 0 2px;
}
.pw-activity-item__time {
    font-size: 11px;
    color: var(--color-text-muted);
}

/* ============================================================
   Details tab: inline members + labels sections
   ============================================================ */
.pw-details-section-header {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 12px;
}
.pw-details-section-header svg { color: var(--color-text-muted); flex-shrink: 0; }
.pw-details-section-header h4 {
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text);
    margin: 0;
}
.pw-member-add {
    display: flex;
    gap: 6px;
    align-items: center;
}
.pw-member-add select { flex: 1; }
.pw-labels-inline { }

/* ============================================================
   Judicial Panel — card modal details
   ============================================================ */
.pw-judicial-panel {
    background: #ffffff;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 20px;
}

/* CNJ header bar */
.pw-judicial-panel__cnj {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    background: var(--color-primary, #6366f1);
    color: #fff;
}
.pw-judicial-panel__cnj-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    opacity: .85;
}
.pw-judicial-panel__cnj-num {
    font-size: 15px;
    font-weight: 700;
    font-family: monospace;
    letter-spacing: .5px;
}

/* Section label */
.pw-judicial-panel__section {
    padding: 14px 18px 0;
}
.pw-judicial-panel__label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: var(--color-text-muted);
    margin: 0 0 10px;
}

/* Parties */
.pw-judicial-panel__parties {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin-bottom: 16px;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    overflow: hidden;
}
.pw-judicial-panel__party {
    flex: 1;
    padding: 10px 14px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    background: #f8fafc;
    position: relative;
}
.pw-judicial-panel__party--ativo {
    border-right: 1px solid var(--color-border);
}
.pw-judicial-panel__party--client {
    background: color-mix(in srgb, var(--color-primary, #6366f1) 6%, transparent);
}
.pw-judicial-panel__party-role {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--color-text-muted);
}
.pw-judicial-panel__party-name {
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text);
    line-height: 1.3;
}
.pw-judicial-panel__party--client .pw-judicial-panel__party-name {
    color: var(--color-primary, #6366f1);
}
.pw-judicial-panel__party-badge {
    display: inline-flex;
    align-items: center;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--color-primary, #6366f1);
    background: color-mix(in srgb, var(--color-primary, #6366f1) 12%, transparent);
    border-radius: 4px;
    padding: 1px 6px;
    width: fit-content;
    margin-top: 2px;
}
.pw-judicial-panel__party-sep {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    font-size: 18px;
    font-weight: 300;
    color: var(--color-text-muted);
    background: #f8fafc;
    flex-shrink: 0;
}

/* Meta grid */
.pw-judicial-panel__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 1px solid var(--color-border);
    margin-top: 6px;
}
.pw-judicial-panel__item {
    padding: 10px 18px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    border-bottom: 1px solid var(--color-border);
    border-right: 1px solid var(--color-border);
}
.pw-judicial-panel__item:nth-child(even) {
    border-right: none;
}
.pw-judicial-panel__item:last-child,
.pw-judicial-panel__item:nth-last-child(2):nth-child(odd) {
    border-bottom: none;
}
.pw-judicial-panel__item-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--color-text-muted);
}
.pw-judicial-panel__item-value {
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text);
    line-height: 1.4;
}
.pw-judicial-panel__item-value--badge {
    display: inline-flex;
    background: color-mix(in srgb, #3b82f6 12%, transparent);
    color: #2563eb;
    font-size: 12px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 5px;
    width: fit-content;
}
.pw-judicial-panel__item-value--money {
    font-weight: 700;
    color: #16a34a;
    font-variant-numeric: tabular-nums;
}

/* ============================================================
   Trello-style Card Toolbar
   ============================================================ */
.pw-card-toolbar {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 10px 20px 12px;
    border-bottom: 1px solid var(--color-border);
    background: var(--color-bg);
    flex-wrap: wrap;
}

.pw-card-toolbar__group {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.pw-card-toolbar__section-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .7px;
    color: var(--color-text-muted);
}

.pw-card-toolbar__row {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

/* Dropdown wrapper — relative anchor */
.pw-card-toolbar__dropdown-wrap {
    position: relative;
}

/* + add button */
.pw-card-toolbar__add-btn {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1.5px dashed var(--color-border);
    background: transparent;
    color: var(--color-text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: border-color .15s, color .15s, background .15s;
}
.pw-card-toolbar__add-btn:hover {
    border-color: var(--color-primary, #6366f1);
    color: var(--color-primary, #6366f1);
    background: color-mix(in srgb, var(--color-primary, #6366f1) 8%, transparent);
}

/* Label pills in toolbar */
.pw-tlabel-pill {
    display: inline-flex;
    align-items: center;
    height: 28px;
    padding: 0 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    max-width: 120px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 0 1px 2px rgba(0,0,0,.25);
    transition: filter .12s;
}
.pw-tlabel-pill:hover { filter: brightness(.9); }

/* Member avatars in toolbar */
.pw-tavatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--color-primary, #6366f1);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    border: 2px solid #ffffff;
    transition: transform .12s;
    flex-shrink: 0;
}
.pw-tavatar:hover { transform: scale(1.08); }
.pw-tavatar--supervisor { background: #7c3aed; }
.pw-tavatar--sm { width: 24px; height: 24px; font-size: 9px; border: none; cursor: default; }

/* Color swatch in toolbar */
.pw-tcolor-current {
    width: 30px;
    height: 30px;
    border-radius: 6px;
    border: 2px solid var(--color-border);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color .12s;
}
.pw-tcolor-current:hover { border-color: var(--color-primary, #6366f1); }
.pw-tcolor-current--empty { background: #ffffff; color: var(--color-text-muted); }

/* ============================================================
   Toolbar Dropdown panel
   ============================================================ */
.pw-toolbar-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 200;
    width: 240px;
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,.14);
    overflow: hidden;
}
.pw-toolbar-dropdown--color { width: 200px; }

.pw-toolbar-dropdown__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px 8px;
    border-bottom: 1px solid var(--color-border);
    font-size: 12px;
    font-weight: 700;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: .5px;
}

.pw-toolbar-dropdown__body {
    padding: 8px;
    max-height: 260px;
    overflow-y: auto;
}

.pw-toolbar-dropdown__sub {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--color-text-muted);
    padding: 0 4px 4px;
    margin: 0;
}

.pw-toolbar-dropdown__footer {
    padding: 8px;
    border-top: 1px solid var(--color-border);
}

.pw-toolbar-dropdown__new-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    padding: 6px 8px;
    border-radius: 6px;
    background: transparent;
    border: none;
    font-size: 12px;
    font-weight: 500;
    color: var(--color-text-muted);
    cursor: pointer;
    transition: background .12s, color .12s;
    text-align: left;
}
.pw-toolbar-dropdown__new-btn:hover {
    background: var(--color-bg-hover);
    color: var(--color-text);
}

/* Label row in dropdown */
.pw-tlabel-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 4px;
    border-radius: 6px;
    cursor: pointer;
    transition: background .1s;
    margin-bottom: 3px;
}
.pw-tlabel-row:hover { background: var(--color-bg-hover); }

.pw-tlabel-row__pill {
    flex: 1;
    height: 28px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    padding: 0 10px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,.2);
}

.pw-tlabel-row__check {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary, #6366f1);
    flex-shrink: 0;
}

/* Member row in dropdown */
.pw-tmember-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 4px;
    border-radius: 6px;
    cursor: pointer;
    transition: background .1s;
    margin-bottom: 2px;
}
.pw-tmember-row:hover { background: var(--color-bg-hover); }

.pw-tmember-row__name {
    flex: 1;
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pw-tmember-row__role {
    font-size: 10px;
    font-weight: 700;
    padding: 1px 5px;
    border-radius: 3px;
}
.pw-tmember-row__role--resp { background: #dbeafe; color: #1d4ed8; }
.pw-tmember-row__role--sup  { background: #ede9fe; color: #6d28d9; }

/* Color grid in dropdown */
.pw-tcolor-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 5px;
}

.pw-tcolor-dot {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 6px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: transform .1s, border-color .1s;
}
.pw-tcolor-dot:hover { transform: scale(1.1); }
.pw-tcolor-dot--active { border-color: var(--color-text) !important; }
.pw-tcolor-dot--none {
    background: var(--color-bg-hover) !important;
    border: 1.5px dashed var(--color-border) !important;
    color: var(--color-text-muted);
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ============================================================
   Pedidos — form + item actions + total
   ============================================================ */
.pw-pedido-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    margin-bottom: 8px;
    background: var(--color-bg-elevated, #fff);
}
.pw-pedido-item__actions {
    display: flex;
    gap: 2px;
    flex-shrink: 0;
    opacity: 0;
    transition: opacity .15s;
}
.pw-pedido-item:hover .pw-pedido-item__actions { opacity: 1; }

.pw-pedidos__total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: var(--color-bg, #f8f9fb);
    border: 1px solid var(--color-border);
    border-radius: 8px;
    margin-top: 4px;
    font-size: 13px;
    color: var(--color-text-muted);
}
.pw-pedidos__total strong {
    color: #16a34a;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.pw-pedido-add-btn-wrap {
    margin-top: 12px;
}

/* Formulário de pedido */
.pw-pedido-form {
    margin-top: 12px;
    padding: 16px;
    background: var(--color-bg, #f8f9fb);
    border: 1px solid var(--color-border);
    border-radius: 10px;
}
.pw-pedido-form__title {
    font-size: 13px;
    font-weight: 700;
    color: var(--color-text);
    margin: 0 0 14px;
}
.pw-pedido-form__row {
    margin-bottom: 12px;
}
.pw-pedido-form__toggle-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--color-text);
    cursor: pointer;
}
.pw-pedido-form__actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
}

/* Input with prefix/suffix */
.pw-input-prefix-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.pw-input-prefix,
.pw-input-suffix {
    position: absolute;
    font-size: 12px;
    font-weight: 600;
    color: var(--color-text-muted);
    pointer-events: none;
    user-select: none;
}
.pw-input-prefix { left: 10px; }
.pw-input-suffix { right: 10px; }
.pw-input--prefixed { padding-left: 28px !important; }

/* ============================================================
   Board Filter Button
   ============================================================ */
.pw-filter-toggle {
    position: relative;
    gap: 6px;
}
.pw-filter-toggle--active {
    background: var(--color-primary-light, #eef0ff);
    color: var(--color-primary, #6366f1);
    border-color: var(--color-primary, #6366f1);
}
.pw-filter-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: var(--color-primary, #6366f1);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

/* ============================================================
   Filter Panel
   ============================================================ */
.pw-filter-panel {
    background: var(--color-bg-elevated, #fff);
    border-bottom: 1px solid var(--color-border);
    padding: 0 20px;
    overflow: hidden;
}
.pw-filter-panel__inner {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    padding: 14px 0;
    flex-wrap: wrap;
}

.pw-filter-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 140px;
}
.pw-filter-group--wide { min-width: 220px; flex: 1; }
.pw-filter-group--xs   { min-width: 90px; max-width: 90px; }
.pw-filter-group--actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    margin-left: auto;
    padding-bottom: 1px;
}

.pw-filter-label {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--color-text-muted);
    white-space: nowrap;
}
.pw-filter-label svg { flex-shrink: 0; opacity: .7; }

.pw-filter-result {
    font-size: 12px;
    color: var(--color-text-muted);
    white-space: nowrap;
}
.pw-filter-result span {
    font-weight: 700;
    color: var(--color-primary, #6366f1);
}

/* Slide transition */
[x-cloak] { display: none !important; }
.pw-filter-panel[x-show] { transition: max-height .2s ease, opacity .2s ease; }

/* ==================== LOCK TOGGLE ==================== */
.pw-lock-toggle { gap: 6px; }
.pw-lock-toggle--active {
    color: var(--color-warning, #f59e0b) !important;
    background: rgba(245,158,11,.1) !important;
}
.pw-lock-toggle--active:hover {
    background: rgba(245,158,11,.18) !important;
}

/* ==================== LISTS LOCKED TOAST ==================== */
.pw-lists-locked-toast {
    position: fixed;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--color-bg-elevated, #fff);
    border: 1.5px solid var(--color-warning, #f59e0b);
    color: var(--color-warning, #f59e0b);
    border-radius: 10px;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 8px 30px rgba(0,0,0,.18);
    white-space: nowrap;
}
.pw-toast-slide { transition: opacity .2s ease, transform .2s ease; }
.pw-toast-hidden { opacity: 0; transform: translateX(-50%) translateY(12px); }
.pw-toast-visible { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ==================== ARCHIVED CARDS MODAL ==================== */
.pw-archived-list { display: flex; flex-direction: column; gap: 8px; }
.pw-archived-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 8px;
    background: var(--color-bg-hover, #f8f9fb);
    border: 1px solid var(--color-border, #e5e7eb);
}
.pw-archived-item__info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
    min-width: 0;
}
.pw-archived-item__type {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--color-text-muted, #9ca3af);
}
.pw-archived-item__title {
    font-size: 14px;
    font-weight: 500;
    color: var(--color-text, #1a202c);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pw-archived-item__date {
    font-size: 12px;
    color: var(--color-text-muted, #9ca3af);
}

/* ==================== TAB TAREFAS / CHECKLIST ==================== */
.pw-checklist-tab { padding: 4px 0; }

.pw-checklist-progress {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}
.pw-checklist-progress__bar {
    flex: 1;
    height: 6px;
    background: var(--color-border, #e5e7eb);
    border-radius: 99px;
    overflow: hidden;
}
.pw-checklist-progress__fill {
    height: 100%;
    background: var(--color-success, #22c55e);
    border-radius: 99px;
    transition: width .3s ease;
}
.pw-checklist-progress__label {
    font-size: 12px;
    color: var(--color-text-muted, #9ca3af);
    white-space: nowrap;
}

.pw-checklist--tab { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }

.pw-checklist--tab .pw-checklist__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 7px;
    background: var(--color-bg-hover, #f8f9fb);
    border: 1px solid transparent;
    transition: border-color .15s;
}
.pw-checklist--tab .pw-checklist__item:hover { border-color: var(--color-border, #e5e7eb); }
.pw-checklist--tab .pw-checklist__item--done { opacity: .65; }

.pw-checklist__check { width: 16px; height: 16px; flex-shrink: 0; accent-color: var(--color-success, #22c55e); cursor: pointer; }

.pw-checklist__text { flex: 1; background: transparent; border: none; outline: none; font-size: 14px; }
.pw-checklist__text--done { text-decoration: line-through; color: var(--color-text-muted, #9ca3af); }

.pw-checklist-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 32px 0 16px;
    color: var(--color-text-muted, #9ca3af);
    font-size: 14px;
}

.pw-checklist-tab__add {
    margin-top: 4px;
    width: 100%;
    justify-content: center;
    border: 1.5px dashed var(--color-border, #e5e7eb);
    border-radius: 7px;
    color: var(--color-text-muted, #9ca3af);
}
.pw-checklist-tab__add:hover {
    border-color: var(--color-primary, #6366f1);
    color: var(--color-primary, #6366f1);
    background: rgba(99,102,241,.05);
}
.pw-checklist-tab__actions {
    display: flex;
    gap: 8px;
    margin-top: 4px;
}
.pw-checklist-tab__actions .pw-btn {
    flex: 1;
    justify-content: center;
    border: 1.5px dashed var(--color-border, #e5e7eb);
    border-radius: 7px;
    color: var(--color-text-muted, #9ca3af);
}
.pw-checklist-tab__actions .pw-btn:hover {
    border-color: var(--color-primary, #6366f1);
    color: var(--color-primary, #6366f1);
    background: rgba(99,102,241,.05);
}

/* ==================== TASK SECTIONS & GROUPS ==================== */
.pw-task-section { margin-bottom: 16px; }

.pw-task-section__header {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: 6px 0 8px;
    border-bottom: 1.5px solid var(--color-border, #e5e7eb);
    margin-bottom: 8px;
}
.pw-task-section__header--pending { color: var(--color-warning, #f59e0b); border-color: rgba(245,158,11,.3); }
.pw-task-section__header--done    { color: var(--color-success, #22c55e); border-color: rgba(34,197,94,.3); }
.pw-task-section__count {
    margin-left: auto;
    background: currentColor;
    color: #fff;
    border-radius: 99px;
    padding: 1px 7px;
    font-size: 11px;
    line-height: 1.6;
    opacity: .85;
}

.pw-task-group { margin-bottom: 10px; }
.pw-task-group__header {
    font-size: 11px;
    font-weight: 600;
    color: var(--color-text-muted, #9ca3af);
    text-transform: uppercase;
    letter-spacing: .05em;
    padding: 2px 4px 4px;
}

.pw-task-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 7px;
    border: 1px solid transparent;
    margin-bottom: 4px;
    background: var(--color-bg-hover, #f8f9fb);
    transition: border-color .15s;
}
.pw-task-item:hover { border-color: var(--color-border, #e5e7eb); }
.pw-task-item--done { opacity: .65; }
.pw-task-item .pw-checklist__check { margin-top: 3px; flex-shrink: 0; }

.pw-task-item__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }

.pw-task-item__row {
    display: flex;
    align-items: center;
    gap: 6px;
}
.pw-task-item__row .pw-checklist__text { flex: 1; }

.pw-task-item__date-row {
    display: flex;
    align-items: center;
    gap: 5px;
}

.pw-task-due {
    font-size: 12px;
    padding: 2px 6px;
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 5px;
    background: transparent;
    color: var(--color-text, #1a202c);
    outline: none;
    cursor: pointer;
}
.pw-task-due:focus { border-color: var(--color-primary, #6366f1); }

.pw-task-prazo-badge {
    font-size: 10px;
    font-weight: 600;
    padding: 1px 6px;
    border-radius: 99px;
    white-space: nowrap;
    flex-shrink: 0;
}
.pw-task-prazo-badge--comum    { background: rgba(99,102,241,.12); color: var(--color-primary, #6366f1); }
.pw-task-prazo-badge--recursal { background: rgba(239,68,68,.12);  color: #ef4444; }

.pw-task-calendar-badge {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 10px;
    color: var(--color-success, #22c55e);
    font-weight: 600;
}

/* ==================== ADD TASK FORM ==================== */
.pw-add-task-form {
    border: 1.5px solid var(--color-primary, #6366f1);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 12px;
}
.pw-add-task-form__header {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
    background: rgba(99,102,241,.06);
    font-size: 13px;
    font-weight: 600;
    color: var(--color-primary, #6366f1);
    border-bottom: 1px solid rgba(99,102,241,.15);
}
.pw-add-task-form__body { padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.pw-add-task-form__row { display: flex; gap: 12px; }
.pw-add-task-form__footer {
    padding: 10px 14px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid var(--color-border, #e5e7eb);
    background: var(--color-bg-hover, #f8f9fb);
}

.pw-label-optional { font-weight: 400; font-size: 11px; color: var(--color-text-muted, #9ca3af); margin-left: 4px; }

.pw-prazo-toggle { display: flex; border: 1px solid var(--color-border, #e5e7eb); border-radius: 6px; overflow: hidden; }
.pw-prazo-btn {
    flex: 1;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 500;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--color-text-muted, #9ca3af);
    transition: background .15s, color .15s;
}
.pw-prazo-btn--active { background: var(--color-primary, #6366f1); color: #fff; }

/* ==================== ANDAMENTOS ==================== */
/* Partes tab */
.pw-partes-tab { padding: 4px 0; display: flex; flex-direction: column; gap: 20px; }
.pw-partes-polo { }
.pw-partes-polo__header { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: 6px 10px; border-radius: 6px; margin-bottom: 8px; }
.pw-partes-polo__header--ativo { background: #dcfce7; color: #15803d; }
.pw-partes-polo__header--passivo { background: #fee2e2; color: #b91c1c; }
.pw-partes-empty { font-size: 12px; color: var(--color-text-muted); padding: 0 4px; }
.pw-parte-item { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border: 1px solid var(--color-border); border-radius: 7px; background: var(--color-bg); margin-bottom: 6px; }
.pw-parte-item__info { display: flex; align-items: center; gap: 7px; flex: 1; min-width: 0; }
.pw-parte-item__badge { font-size: 10px; font-weight: 700; padding: 1px 6px; border-radius: 9999px; flex-shrink: 0; }
.pw-parte-item__badge--pf { background: #dbeafe; color: #1e40af; }
.pw-parte-item__badge--pj { background: #fef3c7; color: #92400e; }
.pw-parte-item__nome { font-size: 13px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pw-parte-item__citada { flex-shrink: 0; font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 9999px; border: none; cursor: pointer; transition: background .15s, color .15s; }
.pw-parte-item__citada--sim { background: #dcfce7; color: #15803d; }
.pw-parte-item__citada--sim:hover { background: #bbf7d0; }
.pw-parte-item__citada--nao { background: #f1f5f9; color: #64748b; }
.pw-parte-item__citada--nao:hover { background: #e2e8f0; }

.pw-andamentos { padding: 4px 0; }
.pw-andamentos__list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }

.pw-andamento-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 8px;
    background: var(--color-bg-hover, #f8f9fb);
    border: 1px solid var(--color-border, #e5e7eb);
}
.pw-andamento-item__date {
    font-size: 12px;
    font-weight: 700;
    color: var(--color-primary, #6366f1);
    white-space: nowrap;
    min-width: 80px;
    padding-top: 2px;
}
.pw-andamento-item__body { flex: 1; min-width: 0; }
.pw-andamento-item__descricao { font-size: 14px; font-weight: 500; color: var(--color-text, #1a202c); }
.pw-andamento-item__anotacao {
    font-size: 13px;
    color: var(--color-text-muted, #9ca3af);
    margin-top: 3px;
    white-space: pre-wrap;
}
.pw-andamento-item__actions { display: flex; gap: 4px; flex-shrink: 0; }

.pw-andamento-form {
    border: 1.5px solid var(--color-primary, #6366f1);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 12px;
}
.pw-andamento-form__header {
    padding: 10px 14px;
    background: rgba(99,102,241,.06);
    font-size: 13px;
    font-weight: 600;
    color: var(--color-primary, #6366f1);
    border-bottom: 1px solid rgba(99,102,241,.15);
}
.pw-andamento-form__body { padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.pw-andamento-form__footer {
    padding: 10px 14px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid var(--color-border, #e5e7eb);
    background: var(--color-bg-hover, #f8f9fb);
}

/* ── Modal header with process number ── */
.pw-modal__header { position: relative; }
.pw-modal__header--processo {
    flex-direction: column;
    align-items: stretch;
    padding: 14px 20px 10px;
    gap: 4px;
    border-bottom: 2px solid var(--color-primary, #6366f1);
    background: linear-gradient(135deg, rgba(99,102,241,.05) 0%, transparent 60%);
}
.pw-modal__header-close {
    position: absolute;
    top: 12px;
    right: 14px;
    flex-shrink: 0;
}
.pw-modal__header-info { padding-right: 44px; display: flex; flex-direction: column; gap: 4px; }
.pw-modal__header-processo-row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.pw-modal__header-processo-tipo {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: white;
    background: var(--color-primary, #6366f1);
    border-radius: 4px;
    padding: 2px 7px;
    flex-shrink: 0;
}
.pw-modal__header-processo-num {
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-muted, #64748b);
    font-family: monospace;
    letter-spacing: 0.2px;
}
.pw-modal__header-processo-badge {
    font-size: 11px;
    font-weight: 600;
    color: var(--color-primary, #6366f1);
    background: rgba(99,102,241,.1);
    border: 1px solid rgba(99,102,241,.2);
    border-radius: 4px;
    padding: 1px 6px;
}
.pw-modal__header-title-main {
    font-size: 16px;
    font-weight: 700;
    color: var(--color-text, #1a202c);
    line-height: 1.3;
}
.pw-modal__header-partes {
    font-size: 12px;
    color: var(--color-text-muted, #64748b);
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 1px;
}
.pw-modal__header-partes-sep {
    font-weight: 700;
    color: var(--color-text-muted, #94a3b8);
    font-size: 13px;
}
.pw-modal__header-partes-polo {
    display: flex;
    align-items: center;
    gap: 4px;
}
.pw-modal__header-partes-polo--client {
    color: var(--color-text, #1a202c);
    font-weight: 500;
}
.pw-modal__header-partes-role {
    font-weight: 600;
    color: var(--color-text-muted, #9ca3af);
    font-size: 11px;
}
.pw-modal__header-partes-badge {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: #10b981;
    color: white;
    border-radius: 3px;
    padding: 1px 5px;
}

/* ── Judicial panel compact (details tab, no CNJ header) ── */
.pw-judicial-panel--compact .pw-judicial-panel__cnj { display: none; }

/* ── Details meta row (última consulta in details tab) ── */
.pw-details-meta-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 0 10px;
    font-size: 13px;
    border-bottom: 1px solid var(--color-border, #e5e7eb);
    margin-bottom: 12px;
}
.pw-details-meta-label {
    font-weight: 600;
    color: var(--color-text-muted, #9ca3af);
    white-space: nowrap;
}
.pw-details-meta-value {
    color: var(--color-text, #1a202c);
}

/* ── Andamentos consulta row ── */
.pw-andamentos__consulta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    background: var(--color-bg-hover, #f8f9fb);
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 8px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}
.pw-andamentos__consulta-info {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
}
.pw-andamentos__consulta-label {
    font-weight: 600;
    color: var(--color-text-muted, #9ca3af);
}
.pw-andamentos__consulta-date {
    font-weight: 500;
    color: var(--color-text, #1a202c);
}
.pw-andamentos__consultado-btn {
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

/* ── Toolbar list select ── */
.pw-toolbar-list-select {
    min-width: 140px;
    max-width: 220px;
    font-size: 13px;
}
.pw-card-toolbar__group--lista {
    flex-shrink: 0;
}

/* ── Task due date read-only display ── */
.pw-task-due-display {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--color-text-muted, #64748b);
}

/* ── Edit task form variant ── */
.pw-add-task-form--edit {
    border-color: var(--color-border, #e5e7eb);
    margin: 4px 0 8px;
}
.pw-add-task-form--edit .pw-add-task-form__header {
    background: var(--color-bg-hover, #f8f9fb);
    color: var(--color-text-muted, #64748b);
    border-bottom-color: var(--color-border, #e5e7eb);
    display: flex;
    align-items: center;
    gap: 6px;
}

/* ── Audiências section (tarefas tab) ── */
.pw-audiencias-section {
    margin-bottom: 4px;
    padding-bottom: 4px;
}
.pw-audiencias-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
    padding: 2px 0;
}
.pw-audiencias-section__title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-primary, #6366f1);
}
.pw-audiencias-section__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: var(--color-primary, #6366f1);
    color: white;
    font-size: 10px;
    font-weight: 700;
}
.pw-audiencias-section__add {
    font-size: 11px;
    padding: 3px 8px;
}
.pw-audiencias-section__empty {
    font-size: 12px;
    color: var(--color-text-muted, #9ca3af);
    padding: 6px 0 4px;
    margin: 0;
}

/* ── Audiência item ── */
.pw-audiencia-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 7px 8px;
    border-radius: 6px;
    margin-bottom: 3px;
    background: var(--color-bg-hover, #f8f9fb);
    border: 1px solid var(--color-border, #e5e7eb);
    transition: border-color 0.15s;
}
.pw-audiencia-item:hover { border-color: var(--color-primary, #6366f1); }
.pw-audiencia-item--done {
    opacity: 0.55;
    align-items: center;
    gap: 8px;
    padding: 4px 8px;
    background: transparent;
    border: 1px solid transparent;
}
.pw-audiencia-item__left {
    padding-top: 2px;
}
.pw-audiencia-item__body {
    flex: 1;
    min-width: 0;
}
.pw-audiencia-item__row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.pw-audiencia-item__text {
    font-size: 13px;
    font-weight: 500;
    flex: 1;
    min-width: 0;
    color: var(--color-text, #1a202c);
}
.pw-audiencia-item__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 3px;
    flex-wrap: wrap;
}
.pw-audiencia-item__local {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 11px;
    color: var(--color-text-muted, #64748b);
}
.pw-audiencia-modalidade-badge {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-radius: 4px;
    padding: 1px 6px;
    white-space: nowrap;
}
.pw-audiencia-modalidade-badge--pres {
    background: #dcfce7;
    color: #166534;
}
.pw-audiencia-modalidade-badge--tele {
    background: #eff6ff;
    color: #1d4ed8;
}
[data-theme=dark] .pw-audiencia-modalidade-badge--pres { background: #166534; color: #dcfce7; }
[data-theme=dark] .pw-audiencia-modalidade-badge--tele { background: #1e3a5f; color: #93c5fd; }

/* ── Section divider between audiências and tarefas ── */
.pw-section-divider {
    height: 1px;
    background: var(--color-border, #e5e7eb);
    margin: 12px 0;
}

/* ── Pedidos polo header ── */
.pw-pedido-polo-header {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 6px 4px 4px;
    margin-top: 4px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--color-border, #e5e7eb);
}
.pw-pedido-polo-header--ativo { color: #1d4ed8; }
.pw-pedido-polo-header--passivo { color: #b45309; }
[data-theme=dark] .pw-pedido-polo-header--ativo { color: #93c5fd; }
[data-theme=dark] .pw-pedido-polo-header--passivo { color: #fbbf24; }

/* ── Pedido status toggle ── */
.pw-pedido-status-toggle {
    display: flex;
    gap: 0;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid var(--color-border, #e5e7eb);
    margin-top: 6px;
    width: 100%;
}
.pw-pedido-status-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 4px 6px;
    font-size: 11px;
    font-weight: 500;
    background: var(--color-bg, #fff);
    color: var(--color-text-muted, #6b7280);
    border: none;
    border-right: 1px solid var(--color-border, #e5e7eb);
    cursor: pointer;
    transition: background 0.12s, color 0.12s;
    white-space: nowrap;
}
.pw-pedido-status-btn:last-child { border-right: none; }
.pw-pedido-status-btn:hover { background: var(--color-bg-hover, #f3f4f6); color: var(--color-text, #111); }
.pw-pedido-status-btn--active.pw-pedido-status-btn--sem { background: #f3f4f6; color: #374151; font-weight: 700; }
.pw-pedido-status-btn--active.pw-pedido-status-btn--proc { background: #dcfce7; color: #166534; font-weight: 700; }
.pw-pedido-status-btn--active.pw-pedido-status-btn--imp { background: #fee2e2; color: #991b1b; font-weight: 700; }
[data-theme=dark] .pw-pedido-status-btn { background: var(--color-surface, #1e293b); color: var(--color-text-muted, #94a3b8); }
[data-theme=dark] .pw-pedido-status-btn--active.pw-pedido-status-btn--proc { background: #14532d; color: #86efac; }
[data-theme=dark] .pw-pedido-status-btn--active.pw-pedido-status-btn--imp { background: #450a0a; color: #fca5a5; }

/* ── Kanban card group divider ── */
.pw-kanban__group-divider {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 2px;
    margin: 4px 0;
}
.pw-kanban__group-divider::before,
.pw-kanban__group-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--color-border, #e2e8f0);
}
.pw-kanban__group-divider span {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-text-muted, #94a3b8);
    white-space: nowrap;
}
.pw-kanban__card--no-pending {
    opacity: 0.8;
}
.pw-kanban__card--no-pending:hover { opacity: 1; }

/* ── Editor toolbar SVG icon style improvements ── */
.pw-editor-toolbar {
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 4px 6px;
    background: var(--color-bg-hover, #f8f9fb);
    border: 1px solid var(--color-border, #e5e7eb);
    border-bottom: none;
    border-radius: 6px 6px 0 0;
}
.pw-editor-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: none;
    background: transparent;
    border-radius: 4px;
    cursor: pointer;
    color: var(--color-text-muted, #6b7280);
    transition: background 0.1s, color 0.1s;
}
.pw-editor-btn:hover {
    background: var(--color-border, #e5e7eb);
    color: var(--color-text, #111827);
}
.pw-editor-divider {
    display: inline-block;
    width: 1px;
    height: 16px;
    background: var(--color-border, #d1d5db);
    margin: 0 3px;
}
.pw-rich-editor {
    border-radius: 0 0 6px 6px;
    border-top: none;
    min-height: 80px;
}

/* ── Faturas Tab ── */
.pw-faturas {
    padding: 16px 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.pw-faturas__empty {
    text-align: center;
    color: var(--color-text-muted, #94a3b8);
    font-size: 0.875rem;
    padding: 24px 0;
}
.pw-faturas__list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.pw-fatura-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    background: var(--color-bg-hover, #f8f9fb);
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 8px;
    gap: 12px;
}
.pw-fatura-item__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}
.pw-fatura-item__id {
    font-weight: 600;
    font-size: 0.8125rem;
    color: var(--color-primary, #6366f1);
}
.pw-fatura-item__cliente {
    font-size: 0.875rem;
    color: var(--color-text, #111827);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pw-fatura-item__date {
    font-size: 0.75rem;
    color: var(--color-text-muted, #94a3b8);
}
.pw-fatura-item__remove {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: none;
    background: transparent;
    border-radius: 50%;
    cursor: pointer;
    color: var(--color-text-muted, #94a3b8);
    transition: background 0.15s, color 0.15s;
}
.pw-fatura-item__remove:hover {
    background: #fee2e2;
    color: #ef4444;
}
.pw-fatura-add-form {
    padding: 12px;
    background: var(--color-bg-hover, #f8f9fb);
    border: 1px dashed var(--color-border, #e5e7eb);
    border-radius: 8px;
}
.pw-fatura-add-form__loading,
.pw-fatura-add-form__empty {
    font-size: 0.875rem;
    color: var(--color-text-muted, #94a3b8);
    margin: 0;
}
.pw-fatura-add-form__row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.pw-fatura-add-form__select {
    flex: 1;
    min-width: 180px;
}
.pw-fatura-add-btn-wrap {
    padding-top: 4px;
}
.pw-fatura-item__actions {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}
.pw-fatura-item__open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    color: var(--color-text-muted, #94a3b8);
    transition: background 0.15s, color 0.15s;
    text-decoration: none;
}
.pw-fatura-item__open:hover {
    background: #e0e7ff;
    color: #6366f1;
}

/* Card tags: prazo / recurso / audiência / label */
.pw-kanban__card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 0 10px 8px;
}
.pw-tag {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 5px;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}
.pw-tag--prazo {
    background: rgba(217, 119, 6, 0.12);
    color: #b45309;
}
.pw-tag--recurso {
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8;
}
.pw-tag--audiencia {
    background: rgba(5, 150, 105, 0.1);
    color: #047857;
}

/* Duration row in task/audiência forms */
.pw-duracao-row { display: flex; align-items: center; gap: 4px; }
.pw-duracao-num { width: 52px !important; text-align: center; }
.pw-duracao-unit { font-size: 12px; color: var(--color-text-muted); }

/* Searchable Select Component */
.pw-ss { position: relative; }
.pw-ss__trigger { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 10px; border: 1px solid var(--color-border, #e5e7eb); border-radius: 6px; background: var(--color-bg, #fff); cursor: pointer; font-size: 13px; color: var(--color-text, #111827); min-height: 36px; transition: border-color .15s; }
.pw-ss__trigger:hover { border-color: var(--color-primary, #6366f1); }
.pw-ss--sm .pw-ss__trigger { padding: 5px 8px; font-size: 12px; min-height: 30px; }
.pw-ss__placeholder { color: var(--color-text-muted, #9ca3af); }
.pw-ss__chevron { flex-shrink: 0; color: var(--color-text-muted, #9ca3af); }
.pw-ss__dropdown { position: fixed; min-width: 220px; background: var(--color-bg, #fff); border: 1px solid var(--color-border, #e5e7eb); border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.12); z-index: 9999; overflow: hidden; min-width: 220px; }
.pw-ss__search { width: 100%; border: none; border-bottom: 1px solid var(--color-border, #e5e7eb); padding: 8px 12px; font-size: 13px; outline: none; background: var(--color-bg-alt, #f9fafb); color: var(--color-text, #111827); }
.pw-ss__options { max-height: 220px; overflow-y: auto; }
.pw-ss__option { padding: 8px 12px; font-size: 13px; cursor: pointer; color: var(--color-text, #111827); transition: background .1s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pw-ss__option:hover { background: var(--color-bg-alt, #f3f4f6); }
.pw-ss__option--active { background: rgba(99,102,241,.08); color: var(--color-primary, #6366f1); font-weight: 500; }
.pw-ss__option--clear { color: var(--color-text-muted, #9ca3af); font-size: 12px; border-bottom: 1px solid var(--color-border, #e5e7eb); }
.pw-ss__empty { padding: 10px 12px; font-size: 12px; color: var(--color-text-muted, #9ca3af); text-align: center; }

/* Prazo fields */
.pw-input--readonly { background: var(--color-bg-alt, #f9fafb); color: var(--color-text-muted, #6b7280); cursor: default; }
.pw-prazo-limite-badge { display: inline-block; background: #dbeafe; color: #1d4ed8; font-size: 10px; font-weight: 700; padding: 1px 5px; border-radius: 999px; text-transform: uppercase; letter-spacing: .04em; vertical-align: middle; }

/* ── Aliases para aba Contratos (renomeado de Faturas) ── */
.pw-contratos                { @extend .pw-faturas; }
.pw-contratos__empty         { @extend .pw-faturas__empty; }
.pw-contratos__list          { @extend .pw-faturas__list; }
.pw-contrato-item            { @extend .pw-fatura-item; }
.pw-contrato-item__info      { @extend .pw-fatura-item__info; }
.pw-contrato-item__id        { @extend .pw-fatura-item__id; }
.pw-contrato-item__cliente   { @extend .pw-fatura-item__cliente; }
.pw-contrato-item__date      { @extend .pw-fatura-item__date; }
.pw-contrato-item__actions   { @extend .pw-fatura-item__actions; }
.pw-contrato-item__open      { @extend .pw-fatura-item__open; }
.pw-contrato-item__open:hover{ @extend .pw-fatura-item__open:hover; }
.pw-contrato-item__remove    { @extend .pw-fatura-item__remove; }
.pw-contrato-item__remove:hover { @extend .pw-fatura-item__remove:hover; }
.pw-contrato-add-form        { @extend .pw-fatura-add-form; }
.pw-contrato-add-form__loading { @extend .pw-fatura-add-form__loading; }
.pw-contrato-add-form__empty { @extend .pw-fatura-add-form__empty; }
.pw-contrato-add-form__row   { @extend .pw-fatura-add-form__row; }

/* ── Aliases para aba "Contratos" (renomeado de Faturas) ── */
.pw-contratos {
    padding: 16px 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.pw-contratos__empty {
    text-align: center;
    color: var(--color-text-muted, #94a3b8);
    font-size: 0.875rem;
    padding: 24px 0;
}
.pw-contratos__list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.pw-contrato-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    background: var(--color-bg-hover, #f8f9fb);
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 8px;
    gap: 12px;
}
.pw-contrato-item__info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}
.pw-contrato-item__id {
    font-weight: 600;
    font-size: 0.8125rem;
    color: var(--color-primary, #6366f1);
}
.pw-contrato-item__cliente {
    font-size: 0.875rem;
    color: var(--color-text, #111827);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pw-contrato-item__date {
    font-size: 0.75rem;
    color: var(--color-text-muted, #94a3b8);
}
.pw-contrato-item__actions {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}
.pw-contrato-item__open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    color: var(--color-text-muted, #94a3b8);
    transition: background 0.15s, color 0.15s;
    text-decoration: none;
}
.pw-contrato-item__open:hover {
    background: #e0e7ff;
    color: #6366f1;
}
.pw-contrato-item__remove {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: none;
    background: transparent;
    border-radius: 50%;
    cursor: pointer;
    color: var(--color-text-muted, #94a3b8);
    transition: background 0.15s, color 0.15s;
}
.pw-contrato-item__remove:hover {
    background: #fee2e2;
    color: #ef4444;
}
.pw-contrato-add-form {
    padding: 12px;
    background: var(--color-bg-hover, #f8f9fb);
    border: 1px dashed var(--color-border, #e5e7eb);
    border-radius: 8px;
}
.pw-contrato-add-form__loading,
.pw-contrato-add-form__empty {
    font-size: 0.875rem;
    color: var(--color-text-muted, #94a3b8);
    margin: 0;
}
.pw-contrato-add-form__row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
