/* Identidade discreta: superfícies claras, azul profundo e pequenos acentos laranja. */
:root { --blue:#134c74; --ink:#17354e; --muted:#647488; --line:#e3e9ed; --surface-soft:#f7f9fa; --brand-orange:#ee8a26; }
:root[data-theme="dark"] { --blue:#9cc8ee; --ink:#f1f6ff; --muted:#b1c3dc; --line:#3a5577; --surface-soft:#0c203b; }
.academy-logo { display:block; width:144px; height:74px; background:transparent url('/assets/porfiria-logo.png') center / contain no-repeat; flex-shrink:0; }
.porfiria-brand { flex-direction:row; align-items:center; gap:12px; }
.porfiria-brand .brand-caption { border-left:1px solid var(--line); padding-left:12px; color:var(--muted); font-size:11px; letter-spacing:1.6px; }
.top { position:sticky; top:0; z-index:100; box-shadow:0 2px 12px #17354e06; background:var(--surface); border-bottom:1px solid var(--line); }
.brandrow { min-height:88px; }
.nav { border-top:1px solid var(--line); }
.top .nav button { border:0; border-bottom:2px solid transparent; border-radius:0; box-shadow:none; background:transparent; padding:15px 12px; }
.top .nav button.active { color:var(--ink); border-bottom-color:var(--blue); box-shadow:none; background:transparent; }
.top .nav button::after { content:none; display:none; }
button.primary { background:#134c74; border-color:#134c74; color:#fff; box-shadow:none; }
button.primary:hover { background:#0d3857; border-color:#0d3857; }
.workspace { max-width:1600px; padding:30px 32px; }
.heading { margin-bottom:22px; align-items:center; gap:16px; }
.heading h1 { font-size:29px; letter-spacing:-.7px; }
.heading .subtitle { margin-top:6px; }
.work-summary { display:flex; flex-wrap:wrap; gap:12px 28px; padding:0 0 22px; color:var(--muted); font-size:13px; }
.work-summary strong { color:var(--ink); font-size:17px; margin-right:5px; }
.work-summary .error strong { color:var(--error-text); }
.work-options { display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; margin-bottom:18px; }
.work-options .checkline { margin:0; font-size:13px; }
.work-options #work-reports { margin-left:auto; }
.work-page .filters { gap:8px; margin:0; }
.work-page .filter-bar { padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.work-page .filter-date { display:none; }
.work-page .filter-select summary { min-height:36px; font-size:12px; }
.work-page .page-filters { margin-bottom:22px; }
.work-page #filter-search { flex:1 1 200px; min-width:140px; }
.work-page .work-filter-bar { display:flex; flex-wrap:wrap; position:relative; }
.work-page .work-filter-bar>* { width:auto; height:auto; min-height:40px; margin:0; }
.work-page .work-filter-bar>input { flex:1 1 180px; }
.work-page .work-filter-bar>#clear-filters { padding:8px 12px; justify-content:center; }
.work-extra-filters { position:static; }
.work-extra-filters>summary { list-style:none; display:flex; align-items:center; gap:7px; padding:10px 14px; border:1px solid var(--line); border-radius:7px; cursor:pointer; font-size:13px; min-height:40px; }
.work-extra-filters>summary::-webkit-details-marker { display:none; }
.work-filter-options { position:absolute; right:12px; top:calc(100% + 8px); z-index:80; display:flex; gap:8px; flex-wrap:wrap; padding:14px; border:1px solid var(--line); border-radius:10px; background:var(--surface); box-shadow:0 8px 24px #17354e12; width:min(650px,calc(100vw - 60px)); }
.work-filter-options .filter-select { flex:1 1 150px; }
.work-board { display:grid; grid-template-columns:repeat(5,minmax(245px,1fr)); gap:14px; overflow-x:auto; padding-bottom:16px; align-items:start; }
.work-column { background:var(--surface-raised); border-radius:12px; padding:12px; min-height:330px; }
.work-column>header { display:flex; align-items:center; gap:8px; padding:4px 1px 14px; }
.work-column h2 { margin:0; font-size:13px; font-weight:650; color:var(--ink); }
.work-dot { width:8px; height:8px; border-radius:50%; background:#8b9aa9; }
.work-dot[data-status="Em andamento"] { background:#2679b2; }
.work-dot[data-status="Pendente"] { background:#df8b28; }
.work-dot[data-status="Em validação"] { background:#8b6caf; }
.work-dot[data-status="Finalizada"] { background:#34866a; }
.work-count { margin-left:auto; color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.work-column-cards { display:grid; gap:12px; }
.work-card { padding:14px; background:var(--surface); border:1px solid var(--line); border-radius:9px; box-shadow:0 1px 2px #17354e05; min-width:0; }
.work-card:hover { border-color:#b7c8d3; }
.work-card:focus-within { outline:2px solid #8bb8d9; outline-offset:2px; }
.work-card-late { border-left:3px solid #cb675b; }
.work-card-top,.work-card-bottom { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.work-project { font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:.6px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.work-card .badge { font-size:10px; padding:3px 7px; }
.work-card-title { display:block; text-align:left; padding:0; margin:12px 0 8px; border:0; background:transparent; font-size:14px; line-height:1.5; font-weight:650; color:var(--ink); overflow-wrap:anywhere; width:100%; }
.work-card-title:hover,.work-list-title:hover { color:var(--blue); background:transparent; text-decoration:underline; }
.work-excerpt { font-size:12px; line-height:1.6; color:var(--muted); margin:0 0 12px; overflow-wrap:anywhere; }
.work-blocker { display:flex; gap:5px; align-items:start; color:var(--error-text); font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.work-blocker svg { flex-shrink:0; width:14px; }
.work-dates { display:flex; flex-wrap:wrap; gap:5px 10px; font-size:11px; color:var(--muted); margin:12px 0; }
.work-dates span { display:inline-flex; gap:4px; align-items:center; }
.work-dates svg { width:12px; height:12px; }
.work-card-bottom { border-top:1px solid var(--line); padding-top:10px; margin-top:10px; flex-wrap:wrap; }
.work-person { display:flex; align-items:center; gap:6px; min-width:0; max-width:100%; }
.work-person>span:last-child { font-size:11px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.work-person .avatar { width:25px; height:25px; font-size:9px; flex-shrink:0; }
.work-card-bottom>.help { font-size:10px; }
.work-quick-status { width:100%; margin-top:12px; font-size:11px; padding:6px 8px; min-height:30px; background:var(--surface-soft); }
.work-column-empty { color:var(--muted); font-size:12px; text-align:center; padding-top:30px; }
.work-progress { display:flex; align-items:center; gap:8px; margin-top:12px; }
.work-progress progress { flex:1; min-width:30px; height:5px; accent-color:#36856b; }
.work-progress small { font-size:10px; color:var(--muted); white-space:nowrap; }
.work-empty { padding:66px 24px; text-align:center; border:1px dashed var(--line); background:var(--surface); border-radius:12px; }
.work-empty h2 { color:var(--ink); font-size:22px; margin:18px 0 10px; }
.work-empty p { color:var(--muted); font-size:14px; max-width:430px; margin:0 auto 24px; line-height:1.7; }
.work-empty-icon { display:inline-flex; padding:14px; color:#134c74; border-radius:16px; background:#eef4f7; }
.work-list-title { display:block; background:transparent; border:0; text-align:left; padding:0; color:var(--ink); }
.work-page table td small { display:block; margin-top:5px; color:var(--muted); }
.work-page .error { color:var(--error-text); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.login-story { background:#f3f6f7; color:#17354e; border-right:1px solid #e3e9ed; }
.login-story h1 { color:#17354e; font-size:clamp(32px,3.4vw,48px); line-height:1.18; letter-spacing:-1px; }
.login-story p,.login-story small,.login-story .eyebrow { color:#617487; }
.login-story>div:nth-child(2) { max-width:480px; }
.login-form { background:#fff; }
.login-story .brands { background:transparent; padding:0; }
.login-story .academy-logo { width:220px; height:114px; }
.login-story .eyebrow { color:#b66311; }
.simple-tabs { display:flex; gap:24px; border-bottom:1px solid var(--line); margin-bottom:20px; overflow-x:auto; }
.simple-tabs button { flex-shrink:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:var(--muted); padding:12px 0; border-bottom:2px solid transparent; }
.simple-tabs button.selected { color:var(--ink); border-bottom-color:var(--blue); background:transparent; }
.icon-button { display:inline-flex; align-items:center; justify-content:center; min-width:40px; min-height:40px; padding:9px; border:0; border-radius:50%; background:transparent; color:var(--muted); flex-shrink:0; }
.icon-button:hover { background:var(--surface-raised); color:var(--blue); }
.icon-button.danger:hover { background:var(--error-bg); color:var(--error-text); }
.projects-page>.filters { margin:20px 0; }
.project-gallery { display:grid; gap:12px; }
.project-row { display:flex; align-items:center; gap:22px; padding:18px 20px; border:1px solid var(--line); border-radius:14px; background:var(--surface); transition:border-color .15s,box-shadow .15s; }
.project-row:hover { border-color:#b9cbd7; box-shadow:0 5px 18px #17354e07; }
.project-main { flex:1; min-width:120px; display:flex; justify-content:flex-start; gap:14px; text-align:left; padding:0; border:0; background:transparent; }
.project-main:hover { background:transparent; }
.project-main strong { color:var(--ink); display:block; font-size:15px; line-height:1.5; }
.project-main small { display:block; color:var(--muted); margin-top:5px; line-height:1.5; font-weight:400; }
.project-symbol,.document-symbol { width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; background:#eef4f7; color:#134c74; flex-shrink:0; }
.project-owner { display:flex; align-items:center; gap:8px; font-size:12px; max-width:190px; }
.project-owner small,.project-count small { display:block; color:var(--muted); font-size:11px; margin-bottom:4px; }
.project-count { min-width:65px; text-align:center; }
.project-count strong { color:var(--ink); font-size:18px; }
.row-actions { display:flex; align-items:center; gap:3px; flex-shrink:0; }
.project-summary-dialog { width:min(850px,calc(100vw - 28px)); }
.project-summary-content { padding-top:8px; }
.project-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:18px; border-radius:12px; background:var(--surface-soft); }
.project-overview small { display:block; margin-bottom:8px; color:var(--muted); }
.project-overview strong { display:block; color:var(--ink); font-size:14px; }
.project-description { white-space:pre-wrap; line-height:1.8; color:var(--text); overflow-wrap:anywhere; }
.project-totals { display:flex; flex-wrap:wrap; gap:10px; }
.project-totals span { padding:8px 12px; border-radius:8px; background:var(--surface-soft); color:var(--muted); font-size:12px; }
.readonly-row,.attachment-row { display:flex; align-items:center; gap:14px; padding:16px 0; border-bottom:1px solid var(--line); }
.readonly-row>div:first-child,.attachment-row>div:first-of-type { flex:1; min-width:0; }
.readonly-row strong,.attachment-row strong { display:block; font-size:14px; color:var(--ink); overflow-wrap:anywhere; }
.readonly-row small,.attachment-row small { display:block; color:var(--muted); font-size:12px; line-height:1.6; margin-top:5px; }
.readonly-row p { font-size:13px; line-height:1.7; }
.readonly-row details { margin-top:12px; }
.readonly-minute { white-space:pre-wrap; }
.document-detail-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.documents-page .tablewrap,.panel.tablewrap { border-radius:12px; }
.documents-panel { border-radius:16px; overflow:hidden; }
.documents-panel td:last-child { white-space:nowrap; text-align:right; }
.planner-dialog-header { padding:20px 26px; }
.planner-dialog-header strong { display:block; font-size:18px; line-height:1.5; color:var(--ink); }
.planner-dialog-header .eyebrow { font-size:10px; margin-bottom:5px; }
.planner-dialog-main { padding:24px; }
.planner-dialog-main textarea[name=description] { min-height:115px; resize:vertical; }
.planner-dialog-main .planner-action-section { border-top:1px solid var(--line); margin-top:24px; padding-top:20px; }
.planner-task { display:grid; grid-template-columns:20px minmax(100px,1fr) auto; align-items:center; gap:8px 10px; padding:13px 0; border-bottom:1px solid var(--line); }
.planner-task>input { margin:0; width:17px; height:17px; grid-column:1; grid-row:1; }
.planner-task .planner-task-name { grid-column:2; grid-row:1; justify-content:flex-start; text-align:left; padding:0; border:0; background:transparent; font-size:13px; line-height:1.5; width:100%; min-width:0; white-space:normal; overflow-wrap:anywhere; }
.task-row-status { grid-column:3; grid-row:1; }
.task-row-status .badge { font-size:10px; }
.task-row-owner { grid-column:2; color:var(--muted); font-size:11px; text-align:left; }
.task-row-due { grid-column:3; color:var(--muted); font-size:11px; text-align:right; }
.demand-save-footer { display:flex; justify-content:flex-end; padding:22px 0 0; margin-top:20px; border-top:1px solid var(--line); }
.task-finished { padding:14px; border-radius:10px; background:var(--surface-soft); color:var(--ink); }
.task-extra { padding-top:12px; }
.task-extra>summary { color:var(--muted); cursor:pointer; font-size:13px; margin-bottom:12px; }
.planner-dialog-main .people-options,.modal-content .people-options { max-height:112px; overflow:auto; }
.modal-content .form-grid>.field:first-child { grid-column:1/-1; }
.error:empty { display:none; }
.planner-dialog-side { background:var(--surface-soft); }
@media(min-width:761px) {
  .planner-task { grid-template-columns:20px minmax(100px,1fr) auto minmax(85px,120px) auto; }
  .task-row-owner { grid-column:4; grid-row:1; }
  .task-row-due { grid-column:5; grid-row:1; }
  .planner-dialog-layout { overflow:hidden; align-items:stretch; }
  .planner-dialog-main,.planner-dialog-side { overflow-y:auto; min-height:0; }
  #planner-details>.form-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
  #planner-details>.form-grid>.field { grid-column:span 2; }
  #planner-details>.form-grid>.field:first-child { grid-column:span 4; }
  #planner-details>.form-grid>.full { grid-column:1/-1; }
}
:root[data-theme="dark"] .project-symbol,:root[data-theme="dark"] .document-symbol { background:var(--surface-raised); color:var(--blue); }
@media(max-width:760px) {
  .workspace { padding:20px 14px; }
  .heading { align-items:flex-start; flex-wrap:wrap; }
  .heading h1 { font-size:25px; }
  .work-summary { gap:12px 18px; }
  .work-summary span { font-size:11px; }
  .work-options { gap:12px; }
  .work-options #work-reports { margin-left:0; }
  .work-board { grid-template-columns:repeat(5,260px); }
  .porfiria-brand .brand-caption { display:none; }
  .brandrow { min-height:78px; }
  .login-story { min-height:auto; padding:24px; }
  .login-story h1 { font-size:32px; }
  .top { top:0; }
  .project-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; padding:16px; }
  .project-main { grid-column:1/-1; }
  .project-owner { grid-column:1; max-width:100%; }
  .project-count { display:none; }
  .project-row>.badge { grid-column:2; grid-row:2; }
  .project-row>.row-actions { grid-column:1/-1; justify-content:flex-end; border-top:1px solid var(--line); padding-top:6px; }
  .project-overview { grid-template-columns:1fr; }
  .planner-dialog[open] { width:calc(100vw - 16px); max-width:none; height:calc(100dvh - 16px); margin:auto; }
  .planner-dialog-layout { display:flex; flex-direction:column; overflow-y:auto; }
  .planner-dialog-main,.planner-dialog-side { width:100%; padding:18px; overflow:visible; }
  .planner-dialog-main .form-grid { grid-template-columns:minmax(0,1fr); }
  .planner-dialog-header { padding:16px 18px; }
  .demand-save-footer button { width:100%; }
  .simple-tabs { gap:20px; }
  .readonly-row { align-items:flex-start; }
  .attachment-row { flex-wrap:wrap; }
  .attachment-row>.row-actions { margin-left:auto; }
  .documents-panel .tablewrap { overflow:visible; }
  .documents-panel table,.documents-panel tbody { display:block; width:100%; }
  .documents-panel thead { display:none; }
  .documents-panel tr { display:grid; grid-template-columns:minmax(0,1fr) auto; padding:14px; border-top:1px solid var(--line); }
  .documents-panel td { border:0; padding:4px 0; min-width:0; white-space:normal; }
  .documents-panel td:first-child { grid-column:1; }
  .documents-panel td:nth-child(2),.documents-panel td:nth-child(3),.documents-panel td:nth-child(4) { grid-column:1; font-size:11px; color:var(--muted); }
  .documents-panel td:last-child { grid-column:2; grid-row:1/5; align-self:start; }
  .documents-panel td strong { overflow-wrap:anywhere; }
}
