html, body { font-family: Roboto, 'Helvetica Neue', Arial, sans-serif; }

.campo { display: block; margin-bottom: 16px; font-size: .85rem; color: #555; }
.campo input {
    display: block; width: 100%; box-sizing: border-box; margin-top: 4px; padding: 12px;
    font-size: 1rem; border: 1px solid #bbb; border-radius: 4px;
}

/* Kanban */
.kanban { display: flex; gap: 12px; overflow-x: auto; align-items: flex-start; padding-bottom: 12px; scroll-snap-type: x proximity; }
.kanban-col { flex: 0 0 300px; max-width: 85vw; background: var(--mud-palette-background-gray); border-radius: 8px; padding: 8px; scroll-snap-align: start; }
.kanban-col .mud-drop-zone { min-height: 80px; }
.kanban-card { margin-bottom: 8px; cursor: grab; }
.kanban-card.atrasada, .demanda-card.atrasada { border-left: 4px solid var(--mud-palette-error); }
.mud-drop-zone-drag-block { background: var(--mud-palette-action-default-hover); }

#blazor-error-ui {
    background: lightyellow; bottom: 0; box-shadow: 0 -1px 2px rgba(0,0,0,.2); display: none;
    left: 0; padding: .6rem 1.25rem .7rem 1.25rem; position: fixed; width: 100%; z-index: 1000;
}
#blazor-error-ui .dismiss { cursor: pointer; position: absolute; right: .75rem; top: .5rem; }

/* Visualizador de arquivos (modal) */
.viewer { display: flex; justify-content: center; align-items: center; min-height: 40vh; }
.viewer-frame { width: 100%; height: 75vh; border: 0; background: #fff; }
.viewer-img { max-width: 100%; max-height: 75vh; object-fit: contain; }
.viewer-media { max-width: 100%; max-height: 75vh; }

/* Área de upload por arrastar e soltar */
.dropzone {
    position: relative; text-align: center; padding: 16px; border: 2px dashed var(--mud-palette-lines-inputs);
    border-radius: 8px; color: var(--mud-palette-text-secondary); transition: background .15s, border-color .15s;
}
.dropzone:hover, .dropzone.ativo { border-color: var(--mud-palette-primary); background: var(--mud-palette-action-default-hover); }
.dropzone > * { pointer-events: none; }
.dropzone .dropzone-input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; pointer-events: auto; }

/* Bandeja de uploads (criada por upload.js) */
.upl-bandeja {
    position: fixed; right: 16px; bottom: 16px; z-index: 2000; width: min(340px, calc(100vw - 32px));
    display: flex; flex-direction: column; gap: 8px; max-height: 60vh; overflow: auto;
}
.upl-item {
    background: var(--mud-palette-surface, #fff); color: var(--mud-palette-text-primary, #222);
    border: 1px solid var(--mud-palette-lines-default, #ddd); border-radius: 8px; padding: 8px 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,.2); font-size: 13px;
}
.upl-topo { display: flex; align-items: center; gap: 8px; }
.upl-nome { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.upl-estado { font-variant-numeric: tabular-nums; color: var(--mud-palette-text-secondary, #666); }
.upl-fechar { border: 0; background: transparent; cursor: pointer; font-size: 18px; line-height: 1; color: inherit; }
.upl-barra { height: 6px; background: var(--mud-palette-gray-lighter, #e5e5e5); border-radius: 3px; margin-top: 6px; overflow: hidden; }
.upl-prog { height: 100%; width: 0; background: var(--mud-palette-primary, #594ae2); transition: width .15s; }
.upl-item[data-estado="ok"] .upl-prog { background: var(--mud-palette-success, #00c853); }
.upl-item[data-estado="erro"] .upl-prog { background: var(--mud-palette-error, #f44336); }
.upl-msg { margin-top: 4px; color: var(--mud-palette-text-secondary, #666); }
.upl-item[data-estado="erro"] .upl-msg { color: var(--mud-palette-error, #f44336); }
.upl-retry { margin-top: 4px; border: 1px solid currentColor; background: transparent; border-radius: 4px; padding: 2px 8px; cursor: pointer; color: var(--mud-palette-primary, #594ae2); }
