/* Smart Projects (1.4.75) — prefixo pj- (projects). Segue o padrão visual de platform.css (cp-*) e do Smart Sales (sx-*). */
.pj-module{display:flex;flex-direction:column;gap:14px;min-width:0;--pj-color:#6a3df0}
.pj-module [data-pj-body],.pj-module [data-tab-body],.pj-module [data-home-body]{display:flex;flex-direction:column;gap:14px;min-width:0}
.pj-scroll{overflow-x:auto;min-width:0}
.pj-loading{padding:24px;color:#6f6798}
.pj-error{padding:10px 12px;border-radius:8px;background:#fee2e2;color:#991b1b;font-weight:600;margin:8px 0}
.pj-hint{color:#6f6798;font-size:13px;margin:4px 0 8px}
.pj-empty{color:#8b84a8;font-size:13px;text-align:center;padding:14px 8px;list-style:none}
.pj-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.pj-head h2{margin:2px 0 0;font-size:24px;color:#25136c;display:flex;align-items:center;gap:8px;flex-wrap:wrap;overflow-wrap:anywhere}
.pj-head h2 small{font-size:13px;font-weight:700;color:#6f6798;background:#f1eefb;border-radius:6px;padding:2px 7px}
.pj-head p{margin:4px 0 0;color:#6f6798;font-size:14px}
.pj-eyebrow{font-size:11px;letter-spacing:1.2px;font-weight:700;color:#8a5cf6}
.pj-dot{width:12px;height:12px;border-radius:4px;background:var(--pj-color);flex:0 0 12px}
.pj-link{border:0;background:transparent;color:#5b21b6;font-weight:600;cursor:pointer;padding:2px 0;text-align:left;font:inherit;font-weight:600}
.pj-link.danger{color:#b42318;font-size:12px}
.pj-link:focus-visible,.pj-icon:focus-visible,.pj-row:focus-visible,.pj-card:focus-visible,.pj-issue:focus-visible{outline:2px solid #7c3aed;outline-offset:2px}
.pj-tabs{display:flex;gap:4px;border-bottom:1px solid #e7e2f6;overflow-x:auto;scrollbar-width:thin}
.pj-tabs button{border:0;background:transparent;padding:10px 14px;color:#6f6798;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;font:inherit;font-weight:600}
.pj-tabs button[aria-selected=true]{color:#4c1d95;border-bottom-color:#6d28d9}
.pj-chip{display:inline-block;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;background:#eee9ff;color:#5a29c9;white-space:nowrap}
.pj-chip.mine{background:#e0f2fe;color:#075985}.pj-chip.active{background:#dcfce7;color:#166534}.pj-chip.planned{background:#f1f0f5;color:#6b6585}
.pj-confirm{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#2c166e}
.pj-avatar{display:inline-grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:linear-gradient(135deg,#ff7048,#df12bb 55%,#0cbbef);color:#fff;font-size:10px;font-weight:800}
.pj-avatar.empty{background:#e6e3ef;color:#6f6798}
/* type, priority, status, due */
.pj-type{display:inline-grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border-radius:5px;font-size:10px;font-weight:800;color:#fff;background:#6b7280;line-height:1}
.pj-type.epic{background:#7c3aed}.pj-type.story{background:#16a34a}.pj-type.task{background:#2563eb}.pj-type.bug{background:#dc2626}.pj-type.subtask{background:#0891b2}
.pj-priority{display:inline-grid;place-items:center;min-width:18px;height:18px;font-size:13px;font-weight:800;line-height:1}
.pj-priority.highest{color:#b42318}.pj-priority.high{color:#ea580c}.pj-priority.medium{color:#b45309}.pj-priority.low{color:#2563eb}.pj-priority.lowest{color:#64748b}
.pj-status{display:inline-block;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;background:#f1f0f5;color:#4b4370;white-space:nowrap}
.pj-status.doing{background:#e0f2fe;color:#075985}.pj-status.done{background:#dcfce7;color:#166534}
.pj-due{font-size:12px;color:#4b4370;white-space:nowrap}.pj-due.late{color:#b42318;font-weight:700}
.pj-key{font-size:12px;font-weight:700;color:#6f6798;white-space:nowrap}
.pj-points{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#f1eefb;color:#4b4370;font-size:11px;font-weight:800}
.pj-sub{font-size:11px;color:#6f6798;white-space:nowrap}
.pj-grow{flex:1 1 auto}
/* home: project grid and my work */
.pj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.pj-card{display:flex;flex-direction:column;gap:6px;text-align:left;background:#fff;border:1px solid #e6e0f6;border-top:4px solid var(--pj-color);border-radius:14px;padding:14px 15px;cursor:pointer;font:inherit;box-shadow:0 4px 12px #28136a0a;min-width:0}
.pj-card:hover{border-color:#cfc3f3;box-shadow:0 8px 20px #28136a14}
.pj-card b{font-size:16px;color:#25136c;overflow-wrap:anywhere}
.pj-card small{color:#6f6798;font-size:13px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:0}
.pj-card-key{font-size:11px;font-weight:800;letter-spacing:.6px;color:var(--pj-color)}
.pj-progress{display:block;height:6px;border-radius:999px;background:#efecf8;overflow:hidden;margin-top:4px}
.pj-progress i{display:block;height:100%;background:var(--pj-color);border-radius:999px}
.pj-card-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12px;color:#4b4370}
.pj-card-foot{display:flex;gap:8px;align-items:center;font-size:12px;color:#6f6798;margin-top:2px}
.pj-list{display:flex;flex-direction:column;gap:6px}
.pj-row{display:grid;grid-template-columns:18px auto minmax(0,1fr) auto auto;gap:10px;align-items:center;background:#fff;border:1px solid #ece8f8;border-radius:10px;padding:10px 12px;text-align:left;cursor:pointer;font:inherit;color:#25136c}
.pj-row:hover{background:#faf8ff}
.pj-row-title{min-width:0;overflow-wrap:anywhere;color:#25136c;font-size:14px}
.pj-row-title small{display:block;color:#6f6798;font-size:12px;margin-top:2px}
/* filters */
.pj-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pj-filters select,.pj-search input{border:1px solid #dcd5f1;border-radius:9px;padding:8px 10px;font:inherit;font-size:13px;color:#25136c;background:#fff;min-width:0;max-width:100%}
.pj-search{flex:1 1 220px;min-width:0}.pj-search input{width:100%}
.pj-check{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#2c166e;font-weight:600;white-space:nowrap}
/* board */
.pj-board{display:flex;gap:12px;overflow-x:auto;padding-bottom:10px;align-items:flex-start;scroll-snap-type:x proximity;min-width:0}
.pj-column{flex:0 0 272px;background:#f7f5fd;border:1px solid #ece8f8;border-radius:14px;display:flex;flex-direction:column;max-height:calc(100vh - 280px);min-height:120px;scroll-snap-align:start}
.pj-column>header{padding:11px 12px 9px;display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid #ece8f8}
.pj-column>header b{color:#25136c;font-size:13px;text-transform:uppercase;letter-spacing:.4px;overflow-wrap:anywhere}
.pj-column.doing>header{border-top:3px solid #0ea5e9;border-radius:14px 14px 0 0}.pj-column.done>header{border-top:3px solid #16a34a;border-radius:14px 14px 0 0}.pj-column.todo>header{border-top:3px solid #a8a2c3;border-radius:14px 14px 0 0}
.pj-count{font-size:12px;font-weight:800;color:#4b4370;background:#fff;border:1px solid #e6e0f6;border-radius:999px;padding:1px 8px;white-space:nowrap}
.pj-count.over{background:#fee2e2;border-color:#fca5a5;color:#991b1b}
.pj-column.over{outline:2px dashed #7c3aed;outline-offset:-4px;background:#f1ebff}
.pj-cards{padding:8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:70px;flex:1 1 auto}
.pj-issue{background:#fff;border:1px solid #e6e0f6;border-radius:11px;padding:10px 11px;display:flex;flex-direction:column;gap:6px;cursor:grab;box-shadow:0 3px 10px #28136a0a}
.pj-issue[draggable=false]{cursor:pointer}
.pj-issue:hover{border-color:#cfc3f3}
.pj-issue.dragging{opacity:.5}
.pj-issue p{margin:0;color:#25136c;font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.pj-issue footer{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pj-labels{display:flex;gap:4px;flex-wrap:wrap}
.pj-labels em{font-style:normal;font-size:11px;font-weight:600;color:#5a29c9;background:#f3efff;border-radius:5px;padding:1px 6px}
.pj-epic{align-self:flex-start;font-size:11px;font-weight:700;color:#6d28d9;background:#ede9fe;border-radius:5px;padding:1px 7px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* backlog and sprints */
.pj-sprint{background:#fff;border:1px solid #e6e0f6;border-radius:14px;overflow:hidden}
.pj-sprint.active{border-color:#bbf7d0}
.pj-sprint>header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 14px;background:#faf9fe;border-bottom:1px solid #ece8f8}
.pj-sprint>header b{color:#25136c}
.pj-sprint>header small{display:block;color:#6f6798;font-size:12px;margin-top:2px}
.pj-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pj-backlog{list-style:none;margin:0;padding:0}
.pj-backlog-row{display:grid;grid-template-columns:18px auto minmax(0,1fr) auto auto auto auto minmax(110px,150px);gap:10px;align-items:center;padding:8px 14px;border-bottom:1px solid #f1eef9}
.pj-backlog-row:last-child{border-bottom:0}
.pj-backlog-row:hover{background:#fcfbff}
.pj-backlog-row select{border:1px solid #dcd5f1;border-radius:8px;padding:5px 8px;font:inherit;font-size:12px;color:#25136c;background:#fff;min-width:0;width:100%}
.pj-quick{display:flex;gap:8px;padding:10px 14px;border-top:1px solid #ece8f8;background:#fcfbff;flex-wrap:wrap}
.pj-quick select,.pj-quick input{border:1px solid #dcd5f1;border-radius:9px;padding:8px 10px;font:inherit;font-size:13px;color:#25136c;background:#fff;min-width:0}
.pj-quick input{flex:1 1 200px}
.pj-closed{border:1px solid #ece8f8;border-radius:12px;padding:10px 14px;background:#fff}
.pj-closed summary{cursor:pointer;font-weight:700;color:#2c166e}
.pj-closed ul{margin:8px 0 0;padding-left:18px;color:#4b4370;font-size:13px;display:flex;flex-direction:column;gap:4px}
/* list */
.pj-table-wrap{overflow-x:auto;background:#fff;border:1px solid #e6e0f6;border-radius:14px}
.pj-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}
.pj-table th{background:#fcfbfe;color:#6f6798;font-size:11px;font-weight:700;letter-spacing:.3px;padding:10px 12px;white-space:nowrap;border-bottom:1px solid #f0ebf5}
.pj-table td{padding:10px 12px;border-bottom:1px solid #f3eff7;color:#40376a;vertical-align:middle}
.pj-table td:first-child{white-space:nowrap}
.pj-table td small{display:block;color:#8b84a8;font-size:11px;margin-top:2px}
.pj-table tbody tr:last-child td{border-bottom:0}
.pj-table-wrap tbody tr[data-issue]{cursor:pointer}.pj-table-wrap tbody tr[data-issue]:hover{background:#faf8ff}
.pj-table-wrap tbody tr[data-issue]:focus-visible{outline:2px solid #7c3aed;outline-offset:-2px}
/* reports */
.pj-reports{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.pj-reports .cp-card{padding:16px;min-width:0}
.pj-reports h3{margin:0 0 6px;font-size:15px;color:#25136c}
.pj-chart{width:100%;height:auto;display:block}
.pj-chart text{font-size:11px;fill:#6f6798}
.pj-chart .grid{stroke:#ece8f8;stroke-width:1}
.pj-chart .ideal{stroke:#a8a2c3;stroke-width:2;stroke-dasharray:5 5}
.pj-chart .real{fill:none;stroke:#6d28d9;stroke-width:2;stroke-linejoin:round}
.pj-chart .dot{fill:#6d28d9;stroke:#fff;stroke-width:2}
.pj-legend{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:12px;color:#4b4370;margin:8px 0 0}
.pj-legend span{display:inline-block;width:14px;height:4px;border-radius:2px;margin-right:-8px}
.pj-legend .real{background:#6d28d9}.pj-legend .ideal{background:repeating-linear-gradient(90deg,#a8a2c3 0 4px,transparent 4px 7px)}
.pj-legend .committed{background:#c4b5fd;height:10px;width:10px}.pj-legend .completed{background:#6d28d9;height:10px;width:10px}
.pj-bars{display:flex;gap:14px;align-items:flex-end;overflow-x:auto;padding:8px 2px 2px;min-height:190px}
.pj-bar-group{display:grid;grid-template-columns:14px 14px;grid-template-rows:140px auto auto;column-gap:2px;align-items:end;justify-items:center;flex:0 0 auto}
.pj-bar{display:block;width:14px;border-radius:4px 4px 0 0;min-height:2px}
.pj-bar.committed{background:#c4b5fd}.pj-bar.completed{background:#6d28d9}
.pj-bar-group small{grid-column:1/3;font-size:11px;color:#6f6798;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}
.pj-bar-group b{grid-column:1/3;font-size:12px;color:#25136c}
.pj-stack{display:flex;height:12px;border-radius:999px;overflow:hidden;background:#efecf8;gap:2px;margin:6px 0 10px}
.pj-stack-part{display:block;min-width:0;background:#a8a2c3}
.pj-stack-part.doing{background:#0ea5e9}.pj-stack-part.done{background:#16a34a}
.pj-status-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pj-status-list li{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;gap:10px;align-items:center;font-size:13px}
.pj-status-list b{color:#25136c}.pj-status-list small{color:#6f6798;text-align:right}
/* settings */
.pj-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px;align-items:start}
.pj-settings .cp-card{padding:16px;min-width:0}
.pj-settings h3{margin:0 0 4px;font-size:15px;color:#25136c}
.pj-form{display:flex;flex-direction:column;gap:10px}
.pj-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#2c166e;font-weight:600;min-width:0}
.pj-form label small{font-weight:400;color:#6f6798;font-size:12px}
.pj-form input:not([type=checkbox]):not([type=color]),.pj-form select,.pj-form textarea{border:1px solid #dcd5f1;border-radius:9px;padding:9px 10px;font:inherit;font-weight:400;color:#25136c;background:#fff;min-width:0;max-width:100%;width:100%;box-sizing:border-box}
.pj-form input:disabled,.pj-form select:disabled,.pj-form textarea:disabled{background:#f6f4fc;color:#8b84a8}
.pj-form input[type=color]{width:56px;height:38px;padding:2px;border:1px solid #dcd5f1;border-radius:9px;background:#fff}
.pj-form fieldset{border:1px solid #e7e2f6;border-radius:10px;padding:10px 12px;margin:0;min-width:0}
.pj-form fieldset legend{font-weight:700;color:#2c166e;padding:0 4px;font-size:13px}
.pj-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pj-members{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto}
.pj-form label.pj-member{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(120px,190px);gap:10px;align-items:center;flex-direction:row;padding:6px 8px;border-radius:9px;font-weight:600}
.pj-member:hover{background:#faf8ff}
.pj-member span{min-width:0;overflow-wrap:anywhere}
.pj-member span small{display:block}
.pj-form .pj-member select{padding:6px 8px;font-size:12px}
.pj-columns{list-style:none;margin:4px 0 6px;padding:0;display:flex;flex-direction:column;gap:6px}
.pj-columns li{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,150px) 80px auto;gap:8px;align-items:center}
.pj-columns li input,.pj-columns li select{border:1px solid #dcd5f1;border-radius:9px;padding:8px 9px;font:inherit;font-size:13px;color:#25136c;background:#fff;min-width:0;width:100%;box-sizing:border-box}
.pj-row-actions{display:inline-flex;gap:4px}
.pj-icon{width:30px;height:30px;border:1px solid #dcd5f1;border-radius:8px;background:#fff;color:#4b4370;cursor:pointer;font-size:14px;font-weight:700;display:inline-grid;place-items:center}
.pj-icon:hover:not(:disabled){background:#f3efff}
.pj-icon:disabled{opacity:.4;cursor:default}
.pj-settings footer.pj-actions{margin-top:4px}
/* issue modal */
.pj-issue-view{display:flex;flex-direction:column;gap:16px}
.pj-issue-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pj-issue-fields .pj-wide{grid-column:1/-1}
.pj-children,.pj-comments{border-top:1px solid #ece8f8;padding-top:12px}
.pj-children h4,.pj-comments h4{margin:0 0 8px;font-size:14px;color:#25136c}
.pj-children h4 small{color:#6f6798;font-weight:600;margin-left:4px}
.pj-children ul{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}
.pj-children li{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;padding:6px 8px;border:1px solid #f0ecfa;border-radius:8px;font-size:13px;color:#40376a;overflow-wrap:anywhere}
.pj-comments ul{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:10px}
.pj-comments li{display:flex;gap:10px;align-items:flex-start}
.pj-comments li>div{min-width:0;flex:1}
.pj-comments li b{color:#25136c;font-size:13px}.pj-comments li small{color:#8b84a8;font-size:11px}
.pj-comments li p{margin:4px 0 2px;color:#40376a;font-size:14px;overflow-wrap:anywhere}
.pj-comment-form{display:flex;gap:8px;align-items:flex-end}
.pj-comment-form textarea{flex:1;border:1px solid #dcd5f1;border-radius:9px;padding:9px 10px;font:inherit;color:#25136c;min-width:0;resize:vertical}
.pj-history{border:1px solid #ece8f8;border-radius:10px;padding:8px 12px}
.pj-history summary{cursor:pointer;font-weight:700;color:#2c166e;font-size:13px}
.pj-history ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:12px;color:#4b4370;max-height:260px;overflow-y:auto}
.pj-history li{overflow-wrap:anywhere}.pj-history li small{color:#8b84a8}
@media (max-width:900px){
  .pj-issue-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pj-backlog-row{grid-template-columns:18px auto minmax(0,1fr) auto auto auto;row-gap:6px}
  .pj-backlog-row>.pj-row-title{grid-column:3/-1;grid-row:1}
  .pj-backlog-row>.pj-status{grid-column:2/4;grid-row:2;justify-self:start}
  .pj-backlog-row>.pj-priority{grid-column:4;grid-row:2}.pj-backlog-row>.pj-points{grid-column:5;grid-row:2}.pj-backlog-row>.pj-avatar{grid-column:6;grid-row:2}
  .pj-backlog-row>select{grid-column:1/-1;grid-row:3}
}
@media (max-width:650px){
  .pj-head h2{font-size:20px}
  .pj-head .cp-button{width:100%;justify-content:center}
  .pj-grid{grid-template-columns:1fr}
  .pj-reports,.pj-settings{grid-template-columns:minmax(0,1fr)}
  .pj-column{flex-basis:min(82vw,272px);max-height:none}
  .pj-row{grid-template-columns:18px minmax(0,1fr) auto;row-gap:4px}
  .pj-row .pj-key{grid-column:2}.pj-row .pj-row-title{grid-column:1/-1;grid-row:2}
  .pj-search{flex-basis:100%}
  .pj-filters select{flex:1 1 140px}
  .pj-two,.pj-issue-fields{grid-template-columns:minmax(0,1fr)}
  .pj-form label.pj-member{grid-template-columns:auto minmax(0,1fr)}
  .pj-form .pj-member select{grid-column:2}
  .pj-columns li{grid-template-columns:minmax(0,1fr) 80px;padding:8px;border:1px solid #f0ecfa;border-radius:10px}
  .pj-columns li select{grid-column:1/-1;grid-row:2}
  .pj-columns li .pj-row-actions{grid-column:1/-1;justify-content:flex-end}
  .pj-sprint>header .pj-actions{width:100%}
  .pj-comment-form{flex-direction:column;align-items:stretch}
}
