
  .pj { --pj-line:#e6e8ef; --pj-line-2:#d7dbe6; --pj-muted:#64748b; --pj-soft:#f6f7fb; --pj-hover:#eef0f6; --pj-panel:#fff; --pj-text:#0f172a; --pj-accent:var(--primary-color,#6366f1); --pj-accent-soft:color-mix(in srgb,var(--pj-accent) 10%,#fff); --pj-r:16px; --pj-ok:#059669; --pj-warn:#d97706; --pj-danger:#dc2626; --pj-shadow:0 1px 2px rgba(15,23,42,.04);
    display: flex; flex-direction: column; flex: 1; min-height: 0; min-width: 0; color: var(--pj-text); font-size: 13.5px; line-height: 1.45; }
  .dark .pj { --pj-line:#1f2937; --pj-line-2:#2b3648; --pj-muted:#94a3b8; --pj-soft:#0f172a; --pj-hover:#1a2333; --pj-panel:#111827; --pj-text:#e5e7eb; --pj-accent-soft:color-mix(in srgb,var(--pj-accent) 18%,#111827); }
  .pj-drawer, .pj-modal, .pj-dd-menu, .pj-toasts { --pj-line:#e6e8ef; --pj-line-2:#d7dbe6; --pj-muted:#64748b; --pj-soft:#f6f7fb; --pj-hover:#eef0f6; --pj-panel:#fff; --pj-text:#0f172a; --pj-accent:var(--primary-color,#6366f1); --pj-accent-soft:color-mix(in srgb,var(--pj-accent) 10%,#fff); --pj-r:16px; --pj-ok:#059669; --pj-danger:#dc2626; }
  .dark .pj-drawer, .dark .pj-modal, .dark .pj-dd-menu { --pj-line:#1f2937; --pj-line-2:#2b3648; --pj-muted:#94a3b8; --pj-soft:#0f172a; --pj-hover:#1a2333; --pj-panel:#111827; --pj-text:#e5e7eb; --pj-accent-soft:color-mix(in srgb,var(--pj-accent) 18%,#111827); }
  .pj *, .pj-drawer *, .pj-modal * { box-sizing: border-box; }
  .pj-topbar { display: flex; align-items: center; gap: 10px; padding: 10px 18px; border-bottom: 1px solid var(--pj-line); background: var(--pj-panel); flex-wrap: wrap; }
  .pj-title { font-size: 18px; font-weight: 800; display: flex; align-items: center; gap: 10px; min-width: 0; }
  .pj-title input { font: inherit; font-weight: 800; border: 1px solid transparent; background: transparent; border-radius: 8px; padding: 2px 6px; color: inherit; min-width: 120px; }
  .pj-title input:hover { border-color: var(--pj-line-2); } .pj-title input:focus { outline: none; border-color: var(--pj-accent); background: var(--pj-panel); }
  .pj-proj-icon { width: 34px; height: 34px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; cursor: pointer; }
  .pj-proj-icon i, .pj-proj-icon svg { width: 18px; height: 18px; }
  .pj-tabs { display: flex; gap: 2px; padding: 0 18px; border-bottom: 1px solid var(--pj-line); background: var(--pj-panel); overflow-x: auto; }
  .pj-tab { border: 0; background: none; padding: 9px 12px; font-size: 13px; font-weight: 600; color: var(--pj-muted); border-bottom: 2px solid transparent; margin-bottom: -1px; cursor: pointer; display: inline-flex; gap: 6px; align-items: center; white-space: nowrap; }
  .pj-tab.is-active { color: var(--pj-accent); border-bottom-color: var(--pj-accent); }
  .pj-tab i, .pj-tab svg { width: 15px; height: 15px; }
  .pj-toolbar { display: flex; align-items: center; gap: 8px; padding: 10px 18px; flex-wrap: wrap; background: var(--pj-soft); border-bottom: 1px solid var(--pj-line); }
  .pj-body { flex: 1; min-height: 0; min-width: 0; overflow: auto; background: var(--pj-soft); }
  .pj-btn { display: inline-flex; align-items: center; gap: 6px; border-radius: 9px; padding: 7px 11px; font-size: 12.5px; font-weight: 600; cursor: pointer; border: 1px solid var(--pj-line); background: var(--pj-panel); color: var(--pj-text); white-space: nowrap; text-decoration: none; transition: background .12s; }
  .pj-btn:hover { background: var(--pj-hover); }
  .pj-btn:disabled { opacity: .5; cursor: default; }
  .pj-btn-primary { background: var(--pj-accent); border-color: transparent; color: #fff; } .pj-btn-primary:hover { background: var(--pj-accent); filter: brightness(.95); }
  .pj-btn-ghost { border-color: transparent; background: transparent; } .pj-btn-ghost:hover { background: var(--pj-hover); }
  .pj-btn-sm { padding: 4px 8px; font-size: 12px; }
  .pj-btn-danger { color: #b91c1c; }
  .pj-btn i, .pj-btn svg { width: 15px; height: 15px; flex-shrink: 0; }
  .pj-icon-btn { width: 30px; height: 30px; border-radius: 8px; border: 1px solid transparent; background: transparent; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: var(--pj-muted); }
  .pj-icon-btn:hover { background: var(--pj-hover); color: var(--pj-text); }
  .pj-icon-btn i, .pj-icon-btn svg { width: 16px; height: 16px; }
  .pj-input, .pj-select, .pj-textarea { border: 1px solid var(--pj-line); border-radius: 9px; padding: 7px 9px; font-size: 13px; background: var(--pj-panel); color: inherit; font-family: inherit; }
  .pj-input:focus, .pj-select:focus, .pj-textarea:focus { outline: none; border-color: var(--pj-accent); box-shadow: 0 0 0 3px rgba(79,70,229,.12); }
  .pj-chip { display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--pj-line); background: var(--pj-panel); border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 600; color: var(--pj-muted); cursor: pointer; white-space: nowrap; }
  .pj-chip.is-active { background: var(--pj-accent); border-color: transparent; color: #fff; }
  .pj-chip i, .pj-chip svg { width: 13px; height: 13px; }
  .pj-avatar { border-radius: 999px; object-fit: cover; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }
  .pj-avatar-fallback { color: #fff; font-weight: 700; }
  .pj-avatars { display: inline-flex; } .pj-avatars .pj-avatar { margin-left: -6px; border: 2px solid #fff; } .pj-avatars .pj-avatar:first-child { margin-left: 0; }
  .pj-due { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 600; border-radius: 6px; padding: 1px 6px; white-space: nowrap; }
  .pj-due i, .pj-due svg { width: 12px; height: 12px; }
  .pj-due-overdue { color: #b91c1c; background: #fee2e2; } .pj-due-today { color: #b45309; background: #fef3c7; } .pj-due-soon { color: #047857; background: #d1fae5; } .pj-due-future { color: var(--pj-muted); background: var(--pj-hover); } .pj-due-done { color: var(--pj-muted); background: var(--pj-hover); text-decoration: line-through; }
  .pj-prio { display: inline-flex; align-items: center; gap: 3px; font-size: 11px; font-weight: 700; border-radius: 6px; padding: 1px 6px; }
  .pj-prio i, .pj-prio svg { width: 11px; height: 11px; }
  .pj-labels { display: inline-flex; flex-wrap: wrap; gap: 4px; }
  .pj-label { font-size: 10.5px; font-weight: 700; border-radius: 999px; padding: 1px 7px; white-space: nowrap; }
  .pj-label-more { background: var(--pj-hover); color: var(--pj-muted); }
  .pj-check { width: 18px; height: 18px; border-radius: 999px; border: 1.5px solid var(--pj-line-2); background: var(--pj-panel); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; color: transparent; transition: all .12s; }
  .pj-check:hover { border-color: #10b981; color: #10b981; }
  .pj-check.is-done { background: #10b981; border-color: #10b981; color: #fff; }
  .pj-check i, .pj-check svg { width: 11px; height: 11px; }
  .pj-check.lg { width: 24px; height: 24px; } .pj-check.lg i, .pj-check.lg svg { width: 14px; height: 14px; }
  /* Quadro */
  .pj-board { display: flex; gap: 12px; padding: 14px 18px; height: 100%; min-height: 0; align-items: flex-start; }
  .pj-col { width: 290px; flex-shrink: 0; display: flex; flex-direction: column; max-height: 100%; background: var(--pj-hover); border-radius: var(--pj-r); border: 1px solid var(--pj-line); }
  .pj-col.is-over { border-color: var(--pj-accent); box-shadow: 0 0 0 2px rgba(79,70,229,.2); }
  .pj-col-head { display: flex; align-items: center; gap: 6px; padding: 10px 10px 6px; font-weight: 700; font-size: 13px; }
  .pj-col-head input { font: inherit; font-weight: 700; border: 1px solid transparent; background: transparent; border-radius: 6px; padding: 1px 4px; width: 100%; min-width: 0; color: inherit; }
  .pj-col-head input:focus { outline: none; border-color: var(--pj-accent); background: var(--pj-panel); }
  .pj-count { background: var(--pj-line); color: var(--pj-muted); border-radius: 999px; padding: 0 7px; font-size: 11px; font-weight: 700; }
  .pj-count.is-wip { background: #fee2e2; color: #991b1b; }
  .pj-col-body { overflow-y: auto; padding: 0 8px 8px; display: flex; flex-direction: column; gap: 8px; min-height: 40px; flex: 1; }
  .pj-card { background: var(--pj-panel); border: 1px solid var(--pj-line); border-radius: 12px; padding: 10px 11px; cursor: pointer; box-shadow: 0 1px 2px rgba(15,23,42,.04); transition: box-shadow .12s, transform .12s; position: relative; }
  .pj-card:hover { box-shadow: 0 6px 16px rgba(15,23,42,.10); border-color: var(--pj-line-2); }
  .pj-card.is-done { opacity: .6; } .pj-card.is-done .pj-card-title { text-decoration: line-through; }
  .pj-card.is-dragging { opacity: .4; }
  .pj-card-top { display: flex; align-items: flex-start; gap: 8px; }
  .pj-card-title { font-weight: 600; font-size: 13.5px; line-height: 1.3; flex: 1; min-width: 0; word-break: break-word; }
  .pj-card-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
  .pj-card-meta .pj-spacer { flex: 1; }
  .pj-card-num { font-size: 10.5px; color: var(--pj-muted); font-weight: 600; }
  .pj-sub { display: inline-flex; align-items: center; gap: 3px; font-size: 11px; color: var(--pj-muted); font-weight: 600; }
  .pj-sub i, .pj-sub svg { width: 12px; height: 12px; }
  .pj-card-preview { font-size: 11.5px; color: var(--pj-muted); margin-top: 4px; }
  .pj-quick-add { display: flex; align-items: center; gap: 6px; padding: 8px; color: var(--pj-muted); font-size: 12.5px; font-weight: 600; cursor: pointer; border-radius: 10px; margin: 0 8px 8px; }
  .pj-quick-add:hover { background: var(--pj-line); color: var(--pj-text); }
  .pj-quick-form { margin: 0 8px 8px; }
  .pj-quick-form textarea { width: 100%; }
  .pj-add-col { width: 260px; flex-shrink: 0; }
  /* Lista */
  .pj-list { padding: 8px 18px 40px; }
  .pj-list-table { width: 100%; border-collapse: collapse; font-size: 13px; background: var(--pj-panel); border: 1px solid var(--pj-line); border-radius: 12px; overflow: hidden; }
  .pj-list-table th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--pj-muted); padding: 8px 10px; border-bottom: 1px solid var(--pj-line); position: sticky; top: 0; background: var(--pj-panel); z-index: 2; white-space: nowrap; }
  .pj-list-table td { padding: 6px 10px; border-bottom: 1px solid var(--pj-hover); vertical-align: middle; }
  .pj-list-table tr.pj-row:hover td { background: var(--pj-soft); }
  .pj-list-table tr.pj-row { cursor: pointer; }
  .pj-list-table tr.is-done td { color: var(--pj-muted); } .pj-list-table tr.is-done .pj-list-title { text-decoration: line-through; }
  .pj-section-row td { background: var(--pj-soft); font-weight: 800; font-size: 12.5px; cursor: pointer; }
  .pj-list-title { font-weight: 600; display: flex; align-items: center; gap: 8px; }
  .pj-inline-select { border: 1px solid transparent; background: transparent; border-radius: 6px; padding: 3px 4px; font-size: 12.5px; color: inherit; max-width: 170px; }
  .pj-inline-select:hover { border-color: var(--pj-line-2); } .pj-inline-select:focus { outline: none; border-color: var(--pj-accent); background: var(--pj-panel); }
  .pj-list-add td { color: var(--pj-muted); font-weight: 600; cursor: pointer; } .pj-list-add:hover td { color: var(--pj-text); background: var(--pj-soft); }
  /* Calendário */
  .pj-cal { padding: 12px 18px 30px; }
  .pj-cal-head { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
  .pj-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 1px; background: var(--pj-line); border: 1px solid var(--pj-line); border-radius: 12px; overflow: hidden; }
  .pj-cal-dow { background: var(--pj-soft); padding: 6px; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--pj-muted); font-weight: 700; text-align: center; }
  .pj-cal-day { background: var(--pj-panel); min-height: 108px; padding: 6px; display: flex; flex-direction: column; gap: 3px; }
  .pj-cal-day.is-other { background: var(--pj-soft); color: var(--pj-muted); }
  .pj-cal-day.is-over { outline: 2px solid var(--pj-accent); outline-offset: -2px; }
  .pj-cal-num { font-size: 12px; font-weight: 700; display: flex; justify-content: space-between; align-items: center; }
  .pj-cal-num .pj-today { background: var(--pj-accent); color: #fff; border-radius: 999px; width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; }
  .pj-cal-add { opacity: 0; } .pj-cal-day:hover .pj-cal-add { opacity: 1; }
  .pj-cal-item { font-size: 11.5px; font-weight: 600; border-radius: 6px; padding: 2px 6px; cursor: pointer; display: flex; align-items: center; gap: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-left: 3px solid var(--pj-accent); background: #eef2ff; color: #1e1b4b; }
  .pj-cal-item.is-done { opacity: .55; text-decoration: line-through; }
  .pj-cal-item.is-overdue { border-left-color: #ef4444; background: #fee2e2; color: #7f1d1d; }
  .dark .pj-cal-item { background: #1e1b4b; color: #e0e7ff; }
  /* Linha do tempo */
  .pj-tl { display: flex; height: 100%; min-height: 0; }
  .pj-tl-left { width: 300px; flex-shrink: 0; border-right: 1px solid var(--pj-line); background: var(--pj-panel); overflow: hidden; }
  .pj-tl-right { flex: 1; overflow: auto; position: relative; }
  .pj-tl-row { height: 36px; display: flex; align-items: center; padding: 0 12px; border-bottom: 1px solid var(--pj-hover); font-size: 12.5px; gap: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .pj-tl-row.is-section { background: var(--pj-soft); font-weight: 800; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--pj-muted); }
  .pj-tl-head-row { height: 36px; display: flex; align-items: center; padding: 0 12px; font-weight: 700; border-bottom: 1px solid var(--pj-line); background: var(--pj-panel); position: sticky; top: 0; z-index: 3; }
  .pj-tl-days { display: flex; position: sticky; top: 0; z-index: 3; background: var(--pj-panel); border-bottom: 1px solid var(--pj-line); height: 36px; }
  .pj-tl-daycell { flex-shrink: 0; font-size: 10.5px; color: var(--pj-muted); text-align: center; border-right: 1px solid var(--pj-hover); display: flex; flex-direction: column; justify-content: center; }
  .pj-tl-daycell.is-weekend { background: var(--pj-soft); }
  .pj-tl-daycell.is-today { color: var(--pj-accent); font-weight: 800; }
  .pj-tl-grid-row { height: 36px; position: relative; border-bottom: 1px solid var(--pj-hover); }
  .pj-tl-grid-row.is-section { background: var(--pj-soft); }
  .pj-tl-bar { position: absolute; top: 7px; height: 22px; border-radius: 7px; background: var(--pj-accent); color: #fff; font-size: 11px; font-weight: 600; padding: 0 8px; display: flex; align-items: center; white-space: nowrap; overflow: hidden; cursor: pointer; box-shadow: 0 1px 3px rgba(15,23,42,.2); }
  .pj-tl-bar.is-done { background: #10b981; opacity: .7; } .pj-tl-bar.is-overdue { background: #ef4444; }
  .pj-tl-bar.is-milestone { width: 22px !important; padding: 0; justify-content: center; border-radius: 6px; transform: rotate(45deg) scale(.75); }
  .pj-tl-today { position: absolute; top: 0; bottom: 0; width: 2px; background: var(--pj-accent); opacity: .6; z-index: 2; pointer-events: none; }
  .pj-tl-weekend { position: absolute; top: 0; bottom: 0; background: rgba(148,163,184,.08); pointer-events: none; }
  /* Visão geral */
  .pj-overview { padding: 16px 18px 40px; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; }
  .pj-card-box { background: var(--pj-panel); border: 1px solid var(--pj-line); border-radius: var(--pj-r); padding: 14px; }
  .pj-box-title { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--pj-muted); margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; }
  .pj-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; }
  .pj-kpi { background: var(--pj-soft); border-radius: 12px; padding: 10px 12px; }
  .pj-kpi b { display: block; font-size: 22px; font-weight: 800; line-height: 1.1; } .pj-kpi span { font-size: 11px; color: var(--pj-muted); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
  .pj-bar { display: flex; height: 10px; border-radius: 999px; overflow: hidden; background: var(--pj-line); }
  .pj-bar span { display: block; height: 100%; }
  .pj-kv { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; border-bottom: 1px dashed var(--pj-hover); font-size: 13px; align-items: center; }
  .pj-row-item { display: flex; align-items: center; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--pj-hover); cursor: pointer; font-size: 13px; }
  .pj-row-item:hover { background: var(--pj-soft); }
  .pj-empty { text-align: center; color: var(--pj-muted); padding: 40px 12px; font-size: 13.5px; }
  .pj-muted { color: var(--pj-muted); font-size: 12px; }
  /* Home */
  .pj-home { padding: 16px 18px 40px; max-width: 1400px; margin: 0 auto; width: 100%; }
  .pj-home-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
  .pj-home-h1 { font-size: 22px; font-weight: 800; }
  .pj-my-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 18px; }
  .pj-my-tile { background: var(--pj-panel); border: 1px solid var(--pj-line); border-radius: var(--pj-r); padding: 12px 14px; cursor: pointer; display: flex; align-items: center; gap: 12px; }
  .pj-my-tile:hover { border-color: var(--pj-line-2); box-shadow: 0 6px 16px rgba(15,23,42,.06); }
  .pj-my-tile b { display: block; font-size: 22px; font-weight: 800; line-height: 1; } .pj-my-tile span { font-size: 11px; color: var(--pj-muted); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
  .pj-my-tile .pj-tile-ic { width: 38px; height: 38px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; }
  .pj-my-tile .pj-tile-ic i, .pj-my-tile .pj-tile-ic svg { width: 18px; height: 18px; }
  .pj-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
  .pj-proj { background: var(--pj-panel); border: 1px solid var(--pj-line); border-radius: var(--pj-r); padding: 14px; cursor: pointer; transition: box-shadow .12s, transform .12s; display: flex; flex-direction: column; gap: 10px; }
  .pj-proj:hover { box-shadow: 0 10px 24px rgba(15,23,42,.08); transform: translateY(-1px); }
  .pj-proj.is-archived { opacity: .6; }
  .pj-proj-head { display: flex; align-items: center; gap: 10px; }
  .pj-proj-name { font-weight: 800; font-size: 15px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .pj-proj-desc { font-size: 12.5px; color: var(--pj-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 0; }
  .pj-proj-stats { display: flex; gap: 12px; font-size: 12px; color: var(--pj-muted); font-weight: 600; flex-wrap: wrap; }
  .pj-proj-stats b { color: var(--pj-text); }
  .pj-proj-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .pj-new-proj { border: 2px dashed var(--pj-line-2); background: transparent; color: var(--pj-muted); align-items: center; justify-content: center; min-height: 150px; font-weight: 700; }
  .pj-new-proj:hover { border-color: var(--pj-accent); color: var(--pj-accent); }
  .pj-swatches { display: flex; gap: 6px; flex-wrap: wrap; }
  .pj-swatch { width: 26px; height: 26px; border-radius: 8px; cursor: pointer; border: 2px solid transparent; }
  .pj-swatch.is-active { border-color: var(--pj-text); } .dark .pj-swatch.is-active { border-color: #fff; }
  .pj-icons { display: flex; gap: 6px; flex-wrap: wrap; }
  .pj-icons .pj-proj-icon { background: var(--pj-hover); color: var(--pj-muted); border: 2px solid transparent; }
  .pj-icons .pj-proj-icon.is-active { border-color: var(--pj-accent); }
  .pj-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
  .pj-lbl { font-size: 11px; font-weight: 700; color: var(--pj-muted); text-transform: uppercase; letter-spacing: .04em; }
  /* Minhas tarefas */
  .pj-my { padding: 16px 18px 40px; max-width: 1100px; margin: 0 auto; width: 100%; }
  .pj-group-title { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--pj-muted); margin: 16px 0 6px; display: flex; align-items: center; gap: 8px; }
  .pj-group-title.overdue { color: #b91c1c; } .pj-group-title.today { color: #b45309; }
  .pj-my-row { display: flex; align-items: center; gap: 10px; background: var(--pj-panel); border: 1px solid var(--pj-line); border-radius: 12px; padding: 9px 12px; margin-bottom: 6px; cursor: pointer; font-size: 13px; }
  .pj-my-row:hover { border-color: var(--pj-line-2); box-shadow: 0 4px 12px rgba(15,23,42,.06); }
  .pj-my-row.is-done { opacity: .55; } .pj-my-row.is-done .pj-my-title { text-decoration: line-through; }
  .pj-my-title { font-weight: 600; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .pj-proj-chip { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; border-radius: 6px; padding: 2px 7px; background: var(--pj-hover); color: var(--pj-muted); white-space: nowrap; }
  .pj-proj-chip .dot { width: 8px; height: 8px; border-radius: 4px; }
  /* Modais / dropdown / toasts */
  .pj-modal-bg { position: fixed; inset: 0; z-index: 9000; background: rgba(15,23,42,.5); display: flex; align-items: center; justify-content: center; padding: 16px; }
  .pj-modal { background: var(--pj-panel); color: var(--pj-text); border-radius: var(--pj-r); width: 100%; max-height: 92vh; overflow: auto; }
  .pj-modal-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--pj-line); }
  .pj-modal-body { padding: 16px; }
  .pj-dd { position: relative; display: inline-block; }
  .pj-dd-menu { position: absolute; top: 100%; margin-top: 4px; min-width: 180px; background: var(--pj-panel); border: 1px solid var(--pj-line); border-radius: 10px; box-shadow: 0 12px 30px rgba(15,23,42,.15); z-index: 50; padding: 4px; }
  .pj-dd-left { left: 0; } .pj-dd-right { right: 0; }
  .pj-dd-item { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; padding: 7px 9px; font-size: 12.5px; border: 0; background: none; border-radius: 7px; cursor: pointer; color: inherit; }
  .pj-dd-item:hover { background: var(--pj-hover); }
  .pj-dd-item i, .pj-dd-item svg { width: 14px; height: 14px; }
  .pj-dd-item.is-danger { color: #b91c1c; }
  .pj-toasts { position: fixed; right: 16px; bottom: 16px; z-index: 12000; display: flex; flex-direction: column; gap: 6px; }
  .pj-toast { background: var(--pj-text); color: #fff; padding: 9px 13px; border-radius: 10px; font-size: 13px; box-shadow: 0 10px 30px rgba(2,6,23,.3); }
  .pj-toast-error { background: #b91c1c; } .pj-toast-success { background: #047857; }
  .pj-loading { display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--pj-muted); padding: 40px; }
  .pj-spin { width: 18px; height: 18px; border: 2px solid var(--pj-line-2); border-top-color: var(--pj-accent); border-radius: 999px; animation: pj-spin .8s linear infinite; }
  @keyframes pj-spin { to { transform: rotate(360deg); } }
  .pj-search { position: relative; } .pj-search i, .pj-search svg { position: absolute; left: 8px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; color: var(--pj-muted); } .pj-search input { padding-left: 28px; width: 220px; }
  .pj-ring { flex-shrink: 0; }
  @media (max-width: 760px) {
    .pj-topbar, .pj-toolbar { padding: 8px 10px; } .pj-tabs { padding: 0 6px; }
    .pj-col { width: 260px; } .pj-board { padding: 10px; }
    .pj-tl-left { width: 170px; } .pj-search input { width: 140px; }
    .pj-cal-day { min-height: 70px; }
  }
