/* Portal da equipe · LELIS */
body.portal{background:var(--paper-2);min-height:100vh;display:flex;flex-direction:column}
.p-main{flex:1;padding:24px 0 48px}
.p-wrap{width:min(100% - 32px,1280px);margin-inline:auto}
.p-top{background:var(--navy-800);color:#fff;position:sticky;top:0;z-index:30;box-shadow:0 4px 18px rgba(0,0,0,.18)}
.p-top .p-wrap{display:flex;align-items:center;gap:22px;min-height:60px}
.p-brand{display:flex;align-items:center;gap:12px;color:#fff}
.p-brand img{height:34px;width:auto}
.p-brand span{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.p-nav{display:flex;align-items:center;gap:4px;flex:1}
.p-nav a{color:rgba(255,255,255,.8);padding:8px 12px;border-radius:8px;font-size:.9rem}
.p-nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.p-nav a.on{background:rgba(201,162,74,.18);color:var(--gold)}
.p-user{margin-left:auto;font-size:.82rem;color:rgba(255,255,255,.7);display:flex;gap:10px;align-items:center}
.p-user .p-out{border:1px solid rgba(255,255,255,.25);padding:6px 12px;border-radius:999px}
.p-menu-btn{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:8px;width:40px;height:36px;font-size:1.1rem;cursor:pointer}
@media (max-width:860px){
  .p-menu-btn{display:block}
  .p-nav{display:none;position:absolute;left:0;right:0;top:60px;background:var(--navy-800);flex-direction:column;align-items:stretch;padding:12px 16px 18px;gap:6px}
  body.p-open .p-nav{display:flex}
  .p-user{margin:10px 0 0;justify-content:space-between}
}
.p-foot{text-align:center;font-size:.75rem;color:var(--ink-light);padding:18px;border-top:1px solid var(--line)}

/* login */
.p-login{min-height:calc(100vh - 80px);display:grid;place-items:center;padding:24px}
.p-login-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:36px;width:min(100%,420px);box-shadow:var(--shadow)}
.p-login-logo{height:56px;width:auto;margin:0 auto 18px}
.p-login-card h1{font-size:1.5rem;color:var(--navy-700);text-align:center}
.p-login-card .muted{text-align:center;font-size:.9rem;margin-bottom:22px}
.p-login-foot{font-size:.8rem;color:var(--ink-light);text-align:center;margin-top:18px;line-height:1.7}
.p-login-foot a{color:var(--gold-dark)}

/* cabeçalho de página */
.p-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:20px}
.p-head h1{font-size:1.6rem;color:var(--navy-700)}
.p-head p{margin:4px 0 0;color:var(--ink-muted);font-size:.92rem}
.p-actions{display:flex;flex-wrap:wrap;gap:8px}

/* cards / kpis */
.p-grid{display:grid;gap:16px}
.p-grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.p-grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.p-grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}
.p-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}
.p-card h2{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:12px}
.kpi b{display:block;font-weight:400;font-size:2rem;line-height:1;color:var(--navy-700);font-style:italic}
.kpi b.warn{color:#B5473F}.kpi b.good{color:#2E7D4F}
.kpi span{font-size:.8rem;color:var(--ink-muted)}
.p-list{display:grid;gap:8px}
.p-list li{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:.9rem;background:#fff}
.p-list li a{color:var(--navy-700)}
.p-list li small{color:var(--ink-light)}
.p-empty{color:var(--ink-light);font-size:.9rem;padding:10px 0}

/* badges */
.p-badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:.7rem;letter-spacing:.06em;background:var(--paper-3);color:var(--ink)}
.p-badge.f1{background:#E8EEF6;color:#2D3F58}.p-badge.f2{background:#E6F0FA;color:#1F4E79}.p-badge.f3{background:#FBF4E4;color:#7a5c14}.p-badge.f4{background:#EAF6EE;color:#1f5a35}
.p-badge.f5{background:#EEF1F5;color:#2A3744}.p-badge.f6{background:#F1EAF8;color:#4b2c7a}.p-badge.f7{background:#FBECEB;color:#7a2a26}.p-badge.f8{background:#E4F3F2;color:#155e5a}
.p-prio{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border-radius:6px;border:1px solid var(--line);color:var(--ink-muted)}
.p-prio.alta{border-color:#e6b39a;color:#a8481c;background:#fdf1ea}.p-prio.urgente{border-color:#e39a9a;color:#9b1c1c;background:#fdeaea}.p-prio.baixa{color:var(--ink-light)}
.p-sla{font-size:.72rem;color:#9b1c1c;background:#fdeaea;border-radius:6px;padding:2px 8px}
.p-ok{font-size:.72rem;color:#1f5a35;background:#EAF6EE;border-radius:6px;padding:2px 8px}
.p-pend{font-size:.72rem;color:#7a5c14;background:#FBF4E4;border-radius:6px;padding:2px 8px}

/* tabela */
.p-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:.9rem}
.p-table th,.p-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.p-table th{font-weight:400;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-light);background:var(--paper-2)}
.p-table tr:hover td{background:#fbfbf8}
.p-table a{color:var(--navy-700)}
.p-table-wrap{overflow-x:auto;border-radius:var(--radius)}

/* filtros */
.p-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:16px}
.p-filters .field{margin:0;min-width:160px}
.p-filters .field input,.p-filters .field select{padding:9px 12px;background:#fff}

/* form */
.p-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.p-form .row{display:grid;gap:14px}
@media (min-width:720px){.p-form .row-2{grid-template-columns:1fr 1fr}.p-form .row-3{grid-template-columns:1fr 1fr 1fr}}
.p-form .field{margin-bottom:14px}
.p-form textarea{min-height:110px}
.p-help{font-size:.78rem;color:var(--ink-light);margin-top:4px}

/* kanban */
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:12px;overflow-x:auto;padding-bottom:12px;align-items:start}
.kcol{background:var(--paper-3);border-radius:12px;padding:10px;min-height:200px}
.kcol.over{outline:2px dashed var(--gold)}
.kcol h3{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-700);display:flex;justify-content:space-between;align-items:center;padding:4px 6px 10px}
.kcol h3 small{font-size:.68rem;color:var(--ink-light);letter-spacing:0;text-transform:none}
.kcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:8px;cursor:grab;font-size:.86rem;transition:box-shadow .2s}
.kcard:hover{box-shadow:var(--shadow)}
.kcard.dragging{opacity:.5}
.kcard b{font-weight:400;color:var(--navy-700);display:block;margin-bottom:4px}
.kcard .meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.72rem;color:var(--ink-muted);margin-top:6px}
.kcard .meta .who{margin-left:auto}
.kcard select{margin-top:8px;width:100%;font-size:.78rem;padding:5px;border:1px solid var(--line);border-radius:6px;background:#fff}

/* timeline */
.p-timeline{display:grid;gap:10px}
.p-timeline li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:.88rem}
.p-timeline li time{font-size:.75rem;color:var(--ink-light)}
.p-timeline li .t{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dark);margin-right:6px}
.p-timeline li p{margin:2px 0 0;white-space:pre-wrap}

/* registro diário */
.p-day{display:grid;gap:10px}
.p-day li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:.9rem}
.p-day li header{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:8px}
.p-day li header b{font-weight:400;color:var(--navy-700)}
.p-day li dl{display:grid;grid-template-columns:110px 1fr;gap:6px 12px;margin:0}
.p-day li dt{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-light);padding-top:3px}
.p-day li dd{margin:0;white-space:pre-wrap}
.p-chips{display:flex;flex-wrap:wrap;gap:8px}
.p-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-size:.8rem;border:1px solid var(--line);background:#fff}
.p-chip.ok{border-color:#bfe3cc;background:#EAF6EE;color:#1f5a35}
.p-chip.falta{border-color:#f0c4c1;background:#FBECEB;color:#7a2a26}
.p-chip a{color:inherit;text-decoration:underline}
.btn-xs{padding:6px 12px;font-size:.76rem}
.p-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.p-week div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 6px;text-align:center;font-size:.72rem}
.p-week div b{display:block;font-weight:400;font-size:1rem;color:var(--navy-700)}
.p-week div.off{opacity:.45}

/* workflow do caso */
.wf-bar{height:8px;background:var(--paper-3);border-radius:999px;overflow:hidden;margin:4px 0 16px}
.wf-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#2E7D4F);border-radius:999px;transition:width .4s}
.wf-fase{border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:#fff}
.wf-fase.ativa{border-color:#dccfae;box-shadow:0 0 0 3px rgba(201,162,74,.12)}
.wf-fase summary{cursor:pointer;padding:10px 14px;display:flex;align-items:center;gap:10px;font-size:.88rem;list-style:none}
.wf-fase summary::-webkit-details-marker{display:none}
.wf-fase summary::before{content:"▸";color:var(--ink-light);font-size:.8rem;transition:transform .2s}
.wf-fase[open] summary::before{transform:rotate(90deg)}
.wf-count{font-size:.72rem;color:var(--ink-light);margin-left:auto}
.wf-list{display:grid;gap:6px;padding:0 12px 12px}
.wf-list li{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:8px 10px;border-radius:10px;background:var(--paper-2);align-items:start}
.wf-list li.done{opacity:.6}
.wf-list li.done b{text-decoration:line-through}
.wf-list li.late{background:#FBECEB}
.wf-list b{font-weight:400;color:var(--navy-700);display:block;font-size:.9rem}
.wf-list small{display:block;color:var(--ink-muted);font-size:.8rem;margin:2px 0}
.wf-meta{font-size:.72rem;color:var(--ink-light)}
.wf-check button{width:26px;height:26px;border-radius:7px;border:1.5px solid var(--line-2);background:#fff;cursor:pointer;color:#2E7D4F;font-size:.9rem;margin-top:2px}
.wf-check button:hover{border-color:var(--gold)}
.wf-list li.done .wf-check button{background:#EAF6EE;border-color:#bfe3cc}
