/* Sessões — composição baseada exclusivamente nos contratos aprovados do KartData UI v1. */
#page-home{color:var(--kd-color-foreground)}
#page-home>.page-title{font:var(--kd-type-heading)}
#page-home>.page-sub{color:var(--kd-color-muted);font:var(--kd-type-body)}
#page-home .upload-home-card,#page-home .cloud-card{border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-lg);background:var(--kd-color-surface);box-shadow:var(--kd-shadow-card)}
#page-home .upload-home-card{padding:var(--kd-space-5)}
#page-home .upload-home-card>.page-title{font:var(--kd-type-title)}
#page-home .upload-home-card>.page-sub{color:var(--kd-color-muted);font:var(--kd-type-body)}
#page-home .upload-zone{min-height:220px;display:grid;place-items:center;align-content:center;gap:8px;padding:var(--kd-space-6);border:1px dashed var(--kd-color-border-strong);border-radius:var(--kd-radius-md);background:var(--kd-color-background);color:var(--kd-color-foreground);transition:border-color var(--kd-motion-fast),background var(--kd-motion-fast)}
#page-home .upload-zone:hover,#page-home .upload-zone.drag{border-color:var(--kd-color-primary);background:color-mix(in oklab,var(--kd-color-primary) 5%,var(--kd-color-background))}
#page-home .upload-zone:focus-within{outline:2px solid var(--kd-color-primary);outline-offset:2px}
#page-home .upload-icon{color:var(--kd-color-primary)}
#page-home .upload-title{font:var(--kd-type-title)}
#page-home .upload-sub{color:var(--kd-color-muted);font:var(--kd-type-caption)}
#page-home .progress-bar{height:8px;overflow:hidden;border-radius:999px;background:var(--kd-color-surface-raised)}
#page-home .progress-fill{height:100%;border-radius:inherit;background:var(--kd-color-primary)}
#page-home .status-msg{color:var(--kd-color-muted);font:var(--kd-type-caption)}
#page-home .session-list-filter{border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);font:var(--kd-type-label)}
#page-home .session-list-filter button{min-height:44px;color:var(--kd-color-primary);font:var(--kd-type-label)}
#page-home .session-load-more{min-height:48px;border:1px solid var(--kd-color-border-strong);border-radius:var(--kd-button-radius);background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);font:var(--kd-type-label);box-shadow:none}
#page-home .session-load-more:hover{border-color:var(--kd-color-primary);color:var(--kd-color-primary)}
#page-home .session-load-more span{color:var(--kd-color-muted);font:var(--kd-type-caption)}
#page-home .empty{border:1px dashed var(--kd-color-border);border-radius:var(--kd-radius-md);background:var(--kd-color-surface);color:var(--kd-color-muted)}

/* Componentes aprovados para a listagem, Drive, upload assistido e cadastro da sessão. */
.kdui-session-item{min-height:76px;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);background:var(--kd-color-surface);box-shadow:var(--kd-shadow-card)}
.kdui-session-item .sess-dot{width:10px;height:10px;border-radius:50%}
.kdui-session-item .sess-info{min-width:0;display:grid;gap:5px}
.kdui-session-item .sess-circuit{font:var(--kd-type-label)}
.kdui-session-item .sess-meta,.kdui-session-item .sess-motor{overflow:hidden;color:var(--kd-color-muted);font:var(--kd-type-caption);text-overflow:ellipsis;white-space:nowrap}
.kdui-session-item .sess-time{color:var(--kd-color-primary);font:var(--kd-type-data)}
.kdui-session-item .sess-actions{display:flex;align-items:center;gap:8px}
.kdui-session-item .sess-del,.kdui-session-item .sess-file-tip{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:var(--kd-radius-sm);background:transparent;color:var(--kd-color-muted)}
.kdui-drive-status-card{min-height:76px;display:grid;align-items:center;padding:13px;border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);background:var(--kd-color-surface);box-shadow:var(--kd-shadow-card)}
.kdui-drive-status-card .cloud-title{color:var(--kd-color-foreground);font:var(--kd-type-label);letter-spacing:0;text-transform:none}
.kdui-drive-status-card .cloud-inline,.kdui-drive-status-card .cloud-sub{color:var(--kd-color-muted);font:var(--kd-type-caption)}
.kdui-assisted-upload{container-type:inline-size;width:100%;display:grid;gap:18px;padding:16px;border:1px solid var(--kd-color-border);border-radius:var(--kd-radius-md);background:var(--kd-color-surface)}
.kdui-assisted-upload .assisted-upload-head{display:flex;align-items:start;justify-content:space-between;gap:12px}
.kdui-assisted-upload .assisted-upload-title{font:var(--kd-type-title);text-transform:none;letter-spacing:0}
.kdui-assisted-upload .assisted-upload-sub,.kdui-assisted-upload .assisted-upload-preview{color:var(--kd-color-muted);font:var(--kd-type-caption)}
.kdui-progress-steps{width:100%;display:grid;grid-template-columns:repeat(var(--kd-step-count,4),minmax(0,1fr));gap:0;margin:0;padding:2px 0;list-style:none}
.kdui-progress-steps li{position:relative;min-width:0;display:grid;justify-items:center;gap:8px;text-align:center}
.kdui-progress-steps li:not(:last-child):after{content:"";position:absolute;z-index:0;top:17px;left:calc(50% + 18px);right:calc(-50% + 18px);height:2px;background:var(--kd-color-border)}
.kdui-progress-steps i{position:relative;z-index:1;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--kd-color-border-strong);border-radius:50%;background:var(--kd-color-surface);font:var(--kd-type-label);font-style:normal}
.kdui-progress-steps i svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}
.kdui-progress-steps .is-done i{border-color:var(--kd-color-primary);background:var(--kd-color-primary);color:var(--kd-button-primary-foreground)}
.kdui-progress-steps .is-current i{border:2px solid var(--kd-color-info);color:var(--kd-color-info)}
.kdui-progress-steps span{min-width:0;display:grid;gap:3px;font:var(--kd-type-body)}
.kdui-progress-steps span b{font:var(--kd-type-label)}
.kdui-progress-steps small{color:var(--kd-color-muted);font:var(--kd-type-caption)}
.kdw-progress-steps{padding:18px;border-bottom:1px solid var(--kd-color-border);background:var(--kd-color-surface)}

/* O assistente reutiliza sheet, field, stepper e botões aprovados; não introduz cores próprias. */
.kdw-panel{background:var(--kd-color-surface);color:var(--kd-color-foreground);box-shadow:var(--kd-shadow-panel)}
.kdw-header,.kdw-footer{background:var(--kd-color-surface);border-color:var(--kd-color-border)}
.kdw-header h2{font:var(--kd-type-heading)}
.kdw-eyebrow{color:var(--kd-color-primary);font:var(--kd-type-caption)}
.kdw-icon-btn{background:var(--kd-color-surface-raised);color:var(--kd-color-foreground)}
.kdw-detected,.kdw-summary{background:var(--kd-color-surface-raised);color:var(--kd-color-muted);font:var(--kd-type-body)}
.kdw-detected svg,.kdw-summary svg{color:var(--kd-color-primary)}
.kdw-field>span,.kdw-recent>span{color:var(--kd-color-foreground);font:var(--kd-type-label)}
.kdw-input,.kdw-input-wrap input{border:1px solid var(--kd-color-border-strong);border-radius:var(--kd-radius-sm);background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);font:var(--kd-type-body)}
.kdw-input:focus,.kdw-input-wrap input:focus{border-color:var(--kd-color-primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--kd-color-primary) 18%,transparent)}
.kdw-hint,.kdw-muted{color:var(--kd-color-muted);font:var(--kd-type-caption)}
.kdw-chip,.kdw-segment{border-color:var(--kd-color-border-strong);border-radius:var(--kd-button-radius);background:var(--kd-color-surface-raised);color:var(--kd-color-foreground);font:var(--kd-type-label)}
.kdw-chip:hover,.kdw-segment:hover,.kdw-segment.active{border-color:var(--kd-color-primary);background:color-mix(in oklab,var(--kd-color-primary) 7%,var(--kd-color-surface-raised));color:var(--kd-color-primary)}
.kdw-summary{border-left-color:var(--kd-color-primary)}
.kdw-button{min-height:var(--kd-button-height);border-radius:var(--kd-button-radius);font:var(--kd-type-label);text-transform:none}
.kdw-button.primary{background:var(--kd-color-primary);color:var(--kd-button-primary-foreground)}
.kdw-button.secondary{border-color:var(--kd-color-border-strong);background:var(--kd-color-surface-raised);color:var(--kd-color-foreground)}
.kdw-link{color:var(--kd-color-muted);font:var(--kd-type-label)}

@media(max-width:640px){#page-home .upload-home-card{padding:var(--kd-space-4)}#page-home .upload-zone{min-height:180px;padding:var(--kd-space-4)}.kdui-session-item{grid-template-columns:10px minmax(0,1fr)}.kdui-session-item .sess-actions{grid-column:2;justify-content:space-between}.kdui-drive-status-card .cloud-row{align-items:stretch;flex-direction:column}.kdui-drive-status-card .cloud-actions{width:100%}.kdui-drive-status-card .cloud-btn{width:100%}.kdui-progress-steps{grid-template-columns:1fr!important}.kdui-progress-steps li{min-height:68px;grid-template-columns:36px minmax(0,1fr);justify-items:start;align-items:start;gap:12px;text-align:left}.kdui-progress-steps li:not(:last-child):after{top:36px;bottom:0;left:17px;right:auto;width:2px;height:auto}.kdui-progress-steps span{padding-top:2px}}
@media(prefers-reduced-motion:reduce){#page-home .upload-zone{transition:none}}
