/* Fase 2 da auditoria visual: densidade intermediária, sem alterar comportamento. */
body{background:var(--io-color-background);font-family:var(--io-font-family);font-size:var(--io-font-size-body)}
.sidebar{transition:none}
.io-card,.io-table-wrap{background:var(--io-color-surface)}
.io-table th,.io-table td{border-bottom-color:var(--io-color-divider)}
.io-card{padding:var(--io-space-4)}
.io-table th,.io-table td{padding:10px var(--io-space-4)}
.io-table th{line-height:20px}
.io-button{min-height:var(--io-control-height);font-family:var(--io-font-family)}
.io-drawer{padding:var(--io-space-5)}
.io-drawer__header{margin-bottom:var(--io-space-4)}
.io-table tbody tr:hover{background:var(--io-color-primary-soft)}
.io-table tbody tr:focus-within{background:#f1f7ff}
.io-button:focus-visible,.context-switcher:focus-visible,.icon-button:focus-visible,.nav-item:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;box-shadow:var(--io-focus-ring)}
input,select,textarea{font:inherit;color:var(--io-color-slate-900)}
button,input,select,textarea{font-family:var(--io-font-family)}
body{line-height:var(--io-line-height-body)}
h1,h2,h3,h4{line-height:var(--io-line-height-heading)}
.io-button,.primary-button,.secondary-button{min-height:var(--io-control-height);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .05s ease}
.io-button:active,.primary-button:active,.secondary-button:active{transform:translateY(1px)}
.io-button:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible{outline:0;box-shadow:var(--io-focus-ring)}
.io-button[aria-busy="true"],.io-button.is-loading{cursor:wait;pointer-events:none;color:transparent;position:relative}
.io-button[aria-busy="true"]::after,.io-button.is-loading::after{content:'';position:absolute;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:io-spin .7s linear infinite;color:#fff}
.io-field-error,input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--io-color-danger)!important}
.io-field-error{display:block;color:var(--io-color-danger);font-size:var(--io-font-size-caption);line-height:1.4;margin-top:var(--io-space-1)}
.io-form-status{margin-top:var(--io-space-3)}
.interview-guidance{margin-top:8px;padding:8px 10px;border-left:3px solid var(--io-color-info);background:var(--io-color-surface-subtle,#f5f7fa);font-size:12px;line-height:1.45}.interview-guidance--expected{border-left-color:var(--io-color-success,#16855b)}.interview-guidance--alert{border-left-color:var(--io-color-danger,#c2413b)}
.io-skeleton{background:linear-gradient(90deg,var(--io-color-slate-100) 25%,#e9eef1 37%,var(--io-color-slate-100) 63%);background-size:400% 100%;animation:io-shimmer 1.4s ease infinite;border-radius:var(--io-control-radius);color:transparent!important;user-select:none}
@keyframes io-spin{to{transform:rotate(360deg)}}
@keyframes io-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
.io-button--secondary:hover,.secondary-button:hover{border-color:var(--io-color-info);color:var(--io-color-slate-900)}
.io-table th{position:relative;white-space:nowrap}
.io-table tbody tr{transition:background-color .12s ease}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.phase-row{flex-wrap:wrap}.phase-row>div{min-width:180px;flex:1}.phase-row .io-button{flex:0 0 auto;min-height:32px;padding:7px 10px}
.task-history{margin:16px 0;padding:12px;border:1px solid var(--io-color-divider);border-radius:8px;background:var(--io-color-surface-subtle)}.task-history h4{margin:0 0 8px}.task-history p{border-top:1px solid var(--io-color-divider);padding-top:8px;font-size:12px}
.workspace-context-badge{font-size:12px;font-weight:500;color:var(--io-color-slate-700);background:var(--io-color-surface-subtle);border:1px solid var(--io-color-divider);border-radius:999px;padding:7px 12px;white-space:nowrap}
.admin-audit-card{margin-top:16px}
.audit-package-panel{margin-top:16px}.audit-package-panel .audit-package-metrics{margin-top:14px}.audit-package-panel .audit-package-metrics .io-card{min-height:88px}.audit-package-panel .audit-package-metrics strong{font-size:24px;color:#102b3d}.audit-package-panel #audit-package-score{white-space:nowrap}
.phase-group{border-bottom:1px solid var(--io-color-divider)}.phase-group summary{list-style:none;cursor:pointer}.phase-group summary::-webkit-details-marker{display:none}.phase-row--group{min-height:76px}.phase-row--group .phase-chevron{margin-left:auto;color:var(--io-color-slate-500);font-size:18px;transition:transform .15s ease}.phase-group[open] .phase-chevron{transform:rotate(180deg)}.phase-task-list{background:var(--io-color-surface-subtle);padding:0 0 0 28px}.phase-row--task{padding:12px 0;border-top:1px solid var(--io-color-divider);display:flex;align-items:center;gap:10px}.phase-row--task>div{flex:1}.phase-row--task .phase-index{width:24px;height:24px;font-size:12px}.planning-detail{max-width:900px}
.implementation-next-step{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:4px solid var(--io-color-primary)}.implementation-next-step h2{margin:4px 0 6px;font-size:18px}
.nav-item--sub{padding-left:28px;font-size:13px;color:var(--io-color-slate-500)}
.nav-section{margin-top:var(--io-space-3);text-transform:uppercase}
.nav-section:first-of-type{margin-top:0}
.nav-item[aria-current="page"]{position:relative}
.nav-item[aria-current="page"]::before{content:'';position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:currentColor}
.active-role-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--io-space-3);border:1px solid var(--io-color-divider);border-radius:999px;background:var(--io-color-surface-subtle);color:var(--io-color-slate-700);font-size:var(--io-font-size-caption);font-weight:500;white-space:nowrap}
.overview-kpi{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.overview-kpi:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgb(16 43 61 / 12%)}.overview-kpi:focus-visible{outline:0;box-shadow:var(--io-focus-ring)}
.overview-action{width:100%;border:0;background:transparent;text-align:left;font:inherit}.overview-action>span:nth-child(2){flex:1}.overview-action:hover{background:var(--io-color-surface-subtle);cursor:pointer}.overview-action:focus-visible{outline:0;box-shadow:var(--io-focus-ring);border-radius:var(--io-control-radius)}
.api-state-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--io-space-3);border:1px solid #bfe5ce;border-radius:999px;background:#eefaf3;color:#187448;font-size:var(--io-font-size-caption);white-space:nowrap}.api-state-chip[data-state="demo-api"]{border-color:#b8d9fb;background:#f1f7ff;color:#185ca8}.api-state-chip[data-state="offline-demo"]{border-color:#f2d7aa;background:#fff8eb;color:#8a5300}@media(max-width:900px){.api-state-chip{display:none}}
.diagnostic-view .io-table tbody tr{transition:background-color .12s ease}.diagnostic-view .io-table tbody tr:hover{background:var(--io-color-primary-soft)}.diagnostic-view .io-table td:nth-child(2){min-width:220px;max-width:420px;white-space:normal;overflow-wrap:anywhere}.diagnostic-view .io-table td:nth-child(6){white-space:nowrap}
.diagnostic-metrics .io-card[data-diagnostic-status]{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.diagnostic-metrics .io-card[data-diagnostic-status]:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgb(16 43 61 / 12%)}.diagnostic-metrics .io-card[data-diagnostic-status]:focus-visible{outline:0;box-shadow:var(--io-focus-ring)}
.pmo-transition-list{display:grid;gap:0}.pmo-transition-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 0;border-top:1px solid var(--io-color-divider)}.pmo-transition-row strong,.pmo-transition-row small{display:block}.pmo-transition-row small{margin-top:4px;color:var(--io-color-slate-500)}.pmo-transition-row .danger{color:var(--io-color-danger)}.pmo-transition-row .positive{color:var(--io-color-primary-dark)}
.pmo-transition-actions{display:flex;align-items:center;gap:var(--io-space-2);flex-wrap:wrap;justify-content:flex-end}.pmo-transition-actions .io-button{min-height:32px;padding:0 12px;font-size:12px}.pmo-transition-actions .pmo-next-step{min-width:180px}.pmo-transition-actions .pmo-next-owner{min-width:150px}.pmo-transition-actions .pmo-next-due{min-width:145px}.pmo-transition-actions .io-input{min-height:32px;padding:6px 9px;border:1px solid var(--io-color-slate-300);border-radius:var(--io-control-radius);background:var(--io-color-surface);color:var(--io-color-slate-900);font:inherit;font-size:12px}.pmo-transition-actions .io-input:focus-visible{outline:0;box-shadow:var(--io-focus-ring);border-color:var(--io-color-info)}
.pmo-transition-actions .io-input::placeholder{color:var(--io-color-slate-500)}
@media(max-width:720px){.pmo-transition-row{display:grid;grid-template-columns:1fr;gap:12px}.pmo-transition-actions{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.pmo-transition-actions .io-badge{grid-column:1/-1;justify-self:start}.pmo-transition-actions .pmo-next-step,.pmo-transition-actions .pmo-next-owner,.pmo-transition-actions .pmo-next-due,.pmo-transition-actions .io-button{min-width:0;width:100%}.pmo-transition-actions .pmo-next-step{grid-column:1/-1}.pmo-transition-actions .io-button{grid-column:1/-1}}
.timeline-panel .step[role="link"]{cursor:pointer;border-radius:var(--io-control-radius);padding-top:4px;padding-left:4px;transition:background-color .15s ease,transform .15s ease}.timeline-panel .step[role="link"]:hover{background:var(--io-color-surface-subtle);transform:translateY(-1px)}.timeline-panel .step[role="link"]:focus-visible{outline:0;box-shadow:var(--io-focus-ring)}
.auditor-readonly .io-button--primary,.auditor-readonly .primary-button{display:none!important}
.auditor-readonly .io-table tbody tr{cursor:default}
@media(max-width:720px){.active-role-chip{display:none}}
.metric-help{margin:8px 0 0;color:var(--io-color-slate-500);font-size:11px;line-height:1.35}
/* Design system normalization: one spacing rhythm for every workspace view. */
:root{--io-content-max:1480px;--io-page-gutter:clamp(20px,3vw,46px);--io-section-gap:24px;--io-card-gap:16px;--io-card-padding:20px;--io-control-radius:8px}
.main-content{width:100%;max-width:none;padding:0 var(--io-page-gutter) 48px}
.topbar{margin-left:calc(var(--io-page-gutter) * -1);margin-right:calc(var(--io-page-gutter) * -1);padding-left:var(--io-page-gutter);padding-right:var(--io-page-gutter)}
.page-heading,.page-heading--compact{max-width:var(--io-content-max);margin-left:auto;margin-right:auto;padding-top:32px;padding-bottom:24px;gap:24px}
.page-heading>div:first-child{min-width:0}.page-heading h1{margin:6px 0 8px}.page-heading .muted{max-width:760px}
.io-card,.panel,.metric-card{padding:var(--io-card-padding);margin:0;min-width:0}
.io-card+.io-card,.panel+.panel{margin-top:var(--io-section-gap)}
.metric-grid,.implementation-summary,.settings-grid,.settings-directory,.content-grid,.planning-flow,.pmo-flow{gap:var(--io-card-gap)}
.metric-grid{margin-bottom:var(--io-section-gap)}
.content-grid{margin-top:0}
.io-card__header,.panel-heading{gap:16px;min-width:0}
.io-card__header>div:first-child,.panel-heading>div:first-child{min-width:0}
.io-card__title,.panel-heading h2{margin-top:0}
.io-table-wrap{width:100%;overflow-x:auto;border-radius:var(--io-control-radius)}
.io-table{min-width:680px;width:100%;border-collapse:collapse}
.io-table th,.io-table td{vertical-align:middle;line-height:1.4}
.io-button{border-radius:var(--io-control-radius);white-space:nowrap}
.task-toolbar,.diagnostic-filters,.traceability-actions{align-items:center;gap:var(--io-space-2);margin-top:var(--io-space-3);margin-bottom:var(--io-space-3)}
.io-drawer__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--io-space-2);margin-top:var(--io-space-5);padding-top:var(--io-space-4);border-top:1px solid var(--io-color-divider)}
@media(max-width:1000px){.main-content{padding-left:25px;padding-right:25px}.topbar{margin-left:-25px;margin-right:-25px;padding-left:25px;padding-right:25px}.page-heading,.page-heading--compact{padding-top:28px}}
@media(max-width:720px){.main-content{padding:0 16px 30px}.topbar{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.page-heading,.page-heading--compact{padding-top:24px;padding-bottom:20px}.io-card,.panel,.metric-card{padding:16px}.io-card__header,.panel-heading{align-items:flex-start;flex-direction:column}.io-drawer__actions{justify-content:stretch}.io-drawer__actions .io-button{flex:1}}
.interview-traceability { margin: 10px 0; padding: 8px 10px; border-left: 3px solid var(--io-primary, #0f766e); background: var(--io-surface-muted, #f3f7f7); border-radius: 6px; font-size: 0.85rem; }
